Memorandumの小部屋
本ページは金銭授受を伴う行為を含むAuctionや商用Web
Pageからの無断リンク・無断参照を禁じます。
無断リンク・無断参照が判明した時点で然るべき処置をとらさせて頂きます。
周波数変更は全桁表示が一番!!!
(PICマイコンとLCDユニットを使ったDDSコントローラの製作)
秋月電子通商の「DDS キット」は、低周波〜高周波(20MHz程度)までの範囲の周波数を安定度良く得ることのできる発振器ですが、周波数設定が面倒です。 お手軽に周波数を設定する手段として「PIC DDS コントロールキット」がありますが4桁表示しかなく、周波数設定が面倒でした。
一時は「PIC DDS コントロールキット」の出力信号を利用して8桁表示に改造しようかとも考えましたが、ちょっと面倒(レジスタが必要)なのであきらめていました。
そのうち、「AKI-PICプログラマーキット」がリリースされPICライタマイコンの開発環境も整い、PICマイコンで周波数設定ができるように考えて、製作を開始しました。 PICマイコンを使用したDDSキット用の周波数コントローラも他の皆様も製作されていらっしゃるようですが、思ったような機能のものが見あたらず、また、PICマイコンの使い方を忘れないようにするためにも自作することにしました。
【 ハードウエア 】
DDSコントローラを製作するに当たり、手持ちの部品をかき集めます。 ここは田舎ですから、あるもので済まさなければなりません。
主たる部品として、まず、表示器としては、いつか使えるのではないかと思ってストックしていた「 キャラクタタイプLCDユニット M1632-0A 」、PICマイコンの基板として使用予定のなかった「AKI PIC プラチナキット」を流用することにしました。
使用部品は表1のようになります。
品 名 |
部品番号 |
仕 様 |
PICマイコン |
IC1 |
PIC16F84-10/P (*1) |
セラミック発振子 |
X1 |
セラロック 10MHz(コンデンサ内蔵) (*1) |
LCDユニット |
− |
セイコー電子 M1632-0A (*2) |
基板 |
− |
AKI PIC プラチナキット (*1) |
コネクタ |
− |
2.54ピッチ 7ピン×2列(基板〜LCDユニット接続用) なければ電線で接続。 |
抵抗 |
R1〜R5 |
15kΩ(10〜47kΩであればok) 1/8W |
抵抗 |
R6 |
680Ω 1/8W |
抵抗 |
R7 |
22kΩ 1/8W |
半固定VR |
VR1 |
10kΩ |
セラミックコンデンサ |
C1 |
0.1μF(0.1〜0.01μF可) 12V以上 |
電解コンデンサ |
C2 |
47μF(10〜470μF可) 10V以上 |
電解コンデンサ |
C3 |
10μF(10〜22μF可) 10V以上 |
スイッチ |
SW1〜SW6 |
モーメンタリ式押しボタンスイッチ |
表1の*1を付けた部品は秋月電子通商で購入できます。 また、*2のLCDユニットは、現在では入手できないかもしれません。 代替えのLCDユニットを秋月電子通商で販売しています。
図1に回路図、図2に完成時の外観を示します。 消費電流は5V時、約110mAでした。
おっと、大切なことを忘れていました。 DDSキットのチップセレクト番号は7番(CS0、CS1、CS2のジャンパ部は全てオープン)にして下さい。 もし、他の番号にしたければPICマイコンのEEPROMエリアのデータを書き換えることで対応は可能ですが。。。。。
(2009-03-08にSW1・SW2の用途誤記訂正版に差し替え。 東京都のI様、ご連絡有り難うございました。 )
図1 回路図
図2 完成時外観 (LCD unit M1632使用時)
2枚の基板の上側がDDSキットの基板、下側が「AKI PIC プラチナキット」の上に「 キャラクタタイプLCDユニット M1632-0A 」を搭載しています。 今回DDSコントローラとして使用したのはこのPICマイコンは下側の「AKI PIC プラチナキット」の基板の部分です。
LCDの表示は、CH1が選択され、1MHzの周波数を設定し、カーソル文字”T”、カーソル位置”5”、アップダウン周波数10kHz単位を示しています。
操作部は全部で6つのタクトスイッチからなります。 上記画像では青色のボタンの部分はスイッチです。
LCDユニットの上側にあるのがリセットSWです。 LCDユニットの下側の5個のスイッチは左側から下記のようになっています。
SW5 |
SW4 |
SW2 |
SW1 |
SW3 |
Downキー |
UPキー |
Writeキー |
Channelキー |
Cursolキー |
【 各種LCDユニットでの動作 】
LCDユニットを変えて動作確認を行いましたのでその結果を下記します。
動作確認に使用したLCDは前記LCDユニットを含めて以下の5種類です。
セイコー電子 |
|
||
SUNLIKE |
|||
SHARP |
|
|
LCD unit : L1672/M1672 図3 完成時外観 |
LCD unit : M1641 図4 完成時外観 |
|
|
LCD unit : SC1602BSLB 図5 完成時外観 |
LCD unit : SC2004C 図6 完成時外観 |
|
|
LCD unit : LM16155 図7 完成時外観 |
メーカ |
セイコー電子 |
セイコー電子 |
セイコー電子 |
SUNLIKE |
SUNLIKE |
SHARP |
||||||
型式 |
||||||||||||
項目 |
端子 |
信号 |
PIN |
信号 |
PIN |
信号 |
PIN |
信号 |
PIN |
信号 |
色 |
信号 |
A |
14 |
DB7 |
1 |
DB7 |
1 |
DB7 |
14 |
DB7 |
14 |
DB7 |
茶 (A側) |
DB7 |
B |
13 |
DB6 |
2 |
DB6 |
2 |
DB6 |
13 |
DB6 |
13 |
DB6 |
赤 |
DB6 |
C |
12 |
DB5 |
3 |
DB5 |
3 |
DB5 |
12 |
DB5 |
12 |
DB5 |
橙 |
DB5 |
D |
11 |
DB4 |
4 |
DB4 |
4 |
DB4 |
11 |
DB4 |
11 |
DB4 |
黄 |
DB4 |
E |
10 |
DB3 |
5 |
DB3 |
5 |
DB3 |
10 |
DB3 |
10 |
DB3 |
緑 |
DB3 |
F |
9 |
DB2 |
6 |
DB2 |
6 |
DB2 |
9 |
DB2 |
9 |
DB2 |
青 |
DB2 |
G |
8 |
DB1 |
7 |
DB1 |
7 |
DB1 |
8 |
DB1 |
8 |
DB1 |
紫 |
DB1 |
H |
7 |
DB0 |
8 |
DB0 |
8 |
DB0 |
7 |
DB0 |
7 |
DB0 |
灰 |
DB0 |
I |
6 |
E |
9 |
E |
9 |
E |
6 |
E |
6 |
E |
白 |
E |
J |
5 |
R/W |
10 |
R/W |
10 |
R/W |
5 |
R/W |
5 |
R/W |
黒 |
R/W |
K |
4 |
RS |
11 |
RS |
11 |
RS |
4 |
RS |
4 |
RS |
茶 |
RS |
L |
3 |
VLC |
12 |
VLC |
12 |
VLC |
3 |
VLC |
3 |
VLC |
赤 |
VLC |
M |
1 (注) |
VSS |
13 |
VSS |
13 |
VSS |
2 |
VSS |
1 (注) |
VSS |
黄(M) (注) |
VSS |
N |
2 (注) |
VDD |
14 |
VDD |
14 |
VDD |
1 |
VDD |
2 (注) |
VDD |
橙(N) (注) |
VDD |
(注)と記載された端子は他と配列が逆になっているため電源の接続に際しては注意して下さい。
LCDをAKI PIC プラチナキットに接続するために、各LCDユニットとのコネクタ取り合いを統一しています。
LCDユニットのコネクタPINの位置を右図のA〜Nのように決めたときの各ユニットのPIN番号との関係が上記表2です。 右記配列はセイコー電子のM1632/M1672と、SUNKILEのSC1602Bに合うようになっています。
SUNLIKEのSC2004CはPIN位置M,Nが他と逆になっていますのでLCDユニット側の基板のパターンを修正して同じになるようにしています。 この修正方法はパターンカット3カ所、ジャンパ線3本で改造できます。 具体的な修正方法は部品・ユニットの小部屋の「SUNLIEKE製液晶モジュールSC1602BSLB/SC2004C(バックライト付き)」に記載しています。
セイコー電子のM1641・シャープ製LM16155 は16桁1行のLCDです。 そのためカーソル位置表示方法の変更や文字表示論理位置変更が必要であり、PIC16F84のプログラム変更も必要となります。(下記でこのHEXファイルを公開しています。) また、コネクタ取り合いではないため、他ユニットと同じなるようにコネクタ部を追加しています。
これらの処理をすることで合計5種類のLCDユニットでの動作確認を行っています。
【 ソフトウエア 】
LCDユニット M1632−0A・L1672/M1672−0A・SC1602BSLB・SC2004C 用のソフトの仕様を下記します。
キー入力 リセットスイッチを除き、操作部のキー入力は全部で5個あります。 この5個のキーはソフト的にチャタリング防止を行っています。 また、Writeキーを除き、残り4個のキーはオートリピート機能を持たせています。
|
||||||||||||||||||||||||||||||||||||||||
出力設定範囲
|
||||||||||||||||||||||||||||||||||||||||
出力チャンネル記憶
|
||||||||||||||||||||||||||||||||||||||||
周波数表示
|
||||||||||||||||||||||||||||||||||||||||
EEPROMによる設定 現在公開しているVersion 1.02aのEEPROMエリアの詳細を下記します。 なお、メモリマップはアドレスが小さい方が上位バイト側(MSB側)にしています。(なにせ、アセンブラはHITAC10Uと68系で育ったもので。) また16進数は秋月電子製のアセンブラに合わせて文字末尾に”h”を記載しています。
|
||||||||||||||||||||||||||||||||||||||||
DDSコントローラ用HEXファイル DDS102A.LZH をダウンロードする。
その他 周波数データは1digitが1Hzに相当します。 設定周波数を16進数で記載しなければいけませんが、MHzオーダになると16進数への変換も大変です。 専用の電卓がなければEXCELの”DEC2HEX”関数を利用することをお勧めします。 以下にポイントとあんる周波数を16進数に変換した結果を記載します。
|
【 LCDユニットM1641・シャープ製LM16155用ソフト 】
LCDユニットM1641・シャープ製LM16155用の表示器の仕様は前記のものと異なり、1行16桁(文字)で、論理的には1〜8文字目と41〜48文字目が合わさって16文字を表示します。 (前記LCDユニットは同じ16文字でも1〜16文字目が一度に表示できました。)
また、カーソル位置を表示する方法として従来はカーソル文字を使用していましたが、本ユニット用にはLCDユニットの持っているカーソル表示及びブリンク機能を利用するようにしました。
また、EEPROMの設定も003番地以外は原則的には同一です。
アドレス |
内 容 |
003h |
内容 : カーソル位置表示機能の設定 設定 : 000h〜003h bit 0 : 1でブリンクする。 0でブリンクしない。 初期 : 002h (カーソル表示オン) |
DDSコントローラ用HEXファイル DDS110A.LZH をダウンロードする。
ダウンロード後、解凍してDDS110A.HEXを取り出し、「AKI-PICプログラマーキット」のPICWで書き込みを行って下さい。(AKI-PICプログラマーキットが必要です。)
【 完成例 】
電波時計キットのバーアンテナの共振周波数を測定するために発振器としてケースに入れて仕上げた製作例を下記画像に掲載します。
アルミケースの手持ちで丁度よい大きさのケースがなかったのでプラスチックケースを利用しました。 下記画像でははっきりしていませんが、操作スイッチの赤いボタンはケースのふたから出ております。
トルグスイッチは、出力をD/A出力をそのまま出力させるか、LPFを通した信号を出力させるかを選択できるようにしたスイッチです。 電源スイッチではありません。
【 製作例 】
上記製作例の回路図を下記に掲載します。
電源はACアダプタを利用します。 また、ブリッジダイオードと3端子レギュレータを使用しており、DCジャックは無極性、非安定化ACアダプタ対応としています。 ダイオードブリッジには千石電商で購入していた1袋100本入り400円のショットキ・バリア・ダイオードRK−16、3端子レギュレータには低飽和電圧型のLM2940CT−5.0を使用しています。 このため、DCジャックでの電圧が5.9Vで正常に動作できます。
ただし、3端子レギュレータ(画像では不鮮明ですがWRITE SWとCHスイッチのラベルの上側近傍)には放熱板を設けていません。 現状は6.5VのACアダプタを使用していますので発熱の問題はありませんが、当初は9V程度のACアダプタを使用していましたので3端子レギュレータがかなり熱くなっていました。(消費電流は約0.15Aでした。)
PIC16F84-10/Pの代わりにPIC16F84A-20でも動作します。
(2009-03-08にSW1・SW2の用途誤記訂正、LCD R/W
pin誤記訂正版に差し替え。
東京都のI様、ご連絡有り難うございました。 )
【 回路図 】
【プログラム書き込みサービス】
本ページで紹介しましたPICマイコンの書き込みサービスを行っています。 詳細はプログラム書き込みサービスのページを参照願います。
End of This Page.