ma2.electronのブログ

電子回路とかアマチュア無線機の修理とか

モニターの回路図

Arduinoを使って試作したの回路図を紛失してたようで、ATMega328を使って試作した物の回路図を代わりに置いておきます。

Ki-CADで作図しPDF化したものをJPGへ変換しています。

PDFへ変換時に文字が潰れてしまっていますが、部品のピン番号は分かると思います。

f:id:ma2electron:20190427080655j:plain

回路図

回路の大まかな解説は、ATMega328のUART端子で9600bps 7Bit  Stop bit1 Evenパリティーで通信、その信号をRS-232CレベルへAMD3202で変換してフリーダムと通信させます。

レベル変換ICは各社似たものがありますので、価格や周りに使う部品を考慮して選べば何でもいいです。

ケチってダイオードと抵抗で直接RS-232C端子へ繋ぐ方法もあります。

 

表示はキャラクター表示のLCDを使用し、4Bitのデータを2回送って表示する方法を使っています。

LCDはマルツで販売されているこれが安くて便利です。

www.marutsu.co.jp

秋月電子のこれでもOKです。

LCDキャラクタディスプレイモジュール(16×2行バックライト付): ディスプレイ・表示器 秋月電子通商-電子部品・ネット通販

 

LCDへの表示データの配線は、BASCOM-AVRではATMega328の使用するピンを選べますので、分かりやすい配線になるようにするとよいと思います。

 

回路構成の検討

ATMega328を使うことを決め、どういう回路構成にするか検討します。

 

ATmega328の通信端子は、RS232C用として使う事ととします。

グラフィック液晶を使わずにキャラクター液晶を使う事で、フォントの組み込みや

文字ズレ、ライセンスの呪縛から解かれました(笑)。

通信ICはRS232Cマイコンへ変換し、外付けコンデンサ電解コンデンサ

極力使わない構成になるように考慮。

MAXIMのICやAnalogdeviceのICが出てきますが。今回はAnalogdeviceを選びました。

 

実際の試作機の組み立ては、Arduino UNO R3を使い、搭載されていた

ATMega328の中身をクリアして使い、上記の232C変換もキットを買って蛇の目基板へArduinoを接続して使い、大まかな動作チェック用として組み立て。

 

 

マイコンの選定 ATMega328

おおよそのマイコンの選定は決まりましたが、では、どれを実際に使うかが決まっていません。

AVR系が良さそうで、その中から選ぶと、フリーダムとの通信に使うRS-232C用に端子があるのか、液晶表示用のデータ配線の確保、その他いろいろ考えるときりが無いので、Arduino UNO R3を試作用のマイコンボードとして使い、子基板を作りArduinoで言うところのシールド基板風に積み上げていくこととしました。

Arduino IDEを使わないのでプログラム本体をAruduino UNO R3へ書き込めません。

Arduinoをもう一個買ってきて書き込む方法や、ライターを自作する方法もありますが、安全策を取ってAVRISPmk2を購入しました。

 

この試作的なものの回路図やプログラムはHDDクラッシュの時に壊れてしまったのか、

PCの中には残っていませんでいた。

 

マイコンの選定

モニター兼ロガーを作ったのは4年ほど前ですが、その前に、モニターを作っています。

その際、マイコンの選定で色々と悩みました。

マイコンを使うのが初めてで、大昔に仕事で78K2をちょっと触ったくらい。

 

色々検索するとPICマイコン、H8、AVRが入手しやすい事が分かりましたが、C言語ができない私は、何となくできていたBASICでやれそうな物を探しました。

 

PICは当時、PIC16F88とかがメジャーで解説や資料も豊富でしたが、フリーダムの通信フォーマットの7Bitに対応しておらず断念。

AVRはそうやっていいのか分からず、Arduinoを使えば・・・と思ったら、これも通常は7Bitは使わないようです。(後で分かりましたが、レジスターの設定で対応できるそうでした)

 

あれこれ調べていくと、BASCO-AVRという丁度良い物がありました。

フリーでも容量制限を越えなければフルに使えて、BASICですしAVRは7Bitに対応しているマイコンで、秋月電子や近所のマルツパーツでも販売していましたので、これを使う事に決定です。

 

 

E&E社 フリーダムモニターの解説

某オークションで月イチ程度で出品している、フリーダムモニターができるまでの経緯とデータ処理などについて、不定期に書いていきます。

ソースコードについては開示しませんが、部分的に、ヒントとなりそうな部分を書き出したいと思います。

途中で、放置になるかもしれませんが・・・。