孫鑫
(臥龍電氣驅動集團股份有限公司,浙江紹興,312300)
開關磁阻電機及其控制系統(以下簡稱SRM/SRD),其具有結構堅固、控制性能優、起動力矩大、調速范圍寬及在整個調速范圍內效率高等優點[1][2][3],適合電動自行車實際工況,深入開展了SRM/SRD在電動自行車應用,SRM采用4相32/24外轉子,帶位置傳感器。導通角和關閉角是SRD重要控制參數,當功率電路采用H型控制拓撲結構,換相成了SRD控制的關鍵。換相涉及了三個問題,其一,如何確定換相順序;其二,位置傳感器誤差如何消除;其三,減短負扭矩續流時間。本文就這三個問題一一進行詳細分析。
功率電路采用H型控制拓撲結構,如圖1所示。正常運行的換相順序:BA->AD->DC->CB->BA或者AB->BC->CD->DA->AB。筆者查詢大量書籍、期刊及論文等資料,都沒有獲得換相順序確定方法,筆者在實踐過程中總結了一套確定換相順序方法,總結如下:

圖1 H型拓撲結構
首先,檢查下電機A、B、C、D四相順序,方法是:中心線接48V電源負端,使用ABCD四相線分別去接48V電源正端,如果是電機是按照一個方向運轉,表明,A、B、C、D四相線的順序是正確的,否則還需要確定四相線的順序。其次,四相線與控制器相分離,但是位置傳感器信號線需要接到控制器中,位置信號接上示波器進行監測,通電后,旋轉SRM,得到了位置信號的波形,在本案例中獲取的數字信號是11->01->00->10->11(1:高電平,0:低電平,可以組成數組下標0~3)。定義A、B、C、D四相分別對應CPU的PA4~PA7的IO口,如果PA4~PA7的IO口為高電平,則表示對應相是通電的,AB通電代碼為0x30,AD、DC、CB通電代碼分別為 0x90、0xc0、0x60。對應 BA(AB)可能是 11、01、00、10四種情況,11->01->00->10->11位置信號存在兩種換相順序:BA->AD->DC->CB->BA和 AB->BC->CD->DA->AB ,因而,一共有8種情況,分別如下:NO1:{0xc0,0x90,0x60,0x30};NO2:{0xc0,0x60,0x90,0x30};NO3:{0x90,0x30,0xc0,0x60};NO4:{0x60,0x30,0xc0,0x90};NO5:{0x30,0x60,0x90,0xc0};NO6:{0x30,0x90,0x60,0xc0};NO7:{0x60,0xc0,0x30,0x90};NO8:{0x90,0xc0,0x30,0x60}。NO1:對應的是BA通電時位置信號為11且換相順序BA->AD->DC->CB->BA。將以上八種情況放到程序中,測試出來只有兩種可以運轉,一種是順時針,另一種是逆時針。本方法也可以推廣到其他相數的SRM,由讀者根據需要自行完成。
沒有位置傳感器的SRD由于有相應的缺陷[4],筆者案例中采用了位置傳感器。筆者在采用位置傳感器后發現,不僅有成本增加可靠性下降的缺點,還暴露出位置誤差的缺點[5]。誤差有三類:相位誤差;占空比誤差;零位誤差。相位誤差是指由于兩個光耦夾角誤差引起的;占空比誤差是指位置輸入到單片機方波信號的占空比不再是0.5,引起該誤差主要有兩類:A、光耦出來的信號使用了整形電路,整形依靠施密特反相器,VT+=1.41V、VT-=0.85V,整形前高低電平相同,但是高電平到低電平或低電平到高電平有一個漸變過程,漸變過程經過整形后的低電平時間比高電平時間就更長,在本案例中,整形電路引起誤差占占空比誤差的87%左右,達到1.3度;B、光柵加工過程每一孔位置偏差,在本案例中,光柵加工引起誤差占占空比誤差的13%左右,達到0.2度,每個孔都有誤差;零位誤差是指光柵與SRM沒有對齊引起各相繞組最大電感與最小電感位置的方波信號的跳變沿與理想位置信號存在的誤差,在本案例中,大致有0.6度偏差。誤差見圖2所示。除了整形帶來的誤差外,雖然可以要求提高加工精度,但是帶來加工成本的提高。筆者通過軟件方案解決,既精確有經濟。解決方案如下:
經過分析,可以把相位誤差和占空比誤差合在一起來解決,因為兩者導致結果是相同——占空比不是0.5。軟件中可以根據在規定時間里位置信號跳變次數計算出角速度,假設該規定時間速度變化比較慢,則可以由角速度和步進角計算經過一個步進角需要的時間,也就是換相時間間隔相同了,這樣解決了占空比誤差和相位誤差兩個問題。默認一個位置信號的下跳沿且另一個位置信號是低電平時刻為計算時間起點,滯后角度就是零位誤差值或者步進角與零位角度之差,根據滯后角度和角速度,就可以計算的滯后時間。滯后時間和換相時間間隔采用同一個定時器,該定時器分別在T0、T5、T6、T7時刻設置定時值大小為滯后時間、換相時間間隔、換相時間間隔、換相時間間隔,在T8時刻,關閉定時器,關斷定時器后直到新的周期出現時刻T0’才定時器啟動,進行新的循環。按照圖2所示,在T0~T5之間A、D兩相通電,在T5~T6之間C、D兩相通電,在T6~T7之間C、B兩相通電,在T7~T8之間B、A兩相通電,在T8~T0’之間A、D兩相通電。在圖2所示中,零點誤差采用計算機向單片機發送誤差角折算出來的定時數值,在相同負載情況下,運行消耗最小的電流值默認為最合適的零位誤差φ0,當然這個值包括了最優關斷角。

