聯(lián)系Email: Denny.Yip@renesas.com 通過變頻技術和脈寬調(diào)制技術對交流電動機轉速和位置進行數(shù)字控制是電動機控制的發(fā)展趨勢,永磁式同步電動機(PMSM)具有結構簡單、體積小、易于控制、性能優(yōu)良等優(yōu)點。用單片機對電動機進行數(shù)字控制是實現(xiàn)電動機數(shù)字控制的最常用的手段。 本文介紹了采用Renesas公司M16C/28和R8C/11系列的CPU產(chǎn)品,運用120%26;#176;梯形波交變,通過電動機感應電壓的過零點來估測轉子位置,從而實現(xiàn)表面安裝永磁式同步電動機(SPMSM)的無位置傳感器型驅(qū)動的方法。 一 與電動機控制有關的基本概念 1 逆變器控制 電能(商用電源)一般是通過一個電源系統(tǒng)來提供的。在這種場合,商用電源的電壓、頻率和相位在嚴格的控制之下被固定于一個精確的水平上。如果把一個商用電源直接提供給電動機的負載,則感應式電動機(IM)可以被起動,而同步電動機(比如永磁式同步電動機PMSM)則不能被起動。
在逆變器控制過程中,商用電源未與負載相連。一個轉換器件首先把交流(AC)電流轉換成直流(DC)電源,然而再由一個逆變器將直流電源轉換成交流電源,以便向電動機輸送具有期望電壓和頻率的交流電源。如果輸出電壓和頻率是根據(jù)負載和擾動來控制的,則這將使得同步電動機能夠起動和旋轉,并達到節(jié)能的效果。 2 感應電壓 電動機可以起發(fā)電機的作用。因此,當把一盞燈連接至電動機并旋轉電動機的軸時,燈將會發(fā)光。這是因為產(chǎn)生了感應電動勢的緣故,而產(chǎn)生的電壓就被稱為“感應電壓”。 當電動機停止轉動時,將不會產(chǎn)生感應電壓。因此,當起動電動機時,將強迫它在某一特定方向上旋轉,以找到轉子的位置。 在采用180%26;#176;正弦波交變的電動機控制中,由于電動機中有電流連續(xù)流過,故不能直接監(jiān)視電動機中產(chǎn)生的感應電壓。因此,在無位置傳感器的控制中,轉子位置是通過電動機電流來估測的。 二 用于電動機控制的硬件和軟件規(guī)范 1 硬件構成 l 表面安裝永磁式同步電動機(SPMSM) l A/D轉換器 l 三相PWM輸出 l 感應電壓的過零點檢測 四部分組成的框圖如下:
2 軟件功能 控制方法 采用梯形波的120%26;#176;交變 轉子位置檢測 由電動機的感應電壓來檢測 載頻 20kHz 轉速控制的范圍 正轉:500rpm~3000rpm (-33.3%26;#215;2π至200%26;#215;2πrad/s) 反轉:-500rpm~-3000rpm (-33.3%26;#215;2π至-200%26;#215;2πrad/s) 誤差檢測 由于MCU起到了防止正相和負相同時處于運行狀態(tài)的作用,因此有可能在上臂和下臂(布線分支)之間引起短路的波形將不會被輸出。 IPM的FO信號(強制停機信號)是至MCU的NMI引腳的輸入信號。因此,如果FO信號電平走低,則三相輸出被強制停止,而且三相輸出引腳被置于高阻抗狀態(tài)。 在正常操作期間,如果連續(xù)500ms未檢測到來自編碼器的Z信號,則認為電動機被鎖定,而且三相輸出引腳上的輸出將被關斷。 注:編碼器的Z信號以這種方式來使用,旨在確保更高的安全性。不過,在電動機控制中并未采用Z信號。 三.用于電動機控制的CPU及其周圍設備的功能說明 (1)A/D轉換 項目 說明 轉換模式 重復掃描模式0 掃描引腳 AN0~AN7(8個引腳) 觸發(fā)器類型 軟件 轉換定時 在完成了A/D轉換的初始設置之后,A/D轉換在重復掃描模式0中繼續(xù)進行。 Vref的連接 Vref被連接。 分辨率 10位 A/D轉換模式 利用采樣及保持電路進行操作 A/D轉換端口 P10端口組 頻率 fAD/2 A/D轉換中斷 未用 (2)三相PWM輸出 l 采用鋸齒波來進行調(diào)制和采用了三相模式0實現(xiàn)120%26;#176;交變驅(qū)動電機 l 在采用梯形波的120%26;#176;交變中,轉速基本與電壓成正比。 (3)三相電動機感應電壓的過零點檢測 在本軟件中,感應電壓的過零點是通過按下表對外部中斷功能進行配置的方法來檢測的。 項目 說明 中斷檢測 兩個脈沖邊沿 INT中斷 未使用中斷。 通過中斷請求位的輪詢來檢測INT中斷(外部中斷) 四 用于利用梯形波交變來實現(xiàn)SPMSM的無位置傳感器型驅(qū)動的軟件描述 軟件描述了如何使用梯形波的120%26;#176;交變來實現(xiàn)SPMSM的無傳感器型驅(qū)動。內(nèi)容包括: (1) 由電動機中的感應電壓來檢測轉子位置和采用梯形波的120%26;#176;交變控制旋轉速度在%26;#177;500 rpm~3000 rpm范圍。系統(tǒng)配置入系統(tǒng)構成框圖。 (2) 對8個控制模塊的描述。包括: l A/D轉換器、 l 感應電壓的檢測、 l 實際轉速的計算、 l 目標轉速的計算、 l PWM占空比的計算、 l 確定輸出模式、 l 初始啟動處理、 l 其他一些CPU關于系統(tǒng)異常動作的監(jiān)測和檢測。 (3) CPU寄存器的存儲變換 %26;Oslash; CPU具有12個寄存器,包括: l 數(shù)據(jù)寄存器、 l 地址寄存器、 l 幀寄存器、 l 中斷表寄存器、 l 程序指針寄存器、 l 用戶堆棧指針(USP)寄存器 l 中斷堆棧指針)(ISP)寄存器、 l 狀態(tài)寄存器、 l 標志寄存器:進位標志寄存器、調(diào)試標志寄存器、0標志寄存器、符號標志寄存器、寄存器組選擇標志寄存器、溢出標志寄存器、中斷使能標志寄存器。 l 堆棧指針選擇標志寄存器 l 處理器中斷優(yōu)先級寄存器 l 預留域寄存器 %26;Oslash; 存儲變換 包括: l 線性地址空間、固定中斷的矢量、內(nèi)部RAM、SFR區(qū)域、特殊的頁面矢量等的地址分配。 l 用于本軟件的存儲變換和段配置 (4)系統(tǒng)的主要軟件模塊 模塊名稱 標簽名稱 參數(shù) 說明 輸入 輸出 電動機控制主處理 main_pwm_120slc20() — — 用于通過120%26;#176;交變來實現(xiàn)一個SPMSM的無傳感器型驅(qū)動的主處理。 初始化處理 initial() — — 設定A/D轉換的初始值,感應電壓過零點檢測,以及三相PWM。 PWM中斷處理 pwm_int() — — 調(diào)用停止、啟動和正常處理功能。 停止處理 pwm_stop() — — 關斷三相PWM輸出,并檢查是否繼續(xù)進行啟動操作。 啟動處理 pwm_kido() — — 執(zhí)行啟動操作(將旋轉速度命令和電壓命令固定1秒的時間),并檢查正常操作轉換。 正常處理 pwm_tujo() — — 執(zhí)行無傳感器型控制(感應電壓過零點檢測和輸出模式轉換)。 實際轉速計算處理 cal_sub_wr_duty() — — 計算實際轉速和PWM占空比。 轉速命令計算處理 cal_wr_ref() UI16 AD5 輸入值 SI16轉速命令 將A/D輸入值轉換為轉速命令。 總線電壓計算處理 cal_vdc_ref() UI16 AD5 輸入值 — 將A/D輸入值轉換為總線電壓。 電動機鎖定檢測處理 motor_lock_chk() — — 檢測電動機鎖定狀態(tài)。 停止檢查處理 stop_chk() — SI16停止檢查結果 檢查處理是由一個轉速命令停止的還是由一個誤差停止的。 (5)與三相輸出有關的SFR的初始設定值 l AD轉換器的控制寄存器0"3的設置 l 電動機感應電壓檢測 l 三相輸出PWM設置(24個寄存器) (6)通過120%26;#176;梯形波交變來實現(xiàn)SPMSM無傳感器型驅(qū)動控制流程 l 用于通過120%26;#176;梯形波交變來實現(xiàn)SPMSM的無傳感器型驅(qū)動的主處理 l 初始化處理 l PWM中斷處理 l 停止處理 l 啟動處理 l 正常處理 l 實際轉速計算處理 l 轉速命令計算處理 l 總線電壓計算處理 l 電動機鎖定檢測處理 l 停止檢查處理