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