控制伺服定位專欄

資料收集中

沒有錯,又是要用"沒錢"的方法來實驗,ENCODE也要自己做

正在拆一個舊的印表機,發現他的ENCODE方式是用一個類似光藕合器一邊是A.K端讓LED發光,另一邊是感光讓C.E導通送出訊號,中間則用了一條跟軌道一樣長的透明塑膠上面很密的"||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||"應該叫做光柵欄吧,因為黑色的部份不透光,CE無法導通就是0,透光的部份就是1,我覺得這種ENCODE方式不錯耶,現在我要試的是他的精度,線路已大致查出來了,現在在用8051寫驅動器來做PID,我想印表機應該夠精準了吧,假如我這個能很準確的快速移位,未來我應該也可以用這種原理來控制大型的伺服....未完待續..............

我的心得是步進拿來做Z軸就好,X.Y還是要用伺服比較好,總之看完一堆資料,覺得步進不太適合做長時間的移動。

拆下來的被丟棄的印表機,還有從噴嘴頭上拆下來的光藕合跟光柵欄

點圖可以放大

那顆光藉合的線路,CE接24V不知道會不會燒掉

設計開始

1.光柵的格數(用肉眼算不出來的)首先要計算出從右底跑到左底共計數到幾個脈波,然後用總長度下去除,就可得每個柵欄距離單位使用mm。

8051用中斷方式使用一個變數int_count接收光柵及藕合器的計數,接觸到極限開關則發送給labview做計算。

2.使用labview傳送數值給8051,因為8051的SBUF只能接收到0xff也就是255,所以我設計將要傳送的數值,例如511會分成511/250=商2餘11,丟2次250再丟1次11,最後丟一個數值252讓8051判斷數值傳送完成,開始照數值移動至定點

預留了251~255,5組數值來做v,w,x,y,z軸的移動命令,8051收到251,就知道前幾次累加的數據是V軸的座標,一次可以讓5軸同時跑至定位使用array(10000,3500,5000,1000,700)

5.8051端設定接收進來的值累加,直到收到252這個值就把累加過的值輸出讓馬達跑至定位,再記錄目前的定位,好讓下次的數值做左移右移計算,例如:第一次我輸入1011,X軸從0點向左移動了1011mm,第二次我輸入200,則X軸會向反方向右移1011-200=811mm(光柵或是脈波計數器)

用8051,現在只用到單軸還用不到,等控制單軸完成,再用來做多軸控制電路及程式給PLC用

用PLC,直接用高速計數器抓光藉合的PULSE

今日成果發現這顆馬達還不錯,不會有很大的飄移,一停止送PULSE就馬上停止,果然印表機的東西就是為了精準而設計,不然印出來字歪一邊就不好看了

未完成待續.......

網上收集的資料未整理

步進馬達:

1.由pulse送給其驅動器,由其驅動器控制馬達移動的角度,沒有回授,定位後被外力移動不會再回到原本驅動器控制的停止點

2.無法連續長時間運轉,只能作作定位控制,連續運轉時間通常不能超過15分鐘,必須先到定位停止後再行轉動.

3.驅動器控制容易,沒有馬達特性調整問題,如:KP與KI還有KD調整問題.

伺服馬達:

控制模式有三種:pulse控制以及voltage控制以及communication通訊控制.

一.首先介紹pulse控制:

1.通常pulse控制情況下會有pulse miss的情況發生(步進馬達亦會)所以pulse控制由控制器丟到驅動器的時候就算你丟1個PULSE,伺服驅動器是不會作動的(預防干擾),但是不進馬達驅動器會.

2.pulse miss是由控制器丟到驅動器時產生的.所以就算你控制器叫他到300的位置,他不見的會跑到300,因為不是全閉迴路,會有pulse miss情況產生,但是若是得到的位置是300個pulse他是會依照PID演算以不確定的時間修正到300或299附近因為機械誤差,不一定會到正確位置,或產生前後晃動的情況.

所以若要求高精度的話,用pulse控制是不妥當的.

3.pulse控制通常控制器有最高輸出頻率的限制...所以要精度非常高又要速度夠,通常是高精度需求下唯一的敗筆...當然步進馬達也一樣

二.VOLTAGE(電壓)控制:

1.就是所謂的電壓控制,以0~10V去控制伺服馬達的速度.除了控制速度以外若使用好的控制器(有PID效能的控制器),加上光學尺接回控制器,也可達到定位控制,此為全閉迴路控制,可達到光學尺所展現的解析度,但是因為控制器與驅動器都有PID的控制所以在兩個設備上的PID調整需要經驗,這個經驗需要的話....點數可能要40點才可能提供,非常抱歉.

