Схема отладочной платы для avr. Итак, возможности отладочной платы

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

Для начала нужен программатор, но информации об этом в интернете тонны, потому остановлюсь лишь поверхностно. Самый простой из них - это так называемые «5 проводов», сделать его легко - берем LPT кабель и через резисторы соединяем с МК, как показанно на рисунке:

Делать все нужно предельно аккуратно, спалить LPT таким - на раз.
Гораздо лучше сделать что то приличнее - например USBasp он безопаснее, и работает через USB.
Как вариант - купить программатор в том же Voltmaster или Чип-и-Дип.
Параметры для начала не так важны, кроме цены и поддерживаемых микросхем.

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

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

Существуют отладочные платы для различных микроконтроллеров. И все в них хорошо, кроме цены (самая простенькая от 2-3 тыс.р - оно конечно того стоит, но на то оно и радиолюбительство, чтобы по возможности обойтись своими руками). Потому я принял решение создать свою простую отладочную плату, которая будет отвечать моим требованиям.

Какие требования были к данной плате:

  • Простота исполнения
  • Наглядность
  • Универсальность
  • Дешевизна
  • Простота создания тестового устройства
  • Наличие LCD дисплея
  • Встроенная клавиатура
  • 2 свободных порта (с возможностью их использовать по своему усмотрению)
  • COM порт у платы для интеграции с компьютером

Что было использованно при изготовлении:

  1. Стеклотекстолит односторонний ~70р
  2. Колодки для подключения периферии и коммутации (штырьки как на материнках, на которые вешаются джамперы) ~50р
  3. Кнопки тактовые - ~ 50р
  4. Панелька для микросхемы 30р
  5. Разьем для COM порта 20р
  6. Микросхема MAX232a 50р
  7. LCD индикатор - от 250р
  8. Сама микросхема ATmega32 от 200р
итого 720р по московским безумным ценам на радиодетали (А точнее по прайсу Вольтмастера).
вот что в итоге у меня получилось:
2. Разводка
Теперь по порядку. Начнем с разводки платы в Sprint-Layout. По сути, это самый ответственный момент в создании устройства, нужно учесть все ньюансы, а также на этом моменте нужно понять - что конкретно требуется от платы, как это должно выглядеть, как удобнее. Потому не советую повторять в слепую, стоит сесть и просмотреть аналоги, вычленить для себя интересные решения или узлы. У меня получилось вот так:

Подробнее о периферии, для этого стоит взглянуть на распиновку кристалла:

  • На PORTA будет висеть клавиатура - 7 кнопок, расположенных так, чтобы с помощью них можно было при надобности осуществить навигацию, например, по меню (крестовина), и пара кнопок для доп ф-й.
  • на PORTB я разместил LCD дисплей, таким образом, как это предусмотренно в codevision avr стандартными средствами (используются три командных регистра дисплея и 4 регистра данных)
  • PORTC и PORTD вывел колодками для подключения периферии. еще я предусмотрел рядом с колодками еще цанговые панельки, но в моем хозяйстве их неоказалось и их установка отложена до лучших времен
  • Также я разместил max232 c обвязкой из конденсаторов и разъем COM порта.
  • Для универсальности каждый пин контроллера выведен на колодки, параллельные панельке для микросхемы.
  • пины программирования SCK, MISO, MOSI и RESET продублированны еще одним рядом колодок
3. Изготовление печатки
Как только плата была разведена, методом лазерного утюга была изготовленна печатка. на методе останавливаться нет смысла, так как он сотни раз описан в интернете, и как минимум . Результат:
4. Завершающий этап
далее сверлим, лудим, паяем нашу плату.
5. Заключение
И вот, наша отладочная плата для упрощения разработки на МК готова. Теперь для того, чтобы научиться работать с функционалом МК AVR нам не придется ваять клубок проводов. просто подключаем к свободным портам нужную периферию (будь то светодиоды, датчики, драйверы приводов и сервомашинок, а так же многое другое), и спокойно пишем программу.

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

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

