蔦箱(蔦箱)

Arduinoのエラーstk500_getsync(): not in sync: resp=0x00の解決方法

自分なりに考察してみた



Seeduino
avrdude: stk500_getsync(): not in sync: resp=0x00の解決方法

ArduinoIDEでプログラムの書き込みに失敗した時に高い頻度で出るこのエラー。
このエラーはArduinoとの通信が行えなかった場合に表示されるため、漠然としていて原因も非常に多岐に渡ります(困る・・)。

arduinoIDEエラー
↑Arduinoに書き込みを行うavrdudeがarduinoに信号を送っているものの、返信が帰ってきていない。
(ArduinoIDEの設定で通信の詳細を表示する設定にするとこれが見れます)

そこで、Arduinoと通信するまでの経路を書いてみました。
arduino書き込み経路
Arduinoと通信に失敗する原因として。
・USBケーブルがおかしいため通信失敗
・USB通信モジュールと通信失敗
・ATmegaがおかしいため通信失敗
・基板上の回路がおかしいため通信失敗
が考えられます。
軽く解決方法を記述します。

・USBケーブル
USBケーブルが断線している可能性が有るかもしれません。
断線していなくても質の悪いケーブルを利用していると通信失敗します。
ケーブルを良い物に交換してみると解決するかもしれません。

・Atmega
ArduinoIDEで指定したArduinoの型番を間違えている。もしくはAtmegaにArduino用のブートローダーが書き込まれていないと起こるかもしれません。
純正ではないArduinoの場合はArduinoIDEで間違えた基板を指定していたり、そもそもAtmegaにブートローダーが書き込まれていないことがあるので調べて見てください(ATmegaにブートローダーが書き込まれてないとArduinoとして機能しない)。
あまり無いと思いますが、ATmegaが壊れてる可能性もあるかもしれません。交換できるArduinoも存在するので交換してみると解決するかもしれません。
参考資料
これだけはやるな!Arduino Unoを破壊する10の回路


・基板上の回路
デジタルピン0,1に何かを接続している場合、接続方法によってはエラーが起こります。
Arduinoを自作した場合は基板のチェックをし直したほうがいいかもしれません。

参考資料:
Arduinoで遊ぶページ-garretlab

・USB通信モジュール
ArduinoにはUSBからの通信をマイコン書き込みの通信に変換するチップがついています。
(様々な種類がありチップ毎で通信品質やドライバーの質に差があるようです。有名なのだとFTDI FT232L)
コンピュータはこのチップを通してArduino上のATmegaと通信を行うため、コンピュータにこのチップをコントロールするドライバーをインストールする必要があります。
時々インストールしたドライバーが壊れている場合もあるので、再インストールしてみるのも良いかもしれません。

ドライバーのインストール
・PCにArduinoを接続します。
・[スタート]→[マイコンピュータを右クリック]→[プロパティ]→[左上のデバイスマネージャ]
デバイスマネージャが開くと思います。
・デバイスマネージャ上の”不明なデバイス”とポート(COMとLPT)内のデバイスを確認した後ArduinoをPCから切断します。
・Arduinoを外した時に表示が無くなったデバイスがArduinoと関連のあるデバイスと考えられます(複数存在する場合があります)。
・Arduinoと関連のあるデバイスを右クリックして”ドライバーソフトウェアの更新”を押し、ArduinoIDEのフォルダ内に存在するDriverフォルダを指定してインストールを行います。

参考資料
Arduinoで遊ぶページ-garretlab
これだけはやるな!Arduino Unoを破壊する10の回路



-サイトのコンテンツ-


記事
記事とか書きます.
新記事
新しい記事.
蔦箱(ツタハコ)
トップページ
作成物
作成した物とか置きます.
その他
適当


連絡先: