ATMEGA328マイクロコントローラでブートローダを書き込む方法
はじめに
このプロジェクトを表示している場合は、Arduinoボードを使用している可能性があります。 ArduinoUNO上のAtmega328マイクロコントローラは、一定期間(または誤った接続)の後に失敗する可能性があります。 ArduinoBoardを再利用するには、ブートローダを備えた新しいAtmega328Icが必要です。 あなたがあなた自身のブートローダを書いて、それをテストしたい、またはあなたがマイクロコントローラの作業状況についての詳細を学びたい場合は、そ
警告:この種のことに慣れていない場合は、Arduinoでブートローダを調整することはお勧めしません。
ブートローダとは何ですか?
簡単に言えば、ブートローダは、コードの小さな部分(で実行可能なコードです。マイクロコントローラのメモリに存在するhex形式)。 Arduinoのブートローダは、USBケーブルを使用して、シリアルポートを介してArduinoをプログラムすることができます。
Arduinoのブートローダの仕事は、コンピュータからコードを受け取り、それをマイクロコントローラのメモリに入れることです。
なぜブートローダが必要なのですか?
伝統的に、ATMEL ATMEGA328MCUのようなマイクロコントローラは、専用のプログラマの助けを借りてプログラムされています。 ブートローダは、この複雑さを排除し、USBケーブルを使用して、つまり、マイクロコントローラをプログラミングする簡単な方法を提供します。
ブートローダはプログラマブルフラッシュメモリの特別な安全な場所にあります。 マイクロコントローラは、通常、1KB未満のメモリを占有します。
ATMEL ATMEGA328でブートローダーを書き込むには何が必要ですか?
前述したように、新しいATMEGA328マイクロコントローラICにプログラムをアップロードする場合は、特別なプログラマを使用する必要があります(ヒューズビット しかし、ATMEGA328チップにブートローダを書き込む場合は、シリアルポート(USBケーブル)を介してマイクロコントローラをプログラムするだけです。
ATMEGA328マイクロコントローラがブートローダの準備ができたら、単にそれを使用することができます。 独自のArduinoボードを作成する予定の場合は、Arduinoボードとして(代替として)使用するか、マイクロコントローラとして使用してください。
ATMEGA328でブートローダを書き込む方法は?
ATMEGA328ICでブートローダを書き込む方法はいくつかあります。 最初の方法は、専用のAVRプログラマハードウェアを使用することです。 第二の方法は、プログラマとして作業Arduinoボードを使用し、ターゲットArduino ATMEGA328マイクロコントローラ上のブートローダを書き込むことです。
このプロジェクトでは、第二の方法、すなわちarduinoをプログラマとして使用する方法を使用します。
回路図
Arduinoマイクロコントローラを使用してATMEGA328でブートローダを書き込むための回路図を以下に示します。
ATMEGA328マイクロコントローラのピン図は以下の通りです。
必要なコンポーネント
ArduinoUNO
ATMEGA328マイクロコントローラIC
16mhzクリスタル
22pfx2セラミックコンデンサ
10k ω抵抗
ボタン
330ω抵抗
led
ブレッドボード
ワイヤを接続
5v電源
atmega328データシートでブートローダをプログラミングするプロセス。
先に述べたように、ArduinoUNOはここでAVRプログラマとして使用されています。 これを達成するためには、”ArduinoISP”と呼ばれるあなたの働くArduinoUNO板に特別なプログラムをアップロードしなければならない。
接続を確立する前に、作業中のArduinoを接続してUSBケーブルを使用してUNOをコンピュータに接続し、ArduinoIDEで適切なボードとポートを選択します。
今、ArduinoISPに行きます。 このコードをArduinoUNOにアップロードして、ArduinoUNOボードをAVRISPプログラマに変換します。
この手順を完了したら、必要な接続を行います(そうでない場合)。 次に、Tools>Programmerに移動し、”ArduinoasISP”オプションを選択します。 この後、ブートローダを書き込む準備が整いました。
“ツール”に移動し、”BurnBootloader”をクリックします。 ターゲットのATMEGA328マイクロコントローラは、ブートローダを使用してプログラムされます。
ATMEGA328パッケージに画像をアップロード
ブートローダをAtmega328マイクロコントローラにアップロードした後、テストスケッチをアップロードし続けることができます。 これを行うには、以前と同じ接続を維持し、BlinkSketchなどのスケッチを開きます。
オプションを変更しないでください。 次に、キーボードの”Shift”ボタンを押したまま、”Upload”アイコンをクリックします。 これにより、ArduinoUNOをプログラマとして使用してATMEGA328マイクロコントローラICにスケッチをアップロードします。
この操作が完了したら、ArduinoUNOをATMEL ATMEGA328マイクロコントローラから切断し、atmega328ICをスタンドアロンデバイスとして使用してBlinksketchを実行することができます。
次の図は、ArduinoUNOの助けを借りてアップロードした後にBlinksketchを実行しているATMEGA328マイクロコントローラを示しています。
注:ArduinoUNOにコードをアップロードするには、プログラマを”AVRISPmkII”に戻すようにしてください。
結論
このプロジェクトでは、ATMEGA328マイクロコントローラICでブートローダを書き込む方法を示しました。 追加のオプションとして、ArduinoUNOを使用してArduinoスケッチをブートローダでATMEGA328にアップロードする方法も示しました。