JJ1WKN Log

自作や移動運用関連のログです。

PIC18F25J50 デカLED時計の製作

2018-12-16 | PIC
16セグメントのデカLEDを使用した時計を製作しました。

このLEDは数年前に大阪のデジットで安売りをしているということで、知り合いに頼んで買ってきて頂いたものですが、やっと日の目を見ることができました。
このLEDはLED同士を貼り合わせてikkeiplexingで制御するのがお約束ですが、配線が面倒なので、これも数年前にaitendoで買ったダイナミック点灯用の基板を使用してオーソドックスにやることにしました。

ちなみに秋月でも同様の基板が手に入ります。
当然ながら時計のキットもあって、回路的には参考にさせていただきました。

回路図です。

KA2311は各セグメントのLEDの個数が1個、2個、4個と異なるので普通に使用すると輝度にバラツキが出てしまいます。
1個は少数点のLEDなので使用しないことにして、2個は2直列でA、D、Gの横セグメント、4個は2直列2並列で縦や斜めの長いセグメントに使用されています。
ここは秋月の時計キットのアイディアをそのママ使用して、A1、A2と2つに分かれている横セグメントを並列にすることで、縦や斜めのセグメントと同じ構成にしています。
これでどのセグメントも同じように扱えます。
16セグメントLEDなのでA1、A2と分かれていることと、斜めのセグメントがあることで、アルファベットを表示することができましが、今回は時計なので7セグメント化することにしました。

他の回路はSW制御をAD変換にしたところと、スリーブから復帰するためのSWを付けたくらいで、オーソドックスな回路です。
2直列のLEDをドライブするには5Vが必須で、PICは3.3V動作なので混在しているのがやっかいです。
LEDのドライブ回路ではPNPとランジスタの代わりにデジトラを使用してみました。


機能は時計のみに徹して、モード切り替えでHHMMとMMSS表示、時刻合わせのみとしました。
夜中に常時点灯しているのはモッタイナイので、1分間のタイマーで間欠起動して10秒間表示したらスリーブすることにしました。

1分間のうち10秒しか点灯していないので、撮影のタイミングが微妙でした。


50秒間はこんな感じ。


裏です。
基板自体は全セグメントをダイナミック点灯できるようにコネクタに配線されていますが、A1+A2をジャンパーしたりして、この時計用にコネクタを新設しました。


基板です。
10枚で送料込みで147円だった中華基板を使用使用してみました。
ランドが大きくていいのですが、ベーク基板でソリがあるのが難点です。
PIC内蔵のRTCを使用しており、ソフト的な微調整機能もあるのですが、TCで調整できるようにしています。
消費電力が少ないので電池駆動していますが、まだ分の桁を修正せずにここ一週間くらい動作しています。











PIC16F1503 ElekinoCanDoPicの製作

2018-12-12 | PIC
PIC16F1503を使用してエレキーをつくりました。
このPICは秋月で80円で買える14ピンのPICで、安い割にはI/O数も多くADコンバータも使えるので、小物にはちょうどいい選択です。EEPROMが付いていないのが、用途によっては難点です。

回路図です。
通常エレキーのサイドトーンはマイコンで方形波を生成しますが、今回はトランジスタで正弦波を発生させて聞きやすい音を目指しました。
キーイングのポートから送信機のキードライバと発振回路の電源をパラに供給しています。
スピード調整はADコンバータで素直に実現しています。


単3乾電池1本分の穴あき基板に実装して、CanDoのUSB出力DcDcのケースに押し込みました。
電源は1.5Vの単3乾電池として、既存のDcDcはそのまま使用しています。
使用しない場合はスリープして省電力を目指そうかとも思ったのですが、既存のDcDcが常時動作しているので、小型のSwを追加しました。
USBコネクタは使用しないので、撤去して5ピンのコネクタを設置して、各信号をやりとりしています。
黄色い線がパドルへの線で、イヤフォンジャックに音が出るようにしました。
とりあえず、クリスタルイヤホンか外付けアンプを接続します。


蓋をしたところです。



PIC18F25J50 地震お知らせ装置の試作

2018-10-28 | PIC
久々のPICネタです。

省電力な時計でも作ってみようと思いPIC18F25J50を試していましたが、習作として地震お知らせ装置を作ってみました。

先ずは振動センサーです。
世の中には色々なセンサーがあるようですが、今回は省電力を狙っているので、電源ナシで動作する機械式にしました。
原理は銅箔製の円柱に金属製の重りを垂らして、振動により円柱の壁に接触するとSWが入る仕掛けです。

黒い筒が銅箔テープで、黒いのはテープの接着剤です。
重りは8mm長のスペーサーで、ビスの頭に半田を流し込み細い電線を接続しました。
筒の天井はボール紙が貼り付けてあり、電線は円筒に接触しないように引き出してあります。


