Обычное дело: мы используем cookie. Здесь можно узнать зачем
Хорошо

Разработка контроллера электродвигателя постоянного тока

Электронное устройство, способное запускать и останавливать двигатель, регулировать его скорость, обеспечивать плавное ускорение для недопущения пробуксовки и др. Предназначено для двигателей постоянного тока, применяемых в роботах.
Предельные параметры: 10A/20В, 30A/40В, 60A/60В, 150A/60В.
Управление как щеточными, так и бесщеточными ДПТ
Поддержка UART, RC, CAN и RS-485

Введение

Роботы помогают людям в самых разных областях – они оптимизируют производственные процессы, помогают проводить хирургические операции, исследуют космос и выполняют другие функции.
Робототехника стала доступной технологией, не требующей специальных инженерных навыков. С богатым выбором инструментов даже дети могут строить роботов!
Заказчик создает роботов, а также компоненты и инструменты для их строительства, предназначенные как для профессионалов, так и для любителей. Чтобы повысить конкурентоспособность, компания решила расширить свою линейку продукции и предложить клиентам больше возможностей.

Запрос

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

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

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

Было важно соблюсти требования к проекту и минимизировать стоимость разработки, не поступаясь производительностью устройства, его функционалом и габаритами.

Решение

В качестве силовой части устройства мы выбрали полномостовую схему управления (Н-мост). Это классическая цепь управления моторами с двумя ключами верхнего и двумя ключами нижнего плеча. Мостовая схема снабжает устройство напряжением и обращает его полярность, что позволяет вращать мотор в обоих направлениях.

Для управления скоростью и крутящим моментом двигателя мы использовали импульсный стабилизатор напряжения (с широтно-импульсной модуляцией).

Наша схема позволяет использовать контроллер для управления как щеточными, так и бесщеточными двигателями постоянного тока, а также переключаться между этими двумя режимами.
Схема, на которой показаны варианты подключения одного бесщеточного или двух щеточных двигателей постоянного тока
Варианты подключения одного бесщеточного или двух щеточных двигателей постоянного тока
Контроллер позволяет подключить к нему датчик Холла в режиме управления бесщеточными ДПТ. Устройство оснащено двумя каналами для управления щеточным ДПТ и одним каналом для управления бесщеточным ДПТ. На каждом канале может быть до двух концевых выключателей для контроля предельных положений механизмов.

Аналоговые датчики, установленные на каждом плече управления, позволяют контроллерам высчитывать обратную электродвижущую силу. Измерение обратной ЭДС помогает определять положение ротора в бесщеточном ДПТ и, таким образом, контролировать его работу. Вычисление этого параметра также используется в режиме торможения в щеточном ДПТ.

Контроллер оснащен аналоговыми и цифровыми входами и поддерживает несколько интерфейсов обмена данными, в том числе UART, RC, CAN и RS-485.

Мы создали несколько версий устройства с разными диапазонами рабочего напряжения и тока. В наших низковольтных контроллерах используются силовые транзисторы MOSFET. В высоковольтной версии для повышения выходной мощности мы заменили транзисторы MOSFET на IGBT.

Чтобы получать обратную связь от двигателя и корректировать его скорость, пользователи могут подключить к контроллеру цифровой квадратурный энкодер (датчик положения). Прошивка контроллера будет использовать данные с энкодера для регулирования скорости мотора. Кроме того, мы применили пропорционально-интегрально-дифференциальный алгоритм (ПИД-алгоритм). Он анализирует скорость двигателя, сравнивает ее с заданным значением и высчитывает ШИМ-сигналы для регулирования скорости мотора, а также рассчитывает пройденную дистанцию.

Чтобы не допустить возникновения сквозного тока в полномостовой схеме управления, мы ввели dead time, который позволяет транзисторам попеременно включаться и выключаться с небольшими задержками.
ШИМ-сигнал с введением dead time, который позволяет транзисторам попеременно включаться и выключаться с небольшими задержками
ШИМ-сигнал с dead time
Для настройки параметров контроллера мы создали кроссплатформенное приложение.

Сложности проекта и их решение

Самым сложным оказалось спроектировать устройство с широкими диапазонами рабочего напряжения и тока, а также решить проблему перегрева контроллера. Для этого нам пришлось опробовать разные схемы и уделить особое внимание выбору компонентов и разводке печатной платы. В результате мы спроектировали несколько вариантов контроллера со следующими предельными параметрами: 10 A и 20 В, 30 A и 40 В, 60 A и 60 В, 150 A и 60 В.

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

Выполненные работы

  • Создали принципиальную схему, подобрали компоненты и развели печатную плату.
  • Написали специализированную прошивку и алгоритмы для эффективной работы контроллеров.
  • Протестировали прототипы, а также подготовили перечень компонентов (BOM) и Gerber-файлы для серийного производства изделия.

Использованные технологии

Altium Designer
для создания принципиальной схемы и проектирования печатной платы.
STM32F4 и STM32G0
в качестве микроконтроллеров старой и новой версий устройства.
MOSFET и IGBT
в качестве силовых транзисторов для низковольтных и высоковольтных версий.
UART, CAN, RC, RS-485 и USB
для передачи данных.
C/C++ и STM Studio
для разработки прошивки.
FreeRTOS
для реагирования на внешние события в реальном времени.
Двухканальный и одноканальный режимы работы
для управления щеточными и бесщеточными ДПТ.
С++ и фреймворк Qt
для разработки кроссплатформенного десктопного приложения.

Итоги

Мы выполнили комплексную разработку, включающую в себя проектирование аппаратной части и написание программного обеспечения. В результате мы создали контроллер для электродвигателей с множеством функций и несколькими режимами работы. Устройство может переключаться между режимами, что позволяет ему управлять щеточными и бесщеточными ДПТ, используя разомкнутую или замкнутую систему управления. Мы создали несколько версий одноканальных и двухканальных контроллеров с аналоговыми и цифровыми входами, а также интерфейсами UART, CAN, RC и RS-485.

Контроллер может запускать и останавливать электродвигатели, менять направление вращения мотора, регулировать его скорость и крутящий момент, а также определять его положение. Устройство может использовать простые управляющие команды или режим с программируемым поведением. Последний позволяет запрограммировать контроллер на выполнение определенной последовательности действий.

Контроллер поддерживает как автомобильное, так и дифференциальное управление. Особый режим позволяет контроллеру запускать и останавливать мотор плавно, что устраняет пробуксовку. Это помогает пользователям оценивать пройденную роботом дистанцию и определять его местоположение.

Для безопасности контроллер оснащен системами защиты от перегрузки по току и напряжению, а также от перегрева.

Грамотный подбор компонентов и разводка платы позволили нам создать рентабельное решение, которое обеспечивает стабильную и эффективную работу контроллера при широких диапазонах рабочего напряжения и тока.
Связаться с нами
Оставьте контактные данные, и мы свяжемся с вами в ближайшее время