Sazanami Online

パルスジェネレータの製作

Index に戻る
機材製作のための機材...
ロジアナ製作の為に、簡単なパルスを発生する装置が欲しくなりました。機材製作のための製作です。
正方波のみで、LCDとボタン操作で簡単に周波数を変更できるものにします。
1/2,1/4,1/8,1/16の分周出力付き

本機の外観



各部の動作

MODEボタン
 カーソルをSCRとVALに切り替えます

UP,DOWNボタン
 SCRまたはVALの設定値を加減します。
 SCRは0〜8、VALは00〜FFの範囲で変更できます

出力コネクタ(7P)
 1pin=GND
 2pin=NC
 3pin=基本パルス 出力5Vp-p
 4pin=1/2パルス 〃
 5pin=1/4パルス 〃
 6pin=1/8パルス 〃
 7pin=1/16パルス 〃 (パイロットLEDに同期)

パイロットLED
 動作確認用、1/16パルス出力と同期しています。
 (周波数が高いとダイナミック点灯にしか見えません)

半固定VR
 LCDの濃淡を調整します。

ISPコネクタ
 プログラムを変更する時にジャンパを外してPICライタに接続します。

↑PageTop

設計
LCD表示は4bitのデータ線と3bitの制御線が必要ですが、これにもう1bitを加えて4個までのボタン入力を兼用してる所が今回の工作の目玉です(笑)

回路図 Rev1.0 クリックすると拡大します〜


パルス発生はTMR0割込み周期でカウントしてそのままRA0-4に出力する簡単なものです。ソフト的には1/1〜1/256のプリスケーラ選択と割込み周期の調整があり、それぞれSCRとVALの表記でLCDに値を表示し、これをモードボタンで切り替え、UP,DOWNで加減する事にしました。
したがって操作ボタンは3個

↑PageTop

材料
半分はジャンク廃材からもぎとりですが原価的に↓こんな感じ
品名内容数量値段
PICPIC16F84A1280円
LCDHCN-24V 16文字x1行1300円
セラロック20MHz140円
ICソケットDIP18P130円
ダイオードそのへんにあったやつ315円
LEDパイロットランプ用15円
半固定VR10k120円
集合抵抗10k 8素子9P120円
抵抗1/6W : 10k-1本 470-1本22円
基板蛇の目基板-S160円
コネクタ1列ヒンヘッダ オスメス160円
USBケーブル1/215円
ピンヘッダ10P30円
配線材リード線とか抵抗の切れ端少々-

今回は秋月で300円で買ったHOSHIDEN製LCD HCN-24V 16文字x1行 を使ったのですが、8文字ごとに表示アドレスが離れていて、なんだか文字が薄いです。1行モードだと8文字表示になりますがハックリと表示されます。データシートにデューティー(1行表示)と書いてあったのは、文字数を減らしてデューティー比率を上げるって意味だったんですね。あと、きちんとbusyを見て次を表示してるのに少しwait入れないと表示が崩れてしまったり、最後の桁表示するとbusyのままだったりとかなり扱いにくさを感じました。
吉野電装の390円のやつ買いこんでおけばよかった。。

↑PageTop

製作〜
LCDが大きくて、スイッチやコネクタ、VRなどほとんどの部品は手前に詰め込み配置となりました。
LCDの下はガラガラで、右側がIC1個乗りそうなくらい余りました。
ここは配線を避けて拡張用のユニバーサル・スペースとしました♪

LCDの下にPICがちょこんとあります。


↑PageTop

テスト
オシロで計りながらコードを削っていったのですが、最小パルスが250KHz(4μS)が限界でした。VALの調整で0.2μS単位で調整は行えるのですけど、PICを20MHz駆動なので1マシンサイクルが0.2μS、割り込み処理に20マシンサイクル掛かっている計算になりますね。
やはり割り込み方式だとレジスタ退避やタイマリセットのオーバーヘッドが大きくてダメですね。

パルスはきれいに出ているみたいです♪


SCR=0の時はVAL=08〜FFの範囲が有効で250〜1.8KHzを発生、VAL=08以下になると割り込みは発生しまくって操作不能になります。操作を制限する必要がありそうです(汗)
SCR=1の時は上記のほぼ倍125KHz〜で調整単位も倍の0.4μS、SCR=2で更に倍、SCR=3以降も倍々です。この事から性能を推定すると以下のようになります。

SCR値と可変範囲(予想)
SCRVAL発振範囲調整単位プリスケーラ
008-FF 20k 〜 250kHz 0.2μSなし
104-FF 9.9k 〜 125kHz 0.4μS1/2
202-FF 4.9k 〜 62kHz 0.8μS1/4
301-FF 2.5k 〜 31kHz 1.6μS1/8
400-FF 1.2k 〜 15.6kHz 3.2μS1/16
500-FF 612Hz 〜 7.8kHz 6.4μS1/32
600-FF 360Hz 〜 3.9kHz 12.8μS1/64
700-FF 153Hz 〜 1950Hz 25.6μS1/128
800-FF 76Hz 〜 970Hz 51.2μS1/256

100Hz,500Hz,1kHz,5kHz,10kHz,50kHz,100kHz,200kHzのSCRとVAL値を採取してこれをプリセットしておいて、そこから微調整とすれば使い勝手がよさそうですが、最大250kHzでそこまでやるのもねぇ〜
モード切替えでパルス発生を開始し、ボタンで割り込みを掛けて終了するようにすれば1MHz越えられそうですが、そこまでやるなら専用のICを追加したほうがよさそうです。


調整!!
基本パルスが Hi-Low のだったので Low-Hi の順になるよう順調整しました。

↑PageTop

E-mail : saza00@mail.goo.ne.jp Index に戻る