Форум ForNext.ru

Обсуждение Работ => Электроника => Topic started by: mentat-vvo on 17 Декабрь 2010, 17:37:34

Title: Ардуино-совместимое устройство X-duino
Post by: mentat-vvo on 17 Декабрь 2010, 17:37:34
Для совместимости со средой программирования устройств на микроконтроллерах Arduino требуется только совместимый загрузчик и совпадение разъемов для плат расширения, shield'ов. В моем устройстве расположение контактов несовместимо с Arduino, т.к. поддержку родных плат расширений не планирую (сделаю свои).

Про загрузчик: занимает около килобайта верхних адресов микроконтроллера для 8кб-версий и около 1700к для Мега168 (16кб флэш).
Прошивку заливает программа avrdude, который вызывается Arduino. Можно записывать свои проекты и без Arduino, напрямую через avrdude.

Тестовый проект, называемый скетчем, который моргает светодиодом, занимает около 700 байт памяти программ.
Title: Re:Ардуино-совместимое устройство X-duino
Post by: mentat-vvo on 23 Декабрь 2010, 22:31:02
Протестировал работу проекта с ATMega88@12 МГц (3.3В).
Эта микросхема более новая, чем ATMega8L, и разгон составляет 2 МГц против 4 для Mega8L.

Выкладываю makefile, исходник и код бутлодыря.
Напоминаю, что прошивка заточена под скорость загрузки скетчей 38400 бод на 12 МГц.

Для того, чтобы в среде Arduino появилась возможность создавать проекты под Mega88, нужно добавить следующие строчки в файл boards.txt:

atmega88.name=Arduino NG or older w/ ATmega88

atmega88.upload.protocol=stk500
atmega88.upload.maximum_size=7168
atmega88.upload.speed=38400

atmega88.bootloader.low_fuses=0xdf
atmega88.bootloader.high_fuses=0xca
atmega88.bootloader.extended_fuses=0x00
atmega88.bootloader.path=atmega88
atmega88.bootloader.file=ATmegaBOOT.hex
atmega88.bootloader.unlock_bits=0x3F
atmega88.bootloader.lock_bits=0x0F

atmega88.build.mcu=atmega88
atmega88.build.f_cpu=12000000L
atmega88.build.core=arduino

##############################################################


файлики с прошивкой, исходником и мэйкфайлом должны лежать в папке hardware\bootloaders\atmega88
для того, чтобы скачать файлы, необходимо зарегистрироваться
Title: Re:Ардуино-совместимое устройство X-duino
Post by: mentat-vvo on 30 Декабрь 2010, 22:58:16
В файле atmegaboot.c обнаружил ошибку (EEWE вместо EEPE). Пофиксил запись EEPROM. Чтение не влезло...
Прошивка протестирована на AtMega88@12Mhz@3.3v, 38400 kbps - полет нормальный!

Строка для записи своего .hex файла без использования среды Arduino (через avr-dude из пакета WINAVR):
C:\WinAVR-20100110\bin\avrdude -c arduino -p m88 -P com11 -b 38400 -D -U flash:w:!\!.!:i -u -q
(использую в Far, при нажатии на клавишу ENTER в МК заливается прошивка)

Выкладываю схемку последней версии платы (с Ares'а). Добавил пьезо-пищалку на один из каналов PWM (только для мега 88/168), хотя Ардуино ей пищит и на Mega8/L (нога 3 по номенклатуре Arduino).
Title: Re:Ардуино-совместимое устройство X-duino
Post by: mentat-vvo on 04 Январь 2011, 19:34:45
Добавляю 5-вольтовую версию платы и прошивку под ATmega88@5В@16МГц@38400 bps