底から見たところです。


基板に実装してみました。
水平に設置するのが基本ですが、円柱と重りの隙間があるので、多少斜めに設置してもOKです。
出力は圧電スピーカーで地震を検知するとSOSをモールス信号で発声します。
地震が起きたときはその場にいないと役に立たないので、一度地震を検知したら数分置きにSOSを発声してお知らせするようにしました。
平時は動作確認のため、数分置きに'R'を発生させます。


今回は電池駆動での省電力を狙っているので、振動センサーからの地震の検出は外部割込を使用して、地震が起きた時のみSLEEPから寝覚めてSOSを発声するようにしました。
地震発生後のお知らせにはタイマーが必要ですが、時計用の32.768kHzの水晶のサブクロックを使用してSLEEP中でも動作するPICのタイマー1で約16秒ごとに割込を発生させて設定した時間に達したらSOSを発生します。

PICのクロックは省電力を狙って125kHzと超低速に設定してみました。
このくらいのクロックだと、シリアル出力の9600bpsが使えなかったりして、低速対応のノウハウが必要です。

PICの電源は3.3Vでレギュレーター込みの電流は下記の通りでかなり電池が持ちそうです。
 SLEEP時  約30uA
 SOS発声時 約500uA




PIC16F628A 周波数カウンタの製作

2015-12-03 | PIC
DL4YHF さんの Frequency counter with a PIC and minimum hardware を作ってみました。

7セグLEDは5桁カソードコモンのaitendoのG30601YGBを使いました。
30円で特売していました。

回路図です。
周波数カウンタの回路ではよく見かけるオーソドックスなプリアンプを追加しました。
テストはしていませんが、F8FIIさんの6桁改造にも対応できるようにしました。
小数点はMHzとkHzをスタティック点灯して、6桁目の制御は小数点のポートを利用しているようです。


完成した基板です。PIC16F628Aの手持ちが無かったので、PIC16F648Aで代用しました。
この7セグLEDには小数点が付いていないのですが、コロンが1桁と2桁の間にあるので、上の点をマジックで塗りつぶし、x.xxxxMHzの時だけ小数点モドキを表示できるようにしました。
表示は8.8649MHzです。


PIC12F1501 NCO基板の製作

2015-01-21 | PIC
80MHzの入力で2.5MHzの信号が得られることが分かったので、早速基板に引っ越ししました。

やはり、可変速度の調整くらいは必要なので、ポート数の多いPIC12F1501へ移植しました。
秋月で70円で、機能の割には格安です。

回路図です。
周辺はロータリーエンコーダーと可変速度設定用のSW、表示用のLEDです。


基板レイアウトです。


完成した基板です。
周波数の上限は2.5MHz、下限は0Hzまで可能ですが、1.992MHzとしました。


ロータリーエンコーダーを接続した実験基板です。
さて、どのような周波数構成にするか悩ましいところです。


PIC10F322 NCOのテスト

2015-01-17 | PIC
PIC10F322は秋月で45円で買える8ピンのPICですが、数値制御オシレータ(NCO)機能があり、発振周波数を数値で設定することができます。

出力は方形波ですが、次の式で周波数を決定できます。

F[Hz]=Fin[Hz]*INC/2^21, INC=0~65535

FinはPICのクロックを選択できますが、16MHzのRC発振なので安定しないので、外部から入力します。
Finの上限はデータシートには明記されていませんが、50MHzの入力ができたとのことなので、48MHzのCXOでテストしたところOKでした。
気をよくして60MHzでテストしたところ、これもOKでした。

回路図です。
周波数の変更はロータリーエンコーダーで行う予定ですが、I/Oが全部で4ポートしかないので、速度設定などはできません。


早速ブレッドボードでテストしました。


出力波形ですが、周波数が高いのでだいぶ鈍っています。


周波数カウンタの表示は安定しています。


Fin=60MHz、INC=65535を代入して計算するとF=1874.971kHz
Fin=60MHz、INC=65534を代入して計算するとF=1874.943kHzとなり、最小28Hzステップの分解能で周波数を制御できます。

DBMなどで適当な信号と混合すればVFOとして使えそうですが、高調波が沢山出ているので、厳重にシールドしないといけません。

さて、皮算用を。
混合後に希望の信号を取り出せるかが毎度悩ましいところです。

28.385+1.875+20.040=50.300
28.385+1.875=30.26
28.385-1.875=26.51
これは無理ですね。

(13.255+1.875)*2+20.040=50.300
13.255+1.875=15.130
13.255-1.875=11.380
実験中の2逓倍VXOの周波数構成ですが、これも厳しいですね。

