2017-07-29 20:38 | カテゴリ:1/32モデル
フライングサブ(以下FS)の組み立てを進めていますが、今回はちょっと裏方の話を。

PIC 16F18857というプロセッサーの話題です。


(FS0401)
FS0402_16F18857.jpg





続きは、、、



なぜこんなマニアックな話題か?といいますと、PICもかなり世代交代が進んでいるというお話をしたかったからです。

私がPICに出会って電子工作を始めたのは2004年くらいからです。
その頃は、PIC16F84Aという、今と比較すれば、本当に機能も限られたチップが有名で、各種の電子工作のWEBサイトで取り上げられていまして、私もそこから勉強させてもらいました。

(FS0402)
FS0401_16F84A.jpg


これは2001年くらいに販売開始されたと記憶しています。
ちなみに、16F18857は、2017年です。

ちょっと特徴を比較してみますね。(データは秋月電子さんから抜粋)


16F84A 

・プログラムメモリ:1024ワード
・データRAM:68バイト
・EEPROM:64バイト
・クロック:DC~20MHz
・電源電圧:4.5V~5.5V
・I/O:13
・パッケージ:18ピンDIP


16F18857

・プログラムメモリ:32768ワード
・EEPROM:256バイト
・データSRAM:4096バイト
・I/O:最大25
・10ビットA/Dコンバータx24ch
・DAC:5ビットx1
・コンパレータx2
・タイマ:8ビットx3、16ビットx4
・SMTx2
・CCP/10ビットPWM:5/2
・CWGx3
・NCOx1
・CLCx4
・DSMx1
・EUSARTx1
・SPIx2
・I2Cx2
・PPS
・動作クロック:32MHz(最大)
・電源電圧:2.3V~5.5V
・28ピンDIPパッケージ


プログラムメモリー容量は 約32倍!
データRAM容量は 約60倍!
しかもPWMやら通信機能やら多数のタイマーやらが備わっています。

価格も現在で、16F84Aが300円。当時なら4-500円位したと思います。
16F18857が170円。
この技術の進歩は素晴らしいです。

電子工作によく使用するチップは、

16F876(A)ですが、これはIOポート数も20以上で十分なうえ、シリアル通信もRS232やi2cを備え、タイマーやPWMも使いやすく、使用に慣れています。

しかし、最近マイクロチップ・コードコンフィギュレータ(MCC)がMPLAB-XのXC8言語で使用できるようになり、プログラミングの生産性を上げるために、このMCCに対応したチップを今後使用していきたいと思い、色々チェックしていました。

CPU付のLEDをSPI通信でドライブするには、CLC(組み合わせ可能な内蔵ロジック回路)とSPI対応が必要です。
また、EEPROMも欲しいですし、PWMやタイマーも、、、

と考えて探した結果、この16F18857にあたりました。
2017年発売の新チップです。

早速、秋月電子さんに注文し、今回のFSの電飾に使用する事にしました。

今年再調整したCPU付LEDのドライブプログラムはPIC16F876で動作させていますので、それを今回の16F18857に置き換えます。

MCCに同じような設定を書き込んで、メインプログラムはそのままで、ちょっとバグ取りに時間がかかりましたが、ちゃんと動作しました。

(FS0403)
FS0403.jpg

ちゃんと動作したのですが、MCCは完全な製品ではなく、

「問題もあるけれど良かったら使ってね!」

的な機能なので、MCCでコードを生成する際に、頻繁に警告メッセージが出ます。

「このまま実行すると、ひょっとすると、間違ったコードを生成するかもしれないけれど、良い?」

なんて聞いてきます。
コンパイルして、ERRORが出なくて、動作すればよいわけですが。
というわけで、動作確認が出来ました。


次は、LEDをドライブする回路の製作です。
今回は、FS室内が六角形で、それぞれの壁面に計器類が配置されています。
それをファイバーで表現し、その先をLEDが付いたPICの電子基板に導いてくるのですが、あまり長く引っ張ると内部でスパゲティー・シンドローム状態になるので、思い切って、一部を除いて壁面ひとつ毎に、PICのLED基盤をセットする事にしました。

使用する汎用基盤はこれです。

(FS0404)
FS0404.jpg

結構小さくて、FSの壁面の裏側に十分セットできそうです。
これらは、5V電源と点滅情報を後からでも簡単に変更できるように、RS通信で芋ずるに結んで動作させるように計画しています。

部品は、PIC16F876(在庫があるので)(笑)とLEDと抵抗くらいのシンプルな回路です。
で、汎用基板にPICとLEDと抵抗で製作しました。

表は、PICとLED。

(FS0405)
FS0405.jpg


裏側に、配線と抵抗を取り付けました。これは表側にはファイバーをまとめてLEDに取り付けますので、スペースを確保する必要があるからです。

(FS0406)
FS0406.jpg

(FS0407)
FS0407.jpg

動作テストの様子です。

(FS0408)
FS0408.jpg

プログラムは以前に製作した、LEDマネージャのソフトを利用しました。
我ながら便利なソフトを製作したものです。(笑)

動画も見てやってください。
大阪の道頓堀のネオンサインも真っ青(笑)

(Video)




管理者のみに表示する