基于ATmega8的無刷直流電機(jī)調(diào)速控制系統(tǒng)
Ua=(T1-T2)Ud/(T1+T2)=(2T1/T2-1)Ud=(2α-1)Ud
其中α為占空比,通過改變α的值可達(dá)到調(diào)壓的目的。由于0 ≤α≤1, Ua值的范圍是-Ud~+Ud,因而電機(jī)可以在正、反兩個(gè)方向調(diào)速運(yùn)轉(zhuǎn)。
圖3所示是一種電動(dòng)自行車無刷直流電機(jī)調(diào)速系統(tǒng)的部分原理圖。通過圖中單片機(jī)可采樣電動(dòng)自行車手柄上可調(diào)電阻的電壓,再經(jīng)A/D轉(zhuǎn)換后送到PWM寄存器,從而控制單片機(jī)的PB1腳,輸出占空比可調(diào)的PWM 信號(hào)。該信號(hào)和來自限流電路LM358比較器的輸出信號(hào)一起通過軟件比較,在限流電路不工作的情況下輸出PWM信號(hào),以配合軟件控制的PB0、PD5和PD6引腳來驅(qū)動(dòng)相應(yīng)的光耦,進(jìn)而控制MOSFET全橋電路換相導(dǎo)通,實(shí)現(xiàn)電機(jī)的換向。因此,通過調(diào)節(jié)單片機(jī)PWM信號(hào)的占空比,最終可改變加在電動(dòng)機(jī)定子繞組上的電壓,從而實(shí)現(xiàn)電動(dòng)機(jī)的調(diào)速。
4 系統(tǒng)軟件控制
ATmega8在軟件上能有效支持C語言及匯編語言。C語言目前已成為設(shè)計(jì)嵌入式系統(tǒng)的標(biāo)準(zhǔn)語言,它既有普通高級(jí)語言結(jié)構(gòu)化編程、可讀性好、維護(hù)方便的特點(diǎn),又具有匯編等低級(jí)語言對(duì)硬件訪問方便、代碼效率高的特點(diǎn)。本設(shè)計(jì)是用C語言編程實(shí)現(xiàn)的,具有很好的可移植性,其程序流程圖如圖4所示。
5 結(jié)束語
用本方案設(shè)計(jì)的電動(dòng)自行車調(diào)速控制系統(tǒng)在實(shí)驗(yàn)運(yùn)行過程中獲得了良好的動(dòng)、靜態(tài)特性。高性價(jià)比ATmega8單片機(jī)的運(yùn)用大大降低了成本,提高了軟件設(shè)計(jì)靈活性,豐富了硬件接口功能,為今后系統(tǒng)升級(jí)創(chuàng)造了良好條件。
評(píng)論