(8.212+1.875)*3+20.04=50.301
8.212+1.875=10.087
8.212-1.875=6.337

(3.168+1.875)*6+20.04=50.298
3.168+1.875=5.043
3.168-1.875=1.293
このへんでしょうか。

手持ちの水晶で
(3.580+1.463)*6+20.04=50.298
やはり6逓倍は無謀のようです。

1.680+3.580+25.000+20.040=50.300
トリプルに挑戦か?


PIC 12F509 pwm制御の実験 その5

2015-01-10 | PIC
その5です。

寄り道しましたが、やっと本題です。

とりあえず、バリキャップは1T33を使用することにして、VXOの実験をしました。


VXO部のUPです。


20.04MHzのIFを想定して、15.102*2+20.04=50.244MHzを目標にしました。
テストの結果、可変範囲を確保すると上限周波数が15.09MHzとかなり下がってしまうので、ジャンク箱から15.158MHzの水晶を発見しました。
水晶は15.158MHz、VXO用のインダクタはとりあえずFCZのVX2を使用しました。
可変範囲は15.030-15.132MHzで50MHzに変換すると50.1-50.3MHzと丁度良い範囲になりました。
VFOとしては10回転で200kHzをカバーしますが、下の方は1回転38kHz、上の方は1回転12KHzとなり使いやすそうです。

回転数と周波数のグラフです。2回転以降は大体直線的です。


PIC 12F509 pwm制御の実験 その4

2015-01-09 | PIC
その4です。

バリキャップ代用ダイオードの測定をしています。


以下電圧の範囲は11.76V-0Vです。
ダイオードの型番は表示なので正確ではありません。

小信号用のSWダイオードは可変範囲が狭いので、NGです。

整流用のダイオードが良い結果でした。
1N4004 / 9.44pF - 51.00pF
1N4005 / 10.36pF - 52.92pF
1N4007 / 8.56pF - 54.40pF
コメントにもありましたが、1N4007が良いようです。

大きいタイプの整流用のダイオードは数100pFのものがありました。
RK36 / 92.5pF - 326.9pF
25 72 / 228.0pF - 585.0pF

ツェナーダイオードはツェナー電圧近くまではバリキャップとして使えますが、
ツェナー電圧を超えると静電容量は増加します。
ZD8.5V / 58.02pF(0V) - 25.82pF(8.5V) - 40.91pF(?V)

30Vのツェナーダイオードは静電容量が大きいですが、バリキャップとして使えます。
1ZB30-BL / 167.4pF - 474.4pF

LEDも測定してみました。
直径が大きい方が静電容量が高いのでしょうか。
サンプルが少ないのでなんとも言えません。
光の影響もありそうです。
3mmφ緑 / 6.52pF - 10.35pF
5mmφ高輝度緑 / 53.37pF - 74.01pF

最後に正規のバリキャップです。
1T33 / 10.76pF - 61.07pF
1SV59 / 7.95pF - 34.25pF

PIC 12F509 pwm制御の実験 その3

2015-01-05 | PIC
本年もよろしくお願い致します。

その3です。

VXOに使用するバリキャップを選定しようと思い、バリキャップの測定をしています。

何種類かのバリキャップの在庫はあるのですが、店頭で見かけた時に適当に買い足していったものなので、ほとんどがFM用です。
整流用のダイオードや、ツェナーダイオード、トランジスタの電極間などがバリキャップの代用として使えることがあります。
このあたりのパーツは沢山あるので、思わぬお宝が眠っているかもしれません。

PIC 12F509 pwm制御で発生させた電圧で測定していますが、容量比は最大でも2.5倍程度です。
正規のバリキャップも0-25Vあたりが一般的で、制御電圧の確保が悩ましいところです。

とりあえず、セットの電源電圧を13.8Vとして12Vまで確保しようと思います。
というわけで、pwm出力をオペアンプで2.5倍しました。

回路図です。
pwm出力をフルスイングのオペアンプで増幅しています。
pwm出力の下限は30mV程度なので、オフセット回路で補正しています。
pwm出力の上限は5V弱なので、目一杯までスイングできるように倍率を設定しました。
ほぼ0Vから11.7Vまでスイングできました。


穴開き基板に実装しました。
電源が2系統あるので、少しややこしいです。

PIC 16F57 周波数カウンタの製作 その3

2014-12-29 | PIC
その3です。

穴開き基板へ引っ越しました。
300mil幅の16F57だともう少し小さくなります。


7セグLEDは5mmx6mmサイズの9桁LEDにしました。
独立したLEDが9個、ダイナミック点灯用の配線で基板に乗っているモジュールです。


7セグLEDのUPです。
小数点の位置は、ちょうどカソードコモンだったので、ソフトは変更せずに、その2のママです。