新聞中心

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

        基于單片機的直流無刷電機控制系統設計

        作者: 時間:2011-11-10 來源:網絡 收藏

        2.2 電機驅動電路
        本系統采用三相六拍控制方式,驅動回路采用一種單極半調制的PWM控制方式,驅動器件采用IR2110,它是雙通道高壓、高速電壓型功率開關器件柵極驅動器,具有自舉浮動電源,驅動電路簡單,只需一路電源即可同時驅動上、下橋臂2個開關器件,大大簡化了驅動電源設計,功率器件采用T1~T6的6路MOSFET實現電機的驅動。驅動電路如圖4所示。

        基于單片機的直流無刷電機控制系統設計


        圖4中的電路只是電機一相的驅動。而無刷直流電動機的三相繞組的驅動控制共需3組這樣的驅動控制,每組控制2個MOSFET,3組共有6種MOSFET導通狀態,轉子每轉過60°就變換一種狀態,控制信號從主控制器PB口輸出,輸入到IR2110的上橋臂控制端10引腳和下橋臂控制端12引腳,控制本路信號高端7引腳和低端1引腳的導通與截止,導通順序依次為VT1、T4導通;VT1、VT6導通;VT3、VT6導通;VT3、VT2導通;VT5、VT2導通;VT5、VT4導通信號,每次只有一相繞組的上橋臂和另一相繞組的下橋臂進行導通,這樣轉子每轉過一轉,VT1~VT6及按固定組合成的6種狀態依次導通,保證電機的正常運轉。在此部分電路布線時一定要注意Cx1的位置是在緊靠VCC電源的部分,確保濾去電源上的毛刺干擾,保證SD端不受干擾。
        2.3 電動機的電流保護和過熱保護控制
        為了保護電機,必須要對電機的電流和溫度進行檢測,本控制系統采用通過電源對地端接一個取樣電阻作為電流傳感器,溫度傳感器采用Pt100,該溫度傳感器輸出信號經儀表放大器放大處理后,接入MC9S12D64的PAD00進行A/D轉換測量;電機的電流是通過檢測電路中串接的取樣電阻得到電壓信號,再經過差分放大等處理后接入MC9S12D64的A/D轉換輸入端PAD01進行測量的。當檢測的電流或溫度超過預先設定好的最大值時,可以通過軟件控制IR2110的SD端,封鎖輸出,讓電機停轉,從而保護電機不致燒毀。

        3 系統軟件設計
        本控制系統的控制軟件主要包括主程序、位置檢測子程序、PWM脈寬調制子程序、調速子程序、電流溫度測量與控制子程序、計數和定時中斷程序和串口中斷子程序等部分。其中位置檢測子程序包括3個輸入捕捉中斷程序,利用MC9S12D64的PT口具有優良的輸入捕捉功能,可以自動捕獲到位置傳感器輸出信號的2個上升沿來完成電機速度的測量和換相控制的;電流溫度測量是利用MC9S12D64的A/D轉換后進行刻度,換算出實際數值的。其中主程序、調速子程序的流程圖分別如圖5(a)、圖5(b)所示。

        基于單片機的直流無刷電機控制系統設計


        在本系統中,調速可采用手動調速和上位機命令調速2種。由于無刷直流電動機的轉速和電動機的電壓呈線性關系,在手動調速時把電機的轉速與控制轉速的模擬輸入電壓對應起來,經A/D轉換所得到的值進行轉速的設定。若通過串口進行轉速設定,則把二進制代碼與PWM脈寬對應。只需1 s讀取測速子程序中已經測得電動機的轉速值,然后將此值與預設的轉速值比較,若大于預設的轉速值,則取較小的代碼值送出;若小于預設的轉速值,則取較大的代碼值送出,這樣,在這樣一個反饋循環中就可以調整電機的轉速直到轉速值等于預設定的值,從而實現對電動機的速度的調節。在整個軟件設計中,采用了捕捉中斷、定時中斷、外部中斷、串口中斷、A/D中斷等低功耗軟件設計方法,大大降低了系統的靜態和動態功耗。

        4 結束語
        本系統主要完成了電動機的驅動控制、換相控制、正反轉控制、起停控制、電流、溫度控制以及電動機轉速的測量和電動機的調速等功能。本設計采用MC9S12D64,外圍電路簡單,優點在于功耗低,整個控制系統功耗經測量僅為11 mW,經過高溫烘烤檢測,該控制系統可以穩定工作在150℃的高溫環境下。經過大量的實踐驗證,本控制驅動系統啟動平穩,啟動電流小,驅動的電機運行平穩,具有硬件簡單、穩定性好、工作可靠的特點。

        電流變送器相關文章:電流變送器原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宜兰县| 新泰市| 化德县| 甘谷县| 通许县| 邛崃市| 耿马| 通州市| 温州市| 浙江省| 文成县| 堆龙德庆县| 高平市| 乐都县| 习水县| 洛阳市| 渭南市| 垦利县| 泾川县| 梁山县| 边坝县| 南丰县| 楚雄市| 辽中县| 封开县| 斗六市| 鄂托克前旗| 博兴县| 宜宾县| 拜城县| 中西区| 尚义县| 建昌县| 乌拉特前旗| 湖口县| 云和县| 齐齐哈尔市| 扶沟县| 门源| 桃源县| 东海县|