0

Отладочная плата своими руками

ОТЛАДОЧНАЯ ПЛАТА

Не так давно я начал интересоваться микроконтроллерами. Сперва сделал простой программатор для AVR от LPT порта. Потом начал собирать всякие устройства с их применением. Все бы хорошо, но не покидал вопрос «а как это работает?». Имея немного свободного времени, скачал с интернета пару книг по программированию микроконтроллеров AVR. Сел и начал изучать. Сперва ничего не мог понять. Мозг кипел, и хотел вырваться наружу. Через несколько недель вроде стал понимать суть вопроса. Начал с ассемблера. Попрактиковался в AVR Studio мигать светодиодами. Позже перешел на C. На нем писать легче. Но все же надо начинать с ассемблера — так легче понять, как работает микроконтроллер и что это вообще такое. Тестировал свои прошивки в Proteus. Было интересно, но не то… Хотелось попробовать в железе. Не хочу сказать, что я крутой программист – просто начинающий кодер.

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

В сети начал подыскивать готовый вариант отладочной платы. Подходящую для себя не нашел. Были или слишком маленькие, или большие. Натыкать на плату дохрена чего, а после некогда не подключать. Развел свой вариант отладочной платы под Atmega8. Поставил пару кнопок, светодиодов и бузер. Предусмотрел разем для подключения внешнего кварца.

Еще приделал два дисплея. Один символьный ЖК дисплей, а другой семисегментный индикатор. Подвел к ним питание.

Так же на отдельной плате установил дисплей от мобильного телефона Nokia-1202.

Библиотеки для работы с этим дисплеем нашел в интернете. Все ножки контролера, дисплеев, кнопок и светодиодов выведены на соединительные штырьки. Соединение проводиться проводами с напаяними на них контактами.

Теперь кодить стало интереснее — cразу виден результат работы.

Вот пробовал выводить картинки на дисплей Nokia-1202. Даже снял небольшое видео о результате.

Видеоролик работы отладочной платы

Всем спасибо за внимание, сделал отладочную плату и подготовил материал: Бухарь.

Форум по МК

Обсудить статью ОТЛАДОЧНАЯ ПЛАТА

Отладочная плата для устройств на МК Atmega8/48/88/168/328

Многие устройства в моих статьях строятся на основе отладочных плат. Сегодня поговорим об отладочной плате для микроконтроллеров Atmega8/48/88/168/328. Все они в DIP корпусе имеют 28 выводов и одинаковое их расположение, поэтому без проблем можно одну отладочную плату использовать для любого из вышеперечисленных микроконтроллеров. Возможности этой отладочной платы позволяют также установить, например, bootloader для arduino и использовать эту плату как arduino.


Общий вид готовой отладочной платы

Принципиальная схема отладочной платы:

Данная отладочная плата состоит из следующего набора элементов. Место для микроконтроллера в отладочной плате использовано с применением разъема для корпуса DIP-28. Применение такого разъема, в народе именуемого «кроватка» позволит в случае чего быстро заменить микроконтроллер на плате. Удобно, если по неопытности случайно залочить микроконтроллер, удобно его извлечь и «вылечить» при помощи другой схемы или просто быстро сменить тип используемого микроконтроллера.