圖2 誤差分析
這一功能模塊是通過AVR單片機的ICP輸入捕捉單元來實現的。AVR有一個16位的定時器/計數器T/C2,T/C2的輸入捕捉單元可用來捕獲外部事件,并為其賦予時間標記以說明此時間的發生時刻.外部事樣發生的觸發信號由引腳ICP1輸入,也可通過模擬比較器單元來實現,本文應用的是ICP1觸發。時間標記可用來計算頻率、占空比及信號的其它特征,以及為事件創建日志。我們利用兩次捕獲信號的間隔來計算電動車的速度。
使用輸入捕捉單元的最大問題就是分配足夠的處理器資源來處理輸入事件。事件的時間間隔是關鍵。如果處理器在下一次事件出現之前沒有讀取ICR1的數據,ICR1就會被新值覆蓋,從而無法得到正確的捕捉結果。使用輸入捕捉中斷時,中斷程序應盡可能早的讀取工CR1寄存器。盡管輸入捕捉中斷優先級相對較高,將計數器但最大中斷響應時間與其它正在運行的中斷程序所需的時間相關。所以我們將速度環的控制程序寫到主程序中,這樣每次處理中斷的時間很短,在這個中斷服務程序中只要將輸入捕捉寄存器ICR1中的數據讀出并TCNT1清0以便計數下次捕捉中斷的時刻,這樣ICR1中的數就代表兩次捕捉中斷的間隔時間,無須再進行減運算。由于測定速度必須使用最新時刻的值,所以計算速度的程序需要在中斷中處理。在該中斷中還需要給定一個標志位,這樣在主程序中就可依據該標志位適時地進行速度控制。
由于系統頻率是7.3728Mhz,時鐘周期:0.1356us,預分頻256,則為34.7136us。采用定時器0,定時時間是20ms。步進角是3.75o如果車速是300r/min,也就是1.8o/ms,大致在2.08333ms.如果要求在一個定時器0周期內有一個步進角,也就是PQ有跳變,則車速最少要求是31r/min。車速采用200ms內取平均方法。
如圖2所示,假定換相順序是AD->DC->CB->BA->AD,在A、D兩相通電后,也就是在t1時刻開始需要切換到D、C兩相通電,則在D、C通電時,A相dL/dθ<0,A相產生制動轉矩,A相通過續流管DA電流在慢慢的減小,在筆者案例中,沒有經過處理能續流到T3時候,可想而知,該系統效率低,運行噪聲大等缺點。雖然通過誤差消除法可以提前關斷A相,可以適當改善效率(B、D兩相改善明顯),但是A、C兩相還是不能達到理想效果,原來A、C兩相是自然續流,而B、D兩相有一個接近輸入電壓一半的反向電壓續流,所以,A、C兩相續流時間長,B、D兩相續流時間短。
換相順序確定方法雖然有點笨,但是很實用,特別可以避免通過推理過程出錯,也可以避免生產SRM與設計出來SRM差異導致換相錯誤引起SRM不能運轉。誤差消除法采用軟件方法,不僅提高了SRM效率,而且,可以節省一個光耦硬件成本,甚至,只需要一個接近開關就能換相判斷。以上三個解決方案筆者都經過驗證,而且成功在SRM/D型電動自行車上應用。誤差消除方法從研究角度看是可行的,但在實際大批量生產過程中,如果按照以上方法,工藝相當復雜,因而,誤差消除法自整定研究還有待深入。