По просьбе коллег выкладываю свои наработки по поворотному устройству на шаговых двигателях с интерфейсом Ethernet.
Контроллер ПУ выполнен на готовой плате из Китая. Сердцем контроллера является МК STM32F407VET6.
Особенностью ПУ является отсутствие каких-либо датчиков углов поворота. Контроль осуществляется подсчетом шагов двигателей (как в ЧПУ) с учетом редукторов.
В качестве привода используются шаговые двигатели NEMA23 (1.8 град./шаг) совместно с редукторами NMRV типоразмера 030 с передаточным числом 1:80.
Проверенные в работе драйверы ШД - TB6600, DM556 с выставленным микрошагом 3200 на один оборот. Питание двигателей - 28-30В.
Управление осуществляется с помощью написанного ПО. В этом ПО реализован собственно протокол командно-информационного обмена, взаимодействие с внешним софтом (встроен Rotctl сервер и клиент подключения к драйверу Орбитрона DDE2IP). Сетевой обмен между клиентом и контроллером происходит асинхронно по UDP, сообщения о состоянии ОПУ приходят в режиме Real time с периодичностью примерно 20 fps.
В контроллере реализовано два типа выполнения команд - задача (task) и ручное управление (manual). В обоих случаях работает плавный разгон и торможение. Выполнение команд по осям производится независимо друг от друга. Каждая ось может вращаться в любой момент времени.
Настройки сети контроллера по умолчанию - IP 192.168.34.50, MASK 255.255.255.0, GATEWAY 192.168.34.254
При первом запуске на ПК должен быть установлен IP 192.168.34.10
Софт под Windows выложу чуть позже, не пролазит по объему. Для Linux версии необходимо установить недостающие библиотеки Qt (будут ошибки при запуске на их отсутствие в системе), сборку производил в старой Ubuntu 18.04.6
За неделю непрерывного тестирования 24/7 в режиме сопровождения устройство себя не убило (ничего не свернуто и не порвано)
Небольшое видео работы устройства тут -
https://www.youtube.com/watch?v=ZDmWg2Do7oI