Отладочная плата под микроконтроллеры Atmega 8
Привет всем! Рад видеть вас, дорогие читатели на моем блоге, посвященном радиолюбительскому творчеству. Меня зовут Владимир Васильев и у меня для вас сегодня новая интересная статья, по крайней мере я надеюсь что она вам будет интересна.
На днях я задумался: «Почему бы мне не заняться изучением нового для себя языка программирования, опыт с ассемблером уже есть, хочется чего-нибудь новенького «. И этот новый для меня язык является язык СИ. Язык Си привлек меня, наверное, более читаемым кодом нежели ассемблер. Ведь на ассемблере чем больший объем кода пишешь, тем проще в нем запутаться.
Для изучения Си мне понадобится некий полигон для экспериментов и опытов. Ведь если под каждую программу собирать отдельную плату, травить текстолит и т.д. и т.п. потребуется слишком много времени. Поэтому я решил создать некую универсальную плату напичканную светодиодами, кнопками, и другими штуками, чего мне на первое время хватит за глаза.
Конечно я давно в курсе , что существуют готовые интересные решения в виде отладочных плат разных производителей, причем по вполне доступной цене.
Мне кажется это излишество, ведь намного дешевле и приятнее использовать в работе изделие разработанное и собранное своими руками. Ну а о том что из этого всего вышло вы сейчас и узнаете. Кстати хочу вам поведать об одной интересной разработке, о ней я расскажу в одной из следующих статей, так что [urlspan]не пропустите[/urlspan].
Содержание:
1. Способы подачи питания
а) Разъем программирования IDC-10
б) Клеммная колодка
в) Порт USB
г) «Извращенский» способ
2.«Фишки и плюшки»
а) Матричная клавиатура
б) Отдельные кнопочки
в) Семисегментный индикатор
г) Светодиоды
д) Пьезокерамический излучатель
е) Колодка для беспаечного монтажа
КОНСТРУКТИВ
В конструкции платы я не старался объять необъятное, а ограничился что называется самым «ходовым функционалом». Так я не применял дорогостоящие комплектующие, обошелся ровно тем, что было в шаговой доступности.
На изображении ниже, вы можете видеть что из себя представляет отладочная плата.
По задумке плата должна была быть не большой и иметь разнообразные способы подачи питания. Это задумано для того,чтобы я мог эксплуатировать плату в любом месте, где будет такая возможность и наличие питания 5В.
СПОСОБЫ ПОДАЧИ ПИТАНИЯ
Питание может подаваться четырьмя различными способами:
1. Через разъем программирования IDC-10 . Здесь питание подается прямо с программатора, что на мой взгляд удобно запитывать и программатор и прошиваемое устройство от одного источника питания. О наличии питания будет сигнализировать цветной светодиод.
2. Клеммная колодка установленная на плате позволяет запитывать устройство от батарейного отсека или от своего блока питания.
3. Есть возможность запитать плату напрямую от порта USB компьютера. Компьютеры сейчас на каждом шагу, а ведь это еще и замечательные источники пятивольтового питания. Этим нельзя не воспользоваться.
4. Имеется еще один, правда несколько «извращенский» способ (буквально недавно его обнаружил ), На плате есть отдельная колодочка для беспаечного монтажа и в ней заключена таинственная возможность. Крайние гнезда этой колодки имеют потенциалы земли и напряжения питания. И если другие способы не подходят (по конструкции токоподводящих элементов) то это еще один вариант.
В каждом из четырех вариантов будет работать светодиодная индикация наличия питания.
Весь функционал платы зависит от наличия «фишек» и «плюшек». Всегда хочется нафаршировать плату до безумия, но не всегда такое возможно, и порой попытки впихнуть невпихуемое, оборачиваются суровыми граблями в спину.
В своем «творении» я старался следовать принципам надежности, функциональности, практичности и конечно же экономической целесообразности. В результате получилось то что и должно было получиться. Вот как-то так.
Краеугольным камнем на плате стоит камень микроконтроллера Atmaga 8. Подключение контроллера к функциональным узлам (тобишь, кнопки,светики и т.д.) я реализовал посредством спец. разъемов PLS и BLS. PLS это такие штырьки, устанавливаемые на плату. Ответной частью являются гнездовые разъемы BLS на провод. Так же без использования проводов наиболее очевидные узлы можно подключить перемычками — джамперами. По умолчанию ни один пин контроллера ни с чем жестко не завязан.
Для большего удобства на плате присутствуют дополнительные штырьки с землей и питанием. Они сгруппированы и установлены в верхней части платы, над цифровым семисегментным индикатором.
«ФИШКИ И ПЛЮШКИ»
На этом я немного задержусь и постараюсь осветить этот вопрос более подробно:
1. Матричная клавиатура. На плате клавиатура представлена небольшим массивом кнопочек в количестве 9 штук. Собирая кнопки в матрицу можно значительно сэкономить ножки контроллера, и чем больше кнопок используется тем более это оправданно.
На рисунке видно пример традиционно рекомендуемой схемы включения матричной клавиатуры, что я благополучно применил у себя на плате. Слева показан огрызок разведенной платы, именно то место с кнопочками. Возможно , что можно было развести более рационально, но меня устроил этот вариант. Главное, что обошелся без перемычек. Кнопочки применял первые попавшиеся в радиомагазине, очень похожа на TS-A1PS-130. Вот кстати вырезка из даташита не нее. В принципе подойдет любая кнопка без фиксации, это дело вкуса.
Резисторы подтяжки даже покупать не пришлось, нашлись в моем загашнике, номиналом примерно 1кОм. Диоды можно выбрать практически любые. Дорожки от кнопочек подводятся к штыркам, расположенным по периметру контроллера.
Подключать их к атмеге можно установкой джамперов к близлежащим пинам, либо проводками. Так клавиатуру можно подключать к абсолютно произвольным пинам. На печатной плате все это безобразие выглядит следующим образом.
2. Отдельные кнопочки. Помимо матричной клавиатуры я решил добавить еще и одиноко стоящих кнопочек, дабы ограниченные возможности платы стали менее ограниченными. А так как один в поле не воин, то две кнопки встали как влитые.
Их схемотехника и разводка по месту в принципе не блещут фантазией, но показать это стоит.
На схеме видно, что кнопки одним концом подтянуты резисторами порядка 1кОм к питанию, другой стороной посажены на землю. К пинам контроллера кнопки подключаются проводом. До момента нажатия на кнопку пин контроллера подключен к питанию через резистор. Этот прием исключает различные помехи, порождающие глюки и ложны срабатывания.
Ну и как все это выглядит на реальной плате. Прошу прощения за качество, снимал с телефона, моего старенького телефона Nokia 5230.
3. Семисегментный индикатор, выпаянный из платы старого компьютера. Раньше на таких индикаторах выводилась частота работы процессора, была даже некая кнопочка «ТУРБО» увеличивающая частоту «многократно»,
А мне как раз этот индикатор пригодился и обрел так сказать вторую жизнь. Даташит и технические характеристики на него мне нагуглить не удалось. Так что извиняйте, однако методом тщательной прозвонки удалось определить тайную сущность сего твердого тела.
Все многообразие светодиодов сгруппированы в две группы — «восьмерки». Каждая «восьмерка» имеет всего один анод и множество катодов. Катодами сегменты коммутируются к пинам контроллера через реизисторы соответственно. Резисторы подбираем под нагрузочные способности контроллера, у меня они около 500Ом.
На плате семисегментный индикатор я расположил слева от контроллера и вывел все катоды на PLS -штырьки. Аноды на моей плате можно подключать к питанию джамперами, а впрочем можно проводом запитывать с контроллера. Для удобства нарисовал справа от индикатора памятку, дабы не забыть какая ножка к какому сегменту подстыкована.
На реальной плате изначально хотел вывести лутом все надписи и памятки псевдошелкографией, но в последний момент передумал. Впрочем если очень понадобится распечатаю потом как документированное методическое указание.
4. Светодиоды. На своей отладочной плате я предусмотрел два ряда светодиодов, расположенных друг под другом. По схеме они подключены через резисторы, как тот же самый семисегментный индикатор. Светодиоды ни под что жестко не завязаны. Вся коммутация производится манипуляцией джамперами и спец. проводков. Каждый анод светодиода можно подключать к питанию установкой джамперов. Здесь включать/выключать придется установкой нуля на соответствующий пин контроллера, просто берем и тащим проводом нулевой сигнал с контроллера до катода нужного светодиода.
Можно пойти и другим путем. Подключаем катод светодиода джампером к земле (штырьковая панелька расположенная справа) а к аноду подаем сигнал с контроллера, проводом (штырьковая линейка слева).
Перестыковочная панелька, расположенная посередине дана в дополнение, если вдруг захочется использовать другой резистор или применить другой схемотехнический прием. Также как и семисегментный индикатор, светики можно подключать помимо контроллера, устанавливая соответствующие джамперы.
5. Пьезокерамический излучатель. Долго думал насчет звуковой индикации. У меня был выбор поставить обычный динамик или же пьезокерамический излучатель. В итоге не стал заморачиваться и остановился на пьезе. С динамиком пришлось бы ставить усиливающий транзистор да и конструктивно что-то придумывать так как удобных выводов для платного монтажа на нем не было. (у меня был динамик от сотового телефона).
С пьезокерамическим излучателем все оказалось гораздо проще. Его достаточно подключить к контроллеру , а второй вывод посадить на землю. Мне даже резистор последовательно ставить не пришлось, так как сопротивление пьезика оказалось ну просто очень большим. Так что в предварительно заготовленные отверстия под резистор пришлось запаять перемычку.
Отдельно хочется сказать, что пьезокерамические излучатели бывают как со встроенным генератором так и без такового. У меня он оказался с внутренним генератором, так что если генератора нет, придется генерировать сигнал программно, впрочем это может быть даже интереснее.
6. Колодка для беспаечного монтажа. Как известно всего не предусмотришь, поэтому дабы творческий полет был менее ограничен, было решено установить на плату беспаечную колодку. Колодка представляет собой панельки типа PBD с двухрядным расположением гнезд, устанавливаемые на плату.
Так можно быстренько собрать какую-нибудь схему не используя паяльник. По краям колодки выведены питание и земля, а небольшой промежуток между панельками позволит впихнуть даже микросхему в DIP корпусе. По крайней мере это будет определенно не лишним дополнением.
На беспаечную колодку можно подать питение отличное от 5В, только остальными фичами платы придется поступиться. В любом случае напряжение не должно превышать допустимое напряжение для конденсаторов сидящих в цепи питания, и особенно стоит поберечь индикаторный светодиодик .
Плата в этом случае должна быть обесточена, все джамперы и провода сняты. Только в этом случае на крайние ряды гнезд колодки можно подавать питание и собирать схему какую вам угодно.
ТЕХНОЛОГИЯ ИЗГОТОВЛЕНИЯ
Плату я спроектировал в программе DipTrace, как оказалось программа очень удобная в применении и позволяет получить достойный результат достаточно быстро. Мне после SprintLayot и Eagle CAD программа показалась просто мега крутой.
За радиодеталями честно сказать особо бегать не пришлось, так как основная часть у меня уже была. Кстати у меня есть информация, о том как вообще не париться на счет комплектующих. 🙂 Закупал я в основном панельки, разъемы, кнопочки, пьезокерамический излучатель. В принципе и все.
Далее мне оставалось все это дело распечатать на фотобумагу и поместить под утюг. После промывания под струей воды и обработки платы ацетоном рисунок дорожек предстал во всей своей красе. Какой раз убеждаюсь , что правильный подход к лазерноутюжному методу дает очень качественный результат.
Далее дорожки были залужены. Для этой цели в этот раз я использовал некое новшество. Достал из шкафа паяльник 40Вт и намотал на жало специальную демонтажную оплетку из магазина радиодеталей и вуаля. Результатом я оказался очень доволен. При залуживании в качестве флюса я применял обычный аптечный глицерин. После напайки «секретным методом» комплектующих получилось то, что вы можете видеть на картинках выше.
Вот в общем и все о чем я хотел вам поведать в сегодняшней статье. Если есть какие вопросы или предложения то пишите в комментариях. Впрочем пишите любые мысли по поводу этого проекта, ведь изначальной целью этого сайта было получение полезной информации и конечно же общение.
Если информация вам показалась интересной и полезной то обязательно поделитесь с друзьями в социальных сетях, значки находятся с левого края на странице.
Я думаю, что подобные платы очень удобны в работе и в особенности для изучения программирования контроллеров. Применяя отладочную плату можно не заморачиваться над железом а полностью сосредоточить свое внимания на написание прошивки.
Все материалы проекта [urlspan]можно скачать одним архивом.[/urlspan]
Также дорогие друзья вы можете подписаться на обновления сайта и получать новые материалы и подарки прямо себе в почтовый ящик. Для этого достаточно заполнить форму ниже.
На этом у меня все, желаю всего доброго и до новых встреч,
С н/п Владимир Васильев.
popayaem.ru
Первое знакомство с AVR. Отладочная плата AVR Debug board v1.0 / AVR / Сообщество EasyElectronics.ru
Листая странички easyelectronics.ru и в особенности учебный курс по AVR возникло стойкое желание осваивать микроконтроллеры AVR. И, разумеется, ограничиваться написанием программ в AVR Studio и просмотром того, как они работают в протеусе, не хотелось. Было решено сделать отладочную плату (благо, есть замечательный источник вдохновения: Pinboard 1.1, за что огромное спасибо DIHALT’у). Делать маленькие платки и потом соединять их проводочками мне не хотелось (как говорится, гулять, так гулять). Плату непременно хотелось изготовить самому, т.к. совсем недавно был куплен лазерный принтер и начато освоение ЛУТ.Отладочная плата местами напоминает (а где-то и копирует) таковую у DIHALT’а. Скажу честно, пытался сделать что-то индивидуальное, просмотрел с десяток подобных плат, но они либо мне не нравились, либо были очень похожи реализацией отдельных модулей на Pinboard. Посему, было решено не изобретать велосипед и использовать наработки из Pinboard. Ещё раз трижды респект DIHALT’у!
Итак, о плате. Получилась она размерами 150 x 150 мм, односторонняя. Сразу, ещё при рисовании платы в Sprint Layout, была поставлена цель нанести на лицевую сторону подписи к компонентам, штырькам и т.д. До этого ни разу этого не делал (впрочем, это 4 или 5 плата, изготовленная мною методом ЛУТ). Для переноса рисунка на плату была использована подложка от самоклеющейся плёнки (до этого пользовался глянцевыми страничками из журнала, но такой чистый результат, как подложка от самоклейки она не давала). Минимальная ширина дорожек – 0,5 мм, ширина зазора местами достигала 0,1-0,2 мм и после переноса потребовалось процарапать всего одно место на плате. Слои совмещались по 7 отверстиям в разных частях платы с помощью булавок, одолженных у сестры)
Для максимально полезного использования рабочего пространства платы было решено освободить лицевую часть от всех резисторов и конденсаторов и использовать только SMD компоненты (кстати, тоже в первый раз – до этого вполне обходился обычными). Программатор USBAsp и мост USB-UART выполнены на ATMega 8 в корпусе TQFP-32. Но, даже не смотря на это, в плате получилось 786 отверстий))).
Что удалось впихнуть в плату:
1. Цанговая панель DIP-40 с установленной ATMega16 и PLS штырьками на все 40 выводов.
2. Кнопка сброса и подтяжка RESET основного МК до VCC.
3. Отключаемая подтяжка для SDA и SDL (IIC).
4. 2 цанговых панельки с конденсаторной обвязкой для установки кварцев (основного и часового).
5. 4 интегрирующие цепочки, подключаемые к выводам ШИМ МК.
6. 4 светодиода, подключаемые к тем же выводам.
7. USB разъём с необходимой обвязкой из резисторов и стабилитронов.
8. Внутрисхемный программатор USBAsp, подключаемый по USB с помощью DIP-выключателей. К МК для программирования подключается перемычками.
9. Преобразователь USB-UART на ATMega8, подключаемый по USB с помощью DIP-выключателей. К МК подключается перемычками.
10. Контроллер внутрисхемной отладки JTAG, подключаемый к мосту USB-UART с помощью DIP-выключателей. К МК подключается шлейфом.
11. LCD-экран Wh2602B. Необходимая обвязка (регулировка контрастности, управление подсветкой). Выводы подключены к 16-контактной PLS-линейке.
12. 4 тактовых кнопки с замыканием на землю и ограничительными резисторами на 100 Ом
13. 4 тактовых кнопки со свободными выводами.
14. 12 светодиодов (4 красные, жёлтые и зелёные) с токоограничительными резисторами. Включаются лог. 1.
15. Светодиодная линейка на 10 светодиодов с токоограничительными резисторами. Управляется перемычками. Включается лог. 1 или лог. 0.
16. 8 PLS-штырей с 3-мя состояниями (PULL-UP 10k, GND, Hi-Z). Управляется DIP-выключателями.
17. Вход для нестабилизированного ИП (через клеммник) с защитой от переполюсовки и линейным стабилизатором LM7805 (5В). После испытания платы на него было решено установить небольшой алюминиевый радиатор, ибо при включённой подсветке ЖКИ и десятка светодиодов (суммарный ток выше 200 мА) он начинал ощутимо греться.
18. Выход стабилизированного напряжения 5В с вышеупомянутого стабилизатора.
19. Вход для стабилизированного ИП (через клеммник) (3,3/5В) с защитой от переполюсовки.
20. Селектор питания (нестаб. ИП, стаб. ИП, 5В USB).
21. Дополнительный стабилизатор LM1117-3.3 (3,3В).
22. Магистраль питания (VCC и GND) — по 8 PLS-штырей на каждую + ещё по 9 разбросаны по плате.
23. 4 индикаторных светодиода по режимам питания.
24. 4 силовых транзисторный ключа с обвязкой из резисторов и диодов. Нагрузка подключается через клеммники. Питание для нагрузки заводится отдельно через клеммник. Земли платы и нагрузки объединены.
25. Дроссель для фильтрации питания АЦП МК.
26. Выключатель питания всей платы. Пришлось допиливать самому найденный в закромах, ибо найти на радиорынке по вменяемой цене не удалось(
27. 1 переменный резистор, включённый потенциометром и подключаемый перемычкой к входу ADC0. 1 переменный резистор со свободными выводами.
28. ФНЧ с регулируемой постоянной времени.
29. 2 подстроечных резистора со свободными выводами.
30. Счетверённый 7-сегментный индикатор с обвязкой для динамической индикации.
31. 28-выводная цанговая панель с PLS-штырями.
32. Зуммер с собственным генератором.
33. Тактовый генератор на 1,3 МГц
Все модули платы были проверены (за исключением ЖКИ – его пока не освоил) и оказались вполне работоспособными.
Если кому будет интересно — фотографии истории изготовления платы:
На просвет видно, что слои платы не соответствуют друг другу. Так оно и есть. Просто лицевая сторона платы переводилась на тот момент чисто для проверки. Окончательный вариант был нанесён после травления.
Ошибка в написании фразы LCD Contrast была обнаружена уже после перенесения рисунка((
На шестигранных стойках, что прикручены к плате, будет установлен квадрат из миллиметровго нефольгированного стеклотекстолита для защиты от случайного КЗ. Пока руки не доходят.
Схема с Splan, плата в Sprint Layout, прошивки и драйверы — в прикреплённом архиве.
PS Это мой первый пост тут, так что прошу сильно не бить, если что не так))
we.easyelectronics.ru
Отладочная плата для Atmega32 своими руками / Habr
1. Введение
Прочитав много постов и комментариев из DIY, мне показалось что тут много народа, кто интересуется микроконтроллерами и их программированием. Еще больше людей, которые хотели бы начать, но не знают с чего.
Я считаю что нужно начинать с практики, потому рассматривать эмуляторы я не буду.
Для начала нужен программатор, но информации об этом в интернете тонны, потому остановлюсь лишь поверхностно. Самый простой из них — это так называемые «5 проводов», сделать его легко — берем LPT кабель и через резисторы соединяем с МК, как показанно на рисунке:
Делать все нужно предельно аккуратно, спалить LPT таким — на раз.
Гораздо лучше сделать что то приличнее — например USBasp он безопаснее, и работает через USB.
Как вариант — купить программатор в том же Voltmaster или Чип-и-Дип.
Параметры для начала не так важны, кроме цены и поддерживаемых микросхем.
По сути все. Кристалл + программатор + желание и стремление, этого достаточно для того чтобы заняться программированием МК. Но еще очень большую роль играет организация самой схемы и периферии (обвязки) МК.
Можно конечно изготавливать печатную плату для каждого случая, когда хочется поиграться, но я за более универсальные и быстрые решения.
Конечно есть макетные платы, но по мне так паутина из проводов и перемычек выглядит ужасно, да и ненадежно и, что самое главное не наглядно (а при разработке и обучении это важно).
Существуют отладочные платы для различных микроконтроллеров. И все в них хорошо, кроме цены (самая простенькая от 2-3 тыс.р — оно конечно того стоит, но на то оно и радиолюбительство, чтобы по возможности обойтись своими руками). Потому я принял решение создать свою простую отладочную плату, которая будет отвечать моим требованиям.
Какие требования были к данной плате:
- Простота исполнения
- Наглядность
- Универсальность
- Дешевизна
- Простота создания тестового устройства
- Наличие LCD дисплея
- Встроенная клавиатура
- 2 свободных порта (с возможностью их использовать по своему усмотрению)
- COM порт у платы для интеграции с компьютером
Что было использованно при изготовлении:
- Стеклотекстолит односторонний ~70р
- Колодки для подключения периферии и коммутации (штырьки как на материнках, на которые вешаются джамперы) ~50р
- Кнопки тактовые — ~ 50р
- Панелька для микросхемы 30р
- Разьем для COM порта 20р
- Микросхема MAX232a 50р
- LCD индикатор — от 250р
- Сама микросхема ATmega32 от 200р
итого 720р по московским безумным ценам на радиодетали (А точнее по прайсу Вольтмастера).
вот что в итоге у меня получилось:
2. Разводка
Теперь по порядку. Начнем с разводки платы в Sprint-Layout. По сути, это самый ответственный момент в создании устройства, нужно учесть все ньюансы, а также на этом моменте нужно понять — что конкретно требуется от платы, как это должно выглядеть, как удобнее. Потому не советую повторять в слепую, стоит сесть и просмотреть аналоги, вычленить для себя интересные решения или узлы. У меня получилось вот так:
подробнее о периферии, для этого стоит взглянуть на распиновку кристалла:
- На PORTA будет висеть клавиатура — 7 кнопок, расположенных так, чтобы с помощью них можно было при надобности осуществить навигацию, например, по меню (крестовина), и пара кнопок для доп ф-й.
- на PORTB я разместил LCD дисплей, таким образом, как это предусмотренно в codevision avr стандартными средствами (используются три командных регистра дисплея и 4 регистра данных)
- PORTC и PORTD вывел колодками для подключения периферии. еще я предусмотрел рядом с колодками еще цанговые панельки, но в моем хозяйстве их неоказалось и их установка отложена до лучших времен
- Также я разместил max232 c обвязкой из конденсаторов и разъем COM порта.
подробнее о подключении max232 - Для универсальности каждый пин контроллера выведен на колодки, параллельные панельке для микросхемы.
- пины программирования SCK, MISO, MOSI и RESET продублированны еще одним рядом колодок
3. Изготовление печатки
Как только плата была разведена, методом лазерного утюга была изготовленна печатка. на методе останавливаться нет смысла, так как он сотни раз описан в интернете, и как минимум подробнейшее описание есть на Хабре. Результат:
4. Завершающий этап
далее сверлим, лудим, паяем нашу плату.
5. Заключение
И вот, наша отладочная плата для упрощения разработки на МК готова. Теперь для того, чтобы научиться работать с функционалом МК AVR нам не придется ваять клубок проводов. просто подключаем к свободным портам нужную периферию (будь то светодиоды, датчики, драйверы приводов и сервомашинок, а так же многое другое), и спокойно пишем программу.
В заключение хочу сказать, что вид и функциональность данной платы формировались на субьективных требованиях и желаниях, и каждый желающий сделать такое устройство должен сам сесть и обдумать постановку задачи и требования.
На все работы ушел один вечер.
Статья написана nortonix.
habr.com
Отладочная плата для Atmega 8
Когда-то я написал эту статью для we.easyelectronics.ru. Так что сейчас, в рамках “собирания в кучу” всей своей писанины, я просто скопировал её сюда, слегка подредактировав. Оригинал статьи с обсуждением доступен здесь.(Файлы, прилагаемые к статье: mega8-devboard.zip, usbasp-isp-programmer.zip)Всем доброго времени!
Итак: ещё одна отладочная плата, на этот раз на основе AVR ATMega8, с навесным экраном и заодно собранным программатором.
Начало
Началось всё с программатора на FT232RL, показанного здесь DI (за что ему спасибо!). До этого я как-то не связывался с контроллерами. Вставала проблема курицы и яйца, нерешаемая по причине полного отсутствия COM и LPT портов. Но интерес сохранялся. Увидев ftbb программатор решил таки попробовать:
Первые опыты я ставил на обычном 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’ов. Это оттого, что я не нашёл в библиотеке именно этих кнопочек, с двумя контактами. Может прозевал, а может их там и нету вовсе.
Моя плата (та, что на фото) немножко не соответствует проекту. На ней нет монтажных отверстий. Забыл. На ней неправильно промаркированы светодиоды, что в общем-то никак на их функциональности не сказывается. На ней широко расставлены отверстия для кнопки Reset. На ней нету резистора 1M в обвязке USB, и без него всё пашет. Впрочем, как только я вспомню его купить, так сразу впаяю. И самое главное, на ней я зачем-то посадил кнопки последовательно с резисторами, а подтяжку забыл ) Последствия этого косяка видны на плате, как перемычки на верхней стороне из жилок витой пары. Снизу эти перемычки подпаяны к резисторам.
Само собой, в проекте всё это поправлено.
Навесное оборудование
В ящике стола вот уже полгода лежал дисплей 2×16, на всем известном hd44780. Был он куплен на ebay, уже и не помню зачем, да так и не пригодился. И тут такой случай! Под этот прибор я изготовил специальную платку, посредством которой он навешивается на PORTB отладочной платы, заслоняя своим телом ненужные уже светодиоды ) Питание подаётся оттуда же, не зря рядом с портом растут две ноги с питанием. Распаян дисплей под четырёхбитный режим, чтобы поместиться на один порт.
Минус его в том, что на две ножки PORTB вешается кварц, поэтому приходится выбирать между высокой скоростью, и красивыми буквами. Но для опытов и так пойдёт, а при необходимости можно подключить экран проводами как душе угодно.
Бесплатное приложение
Как раз, когда я заканчивал плату, начал помаленьку глючить ftbb программатор. Начал шить через раз, особенно, если надо шить мегу с кварцем… В природу этого явления я не вникал, хотя есть большое подозрение, что виноват просто кривой кабель USB. Но, так или иначе, напугал он меня изрядно, и я быстренько выточил ещё один программатор, на этот раз usbasp. И успешно его прошил, раза с третьего )) Программатор удобный, сам шевелит ресет (на ftbb надо кнопку давить). Шьёт стабильно. С точки зрения творчества тут ничего интересного, схема и прошивка с родного сайта, sinaprog с дудкой отсюда (снова спасибо DI!). Разводил на этот раз руками, детали smd, кроме стабилитронов. На плате две перемычки по верхнему слою, которые при желании можно выполнить проволочками.
update: Сам контроллер для этой схемы взят из библиотеки avr-7.lbr, которая есть на сайте Eagle Cad. В этой либе есть нектороые контроллеры, отсутствующие в atmel.lbr.)
Еще записи по теме
uncleeugene.net
ОТЛАДОЧНАЯ ПЛАТА
Не так давно я начал интересоваться микроконтроллерами. Сперва сделал простой программатор для AVR от LPT порта. Потом начал собирать всякие устройства с их применением. Все бы хорошо, но не покидал вопрос «а как это работает?». Имея немного свободного времени, скачал с интернета пару книг по программированию микроконтроллеров AVR. Сел и начал изучать. Сперва ничего не мог понять. Мозг кипел, и хотел вырваться наружу. Через несколько недель вроде стал понимать суть вопроса. Начал с ассемблера. Попрактиковался в AVR Studio мигать светодиодами. Позже перешел на C. На нем писать легче. Но все же надо начинать с ассемблера – так легче понять, как работает микроконтроллер и что это вообще такое. Тестировал свои прошивки в Proteus. Было интересно, но не то… Хотелось попробовать в железе. Не хочу сказать, что я крутой программист – просто начинающий кодер.
Схемы, как таковой, нет. Все подключения стандартные из даташита. Кто захочет писать программы – тот разберется. Да и резисторы могут отличаться от указанных на плате в довольно широких пределах. Все выходы тоже подписаны. Так что схему отдельно не составлял, но архив с печатной платой имеется.
В сети начал подыскивать готовый вариант отладочной платы. Подходящую для себя не нашел. Были или слишком маленькие, или большие. Натыкать на плату дохрена чего, а после некогда не подключать. Развел свой вариант отладочной платы под Atmega8. Поставил пару кнопок, светодиодов и бузер. Предусмотрел разем для подключения внешнего кварца.
Еще приделал два дисплея. Один символьный ЖК дисплей, а другой семисегментный индикатор. Подвел к ним питание.
Вот пробовал выводить картинки на дисплей Nokia-1202. Даже снял небольшое видео о результате.
Видеоролик работы отладочной платы
Всем спасибо за внимание, сделал отладочную плату и подготовил материал: Бухарь.Форум по МК
Обсудить статью ОТЛАДОЧНАЯ ПЛАТА
radioskot.ru
Макетная плата для AVR на ATmega8 – Разное – Микроконтроллеры – Каталог статей
Для начала зададим себе вопрос, зачем нужна макетная плата? отвечаю: – затем, чтобы нам не приходилось каждый раз собирать и проверять нужную схему, травить плату, или собирать схему навесным монтажом. Может кому то это и нравится, дело хозяское…
Плата была собрана еще года два назад, все еще юзаю ее и проверяю на ней некоторые свои проекты. На плате можно использовать любой из трех микроконтроллеров на выбор: ATmega48/88 или 8. у первой четыре кб у третьей 8 кб. Про мегу 88 не помню =)
Выглядит она следующим образом:
Светодиоды и кнопки распаяны, запаян “бузер” динамик, подстроечный резистор под АЦП. Имеется разъем по датчик температуры DS18b20. Питаться схема может как от программатора, так и от внешнего источника 12в. На обратной стороне установлена кренка на 5 вольт.
ВИДЕО РАБОТЫ:
видео (~7мб.)
В архиве ниже прилагается тестовая прошивка, после сборки платы смело загружайте ее в микроконтроллер и запускайте! контроллер работает на частоте 8 мГц. Можете выставить на 4Мгц, будет работать медленнее, разъем ISP для программирования МК на плате имеется – куда же без него!
На нижнем фотографии проект часов с сайта “паяльников” cxem.net. Просто взяли исходник, поправили порты под нашу плату и запустили =)
Как уже и упомянул, файл печатной платы имеется ниже в архиве, в проекте применил SMD резисторы, дабы не загромождать схему. Стабилизатор питания стоит 78M05. Кнопки тактовые, продаются везде, транзисторы BC547. Кварц у меня стоит на 12мГц, можете не ставить – смотрите сами. Светодиоды подключены через транзисторы, разъем питания стандартный, можете поискать в платах роутеров… Вопросы задавайте как всегда ниже =)
/ОБНОВЛЕНИЕ ОТ 28.02.2015/
Новая версия печатной платы с исправленными прошлыми недочетами, отлично зарекомендовала себя среди начинающих AVR’овцев, тех кто только осваивает микроконтроллеры. Плата изменилась в лучшую сторону, больше доступных портов, подтянутые кнопки к плюсу питания, несколько свободных портов с подтянутыми резисторыми к плюсу питания, например для работы с датчиком DS18B20 или DHT11. Печатная плата делалась методом ЛУТ, тонких дорожек нет так что у вас все получится! Ниже как всегда несколько фотографий для ознакомления…
Надписи на плату так же нанесены методом ЛУТ, в архве ниже есть файл печатной платы, для печати надписей нужно убрать все остальные слои.
После нанесения надписей и распайки всех элементов и конечно же промывки платы, покрыл лаком.
прошивку и файл печатной платы (~30кб)
обновленную версию печатной платы (~30кб.)
cxema21.ru
Отладочная плата минимал ZIF панель AVR ATmega8 ATmega48, СОБЕРИ САМ
Конструктор отладочной платы может использоваться начинающими радиолюбителями для улучшений навыков чтения схем, сборки схем, освоения маркировки основных электронных компонентов, пайки, послесборочной настройки и проверки.
При использовании конструктора нужно будет собрать отладочную плату или т.н. «минимальную плату» с помощью печатной платы, монтажных и электронных компонентов, которые идут в комплекте. Сборка конструктора производиться с помощью механического соединения элементов и пайки. После сборки и настройки конструктор можно использовать по назначению, а именно для прошивки микроконтроллеров Atmel AVR в корпусе DIP.
Конструктор состоит из множества монтажных и электронных компонентов:
- печатная плата 74 х 33 мм;
- ZIF панель 28 pin с нулевым усилием;
- ICSP разъем 10 pin;
- кварцевый резонатор 8 МГц;
- тактовая кнопка;
- светодиод 3мм красного цвета – 2шт.;
- постоянный резистор 4,7 кОм – 2шт.;
- постоянный резистор 10 кОм;
- конденсатор керамический 22 пФ – 3шт.;
- конденсатор керамический 104 пФ – 2шт.;
- кнопка с фиксацией;
- коннектор 40pin папа с шагом 2,54 мм;
- USB гнездо тип А.
Схема конструктора отладочной платы:
Начать монтаж нужно с USB гнезда, далее установить мелкие элементы (конденсаторы, резисторы, светодиоды), затем кнопки и ICSP разъем, в конце ZIF панель и коннекторы. На печатной плате есть все нужные обозначения для компонентов, потому ошибиться при монтаже трудно.
Для использования собранной платы нужно поднять ручку-фиксатор ZIF панели, чтобы открыть пазы для установки микроконтроллера. Необходимо отсоединить микроконтроллер, который собираетесь программировать, от конечного устройства и установить его по ключу в пазы программатора (ключ должен указывать на ручку-фиксатор). Потом опустить ручку-фиксатор, чтобы зафиксировать микроконтроллер. После этого к ICSP разъему отладочной платы нужно подключить по ключу ICSP штекер USBASP программатора. После этого нужно подключить USBASP программатор к компьютеру, запустить программу для прошивки, например, AVRDUDE PROG и записать на микроконтроллер новую прошивку.
USB гнездо на плате используется для подключения дополнительного питания, если питания от программатора недостаточно.
Собранная плата также может использоваться в качестве терминального адаптера для установленного в нее микроконтроллера.
Характеристики:
конструктор: отладочная плата;
для прошивки: микроконтроллеров Atmel AVR в корпусе DIP;
интерфейс: SPI;
размеры: 74 х 33 х 15 мм;
вес комплекта: 28 г.
freedelivery.com.ua