Как отправить сигнал PWM из последовательного порта с Linux? (С питоном или с ++)
Я хочу подключить двигатель напрямую, чтобы изменить скорость вращения.
Идея может быть опрометчивой, если вы действительно не знаете, что вы делаете с интерфейсом. Любой сигнал, подаваемый от этих контактов, если он вообще используется, должен обеспечивать только уровень сигнала привода — вам придется использовать его для управления двигателем. контроллер или реальный привод двигателя усилителя, не подключайте двигатель напрямую. Более того, сигналы из последовательного порта отклоняются -ve и + ve, а не ноль / + ve.
Одной из возможностей является использование сигнала DTR, поскольку обычно им можно управлять независимо (как описано в Установите высокий уровень последовательного порта, используя python например), однако с помощью программного обеспечения вы можете не получить частоту или точность, необходимые для точного или эффективного управления двигателем, а в случае сбоя программного обеспечения вы можете оставить двигатель включенным на полной скорости — поэтому требуется некоторая осторожность.
Лучшее решение — получить выделенную цифровую плату и / или плату ввода-вывода с ШИМ или USB-устройство, или даже специальный интерфейс контроллера двигателя. Поставщики промышленных компьютеров, такие как Advantech, найдут что-то подходящее и, возможно, по более низкой цене, любое количество поставщиков робототехники.
сомневаюсь, что вы можете сделать это, используя интерфейс uart … просто возьмите arduino или someat и отправьте последовательные команды на arduino (последовательные контакты), который затем выводит правильный сигнал pwm на свои контакты … возможно, 5 строк кода Arduino и еще 5 из кода Python …
все это говорит о том, что вам, возможно, удастся найти какой-то очень сложный и хакерский способ вывода сигнала ШИМ через последовательный порт … но вам нужно подумать, действительно ли это уместно …