Схему, как таковую, я не составлял, все брал из головы. Размеры сего чуда 150х100мм Плата изготавливалась при помощи фоторезиста.
После приезда деталей плата была собрана и протестирована. Сложностей в сборке не возникло, разве что FT232 припаять Теперь я расскажу, что именно я сюда напихал

1. Питание. Плата может быть запитана как от внешнего источника, так и от верхнего разъема USB, выбор источника осуществляется джампером PS/USB В цепи питания от USB стоит самовосстанавливающийся предохранитель на 400мА для защиты порта. Стабилизатор мне попался 78R05, он с 4 выводами, последний отвечает за блокировку стабилизации. Без проблем можно переделать и под классический стабилизатор. Также можно выбрать и напряжение питания, либо 3.3, либо 5 Вольт при помощи джампера CPU_Power. Снизу на штырьки выведены напряжения: 5V, 3.3V и GND соответственно
2. Преобразователь USB-UART служит для связи микроконтроллера с ПК, выполнен на микросхеме FT232RL, разведен весь виртуальный COM порт и выводы UART с индикацией приемо-передачи. Снизу распаяны три штырька. Можно запрограммировать внутреннее EEPROM микросхемы при помощи программы MProg, и на них, к примеру, будет присутствовать тактовый сигнал. Я использую их для разлочки МК, проводок накинул-разлочил. Удобно! Также можно зашить ПЗУ на отображение режимов работы
3. Блок подтяжки уровней. Незаменимая вещь при работе с такими протоколами как 1-Wire и I2C, можно подтянуть вывод к питанию через резистор, а можно и к земле.
4. Сборка Дарлингтона ULN2003 в SMD исполнении для коммутации мощных нагрузок.
5. Блок сопряжения логических уровней 3.3-5V для работы со всякими низковольтными микрухами
6. Собственно сами панельки под МК, DIP-20, DIP-40 и DIP-28. Выводы для подключения кварца распаяны на цанговых контактах
7. Столбик светодиодов, загорающихся от логической единицы
8. Микросхема часов реального времени DS1307, со всей обвязкой (гнездо под батарейку находится под дисплеем) Часто используется радиолюбителями
9. Стандартные ISP-10 выводы для прошивки и кнопки сброса с отключаемой подтяжкой вывода Reset
10. Блок резисторов, два подстроечных и один перменный, два резистора при установке джамперов образуют делители напряжения. Также блок из 4 RC цепей для работы с ШИМ. Ну и пищалка с усиливающим транзистором.
11. Матричная клавиатура, при снятых джамперах превращается в кучку независимых кнопок, также можно подтянуть к земле
12. Двустрочный LCD дисплей. Подробно останавливаться на нем не буду, скажу только то, что подсветка управляется транзистором
13. Счетверенный семисегментный индикатор с общим анодом (можно воткнуть и с общим катодом), объединённый со сдвиговым регистром 74HC595. Я решил для экономии места объединить эти два девайса. Выбор режима работы осуществляется джампером Hi-Z/OE. Джампер OE-работаем с регистром, Hi-Z переводит выводы регистра в высокоомное состояние, можно подключаться напрямую к сегментам

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

Мой программатор, это многим знакомый AVR-910, но перешитый в STK-500, работает с AVR-Studio, да и скорость работы в разы выше! В архиве находится файл печатной платы и прошивка STK-500 с драйверами

Ну и еще несколько фото

Отладочная плата представляет собой универсальный модуль с микроконтроллером ATmega 32 фирмы ATMEL . Идея модуля заключается в том, чтобы на плате с микроконтроллером было минимум компонентов, необходимых для прошивки/отладки устройства. А вся необходимая периферия подключается отдельно. Таким образом, плата становится небольших размеров, отпадает необходимость закладывать в плату избыточный функционал, так как после знакомства с тем или иным компонентом он будет висеть мертвым грузом, тогда как лучше его пустить в дело, да и саму отладочную плату можно будет использовать в готовом устройстве.

ОСНОВНОЙ МОДУЛЬ

