ATmega328P にブートローダ書込みのメモです。
使用していた、Atmega328(単体チップ)に
スケッチの書込みに失敗した為、
ブートローダの書込み調査しました。
ATmega328P-内部クロック 8MHz 仕様
で動作,スケッチ書き込める状態にします。
初期状態のAtmega328でも、
ブートローダの書込できる回路の為、
低価格デバイスの作成に利用できそうです。
[SDK]
Arduino SDK 1.0.5
電源=5V を供給する
# 部品
ATmega328P-PU / 250 [en]
http://akizukidenshi.com/catalog/g/gI-03142/
抵抗 (R): 10K
コンデンサ
20pF (picofarad) コンデンサ 2個
クリスタル 16MHz
=>
==== update:2017/12/08 =====
3V3 -8MHz 仕様を作成する場合、
8MHz クリスタル、電源= 3V3
でも書込み可能でした。
====
*) ブレボ、配線など
#準備, 必要なファイルの取得
arduino.cc の
arduino.cc/en/Tutorial/ArduinoToBreadboard
中断あたり
#[Breadboard1-0-x.zip] を取得、解凍
作業フォルダ/hardware の下に配置
#配線は上段の回路に似ていますが、
下記のページを参考にしています。
http://www3.big.or.jp/~schaft/hardware/bootloader_sketch/page003.html
# スケッチの書込みは、以前と同じ。[Arduino as ISP]
# Arduino as ISP の設定、
UNOに、[Arduino as ISP]スケッチ書き込みます。
#ArduinoISP を開く
[ファイル]-[スケッチの例]-ArduinoISP
#UNO に書込み
マイコンボード = Arduino UNO
書込み装置= AVRISP MKII でよいと思います。
シリアルポート= 接続したCOM
# マイコンボードに書込み
を実行。
# 配線
前回の、スケッチ書込み編と似ていますが
UNO使って書き込みます。
書込み装置(マイコンボード)= Arduino UNO
ターゲット MCU= Atmega328P
[Arduino as ISP]スケッチで転送します
*) 電源= 5V 結線してください
[ATmega328P-PU] - [ARDUINO UNO]
RESET - D10 ( R=10K でプルアップ )
MOSI - D11
MISO - D12
SCK - D13
VCC - 5V
GND - GND
*) クリスタルのコンデンサ= 18 - 22 pF
らしいですが、今回は 20pF セラコンを使用。
*) UNO側の[RESET] - [GND]の間に
=> 10u コンデンサは不要でした、なくても書込みできました。
# [ブートローダ書込み]
マイコンボード = ATmega328 on a breadboard (8 MHz internal clock)
書込み装置= Arduino as ISP
# [ツール]-[ブートローダを書き込む]
を実行
# スケッチを書き込む場合、
16 MHzクリスタルを外す、電源をOFF後
*) クリスタルを外さないと、タイマ(delay)がズレる場合がありました。
書込み編 :ATmega328P-PU に、スケッチを書き込む
# まとめ
ATmega よく使う場合は、毎回配線するよりも、
ブレボを1枚書込み用基板として、保管しておくのも良いかと思います。
*)書込み専用基板も販売されているようです。使ってみると良いかもですね
http://knaka0209.blogspot.jp/2015/11/iot-matome.html
0 件のコメント:
コメントを投稿