Драйвер - в общем случае, это устройство, которое преобразует какой-либо
сигнал до определённых параметров. В данном случае, под драйвером мы будем
понимать некое устройство, которое может манипулировать большими токами или
напряжениями, управлять которым можно малым напряжением или током. Такой
драйвер применяется для управления мощной нагрузкой, электромотором (драйвер
мотора), крупной светодиодной сборкой (драйвер светодиода) и т.д.
В самом простом случае роль драйвера может выполнить обычный транзистор
(см. Транзистор). Мы уже рассматривали, как
включать или выключать двигатель. Но для полноценного управления хорошо бы не
просто включить двигатель, но еще и управлять направлением его вращения.
Чаще всего, в робототехнике используются двигатели постоянного тока, у которого
статор с постоянными магнитами. В таком двигателе наиболее просто осуществить
реверс, достаточно изменить полярность питания, чтобы ротор начал вращаться в
обратную сторону.
Рассмотрим схему:
Левый вывод мотор может быть подключен к плюсу источника питания, если открыт
транзистор VT1 или к минусу источника питания (общему проводу), если открыт
транзистор VT2. Правый вывод мотор может быть подключен к плюсу источника
питания, если открыт транзистор VT3 или к минусу источника питания (общему
проводу), если открыт транзистор VT4. Если все транзисторы закрыты - мотор не
крутится, оба его вывода отключены от источника питания. Диоды в схеме служат
для защиты транзисторов от индукционных токов, возникающих в двигателе.
Транзисторы соединены так, что в зависимости от подаваемого сигнала на входы
IN1 и IN2, они открываются и закрываются попарно. Если на вход IN1 подать
напряжение высокого уровня - откроются транзисторы VT1 и VT4, а это значит, что
левый вывод мотора окажется подключен к плюсу источника питания, а правый - к
минусу, двигатель будет вращаться. Если подать на вход IN1 низкий уровень -
транзисторы VT1 и VT4 закроются, отключив мотор от источника питания.
Аналогично, если подать на вход IN2 напряжение высокого уровня, то откроются
транзисторы VT2 и VT3, и тогда левый вывод двигателя окажется подключен к
минусу питания, а правый - к плюсу, двигатель будет вращаться в обратную
сторону. Ситуация, когда на оба входа будет подано напряжение высокого уровня
в данной схеме не должна возникать, так как это приведет к выходу из строя
транзисторов.
Схему можно собрать в Tinkercad и посмотреть как она работает:
void setup() { pinMode(6, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); } void loop() { digitalWrite(6, HIGH); digitalWrite(9, LOW); digitalWrite(10, HIGH); digitalWrite(11, LOW); delay(5000); // Wait for 5000 millisecond(s) digitalWrite(6, LOW); digitalWrite(9, HIGH); digitalWrite(10, LOW); digitalWrite(11, HIGH); delay(5000); // Wait for 5000 millisecond(s) }