Отладочные платы avr. Что есть на этой плате

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

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


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


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


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


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

Статьи была описана сборка важной части нашей отладочной платы - схемы питания. Стоит сказать, что блок питания не всегда обязательно должен быть на любой отладочной или макетной плате. Если уже имеется готовый блок питания в виде готовой конструкции, то можно использовать и его. Широкое распространение получили и так называемые "лабораторные" блоки питания, имеющие одно или несколько стандартных выходных напряжений, часто регулируемых. Подобный блок питания также можно собрать самому или приобрести готовый. Тогда не потребуется каждый раз собирать схему питания для тестовых конструкций.


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


Рис. 1. Основные детали.

В качестве основы возьмём AVR-микроконтроллер ATmega8 . Это достаточно мощный микроконтроллер с большим объёмом памяти и разнообразной периферией. Можно также применить и любой другой микроконтроллер. С примером использования микроконтроллера ATtiny2313 на этой отладочной плате можно ознакомиться в другом варианте этого текста по ссылке: .

Как всегда, первым делом после выбора детали, нужно ознакомиться с расположением её выводов и основными характеристиками. Вся нужная информация для ATmega8 содержится в её . Помните, почти все выводы микроконтроллера могут иметь несколько функций. Эти функции можно выбирать при написании программы для µC. И на это следует обращать внимание уже на этапе составления принципиальной схемы. Кроме того, уже в процессе составления схемы удобно использовать условное обозначение деталей с "живой" распиновкой, то есть, при обозначении детали на схеме, чертить выводы так, как они расположены на самом деле. Тогда размещение компонентов и на схеме, и на плате будет происходить проще, понятнее и с меньшим количеством ошибок. (Почти во всех редакторах схем есть возможность нарисовать своё собственное условное обозначение детали.)

Начертим схему:



Рис. 2. Схема с микроконтроллером ATmega8 .


Кварцевый резонатор Q1 с конденсаторами С1 и С2 образуют источник тактового сигнала для микрооконтроллера µC1. Это очень чувствительная к помехам часть схемы, поэтому проводники для нее следует выбирать минимальной длины, а к проводнику между С1, С2 и восьмой ножкой µC1 (утолщённая линия на схеме) ничего больше не присоединять. Резистор R1 и конденсатор С3 образуют цепочку сброса для микроконтроллера. Резисторы R2-R5 необходимы для ограничения тока через свтодиоды LED1 -LED4 . В цепи питания стоит блокировочный конденесатор С4. В качестве источника питания будем использовать стабилизатор, собранный в первой части статьи. (Список всех возможных замен в схеме расположен в конце этой страницы.)


Рис. 3. Распространённая распиновка ISP-вилки.

Проводники для программирования следует подключить к одноимённым проводникам программатора. Эти проводники удобно подключить к ответной части разъёма имеющегося программатора с помощью стандартной вилки для установки на плату IDC-10MS (Рис. 3). Точное расположение выводов на этой вилке необходимо обязательно сверить с имеющимся программатором!




Рис. 4. Верх платы.

Расположим все детали на будущей отладочной плате в соответствии со схемой. Сначала одну за другой установим детали в отверстия, откусим бокорезами или кусачками излишнюю длину выводов элементов и запаяем. После этого можно провести соединения проводами. В той части схемы, которая не будет меняться в дальнейшем, соединения лучше производить с нижней стороны платы. Панельку (ещё говорят "кроватку") для микроконтроллера можно запаять пустой, а потом вставить в неё микроконтроллер. При этом нужно не забывать о "ключе" панельки и самого микроконтроллера. В нашей схеме, например, соединения кварца, соединения с программатором и соединение микроконтроллера с питанием изменяться в будущем не будут. А соединения со светодиодами мы, скорее всего, будем изменять для разных экспериментов.


Рис. 5. Низ платы.

