Каждый год мы приступаем к созданию нового контроллера взамен какого-либо старого. Пришла очередь контроллера сервопривода. Нужно больше универсальности, технологичности, удобства эксплуатации и инсталляции, больше новых программных технологий и готовность к ИИ.  Схема и плата контроллера Первые шаги по программированию контроллера Развёртывание промежуточного программного обеспечения Отладка взаимодействия с интернетом 6-шаговая коммутация BLDC моторов Разработка сервопривода с BLDC мотором Разработка робастного управления сервоприводом Безопасное управление двигателем постоянного тока Мёртвое время. Как не ошибиться при настройке ШИМ в Renesas Synergy Автоматическое определение таблицы коммутации BLDC мотора  Проект первого контроллера сервоприводов опубликован здесь. Он был сделан на  микроконтроллерах Kinetis. Использовался фреймворк на  RTOS MQX 4.2. Контроллер хорошо вписался в качестве автоматического доводчика дверей и калиток,  где необходима дружественная среда для людей с ограниченными возможностями.      Для управления BLDC/PMSM моторами и приводами на их основе, с датчиками Холла или квадратурными энкодерами или без них. Контроллером можно управлять раздвижными и распашными дверями , калитками, шлагбаумами, рольставнями, маркизами, навесами, автоматическими жалюзи. Можно приспособить для  самокатов и велосипедов, использовать в манипуляторах и различных моделях техники.    Контроллер не управляет шаговыми двигателями и асинхронными высоковольтными двигателями, низко индуктивными авиамодельными BLDC и гибридными моторами.  Выходной 3-фазный драйвер контроллера рассчитан на средний ток оценочно 20А (с типичными условиями конвекции), пиковый ток до 100 А и напряжение 12-30 В. При напряжении 24 В это даёт возможность управлять моторами мощностью до 500 Вт методом векторной модуляции или методом 6-шаговой аппаратной коммутации.  Контроллер имеет интерфейсы полевых шин CAN и RS485. Для локальной связи с компьютером  предусмотрен интерфейс USB-C. Диагностика, настройка и индикация режимов выводится на съёмный RGB дисплей 240x240 пикселей.  Управлять устройством пользователь может с помощью ручного энкодера с подсветкой, установленного на плате. Диагностику и логи контроллер накапливает  на 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 с интегрированными тулсами конфигурирования, автогенерации сорсов и отладки Радиотрансивер выполнен на чипе EFR32MG24A021F1024IM40.  Трансиверы серии EFR32MG24 отличаются уникальной гибкостью распиновки. Нужную альтернативную функцию там можно вывести почти на любой пин. Это сокращает время на освоение чипа, не нужно тщательно планировать и перепроверять подсоединения интерфейсов. Всегда позже можно исправить неточности подключения, программно перенастроив альтернативные функции пинов.  Радиотрасивер способен работать по протоколам: Matter OpenThread Zigbee BLE Bluetooth mesh Proprietary 2.4 GHz Несколько перечисленных выше работающие вместе. Например OpenThread и BLE могут работать одновременно. Программная экосистема EFR32MG24 также имеет развитый конфигуратор внутри IDE Simplicity Studio, автогенератор сорсов, отладчик, компилятор и множество готовых примеров. Эта IDE даже более удобна чем E2Studio, но к сожалению Silicon Labs не делает чипов подобных  Synergy. Непосредственно силовыми транзисторами управляем микросхема  TMC6200-TA. Она очень близка по параметрам микросхеме DRV8305NPHPR, использованной в предыдущей разработке. Поэтому все расчёты проведённые там валидны и здесь.  Схемотехника практически стандартная. Некоторая избыточность резисторов присутствует при подключении управляющих сигналов к микросхеме управления 3-фазным драйвером. Это нужно только лишь потому чтобы обеспечить некую свободу тюнинга при дальнейшей наладке и появлении ошибок подключения.  Плата способна измерять собственное потребление и внутренние напряжения для выявления аномальных состояний. Есть три аналоговых входа для подключения датчиков температуры мотора и потенциометров сервопривода.   Размер платы 80 на 50 мм. Максимальная высота не более 30 мм при наличии ручного энкодера. Без него и дисплея высота 14 мм без учёта ответных частей разъёмов. Распределение слоёв платы выглядит так: Толщина меди выбрана исходя из минимальной величины зазоров, которая равна 0.15 мм. Внутренние слои максимально приближены к верхним для обеспечения лучшей экранировки и минимальных электромагнитных излучений.    По ходу запуска устройства и исправления ошибок планируется проект выложить в открытый доступ вместе с программным обеспечением.  Все схемы, изображения и параметры даны для справки и могут с течением времени сильно варьироваться.