2.電壓控制是最少人用的定位控制方式,因為幾乎被通訊控制給取代,而且控制上PID調整困難.所以現在電壓控制大部分的人用於需求速度穩定的速度控制.

三,通信控制:

1.既不會有pulse miss的問題,PID也只有一個(驅動器上),若要接光學尺,也是接到驅動器上,不會像電壓控制那樣驅動器跟控制器的PID兩頭車難以協調問題,無論是作速度控制還是作定位控制,都是理想的選擇.

比較:伺服馬達可長時間運轉,若PID以及共振協調與機構特性調整的好運動起來是很順暢的,不會像步進馬達一樣會有小小的震動問題.

1.CC-Link是Control & Communication Link的簡稱,是一種可以同時高速處理控制和訊息數據的現場網路系統,可以提供高效能、省配線、一體化的工廠和過程自動化控制。

*CC-Link特性:

(1)減少配線,提高效率

(2)廣泛的多廠商設備使用環境

(3)高速的輸入輸出響應

(4)距離延長自由自在

(5)豐富的RAS*功能

2. 一般定位上的伺服系統之伺服馬達控制方式可分為扭矩控制(Toque Control)及速度控制(Velocity Control)兩類,這兩種控制方式都需要控制器和驅動器一起配合才有辦法動作,扭矩控制定位時,速度增益是在控制器上調整,驅動器只要把命令轉換成馬達相對的輸出扭矩即可,而速度控制定位時,速度增益是在驅動器上調整,驅動器要把命令轉換成馬達相對的轉速輸出.兩者方式詳細說明如下:

所謂的扭矩控制就(Toque Control)是伺服控制器輸出的+/- 10V電壓命令到伺服驅動器上所代表的是要控制伺服馬達扭矩的大小,正電壓越大代表控制馬達的正向輸出扭矩越大,負電壓越大代表控制馬達的逆向輸出扭矩越大, 若命令電壓為0V時則表示馬達沒有輸出扭矩,在動作時,控制器會先輸出扭矩控制命令給驅動器,驅動器會根據這命令控制馬達的輸出扭矩 ,而控制器同時根據外部編碼器(一般皆安裝在馬達尾端) 回授來決定輸出的扭矩命令是否要加強或是減弱,然後連續重複執行這種動作以達到定位位置.這種控制方式對控制器本身來說會比較複雜一點,因為速度增益要在控制器上做調整,多了一項參數要執行,而驅動器上則較為簡單,至要把輸入的控制命令轉換成馬達相對的扭矩輸出即可,不需要考慮扭力是否足夠負荷外部負載,這問題是由控制器那邊去考慮的,所以這類的伺服驅動器一般都只是單純的馬達電流比例控制而已 .

扭矩控制方式的優點是可以在控制器上隨時改變馬達的輸出扭矩大小而不需要在驅動器上做硬性的調整,這種靈活的扭矩控制方式可以在某些場合上達到特殊的應用控制.例如,在應用中有某一段距離移動時不需輸出 100%的扭矩,則可以暫時經由控制器把馬達輸出扭矩變小即可,然後在後面再把它恢復成100%扭矩即可.

而所謂的速度控制(Velocity Control)方式就是伺服控制器輸出的+/-10V 電壓命令到伺服驅動器上所代表的是要控制伺服馬達速度的快慢,正電壓越大代表控制馬達的正向速度越快,負電壓越大代表控制馬達的反向速度越快,若命令電壓為0V時則表示馬達為停止狀態(速度為零).在動作時,控制器會先輸出一個速度控制命令給伺服驅動器,此伺服驅動器會根據這速度命令控制馬達的輸出速度的快慢,而控制器同時根據外部編碼器(一般皆安裝在馬達尾端)回授來決定輸出的速度命令是否要調整加強或是減弱 ,然後連續重複執行這種動作以達到定位位置.這種控制方式的速度增益要在驅動器上面調整,驅動器會根據所接收的速度命令去調整輸出到馬達上的電流大小(因為若有外在負載會使馬達轉速變慢)以達到所要求的速度,而控制器上面的速度增益則需設為零(不做調整) .

其實這兩種控制器的定位方式,在控制器上都需要外部伺服馬達的編碼器 (Encoder)配合回授介面來達到定位的目的,只是控制方式上有所不同而已,至於你需要哪一種的控制方式 ,則需看你的控制器和伺服驅動器搭配上可否連接,有些驅動器或控制器是兩種模式都可以接受的,有些則不行 .故在選用上要考慮清楚,或者直接向廠商選用整組系統的方式(控制+驅動+馬達)較為有保障 .

慣量與漂移

慣量這種東西是很難解釋的,上頭大大說的很對,伺服馬達的慣量會決定被控物是否容易控制。

