Цифровой ШИМ регулятор с кнопочным управлением

Приветствую, Самоделкины!
Из этой статьи Вы узнаете, как своими руками собрать цифровой ШИМ регулятор полностью на дискретной логике.

Дальнейшая инструкция взята с YouTube канала «AKA KASYAN». Стоит отметить, что предложенный в данной статье вариант схемы цифрового ШИМ генератора не претендует на идеальный и единственно верный.

Схема. Для упрощения было решено реализовать принцип генерации из ШИМ, который используется в микроконтроллерах. Давайте разберем данный принцип более подробно.

Имеется некий счетчик, который считает от 0 до своего предела, а в момент обнуления генерируется сигнал сброса.

При этом каждое значение в счетчике сравнивается со значением в некотором регистре, и когда они равны, также генерируется сигнал, но уже установки.

В результате мы получаем ШИМ сигнал.

Надеюсь, общий принцип понятен всем. Теперь переходим к микросхемам. Сперва давайте соберем все в симуляторе.

Первое, что нам понадобится — это генератор тактовых импульсов. В симуляторе для стабильности заменим его на готовый генератор.

Теперь необходимо отправить сигнал с генератора на счетчик. Допустим, пускай счетчик будет десятичный К155ИЕ2.

Отлично, программа-симулятор показывает, что данные на выходе счетчика присутствуют, теперь необходимо сделать регистр, в котором будет храниться эталонное значение. Каким образом это можно реализовать? Самый простой вариант — это поставить еще один такой счетчик, тактовый вход которого, подать на кнопку.

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

Хорошо, теперь можно сравнивать эти два значения, то есть, когда 4 бита первого счетчика равны 4-ем битам второго, нужно чтобы формировался сигнал установки.

Реализовывается это довольно просто. В данном примере на помощь приходит микросхема «Исключающего ИЛИ». На изображении ниже представлена таблица истинности такого элемента:

Когда значения на входах равны, то на выходе получаем логический ноль, а когда данные различаются — логическую единицу. Итак, применим микросхему К155ЛП5.

Все 4 элемента подключаем парами, первый выход с первого счетчика и первый выход со второго счетчика, и так далее. После чего все выходы «Исключающего ИЛИ» соединяем через диоды и подтягиваем к земле.

В итоге получаем так называемую схему «ИЛИ» на диодах. Не стоит забывать про подтягивающие резисторы, так как выход микросхемы ЛП5 с открытым коллектором.

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

Безусловно в данном проекте можно использовать микросхему К155СП1 или 7485, которая как раз является цифровым компаратором для двух четырехбитных слов, но найти такой компаратор не такая уж простая задача, поэтому в данной схеме было решено применить максимально доступные компоненты.

Далее задача состоит в следующем: необходимо обработать сигнал переполнения счетчика. У некоторых счетчиков имеется выход переполнения, на котором появляется логическая единица когда счетчик сбрасывается, но в выбранном автором счетчике такой выход отсутствует. Для решения поставленной задачи был выбран снова самый простой способ (по мнению автора). Было решено воспользоваться такой же схемой на диодах.

В результате в момент, когда на всех диодах микросхемы будет логический ноль, вот в этой точке (смотри изображение ниже) будет логический 0, во всех остальных же случаях логическая единица.

Далее понадобится элемент с устойчивым состоянием, которое можно устанавливать и сбрасывать. Для этой задачи подходит триггер, возьмем микросхему К155ТМ2, это два D- триггера.

Подтягиваем входы D и С к питанию, а использовать будем входы S и R. Для установки триггера на вход S необходимо подать 0, а на вход R – единицу. Для сброса все наоборот, на вход R необходимо подать 0, а на вход S – единицу. Для хранения, значения на обоих входах должны быть единицы. Если же будут поданы два нуля, то значение состояния триггера будет неоднозначным и этот момент необходимо учитывать.
Теперь у нас имеются два сигнала. Сигнал с первой точки должен сбрасывать триггер, а сигнал со второй точки устанавливать. Подключим все по следующей схеме и подключим осциллограф к выходу триггера, чтобы посмотреть, что там за сигнал.

Как видим, это ничто иное, как ШИМ сигнал, который имеет 10 состояний, примерно от 0 до 90 процентов заполнения, если снимать сигнал с прямого выхода триггера, и от 10 до, примерно, 100 процентов заполнения, если снимать сигнал с инверсного выхода.

С теорией все, теперь переходим к реальной схеме.

Сами печатные платы были заказаны на сайте китайской компании. Вы же, если решите повторить данный проект, можете изготовить печатные платы самостоятельно, или также можете заказать платы заводского изготовления. Все необходимые файлы, а также папку с gerber-файлами, можно скачать перейдя по ЭТОЙ ССЫЛКЕ.

Разберем некоторые нюансы. Во-первых, тут необходимо позаботиться о дребезге кнопки, поэтому ставим триггер Шмитта К155ТЛ2 и простенькую схемку подавления дребезга.

Далее собираем генератор опорной частоты, на это уйдет еще пара триггеров Шмитта.

Затем на еще одном триггере Шмитта сделаем цепь начального сброса для второго счетчика.

И еще 2 триггера Шмитта будем использовать в качестве инверторов.

Также установим в схему мосфет с низким сопротивлением, например, серии IRL, которые предназначены для управления логическими уровнями, а значит при подаче на него напряжения 5В, он полностью откроется, при этом нагрева почти не будет.

Также устанавливаем несколько фильтрующих конденсаторов и понижающий стабилизатор на 5В.

Автор решил обойтись просто обычным линейным стабилизатором, чтобы добавить немножко теплой ламповости, но по факту здесь можно применить любой понижающий dc-dc импульсный преобразователь, что поспособствует уменьшению нагрева.
В принципе можно оставить и так, устройство может функционировать, но это не так интересно, так как не понятно, какой режим сейчас включен. Чтобы добавить данную функцию у нас по факту есть два варианта:
1) поставить дешифратор на 10 выходов и подключить его ко второму счетчику, и впаять светодиоды в количестве 10-ти штук;

2) можно пойти другим путем и сделать немного интересней — поставить дешифратор KР514ИД2 и подключить к нему семисегментный индикатор.

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

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

Как видим, все прекрасно работает. В итоге получаем 10 режимов яркости. На этом все. Благодарю за внимание. До новых встреч!
Видеоролик автора:

Источник (Source)

Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

Подборки: ШИМ Своими руками Регулятор

Источник: usamodelkina.ru

Понравилась статья? Поделиться с друзьями:
KIA