Arduinoのデータ書き込みが出来ない #ATmega328P #FTDI USBシリアル変換ケーブル
通信ケーブル: FTDI USBシリアル変換ケーブルと、 マイコン:ATmega328を使用した際、Arduino IDE 2.3.2→ATmega328へのデータ書き込み失敗が多発しました。
その解決方法が分かったので、こちらにまとめます。もし同じような状況でお困りの方は参考にしてみてください。
動作環境
使用Arduinoソフトウェア: Arduino IDE 2.3.2
マイコン: ATmega328P
製品リンク通信ケーブル: FTDI USBシリアル変換ケーブル
製品リンクマイコン電源供給: 単3電池2本
試したこと
以下の手順で原因を一つずつ検証しました:
1.通信ケーブルのはんだ部分の修正(図1)
はんだ割れが原因の可能性を考え、通信ケーブルのピンヘッダはんだ部分を溶かし、再度接続し直しました。(繰り返し振動がかかる基板には、はんだのクラックが生じるそう。)
汚いはんだ箇所も再はんだしました。
2.PCのUSBポート変更
USBコネクタの接触不良を疑い、別のUSBポートに変更しました。
私のPCのUSB-2.0ポートは以前から接触不良があり、USB-Cポートにハブを介して接続しました。
3.PCの再起動
ソフトウェア側の不具合を疑い、PCを再起動しました。
Arduino IDE 2.3.2で、マイコンを認識しているのを確認しました。
4.電圧の確認
単3電池を電源として使用していたため、電圧低下の可能性を考え、一度電池をOFFにしてPCからのUSBバスパワーで動作させました。
解決方法
「シリアルプロッターを閉じてからデータ書き込みを行う」
これが解決策でした。(図2)
シリアルプロッターが開いていると、Arduino IDEからマイコンへのデータ書き込みが妨げられているようです。
シリアルプロッターはクリック一つで閉じられるので、もし同様のトラブルに遭遇された場合はぜひ試してみてください。
簡単な操作で解決しましたが、ここに至るまでには複数の検証を行いました。同じ症状の方の参考になれば幸いです❤❤❤
データ書き込みとは別件ですが、同日に行ったトラブルシューティングについても備忘録を残します。
アナログ入力を変更
センサーの出力が不安定でして、アナログ入力端子が機能していないことを疑い、アナログ入力ピンを変更しました。
0ピンが動作不安定だったため、1ピンに変更しました。
アナログ入力端子は、ショートしないため、線でつなぎ、プログラムのほうは、0→1に変更しました。
最後に、いつも電子工作のアドバイスをくださるF大先生に感謝の意を示します。いつもありがとう!