2011年2月6日 星期日

如何控制馬達

馬達這玩意,不論是在兒時回憶中的四驅車還是半導體廠中的自動化機台都可以看到它的存在,而且有時候可能是數十顆同時出現分別負責不同的動作。尤其在應用中需要非常精密的準確控制時,如何控制馬達就不只是給予足夠電壓和電流那麼簡單。要談如何控制馬達,首先要來看看基本的組成:控制器、驅動器和馬達本體,三者可是缺一不可。
我們藉由下圖來看看三個主要組成部分的相對關係:

最前頭的控制器就是我們的核心,想執行的所有動作都由控制器的部分經由程式撰寫或是特殊函式來下達命令,例如單晶片(Arduino),業界則使用專門的運動控制卡或搭配PLC的模組,由於是業界針對不同應用領域而設計,每家公司的控制器功能、控制方式和運動軸數量也有所不同。從控制器所輸出的命令,會依據不同的類型而有所不同,常見的像是P-commandV-command等。以P-command來說,馬達種類不同,需要輸出的訊號數量也不一樣,像是步進馬達就有四線式和六線式的區別,業界常用的伺服馬達則多以兩線式為主。V-command中的V則是指速度(Velocity),像是遙控車的驅動馬達,給予不同的電壓訊號所呈現的轉動速度也就不同,某些場合需要非常準確的速度控制要求。

只有控制命令是不能讓馬達開始轉動的,主要原因是控制器腳位所輸出的訊號不足以推動馬達,這時候就需要驅動器的幫忙了。驅動器有些廠商的原文會是Amplifier意思就是放大器,負責將控制命令轉換成可以推動馬達的訊號。在單晶片系統多半使用一個專門的驅動IC(內建橋式電路或是放大器)例如L298N就是一個很好的IC業界的驅動器則是大大一顆,功能也強大許多。

馬達的部分要依照不同的應用需求來選擇合用的種類,像是玩具車的直流馬達、遙控飛機的伺服馬達、可以精準定位的步進馬達等,這邊就不深入介紹防止出現了一篇落落長的BLOG

前面講完系統的組成後,我們要把觀點從各個元件提升到整個系統的控制。我想沒有人會希望自走車開啟電源後就勇往直前再也不回頭了吧!也沒有人會希望機械手臂轉過頭直接打在其他機構上吧!為了避免這些情況發生,我們就需要將馬達訊號回傳至控制器,讓控制器瞭解目前的情況並適當調整輸出的命令,不過要能感測馬達目前的情況還需要額外的感測器來輔助,在成本的考量上又會提升了一些。因此若是三大組成能夠搭配得宜,負載也不會讓馬達有過大的負擔造成失步的現象,不使用感測器來迴授資訊的開迴路控制(Open loop Control)是可以滿足需求的。


沒有留言:

張貼留言