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
- 材料
- 半分はジャンク廃材からもぎとりですが原価的に↓こんな感じ
品名 | 内容 | 数量 | 値段 |
PIC | PIC16F84A | 1 | 280円 |
LCD | HCN-24V 16文字x1行 | 1 | 300円 |
セラロック | 20MHz | 1 | 40円 |
ICソケット | DIP18P | 1 | 30円 |
ダイオード | そのへんにあったやつ | 3 | 15円 |
LED | パイロットランプ用 | 1 | 5円 |
半固定VR | 10k | 1 | 20円 |
集合抵抗 | 10k 8素子9P | 1 | 20円 |
抵抗 | 1/6W : 10k-1本 470-1本 | 2 | 2円 |
基板 | 蛇の目基板-S | 1 | 60円 |
コネクタ | 1列ヒンヘッダ オスメス | 1 | 60円 |
USBケーブル | 1/2 | 15円 |
ピンヘッダ | 10P | 30円 |
配線材 | リード線とか抵抗の切れ端 | 少々 | - |
今回は秋月で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値と可変範囲(予想)
SCR | VAL | 発振範囲 | 調整単位 | プリスケーラ
|
---|
0 | 08-FF | 20k 〜 250kHz | 0.2μS | なし
|
---|
1 | 04-FF | 9.9k 〜 125kHz | 0.4μS | 1/2
|
---|
2 | 02-FF | 4.9k 〜 62kHz | 0.8μS | 1/4
|
---|
3 | 01-FF | 2.5k 〜 31kHz | 1.6μS | 1/8
|
---|
4 | 00-FF | 1.2k 〜 15.6kHz | 3.2μS | 1/16
|
---|
5 | 00-FF | 612Hz 〜 7.8kHz | 6.4μS | 1/32
|
---|
6 | 00-FF | 360Hz 〜 3.9kHz | 12.8μS | 1/64
|
---|
7 | 00-FF | 153Hz 〜 1950Hz | 25.6μS | 1/128
|
---|
8 | 00-FF | 76Hz 〜 970Hz | 51.2μS | 1/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 に戻る