Общие сведения:
Trema-модуль Драйвер мотора - модуль собранный на основе чипа L9110, что позволяет управлять коллекторными моторами с током потребления до 300 мА.
Видео:
Редактируется ...
Спецификация:
- Напряжение питания локиги модуля: 5 В;
- Напряжение питания мотора: 2,5 - 12 В;
- Ток потребляемый модулем без нагрузки: < 50 мкА;
- Номинальный ток нагрузки: 300 мА;
- Интерфейс:
- Логический уровень 5V;
- Вывод D (Direction) Направление - цифровой;
- Вывод S (Speed) Скорость - ШИМ.
- Рабочая температура: от 0 до +80 °С.
- Габариты: 30 х 30 мм.
- Вес: 6 г.
Все модули линейки "Trema" выполнены в одном формате
Назначение выводов:
На плате модуля имеется колодка для подключения к Arduino и винтовой клеммник для подключения мотора и его питания.
Колодка для подключения к Arduino:
Колодка имеет 4 вывода обозначенные буквами G, V, S, D.
- D (Direction) - Направление. Выбирается логическим уровнем (0/1).
- S (Speed) - Скорость. Устанавливается сигналом ШИМ.
- V (Vcc) - Питание логики модуля (+5В).
- G (GND) - Общий вывод питания.
Винтовой клеммник:
Клеммник позволяет подключить мотор и его питание.
- VIN - Два вывода для подключения питания мотора с указанной полярностью.
- MOT - Два вывода для подключения мотора.
Подключение:
Модуль удобно подключать 3 способами, в зависимости от ситуации:
Способ - 1: Используя провода и Piranha UNO
Вывод Arduino | Вывод модуля |
---|---|
2 (можно использовать любой вывод) | D |
3 (можно использовать только вывод с ШИМ: 3,5,6,9,10,11) | S |
5V | V |
GND | G |

Способ - 2: Используя Trema Set Shield
Модуль можно установить в любую из трёх верхних ячеек, с номерами 1, 3 или 5.
В зависимости от выбранной ячейки, нужно изменить номера выводов в примерах.
Номер ячейки Trema Set Shield | Вывод DIR_PIN | Вывод PWM_PIN |
---|---|---|
1 | 10 | 6 |
3 | 9 | 3 |
5 | 13 | 11 |

Способ - 3: Используя провода и Shield
Вывод Shield'а | Вывод модуля |
---|---|
2 (можно использовать любой вывод) | D |
3 (можно использовать только вывод с ШИМ: 3,5,6,9,10,11) | S |
Vcc | V |
GND | G |

Подключение внешнего источника и нагрузки
При любом из вариантов выше, возможно два способа подключения нагрузки.
С питанием от отладочной платы Arduino
При таком подключении мотор будет питаться от 5 вольт, через провода подключения к отладочной плате.

С питанием от внешнего источника
При таком подключении мотор будет питаться от внешнего источника питания от 2,5 до 12 вольт.

Питание:
Входное напряжение питания 5В постоянного тока, подаётся на выводы V и G.
Подробнее о модуле:
Модуль позволяет управлять скоростью и направлением вращения коллекторных моторов с потреблением тока до 300 мА. Модуль собран на базе чипа L9110, в отличии от подобных модулей на данном чипе в нём реализована активная развязка управляющего сигнала, что позволит не нагружать выводы Arudino.
Примеры:
Изменение направления вращения
В данном примере мотор будет вращаться сначала в одну сторону с максимальной скоростью в течении двух секунд, затем остановится на одну секунду и начнёт вращаться в другую.
// Определяем выводы подключения 2 - направление, 3 - скорость #define DIR_PIN 2 #define PWM_PIN 3 // Создаём переменную направления bool dir = false; void setup() { // Устанавливаем выводы в режиме выходов pinMode(DIR_PIN, OUTPUT); pinMode(PWM_PIN, OUTPUT); } void loop() { // Устанавливаем ШИМ analogWrite(PWM_PIN, 255); // Устанавливаем направление, заданное переменной dir digitalWrite(DIR_PIN, dir); // Ждём 2 секунды delay(2000); // Выключаем мотор analogWrite(PWM_PIN, 0); // Ждём секунду delay(1000); // Меняем направление dir = !dir; }
Плавный старт
В данном примере мотор будет плавно набирать скорость вращения, а затем так же плавно останавливаться.
// Определяем выводы #define DIR_PIN 2 #define PWM_PIN 3 // Определяем максимальную ШИМ #define MAX_SPEED 255 void setup() { // Устанавливаем выводы в режим выхода pinMode(DIR_PIN, OUTPUT); pinMode(PWM_PIN, OUTPUT); // Устанавливаем направление вращения digitalWrite(DIR_PIN, HIGH); } void loop() { // Медленно приращиваем скорость при помощи ШИМ for (uint8_t speed = 0; speed < MAX_SPEED; speed++) { analogWrite(PWM_PIN, speed); delay(10); } // Выходим на максимальную скорость analogWrite(PWM_PIN, MAX_SPEED); delay(1000); // Медленно сбавляем скорость for (uint8_t speed = MAX_SPEED; speed > 0; speed--) { analogWrite(PWM_PIN, speed); delay(10); } // Выключаем мотор analogWrite(PWM_PIN, 0); delay(1000); }
Обсуждение