引言
隨著環(huán)境的污染和能源的緊張,電動(dòng)自行車以無廢氣污染,無噪音,利用電能和使用方便等優(yōu)點(diǎn),越來越受到人們的喜愛,成為生活中的代步交通工具。本文介紹采用美國公司Silicon laboratories(Silabs)的高速SoC型C8051F313單片機(jī)設(shè)計(jì)的一種無刷直流電機(jī)調(diào)速控制系統(tǒng)。該系統(tǒng)充分利用C8051F313的片上資源,設(shè)計(jì)方案電路簡(jiǎn)單,需要的外圍元件少,控制器的整體成本低,性能好。
C8051F313
C8051F313屬于Silabs的高速SOC型單片機(jī)C8051F系列。C8051F系列單片機(jī)集成度高,完全兼容傳統(tǒng)的8051單片機(jī)內(nèi)核和指令系統(tǒng),但其各方面的性能都遠(yuǎn)遠(yuǎn)超越了傳統(tǒng)的8051單片機(jī)。由于采用了“流水線”結(jié)構(gòu)方式處理指令,70%的指令的執(zhí)行時(shí)間為1個(gè)或2個(gè)系統(tǒng)時(shí)鐘,突破了傳統(tǒng)的8051單片機(jī)運(yùn)行效率低的弱點(diǎn),特別是它執(zhí)行乘法指令只要4個(gè)系統(tǒng)時(shí)鐘,執(zhí)行除法指令只要8個(gè)系統(tǒng)時(shí)鐘。另外C8051F系列單片機(jī)片上集成了豐富的外設(shè),極大地降低了對(duì)外圍元器件的需求:模擬多路選擇器、可編程增益放大器、ADC、DAC、電壓比較器、電壓基準(zhǔn)、溫度傳感器、SMBus(I2C)、增強(qiáng)型UART、SPI、可編程計(jì)數(shù)/定時(shí)器陣列(PCA)、電源監(jiān)視器、看門狗定時(shí)器(WDT)、時(shí)鐘振蕩器等。另外還有片上的FLASH程序存儲(chǔ)器、RAM和XRAM。在編程語言上,支持匯編和C編程。
系統(tǒng)硬件設(shè)計(jì)
整個(gè)控制系統(tǒng)主要包括轉(zhuǎn)子位置檢測(cè)電路、測(cè)速電路、調(diào)速電路、MOSFET全橋驅(qū)動(dòng)電路、限流電路等,圖1是控制系統(tǒng)框圖。直流電源通過MOSFET電路向電動(dòng)機(jī)定子繞組供電;轉(zhuǎn)子位置檢測(cè)電路檢測(cè)轉(zhuǎn)子的位置,并根據(jù)轉(zhuǎn)子的位置信號(hào)來控制MOSFET的導(dǎo)通和截止,從而實(shí)現(xiàn)電子換向;測(cè)速電路檢測(cè)電機(jī)的轉(zhuǎn)速,調(diào)速電路根據(jù)測(cè)速電路的檢測(cè)結(jié)果,動(dòng)態(tài)地調(diào)整電機(jī)的轉(zhuǎn)速(調(diào)速)。本設(shè)計(jì)可根據(jù)需要設(shè)計(jì)成60o或120o電角度換相。
轉(zhuǎn)子位置檢測(cè)電路和測(cè)速電路
本設(shè)計(jì)中的無刷直流電動(dòng)機(jī)為三相無刷直流電機(jī),3個(gè)霍爾位置傳感器的空間間距為120o。3個(gè)霍爾傳感器的輸出H1、H2、H3分別直接接到C8051F313的PCA(可編程計(jì)數(shù)器/定時(shí)器陣列)的三個(gè)捕捉/比較模塊:CEX0、CEX1和CEX2。捕捉/比較模塊可以對(duì)霍爾信號(hào)的上升沿和下降沿進(jìn)行捕捉,并產(chǎn)生中斷。這種檢測(cè)無刷電機(jī)轉(zhuǎn)子位置的方法比使用A/D轉(zhuǎn)換或使用比較器的方法更具優(yōu)越性。外圍電路簡(jiǎn)單,幾乎不需要任何外圍元器件,實(shí)時(shí)性又非常高,可靠快速地對(duì)霍爾信號(hào)進(jìn)行捕捉。同時(shí)使用一個(gè)定時(shí)器對(duì)中斷的間隔進(jìn)行計(jì)時(shí)。這個(gè)時(shí)間就反映了電機(jī)的轉(zhuǎn)速,軟件上通過一定的算法處理,就可以得到電機(jī)此時(shí)的轉(zhuǎn)速。這種方法得到的電機(jī)轉(zhuǎn)速比較真實(shí)地反映了電機(jī)的實(shí)際轉(zhuǎn)速。
MOSFET全橋驅(qū)動(dòng)電路
這部分電路實(shí)際上完成電機(jī)換相驅(qū)動(dòng)和調(diào)速的功能。C8051F313根據(jù)轉(zhuǎn)子位置檢測(cè)電路的檢測(cè)結(jié)果,對(duì)無刷直流電機(jī)進(jìn)行實(shí)時(shí)的換相驅(qū)動(dòng),同時(shí)根據(jù)轉(zhuǎn)速檢測(cè)電路檢測(cè)到的轉(zhuǎn)速對(duì)無刷直流電機(jī)進(jìn)行調(diào)速。本設(shè)計(jì)采用PWM方式對(duì)電樞電壓進(jìn)行控制,實(shí)現(xiàn)調(diào)速。
圖2中的Ua為直流無刷電機(jī)電樞兩端的電壓,PWM的周期為T(為一個(gè)固定值),改變PWM的占空比,即改變T1的時(shí)間,那么直流無刷電機(jī)電樞兩端的平均電壓發(fā)生改變,電機(jī)的轉(zhuǎn)速也就發(fā)生了變化,實(shí)現(xiàn)了調(diào)速的目的。Ua的計(jì)算公式為:
Ua = (T1/(T1 + T2))× Ud
這就是直流無刷電機(jī)電樞電壓的PWM調(diào)速的計(jì)算公式。按照相反的次序給直流無刷電機(jī)通電,就可以使用直流無刷電機(jī)的反轉(zhuǎn)。
在本設(shè)計(jì)中使用C8051F313的PCA(可編程計(jì)數(shù)器/定時(shí)器陣列)的一個(gè)捕捉/比較模塊CEX3來產(chǎn)生PWM,并且根據(jù)換相和調(diào)速的實(shí)際需要,通過Crossbar(數(shù)字交叉開關(guān))動(dòng)態(tài)地將1路PWM波分時(shí)送到到MOSFET全橋的3個(gè)下管,進(jìn)行調(diào)速。
軟件設(shè)計(jì)
由于C8051F313兼容傳統(tǒng)的8051單片機(jī),匯編指令和傳統(tǒng)的8051單片機(jī)指令一樣,同時(shí)支持目前國內(nèi)使用最廣的Keil C仿真軟件,只要有過51單片機(jī)編程經(jīng)驗(yàn)或使用過Keil C的人,就可以很輕松的上手C8051F313的編程工作,而不需要事前投入大量時(shí)間進(jìn)行學(xué)習(xí)。
本設(shè)計(jì)使用C語言編程,程序可移植性強(qiáng)。其程序流程圖如圖3所示。
結(jié)語
本設(shè)計(jì)充分利用了C8051F313片上的資源,特別是PCA的資源。使用PCA的3個(gè)捕捉/比較模塊巧妙地實(shí)現(xiàn)了直流無刷電機(jī)轉(zhuǎn)子位置的檢測(cè);一個(gè)捕捉/比較模塊產(chǎn)生一路PWM波實(shí)時(shí)動(dòng)態(tài)地分配到MOSFET橋的三個(gè)下管進(jìn)行調(diào)速,同時(shí)也實(shí)現(xiàn)了直流無刷電機(jī)轉(zhuǎn)速的準(zhǔn)確測(cè)量。整個(gè)系統(tǒng)實(shí)時(shí)性強(qiáng),可靠性高,性能好。由于C8051F系列單片機(jī)片上集成了豐富的外設(shè),極大地降低了對(duì)外圍元器件的需求,整個(gè)系統(tǒng)成本比較低。