Двухканальный драйвер для ардуино



arduinoLab

Двухканальный драйвер коллекторных моторов TB6612

TB6612FNG — это двухканальный мостовой (H-bridge) драйвер для двух коллекторных двигателей или одного шагового.

Характеристики драйвера:

  • Диапазон напряжения питания силовой части: 4,5V … 13,5V.
  • Диапазон напряжения питания логической части: 2,7 … 5,5V

Особенности модуля:

Модуль собран на микросхеме TB6612FNG от Toshiba, это двухканальный мостовой драйвер, микросхема функциональна схожа с популярными драйверами L293D, L298N но в отличии от них, в драйвере использованы MOSFET транзисторы, драйвер также имеет защиту по температуре, перенапряжению и короткому замыканию. Может управляется логическим уровнем 3.3 вольта.

На модуле не удобно выполнена маркировка выводов, по этому имеет смысл запаять штырьки со стороны микросхемы.

Подключение модуля к Arduino:

Назначение выходов:

  • PWMA \ PWMB — Вход для управления скоростью вращения мотора, для канала A и B соответственно, подключается на выход arduino с поддержкой ШИМ (PWM).
  • AIN1 \ AIN2 — Входы полумостов канала A, подключаются на любые свободные выходы arduino.
  • BIN1 \ BIN2 — Входы полумостов канала B.
  • A01 \ A02 — Выходы полумостов канала A, подключается коллекторный двигатель.
  • B01 \ B02 — Выходы полумостов канала B.
  • STBY — Включение микросхемы, подключаются на любой свободный выход arduino.
  • VM — Вход питания силовой части микросхемы, питание двигателей.
  • VCC — Вход питания логической части микросхемы.
  • GND — Масса.

Все входы управления (PWMA(B), A(B)IN1(2), STBY) притянуты к массе резистором на 200к.

Подключение к arduino:

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

Чтобы заставить мотор крутится, нужно на один выход полумоста подать логическую единицу и на второй логический ноль. Для изменения направления вращения, нужно инвертировать состояние обеих выходов arduino.

Источник

Драйвер RKP-MDL298-01A-V2 двухканальный на L298N

Статья о двухканальном драйвере моторов RKP-MDL298-01A-V2 на микросхеме L298N. Подключение к Ардуино, подключение DC-моторов, примеры программного кода.

Драйвер моторов на базе микросхемы L298N позволяет управлять двумя моторами постоянного тока либо шаговым двигателем с потребляемым током до 2 Ампер.

В отличии от микросхемы L293D, в микросхеме L298N не встроены защитные диоды, их необходимо устанавливать в обвязку микросхемы дополнительно (8 штук по бокам).

По функционалу микросхема L298N полностью идентична микросхеме L293D. Мы видим те же управляющие выводы. Чередование разноименных сигналов (высокий логический уровень или низкий) на парах выводов IN1, IN2 и IN3, IN4 задают направление вращения моторов.

Выводы ENABLE A, B (ENA привязан к IN1, IN2. ENB к IN3, IN4) отвечают за раздельное управление каналами.

Могут использоваться в двух режимах:

Условно «активном» режиме, когда ими будет управлять контроллер (рис. 1) — высокий логический уровень разрешает вращение моторов, низкий запрещает вне зависимости от состояния выводов «IN». Для регулировки скорости моторов, на «EN» выводы подается ШИМ (PWM) сигнал.

Условно «пассивном» режиме, просто притянув выводы «EN» к высокому уровню (+5V). Для этого на плате, рядом с выводами ENA и ENB находятся штырьки, соединенные с +5V. Замыкаем выводы с помощью джамперов (рис. 2). В данном режиме мы не сможем регулировать скорость двигателей, они будут всегда вращаться в полную скорость (за то для управления экономится 2 вывода контроллера). Направление вращения будет задаваться по-прежнему, а вот для остановки в данном варианте, состояние выводов будет уже играть роль. Для остановки нужно будет подавать одноименные сигналы на выводы «IN».

В программных кодах в продолжении статьи все будет прокомментировано.

Клеммник подачи питания и работа стабилизатора.

Разъем “+12V” предназначен для подачи питания на моторы и одновременно, при одетом джампере, подает питание на стабилизатор, который выдает +5V для питания логики драйвера.

Выходит, при таком варианте, не нужно тянуть лишний провод на разъем +5V.

