Metaboard
Эта страница является переводом оригинального текста: http://metalab.at/wiki/Metaboard
Что такое Metaboard?
Metaboard - это плата для прототипизации на основе МК Atmel AVR с поддержкой USB. В основном, она совместима с Arduino. Весь проект (аппаратная и программная части) является открытым.
Цели проекта
- Простота и минимальная цена;
- Односторонняя печатная плата для домашнего воспроизведения. Для профессионального производства односторонние платы обходятся дешевле;
- Отсутствие SMD-компонентов (для сборки в домашних условиях);
- Максимальная совместимость с Arduino в плане размеров и расположения разъемов. Также может программироваться при помощи ArduinoIDE через USB;
- Отсутствуют начальные расходы на средства разработки и программаторы;
- Макетное поле прямо на плате;
- Полностью открытый код.
Hardware
Поскольку USB реализован программно, выделенный USB-чип не требуется. Схема:
Самая последняя версия Metaboard всегда доступна через SVN: https://whatever.metalab.at/user/cs/metaboard/trunk.
Подготовленный для чтения архив с PNG-рисунками схемы, разводки и схемы монтажа элементов может быть скачан здесь.
Download: metaboard-1.0.zip
Firmware
Metaboard лучше всего использовать с USBaspLoader-ом. Это бутлоадер, который эмулирует USBasp, USB-программатор для микроконтроллеров Atmel/AVR. Основаная программа может быть, разумеется, любой.
Ресурсы разработчика
Metaboard можно использовать как с помощью GCC toolchain, так и с ArduinoIDE. Arduino также предлагает набор примеров, документацию и имеет дружественную к начинающим коммьюнити. Поскольку Metaboard несколько отличается от плат Arduino, не все примеры проектов могут быть использованы без модификаций. Мы планируем подготовить несколько примеров использования исключительно для Metaboard.
GCC toolchain можно скачать здесь:
- Windows: http://winavr.sourceforge.net/
- Mac OS X: http://www.obdev.at/avrmacpack/
- Linux и другие Unix-ы: см. http://www.nongnu.org/avr-libc/user-manual/install_tools.html
Примеры проектов на GCC можно найти здесь: http://www.obdev.at/avrusb/. Поскольку эти примеры были разработаны не для Metaboard, перед использованием придется изменить назначение пинов и определение тактовой частоты.
Все ресурсы, относящиеся к Arduino можно найти по адресу http://www.arduino.cc/. Если вы хотите использовать порт USB в окружении Arduino, обратитесь к проекту http://code.rancidbacon.com/ProjectLogArduinoUSB.
Metaboard для пользователей Arduino
Metaboard был задуман как максимально совместимый с Arduino, но все-таки имеется ряд отличий:
- Размещение разъемов: все разъемы выровнены по сетке 2.54 mm, чтобы платы расширения можно было делать на обычной макетке;
- Процедура загрузки скетча: Бутлоадер активизируется после нажатия на сброс при замкнутом джампере;
- Протокол загрузки: Metaboard эмулирует USBasp, а не STK500.
- Линии UART не подключены к USB, это означает, что они могут быть использованы для любых целей, но отладочный вывод, посылаемый в UART, нельзя полуичить через USB.
Для того, чтобы загружать скетчи через Arduino's IDE, необходимо изменить файл hardware/boards.txt в каталоге установки ArduinoIDE. Добавьте следующие строки в конец этого файла:
############################################################## metaboard.name=Metaboard metaboard.upload.protocol=usbasp metaboard.upload.maximum_size=14336 metaboard.upload.speed=19200 metaboard.build.mcu=atmega168 metaboard.build.f_cpu=16000000L metaboard.build.core=arduino metaboard.upload.disable_flushing=true ##############################################################
Поскольку Arduino требует наличия последовательного порта для загрузки firmware (а usbasp - нет), может потребоваться вручную отредактировать файл preferences.txt и установить переменную serial.port в значение какого-либо существующего порта. Preferences.txt находится в ~/Library/Arduino на Mac. Обновлено фев. 2010: Должно работать без проблем с опцией disable_flushing-option
Проекты на основе Metaboard
AVRProg внутрисхемный программатор (ISP) для МК AVR microcontrollers. Имеет сокеты для 8, 20 и 28-ногих микросхем. |
Metaboard/2010_activities концентрируется на расширении metaboard для целей домашней автоматизации.
MHVBoard клон Metaboard с некоторыми расширениями.