Эта схема управления на основе микроконтроллера 8051 с помощью фотодатчиков регулирует скорость небольшого двигателя постоянного тока с постоянными магнитами (Рисунок 1). Схема может найти применение в системах слежения за светом для регулировки скорости следящего двигателя в зависимости от интенсивности падающего света. Ее также можно изменить для одновременного управления более чем одним двигателем.
Схема и программа устанавливают три уровня скорости двигателя, в зависимости от состояния двух фотодатчиков, подключенных к микроконтроллеру. Входной порт микроконтроллера (Порт 1) измеряет уровень напряжения каждой схемы фотодатчика, в то время как программой, хранящейся в памяти микроконтроллера, на выводе выходного порта (Порт 2) формируется ШИМ-сигнал, необходимый для управления схемой двигателя.
Скорость двигателя можно регулировать интенсивностью света, попадающего на фоторезисторы LDR1 и LDR2. Эти фоторезисторы управляют смещениями двух транзисторов, подключенных через входной инвертирующий буфер (74LS240) к Порту 1 микроконтроллера AT89C51. Базовые и коллекторные резисторы схемы фотодатчика были выбраны опытным путем, чтобы правильно установить области отсечки и насыщения транзисторов. Выходной сигнал Порта 2 микроконтроллера подается на схему двигателя через неинвертирующий буфер 74LS244.
Когда свет не падает на какой-либо фотодатчик, его сопротивления будут большими (достигая примерно 1 МОм) и, таким образом, транзистор выключится. Тогда напряжение на коллекторе этого транзистора будет высоким (+5 В). При увеличении светового потока, падающего на фоторезистор, его сопротивление уменьшается, достигая примерно 1 кОм при полном освещении, тем самым, вызывая включение связанного с ним n-p-n транзистора. В этом случае напряжение на коллекторе транзистора будет низким.
Для инвертирования уровней сигналов на коллекторах транзисторов используется микросхема инвертирующего буфера 74LS240. Этот буфер также используется для защиты Порта 1 микроконтроллера 8051.
Буфер 74LS244 защищает Порт 2 микроконтроллера от цепи двигателя и обеспечивает ток, достаточный для управления выходным транзистором. Двигатель постоянного тока подключен к источнику питания +5 В через управляющий транзистор. Обратный диод подключен к двигателю для защиты транзистора от любого обратных выбросов напряжения. Конденсатор в цепи двигателя устраняет электромагнитные помехи и шумы, возникающие во время работы мотора.
Когда сигнал на выходе P2.0 имеет уровень «лог. 1», ток проходит через буфер и базу управляющего транзистора. Соответственно, включаются управляющий транзистор и двигатель постоянного тока. На выводе P2.0 вырабатывается ШИМ сигнал, среднее значение которого регулирует скорость двигателя через управляющий транзистор. Этот сигнал формирует программа, хранящаяся в памяти микроконтроллера 8051 и доступная для скачивания в разделе Загрузки.
Управляющая программа была преобразована в машинный hex-код с использованием ассемблера ASEM-51, а затем прошита во флэш-память AT89C51 с помощью коммерческого универсального программатора. Выбор необходимой скорости достигается за счет управления светом, падающим на LDR1 и LDR2 (Таблица 1).
Таблица 1. | Уровни скорости двигателя постоянного тока | ||||||||||||||||||||
|
Порт 1 определен как входной порт, а Порт 2 – как выходной. Сигнал, принятый Портом 1, маскируется двоичным числом 00000011 с помощью логической инструкции ANL, чтобы проверить значение, полученное Портом 1, в зависимости от состояний фотодатчиков. Это значение сравнивается с 00, 01, 02 и 03, чтобы отправить соответствующий ШИМ сигнал в цепь управления двигателем. Подпрограмма задержки включена для создания необходимого времени задержки для требуемых сигналов ШИМ.