На основной плате помимо микроконтроллера предусмотрен стандартный 6-и пиновый разъем для внутрисхемного программирования, преобразователь на микросхеме FT 232 RL для подключения устройства к персональному компьютеру посредством стандартного UART , внешний высокочастотный кварцевый резонатор в усеченном корпусе и кнопка аппаратного сброса микроконтроллера. Так же в своей версии платы установил аналоговый акселерометр ADW 22035 от Analog Device (поставлен для ознакомительных целей) . Акселерометр использует 7-ой канал АЦП микроконтроллера и подключен к нему через керамический конденсатор С3 емкостью 0,1 мкф. При такой емкости частота опроса акселерометра должна составлять 50Гц (подробнее в даташите). На выходе акселерометра в зависимости от измеренного значения ускорения, будет находиться значение напряжения от 0 до напряжения питания. Аналоговый акселерометр можно заменить на подстроечный резистор номиналом 10-20 кОм, средний вывод нужно будет подключить к входу АЦП, а крайние к шине питания (Vcc и Gnd)

Плата выполнена на двухсторонней печатной плате, все компоненты, за исключением резистора подтяжки ножки Reset , находятся сверху. Все свободные ножки микроконтроллера выведены на разъемы J 1 и J 2.

В качестве индикации применены SMD светодиоды: PLED – индикатор наличия питания в схеме, D1 и D2 индикация передачи данных по UART.

Для облегчения разводки платы в районе преобразователя FT 232 RL , сигнальные светодиоды было решено перенести на вспомогательные выводы микросхемы CBUS 3 и CBUS 4. Поэтому для индикации приема/передачи данных, необходимо перепрограммировать EEPROM микросхемы FT 232 RL .

Остальные номиналы компонентов:

R 2, R 3, R 6 – 510Ом

R 4, R 5 – 1кОм

C 1, C 2 – 20пф

С4, С5, С6 – 0,1 мкрФ

все компоненты в типоразмере корпуса 0805.

Фото получившихся плат


И с обратной стороны


МОДУЛЬ РАСШИРЕНИЯ С ДИСПЛЕЕМ NOKIA 3310



Для освоения работы с дисплеем на контроллере PCD8544 от Nokia 3310, собрана плата расширения, подключаемая к основной плате через штырьковые разъемы J 1 и J 2 (при подключении индекс разъемов на обеих платах должен совпадать). Дисплей занимает для подключения следующие ножки МК:

Reset PortC .0

SCE PortC .1

D/C – PortC.2

SDin – PortC.3

SCLK PortC .4

К выводу Vout подключен электролитический конденсатор емкостью 4,7мкФ.

Также на данной плате предусмотрены 4 тактовые кнопки и 3 светодиода. Светодиоды подключены через токоограничительные резисторы (номиналом 510Ом) к выводам PortD .4, PortD .5 и PortD .7 что позволяет помимо стандартного включения/выключения индикации использовать аппаратный ШИМ (OC 1 A , OC 1 B и OC 2). Для подключения кнопок задействованы ножки микроконтроллера умеющие обрабатывать внешние прерывания (S 1 – int 0, S 2 – int 1, S 4 – int 2). Для подключения кнопки S 3 отведен PortB .3 без внешнего прерывания. Резисторы R 1- R 4 номиналом 10кОм, они подтягивают линии подключения кнопок к шине питания. Поэтому при конфигурировании условия нажатия необходимо задавать по заднему фронту или по низкому уровню. Для быстрого подключения дополнительной периферии несколько линий микроконтроллера выведены на разъем J 3. Для возможности генерировать звук, с обратной стороны платы расположен динамик. В данном исполнении динамик подключается проводами, поэтому специального места для него не выведено. Динамик подключен к выводу PortD.6.

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

Проверка на работоспособность дисплея

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


Разъем отдален от края платы и немного поднят над ней, позволяя воткнуть разъем IDC-06 только определенным образом - как показано на фото (если попытаться воткнуть наоборот, то этому помешает выступ на разъеме). Вот такая маленькая хитрость. Еще есть один момент при подключении программатора: так как разъем припаян с верхней стороны платы получилось так, что распиновка перевернулась зеркально и поэтому для подключения необходимо использовать кабель с перекрестным соединением шлейфа:


Скачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

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


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


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


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


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

Рекомендуем почитать

Наверх