//
表示中
モノづくり, Computer - コンピューター, Electronics - 電子工作

ATmega328PにArduino Unoを使ってブートローダーを書き込む(8MHz/3.3V編)


ATmega328PにArduino Unoを使ってブートローダーを書き込むの続編です。前回はブレッドボードの上に回路を組んで、16MHzの水晶発振子を使った5V版のArduino互換のものを作りましたが、今回は8MHz/3.3V版です。I2C対応のセンサーの多くが3.3Vで、BluetoothやWi-Fiモジュールが3.3Vのものが普通ですし、3.3Vの方が電力消費が少ないので3.3Vでマイクロコントローラーを動かしたい機会が多いかもしれません。

前回と違うのは水晶発振子が16MHzから8MHzに変わっただけでそれ以外の部品と回路は同じです。

2016-04-14 13.22.47

Arduino UnoにはあらかじめArduinoISPスケッチを書き込んでおきます。その状態で上の写真のように配線し、Arduino IDEで「ツール」メニュから書き込み装置に”Arduino as ISP”を選択、同じく「ツール」メニューの「マイコンボード」は”Arduino Pro or Pro mini”、「プロセッサー」は”ATmega328 (3.3V, 8MHz)”を選択して、「ツール」メニューの「ブートローダを書き込む」を実行します。

実行結果です。

/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -P/dev/cu.usbmodem1411 -b19200 -Uflash:w:/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/bootloaders/atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex:i -Ulock:w:0x0F:m

avrdude: Version 6.0.1, compiled on Apr 14 2015 at 16:30:25
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

System wide configuration file is “/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf”
Writing | ################################################## | 100% 0.02s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xFF:
avrdude: load data lfuse data from input file 0xFF:
avrdude: input file 0xFF contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying …
avrdude: 1 bytes of lfuse verified

avrdude done. Thank you.

User configuration file is “/Users/ktsubaki/.avrduderc”
User configuration file does not exist or is not a regular file, skipping

Using Port            : /dev/cu.usbmodem1411
Using Programmer      : stk500v1
Overriding Baud Rate  : 19200
AVR Part              : ATmega328P
Chip Erase delay      : 9000 us
PAGEL                 : PD7
BS2                   : PC2
RESET disposition     : dedicated
RETRY pulse           : SCK
serial program mode   : yes
parallel program mode : yes
Timeout               : 200
StabDelay             : 100
CmdexeDelay           : 25
SyncLoops             : 32
ByteDelay             : 0
PollIndex             : 3
PollValue             : 0x53
Memory Detail         :

Block Poll               Page                      Polled
Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW  ReadBack
———– —- —– —– —- —— —— —- —— —– —– ———
eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

Programmer Type : STK500
Description     : Atmel STK500 Version 1.x firmware
Hardware Version: 2
Firmware Version: 1.18
Topcard         : Unknown
Vtarget         : 0.0 V
Varef           : 0.0 V
Oscillator      : Off
SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e950f
avrdude: NOTE: “flash” memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file “/Applications/Arduino.app/Contents/Java/hardware/arduino/avr/bootloaders/atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex”
avrdude: writing flash (32652 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 32652 bytes of flash written
avrdude: verifying flash memory against /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/bootloaders/atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex:
avrdude: load data flash data from input file /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/bootloaders/atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex:
avrdude: input file /Applications/Arduino.app/Contents/Java/hardware/arduino/avr/bootloaders/atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex contains 32652 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying …
avrdude: 32652 bytes of flash verified
avrdude: reading input file “0x0F”
avrdude: writing lock (1 bytes):

Writing | ################################################## | 100% 0.02s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x0F:
avrdude: load data lock data from input file 0x0F:
avrdude: input file 0x0F contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying …
avrdude: 1 bytes of lock verified

avrdude done. Thank you.

これでATmega328PをArduino Pro (mini) 8MHz/3.3Vとして使用できるようになりました。

前回はブートローダーの書き込み後の動作確認を行うときに、回路を一旦バラしてやり直しましたが、今回は回路を生かしてATmega328PをArduinoとして動かすための部品を追加していきました。

これがブートローダーを書き込むときの回路。このページのものと同じです。

2016-04-14 13.28.42

これが上の回路に部品や配線を追加したものです。LED以外はプラスとマイナスの向きを気にしなくて良い部品なので間違えは少ないと思います。

2016-04-14 13.37.21

これに別のブレッドボード(USBシリアル変換回路)を接続します。

右下に写っているのUSBシリアル変換モジュール(Switch Scienceさんの5V/3.3V切り替えタイプ)でピンは左からDTR、RX、TX、VCC、CTS、GNDです。ここではCTSは使っていません。USBシリアル変換モジュールはジャンパーで3.3Vに切り替えます。

arduino007

  • DTSは(0.1μFのコンデンサーを通して)ATmega328Pの1 (RESET)に
  • RXは(1KΩの抵抗を通して)ATmega328Pの3(TXD)に
  • TXは(1KΩの抵抗を通して)ATmega328Pの2(RXD)に
  • VCC(3.3V)はブレッドボードのプラス(赤い線の部分)に
  • GNDはブレッドボードのマイナス(青い線の部分)に

それぞれ接続しています。

2016-04-14 13.39.17

動作確認です。

Arduino IDEからBlinkスケッチを書き込んで実行。

2016-04-14 13.41.35

大丈夫みたいです。

前回は三端子レギュレーターを使って5V電源を作りましたが、今回は電源回路はなしの最小限の構成です。下の写真はボタン電池(1個)を使って上のスケッチを実行しているところです。

2016-04-14 14.21.33

kazz12211 について

Working as a OO programmer and enjoying music, bicycle and photography.

ディスカッション

コメントはまだありません。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

評価

ブログ統計

  • 546,054 ヒット

カテゴリー

アーカイブ

カレンダー

2016年4月
« 3月   5月 »
 12
3456789
10111213141516
17181920212223
24252627282930
%d人のブロガーが「いいね」をつけました。