Ардуино без кварца
На большинстве плат ARDUINO с микроконтроллером ATMega238P установлен кварцевый резонатор 16 MHz. Микроконтроллер ATMega238P может работать на любой частоте вплоть до 16 МГц, в том числе и с внутренним RC-генератором на частоте 8 MHz.
Микроконтроллер ATMega238P полноценно может быть запрограммирован в среде Arduino IDE будучи настроенным на частоту 8 МГц с внутренним RC-генератором.
Приведём пример превращения Arduino UNO с микроконтроллером ATMega238P работающем на частоте 16 МГц в Arduino с микроконтроллером ATMega238P работающем на частоте 8 МГц без кварцевого резонатора. Наметим план работ:
- Прописать в файле конфигурации Arduino IDE (boards.txt) параметры платы Arduino с ATMega238P на 8 МГц.
- Подключить к плате Arduino UNO программатор USBasp.
- Записать в плату Arduino UNO загрузчик, способный работать на микроконтроллере с частотой 8 МГц.
- Проверить работоспособность изделия (Arduino с ATMega328P на 8 МГц).
Файл boards.txt можно найти в папке /arduino-1.8.12/hardware/arduino/avr вашего дистрибутива Arduino IDE. Допишем в этот файл следующие строки:
Подключим к плате Arduino пока ещё UNO программатор USBasp. На плате Arduino UNO есть разъём ICSP 6 pin а на программаторе USBasp разъём 10 pin. Если нет переходника, подключаем по схеме:
Запускаем Arduino IDE и в меню Инструменты / Плата выбираем плату «Arduino 328P 8MHz int». В меню Инструменты / Программатор выбираем «USBasp». Записываем загрузчик — меню Инструменты / Записать загрузчик. Одновременно с записью загрузчика в микроконтроллер будут записаны фьюзы L:0xE2 H:0xDA E:0xFD
Теперь микроконтроллер может работать без платы Ардуино, а программировать его можно всё так же на плате Ардуино в программе Ардуино.
Arduino.ru
Прожиг загрузчика на ATmega328p-au без кварца
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Не могли бы помочь с прошивкой данного микроконтроллера?
Есть arduino uno на atmega328p-au
Есть микроконтроллер atmega328p-au.
Нужно залить на второй загрузчик arduino.
Подключал по этой схеме:
На саму arduino залил ArduinoISP и программатор выбрал Arduino as ISP.
Плату выбрал такую без внешнего кварца.
Пытаюсь залить бутлодер, пишет:
avrdude: Yikes! Invalid device signature.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
В настройках Arduino IDE включите подробный вывод информации при загрузке. Там будет написано, какая сигнатура считалась. Если там будут нули — либо где-то плохой контакт, либо слишком большая частота SPI и нужно понижать (т.к. новый МК тактируется всего на 1МГц). Например в программаторе USBasp для этого есть джампер JP3. А тут нужно смотреть в скетче ArduinoISP.
Тема: Нужен ли кварц?
Опции темы
Поиск по теме
Отображение
Нужен ли кварц?
Подскажите, а если у меня ардуино прошитая, но МК я хочу перенести на на отдельную плату, будет ли он работать без кварца который стоит в ардуине? иль все таки нужен?
P.S. в коде в основном только if, while и т.п. различных таймеров и подобного нет.
Re: Нужен ли кварц?
МК будет работать без кварца, если ты ему выставишь соответствующие фьюзы. Учти, что при этом тактовая частота перестанет быть стабильной и упадет с 16 мегагерц минимум до 8. Поэтому сразу возникнут проблемы со всем, что касается временных задержек — обмен с любыми внешними устройствами (компом и пр). Соответственно, родной ардуиновский загрузчик уже не сможет общаться с компом, скорее всего, либо у него изменится необходимая скорость COM порта.
Новые МК AVR идут с фьюзами, , включающими работу от встроенной RC цепочки и частота выставленна 1МГц.
Re: Нужен ли кварц?
Ок, а если я в новую АВРку залью hex файл прошивки скомпилированный под ардуино т.е. с бутлоадером?
Который создается во временных файлах во время проверки кода
Последний раз редактировалось Ant1Player; 11.07.2011 в 03:08 .
Re: Нужен ли кварц?
Не важно где компилируется проект, он бутлоадера не содержит.
Бутлоадер — это специальный код, расположенный в верхних адресах флеша avr’ки. Этот код позволяет грузить прошивки в остальную часть флеша и записывать eeprom.
Так вот бутлоадер от arduino на avr контроллере без кварца корректно работать не будет, точнее с компом общаться обычным образом не сможет.
Однако, если прошивка не общается с компом и другими устройствами по протоколам, сильно завязанным на время (uart (используется в com портах), 1-wire, инфракрасные пульты, сервы и тп), и замедление работы всего МК в два раза не будет препятствием, то можно прошить мегу нужной прошивкой, изменить fuses и наслаждаться работой меги без кварца.
Для изменения fuses потребуется программатор. В качестве него может выступать ардуина с распаянным разъемом X3, либо ардуина с правильной прошивкой (тут где-то такая обсуждалась).
Для того, чтобы понять что нужно выставить в fuses, рекомендую искать «калькулятор fuses avr» в поисковике. Затем получить уже прошитые в МК fuses (для этого нужен программатор), вбить их в калькулятор, изменить способ тактирования в калькуляторе и вбить прошить новые значения в МК (опять нужен тот же программатор).
Реально дел на 2 минуты, если есть чем прошить МК.
Ардуино без кварца
На большинстве плат ARDUINO с микроконтроллером ATMega238P установлен кварцевый резонатор 16 MHz. Микроконтроллер ATMega238P может работать на любой частоте вплоть до 16 МГц, в том числе и с внутренним RC-генератором на частоте 8 MHz.
Микроконтроллер ATMega238P полноценно может быть запрограммирован в среде Arduino IDE будучи настроенным на частоту 8 МГц с внутренним RC-генератором.
Приведём пример превращения Arduino UNO с микроконтроллером ATMega238P работающем на частоте 16 МГц в Arduino с микроконтроллером ATMega238P работающем на частоте 8 МГц без кварцевого резонатора. Наметим план работ:
- Прописать в файле конфигурации Arduino IDE (boards.txt) параметры платы Arduino с ATMega238P на 8 МГц.
- Подключить к плате Arduino UNO программатор USBasp.
- Записать в плату Arduino UNO загрузчик, способный работать на микроконтроллере с частотой 8 МГц.
- Проверить работоспособность изделия (Arduino с ATMega328P на 8 МГц).
Файл boards.txt можно найти в папке /arduino-1.8.12/hardware/arduino/avr вашего дистрибутива Arduino IDE. Допишем в этот файл следующие строки:
Подключим к плате Arduino пока ещё UNO программатор USBasp. На плате Arduino UNO есть разъём ICSP 6 pin а на программаторе USBasp разъём 10 pin. Если нет переходника, подключаем по схеме:
Запускаем Arduino IDE и в меню Инструменты / Плата выбираем плату «Arduino 328P 8MHz int». В меню Инструменты / Программатор выбираем «USBasp». Записываем загрузчик — меню Инструменты / Записать загрузчик. Одновременно с записью загрузчика в микроконтроллер будут записаны фьюзы L:0xE2 H:0xDA E:0xFD
Теперь микроконтроллер может работать без платы Ардуино, а программировать его можно всё так же на плате Ардуино в программе Ардуино.
Arduino.ru
Atmega168pa-au без кварца и RC цепи
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Возникла потребность прошить Atmega168pa-au, без кварца и RC цепи, используя внутренний генератор.
Долго искал bootloader-ы для нее, но так и не нашел, подскажите, пожалуйста, может кто сталкивался.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
зачем именно бутлоадер? будете в терминал что то отправлять?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Причем тут терминал и загрузчик ? )
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Причем тут терминал и загрузчик ? )
блин точно. туплю. не проснулся еще
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
2MaksMS Спасибо огромное, выиручил!)
2jeka_tm Устройство находится в разработке, плата разведена без разъема ISP, провода накинул сверху, не хотелось бы все время в процессе разработки мучится с Arduino Uno как ISP программатором)
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
так можно же нормальный программатор использовать USBASP но дело ваше
я юзаю мегу 8, и тратить память на бутлоадер не хочется
хотя обычно на бутлоадер место есть, и отлаживать проще. может снова бутлоадер буду испльзовать. посмотрим
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
МБ кому пригодится. хотя хз:
В версии 1.0.5 в папке atmega есть бутлоадер ATmegaBOOT_168_atmega328.hex который подходит и для 168 и 328, что ясно из названия, но сайт с конструктором все-таки пригодился: с помощью калькулятора фьюзов выставил нужные фьюзы и все работает))
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Добрый день, я попытался прошить атмегу 168 с флюзами:
a168_8MHz.name=atmega168 (8 MHz)
a168_8MHz.upload.protocol=arduino
a168_8MHz.upload.maximum_size=15872
a168_8MHz.upload.speed=115200
a168_8MHz.bootloader.low_fuses=0xe2
a168_8MHz.bootloader.high_fuses=0xde
a168_8MHz.bootloader.extended_fuses=0x4
a168_8MHz.bootloader.path=optiboot
a168_8MHz.bootloader.file=ATmegaBOOT_168_atmega328.hex
a168_8MHz.build.mcu=atmega168
a168_8MHz.build.f_cpu=8000000L
a168_8MHz.build.core=arduino
a168_8MHz.build.variant=standard
bootloader зашился, но микросхема при этом все равно не работает. Зашивал обратно родной bootloader, все работает, а без кварца никак не могу запустить микросхему, уже 2 дня мучаюсь(