« XBeeを使う(2) | メイン | 第3回 dsPICマイコン基板で作る「光通信制御の6軸歩行ロボット」 »

No.8付録で試す-78K0/KB2 アナログ表示温度計(2/2)


 エレキジャックNo.8号付録の78K0/KB2マイコン基板を使った「サーボ・モータでアナログ表示する温度計」の続きです。ここでは温度計を製作して動かします。


4.マイコン部分の組み立て
 メイン基板(マイコン部分)は、回路図に従ってユニバーサル基板にて製作します(拡大は回路図をクリック)。

daiS31_78K0KB2serv.JPG

 部品は特別な物を使っていません。電源と温度センサのコネクタは78K0/KB2ベース基板と同じ物を使います。セラミック振動子はベース基板に使用した10MHzでなく8MHzを使用します。ヘッダ・ソケットはDIPスイッチ基板の取付け用です。サーボ・モータ取付にはハガキ・スタンドを使用しています。

 下の写真は、完成したマイコン部分の基板(メイン基板)です。

08Z01S33IMG_0535.jpg

 次は、調整時のみ使用する取り外し可能なDIPスイッチの基板です。この基板は、サーボ・モータのケーブルも取付可能にしてあります。

08z01S34IMG_0505.jpg


5.調整して目盛りを記載
 メイン基板の組み立てが終わったら、次の手順でサーボ・モータを実際に動作させ、それぞれの停止位置に温度目盛りを記入します。

(1) プログラムをダウンロード
 下記のリンクにあるプログラムをダウンロードします。ダウンロードしたら、解凍し、その中に入っているHEXファイル(I2Cservoondo.hex)をエレキジャックNo.8号に説明してある手順で78K0/KB2マイコン基板に書き込みます。

  

温度計プログラム I2cservoondo.zip  (ダウンロード、ソース入り)


(2) 基板の取付
 書き込んだ78K0/KB2マイコン基板を今回作成したメイン基板に取り付けます。電源コネクタと温度センサを接続します。DIPスイッチ基板はサーボ・モータのケーブルを接続してメイン基板に取り付けます。

(3) DIP位置と温度の対応
 サーボ・モータの動作角度は、DIPスイッチ(4ビット)で15通りのパルス幅カウントを指定し確認できるようになっています。DIP値1~15(10進数)は0.1ms単位の0.8ms~2.2msになります。動作範囲は若干オーバしますが、このサーボ・モータでは問題ないようです。パルス幅、DIPスイッチの位置、温度等の対応表は次のとおりです。

08z01DIPhyo.JPG

(4) ニュートラルの位置ぎめ
 DIPスイッチの位置は”8”に設定(ニュートラル位置)にして、電源(5V)を入れます。停止した位置は20℃を示す目盛りなので、表示用針をほぼ真上になるようにサーボ・モータに取付けます。

(5) 停止位置のマーク
 それぞれのDIPスイッチの位置で、サーボ・モータが回転して停止した位置をマークします。

08z01S42IMG_0542.jpg

(6) 目盛り記入
 温度目盛りは20℃基準にそれそれマークしたところに記入します(1目盛りは2℃)。

(7) 仮動作
 DIPスイッチを”0”にすると、サーボ・モータは実際の温度位置で停止します。これで仮動作は確認完了です。

(8) 正式動作
 温度表示を確認したら、電源を切って、DIPスイッチ基板を取り外し、サーボ・モータのケーブルをメイン基板に直接接続し、動作を示すLEDを取り付けます。

 

08z01S48IMG_0533.jpg

 サーボ・モータ温度計(通常動作)は、LEDの点滅と共に温度表示が始まります。メイン基板をハガキ・スタンドの裏面に取り付ければ、温度計は完成です。製作した温度計の外観は下記の写真のとおりです。
 上側のスペースに入っている写真は、知り合いが撮影した「カワセミ」写真(2枚)です(写真使用は了承ずみ)。


08z02S12IMG_0546.jpg


 この温度計のプログラムはオーバスペックになっており、改善の余地があります。いろいろなサーボ・モータでのトライするのも面白いでしょう。


 

後田敏

カテゴリ:

トラックバック

このエントリーのトラックバックURL:
http://www.eleki-jack.com/mt/mt-tb.cgi/2333





カテゴリ

会社案内
情報セキュリティおよび個人情報の取り扱いについて

コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。
コメントはそれぞれ投稿した人のものです。

Powered by
Movable Type 4.1
/*yahoo remove*/