AVR и Arduino
Плата расширения Motor Shield
Среди всего многообразия плат расширения для Arduino, одной из самых востребованных является MotorShiled. Такая плата позволяет управлять несколькими двигателями и широко используется при создании роботов. Существует несколько вариантов MotorShield, отличающихся используемыми компонентами и подключаемыми двигателями. Ниже описана плата, разработанная в компании Adafruit Indusries.
Arduino Motor Shield
Плата расширения Arduino Motor Shield предназначена для управления двигателями постоянного тока, шаговыми двигателями и сервомашинками. К плате возможно подключить 4 мотора постоянного тока, либо два шаговых двигателя, либо два мотора постоянного тока и один шаговый двигатель. Также плата позволяет работать с двумя сервомашинками.
Основу платы расширения Motor Shield составляют два четырехканальных драйвера L293, производимых фирмой Texas Instruments. Эти микросхемы позволяют управлять нагрузками, потребляющими ток до 600мА и работающими от напряжения от 4.5 до 36В. Имеются встроенные функции защиты от перегрева и статического электричества. Также предусмотрены защитные диоды для подавления индуктивности. Управляются драйверы от микросхемы сдвигового регистра 74HCT595. Это позволяет во-первых, сэкономить вывода Arduino, а во-вторых, простым образом организовать управление шаговыми двигателями. Сервомашинки подключаются непосредственно к плате Arduino, без дополнительных элементов.
Для работы MotorShield задействет не все вывода Arduino. Свободными остаются 0,1,2,13 линии дискретного порта и все выводы аналогового порта. Их можно использовать для управления работой схемы. Питание платы рпасширения MotorShield осуществляется как от базовой платы Arduino, так и от внешнего источника. Переключение выполняется с помощью перемычки PWRSel. При питании от платы, необходимо следить за суммарным током, потребляемым двигателями, подключенными к MotorShield. Большое значение тока может привести к выходу из строя элементов схемы питания. Особенно важно это учитывать при использовании в качестве источника питания порта USB.
Схема платы Motor Shield
Специально для платы написана библиотека AFMotor. Она содержит функции работы, как с моторами постоянного тока, так и с шаговыми двигателями.