5 копеек в копилку сообщества или ещё одна отладочная плата

AVR
Всем доброго времени!

Выношу на суд общественности свои скромные 5 копеек. Ещё одна отладочная плата, на этот раз на основе AVR ATMEGA8, с навесным экраном и заодно собранным программатором.




Начало


Началось всё с программатора на FT232RL, показанного здесь DI (за что ему спасибо!). До этого я как-то не связывался с контроллерами. Вставала проблема курицы и яйца, нерешаемая по причине полного отсутствия COM и LPT портов. Но интерес сохранялся.
Увидев ftbb программатор решил таки попробовать:

ftbb программатор на основе FT232RL

Первые опыты я ставил на обычном breadboard’е. Там, на схемках, собранных кусочками витой пары я поморгал диодиком и даже освоил ШИМ, руля всё тем же диодиком через мощный MOSFET )) Но, конечно, со временем захотелось и экранчик, и USB, а поскольку на макетке творить такое, мягко говоря неудобно, решил развести свою простенькую платку.
Первой в бой пошла tiny2313. Для неё была быстро придумана и разведёна отладочная платка, имеющая на борту V-USB, MOSFET и некоторое количество кнопок со светодиодами. Платка получилась не сказать что сильно удобная, поэтому проект не выкладываю. На этой плате я обнаружил, что в tiny2313 помещается V-USB, и, что после V-USB туда уже почти ничего не помещается ))

Продолжение


Естественно, было принято решение переехать на контроллер побольше. Так и появилась на свет вторая отладочная плата, на основе mega8.



На борту плата имеет: выходы всех портов на PLS’ках; пара +5V/GND у каждого порта; кучка PLS’ок, с выведенными землёй и +5V; разъём USB, с обвесом для V-USB; кварц на 16 МГц; 8 светодиодов; 5 кнопок, замыкаемых на землю; подстроечный резистор; индикацию питания; 7805 для питания от адаптера; ну и выбор питания (USB, 7805 или ISP).
Разводили плату вдвоём с орлом, сначала он, а потом я, там где он меня не устроил. А потом я накосячил (см. ниже) и переделал кое-что по другому. Так что разводка местами страшненькая. Тем не менее, даже мой не сильно прокачанный ЛУТ с ней справился с первого раза. Детали выбирались из имеющихся в наличии.

Пояснения к проекту EagleCad


Плата выполнена в двух слоях, но на верхнем слое только три перемычки, так что их при желании можно заменить на проволочные.

Все конденсаторы (кроме электролита) и резисторы smd (0603). Но три конденсатора на 100nF — 1206. Это важно, поскольку на плате между их выводами проходят дорожки, и меньшие детали означают меньшие зазоры.
На схеме все кнопки показаны как пары PAD’ов. Это оттого, что я не нашёл в библиотеке именно этих кнопочек, с двумя контактами. Может прозевал, а может их там и нету вовсе.
На плате слой Top на самом деле нижний (smd), а Bottom — верхний. Это оттого, что орёл по умолчанию бросает smd компоненты на Top, а переделывать потом лень. Получается, что на экране плату видно со стороны деталей, как бы насквозь. Но так даже удобнее. Для ЛУТ’а слой Top, уже готов, его отражать не надо, он будет снизу, а bottom надо печатать в зеркальном отражении, и он будет сверху. На слое tTest вся маркировка, её для печати тоже надо отразить.
(update: поменял слои местами, теперь Top это top, а Bottom это bottom, и печатать надо нижний слой отражённым, а верхний как есть, в общем как всегда.)

Моя плата (та, что на фото) немножко не соответствует проекту. На ней нет монтажных отверстий. Забыл. На ней неправильно промаркированы светодиоды, что в общем-то никак на их функциональности не сказывается. На ней широко расставлены отверстия для кнопки Reset. На ней нету резистора 1M в обвязке USB, и без него всё пашет. Впрочем, как только я вспомню его купить, так сразу впаяю. И самое главное, на ней я зачем-то посадил кнопки последовательно с резисторами, а подтяжку забыл ) Последствия этого косяка видны на плате, как перемычки на верхней стороне из жилок витой пары. Снизу эти перемычки подпаяны к резисторам.




Само собой, в проекте всё это поправлено.

Навесное оборудование




