基于dsPIC30F3010的無刷直流電動機控制系統設計
三相反電動勢檢測電路圖如圖5所示。圖中畫出了3個檢測通道,分別是U、V、W三相反電動勢的檢測,其電路原理其實是簡單的電阻分壓網絡,主要是為了將較高的信號電壓降低,滿足單片機AD轉換輸入要求。3相電壓經過22 kΩ與2.4 Ω電阻的分壓后,再經過300 Ω電阻進入AN3,AN4,AN5這3個AD管腳,用AN3、AN4、AN5實現電機端電壓檢測,得到反電動勢過零點。在PWM開通期間,檢測處于不通電相繞組的端電壓,其值等于電源電壓的一半時為反電動勢過零點信號。
1.5 電流采樣與過流保護電路
電流采樣與過流保護電路如圖6所示。為了獲得電機的電流反饋信息,在DC母線負電壓與地之間連接了一個低阻值的電流檢測電阻(25 mΩ)。由此電阻產生的電壓被一個外部運放(MCP6002)放大并反饋到ADC輸入(RB1)。
dsPIC30/33的電機控制系列MCU,都有一個FLTA腳,當得到低電平輸出時,可以關斷PWM的有效輸出,使之成為無效。這是一個硬件處理的機制,因此可以快速處理故障事件,以實現安全操作。通過與電流反饋電路相連接的比較器電路(U6)可以獲得故障輸入信號,且比較器門限值可通過電位器POT2進行調節。
2 系統軟件設計
軟件設計包括DSC事件管理器初始化程序、電機起動程序、換相子程序、中斷服務程序、速度環和電流環的控制程序等。主要實現了電機的開環啟動、過零檢測、換相、以及轉速和電流閉環控制等。軟件設計是在Microchip公司的集成開發環境MPLAB IDE中完成的,控制程序用C30語言編寫。
主程序是一個死循環結構,用來完成dsPIC30F3010初始化、看門狗程序和中速事件處理程序。軟件結構是以主程序為主,通過函數調用和全局變量與子程序進行參數傳遞。中速事件處理程序每10 ms循環一次,包括電機啟動、速度控制、電流A/D轉換及循環調用中斷服務子程序等,是整個系統最重要的程序。主程序流程,中速事件處理程序流程分別如圖7、8所示。
軟件設計需注意以下4個問題:1)使用電機控制PWM模塊的特殊事件觸發器來啟動A/D信號轉換,可以使A/D轉換與PWM時基同步。2)應舍棄換相后的最初幾個反電勢采樣點,這樣很容易避開相繞組的去磁問題,因為換相后繞組電流不會立即為零,要經過一個續流過程下降為零。3)不對端電壓波形用硬件進行明顯濾波,而是由軟件根據PWM波形仔細地選取信號采樣點,可排除互耦PWM于關噪聲和不連續電流問題。4)使用QEI計數器記錄連續監測到兩個端電壓過零點的時間,除以2即為30°電角度的時間,把此時間裝載到定時器2中,定時器2經過30°電角度時間觸發中斷,調用換相子程序進行電子換相。
評論