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.