Обычно, подобные проекты выполняются на макетной плате, а сложность ограничивается двумя-тремя светодиодами.
Эти первые проекты реализовываются быстро и большинству из нас так же быстро надоедают. После этого отладочная плата отправляется в забвение (в шкаф, стол, коробку «с нужными платами»), где и валяется до лучших времён.
В качестве идеи оригинального подарка ко дню влюблённых, предлагаю повторить популярную конструкцию на микроконтроллере, особенно если вы ещё не наигрались со светодиодами. Проект, прежде всего, может заинтересовать тех, кто в своё время приобрёл отладочную плату Launchpad от Texas Instruments (TI) для разработки устройств на базе семейства микроконтроллеров MSP430Gxxxx.
Хотя заказать заветную коробочку Launchpad с платой отладки и разработки и двумя микроконтроллерами можно прямо сегодня у заботливых китайцев.
Содержание статьи / Table Of Contents
↑ Краткий ликбез по MSP430G
Линейка микроконтроллеров MSP430Gxxxx — 16-разрядные решения, с низким энергопотреблением для создания «умных устройств» и систем, питаемых от батареек. За счёт применения различных алгоритмов сна, можно реализовать устройства, которые в ждущих режимах будут потреблять десятую долю мкА, а значит срок службы элементов питания составит многие годы.Применённый мною MSP430G2452 выполнен в DIP-корпусе, с 20 выводами, из которых 2 используются для питания, 2 — для подключения отладочной платы и программирования, а оставшиеся 16 выводов в проекте использовались в качестве дискретных выходов.
Таким образом, количество светодиодов было ограничено количеством дискретных выводов до 16.
↑ От слов — к делу
Создавать алгоритм мигания с нуля не было времени, поэтому он был подсмотрен в решении на Atmega8 (в прототипе использовалось 22 светодиода). К сожалению, ссылка на тот проект утрачена. Возможно, в комментариях кто-то подскажет.Быстрый поиск в закромах показал, что я на тот момент не был готов собирать устройство в SMD-исполнении, не было ни оборудования, ни деталей, ни опыта изготовления печатных плат достаточной точности. В наличии было 20 светодиодов диаметром 3 мм красного цвета (половина в прозрачных корпусах, половина — в красных). Их яркость была соизмерима, поэтому я в итоге их скомбинировал, чтобы набрать требуемое количество. Токоограничивающие резисторы применил номиналом 470 Ом.
Назначение резистора и конденсатора на выводе «RST» микросхемы — обеспечение возможности внутрисхемного программирования, что удобно в процессе отладки, так как не требуется вынимать чип из панельки.
Прототипирование в Sprint Layout’е показало отсутствие проблем с расположением элементов и с трассировкой в одностороннем исполнении ПП. Задумка была следующая: сделать трассировку под размер монтажной платы 50×70 мм и, в случае дефицита времени, исключить этап травления и засверливания отверстий. Времени было немного, поэтому травить плату я не стал и прошу повторяющих проверить трассировку перед погружением в раствор для травления.
В процессе сборки расположение некоторых резисторов было изменено. За один вечер была собрана плата, в процессе наладки исправил пару огрехов с «соплями» олова. Сборку осуществлял с использованием остатков выводов резисторов и того, что было под рукой.
Остатки канифоли полностью удалять поленился, подумал что это никто никогда не увидит. Ошибся.
↑ Прошивка MSP430
Программный код для проекта разрабатывался в рекомендуемом TI программном пакете «Code Composer Studio». В процессе написания статьи проверил компиляцию старого проекта. Для того чтобы она проходила необходимо скачать компилятор MSP430 версии 4.4.х через пункт меню «Help > Install New Software», который в нынешней новой версии среды CCS не устанавливается по умолчанию.Прошивать тиаевские МК одно удовольствие - никакого порхания с бубнами.
Просто вставляем контроллер в плату Ланчпада и подключается по USB к компьютеру.
Даже шнурок в комплекте!
Просто вставляем контроллер в плату Ланчпада и подключается по USB к компьютеру.
Даже шнурок в комплекте!
Первое включение и заливка кода установки состояния всех выходов в «1» меня немного расстроило. Пару светодиодов, подключенных к выходам P2.6 и P2.7, не горело. На следующий день, покопавшись в сети по форумам, я обнаружил, что эти выходы необходимо было соответствующим образом сконфигурировать в программе для микроконтроллера. Быстро внёс изменения, скомпилировал очередной «билд» и проблема была решена.
Далее последовала адаптация имеющегося кода под мою плату и некоторая корректировка алгоритма зажигания светодиодов, вылившаяся в день увлекательной отладки.
К вечеру «сердце» было реализовано в железе.
↑ Встречают по одёжке
Оставался вопрос, как преподнести подарок? Согласитесь, подарить плату с проводами и держалкой батареек, далеко не лучшая идея, учитывая, что подобный юмор мало кто оценит, особенно если получатель подарка — девушка, называющая радиодетали «железяками».Была изыскана коробка от USB 3G-модема «компании с яйцом на красном фоне», похожая на бокс для DVD-диска. Плату разместил в прорезях материала, похожего на поролон. Там же разместил тумблер питания, включающего устройство при открытии бокса, а также две «ААА» батареи. Всю эту «красоту» закрыл сверху листом глянцевой бумаги.
К сожалению, цветного принтера на тот момент под рукой у меня не было, а мои художественные навыки оставляют желать лучшего. Смирившись с бедностью оформления, решил сделать ставку на «ВАУ-эффект». Снаружи бокса вставил вкладку с совместной фотографией (да-да, в чёрно-белом исполнении, к моему большому сожалению).
Совместную фотографию на фронте показывать не буду по соображениям конфиденциальности, с тыльной же стороны получилось довольно серо, но времени на исправление чернового решения уже не было.
↑ Итоги
Любимая была довольна такой творческой добавкой к обычным подаркам и поздравлениям.Надеюсь, кто-то заинтересуется этой замечательной линейкой микроконтроллеров, которые ничем не хуже своих раскрученных аналогов, производства PIC/AVR.
Приношу извинения за невысокое качество фотографий, статью писал спешно с оглядкой на календарь.
Позднее планирую опубликовать проект терморегулятора для небольшой замкнутой системы дополнительного обогрева в «хрущёвке» с использование штатной нагревательной газовой колонки. Решение делалось для друга с целью сэкономить. В проекте был применён неизвестный терморезистор из аккумулятора ноутбука, так что пришлось определять его характеристики и определять функцию изменения сопротивления в зависимости от температуры.
↑ Файлы
Во вложении — разработанная печатная плата в формате Sprint Layout 6.0 и проект в «Code Composer Studio 7». Проект был настроен под последнюю версию среды разработки на момент написания статьи, но при желании может быть перенесён в другую среду разработки, сложных алгоритмов и структуры в нём нет.Если будут какие-то вопросы — задавайте в комментариях, я постараюсь на них оперативно ответить.
🎁 heart.zip 47.17 Kb ⇣ 35
Спасибо за внимание!
Камрад, рассмотри датагорские рекомендации
🌼 Полезные и проверенные железяки, можно брать
Опробовано в лаборатории редакции или читателями.