Проводники питания лучше всего взять какого-то другого цвета; для плюсового провода можно взять красный, для минуса - синий или чёрный цвет. При разведении соединяющих проводников с обратной стороны платы не забываем о "зеркальности"!
Ровненько установить светодиоды можно следующим образом: продев небольшую полоску картона между выводами светодиодов, установить их в отверстия платы, с обратной стороны отрезать лишнюю длину выводов и запаять их. После пайки ножек полоску картона можно вынуть, Рис. 6.


Рис. 6. Установка светодиодов.



Перед включением ещё раз проверим правильность соединений, а самое главное - правильность разводки проводников питания к микроконтроллеру!
Если при подключении питания зелёный сигнальный светодиод в схеме стабилизатора светится и ничего не нагревается, значит схема собрана правильно.
Теперь можно себя поздравить, мы только что получили собранную своими руками настоящую отладочную плату!
Сразу же загрузим в микроконтроллер простейшую программу мигания светодиодами: . После загрузки прошивки в микроконтроллер светодиоды начнут поочерёдно мигать. Время свечения и пауз будет приблизительно равно одной секунде:

Видео 1. Работа тестовой прошивки.

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


Возможные замены в схеме с микроконтроллером ATmega8 Рис. 2:

  • Кварцевый резонатор Q1 можно применить на частоту от 2 до 8 Мегагерц. Тестовая прошивка (мигание светодиодами) будет работать медленнее или быстрее.
  • Конденсаторы С1 и С2 должны быть одинаковой емкости от 18 пФ до 27 пФ.
  • Ёмкость конденсаторов С3 и С4 может быть от 0,01мкФ до 0,5 мкФ.
  • Резистор R1 может быть заменён на другой, сопротивлением от 10 до 50 кОм.
  • Токоограничительные резисторы R2-R5 могут иметь сопротивление от 680 Ом до 1 кОм.
  • Светодиоды LED1 -LED4 могут быть любого цвета и размера.
  • Основной микроконтроллер может иметь следующие обозначения: ATmega8L -8PU, ATmega8 -16PU. Главное, чтобы он был в корпусе DIP или PDIP.


Дополнения:

  • ZIP: Тестовая прошивка мигания свтодиодами .
  • URL: .

Смелых и Удачных Экспериментов!!!

Прикупил я себе платку для моделирования работы станка с ЧПУ. Планировал делать на контроллере ATmega128A, но в итоге перешел по некоторым причинам на STM32F103C8. Но платка-то все же пришла. Надо ее замучить. Самое главное то что я заказывал ее с определенными но... Нужно чтобы был МК ATmega128A с полным выводом всех ног. Также присутствовал COM-порт, кнопочки, светодиоды для индикации. Отсюда пал выбор на BK-AVR128. Купил я ее .
Фотка сего девайса.

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

Как видно из фотографии все сделано очень удобно. Кварц расположенный справа не впаян намертво, а сидит на цанговой панельке, так что можно поставить любой. Снизу под контроллером расположился светодиод D9, подключенный к РВ4 катодом. Правее светодиода расположена микросхема ULN2003.

Вот ее схема включения.

Вот тут я не много не понимаю, зачем 9 ногу соединили с VCC. Вот схема ULN2003.

Если посмотреть то можно увидеть что к этой ноге подключены диоды катодами. Их предусмотрели для гашения самоиндукции когда микросхема управляет реле. Теперь давайте представим что мы подключили 12 вольтную реле и решили ее подтянуть. Один конец катушки повесили на +12в, а второй на вывод ULN2003. Подали на вход 1 и реле подтянулось. А теперь отпустили реле. При постоянке сопротивление катушки равно сопротивлению проводника. Так как у нас 9 ножка соединяет все катоды диодов, а аноды соединены с портами, то через катушку потечет ток к аноду диодов и пройдя через него прямиком на +5в USB. Я думаю USB порту такой расклад не понравится. Поэтому больше 5 вольт нагрузку лучше не вешать. Еще правее ULN2003 расположена кнопка сброса МК. Привязана к ресету. Правее кнопки ресета распологается лес из кнопок. Эта матричная клавиатура 4Х4 и 4 свободных кнопок привязанных к земле.

