среда, 22 июня 2011 г.

Управление электродвигателем микроконтроллером ATmega8.

Мостовая схема на транзисторных ключах из предыдущей статьи может применяться для коммутации (включения, отключения, реверса и т.д.) маломощного электродвигателя постоянного тока. Если в качестве ключей S1-S4 в схеме поставить оптопары то таким образом можно осуществить гальваническую развязку мостовой схемы и схемы управления если при этом мостовую схему и схему управления питать разными источниками. На рисунке 1 изображена схема управления электродвигателем микроконтроллером ATmega8 через оптопары и транзисторный мост:

Схема управления электродвигателем микроконтроллером ATmega8
Рисунок 1 - Схема управления электродвигателем микроконтроллером ATmega8

Мост и система управления в схеме на рисунке 1 подключены к разным источникам с одинаковым напряжением 5В. Светодиоды VD1 -VD4 показывают какая пара транзисторов моста работает VT1 и VT4 или VT2 и VT3. В мостовой схеме из предыдущей статьи в цепях коллекторов транзисторов VT3 и VT4 были резисторы с сопротивлением 56 Ом, в этой схеме на рисунке 1 этих резисторов нет так как из за них уменьшается мощность передаваемая двигателю но резисторы в цепях коллекторов транзисторов VT1 и VT2 оставлены для ограничения тока. На видео ниже показана работа собранной схемы:


Ниже приведен исходный код программы на языке C++ для микроконтроллера:

  #include <avr/io.h>
   #include <avr/delay.h>
   #define F_CPU 8000000UL  // 8 MHz


   int main(void)              // начало основой программы
   {
DDRD = 0xff;            /* все выводы порта D сконфигурировать как выходы */
DDRC &= ~(1<<4);      //вывод 4 порта С сконфигурировать как вход

while (1)          // Бесконечный цикл
{            
DDRD |= 1<<1;  
DDRD |= 1<<2;
_delay_ms(250);   // Ждем 250*8 мсек.
DDRD &= ~(1<<1);
DDRD &= ~(1<<2);

_delay_ms(250);   // Ждем 250*8 мсек.

DDRD |= 1<<0;
DDRD |= 1<<3;
_delay_ms(250);   // Ждем 250*8 мсек.
DDRD &= ~(1<<0);
DDRD &= ~(1<<3);

_delay_ms(500);   // Ждем 500*8 мсек.
}
   }      // закрывающая скобка основной программы

Исходный код компилировался в среде WinAVR, hex файл прошивался в микроконтроллер с помощью программы ponyprog2000. В схеме на рисунке 1 транзистор какой либо оптопары должен открываться при подаче нуля в соответствующий порт но несмотря на это микроконтроллер работал как надо после прошивки в него приведенной программы.


Комментариев нет:

Отправить комментарий