Маркировка именно “+12V” связана с тем, что напряжение питания моторов может лежать в диапазоне от 5V до 35V, в то время как максимальное входное напряжение стабилизатора 12V. То есть, при одетом джампере, подача свыше 12V может спалить стабилизатор.

Как мы уже поняли, маркировка “+12V” носит предупредительно-информативный характер.

При напряжении питания свыше 12V, без опаски подвеем нужное напряжение на данный вывод, но не забываем снять джампер.

Теперь напряжение не поступает на стабилизатор и не сможет повредить его, но теперь необходимо подать внешнее +5V.

Подключение моторов к модулю драйвера моторов на L298N

Начнем с подключения одного мотора, с притянутым к +5V выводом ENB.

Заставим моторчик вращаться «вправо» 4 секунды, остановиться на 0.5 секунды, вращаться «влево» 4 секунды, остановка 5 секунд и снова цикл повторяется.

Пример программного кода

В данном примере мы подсоединили ENB к выводу ШИМ (D3), и задействуем возможность драйвера управлять скоростью, меняя скважность посылаемого ШИМ сигнала. Значения скважности задаются функцией analogWrite (pin, число) , где число изменяется от 0 до 255, прямо пропорционально скважности сигнала. Для наглядности, подобраны четыре значения, при которых двигатель стартует с низких оборотов, набирает средние, выходит на максимальные и не вращается.

Пример программного кода

Ну и напоследок подключим два двигателя с регулировкой скорости.

В приведенном ниже скетче два мотора будут вращаться в обе стороны с плавным нарастанием скорости.

Источник

Драйвер моторов двухканальный DRV8833

Общие сведения:

Драйвер DRV8833 позволяет управлять двумя коллекторными моторами или одним шаговым двигателем. Внутрисхемно чип драйвера содержит два независимых H-моста (канала A и B) рассчитанных на напряжение от 2,7 до 10,8 В, при рабочем токе каждого канала до 0,5 А без радиатора, или до 1,5 А с радиатором установленном на чипе. Пиковый ток до 2 А на каждый канал.

Увеличить рабочий ток можно путём параллельного объединения двух каналов драйвера в один, тогда можно управлять одним коллекторным двигателем с тем же диапазоном напряжений и рабочим током двигателя до 1 А без радиатора, или до 3 А с радиатором установленном на чипе. Объединение каналов осуществляется соединением следующих выводов: IN1=IN3, OUT1=OUT3, IN2=IN4, OUT2=OUT4.

Схема платы драйвера

На плате драйвера отсутствую резисторы R1 и R2 по этому на схеме их сопротивление указано как 0 Ом. Назначение резисторов R1 и R2 описано в разделе «Управление».

На плате драйвера имеются 2 колодки с выводами: IN1-IN4, VCC, GND, OUT1-OUT4, ULT, EEP. Назначение выводов описано в разделе «Подключение».

Характеристики:

  • Количество каналов: 2 (с возможностью объединения двух каналов в один).
  • Напряжение питания моторов и драйвера: 2,7 . 10,8 В.
  • Уровень логической 1 на выводах IN1-4, ULT и EEP: 3 . 6 В.
  • Частота ШИМ встроенной схемы ограничения тока: 50 кГц.
  • Встроенное ограничение тока: поддерживается чипом, но не реализовано на плате.
  • Максимальный ток на канал: 1,5 А (с радиатором).
  • Пиковый ток на канал: до 2 А.
  • Максимальный ток объединённых каналов: 3 А (с радиатором), пик до 4 А.
  • Встроенная защита: защита от перегрева выше 100°, защита от перегрузки по току.

Подключение:

Напряжение питания моторов и драйвера подаётся на выводы VCC и GND модуля. О наличии питания свидетельствует включение светодиода HL1 на плате модуля.

Первый мотор подключается к выводам OUT1 и OUT2, а управление этим мотором осуществляется подачей логических уровней на входы IN1 и IN2.

Второй мотор подключается к выводам OUT3 и OUT4, а управление этим мотором осуществляется подачей логических уровней на входы IN3 и IN4.

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

