Плата ARCAdaptor — это основа для быстрого и простого создания собственных USB HID устройств. В конфигурации по умолчанию ARCAdaptor не требует дополнительной настройки и готов к использованию сразу после подключения к компьютеру.
ARCAdaptor базируется на популярном микроконтроллере ATMega8 и фактически является конструктором для создания собственных USB-устройств.
C помощью ARCAdaptor можно:
Создавать собственные клавиатуры или джойстики с помощью онлайн-редактора "прошивок".
Использовать уже написанные "прошивки", совместимые с ARCAdaptor. С ним совместимы (проверено!) проекты PixelKit, 4SNES4NES и USBJoy, позволяющие подключать к современному компьютеру или планшету геймпады от Dendy, Sega, Sony PlayStation.
Загружать в плату программы-скетчи для Arduino и запускать их.
Создавать собственные микропрограммы ("прошивки") для микроконтроллера ATmega8 и отлаживать их без использования программатора.
Плата поставляется в 3 вариантах:
Собранное и готовое к работе устройство с "прошивкой" по умолчанию.
Набор деталей для самостоятельной сборки: плата и детали, в том числе чистый микроконтроллер.
Только плата (без деталей) для самостоятельной комплектации и сборки.
Сборка и подготовка к работе описана в разделе Самостоятельная сборка ARCAdaptor.
ARCAdaptor подключается к USB-порту компьютера или даже планшета(*) , и питается от этого же порта. Если используется микропрограмма ("прошивка") по умолчанию, то никаких драйверов для работы не требуется.
(*) Примечание: На планшете/телефоне требуется поддержка функции USB-host и поддержка HID-устройств. Большинство планшетов оснащены подобным функционалом.
На рисунке ниже показаны разъемы платы с обозначением контактов.
Контакт ARCAdaptor | № контакта ATmega8 | Наименование контакта | Комментарий |
---|---|---|---|
X1 | |||
1 | 17 | PB5 (SCK) | |
2 | GND | Общий (земля) | |
3 | 16 | PB4 (MISO) | |
4 | GND | Общий (земля) | |
5 | 23 | PC0 (ADC0) | |
6 | GND | Общий (земля) | |
7 | 24 | PC1 (ADC1) | |
8 | GND | Общий (земля) | |
9 | 25 | PC2 (ADC2) | |
10 | GND | Общий (земля) | |
11 | 26 | PC3 (ADC3) | |
12 | GND | Общий (земля) | |
13 | 27 | PC4 (ADC4/SDA) | |
14 | GND | Общий (земля) | |
15 | 28 | PC5 (ADC5/SCL) | |
X2 | |||
1 | 11 | PD7 (AIN1) | |
2 | GND | Общий (земля) | |
3 | 2 | PD4 (XCK/T0) | |
4 | GND | Общий (земля) | |
5 | 12 | PB0 (ICP) | |
6 | GND | Общий (земля) | |
7 | 10 | PD6 (AIN0) | |
8 | GND | Общий (земля) | |
9 | 9 | PD5 (T1) | |
10 | GND | Общий (земля) | |
11 | 13 | PB1 (OC1A) | |
12 | GND | Общий (земля) | |
13 | 14 | PB2 (SS/OC1B) | |
14 | GND | Общий (земля) | |
15 | 15 | PB3 (MOSI/OC2) | |
X3 | |||
1 | 1 | PD3 (INT1) | Режим PRG |
2 | GND | Общий (земля) | |
3 | 31 | PD1 (TXD) | |
4 | GND | Общий (земля) | |
5 | 29 | PC6 (RESET) | Сброс |
6 | GND | Общий (земля) | |
7 | GND | Общий (земля)* | |
8 | GND | Общий (земля)* | |
9 | VCC | +5V* | |
10 | VCC | +5V* |
(*) Примечание: Контакты 7,8,9,10 разъема X3 целесообразно использовать для питания платы без использования USB (автономные устройства) и/или для питания подключаемых к ARCAdaptor устройств.
Подключение осуществляется с помощью стандартного кабеля USB-A – USB-B.
После автоконфигурации платы в системе появится 3 новых устройства – клавиатура и 2 джойстика.
"Прошивка" по умолчанию создана на основе проекта V-USB MAME Panel. Автор: Andreas Oberdorfer, страница проекта находится здесь.
Как сказано выше, после подключения ARCAdaptor к компьютеру, в системе появится 3 новых устройства:
Клавиатура
Джойстик №1
Джойстик №2
V-USB MAME Panel изначально задумывалась, как основа для создания домашнего игрового автомата, работающего под управлением программы MAME32. Привязка контактов ARCAdaptor выполнена исходя из этого замысла.
Контакт ARCAdaptor | Обычный режим | Режим c включенным Shift |
---|---|---|
X1 | ||
1 | JOYSTICK1 — UP | KEY_UpArrow |
3 | JOYSTICK1 — DOWN | KEY_DownArrow |
5 | JOYSTICK1 — LEFT | KEY_LeftArrow |
7 | JOYSTICK1 — RIGHT | KEY_RightArrow |
9 | JOYSTICK1 — BUTTON1 | KEY_Enter |
11 | JOYSTICK1 — BUTTON2 | KEY_Esc |
13 | JOYSTICK1 — BUTTON3 | KEY_Tab |
15 | KEY "1" | KEY_P |
X2 | ||
1 | JOYSTICK2 — UP | KEY_PageUp |
3 | JOYSTICK2 — DOWN | KEY_PageDown |
5 | JOYSTICK2 — LEFT | AC_VolumeDown |
7 | JOYSTICK2 — RIGHT | AC_VolumeUp |
9 | JOYSTICK2 — BUTTON1 | KEY_F7 |
11 | JOYSTICK2 — BUTTON2 | KM_SHIFT_F7 |
13 | JOYSTICK2 — BUTTON3 | KM_ALT_F4 |
15 | KEY "2" | AC_Mute |
X3 | ||
1 | KEY_5/PRG (cointrigger) | KEY_5/PRG (cointrigger) |
3 | SHIFT | SHIFT |
5 | RESET | RESET |
Некоторые пояснения. Служебный контакт SHIFT (см. таблицу контактов), при замыкании на "землю" (GND), позволяет задействовать дополнительные 17 контактов. Например, если ряд контактов задействован для джойстика, то при замкнутом SHIFT контакты уже работают как кнопки клавиатуры — "стрелка вверх", "вниз", "влево", "вправо". Контакт COINTRIGGER может работать для перевода устройства в режим программирования.
Для получения представления, о том как всё это работает, выполним простой опыт.
Понадобится два отрезка монтажного провода и обычная кнопка, работающая на замыкание (хотя, можно обойтись и без неё). Выполните следующие действия:
Припаяйте отрезки провода к контактам кнопки и облудите или скрутите свободные концы провода, чтобы они не "лохматились" и беспрепятственно входили в разъём устройства.
Один из отрезков провода вставьте в ряд контактов "земля" (чётный) разъема X1.
Подключите устройство к компьютеру (второй отрезок все еще не подключен).
Перейдите в режим тестирования джойстиков. Например для Windows 7 или Windows 8 выполните следующую последовательность действий: Панель Инструментов → Устройства и принтеры. В окне появится список устройств, подключенных к компьютеру. Выберите "Arcadaptor 8" и кликните правой кнопкой мыши по значку (на нем изображена клавиатура).
Нажмите кнопку "Свойства". Появится окно тестирования и настройки джойстика.
Поочередно замыкайте контакты нечетного ряда X1. На компьютере будет отображаться активность:
Оригинальная программа V-USB MAME Panel была изменена таким образом, чтобы позволить назначать другие функции контактам ARCAdaptor. Так например, вместо 2х джойстиков и клавиатуры можно использовать один джойстик, но с 8 кнопками.
Примечание: в этом случае в системе по прежнему будет видно 2 джойстика, но задействован будет только один. Второй лишь "занимает место".
Для изменения значений можно воспользоваться online-редактором, находящимся по адресу: http://adaptor.su/arc/editor/.
Редактор написан с использованием HTML5 и JavaScript и работает в браузерах Google Chrome, Mozilla Firefox и Opera(*).
(*) Примечание: Поддержка Opera ограничена из-за особенностей реализации HTML5, но в целом все работает.
Рабочая область редактора состоит из 2х частей — схематичного шаблонного изображения клавиатуры и 2х джойстиков и набора контактов ARCAdaptor (X1, X2 X3).
Для назначения нового функционала на контакт платы ARCAdaptor просто перетащите кнопку экранной клавиатуры или джойстика на желаемый контакт.
После этой операции отредактированный контакт примет новое значение и будет "подсвечен".
Благодаря технологии HTML5 сохранение значений происходит автоматически.
Когда редактирование закончено, необходимо скачать новый файл данных для последующей загрузки значений в ARCAdaptor.
Для этого кликните по ссылке Get EEPROM Image и файл конфигурации будет загружен на ваш компьютер.
После этого ARCAdaptor нужно перевести в режим программирования и загрузить новые значения с помощью следующей команды:
avrdude -p m8 -c usbasp -D -U eeprom:w:<имя_файла_конфигурации>
Восстановить "заводские" значения можно кликнув по ссылке Set default values.
Значения контактов можно изменить с помощью редактирования исходного текста "прошивки" и последующей компиляции. Путь к файлу конфигурации:
FIRMWARE/eeprom/hid_eeprom.c
В этой же папке находится makefile, рассчитанный на работу с компилятором avr-gcc. Используйте его для адаптации к своей среде разработки и компилятору.
У вас он наверняка есть, может быть даже с компьютером. Болтается где-нибудь на балконе, антресолях или в гараже. Выглядел он, скорее всего, вот так:
Разъем DIN5, как правило имел следующую распайку — "колечко" — общий, а 5 контактов соответствовали сигналам "вверх", "вниз", "влево", "вправо" и "огонь". Возьмите мультиметр и проверьте назначение контактов.
Предположим, вы получили вот такую картинку (*) (не забудьте записать или зарисовать).
(*) Примечание: Используется скриншот аутентичного руководства по эксплуатации советского клона ZX-Spectrum.
Отпаяйте или отрежьте контакт, соответствующий "общему". Подключите его к чётному ряду контактов X1 или X2 — это сигнал GND.
Теперь поочередно отпаивайте или отрезайте старые контакты от разъёма DIN5 и вставляйте их в соответствующие контакты разъёма X1 (или X2, если хотите чтобы джойстик был "вторым" в системе).
В конечном итоге вы получите примерно такую картину:
Решительно запускайте режим тестирования джойстика в вашей операционной системе. Он должен "отзываться". Самое время поставить какой-нибудь эмулятор ZX-Spectrum и вспомнить былые времена!
ARCAdaptor позволяет загружать в себя микропрограмму ("прошивку") без использования дополнительных устройств благодаря программе-загрузчику, который установлен в микроконтроллер на этапе изготовления устройства (*). Загрузчик, он же bootloader — маленький участок программного кода, расположенный в специальной области микросхемы. После сброса при выполнении некоторых условий эта программа выполняется. В во всех остальных ("обычных") случаях стартует основная "прошивка".
(*) Примечание: В случае приобретения готовой платы. В других случаях загрузчик устанавливается самостоятельно.
В качестве загрузчика для ARCAdaptor используется свободно распространяемая программа USBAspLoader.
Кстати, именно использование загрузчика обеспечивает одну из ключевых особенностей ARCAdaptor, а именно, работу с Arduino IDE.
Для того, чтобы загрузить программу, или образ EEPROM в ARCAdaptor, на компьютер нужно установить утилиту avrdude.
Для Windows — самый простой способ — установить пакет WinAVR, либо скачать отдельную сборку в комплекте с драйверами.
Для Linux — установить соответствующий пакет.
Для MacOS X — воспользоваться пакетом MacPorts и установить avrdude с его помощью.
Если на компьютере установлен пакет Arduino IDE, то avrdude установлен вместе с ним "автоматически".
Вызывать avrdude нужно с дополнительным параметром — указанием файла конфигурации:
Для Windows:
cd c:\arduino\hardware\tools\avr\bin
avrdude -C ..\etc\avrdude.conf -c usbasp -p atmega8 <остальные_команды>
Для MacOS:
cd /Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin
./avrdude -C ../etc/avrdude.conf -c usbasp -p atmega8 <остальные_команды>
В операционных системах MacOS X и Linux дополнительные драйвера не требуются. Для Windows же потребуется установка драйверов для USBAsp.
Последовательность действий:
Скачайте и распакуйте драйвер USBAsp для Windows. Официальная страничка здесь, архив в комплекте с программой avrdude тут.
Отключите ARCAdaptor от компьютера.
Замкните контакт PRG (X3-1) с сигналом "GND" (X3-2). Для замыкания лучше использовать скрепку или кусочек провода.
Зажмите кнопку "сброс" на устройстве.
В этом положении подключите устройство к компьютеру и отпустите кнопку "сброс"
Компьютер определит новое устройство USBAsp – для установки нужно воспользоваться скачанными ранее драйверами.
Теперь в устройство можно записывать новые "прошивки". Не размыкайте контакт PRG до окончания процесса программирования.
В Windows 8 работа драйвера USBAsp возможна только в специальном режиме с отключенной подписью драйверов. Как в него перейти, можно почитать по этой ссылке. К сожалению, каждый раз при перепрошивке устройства придется переходить в этот режим. Хотя бы до того момента, пока авторы USBAsp не добудут себе цифровую подпись.
Загрузить новый образ EEPROM (например, если вы создали новую конфигурацию в онлайн-редакторе для дефолтной программы):
avrdude -p m8 -c usbasp -D -U eeprom:w:<имя_файла_образа_eeprom>
Заменить дефолтную программу на свою (размер программы не более 6144 байт):
avrdude -p m8 -c usbasp -D -U flash:w:<имя_файла_прошивки>
Записать программу и образ EEPROM за один проход (те же требования к размеру программы):
avrdude -p m8 -c usbasp -D -U flash:w:<имя_файла_прошивки> -U eeprom:w:<образ_eeprom>
Осведомлённый пользователь в курсе, что помимо программ для микроконтроллеров ATmega большую роль играют так называемые fuse-биты, которые определяют режим работы микроконтроллера. Дефолтные значения для них приведены ниже. Мы не рекомендуем вам изменять их без необходимости или если вы не представляете, к чему это приведёт.
hfuse:0xc0
lfuse:w:0x9f
"Фузы" одинаковы как для загрузчика, так и для программы. Расшифровку можно посмотреть по ссылке AVR Fuse Calculator.
В поставляемом комплекте bootloader находится в состоянии locked, так что при попытке его стирания будет выдаваться сообщение об ошибке. Это сделано для того, чтобы сохранить работоспособность платы даже при загрузке программы с ошибкой. Если вы все-таки решились пожертвовать им (к примеру, вы гуру и 6 кб вам мало), нужно разблокировать bootloader. Это делается следующей командой
avrdude -p m8 -c <ваш_программатор> -U lock:w:0x3f:m
ARCAdaptor базируется на типичном решении на микроконтроллере ATmega8 с использованием библиотеки V-USB. Это автоматически дает возможность использовать плату в качестве "базы" для других известных проектов. На сегодняшний день протестированы следующие проекты:
Pixelkit (универсальное устройство для подключения джойстиков от Atari, NES (Dendy), Sega и других) (*)
4SNES4NES (подключение до 4х джойстиков от NES или SNES)
USBJoy (подключение одного или двух джойстиков от Sony PlayStation 1)
(*) Примечание:: Требуется небольшая доработка - подробности в соответствующем разделе.
Рассмотрим подключение каждого.
Pixelkit — замечательное устройство, сопрягающее джойстики "из 90ых" — Sega, Dendy, Atari с реальностью 21 века — USB разъемом.
К недостаткам проекта можно отнести лишь то, что "каждому джойстику нужна своя плата Pixelkit".
Оригинальная схема и руководстве по сборке здесь.
К сожалению, "в лоб" использовать прошивку от Pixelkit не получится, так как она не помещается в отведенный объем. Поскольку исходные тексты PixelKit открыты, мы внесли в них незначительную модификацию, которая позволила уместить всю заявленную функциональность Pixelkit в доступную память ARCAdaptor.
Скачать модифицированную версию программы Pixelkit можно отсюда, там же есть список внесенных изменений.
Pixelkit использует 9 контактов (c 1 по 9), а также 2 "джампера" - переключателя режимов работы. На рисунке ниже — соответствие контактов ARCAdaptor "терминам" Pixelkit.
После загрузки программы, подключения джойстика и выставления нужной конфигурации с помощью JP1 и JP2 устройство готово к работе. Для того, чтобы не портить "аутентичность" старинных геймпадов — можно, например приобрести разъемы DB9 и DB15 в магазине радиотоваров избежать вандализма по отношению к геймпадам.
Загрузить прошивку и список изменений можно отсюда, оригинальная прошивка, схема и печатная плата доступны для загрузки здесь.
Автор 4NES4SNES — Raphaël Assénat. Сайт проекта находится по этой ссылке. Благодаря 4SNES4NES можно подключить целых 4 джойстка к одному ARCAdaptor. Этот проект, в отличие от Pixelkit, не требует никаких доработок. Подключение очень простое, приведено ниже на рисунке.
Локальный архив проекта находится тут.
Проект позволяет подключить джойстики от Sony PlayStation 1. Особенно отрадно, что работают даже аналоговые "стики". Микропрограмма ("прошивка"), опять-таки не требует изменений. В качестве рекомендации — крайне желательно на контакт, требующий 3.5 вольта подавать именно 3.5 вольта, а не 5. Это можно сделать, соединив 2 диода последовательно, впрочем это видно на схеме. Хотя китайским джойстикам все равно (выяснилось в процессе тестирования, но не следует этим увлекаться).
Примечание: В оригинальном рисунке имеются ссылки на другие рисунки. Их можно найти в архиве по ссылке, указанной ниже.
Примечание: Приведен пример подключения одного джойстика. Второй подключается по аналогии, используя сигналы DAT2,CMD2, SEL2,CLK2.
Внимательно изучите порядок контактов на разъема джойстика Sony PlayStation!
Скачать оригинальный архив с прошивкой и схемой можно тут. Или воспользоваться зеркалом.
Практически любой проект для ATmega8, базирующийся на V-USB и использующий скорость 12 Mhz может быть либо сразу загружен в ARCAdaptor, либо перекомпилирован с минимальными изменениями. Без изменений работают проекты, отвечающие следующим условиям:
используют внешний кварц на 12 мгц;
V-USB сконфигурировано для использования контактов PD0 для USB-, PD2 для USB+;
имеют размер бинарного файла, не превышающий 6144 байт (8192-2048 для bootloader) (*);
используют совпадающие с нашими значения fuse bits.
При желании можно даже заменить кварцевый резонатор на другую частоту (если требуется).
(*) Примечание: В случае, если бинарный файл прошивки превышает этот объём, проблему можно решить путём отключения загрузчика и освобождения отведённой под него памяти. Для загрузки таких прошивок понадобится программатор.
Для проверки размера прошивки используйте команду avr-size. Она поставляется в составе WinAVR (для Windows) и avr-утилит для Linux и MacOS X.
avr-size <имя_файла.hex>
ARCAdaptor можно использовать с Arduino IDE. Главное преимущество такого подхода — вам не требуется специальных знаний языка C/C++, для того, чтобы начать разработку собственных устройств! Да и загрузка собственных программ в устройство имеет более дружественный интерфейс, чем командная строка.
Перед началом работы нужно выполнить несколько простых действий по настройке Arduino IDE для его работы с ARCAdaptor.
Некоторые предварительные настройки:
Скачайте настройки и поместите их в папку Sketchbook (путь можно посмотреть в пункте меню File → Preferences Arduino IDE) (*). Архив содержит версии для двух версий Arduino IDE — pre-1.5 (до 1.5) и 1.5. В зависимости от версии пути будут различаться. Так, для pre-1.5 путь выглядит так: Sketchbook/hardware/arcadaptor, а для 1.5.x — Sketchbook/hardware/arcadaptor/avr, где Sketchbook это путь к папке со скетчами.
После перезапуска Arduino IDE в меню Tools → Board должен появиться новый пункт: ARCAdaptor w/ .
(*) Примечание: Для операционных систем Linux и MacOS X пути отличаются, но принцип тот же.
Оригинальный Arduino, как правило, оснащен светодиодом-индикатором, подключенным к контакту "digital pin 13" (см. таблицу соответствия контактов). Этот индикатор часто используется в тестовых целях.
В ARCAdaptor никаких средств индикации не предусмотрено, но их можно сделать самостоятельно за пару минут.
Для этого потребуется:
Светодиод, рассчитанный на напряжение 5 вольт.
Резистор на 100 Ом.
Соедините анод (+) диода с ножкой резистора (обычная скрутка). Вставьте другую ножку резистора в гнездо X1-1, а катод (-) диода в X1-2. Стандартный индикатор для Arduino готов.
Примечание: Как правило, ножка "анода" более длинная, если, конечно вы не пользуетесь деталями бывшими в употреблении.
Выглядит вся конструкция приблизительно так:
Теперь можно переходить к прошивке "скетча".
В меню Tools→Board выберите ARCAdaptor.
Для загрузки скетча используйте режим программатора USBAsp.
Переведите ARCAdaptor в режим программирования.
Загрузите скетч в ARCAdaptor с помощью опции "Загрузить через программатор" ("Upload using programmer").
Игнорируйте предупреждение при записи скетча в ARCAdaptor
Помните, что контакты digital pin 2, digital pin 0 зарезервированы, а контакт digital pin 3 используется в качестве переключателя в режим программирования. Эти нюансы следует иметь ввиду при использовании ARCAdaptor в Arduino IDE. Другими словами - digital pin 2 и digital pin 0 не доступны в списке контактов, а digital pin 3 при его замыкании с сигналом "земля" после сброса переведет ARCAdaptor в режим программирования, и программа-скетч может не запуститься.
Также, размер скетча не должен превышать 6144 байт — это ограничение и так прописано в конфигурационном файла, созданном при настройке Arduino IDE, но в любом случае нужно об этом помнить.
Контакт ARCAdaptor | Контакт Arduino |
---|---|
X1 | |
1 | digital pin 13 |
3 | digital pin 12 |
5 | analog input 0 |
7 | analog input 1 |
9 | analog input 2 |
11 | analog input 3 |
13 | analog input 4 |
15 | analog input 5 |
X2 | |
1 | digital pin 7 |
3 | digital pin 4 |
5 | digital pin 8 |
7 | digital pin 6 |
9 | digital pin 5 |
11 | digital pin 9 (PWM) |
13 | digital pin 10 (PWM) |
15 | digital pin 11 (PWM) |
X3 | |
1 | digital pin 3 |
3 | digital pin 1 (TX) |
5 | reset |
Плата спроектирована таким образом, что контакты X1, X2, X3 по шагу и расположению совпадают с расположением контактов т.н. "слепыша" — макетной платы.
Это дает простор для проектирования собственных устройств, тем более что для загрузки микропрограмм ("прошивок") в общем случае не требуется программатор.
Изготовить плату расширения можно буквально за несколько минут.
Потребуется обычный штыревой разъем с шагом 2.54 мм, а также подходящий по размеру кусок макетной платы с шагом, опять-таки 2.54 мм.
Вставьте контакты в разъемы и наденьте сверху макетную плату. Запаяйте контакты на стороне макетной платы.
Снимите макетную плату с запаянным разъемами.
Схема выполнена в редакторе Eagle CAD.
Скачать файл формата .sch можно здесь.
Ниже приведено расположение элементов на плате.
Ниже представлен список деталей для сборки проекта самостоятельно.
Наименование | Обозначение | Номинал/название | Типоразмер |
---|---|---|---|
Конденсатор | C1 | 22p | 0805 |
Конденсатор | C2 | 22p | 0805 |
Конденсатор | C3 | 100n | 0805 |
Стабилитрон | D1 | 3.6v | SOT23 |
Стабилитрон | D2 | 3.6v | SOT23 |
Микросхема | IC1 | Atmel ATmega8-AI | TQFP32-08 |
Резистор | R1 | 68 | 0805 |
Резистор | R2 | 68 | 0805 |
Резистор | R3 | 1K5 | 0805 |
Кнопка тактовая | S1 | SMD | |
Разъем USB | USB1 | USB-B розетка | На плату |
Разъем | X1 | MA08-2 | Двухрядный,шаг 2.54 мм |
Разъем | X2 | MA08-2 | Двухрядный,шаг 2.54 мм |
Разъем | X3 | MA05-2 | Двухрядный,шаг 2.54 мм |
Кварц | 12 Mhz |
Плата ARCAdaptor рассчитана на использование SMD-деталей. Пайка SMD в домашних условиях — процесс требующий некоторой сноровки.
Для сборки в домашних условиях понадобятся:
паяльник с тонким жалом и, желательно, регулировкой температуры;
пинцет;
флюс для пайки (жидкий или гель);
припой;
мультиметр для проверки замыканий;
терпение и усидчивость.
Сборку лучше начинать с установки центральной микросхемы. Нанесите небольшое количество флюса на посадочные места и расположите микросхему на контактных площадках. Следите, чтобы не было перекосов.
Прижмите центральную часть микросхемы пинцетом или шилом — тут главное, чтобы она не сдвинулась с посадочного места во время пайки.
Далее пропаяйте несколько ножек с каждой стороны. Когда микросхема будет закреплена, можно убрать пинцет и продолжить пайку.
Если возникло "залипание" припоя между ножками — не паникуйте. Просто капните некоторое количество жидкого флюса и прогрейте это место паяльником. Капля припоя рассосется.
Остальные мелкие детали запаиваются аналогично.
После этого можно устанавливать крупные разъемы и запаивать их. При желании разъемы X1, X2, X3 можно заменить на "вилку" или не запаивать вообще.
После этого промойте плату в спирте и высушите — не используйте батарею отопления или фен. Если хотите ускорить процесс — положите плату на кинескопный телевизор (тепло от кинескопа высушит плату быстрее), а лучше просто дайте высохнуть самостоятельно. После этого старой зубной щеткой очистите плату от остатков флюса, не удалённых спиртом.
Проверьте правильность установки деталей.
Проверьте, нет ли замыканий.
Проверьте, пропаяны ли все ножки микросхемы. Для этого установите один щуп мультиметра на основание ножки (там, где она "выходит" из корпуса микросхемы), а вторым на дорожку, куда микросхема припаяна — скорее всего там будет некоторое количество места, не занимаемого ножкой. Мультиметр должен показать наличие контакта. Если этого не произошло - капните небольшое количество флюса в эту точку и прогрейте ножку микросхемы паяльником с тонким жалом. Можно добавить немного припоя.
Для установки загрузчика и дефолтной "прошивки" понадобится программатор. Можно воспользоваться любым устройством, поддерживающим внутрисхемное программирование микросхем Atmel по протоколу ISP.
Расположение контактов для программирования показано на рисунке ниже.
Пример установки загрузчика с помощью программы avrdude и программатора usbtiny.
avrdude -c usbtiny -p atmega8 -U flash:w:main.hex:i
avrdude -c usbtiny -p atmega8 -U hfuse:w:0xc0:m -U lfuse:w:0x9f:m
avrdude -c usbtiny -p atmega8 -U lock:w:0x0f:m
hfuse: 0xc0
lfuse: 0x9f
lock: 0x0f
Лок-биты требуются для защиты загрузчика от затирания. Для разблокировки загрузчика используйте инструкцию из соответствующего раздела.
avrdude -p m8 -c usbasp -D -U flash:w:<имя_файла.hex>
avrdude -p m8 -c usbasp -D -U eeprom:w:<имя_файла.eep>
Обратите внимание, что при загрузке файла-программы fuse-биты не устанавливаются, так как используются текущие от bootloader.
Исходные тексты и сборки загрузчика и дефолтной микропрограммы ("прошивки")
Авторы проекта не несут ни малейшей ответственности за последствия, наступившие в результате использования ARCAdaptor, данной документации, программного обеспечения, а также любых относящихся к проекту частей. Все, что вы делаете, вы делаете на свой страх и риск и ради собственного удовольствия. Также авторы не несут ответственности за ошибки в аппаратном и программном обеспечении как самого устройства ARCAdaptor, так и любых относящихся к нему программных продуктов и документации.