Также для быстрой смены кварцевого резонатора использован разъем. Так как эта отладочная плата, могут возникать ситуации, когда необходимо перезапускать микроконтроллер. Для этой цели на плате предусмотрена кнопка S1 — при замыкании на землю вывода PC6, происходит рестарт или reset используемого микроконтроллера. Резистор R6 подтягивает плюс питания к этому выводу для предотвращения самопроизвольного перезапуска. Данная макетная плата имеет простое исполнение, поэтому добавил два модуля для светодиодов (по три светодиода в каждом модуле). Токоограничительные резисторы для светодиодов подобраны таким образом, что для каждого модуля можно использовать RGB светодиоды — удовлетворено условие баланса белого. Падение напряжения на красных светодиодах чуть меньше, чем у зеленых и синих, поэтому резисторы R1 и R5 имеют сопротивление 180 Ом. Кроме того, резисторы в анодах светодиодов ограничивают ток на уровне примерно 18 — 20 мА для максимальной яркости. каждый светодиод соединяется с портом микроконтроллера через перемычки (джемперы) 1 — 6. Также, благодаря штырьковым соединениям, при помощи проводка о двух концов с соответствующими разъемами типа «мама» можно соединять светодиоды с любыми другими выводами микроконтроллера. Таким образом, макетка позволит отлаживать многие простые задачи без особых телодвижений, соответствуя своей простоте относительно всеобъемлющих отладочных плат, содержащих все нужные и не нужные модули для отладки любых задач. Следуя данной концепции, на плате возможно два варианта питания — 5 вольт от USB порта через программатор и 3,3 вольта через три выпрямительных диода (P-N переход диода способствует падению напряжения примерно на 0,5 — 0,6 вольт в зависимости от применяемого типа, диоды Шоттки имеют несколько меньшее падение на переходе — порядка 0,2 вольта, их лучше не использовать). Данные режимы питания выбираются путем установки перемычек (джемперов) 7 или 10. При желании можно немного изменить печатную плату и поставить стабилизатор напряжения на 3,3 вольта, например микросхему AMS1117. Резистор R10 ограничивает ток питания отладочной платы. Его можно или убрать, или заменить на меньший или больший номинал в пределах необходимого, или просто заменить резистором номинала 0 Ом. Резистор R9 был установлен в основном с целью только подключения LCD дисплея для регулировки контраста экранчика. Однако, этот функционал не ограничивается только LCD — дисплеем, резистор можно использовать в любых других необходимых целях. И, наконец, АЦП микроконтроллера. Как правило он питается от основного напряжения через дроссель для большей стабильности напряжения и более правильных показаний. Также АЦП имеет канал опорного напряжения. Оно организовано микросхемой управляемого стабилитрона TL431 — он стабилизирует напряжение до 2,5 вольт в соответствии с подключением выводов как на схеме, и оно подается на вывод AREF. Но не всегда нужно именно 2,5 вольта опорного напряжения. Поэтому на плате организованы перемычки 8 и 9 для возможности подключения 5 вольт на вывод опорного напряжения, то есть взять его от вывода AVCC — питания АЦП.

Для подключения светодиодов на печатной плате предусмотрены контакты типа цанга вдоль края платы.

Все выводы микроконтроллера дублируются штырьками. Тут все понятно — для возможности подключения к выводам используемого микроконтроллера на отладочной плате каких-то своих модулей, схем или устройств. Штырьковые контакты питания +5 вольт и 0 вольт имеются по 5 штук на плате. Специально для программирования на печатной плате предусмотрен стандартный 10 пиновый разъем для программаторов AVR, например USBasp или AVRdoper или других.

Более подробно расположение штырьков (в том числе и для перемычек) относительно микроконтроллера можно посмотреть на печатной плате (ссылка будет ниже).

А вот так выглядит отладочная плата со стороны пайки:

Надеюсь аккуратность порадует Ваш профессиональный глаз.

Если данная статья окажется кому-то толчком для начала освоения микроконтроллеров и техники их основе, то ниже будет представлена прошивка и программный код как просто для тестирования этой отладочной платы, так и для кого-то первым опытом в прошивке микроконтроллера. Предлагаю, как и многие другие, просто моргать светодиодом.

Для этого в компиляторе необходимо определить частоту работы микроконтроллера, далее присоединить к проекту основные библиотеки компилятора для работы с выбранным микроконтроллером. Следующим шагом является обозначение куда будет подсоединяться светодиод. Далее у нас главная программа main, без нее никак нельзя, в начале главной программы инициализируется порт для работы со светодиодом. Внутри главной программы прописан бесконечный цикл while, то есть он никогда не закончится и будет крутиться по кругу от начала и до конца. А внутри этого цикла сама суть прошивки — светодиод зажигается, ждем 1 секунда, светодиод тухнет, ждем 1 секунду и так по кругу. Вот собственно и вся простая программа для тестирования.

Вот что необходимо для прошивки микроконтроллера atmega8 — fuse биты:

К статье прилагается печатная плата, нарисованная в Sprint Layout, также простая прошивка для микроконтроллера ATmega8, моргающая светодиодом для оценки работоспособности платы и просто для того чтобы данная схема не была просто железякой. Также для данной прошивки прилагается файл Proteus и исходник программного кода в AVRstudio 4. Небольшое видео для демонстрации. Ну, а при желании Вы всегда можете загрузить самостоятельно в микроконтроллер bootloader для arduino и использовать эту плату как arduino Uno или Nano. Сам я особо не любитель arduino, поэтому не делал на это большого акцента.

Список радиоэлементов

