新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于dsPIC30F3010的無刷直流電動機控制系統設計

        基于dsPIC30F3010的無刷直流電動機控制系統設計

        作者: 時間:2012-02-23 來源:網絡 收藏

        e.jpg


        三相反電動勢檢測電路圖如圖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)。

        f.jpg


        dsPIC30/33的電機控制系列MCU,都有一個FLTA腳,當得到低電平輸出時,可以關斷PWM的有效輸出,使之成為無效。這是一個硬件處理的機制,因此可以快速處理故障事件,以實現安全操作。通過與電流反饋電路相連接的比較器電路(U6)可以獲得故障輸入信號,且比較器門限值可通過電位器POT2進行調節。

        2 系統軟件
        軟件包括DSC事件管理器初始化程序、電機起動程序、換相子程序、中斷服務程序、速度環和電流環的控制程序等。主要實現了電機的開環啟動、過零檢測、換相、以及轉速和電流閉環控制等。軟件是在Microchip公司的集成開發環境MPLAB IDE中完成的,控制程序用C30語言編寫。
        主程序是一個死循環結構,用來完成初始化、看門狗程序和中速事件處理程序。軟件結構是以主程序為主,通過函數調用和全局變量與子程序進行參數傳遞。中速事件處理程序每10 ms循環一次,包括電機啟動、速度控制、電流A/D轉換及循環調用中斷服務子程序等,是整個系統最重要的程序。主程序流程,中速事件處理程序流程分別如圖7、8所示。

        g.jpg


        軟件設計需注意以下4個問題:1)使用電機控制PWM模塊的特殊事件觸發器來啟動A/D信號轉換,可以使A/D轉換與PWM時基同步。2)應舍棄換相后的最初幾個反電勢采樣點,這樣很容易避開相繞組的去磁問題,因為換相后繞組電流不會立即為零,要經過一個續流過程下降為零。3)不對端電壓波形用硬件進行明顯濾波,而是由軟件根據PWM波形仔細地選取信號采樣點,可排除互耦PWM于關噪聲和不連續電流問題。4)使用QEI計數器記錄連續監測到兩個端電壓過零點的時間,除以2即為30°電角度的時間,把此時間裝載到定時器2中,定時器2經過30°電角度時間觸發中斷,調用換相子程序進行電子換相。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 洛宁县| 肇东市| 阳原县| 东山县| 康定县| 大姚县| 怀宁县| 达州市| 公主岭市| 安顺市| 额尔古纳市| 绍兴县| 安丘市| 遵义县| 南宁市| 法库县| 禹城市| 内乡县| 和硕县| 库尔勒市| 乳源| 盐池县| 扶绥县| 云浮市| 中卫市| 乳山市| 广德县| 台北县| 扶绥县| 镇宁| 神农架林区| 宜春市| 垫江县| 巴彦淖尔市| 龙州县| 台南县| 宣武区| 乌拉特后旗| 民县| 苍南县| 平远县|