用linux输出串口的PWM信号

时间:2012-10-16 16:50:52

标签: c++ python embedded

如何使用linux从串口发送pwm信号? (使用python或c ++)

我想直接连接电机来改变速度旋转。

2 个答案:

答案 0 :(得分:3)

这个想法可能是不明智的,除非你真的知道你在接口上做了什么。如果使用这些引脚驱动的任何信号应仅提供信号电平驱动 - 您必须使用它来控制电机控制器或放大器实际电机驱动器,不要直接连接电机。此外,串行端口的信号摆动-ve和+ ve而不是零/ + ve。

一种可能性是使用DTR信号,因为它通常可以独立控制(例如Set serial port pin high using python中所述),但是通过软件,您可能无法获得准确或有效控制电机所需的频率或精度如果软件出现故障,您可以让电机全速运转 - 因此需要注意。

更好的解决方案是获得专用的数字和/或PWM I / O卡或USB设备,甚至是专用的电机控制器接口。像Advantech这样的工业计算机供应商可能会有一些合适的东西,而且成本更低,可能是任何数量的机器人爱好供应商。

答案 1 :(得分:1)

怀疑你能做到这一点你正在使用uart接口...只需得到arduino或someat并向arduino(串行引脚)发送串行命令,然后将正确的pwm信号输出到其引脚...可能是5行arduino代码和另外5个python代码...

所有这些都说你可能会找到一些非常困难和笨拙的方法来通过串行输出PWM信号......但你需要考虑这是否真的合适......