前回、回路彫刻(?)が終わり、あとは部品の調達ハンダ付けを残すところとなりました。

1列16ピンのソケットピンが足らなかったので、6ピン X 3コ(=18)をくっつけて2ピン切断(18-2=16)するという自作を試みました。

切断した部品をやすりで削って接着面を平らにし、エポキシで固めました。
出来上がった自作品は、約2.54mmピッチですが、やっぱり「約」です^^;
差し込む先もドリルで基板に穴あけした2.54mmピッチの16穴。できるだけ正確に開けたとはいえ、これも「約」^^;

2つを合わせると誤差2倍
無理な変形を起こして何回か抜き差ししたところでエポキシ部分で折れてしまいました(-"-;A
↓壊れる前の自作ピンソケット、昨日の写真に写ってました。


深夜にネットショッピング、1列42ピン(分割して利用できるタイプ)80円を3本ほど買いました。
送料手数料で800円かかるので今後使いそうなパーツや基板なんかも追加しました。

それが早速届いたのでハンダ付け開始です。
穴あけと回路パターンは済んでいるのであっという間です。
そういえばICソケット矩形の14ピンや18ピンはすんなり入りました。ちょっとびっくり。

最初に裏面の背の低い部品からハンダ付けしていきます(←これ重要)。
背の高い部品を先に付けてしまうと隣や間に埋もれた低背の部品はコテ先が届かなくなるからです。

まず表面実装(SurfaceMountDevice=SMD)部品のダイオードやチップ抵抗、LEDなどを付け、次にGPSモジュールを付けます。



GPSモジュールの足は1.27mmピッチと狭いのですが、ハンダ付けする端子部分がU字型のポケットになっているので簡単です。

糸はんだをカッターで0.5mmくらいの長さでスライスすると竹輪構造になっていて内部にソルダリングペーストが入っています。(毎回、よくできてると感心します、どうやって製造してるんでしょう)
この0.5mm円柱のチーズ竹輪をU字ポケットに落として、外から暖めていくとペーストが溶け、次にハンダが溶け、という具合にうまいこと行きます。(既知テクですよね(^^ゞ)
ハンダの分量が予め決まっているので横に溢れたりして接触事故を起こす危険性が少なくなります。

スイッチ部分を除いたほとんどのハンダ付けが終わったところで、ふと気が付きました。
コンパレータからの出力は、オープンコレクタ(最近理解したので意識してます^^)。
だからプルアップ抵抗が数kΩのときにHigh≒5Vが出るのであって、LED直接駆動になっている現回路ではダメなんじゃないか、と。(←素人ながらぎりぎりでよくぞ気が付いた^^;;)

実は1PPS信号をLED点滅に使うことと、PICへのCCP入力に使うこと、両方をやってみようとPIC側のプログラムに手を入れ終わったところでした。

プルアップ抵抗の位置に220Ωを入れる予定の現状回路では、LEDは点滅するかも知れませんが、PICのシュミットトリガ(ST)入力で充分にLow信号になりません。つまり、Highになりっぱなしです。
ST入力Lowは0.2Vddなので今回は1V以下にならないとLow信号とは認めてくれません。
コンパレータのデータシートを読むとLowとして頑張ってくれるのは10mAシンク(sink)くらいまでで、それ以上になるとどんどん電圧が上がることがわかりました。

回路は彫刻済みだし、機能は削りたくないしで様々な検討をしました。
1V未満と4V以上でスイングしてかつLEDを点滅させる。
適切な抵抗2つの組み合わせで実現できることはわかったのですが、その場合LEDに流れる電流が1mA程度になってしまい発光装置としての価値が無くなります。

やはりトランジスタを使った増幅回路を追加するしかない、と結論に至ったところで基板を眺めます。

基板パターン変更


するとVddラインが偶然隣り合わせです^^v。
表面実装トランジスタのコレクタをVddにつければ、今回の信号線をベースに付けて増幅回路の完成です。

基板パターン変更


迂回路をひとつ島をひとつ追加彫刻して、トランジスタと抵抗をつけてうまく行ってしまいました。ラッキー(^O^)

まだ端子のハンダ付けが終わっていませんが、機能としては完成です。

PICのプログラムは
・GPSの$GPRMCメッセージを拾って、時刻経緯度を保存。
・時刻保存時に1秒加算(全部繰り上がるとき一番演算時間が長い=48us≒10万分の5秒)
・1PPS信号立ち上がりをキャプチャして、次の信号直前にLCD表示完了するよう出力開始タイミングタイマセット
・スイッチの切り替えで時刻表示と経緯度表示の切り替え
できるようにしました。

裏側、ハンダ面



これで「GPSぴったり時計」を手軽に入手、と思ったのですが動かしてみてところ、$GPRMCメッセージは毎秒やってくるわけではありませんでした。4800bpsの場合、5回に1回は1秒以内にメッセージを送信しきれずに、表示タイミングまでに時刻を受け取れません。

$GPGGAメッセージは1PPS信号の直後に毎秒来ているので、これを使えば「GPSぴったり時計」を作ることは可能です。経緯度情報もGPGGAメッセージに含まれているので表示可能です。

ちなみに1PPS発光とLCDへの表示を動画に撮って静止画に切り出してみました。
発光開始フレームです。LCDへの出力が完了してから発光しているはずですが、液晶なだけに完全に変化をとげるのに間に合わなかったようです。


今回のは1PPSがLEDで出てるから問題ありませんが、液晶の時刻表示のみで「ぴったり時計」を作るのは無理がありそうです。

それとバックアップの力は偉大です。
電気二重層コンデンサ(ElectricDoubleLayerCapacitor=EDLC、UltraCapacitor=UCとも言う)を初めてまともな用途に使用しました。


主電源を切ってしばらく経って入れなおした場合でも数秒でGPS衛星を捉えるようです。
室内に持ってきて電源入れ直しをしてもGPS衛星からのメッセージをすぐに受信し始めます。しばらくするとポジションはロストしますが、メッセージ受信と1PPS発光は継続します。

あとは出力端子をハンダ付けして、プラスチックのケースを加工すれば完成です。
1PPS信号をXBeeなど無線で室内に飛ばせば全部の部屋でGPSぴったり時計なんて作れそうで想像するだけで楽しいです。
もちろん弐号機は星食観測用がメインですが、きちんとした出力端子があるからこそできる想像です。