Делаем новый контроллер сервоприводов

31d84d018abfd73e226de53e2bfec722.gif

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

Проект первого контроллера сервоприводов опубликован здесь. Он был сделан на микроконтроллерах Kinetis. Использовался фреймворк на RTOS MQX 4.2. Контроллер хорошо вписался в качестве автоматического доводчика дверей и калиток, где необходима дружественная среда для людей с ограниченными возможностями.

Блок управления автоматической калиткойБлок управления автоматической калиткой

Для чего предназначен наш сервопривод

Для управления BLDC/PMSM моторами и приводами на их основе, с датчиками Холла или квадратурными энкодерами или без них. Контроллером можно управлять раздвижными и распашными дверями , калитками, шлагбаумами, рольставнями, маркизами, навесами, автоматическими жалюзи. Можно приспособить для самокатов и велосипедов, использовать в манипуляторах и различных моделях техники.

Для чего НЕ предназначен наш сервопривод

Контроллер не управляет шаговыми двигателями и асинхронными высоковольтными двигателями, низко индуктивными авиамодельными BLDC и гибридными моторами.

Возможности контроллера

Выходной 3-фазный драйвер контроллера рассчитан на средний ток оценочно 20А (с типичными условиями конвекции), пиковый ток до 100 А и напряжение 12–30 В. При напряжении 24 В это даёт возможность управлять моторами мощностью до 500 Вт методом векторной модуляции или методом 6-шаговой аппаратной коммутации.

Контроллер имеет интерфейсы полевых шин CAN и RS485. Для локальной связи с компьютером предусмотрен интерфейс USB-C. Диагностика, настройка и индикация режимов выводится на съёмный RGB дисплей 240×240 пикселей. Управлять устройством пользователь может с помощью ручного энкодера с подсветкой, установленного на плате.

Диагностику и логи контроллер накапливает на SD карте. Она же используется для перепрошивки устройства и размещения аудиовизуального контента для вывода на дисплей и динамик.

Сервопривод в качестве сенсора может использовать переменный резистор или квадратурный энкодер.

Часто места установки устройства не предусматривают подводки к нему никаких кабелей кроме питания, иногда остаётся только автономное питание. Поэтому контроллер снабжён универсальным радиотрансивером на отдельном SoC. Это позволяет управлять контроллером дистанционно с брелков, и организовывать контроллеры в сети без необходимости в дополнительных кабелях. Антенна может использоваться либо встроенная, установленная на плате, либо внешняя.

Выбор элементной базы

Главный SoC выбран из экосистемы Synergy. Скажем сразу, что Synergy — семейство не из лёгких. Производятся фирмой Renesas, которая издавна отличается самобытностью в подходе к архитектуре периферии, документированию и поддержке. Демонстрационные примеры нельзя так просто скачать и запустить, их после скачивания надо регенерировать в среде разработки, что часто заканчивается конфликтами версий и ревизий тулсов и сорсов. Тут резкий контраст с экосистемами типа STM32. Розничная цена на чипы Synergy выше средней. Но возможно поэтому данное семейство всегда присутствовало на складах дистрибуторов, даже в разгар кризиса полупроводников. Такая стабильность привлекает при всех прочих сложностях.

SoC Synergy способны выполнять аппаратно 6-шаговую коммутацию для BLDC моторов использую штатную периферию таймеров.

Несмотря на то что Synergy содержат только два независимых АЦП, они могут одновременно сэмплировать 6 разных аналоговых сигналов, благодаря специальному входному модулю сэмплирования. Таким образом снимается проблема корректировки данных для учёта фазовых задержек при работе с 3-фазными сигналами.

Не последнюю роль играет 640 Кбайт внутренней RAM у чипа. Это серьёзно облегчает развёртывание коммуникационных стеков и разнообразных движков ИИ.

Программная экосистема Synergy базируется на Azure RTOS и снабжена пакетом конфигурирования системы наподобие STM32 CubeMX и автогенерации сорсов. Также есть некий слой абстаракции периферии типа HAL и много специфичных драйверов. Предоставляется IDE на базе Eclipse под названием E2Studio с интегрированными тулсами конфигурирования, автогенерации сорсов и отладки

Вид окна IDE E2StudioВид окна IDE E2Studio

Радиотрансивер выполнен на чипе EFR32MG24A021F1024IM40. Трансиверы серии EFR32MG24 отличаются уникальной гибкостью распиновки. Нужную альтернативную функцию там можно вывести почти на любой пин. Это сокращает время на освоение чипа, не нужно тщательно планировать и перепроверять подсоединения интерфейсов. Всегда позже можно исправить неточности подключения, программно перенастроив альтернативные функции пинов. Радиотрасивер способен работать по протоколам:

Программная экосистема EFR32MG24 также имеет развитый конфигуратор внутри IDE Simplicity Studio, автогенератор сорсов, отладчик, компилятор и множество готовых примеров. Эта IDE даже более удобна чем E2Studio, но к сожалению Silicon Labs не делает чипов подобных Synergy.

Вид окна IDE Simplicity StudioВид окна IDE Simplicity Studio

Непосредственно силовыми транзисторами управляем микросхема TMC6200-TA. Она очень близка по параметрам микросхеме DRV8305NPHPR, использованной в предыдущей разработке. Поэтому все расчёты проведённые там валидны и здесь.

Схемотехника

Подключение главного SocПодключение главного SocПериферийные интерфейсыПериферийные интерфейсы Питание и силовой 3-фазный драйверПитание и силовой 3-фазный драйверРодиотрансиверРодиотрансивер

Схемотехника практически стандартная. Некоторая избыточность резисторов присутствует при подключении управляющих сигналов к микросхеме управления 3-фазным драйвером. Это нужно только лишь потому чтобы обеспечить некую свободу тюнинга при дальнейшей наладке и появлении ошибок подключения.

Плата способна измерять собственное потребление и внутренние напряжения для выявления аномальных состояний. Есть три аналоговых входа для подключения датчиков температуры мотора и потенциометров сервопривода.

Печатная плата

Размер платы 80 на 50 мм. Максимальная высота не более 30 мм при наличии ручного энкодера. Без него и дисплея высота 14 мм без учёта ответных частей разъёмов.

Распределение слоёв платы выглядит так:

5c3bfdec87c4c5d6d8baab7fb4fd6f07.gif

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

Вид платы сверхуВид платы сверхуВид платы снизуВид платы снизу3D модель контроллера3D модель контроллера

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

Все схемы, изображения и параметры даны для справки и могут с течением времени сильно варьироваться.

© Habrahabr.ru