Оглавление:
Представляем неплохое решение для управления скоростью и направлением вращения мощного коллекторного двигателя постоянного тока, причём дистанционно — с помощью передатчика RC (Radio Remote Control). Это плата, совместимая с Arduino, состоящая из чипа Atmega328, 2 реле для управления направлением вращения двигателя, полевого МОП-транзистора для управления скоростью с использованием входа ШИМ, кнопочного переключателя, ползункового переключателя и разъема для интерфейса RC-приемника.
Схема RC ШИМ контроллера
Традиционные контроллеры двигателей постоянного тока основаны на твердотельных схемах, известных как H-Bridge. Здесь конфигурация H-моста создается с использованием двух мощных реле, которые могут работать как с высоким напряжением, так и с высоким током. Кроме того, MOSFET Q3 используется для управления скоростью двигателя с помощью ШИМ-сигнала. Этот МОП-транзистор можно удалить, если требуется только управление направлением. В этом случае закоротите сток и исток MOSFET.
Для проекта требуется 3 управляющих входных сигнала, 2 управление направлением CCW/CW и 1 вход PWM (ШИМ). Все входы оптически изолированы, чтобы предотвратить попадание шума и высокого напряжения в логическую микросхему. Большой размер радиатора является обязательным для MOSFET.
Плата будет работать с любым стандартным пультом дистанционного управления. В данном проекте протестировали его с HOTRC DS-600 6CH 2,4 ГГц. Стандартные выходы радиоуправления: 50 Гц — от 1 мс (1000 мкс) до 2 мс (2000 мкс).
Код Arduino и программирование
Для чипа ATmega328 требуется загрузчик. Код примера Arduino доступен для скачивания здесь. Можно управлять скоростью и направлением коллекторного двигателя постоянного тока с помощью дистанционного джойстика RC. Разъем U4 предназначен для подключения RC-приемника.
Микросхема ATMEGA328 считывает RC-сигнал и генерирует 2 TTL-сигнала CW/CCW для управления направлением вращения двигателя и один ШИМ-сигнал. Два сигнала управления направлением управляют реле RE1 и RE2, контакты реле настроены так, что двунаправленный выходной сигнал подается на двигатель, полевой МОП-транзистор управляет ШИМ-сигналом для управления скоростью. Все три сигнала имеют оптопары U2, U5 и U6 между схемой управления двигателем и ATMEGA328 стоит микросхема, обеспечивающая помехоустойчивость и высокое напряжение, подаваемое на цифровую микросхему.
Функционал модуля
- Источник питания для реле и полевого МОП-транзистора 12–15 В при 100 мА
- Источник питания мотора от 12 В до 90 В постоянного тока
- Нагрузка двигателя 20 ампер (максимум 30 А)
- Оптрон между микроконтроллером U1 и реле 2X и MOSFET для оптической развязки
- 2 входа для управления направлением и тормоза
- Один ШИМ-сигнал для управления скоростью двигателя от 0 до 100 % рабочего цикла
- Частота ШИМ до 20 кГц
- 2 светодиода для индикации направления
- Размеры печатной платы 97 x 94 мм
Цифровой контакт Arduino D3 и D4 = управление реле, управление направлением двигателя постоянного тока, высокий уровень D3 — низкий уровень D4 = против часовой стрелки, низкий уровень D3 — высокий уровень D4 = по часовой стрелке.
Цифровой контакт Arduino D5 = драйвер затвора MOSFET (ШИМ для управления скоростью двигателя) — рабочий цикл (от 0 до 100%), частота до 20 кГц.
Проект был разработан для многоцелевого применения. Для интерфейса приемника RC используйте разъем U4, тогда пользователь не может устанавливать следующие компоненты SW1, SW2, R16, R17, SW4, SW3 и PR1, поскольку они не требуются.
Дальше требования к источнику питания. Проект хорошо работает с 2 входами. Один для питания MOSFET Gate Driver/Logic и второй для питания двигателя. Рекомендуется использовать 3 ввода питания для полной изоляции между драйвером выходной мощности двигателя и логической микросхемой.
Питание логики 5 В (не припаивайте U1 LM7805 и R15) для полной изоляции между микроконтроллером U3 и выходом двигателя. 2 реле и полевой МОП-транзистор Q3. Используйте контакты 4 и 5 CN4 для подачи питания 5 В.
Ардуино управление мотором
Аппаратное обеспечение, совместимое с Arduino, состоит из следующих важных компонентов, которые можно использовать для различных применений в соответствии с требованиями пользователя.
- Микроконтроллер ATMEGA328
- МОП-транзистор для управления скоростью двигателя с помощью ШИМ (цифровой контакт Arduino D5)
- 2 реле для управления направлением вращения двигателя (цифровые контакты Arduino D3 и D4)
- 3-контактный разъем для подключения удаленного радиоприемника или аналогового входа (Arduino A1) — разъем U4
- Подстроечный потенциометр для аналогового входа (Arduino A0) — не устанавливать для этого проекта
- CN4: Программирование Arduino и разъем загрузчика
- SW1, SW2 = тактильный переключатель (дополнительно). Управлять реле 1 и реле 2 напрямую — не устанавливать для этого проекта.
- SW3: ползунковый переключатель для прямого управления направлением — не устанавливать для этого проекта
- SW4: Тактильный переключатель Arduino, цифровой контакт D11
Схема соединения элементов
- CN1: Контакт 1 = 12 В постоянного тока для драйвера затвора MOSFET, контакт 2 = GND
- CN2: контакт 1 = + питание двигателя от 12 В до 90 В постоянного тока, контакт 2 = заземление
- CN3: контакт 1 = двигатель, контакт 2 = двигатель
- CN4: разъем для программирования. Контакт 1 = TX, контакт 2 = RX, контакт 3 = сброс, контакт 4 = GND, контакт 5 = VCC, контакт 6 = D11, контакт 7 = D12, контакт 8 = D13.
- D2, D4 = светодиод направления вращения двигателя
- SW1, SW2: дополнительный переключатель направления
- SW3: Дополнительный переключатель направления
- SW4: дополнительный переключатель, подключенный к Arduino D11
- U4: RC-приемник или аналоговый вход (Arduino Analog A1)
- PR1: потенциометр, подключенный к аналогу Arduino A0