В ящике стола вот уже полгода лежал дисплей 2x16, на всем известном hd44780. Был он куплен на ebay, уже и не помню зачем, да так и не пригодился. И тут такой случай! Под этот прибор я изготовил специальную платку, посредством которой он навешивается на PORTB отладочной платы, заслоняя своим телом ненужные уже светодиоды ) Питание подаётся оттуда же, не зря рядом с портом растут две ноги с питанием. Распаян дисплей под четырёхбитный режим, чтобы поместиться на один порт.



Минус его в том, что на две ножки PORTB вешается кварц, поэтому приходится выбирать между высокой скоростью, и красивыми буквами. Но для опытов и так пойдёт, а при необходимости можно подключить экран проводами как душе угодно.

Бесплатное приложение


Как раз, когда я заканчивал плату, начал помаленьку глючить ftbb программатор. Начал шить через раз, особенно, если надо шить мегу с кварцем… В природу этого явления я не вникал, хотя есть большое подозрение, что виноват просто кривой кабель USB. Но, так или иначе, напугал он меня изрядно, и я быстренько выточил ещё один программатор, на этот раз usbasp. И успешно его прошил, раза с третьего )) Программатор удобный, сам шевелит ресет (на ftbb надо кнопку давить). Шьёт стабильно. С точки зрения творчества тут ничего интересного, схема и прошивка с родного сайта, sinaprog с дудкой отсюда (снова спасибо DI!). Разводил на этот раз руками, детали smd, кроме стабилитронов. На плате две перемычки по верхнему слою, которые при желании можно выполнить проволочками.
(update: Сам контроллер для этой схемы взят из библиотеки avr-7.lbr, которая есть на сайте Eagle Cad. В этой либе есть нектороые контроллеры, отсутствующие в atmel.lbr.)



Вся эта компания теперь весьма помогает мне разрабатывать железку, которой надеюсь вскоре поделиться с сообществом ))
Файлы в топике: Mega8 Devboard.zip, USBAsp ISP programmer.zip

Комментарии (13)

RSS свернуть / развернуть
Давно подумываю сделать отладочную плату, а то надоело уже всё на макетку корячить. Вполне возможно, что воспользуюсь вашей, спасибо.
0
Мою или не мою, но сделайте обязательно! Удобно, чертовски ))
0
Статья понравилась. Хорошо написано. И подход тоже понравился. Очень практично.
Одно маленькое и спорное (но я не буду спорить) замечание. На мой взгляд, ты зря увлекся перепутыванием слоев. Вот это «переделывать потом лень» — не аргумент. Каждый элемент находишь в библиотеке (а то и создаешь), размещаешь его где-то, таскаешь еще потом… Что за великий ДОПОЛНИТЕЛЬНЫЙ труд его и поставить на нужную сторону? Не понимаю. Ну ладно, пока там своих тараканов плодишь — так ведь людям выкладываешь. Тут уж, ИМХО, лучше канонически все делать.
Успехов в творчестве!
0
Не то чтобы я увлёкся, скорее не заморачивался. Но согласен, для общего пользования лучше стандартно. Учту.
Происходит так: я рисую схему, добавляю детали, связи. Потом переключаюсь на плату и все smd детали оказываются на слое top, по умолчанию. Я сразу начинаю разводить плату, и вспоминаю о неправильном слое только когда всё уже разведено )) А как в орле просто поменять два слоя местами я не нашёл.
0
Сейчас вот нашёл очень простой способ поменять слои местами: Выделяем всю плату и делаем Mirror group. Слои меняются. Тогда получается обычный «вид со стороны дорожек» и для изготовления платы нижний слой нужно печатать зеркальным, а верхний как есть.
0
А на какой версии орла схему делали? А то у меня при открытии вылетает окошко, мол не верный формат данных. У меня EagleCad 5.11.0 Light.
0
EAGLE 6.1.0
0
Спасибо!
0
И правда, уже ответили за меня, 6.1.0 freeware )) Оно будет ругаться ещё, что плата и схема не связаны, это ничего страшного.
0
Благодарю! И спасибо за платку, буду собирать, как раз мега8 валяется без дела.
0
Приятно слышать! Если возникнут любые сложности — обращайтесь ))
0
Странно у меня файлы Eagle Cad'ом не открываются. Пишет Invalid File У меня версии 5.11 может новее или наоборот старее надо?
0
У меня 6.1.0, подозреваю, что и вам надо не меньше ))
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.