Вот схема.

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

Это правда не мой рисунок так что не обессудьте. Поехали дальше по плате. В правом нижнем углу располагаются два 10-ти пиновых разъема. Один(сверху) JTAG, а второй(снизу) ISP. Предназначены для программирования и отладки МК. Проверял оба, работают. Правда у меня AVR JTAG ICE оооочень медленный. Так что пользуюсь только AVRASP v2.0 USB без внутрисхемной отладки.

Теперь двигаемся наверх. Тут все красиво. По классической даташитовской схеме прикручена микросхема DS1302(часы реального времени).

Здесь ничего лишнего. Микросхема часов, часовой кварц и батарейка. Вот схема.

Выше этажом расположился 8-и разрядный 7-и сегментный индикатор с общим анодом. Управлять этим индикатором помогают два буфера 74HC573. Один буфер отвечает за сегменты цифры, а вторая за разряд. Вот они все вместе.

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

Левее светодиодов расположены два однорядных разъема и три переменных резистора.

Резистор VR1 прикручен к PF0(ADC0) как не трудно догадаться он нужен для работы с АЦП. VR2 для регулировки контраста LCD 16x2. VR3 для регулировки контраста LCD 128x64. Сами разъемы для этих дисплее расположены над резисторами.

Но здесь опять возник один нюанс. Чем думали когда трассировали плату? Если установить дисплей 16х2 от Винстара, то дисплей своим корпусом закроет все резисторы. Как собственно регулировать контраст? А если работаешь с АЦП, хочется выводить данные на дисплей. Установил и опять же как крутить резистор АЦП? В общем это самый большой косяк этой платы. В дальнейшем буду городить шлейф. Теперь поехали в нижний левый угол.

Так, что тут у нас. Слева на право. Колодка дающая живительную энергию от USB, ИК датчик и DS18B20(который не входит в комплект, мол покупай сам. Ну и хрен с ними у меня их куча). ИК датчик работает на ура, проверял. Выводил коды от ТВ пульта на логический анализатор. Вестч))) Датчик температуры он и в Африке датчик температуры, работает, тоже проверял. Идем выше.

Специально сделал фотку в таком ракурсе. Как видно за разъемом DB-9 торчит микросхема MAX232. С ее помощью реализован "полный" COM порт))) То есть RxD, TxD и GND.

Но самое интересное это левый разъем PC/2. Да, к нему можно подключить клаву. Но...

Если внимательно посмотреть на схему подключения, то можно увидеть что тут проектанты немного подумали. А именно, PD2 - RxD1, PD3 - TxD1. Так что если нужен еще один UART, то вот вам и разъем. Так же на фотографии виднеется микруха EEPROM на шине I2C(причем висит на аппаратном I2C) AT24C02. И пищалка для пищания. Ну и на по следок, чем все это барахло питается.

Верхний разъем это USB, нижний для подачи строго 5 вольт. Кнопка справа включает питание. Так же питаться плата может от программатора.

Как видите здесь опять косяк. Ни тебе защиты USB от КЗ, ни тебе стабилизатора по питанию из вне(хотя бы LM7805 поставили).
Резюме:
Плата собрана добротно, все припаяно нормально. Для тестов вполне подходит так как имеет на борту практически всю периферию начиная от ИК сенсора, заканчивая дисплеями для вывода информации. Для использования людям которые никогда МК в живую не видели не рекомендую по выше описанным косякам. Да и если фьюзы напортачить, то можно загнать МК. Если человек уже понимает как весь этот огород работает, то вполне неплохая платка. Все же 1,2т рубликов против 6т за STK500 я думаю неплохо. Если у кого-нибудь возникнут вопросы по плате, пишите отвечу.
На сегодня все.


саня 26.09.14

Привет. Купил такую же плату, но компашка не читабельна. Можешь выложить архив с содержимым компакт диска?

Алексей 27.09.14

