Ардуино без кварца

Ардуино без кварца

На большинстве плат ARDUINO с микроконтроллером ATMega238P установлен кварцевый резонатор 16 MHz. Микроконтроллер ATMega238P может работать на любой частоте вплоть до 16 МГц, в том числе и с внутренним RC-генератором на частоте 8 MHz.

Микроконтроллер ATMega238P полноценно может быть запрограммирован в среде Arduino IDE будучи настроенным на частоту 8 МГц с внутренним RC-генератором.

Приведём пример превращения Arduino UNO с микроконтроллером ATMega238P работающем на частоте 16 МГц в Arduino с микроконтроллером ATMega238P работающем на частоте 8 МГц без кварцевого резонатора. Наметим план работ:

  1. Прописать в файле конфигурации Arduino IDE (boards.txt) параметры платы Arduino с ATMega238P на 8 МГц.
  2. Подключить к плате Arduino UNO программатор USBasp.
  3. Записать в плату Arduino UNO загрузчик, способный работать на микроконтроллере с частотой 8 МГц.
  4. Проверить работоспособность изделия (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 МГц без кварцевого резонатора. Наметим план работ:

  1. Прописать в файле конфигурации Arduino IDE (boards.txt) параметры платы Arduino с ATMega238P на 8 МГц.
  2. Подключить к плате Arduino UNO программатор USBasp.
  3. Записать в плату Arduino UNO загрузчик, способный работать на микроконтроллере с частотой 8 МГц.
  4. Проверить работоспособность изделия (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 дня мучаюсь(

Источник

Adblock
detector