Почти все устройства в моих статьях строятся на основе отладочных плат. Сегодня поговорим об отладочной плате для микроконтроллеров Atmega8/48/88/168/328. Все они в DIP корпусе имеют 28 выводов и одинаковое их расположение, поэтому без проблем можно одну отладочную плату использовать для любого из вышеперечисленных микроконтроллеров. Возможности этой отладочной платы позволяют также установить, например, bootloader для arduino и использовать эту плату как arduino.
Общий вид готовой отладочной платы
Принципиальная схема отладочной платы:
Данная отладочная плата состоит из следующего набора элементов. Место для микроконтроллера в отладочной плате использовано с применением разъема для корпуса DIP-28. Применение такого разъема, в народе именуемого «кроватка» позволит в случае чего быстро заменить микроконтроллер на плате. Удобно, если по неопытности случайно залочить микроконтроллер, удобно его извлечь и «вылечить» при помощи другой схемы или просто быстро сменить тип используемого микроконтроллера.
Также для быстрой смены кварцевого резонатора использован разъем. Так как эта отладочная плата, могут возникать ситуации, когда необходимо перезапускать микроконтроллер. Для этой цели на плате предусмотрена кнопка S1 — при замыкании на землю вывода PC6, происходит рестарт или reset используемого микроконтроллера. Резистор R6 подтягивает плюс питания к этому выводу для предотвращения самопроизвольного перезапуска. Данная макетная плата имеет простое исполнение, поэтому добавил два модуля для светодиодов (по три светодиода в каждом модуле). Токоограничительные резисторы для светодиодов подобраны таким образом, что для каждого модуля можно использовать RGB светодиоды — удовлетворено условие баланса белого. Падение напряжения на красных светодиодах чуть меньше, чем у зеленых и синих, поэтому резисторы R1 и R5 имеют сопротивление 180 Ом. Кроме того, резисторы в анодах светодиодов ограничивают ток на уровне примерно 18 — 20 мА для максимальной яркости. каждый светодиод соединяется с портом микроконтроллера через перемычки (джемперы) 1 — 6. Также, благодаря штырьковым соединениям, при помощи проводка о 2-х концов с соответствующими разъемами типа «мама» можно соединять светодиоды с любыми другими выводами микроконтроллера. Таким образом, макетка позволит отлаживать многие простые задачи без особых телодвижений, соответствуя своей простоте относительно всеобъемлющих отладочных плат, содержащих все нужные и не нужные модули для отладки любых задач. Следуя данной концепции, на плате возможно два варианта питания — 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/328VD1, VD2, VD4
Выпрямительный диод1N41483
VD3
ИС источника опорного напряженияTL4311
L1
Катушка индуктивности100 мкГн1
S1
Тактовая кнопкаTC-A1091
LED1, LED4
Светодиодкрасный2
LED2, LED5
Светодиодзеленый2
LED3, LED6
Светодиодсиний2
R9
Подстроечный резистор10 кОм1
3296W-1-103LFR1, R5
Резистор180 Ом2
1206R2-R4, R7
Резистор100 Ом4
1206R6
Резистор10 кОм1
0,25 ВтR8
Резистор1 кОм1
0,25 ВтR10
Резистор4.7 Ом1
1206C1, C6, C7
Электролитический конденсатор10 мкФ3
C2, C3
Конденсатор18 пФ2
C4, C5, C8
Конденсатор100 нФ3
Z1
Кварц16 МГц1
или другойJmp1-Jmp10
ПеремычкаДжемпер10
разъем "кроватка"DIP281
для МКISP
РазъемBH-101
или 10 штырьков
Штырьки54
КонтактЦанга15
Добавить все
Скачать список элементов (PDF)
Прикрепленные файлы:
- proteyss.rar (7 Кб)
- отладочная mega8.lay6 (171 Кб)
- 1234.rar (8 Кб)
- 1234.hex (1 Кб)