Arduino Nano fuse BODLEVEL
- Войдите на сайт для отправки комментариев
Помогите решить проблему с включением BODLEVEL 4,3V. на Arduino Nano
Дествую следующиим образом:
1.Прошил UNO как ArduinoISP
2.Отредактировал файл настроек boards.txt. Если быть точнее изменил только настройку nano.menu.cpu.atmega328.bootloader.extended_fuses=0x05 на nano.menu.cpu.atmega328.bootloader.extended_fuses=0x04
Вырезка из board.txt:
############################################################## nano.name=Arduino Nano nano.upload.tool=avrdude nano.upload.protocol=arduino nano.bootloader.tool=avrdude nano.bootloader.unlock_bits=0x3F nano.bootloader.lock_bits=0x0F nano.build.f_cpu=16000000L nano.build.board=AVR_NANO nano.build.core=arduino nano.build.variant=eightanaloginputs ## Arduino Nano w/ ATmega328 ## ------------------------- nano.menu.cpu.atmega328=ATmega328 nano.menu.cpu.atmega328.upload.maximum_size=30720 nano.menu.cpu.atmega328.upload.maximum_data_size=2048 nano.menu.cpu.atmega328.upload.speed=57600 nano.menu.cpu.atmega328.bootloader.low_fuses=0xFF nano.menu.cpu.atmega328.bootloader.high_fuses=0xDA nano.menu.cpu.atmega328.bootloader.extended_fuses=0x04 #Биты BODLEVEL2 - BODLEVEL0 (2 - 0) как раз и устанавливают необходимое напряжение: #111 - система BOD выключена #110 - сброс при напряжении питания 1.7 - 2 В #101 - сброс при напряжении питания 2.5 - 2.9 В #100 - сброс при напряжении питания 4.1 - 4.5 В #011 - 000 - резерв nano.menu.cpu.atmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex nano.menu.cpu.atmega328.build.mcu=atmega328p ## Arduino Nano w/ ATmega168 ## ------------------------- nano.menu.cpu.atmega168=ATmega168 nano.menu.cpu.atmega168.upload.maximum_size=14336 nano.menu.cpu.atmega168.upload.maximum_data_size=1024 nano.menu.cpu.atmega168.upload.speed=19200 nano.menu.cpu.atmega168.bootloader.low_fuses=0xff nano.menu.cpu.atmega168.bootloader.high_fuses=0xdd nano.menu.cpu.atmega168.bootloader.extended_fuses=0x00 nano.menu.cpu.atmega168.bootloader.file=atmega/ATmegaBOOT_168_diecimila.hex nano.menu.cpu.atmega168.build.mcu=atmega168 ##############################################################
3. Подключил Nano к UNO, UNO к ПК.
4. Выбрал плату Arduino Nano, процессор, порт
5. В настройках выбрал прогшрамматор Arduino as ISP. Нажал "Записать загрузчик" после чего получил сообщение, что он загружен.
По идее всё здорово, но при понижении напряжения Arduino не уходит в спячку. Напряжение уронил до 2В, а он всё равно продолжает работать. Подскажите, что делаю не так?
а кто сказал что он в спячку должен ?
в строках 30-32, написано что он должен делать.
После редактирования файла boards,txt Ардуино ИДЕ перезагрузили?
Если да - поменяйте название секции boards.txt для Нано, например на "Нано-тест", перезапустите ИДЕ и убедитесь, что название платы в меню сменилось на Нано-тест. Если не сменилось - значит вы что-то не так делаете
Неправильно выразился, он сбрасывается до восстановления питания.
После редактирования файла boards,txt Ардуино ИДЕ перезагрузили?
Если да - поменяйте название секции boards.txt для Нано, например на "Нано-тест", перезапустите ИДЕ и убедитесь, что название платы в меню сменилось на Нано-тест. Если не сменилось - значит вы что-то не так делаете
Спасибо. Завтра попробую.
После редактирования файла boards,txt Ардуино ИДЕ перезагрузили?
Если да - поменяйте название секции boards.txt для Нано, например на "Нано-тест", перезапустите ИДЕ и убедитесь, что название платы в меню сменилось на Нано-тест. Если не сменилось - значит вы что-то не так делаете
Сегдоня подпаравил название Arduino Nano на Arduino Nano BOD 4.3v
Запустил среду выбрал плату Nano BOD, подключил Nano к Uno AsrduinoISP и выбрал записать загрузчик.
Дождался загрузки. После этого в Nano перезалил скетч.
К сожалению, плата продолжает функционировать даже при понижении напряжения до 2-3v.
При прошивке загрузчика начал выдавать:
avrdude: Expected signature for ATmega328P is 1E 95 0F
Double check chip, or use -F to override this check.
Ошибка при записи загрузчика.
В настройках IDE включите подробный вывод при загрузке. Там будет написана сигнатура чипа, которая считывается. Если там все нули или F, значит чип не считывается. Может проводок где отошел или контакт плохой. Или провода длинноваты и ловят помехи.
В настройках IDE включите подробный вывод при загрузке. Там будет написана сигнатура чипа, которая считывается. Если там все нули или F, значит чип не считывается. Может проводок где отошел или контакт плохой. Или провода длинноваты и ловят помехи.
Излечилось. )
Можно как-то считать fuse из Arduino? Может быть они прошиваются и дело в чем-то другом.
Вы используете фьюз 0х04 - вообще-то, это не вполне верно. По традиции, не используемые фьюзы надо выставлять в "1", а не в ноль. Для BOD=4.3 правильный фьюз будет 0xFC
ССылка: http://payalo.at.ua/c_fuse/calc.html?part=ATmega328P
Это логично. Исходил из того, что по умолчанию там стояло значение 0х05.
Поставил 0xFC, перепрошил загрузчик и не помогло
Можно как-то считать fuse из Arduino?
Можно. Удобно это делать через программу Sinaprog или Avrdudeprog.
Можно как-то считать fuse из Arduino?
Можно. Удобно это делать через программу Sinaprog или Avrdudeprog.
Скорее всего стоит защита на считываение. Все fuse при считывании 0х00.
Можно как-то считать fuse из Arduino?
Можно. Удобно это делать через программу Sinaprog или Avrdudeprog.
Скорее всего стоит защита на считываение. Все fuse при считывании 0х00.
или Sinaprog кривая, надысь собирал ручками для Atmega328PB, ссылка есть в теме