回答
這個想法可能是不明智的,除非你真的知道你在做什麼接口。任何由這些引腳驅動的信號(如果全部使用的話)都應該只提供信號電平驅動 - 您必須使用它來控制電機控制器或放大器實際電機驅動器,請勿直接連接電機。此外,串行端口的信號擺動-ve和+ ve而不是零/ + ve。
一種可能性是使用DTR信號,因爲其通常可以被獨立地控制(如在Set serial port pin high using python例如所描述的),但是通過軟件可能無法獲得準確或有效,並且如果控制馬達所需的頻率或精度軟件會失效,您可能會使電機全速運轉 - 因此需要小心。
一個更好的解決方案是獲得專用的數字和/或PWM I/O卡或USB設備,甚至是專用的電機控制器接口。像研華這樣的工業計算機供應商將擁有一些合適的產品,並且成本較低,可能有更多的機器人愛好供應商。我假設在Linux上有
謝謝,我會嘗試使用DTR信號(我不需要高精度)。 – o1863176
@ o1863176:你這麼說,但如果控制過程是餓死的CPU時間的電機可能會瘋狂失控由於其他進程,使電機要麼完全打開或完全關閉的時間不確定性的長度。硬件生成的PWM和/或RTOS通常是合適的。有一些方法可以緩解Linux中的時序抖動,這可能會產生可接受的結果。參見[this](http://www.ibm.com/developerworks/linux/library/l-real-time-linux/index.html)和[this](http://www.linuxfordevices。com/c/a/Linux-For-Devices-Articles/Seven-realtime-Linux-approaches-Part-C) – Clifford
我意識到我所需要的電機的pwm頻率不能由非實時操作系統管理,那麼我必須使用類似arduino或其他的手動控制器。謝謝。 – o1863176
懷疑你能做到這一點,你使用的UART接口...只是得到一個Arduino或someat和發送串行命令到Arduino(串行鍼),然後把正確的PWM信號進行了銷...大概5 Arduino的的代碼行和Python代碼的另一個5 ...
說了這麼多,你或許可以找到一些非常困難的,哈克的方式來輸出通過串行PWM信號...但你需要考慮如果多數民衆贊成真的很合適......
- 1. Linux的串行端口:輸入
- 2. Linux中的串行端口
- 3. 當有新的串行端口時出現信號
- 4. 爲什麼沒有PWM信號出來?
- 5. 寫串行端口在Linux
- 6. 鎖定Linux串行端口
- 7. 在STM32F407讀PWM信號
- 8. Qt串行端口通信
- 9. C#串行端口通信
- 10. 未定義的端口號作爲輸出 - UDP/C/Linux
- 11. 與不常見的端口名稱的Linux串行通信
- 12. 串行COM端口號@讀
- 13. 在Linux內核中設置套接字輸出端口號
- 14. 使用VB.Net的串行端口通信(端口不顯示)
- 15. RasBee Pi上的XBee Linux串行端口
- 16. 串行端口與Linux中的jSSC
- 17. 在Linux中的串行端口路由
- 18. Linux串行端口通信超時 - VirtualBox直通
- 19. 如何將信號值分配給輸出端口?
- 20. 如何檢測串行COM1端口上的信號?
- 21. Arduino的C#串行端口通信
- 22. linux串行端口 - mulithread程序
- 23. OS X與Linux - 串行端口處理
- 24. Linux串行端口I/O問題
- 25. Linux串行端口優先級
- 26. linux終端輸出
- 27. linux C++串口回聲輸出
- 28. stm32F4 pwm輸入捕捉高頻信號約。 2MHz的?
- 29. 基於Mic輸入的PWM信號生成
- 30. 使用C#的掃描器進行串行通信端口(串行)通信
? – PherricOxide
您不應該將接收器芯片之外的任何東西連接到串行端口 - 它們不是被設計爲/替換電源 – drahnr
沒有任何本地化的問題。用一種足夠好的方式來解決你需要解決的問題的可能性是常見的。 –