因伺服馬達的架構是半閉迴路的系統(也有人說是閉迴路),而伺服馬達的動作是依靠內部的"偏差計數器"做動作,也就是說當伺服馬達接收到PLC的脈波訊號時,偏差計數器會加一,此時伺服馬達的輸出端就會輸出一個脈波給馬達,馬達就會跑一個脈波的值,當馬達跑了一個脈波的值,編碼器就會迴授訊號給伺服驅動器,驅動器的內部迴路就會告訴偏差計數器馬達已經跑了一個PULSE的位置,故偏差計數器就會減一,因此偏差計數器內部值就又變為0。

以上是一個很純理論的途述,目的是要告訴你伺服馬達的動作原理。這時你一定覺得很奇怪,為何我要加上這一段廢話,沒錯,因為實際上又會有所誤差,這又是一門學問了,故有機會再說。

當伺服馬達要將移動物停止時,若慣量嚴重不足,就會造成被控物一直前後飄移無法停止在你希望它停止的位置,此時如果參數設定上又是非常嚴謹,那麼伺服馬達就永遠在飄移,無法做下一個動作了。這就是問題所在了,因此你只要想像當你叫伺服馬達動作後,伺服馬達無法停止,一直在飄移,那設備不就等於當機囉,這樣就可以把機台賣給環保業者囉。

以上說的是慣量不足會發生的問題,那麼你可能會問,慣量到底和什麼有關係???????????

慣量又分伺服馬達的慣量和負載慣量。

伺服馬達的慣量是一個規格,在型錄裡都可以看得到。

負載慣量就必須計算,這又是另一門學問了,這學問說真的我就無法回答你了,因為我的領域不是機械系的專材,我只知道大概怎麼計算,怎麼去看一些數據,就這樣囉。

其實說真的,我充其量對於伺服馬達也只能算是門外漢,但是你好像又在版上問很多問題,如果你真的對伺服馬達很有興趣,指點你一條明路,找一間伺服馬達的公司,請問他們的業務或技術人員,不用一年,你一定可以很清楚伺服馬達的原理、應用面、特性。但是請不要找大公司喔,建議你還是找小公司會比較OK。

2008-07-16 22:08:38 補充

慣量和機構的重量、長度、動作方式都有很大的關係。

----------------

Q:何謂「步進馬達」與「伺服馬達」?有何不同?

步進馬達 (Stepping Motor) 是利用位置解碼器的原理,將馬達之一的迴轉分成三百六十度,再配合傳動機構設定馬達傳動之最小單位,其控制為開回路方式,定位精度較差。

伺服馬達 (Servo Motor) 也是利用位置解碼器的原理,馬達一回轉分為數千個單位,比較馬達輸入訊號與實際位置,以差值驅動馬達,其控制基本上為閉迴路,故定位精度自然較步進馬達佳。

Q:「AC馬達」與「DC馬達」有何不同?

AC馬達與DC馬達最大的不同是:DC馬達有碳刷而AC馬達沒有,DC馬達的速度回饋方式,是以發電機所發出的電壓轉換為數位以校正實際轉速。AC馬達則用脈波產生器生的脈波校正實際轉速。一般而言AC比DC好,因其轉速可以控制得相當的精確,而且AC馬達沒有碳刷,較不須維護,使用較省事。

Q:「電磁開關」之動作原理為何?

電磁開關一般由電磁接觸器及積熱電驛所組成,當施加電壓於電磁線圈的兩端時產生磁場,使固定鐵心吸弔可動鐵心,以控制接點閉合或開啟。

Q:「積熱電驛」的動作原理為何?

積熱電驛係利用金屬變形原理,尚田電載電流量過量時,將加熱隻金屬片,由金屬膨脹係數不同,雙金屬片會彎曲而切換接點,達到保護負載的功用。

Q:「自保電驛」的動作原理為何?

自保電驛的構造包含投入線圈、復歸線圈、連桿及接點,當投入線圈激磁後,接點接通並以連桿鎖定,故當投入線圈消磁後,接點依然保持接通,直到復歸線圈激磁後,接點方得切斷。

Q:「限時電驛」的動作理為何?

限時電驛可分通電延時及斷電延時兩種,通電延時之限時電驛當線圈激磁後,各接點延時動作,斷電持各接點瞬時復歸,斷電延時者反是。

Q:CNC工具機的控制系統有「開環路式」與「閉環路式」,何者定位精度較佳?

開環路式係以補正方式修正由工具機的齒隙、球螺桿的背隙及滑軌的扭曲等造成的誤差。閉環路式則以光學尺等量測係統檢出位置,再回饋至伺服單元,可得比開回路式更佳的定位精度。