実験用DC電源プロジェクト(2)マイコンの準備

実験用の電源を自作しようというプロジェクトの続き。 

最初に設定した仕様の一つ、”単体の電源としても使えるが、PCからUSB経由で接続すれば、PCのプログラムで制御し動かせるようにする。また、PCから電流、電圧ともに取得できるようにする。”

なのでマイコンを選定して、動かすようにする。ベアなATMEGA328Pを買ってきてArduinoの最小構成を作るってもの。今までもやった事があるが備忘録かねて。

マイコン選定

手元にあるICのマイコンの候補は以下。

 CH32V003F4P6:32ビットRISC-Vマイコン。秋月価格で60円と安価。基本なんでもこれで作っている愛用品。https://akizukidenshi.com/goodsaffix/CH32V003.pdf

ATMEGA328P-AU:おのずと知られたArduinoNanoに使われているマイコン。以外と高い。秋月価格で410円。https://akizukidenshi.com/goodsaffix/atmega48-88-168-328_A_P_PA.pdf

ATMEGA328PB-AU:上の328Pの後継機種。機能は同じなのに、値段はこちらの方が安い。秋月価格240円。328Pはディスコンが近いのでプレミアム価格が載ってきていて高くつくので、乗り換え用に手元に所有。https://akizukidenshi.com/goodsaffix/ATMEGA328PB.pdf

今回は、OLED等で電圧、電流を電源として表示する機能を搭載したいし・・かっこよく作りたいと思っているので、悩んだが、メモリが16kBのCH32より、32kBで少し余裕がありながらも低価格のATMEGA328PB-AUを選択。

ATMEGA328PB-AUへのファーム書き込み

ブレッドボードで動かすために、32ピンQFP変換基板(https://akizukidenshi.com/catalog/g/g109581/)に半田で固定するところから。


マイコンのプログラムは横着してarduinoで済ませたいので、ファームを書き込む。
ファーム書き込みのやり方は、いろいろ検索すると出てくるから割愛するが、ざっくりArduinoNanoを使って書き込みの手順は以下。詳細は専門のページに任せて・・・

MiniCoreをインストールしておく。
ジャンパーで必要な線とArduinoNanoを接続。マニュアルにあるピン配置とにらめっこしてジャンパーで接続する。
Arduino NanoATMEGA328PB
10 (SS)29 RESET
5V4 VCC
GND5 GND
11 (MOSI)15 MOSI0
12 (MISO)16 MISO0
13 (SCK)17 SCK0
Nano側にはArduinoISPのスケッチを書き込んで
適正な以下の設定にしてあげて、ブートローダーを書き込む
水晶振動子を用意してもよいが、今回の用途では内部クロックの8MHzで十分。内部クロックの8MHzだけでPCとUART経由でコミュニケーションをとることは可能。

ATMEGA328PB-AUへのスケッチ書き込み

ファームが掛けたらスケッチを流し込んでみる。
まず、動作確認のためにUSB-シリアルにはFT232RLのよくあるモジュール(https://www.amazon.co.jp/gp/product/B08R62V2PL/ref=ewc_pr_img_1?smid=A13BP27LYMQLEZ&psc=1)を利用。
こことかを参考にして接続。(https://burariweb.info/electronic-work/arduino-internal-8mhz.html
ポイントは、DTRの線は、コンデンサーを介して、5VでプルアップしてからRESETに接続とTXはRXとRXはTXと接続するぐらい。

画像のようにLチカを書き込んで動く事を確認。

CH340E

FT232RLを使うというのもあるが、結構なお値段(秋月価格550円)なので、ここは、愛用のCH340E(秋月価格110円)。使い方はとても簡単で、素直なIC。

上記の配線でブレッドボードで組んでみる。

(写真はLEDが消えているタイミングになってしまったが)無事にLチカを確認。

という事で、最低機能のArduinoNanoを作ったって感じです。


コメント

このブログの人気の投稿

【充電回路】TP4056(保護回路は電池側)

CH9329で日本語キーボード109で正しく表示する方法

Attiny85とAQM0802A(LCD)のI2C接続