Делаем сами Single-Side Arduino c COM-портом на борту

в 14:29, , рубрики: arduino, ATmega8, diy или сделай сам, Электроника для начинающих, метки:

Занимаясь электроникой и микроконтроллерами, я прекрасно осознаю, что было бы неплохо иметь под рукой готовую отладочную плату. С ее помощью можно быстро проверить какой-нибудь сервопривод, датчик и т.д., а то и собрать на ней целиком весь проект. Именно поэтому решил самостоятельно изготовить Arduino.

Создатели знаменитой платформы позаботились о любителях DIY и подготовили для этого специальную одностороннюю версию платы. Также в интернете есть весьма подробные инструкции о том, как изготовить ее в домашних условиях. К сожалению, у этой платы есть несколько недостатков, а именно: подключение только через COM-порт и питание исключительно от адаптера. Я решил устранить и получил в итоге вот такую, симпатичную плату:

image

Конечно, идея не новая, и на просторах интернета не раз звучала идея прикручивания виртуального COM-порта к Single-Side Board, но готового проекта я нигде не встречал.

Всех, кто когда-нибудь мечтал сделать для себя Arduino самостоятельно, прошу под кат.

В исходной плате COM-порт я заменил на ИМС FT232RL. Она работает с логическими уровнями ТТЛ, так что конвертер (которой в исходной ардуйне сделан на транзисторах) не нужен. Для выбора источника питания на схеме предусмотрен трехконтактный пинхэдер. Он позволяет задать положением джампера источник питания: USB-порт (положение «int») или разъем БП(положение «ext»). FTRL’ка всегда питается только от USB. Так же есть джампер «auto reset enable». Принципиально делаю ответственные проекты в P-CAD'е. Экспорт графики в нем достаточно сложный, поэтому выкладываю только скриншоты чертежей.

фотохостинг

Плата почти полностью содрана с оригинальной, кроме подключения FTRL'ки, вид «насквозь»:

image

а также сборочный чертеж:

image

конденсаторы С7, С8 рекомендую положить на бок, чтобы не выступали выше разъема.

О том, как самостоятельно что-то спаять, написал лучше и больше всех DI HALT. Добавлю только, что проблемы могут возникнуть с распайкой FTRL'ки. Я пытался на протравленной плате залудить пады под нее — чуть не оторвал. Так что рекомендую пропаивать выводы по одному. Кстати, желательно плату отмыть от флюса: два раза видел такое, что после пайки неотмытая микруха не определялась компьютером. При желании, можно тем же ЛУТ'ом нанести на лицевую сторону платы сборочный чертеж, но тогда ее уже не получится отмыть в ванночке с ацетоном.

Когда плата изготовлена, можно заняться программным обеспечением. В первую очередь надо скачать и установить ардуиновскую IDE'шку. а так же драйвер для микросхемы FT232RL.

Теперь необходимо прошить бутлоадер. Лично я для прошивки использую вот такой программатор, не сочтите за рекламу. Более подробно о прошивке бутлоадера можно почитать здесь. Сам прошивочный файл лежит на жестком диске по адресу: C:Program Filesarduino-1.0.1hardwarearduinobootloadersatmega8ATmegaBOOT.hex. Я просто установил контроллер в ZIF-сокет и прошил непосредственно этот файл. Фьюз-биты я взял отсюда. Необходимо отметить, что я пытался запустить эту плату с 168ой мегой, но мне так и не удалось это сделать. Скорее всего ни один бутлоадер не подошел.

Программировать ардуино проще простого. Запускаем среду программирования и выбираем плату (в нашем случае это Arduino NG or older w/ATmega8):

image

Затем запускаем готовый пример, который моргает пользовательским светодиодом:

image

Далее, жмем Файл->Загрузить и наблюдаем:

Если все правильно собрано, то работает сразу. У меня при загрузке обнаружилась ошибка — плохо был пропаян вывод Rx FTRL'ки, но я это быстро поправил.

В архиве вы можете взять все чертежи, прошивку, а также список деталей для покупки. Чертежи сделаны в САПР P-CAD 2006. Если кто-то поможет подготовить файлы для ЛУТ, буду очень благодарен.

Эта плата полностью arduino-совместима и позволяет работать со стандартными шилдами и IDE'шкой, хотя я сам их редко использую. На мой взгляд проще собрать проект в AVR-studio — по старинке))).

Автор: ssg1712

Поделиться

* - обязательные к заполнению поля