Замена кварца на AVR 328
- Войдите на сайт для отправки комментариев
Пт, 12/05/2017 - 21:46
Какие проблемы могут вылезти при замене кварца 16МГц на 8 Мгц на AVR 328P ?
Достаточно просто залить новый bootloader или нужно перерасчитывать установливать фьюзы с риском заблокировать или повредить контроллер?
во время заливки лоадера средствами ИДЕ Дуино, фьюзы перешьются автоматически.
*какие проблемы? -
дураки и дорогитупость и кривые руки.Такой порядок правильный?
1) поменять кварц с 16 на 8
2) установить в IDE Arduino старый тип платы c частотой 16 и через ISP залить botloader для 8 Мгц ?
А встроенные 8мегагерц не устраивают?
PS: дополнительный вопрос, на плате стоит smd кварц, но поскольку он 4-ногий закралось сомнение что это не резонатор, а генератор или такое совершенно исключено в целях экономии ?
SQwix, а зачем вам вообще потребовалось 8МГц ? Было бы понятно, ежели б например 7,3728. Ага ,значит товарищ мутит точные тайминги куда-то. А зачем 8 ? :)
8 или даже 4 для энергосбережения, а частоты 7,3728 нет в меню плат IDE или я не знаю как добавить. Купил кварц на 8 в корпусе DIP. Легче припяаять его в UNO (DIP), чем на SMD место то-ли резонатора то-ли генератора Pro mini, но опять же нет такого пункта меню для UNO 8. Читал в другой теме Ваш пост про однотипность UNO, Nano и Mini . У них МК одинаковые 328P.
1. Можно в UNO залить bootloader от Pro mini 8 ?
2. Насчет точности таймингов не знаю, внешних устройств всего 2: термодатчик и NRF24L. C 4 или 8 они будут беспроблемно работать ?
Погуглите, есть файлик с описаниями платы, делаете в нем описание своей платы и все появляется в меню "на раз".
нашел здесь https://mysku.ru/blog/aliexpress/22070.html , но почему 8МГц 5 Вольт. Желательно 2 - 3.3 В это возможно ?
1
В панельку Arduino вставляем наш микроконтроллер.
2
Далее качаем и устанавливаем драйвер для программатора. Запускам стандартную ArduinoIDE, выбираем в меню «Сервис->Программатор->USBasp», плату ArduinoUNO и нажимаем «Записать загрузчик». После окончания процесса загрузки мы получаем контроллер, такой же как и в UNO, в который можно уже в дальнейшем заливать программы через стандартный USB Ардуины.
3
Далее мне захотелось использовать встроенный кварцевый резонатор на 8МГц, чтобы иметь минимум деталей на плате.
4
Открываем файл с описанием микроконтроллера c:\Program Files (x86)\Arduino\hardware\arduino\boards.txt
5
Копируем блок с Uno и правим в нм Фьюзы. Это специальные биты для настроки контроллера. Прочитать про них можно здесь. Сконфигурировать при помощи онлайн-калькулятора. Загрузив в калькулятор значения от UNO я устанавливаю стандартное значение с встроенным кварцем на 8МГц.
6
Затем заменяю значение в файле с описанием плат и получаю такое описание:
01
atmega328_8.name=Atmega328 (5V, 8 MHz
internal
)
02
03
atmega328_8.upload.protocol=arduino
04
atmega328_8.upload.maximum_size=30720
05
atmega328_8.upload.speed=57600
06
07
atmega328_8.bootloader.low_fuses=0xE2
08
atmega328_8.bootloader.high_fuses=0xDE
09
atmega328_8.bootloader.extended_fuses=0x05
10
atmega328_8.bootloader.path=optiboot
11
atmega328_8.bootloader.file=optiboot_atmega328.hex
12
atmega328_8.bootloader.unlock_bits=0x3F
13
atmega328_8.bootloader.lock_bits=0x0F
14
15
atmega328_8.build.mcu=atmega328p
16
atmega328_8.build.f_cpu=8000000L
17
atmega328_8.build.core=arduino
18
atmega328_8.build.variant=standard
калькулятор фьюзов http://www.engbedded.com/fusecalc
SQwix, если вы недостаточно сильны в разных нюансах прошивки и прописки МК в конфигах, то вам лучше пойти по самому простому пути. Поменять кварц на 8Мгц, затем выбрать в настройках плату промини 8МГц и прошить её бутлоадер программатором. Любые другие варианты непременно вызовут у вас дополнительные сложности, которые вы возможно не в силах будете решить. Но ещё лучше просто взять плату на 8МГц. Ибо бы боретесь за энергосбережение, а платы уно/нано питают ещё и конвертер USB-UART, который просто так не выключить.
Вы правы, у меня недостаточно знаний и опыта. Сначала хотел переделать Pro mini, но не могу разобраться стоит на нем SMD кварц резонатор с 4 выводами или это генератор? Кварц на 8 удалось купить DIP
Если подскажете готовый пример, пожалуй попробую сначала переделать UNO на 8, а потом буду "мучить" Pro mini.
dimax, если позволите спрошу еще: после этих действий (см ниже) IDE Arduino сама скомпилирует новый bootloader для UNO 328P 8 Мгц и останется его загрузить через ISP ?
1
Открываем файл с описанием микроконтроллера c:\Program Files (x86)\Arduino\hardware\arduino\boards.txt
2
Копируем блок с Uno и правим в нм Фьюзы. Это специальные биты для настроки контроллера. Прочитать про них можно здесь. Сконфигурировать при помощи онлайн-калькулятора. Загрузив в калькулятор значения от UNO я устанавливаю стандартное значение с встроенным кварцем на 8МГц.
3
Затем заменяю значение в файле с описанием плат и получаю такое описание:
но почему 8МГц 5 Вольт. Желательно 2 - 3.3 В это возможно ?
Судя по графику 29-1 в разделе 29.3 даташита, минимальное напряжение для 8 МГц - 2,4 вольта.
ЕвгенийП, Вы правы. Если нацелиться на 8 Мгц 3,3В , то каую конфигурацию ( http://arduino.ru/forum/apparatnye-voprosy/zamena-kvartsa-na-avr-328#com... ) описать для UNO?
01
atmega328_8.name=Atmega328 (5V, 8 MHz
internal
)
02
03
atmega328_8.upload.protocol=arduino
04
atmega328_8.upload.maximum_size=30720
05
atmega328_8.upload.speed=57600
06
07
atmega328_8.bootloader.low_fuses=0xE2
08
atmega328_8.bootloader.high_fuses=0xDE
09
atmega328_8.bootloader.extended_fuses=0x05
10
atmega328_8.bootloader.path=optiboot
11
atmega328_8.bootloader.file=optiboot_atmega328.hex
12
atmega328_8.bootloader.unlock_bits=0x3F
13
atmega328_8.bootloader.lock_bits=0x0F
14
15
atmega328_8.build.mcu=atmega328p
16
atmega328_8.build.f_cpu=8000000L
17
atmega328_8.build.core=arduino
18
atmega328_8.build.variant=standard
ЕвгенийП, Вы правы. Если нацелиться на 8 Мгц 3,3В , то каую конфигурацию ( http://arduino.ru/forum/apparatnye-voprosy/zamena-kvartsa-na-avr-328#com... ) описать для UNO?
Не знаю. У меня есть нано и мега, которые я использую ТОЛЬКО для "по быстрому попробовать" и для занятий с внуком. Как только я делаю что-то чуть серьёзнее, чем "по быстрому попробовать", я использую голые микросхемы контроллеров, а не собранную Ардуино и авр-студию, а не IDE. Так что с настройкой плат в IDE я просто никогда не сталкивался вообще.
ЕвгенийП, Вы правы. Если нацелиться на 8 Мгц 3,3В , то каую конфигурацию
их там много...