Дисплейный модуль на ATMega8/168/328

Модуль дисплея atmega8

При разработке микроконтроллерных поделок практически всегда возникает потребность реализации пользовательского ввода и вывода. Часто функции ввода информации берёт на себя клавиатура (реже - энкодер), а для отображения состояния устройства используются либо светодиоды, либо светодиодные семисегментные индикаторы, либо ЖК-дисплеи (текстовые вроде 16х2 или графические). Последний вариант часто выигрывает по соотношению цена/возможности если использовать недорогой экран от телефонов Nokia 5110. Разрешающая способность экрана 84х48 позволяет выводить до 5 строк текста длиной до 16 символов. Естественно, помимо текста можно выводить и графику. С таким экраном обычно можно реализовать горазо более удобный пользовательский интерфейс, по сравнению с экранами 16х2, и тем более, по сравнению с семисегментными индикаторами.

Магазин

shop

На сайт добавлен магазин, где можно будет приобрести разработанные устройства печатные платы для них и излишки радиодеталей.

Русский

Преобразователь напряжения DC/DC в +12 и -5В

Преобразователь напряжения -5В и +12В

Преобразователь предназначен для ретро-компьютера Радио 86РК. “Сердцем” данной ЭВМ является микропроцессор КР580ВМ80А, для питания которого требуются три напряжения питания: +5В, -5В и +12В.

Напряжение +5В можно взять от внешнего блока питания, а -5В и +12 получить из него. Потребляемый микропроцессором ток от источника -5В составляет порядка одного миллиампера. Источник +12В должен обеспечивать ток не менее 75 мА для микропроцессора, плюс еще 12 мА для тактового генератора на микросхеме КР580ГФ24. Итого порядка 90 мА. Ещё для источников питания рекомендован запас по току в 2-3 раза.

Оба преобразователя выполнены на микросхемах MC34063, включённых по типовым схемам.

trolCommander v0.9.7

trolCommander 0.9.7

Недавно вышла новая версия файлового менеджера trolCommander - 0.9.7.
Несколько слов об основных улучшениях в ней...

В поисках альтернативы Atmel Studio

Atmel Studio and avr builder

Недавно вышла новая Atmel Studio версии 7.0. Как и все предыдущие IDE от Atmel, она не лишена ряда существенных недостатков, основной из которых - отсутствие кроссплатформенности.

Для сборки проекта студия использует утилиту make и генерит makefile. В принципе, makefile можно писать руками, но это не совсем удобно и очень громоздко. Попытки использования разных известные аналогов make (cmake, scons и прочее) желаемого результата также не дали. Хотелось своего велосипеда - чего-то предельно простого, гибкого и удобного. В качестве основы был выбран Python, т.к. его легко использовать не только в качестве языка для написания системы сборки, но и в качестве удобного языка для написания сценариев компиляции.

Магнитофон для компьютеров ZX Spectrum

Магнитофон для zx spectrum на atmega

ZX Spectrum - компьютер, созданный более 30 лет назад с 3.5 МГц процессором и всего лишь 48 Кб ОЗУ, под который написано огромное количество игр (да и прикладного софта тоже), в которые интересно играть даже сегодня. При том, что эти игры часто представляют собой мегашедевры с точки зрения программирования и оптимизации кода, их разработчики умудрялись вмещать огромные игровые миры в эти скромные 48 Кб.

Программы в те времена загружались с магнитофонной ленты. Причем, в отличии от самого Spectrum-а, магнитофоны и процесс загрузки с них вызывают гораздо меньше теплых воспоминаний - загрузка не всегда заканчивалась успешно, иногда игрушку приходилось грузить по несколько раз получая ошибку "R Tape loading error" регулируя положение головки магнитофона, прочищая ее поверхность одеколоном, либо, если совсем не повезло, вытаскивать из магнитофона "зажеванную" им кассету при этом с трудом сдерживая желание сильно стукнуть виновника апстену :)

Светодиодная УФ-лампа для изготовления печатных плат

Светодиодная ультрафиолетовая лампа с таймером

Решил соорудить себе светодиодныю лампу для экспонирования фоторезиста и паяльной маски. Для чего на алиэкспрессе были закуплены в количестве 500 штук 5мм-светодиоды на 2000 милликандел с длиной волны около 400нм. Питать их решил от блока питания с напряжением 12В. Т.к. на одном светодиоде падает напряжение около 3.5В, то соединять их надо в цепочки по 3 штуки и для тока через светодиод около 20мА сопротивление токоограничивающего резистора будет 68 Ом.

Светодиодную матрицу решил делать размерами 18 х 26 светодиодов с шагом между ними в 1 см. Матрица собрана на двух одиноковых печатных платах (18 х 13 светодиодов в каждой).

Корпус для лампы фабричный, алюминиевый. Был куплен в "Ашане" занедорого, там он более известен под кодовым названием "противень для выпекания пирогов" :).

Адаптер для программирования ATMega128

ISP адаптер для atmega128

При написании и отладке прошивки устройств на микроконтроллерах приходится часто выполнять перепрограммирование МК и периодически подключаться к нему через UART-интерфейс чтобы смотреть логи (по крайней мере, лично я предпочитаю отладку через UART-терминал). Особенностями МК ATMega128 является то, что 1) для внутрисхемного программирования он использует выводы, отличные от выводов SPI-интерфейса и
2) данный МК имеет на борту два UART-а, причем, выводы одного из них совпадают с выводами ISP-интерфейса.

Таким образом, при написании прошивки все манипуляции с устройством можно делать через один разъем для программатора.

Тестер микросхем на ATMega32

Тестер микросхем на atmega

Потребность в данном устройстве возникла у меня при сборке ретрокомпьютера Pentagon-128, когда компьютер, выполненный целиком на микросхемах мелкой логики (коих на плате пентагона порядка сотни корпусов) отказался работать после включения. После увлекательного поиска неисправности было обнаружено пять убитых микросхем. Что и побудило сделать тестер. Аппаратная часть разрабатывалась со следующими акцентами:

Совместное использование ассемблера и Си для AVR

AVR

При программировании вещей, критичных к быстродействию и размеру кода хорошо использовать ассемблер. При этом обычно не обязательно писать на нем весь код, достаточно реализовать наиболее “чувствительные” подпрограммы. Компилятор GCC и среда Atmel Studio позволяют использовать в проекте ассемблер и С одновременно. При этом возникает вопрос организации взаимодействия между подпрограммами на разных языках: вызова методов с передачей им параметров и доступа к переменным.

Страницы

Подписка на TrolSoft RSS