Re: 擷取馬達Encoder轉速
|
||||
---|---|---|---|---|
資深會員
|
參照:
是PPR,沒注意到,手誤。 事務機的這塊不太瞭解,不過之前有拆過影印機印表機,裡面用的是步進馬達,步進馬達控制現在都有很好的控制IC,可以實現微步進的功能,以200步級的步進馬達,透過專用IC可以實現到1600步級,甚至更高。這些在低價CNC機器上都能有0.01mm定位精度(甚至更好)。 所以要用怎樣的方法,要先看貴單位對於定位、定速的精度要求決定。看您們的應用,PIC16就綽綽有餘了。因為很確定何時動何時靜止,用Inputer Capture就夠了。
發表於: 2009/6/22 15:25
|
|||
不要問我哪裡來,我只是個流浪天涯的工程師
|
||||
|
Re: 擷取馬達Encoder轉速
|
||||
---|---|---|---|---|
新會員
|
Ryang 寫道:
不曉得你是用那種馬達,一般不會是有 霍爾感應器,反電動勢偵測或向量計匴都可以知道轉速嗎? 討論而已我不是馬達專家。[/quote] --------------------------------------------------------------- 我現在是用在有刷DC馬達上,不是BLDC,所以沒有Hall sensor。你說的反電動勢之類的方法比較適合不需要高精度的定速控制,及負載穩定的系統,比較屬於動力用而非伺服用。 我現在的問題並不是沒辦法獲得馬達轉速,應該是說沒辦法在Input Capture 之前先用QEI 的 digital filter 把 glitch 濾掉,覺得有點困擾,因為這樣的設計應該很普遍,Microchip 應該要考慮到。
發表於: 2009/6/22 9:53
|
|||
|
Re: 擷取馬達Encoder轉速
|
||||
---|---|---|---|---|
新會員
|
2^29!? 所以才說你們產品價位比較高阿~
我們的產品是多功能事務機,一台機器上同時有5、6顆DC和步進馬達,用dsPIC並不算奢侈,因為我們一般在用的SoC包含一個ARM核心,一個影像計算用的DSP,兩顆8bits的RISC,但是ODM價格就是很殺,所以我們對成本很計較。 多功能事務機對定位,定速與加減速的控制要求是很高的,不然在掃描和列印的影像都反映出來,而且如果有減速齒輪,因為齒輪有背隙,Encoder也大多裝在機構末端。 P.S. CPR(count per rev.) PPR(pulse per rev.) LPI(Line per inch) ,那4000 pps 是什麼單位?
發表於: 2009/6/22 9:19
|
|||
|
Re: 擷取馬達Encoder轉速
|
||||
---|---|---|---|---|
資深會員
|
參照:
工業用的馬達裝配4000pps算是普遍平價的東西,很貴?加上我作的東西通常前面還有減速機構,事實上可以提高解析。最近才在用2^29解析的Encoder作追蹤天線。 消費性市場?不知道是哪種?硬碟、光碟機的馬達轉速都很高,遙控飛機的馬達價格賤到不行。這些東西都有現成的控制IC,用dsPIC才是太奢侈吧?
發表於: 2009/6/19 20:39
|
|||
不要問我哪裡來,我只是個流浪天涯的工程師
|
||||
|
Re: 擷取馬達Encoder轉速
|
||||
---|---|---|---|---|
版主
|
不曉得你是用那種馬達,一般是會是有 霍爾感應器,反電動勢偵測或向量計匴都可以知道轉速嗎? 討論而已我不是馬達專家。
發表於: 2009/6/19 15:49
Edited by Ryang on 2009年06月23日 10:21:16
|
|||
|
Re: 擷取馬達Encoder轉速
|
||||
---|---|---|---|---|
新會員
|
這樣說好了。
如果馬達操作在1000rpm,encoder 1圈100pulse,每秒收到的pulse數就是(1000/60)*100 = 1666.6 (pulse) ,那1msec你可能只讀到1或2pulse,所以你會得到轉速為600rpm或1200rpm,正負差就高達600rpm。 如果是計算週期的話,每個pulse 時距為600usec,在40MIPS的dsPIC,你會讀到600*40=24000Tsys ,如果讀到24001Tsys或23999,那算得的轉速為1000.0416rpm或999.9583rpm。 因此,需要高精度的轉速控制是不會計算Pulse。
發表於: 2009/6/18 14:03
|
|||
|
Re: 擷取馬達Encoder轉速
|
||||
---|---|---|---|---|
版主
|
如果利用一個 Timer 每 1mS (高轉速時) 或 10mS (低轉速時) 中斷一次就抓下 QEI 的 Counter, 這次減上次所得到的差值除以每圈的 Pulse 值再乘上 1000mS * 60S 就等於 RPM 了,我是這樣想的。QEI 角度都可以算了所以利用 QEI 算轉速應該沒問題。
發表於: 2009/6/18 11:44
|
|||
|
Re: 擷取馬達Encoder轉速
|
||||
---|---|---|---|---|
新會員
|
應該是說用固定時間計算Encoder的Edge數相較於硬體擷取Edge週期所計算出的速度,解析度相對太低,不適合用於低轉速,或高精度的速度控制,所以我是同時使用QEI與Input Capture。我所用過的ASIC和SoC的QEI幾乎都具週期擷取的硬體。
4000 cpr(lpr)的encoder太昂貴,消費性產品大概都不會使用,離開學校以後就沒用過這種奢侈品了! 可能您的產品屬於價位較高的等級。 至於停止狀態的週期,設計比較好的QEI都會飽和到0xFFFF之類的,設計比較差的會有溢位問題,只能用程式去判斷。 如果Input Capture 可以設定到QEI的Digital Output使用上,使用上就靈活多了。
發表於: 2009/6/18 10:42
|
|||
|
Re: 擷取馬達Encoder轉速
|
||||
---|---|---|---|---|
資深會員
|
一般加裝Enocder馬達或工業用的馬達就是用QEI抓AB相信號,如果你覺得QEI不好用,而改用Input Capture,那有可能是你的Enoder解析太低。
我使用的馬達一般是加裝4000pps的Encoder,以1ms取樣一次,要量測or控制馬達轉速綽綽有餘。一般的軸卡抓Encoder的時間有些是以us計,而不是算Input Capture時隔。 因為這類的方式在馬達是停止的狀態如何表示?dt可是無限大喔!
發表於: 2009/6/18 3:02
|
|||
不要問我哪裡來,我只是個流浪天涯的工程師
|
||||
|