Возникла однажды у меня потребность в нормальном блоке питания. В таком, чтоб мог отдавать в нагрузку ток 4-5 ампера и чтоб напряжение регулировалось. Сказано — сделано. Нашел старинный блок AT блок питания от компа, перепаял. Напряжение регулируется, да вот только сколько там вольт на выходе не понятно. А каждый раз подключать мультиметр мне лень. Для этого спаял вот это чудо:

Вольтметр на avr

Данный вольтметр измеряет напряжение в диапазоне от 0 до 20 вольт. Диапазон может быть расширен или наоборот уменьшен. (придется немного подправить прошивку и пересчитать делитель напряжения). Аппаратная часть почти не представляет интереса: Линейный стабилизатор, источник опорного напряжения на TL431, контроллер и трёхразрядный семисегментый индикатор с общим анодом.

Вольтметр на AVR

Трёхразрядного индикатора я в Proteus’е не нашел так что не удивляйтесь :-) В принципе, если микрухи TL431 под рукой не будет то можно использовать стабилитрон на 5.1 вольта  + делитель напряжения. Но лучше оставить её т.к. измерения будут точней. Стоит она рублей 10 и дефицитом не является. Её можно найти в компьютерных блоках питания в цепях источника дежурного напряжения. Обычно она в корпусе TO-92. Резисторы обвязки лучше применить с допуском 1%. Опять же для точности. Если нет, то можно поставить и обычные. У меня с обычными резисторами источник опорного напряжения выдает около 5.02 вольта, что в принципе нормально. Конденсатор C3 следует расположить максимально близко к микроконтроллеру для снижения всевозможных наводок. Дроссель можно взять любой какой есть в запасах примерно от 10uH до 100 uH. Я нарыл старинный, советского производства. На фото его хорошо видно. Я люблю smd монтаж, и плата соответственно разведена под smd компоненты типоразмера 1206. Ни кто разумеется не запрещает развести свою печатку под выводные детали =) Вместо контроллера Atmega88 можно использовать Atmega8 без изменения схемы. Нужно всего лишь зашить соответствующую программу. Фьюзы микроконтроллера должны быть настроены на тактирование от внутреннего RC генератора работающего на частоте 2 мгц.

Вольтметр на avr

Разобравшись с железом поговорим о софте. Впервые я писал программу для микроконтроллера на микропаскале от Mikroelektronika. Впечатления отличные! Удобная среда разработки, справочная система, компактность генерируемого hex, всё это на высоте. Если кто-то захочет подправить прошивку, например сделать её для индикатора с общим катодом, то она в вашем распоряжении внизу страницы. Там же можно обнаружить саму среду разработки в которой этот исходник можно открыть и скомпилировать.

Микропаскаль для AVR

Прошивка+исходник на микропаскале

Печатная плата вольтметра

Альтернативная версия прошивки и платы от Дениса