ОбозначениеТипНоминалКоличествоПримечаниеМагазинМой блокнот
IC1МК AVR 8-битATmega81или Atmega48/88/168/328Поиск в Utsource В блокнот
VD1, VD2, VD4Выпрямительный диод1N41483Поиск в Utsource В блокнот
VD3ИС источника опорного напряженияTL4311Поиск в Utsource В блокнот
L1Катушка индуктивности100 мкГн1Поиск в Utsource В блокнот
S1Тактовая кнопкаTC-A1091Поиск в Utsource В блокнот
LED1, LED4Светодиодкрасный2Поиск в Utsource В блокнот
LED2, LED5Светодиодзеленый2Поиск в Utsource В блокнот
LED3, LED6Светодиодсиний2Поиск в Utsource В блокнот
R9Подстроечный резистор10 кОм13296W-1-103LFПоиск в Utsource В блокнот
R1, R5Резистор180 Ом21206Поиск в Utsource В блокнот
R2-R4, R7Резистор100 Ом41206Поиск в Utsource В блокнот
R6Резистор10 кОм10,25 ВтПоиск в Utsource В блокнот
R8Резистор1 кОм10,25 ВтПоиск в Utsource В блокнот
R10Резистор4.7 Ом11206Поиск в Utsource В блокнот
C1, C6, C7Электролитический конденсатор10 мкФ3Поиск в Utsource В блокнот
C2, C3Конденсатор18 пФ2Поиск в Utsource В блокнот
C4, C5, C8Конденсатор100 нФ3Поиск в Utsource В блокнот
Z1Кварц16 МГц1или другойПоиск в Utsource В блокнот
Jmp1-Jmp10ПеремычкаДжемпер10Поиск в Utsource В блокнот
разъем «кроватка»DIP281для МКПоиск в Utsource В блокнот
ISPРазъемBH-101или 10 штырьковПоиск в Utsource В блокнот
Штырьки54Поиск в Utsource В блокнот
КонтактЦанга15Поиск в Utsource В блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Отладочная плата под Atmega 8

Привет всем! Рад видеть вас, дорогие читатели на моем блоге, посвященном радиолюбительскому творчеству. Меня зовут Владимир Васильев и у меня для вас сегодня новая интересная статья, по крайней мере я надеюсь что она вам будет интересна.

На днях я задумался: «Почему бы мне не заняться изучением нового для себя языка программирования, опыт с ассемблером уже есть, хочется чего-нибудь новенького «. И этот новый для меня язык является язык СИ. Язык Си привлек меня, наверное, более читаемым кодом нежели ассемблер. Ведь на ассемблере чем больший объем кода пишешь, тем проще в нем запутаться.

Для изучения Си мне понадобится некий полигон для экспериментов и опытов. Ведь если под каждую программу собирать отдельную плату, травить текстолит и т.д. и т.п. потребуется слишком много времени. Поэтому я решил создать некую универсальную плату напичканную светодиодами, кнопками, и другими штуками, чего мне на первое время хватит за глаза.

Конечно я давно в курсе , что существуют готовые интересные решения в виде отладочных плат разных производителей, причем по вполне доступной цене.

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

1. Способы подачи питания

а) Разъем программирования IDC-10

б) Клеммная колодка

в) Порт USB

г) «Извращенский» способ

2.»Фишки и плюшки»

а) Матричная клавиатура

б) Отдельные кнопочки

в) Семисегментный индикатор

г) Светодиоды

д) Пьезокерамический излучатель

е) Колодка для беспаечного монтажа

  • Технология изготовления

КОНСТРУКТИВ

В конструкции платы я не старался объять необъятное, а ограничился что называется самым «ходовым функционалом». Так я не применял дорогостоящие комплектующие, обошелся ровно тем, что было в шаговой доступности.

На изображении ниже, вы можете видеть что из себя представляет отладочная плата.

По задумке плата должна была быть не большой и иметь разнообразные способы подачи питания. Это задумано для того,чтобы я мог эксплуатировать плату в любом месте, где будет такая возможность и наличие питания 5В.

СПОСОБЫ ПОДАЧИ ПИТАНИЯ

Питание может подаваться четырьмя различными способами:

1. Через разъем программирования IDC-10 . Здесь питание подается прямо с программатора, что на мой взгляд удобно запитывать и программатор и прошиваемое устройство от одного источника питания. О наличии питания будет сигнализировать цветной светодиод.

2. Клеммная колодка установленная на плате позволяет запитывать устройство от батарейного отсека или от своего блока питания. Так взяв с собой блок питания можно эксплуатировать плату в любых полевых условиях, лишь бы была по близости розетка 220В.

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Вт и намотал на жало специальную демонтажную оплетку из магазина радиодеталей и вуаля. Результатом я оказался очень доволен. При залуживании в качестве флюса я применял обычный аптечный глицерин. После напайки «секретным методом» комплектующих получилось то, что вы можете видеть на картинках выше.

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

Если информация вам показалась интересной и полезной то обязательно поделитесь с друзьями в социальных сетях, значки находятся с левого края на странице.

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

Все материалы проекта .

Также дорогие друзья вы можете подписаться на обновления сайта и получать новые материалы и подарки прямо себе в почтовый ящик. Для этого достаточно заполнить форму ниже.

На этом у меня все, желаю всего доброго и до новых встреч,

С н/п Владимир Васильев.

Ваш email: Подписаться

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *