Плата расширения Arduino Motor

Плата расширения Arduino Motor R3 - вид спереди Плата расширения Arduino Motor R3 - вид сзади

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

Плата расширения Arduino Motor построена на базе микросхемы L298 (datasheet), представляющей собой двойной мостовой драйвер для управления различной индуктивной нагрузкой, такой, как реле, соленоиды, шаговые двигатели и двигатели постоянного тока. Плата расширения позволяет Ардуино управлять двумя двигателями постоянного тока, контролируя скорость и направление вращения каждого из них независимо друг от друга. Среди прочих возможностей устройства можно выделить возможность измерения тока, потребляемого каждым двигателем. Плата расширения Arduino Motor совместима с устройствами TinkerKit, что позволяет быстро собирать проекты, просто подключив готовые модули TinkerKit к плате.

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

Рабочее напряжение от 5В до 12В
Драйвер двигателя L298P, позволяет управлять 2 двигателями постоянного тока либо 1 шаговым двигателем
Максимальный выходной ток 2А на каждый канал или 4А максимум (при условии использования внешнего источника питания)
Измерение тока 1.65В/А
Возможность естественной остановки и принудительного торможения

Схема и исходный проект

Файлы EAGLE: arduino_MotorShield_Rev3-reference-design.zip

Схема: arduino_MotorShield_Rev3-schematic.pdf

Питание

Микросхема L298, расположенная на плате расширения, имеет два вывода питания - один из них предназначен для питания цифровых цепей, другой - для питания двигателей. Ток, потребляемый двигателем, зачастую превышает максимальный выходной ток USB, поэтому для питания платы расширения необходимо использовать только внешние источники питания.

В качестве внешнего источника питания (не USB) может использоваться сетевой AC/DC-адаптер либо аккумулятор. Штекер адаптера (диаметр - 2.1мм, центральный контакт - положительный) необходимо вставить в соответствующий разъем питания на основной плате Ардуино, к которой подключена плата расширения, либо подсоединить провода от источника питания к клеммам Vin и GND, соблюдая необходимую полярность.

Для предотвращения выхода из строя Ардуино, через который запитана плата расширения, рекомендуется использовать внешний источник питания, выходное напряжение которого лежит в пределах от 7 до 12В. В том случае, если для работы подключенного двигателя требуется напряжение больше 9В, рекомендуется организовать раздельное питание Ардуино и платы расширения. Для этого достаточно разомкнуть перемычку "Vin Connect", расположенную на обратной стороне печатной платы. Максимальное напряжение Vin, которое можно подавать на винтовые клеммники, составляет 18В. 

Ниже перечислены выводы питания, предусмотренные на винтовом клеммнике:

  • Vin. Напряжение Vin используется для питания двигателей, подключенных к плате расширения. Напряжение, поступающее на этот вывод от внешнего источника питания, также используется для питания Ардуино, к которому подключена плата расширения. Для того, чтобы данный источник использовался только для питания двигателей, необходимо разомкнуть перемычку "Vin Connect".
  • GND. Выводы земли.

Максимальный выходной ток, который способна обеспечить плата расширения, составляет 4А (по 2А на каждый канал).

Входы и выходы

Для управления двигателями в Arduino Motor предусмотрено два независимых канала, A и B, каждый из которых связан с 4 выводами Ардуино. Соответственно, для управления платой расширения всего задействовано 8 выводов. Каждый канал можно использовать отдельно (например, для управления двумя двигателями постоянного тока), либо функционально объединить их в один канал для управления шаговым двигателем.

В нижеследующей таблице перечислены выводы, относящиеся к каждому каналу Arduino Motor:

Функция выводы канала A выводы канала B
Направление вращения D12 D13
Скорость вращения (ШИМ) D3 D11
Остановка двигателя D9 D8
Измерение тока A0 A1

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

Ниже перечислены дополнительные разъемы, присутствующие на плате расширения:

  • Винтовой клеммник для подключения двигателей и источника питания для них.
  • 2 белых разъема TinkerKit - два аналоговых входа; соединены с линиями A2 и A3.
  • 2 оранжевых разъема TinkerKit (по центру) - два аналоговых выхода; соединены с ШИМ-выходами D5 и D6.
  • 2 белых разъема TinkerKit (четырехконтактных) - интерфейс TWI; один разъем используется в качестве входа, другой - в качестве выхода.

Подключение двигателей

Коллекторный двигатель постоянного тока. Arduino Motor позволяет управлять двумя коллекторными двигателями постоянного тока. Для подключения каждого двигателя к каналу A или B необходимо подсоединить его провода к клеммам (+) и (-) соответствующего канала. При правильном подключении устройство позволяет контролировать направление и скорость вращения каждого двигателя. Для изменения направления вращения достаточно подать высокий (HIGH) или низкий (LOW) уровень сигнала на выводы DIR A или DIR B. Изменение скорости вращения двигателей осуществляется путем изменения коэффициента заполнения ШИМ-сигнала на выводах PWM A и PWM B. Для резкой остановки каждого двигателя необходимо подать высокий уровень сигнала (HIGH) на выводы Brake A и Brake B. Для медленной остановки - достаточно просто прекратить подачу питания. Чтобы узнать величину постоянного тока, потребляемого каждым двигателем, необходимо считать напряжение на выводах SNS0 и SNS1. Для этого можно применить функцию analogRead(), указав ей в качестве параметра аналоговый вход A0 или A1. Напряжение на этих выводах будет пропорционально току, протекающему через каждый канал платы расширения, и ограничено величиной в 3.3В, которое соответствует максимальному току в 2А.

Физические характеристики

Максимальная длина и ширина печатной платы Arduino Motor составляет 6.9 см и 5.4 см соответственно. Четыре крепежных отверстия позволяют закрепить плату в корпусе или на какой-либо поверхности. Обратите внимание, что расстояние между цифровыми выводами 7 и 8 не кратно традиционным 2.54 мм и составляет 4 мм.

Купить Arduino Motor можно в интернет-магазине arduino-ua.com.