А там по моему ничего интересного нет. Все на китайском, даже документация на Мегу. Я сейчас не дома. В воскресение приеду домой, поищу и если найду, то скину.

Алексей 28.09.14

К сожалению я диск потерял.

Pomidor 13.04.15 16:48

Алексей, не могли бы вы написать мне на мыло? Есть пара вопросов по этой плате, в частности нужна стандартная программа которая была зашита в МК китайцами (там где при включении на 7-сегментники выводится время, начиная с 12-00), которую я по ошибке стер. Заранее благодарю. [email protected]

Марат 15.05.16 00:19

Алексей, а как у вас работает ISP, если вывод MOSI трассирован на 2ю ногу МК, а вывод MISO на 3?

АНОНИМ 15.05.16 00:47

Извиняюсь, на ночь глядя спутал с внутренним SPI. Что-то у меня не читается/стирается/пишется (

Алексей 15.05.16 12:54

Что значит не читается/стирается/пишется? Как это выражается? Сигнатуру МК программатор может считать? Может соединительный шлейф с обрывом?

Марат 15.05.16 13:52

Все нормально) у меня с железом проблемы, на компе Убунту стоит, программатор PG1 (видимо надо распиновку проверить), а утром на нетбуке с USBasp под XP первым делом прошивку сохранил)

Плата отладочная является достаточно полезным инструментом при разработке различных электронных устройств. Но можно ли создать её своими руками? Или же следует рассчитывать только на промышленные аналоги? Какие особенности есть у этого устройства? Об этом мы сегодня и поговорим.

Общая информация

Когда говорят об этой теме, то чаще всего понимается отладочная плата для Atmega8 или иного подобного микроконтроллера, в основе которого лежит 8-ми или 16-битный принцип работы. Но мир идёт вперёд. Наступает пора 32-битных микроконтроллеров. В связи с этим мы рассмотрим то, что может быть доступно нам уже сейчас. Особое внимание следует уделить отладочной плате STM32, хотя в рамках статьи рассматриваются всё же AVR. Но сначала представим общую картину.

Появление 32-битных микроконтроллеров позволило значительно расширить объем задач, которые они могли выполнить. Но необходимо оптимизировать принимаемые решения и создаваемую технику. Хотя и старым образцам будет уделено внимание, ведь не отметить их универсальность и добротность просто нельзя.

Что же собой представляет STM32?

Конечно, наибольший интерес в рамках статьи представляет плата отладочная. Но чтобы разобраться в дополнительном моменте, давайте рассмотрим основной. Допустим, у нас есть STM32F103C8T6. Отладочная плата представляет собой конструкцию с микроконтроллером, что строится на ядре ARM Cortex-M3. Оно обладает значительным количеством преимуществ, главное из которых - универсальность. Кстати, сейчас Cortex-M3 является полноценным индустриальным стандартом. Плата отладочная представляет собой поверхность, на которой могут взаимодействовать все ножки STM32, обеспечивая выполнение имеющихся задач.

Приступаем к подготовке

Итак, нам нужна плата отладочная. Какие у неё должны быть параметры? Купить её или сделать самостоятельно? Каков у неё должен быть размер? Вот с последнего вопроса мы и начнём. Первоначально необходимо подобрать такое устройство, чтобы все механизмы и составляющие элементы могли успешно разместиться на нем. В большинстве случаев достаточно, чтобы отладочная плата для AVR имела стороны в пятнадцать сантиметров. Такой размер подходит благодаря компактности и возможностям прибора.

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

Планирование

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

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

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

Плата питания

Допустим, мы строим что-то значительное по размеру, и наше устройство складывается из нескольких модулей. В данном случае схема отладочной платы должна предусматривать возможность получения на входе постоянного или переменного напряжения. Чтобы добиться нескольких способов подключения, нужно подумать о разъемах и клеммниках. Для обеспечения работы нужно предусмотреть не только батареи, но и стабилизатор. А на случай легких перегрузок и сопутствующих перегревов можно использовать и небольшой радиатор.