Назначение выводов модуля:

  • VCC — Вывод подачи питания моторов и драйвера от 2,7 до 10,8 В.
  • GND — Общий вывод питания.
    Вывод GND драйвера должен быть соединён с выводом GND Arduino!
  • IN1, IN2 — Входы управления первым мотором.
  • IN3, IN4 — Входы управления вторым мотором.
  • OUT1, OUT2 — Выходы подключения первого мотора.
  • OUT3, OUT4 — Выходы подключения второго мотора.
  • EEP — Вход установки спящего режима, задаётся низким логическим уровнем.
  • ULT — Выход аварийного сигнала. Низкий уровень сигнализирует о перегрузки по току, перегреву чипа, или низкому напряжению. В рабочем режиме вывод отключён (плавающий сигнал).

Важно: Вывод EEP соединён на плате модуля с выводом VCC через резистор R3 и перемычку JP1. Это отключает спящий режим.

Если Вы желаете управлять спящим режимом, то механически разорвите перемычку JP1 на тыльной стороне платы, во избежание попадания напряжения VCC на вывод подключаемый к EEP.

Управление:

Моторы подключённые к выводам OUT1, OUT2 и OUT3, OUT4 управляются подачей логических уровней на входы IN1, IN2 и IN3, IN4 соответственно. Обратите внимание на то, что выходы инвертируют сигналы своих входов.

Таблица истинности:

Входы: Выходы: Описание:
IN1 IN2 OUT1 OUT2
0 0 Z Z Отключение выводов мотора (свободное вращение ротора)
0 1 VCC GND Вращение в прямом направлении на максимальной скорости.
1 0 GND VCC Вращение в обратном направлении на максимальной скорости.
1 1 GND GND Торможение мотора (стопор ротора)

Для 2 мотора, вместо выводов IN1, IN2, OUT1, OUT2, используются выводы IN3, IN4, OUT3, OUT4.

Управление мотором при помощи ШИМ:

ШИМ

ШИМ

Входы: Выходы: Описание:
IN1 IN2 OUT1 OUT2
ШИМ 1 GND Вращение в прямом направлении с линейной зависимостью скорости от инверсного ШИМ (чем выше ШИМ, тем ниже скорость).
1 ШИМ GND Вращение в обратном направлении с линейной зависимостью скорости от инверсного ШИМ (чем выше ШИМ, тем ниже скорость).
ШИМ 0 GND/Z VCC/Z Не используйте данные сигналы на входах!
Вращение осуществляется с нелинейной зависимостью скорости от инверсного ШИМ и падением крутящего момента.
0 ШИМ VCC/Z GND/Z

Для 2 мотора, вместо выводов IN1, IN2, OUT1, OUT2, используются выводы IN3, IN4, OUT3, OUT4.

На заметку: Для управления большинством драйверов собранных по схеме H-моста, на один из входов драйвера подают ШИМ (для регулировки скорости мотора), а на второй вход подают логический уровень (для выбора направления вращения мотора).

Такая схема управления не подходит для драйвера DRV8833, так как он позволяет переводить свои выходы в состояние высокого импеданса (Z), что приводит к отключению выводов мотора.

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

Сигнал ШИМ является чередованием уровней 0 и 1, значит при подаче на один из входов сигнала ШИМ, а на другой уровня логического 0, мы получим чередование включения мотора и отключения его выходов. Это приведёт к нелинейной зависимости скорости от ШИМ и падению крутящего момента.

Избавиться от такого поведения можно не допустив появления 0 на одном входе канала драйвера при наличии ШИМ на другом входе. Значит для регулировки скорости так же нужно использовать ШИМ, а смена направления вращения мотора должна осуществляться переключением сигнала ШИМ с одного входа на другой, при этом на свободном от ШИМ входе должен быть установлен уровень логической 1.

Ограничение тока:

Чип драйвера позволяет ограничить ток мотора при помощи резисторов R1 (для канала A) и R2 (для канала B). Но на плате драйвера эти резисторы отсутствуют и ток не ограничивается модулем.

Максимальный ток протекающий через канал драйвера задаётся резистором RSENSE (R1 для канала A и R2 для канала B) и рассчитывается по формуле: IMOT = VREF / RSENSE, где VREF = 200 мВ.

Если ток потребляемый мотором превышает заданный ток IMOT, то чип начинает самостоятельно снижать мощность преобразуя VCC в ШИМ с частотой 50 кГц, уменьшая коэффициент заполнения ШИМ до тех пор, пока ток потребляемый мотором не сравняется с заданным.

Источник

You may also like...