Author Topic: Ардуино-совместимое устройство X-duino  (Read 12672 times)

0 Members и 1 Гость смотрят эту тему.

Offline mentat-vvo

  • Администратор
  • Пользователь
  • *****
  • Posts: 895
  • Карма: +32/-0
  • the grid
    • www.fornext.ru
Ардуино-совместимое устройство X-duino
« on: 17 Декабрь 2010, 17:37:34 »
Для совместимости со средой программирования устройств на микроконтроллерах Arduino требуется только совместимый загрузчик и совпадение разъемов для плат расширения, shield'ов. В моем устройстве расположение контактов несовместимо с Arduino, т.к. поддержку родных плат расширений не планирую (сделаю свои).

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

Тестовый проект, называемый скетчем, который моргает светодиодом, занимает около 700 байт памяти программ.
« Last Edit: 05 Январь 2011, 13:42:07 by mentat-vvo »

Offline mentat-vvo

  • Администратор
  • Пользователь
  • *****
  • Posts: 895
  • Карма: +32/-0
  • the grid
    • www.fornext.ru
Re:Ардуино-совместимое устройство X-duino
« Reply #1 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
для того, чтобы скачать файлы, необходимо зарегистрироваться
« Last Edit: 30 Декабрь 2010, 23:31:21 by mentat-vvo »

Offline mentat-vvo

  • Администратор
  • Пользователь
  • *****
  • Posts: 895
  • Карма: +32/-0
  • the grid
    • www.fornext.ru
Re:Ардуино-совместимое устройство X-duino
« Reply #2 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).
« Last Edit: 25 Февраль 2011, 16:00:59 by mentat-vvo »

Offline mentat-vvo

  • Администратор
  • Пользователь
  • *****
  • Posts: 895
  • Карма: +32/-0
  • the grid
    • www.fornext.ru
Re:Ардуино-совместимое устройство X-duino
« Reply #3 on: 04 Январь 2011, 19:34:45 »
Добавляю 5-вольтовую версию платы и прошивку под ATmega88@5В@16МГц@38400 bps
« Last Edit: 09 Январь 2011, 00:41:21 by mentat-vvo »