Плата микроконтроллера

А вот и самое интересное. Вполне возможно, что отладочные платы для микроконтроллеров и вспомогательных элементов - это сложнейшие составляющие. Ведь они являются «мозгами» технических устройств. Для успешного старта в сфере отладочных плат начинать со сложных 32-битных контроллеров нежелательно. Можно начать с чего-то попроще. Например, с ветерана мехатронных разработок ATmega8. Чтобы не усложнять ситуацию дополнительно, можно обойтись построением односторонней печати.

А что делать, если требования выходят за эти рамки? Использовать двухстороннюю печать? Как вариант - да. Но если превышение возможностей незначительно, то часто можно обойтись без монтажных перемычек. Лучше вынести разъемы портов и цепи подтяжки на отдельных миниатюрных платочках. Такой подход позволит облегчить разводку платы микроконтроллера. Но это только общая теория. Давайте же поговорим о реализации на практике.

Ручное изготовление печатной платы

Первоначально нам необходима бумага, на которой будет нарисована разводка для печатной платы. Желательно, чтобы она была тонкой. Это важно для достижения точного сверления отверстий. Чтобы не возникло никаких неожиданностей, бумагу можно приклеить к картону с помощью клея. Далее следует вырезать приклеенный рисунок. Что ж, шаблон для сверления уже готов. Подбираем заготовку фольгированного стеклотекстолита необходимого размера. Прикладываем бумажно-картонный шаблон и обрисовываем его по периметру карандашом или маркером. Затем стеклотекстолит режем по нанесённым нами линиям, используя ножницы по металлу, или же пилим ножовкой. Склеиваем части с помощью клея.

Кстати, небольшой совет: не нужно мазать всю поверхность, достаточно оставить по капле клея в каждом из четырех углов. Если нет желания ждать - используйте «Момент». Он позволит продолжить работу через несколько секунд.

Сверлим отверстия

Для этой цели наилучшим образом подойдёт специальный мини-станок. Но можно воспользоваться и ручным инструментарием. Для подавляющего большинства целей с лихвой хватает сверла с диаметром 0,8 мм. Следует отметить, что качественная плата может не получиться с первого раза из-за сложности работы и необходимости иметь твердую руку. Если подобные действия будут осуществляться впервые (а так, вероятнее всего, и будет), то можно только посоветовать морально подготовиться к тому, что будут поломаны сверла. После выполнения всего спектра работ, чтобы убедится в их качестве, посмотрите на просвет. Если будут заметны определённые дефекты, их необходимо оперативно устранить.

Наносим топографический рисунок

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

После того как дорожки размечены, мы можем приступать к процессу нанесения рисунка. Для этой цели подойдёт водостойкая эмаль (любая).

Переносим рисунок с бумаги на стеклотекстолит

Это самый ответственный этап. Необходимо бумагу (той стороной, где рисунок) приложить к стеклотекстолиту и прижать с большим усилием. Затем разогреваем полученный «бутерброд» в духовой печи до температуры в 200 градусов. Ждём, пока плата охладится до комнатного значения. После этого остаётся отодрать бумагу - и рисунок останется на печатной плате. Это может показаться довольно сложным, особенно с температурой. Специально для таких сомневающихся людей некоторые умельцы предлагают использовать электроутюг. Но здесь следует сделать одно важное предупреждение: результат получается нестабильный. Конечно, можно попробовать попрактиковаться день-второй, и, возможно, будет не хуже, чем в случае с печью. Но всё же существует проблема сложности обеспечения одновременного нагрева поверхности по всей печатной плате до одной температуры. Поэтому рисунок таким способом переносится не полностью.

Наиболее значительные проблемы доставляют пробелы, которые возникают при таком создании. Для безопасности во время «приготовления» печатной платы в духовке её можно дополнительно с разных сторон укрыть листами из металла толщиной в пять-шесть миллиметров. Это делается во избежание негативной деформации во время термической обработки платы.

Заключение

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

Просмотров