dsPIC33F これでもか回路図&実物

2016年9月20日

え~、デジタル部は出来たと思っております。RTCとSRAMの動作確認中ですが、一応これから別のステップへいくので記録です。
ほぼ全部のPIN埋まりました。
A/Dですがやはり2つ持っているらしく、2ch同時に1.1Mspsできて、1chなら2.2Msps出来るみたいです。
ですが、重箱をつなぐラインが8Pinであるのと、A/Dにおかしな電圧がかかると丸ごと死亡するので、使うのをあきらめました。とりあえずA/Dはタッチパネルで使うので、PICとしては初めてのチャレンジです。
タッチパネルはいつものこちら
1/5
シリアル USBに使うPIC32MXですが、Modbudプロトコルにしたため、2つラインが必要になりました。マスターが1:nなので、dsPIC33からPIC32のデータを引っ張れないためです。2つのMCUには1番2番とIDを振ってPCからID付けたメッセージを送ると、そのIDのMCUがデータの返事をします。
通信プロトコルは自分で考えるよりなにがしかのを使った方が間違いや見落としがなく、作るだけなので楽なのです。wikiのリンクに通信アプリありましたが、手動なのでなんとも。何処かの企業とかのHPにありそうですが。
エクセルのVBスクリプトでシリアルメッセージを送って、1kbyteの返事がずらっと来た場合に、シートに書き込んでグラフ化するとか、VB、VCでアプリ作るよりいろいろなことができるので、こちらの方が便利です。
2/5
前回使っていたSRAMが5V仕様だったため、こちらに変更。バックアップの電圧はほとんど下がらないのでそこは問題なさそうです。RAMのサイズが減ったのでピン数が4本減ったのですが、ピン配列って同じなんですね。電源となにがしかの配線変更のみでおわりました。16bitとか8bitバス配線した後に気がついたので、やばかったです。
そして結構いい勉強になった7seg。結局8個になりまた。ボタン8&7seg4個かどちらか悩みましたが、ボタンそんなにいらないだろー。ということで。
3/5
そして、完成ひーん
重箱1
下にPIC32MXの逐次比較と、2重積分とファンクションジェネレータのV/Fをつける予定です。
TopView
こんな感じで詰め込み。MCU下にクロックと降圧用コンデンサ、液晶下に7seg駆動回路があります。
下のボートにつなぐのはRJ-45。普通のLANケーブルです。圧着工具とコネクタはAmazonで激安で売ってます。チェッカーまで付いていますので是非。
ケーブルとコネクタってなんにしても高いんですよね。フラットケーブルの圧着で万力もいいですがずれてて燃えるとか。LANケーブルなら100円で3メートル買えます! 100円ショップ行けばいいだけなので入手性抜群。チェッカーもあることで安心確実。
UARTをRS-422,485にしてこれを使えば、ツイストケーブルなのでさらにすばらです。
はて、ここで気がついた。後に書くA/Dボードとの通信。485とかにわざとしておけば、別電源必要だけど、絶縁できますね。ほんとちょっとした電圧で壊れるので検討します。
→検討結果:ICも持ってることだし、やってみる。
裏面
・・・・・。16bitアドレスバスと、8bitデータバスと、(8*4個)*2列の7seg配線が盛り上がりを見せています。16bitバスはプルアップ、SRAM、LCDとつながっているのでこれがでかいです。
A/D
これが下段。A/D関係です。個別に基板を作って使いまわせるようにします。
2重積分は16か17bit位の分解能で。V/Fはファンクションジェネレータが使えるとの情報でやってみるみたいな。分解能が高い方はサーミスタや湿度計や照度計などで使います。フォトカプラで絶縁するので安心です。V/Fも同じ要領です。
逐次比較は絶縁できないので怖いですが、PIC32がすっとぶくらいならいいかなー的な。
あと、周波数カウンタですが、できれば絶縁したいですね。
電源はMAU106です。絶縁や非絶縁でGNDくっつければ、簡単に負電源つくれますね。
さてここからどこへ手をつけるべきかですが、とりあえずRTCが上手く操作できないのとSRAMチェックですが、そのあとは上のボートって表示とかそんな感じしかできないので、さっさとA/D作って液晶やらに表示できるようにしないと、現状では時計しか用事のない液晶付きボード。
そしてA/Dの結果やトリガーやらを引っ張って上のボードで表示やら、Beepやらするわけですが、その引っ張るというのがModbus。元の元を掘り下げていくと、USBシリアル -> Modbus -> A/D すかねぇ
A/Dで気温測るのは遥か先の話となります。
あと、超おまけで、PIC32MX HOSTモードも出来るようにしています。コネクタだけ付けときました。
以上