基于c8051f310單片機(jī)的直流電機(jī)實(shí)時(shí)轉(zhuǎn)速監(jiān)控系統(tǒng)設(shè)計(jì)
蔡國(guó)武,劉祚時(shí),梅傳根
(江西理工大學(xué)機(jī)電工程學(xué)院,贛州341000)
摘要:介紹一種基于c8051f310單片機(jī)的直流電機(jī)轉(zhuǎn)速的實(shí)時(shí)監(jiān)控系統(tǒng)設(shè)計(jì),并給出該系統(tǒng)的硬件電路和軟件設(shè)計(jì)。該系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單,功能可再擴(kuò)展、調(diào)速性能良好、運(yùn)行可靠的特點(diǎn),可以很好地監(jiān)控電機(jī)的實(shí)時(shí)轉(zhuǎn)速。
關(guān)鍵詞:.單片機(jī);直流電機(jī);實(shí)時(shí)轉(zhuǎn)速
中圖分類號(hào):tm381:tp273十1 文獻(xiàn)標(biāo)志碼:a 文章編號(hào):1001-6848(2010)04
0引 言
在隨動(dòng)控制系統(tǒng)中,電機(jī)轉(zhuǎn)速的反饋與控制占有很大的比重,實(shí)現(xiàn)速度反饋的方式與手段,對(duì)系統(tǒng)的穩(wěn)態(tài)誤差及動(dòng)態(tài)響應(yīng)性能都有著十分重要的影響。對(duì)于一個(gè)高精度的控制系統(tǒng),
穩(wěn)定而準(zhǔn)確的電機(jī)反饋轉(zhuǎn)速,可以更好地對(duì)電機(jī)性能做定量分析和判斷電機(jī)運(yùn)行的異常情況等進(jìn)行監(jiān)測(cè)。因此,對(duì)電機(jī)轉(zhuǎn)速的測(cè)量是非常重要的。
傳統(tǒng)的以模擬量作為速度反饋參數(shù)的系統(tǒng),由于受非線性、溫度變化和元件老化等因素的影響,很難滿足控制過(guò)程的快速性和準(zhǔn)確性要求。本文利用c8051f310系列單片機(jī),將控制電機(jī)的模擬倍號(hào)量轉(zhuǎn)換為以數(shù)字信號(hào)量的形式,最后再將反映電機(jī)速度的脈沖信號(hào)反饋給單片機(jī)處理,并通過(guò)led數(shù)碼管實(shí)時(shí)監(jiān)控電機(jī)的轉(zhuǎn)速[1]。
l 系統(tǒng)設(shè)計(jì)
1.1硬件電路設(shè)計(jì)
該系統(tǒng)的整個(gè)硬件電路結(jié)構(gòu)如圖l所示。
該電路的工作原理如下:
通過(guò)調(diào)節(jié)電位器來(lái)控制電機(jī)的轉(zhuǎn)速,即通過(guò)調(diào)節(jié)電位器rp改變輸入到端口p2.2的模擬電壓,再通過(guò)c8051f310單片機(jī)內(nèi)部的a/d轉(zhuǎn)換,并轉(zhuǎn)換成一定占空比的pwm信號(hào),從端口p2.0輸出到hd74hc04p進(jìn)行反相,以增大pwm信號(hào)的驅(qū)動(dòng)能力,然后再輸出到電機(jī)驅(qū)動(dòng)芯片l298來(lái)控制電機(jī)的轉(zhuǎn)速,之后再利用光電傳感器和碼盤來(lái)采集電機(jī)轉(zhuǎn)動(dòng)時(shí)產(chǎn)生的脈沖信號(hào),但該波形是連續(xù)的模擬信號(hào),單片機(jī)不易處理,故再將4運(yùn)放集成電路lm324接成比較器的功能,然后將這組脈沖波形輸出到lm324的2腳,再通過(guò)調(diào)節(jié)電位器rp2,就可以得到一組單片機(jī)容易處理的、且能反映電機(jī)轉(zhuǎn)速的方波信號(hào)pwm_ back,再將pwm_back輸入到端口p2.1,并利用定時(shí)器0的計(jì)數(shù)功能。來(lái)計(jì)算端口p2.1在采樣周期t內(nèi)的脈沖個(gè)數(shù)。最后再通過(guò)公式(1),求出電機(jī)的轉(zhuǎn)速并通過(guò)l數(shù)碼管實(shí)時(shí)地顯示出來(lái)。
假設(shè)在t時(shí)間內(nèi),定時(shí)器0計(jì)數(shù)得到m個(gè)脈沖數(shù),碼盤轉(zhuǎn)一圈產(chǎn)生一個(gè)脈沖(方波),若電機(jī)是帶有強(qiáng)減速裝置的,設(shè)電機(jī)每轉(zhuǎn)一圈,碼盤會(huì)轉(zhuǎn)y圈。則電機(jī)的轉(zhuǎn)速為:
n=60m/xyt(1)
本文所設(shè)計(jì)的電路采用的電機(jī)是額定電壓為16 v,且?guī)в袕?qiáng)減速裝置的,該電機(jī)每轉(zhuǎn)一圈,碼盤會(huì)轉(zhuǎn)64圈,碼盤轉(zhuǎn)一圈會(huì)產(chǎn)生30個(gè)脈沖,所以電機(jī)轉(zhuǎn)一國(guó)會(huì)產(chǎn)生xy= 1920個(gè)脈沖。且本文以監(jiān)控電機(jī)的單向轉(zhuǎn)動(dòng)為研究對(duì)象,若要測(cè)量電機(jī)的雙向轉(zhuǎn)動(dòng),只要稍微改變上面的硬件電路和下面的程序設(shè)計(jì)方面即可。
1.2軟件設(shè)計(jì)
每次a/d轉(zhuǎn)換結(jié)束后,寄存器adcoh和adcol中保存adc轉(zhuǎn)換結(jié)果的高字節(jié)和低字節(jié)。將adoust位置1,使轉(zhuǎn)換后的轉(zhuǎn)換數(shù)據(jù)在寄存器對(duì)adcoh: adcol中以左對(duì)齊的方式保存。當(dāng)工作在單端方式時(shí),可轉(zhuǎn)換的模擬電壓范圍為:o-vref 1023/1024,其中vref=3.3 v,然后,再將保存在寄存器adcoh中的數(shù)據(jù)賦給pca的16位計(jì)數(shù)器/定時(shí)器的高字節(jié)pcaoh,即通過(guò)捕捉/比較模塊的高字節(jié)pcaocpho來(lái)獲得一定的占空比pwm波。并利用定時(shí)器l的定時(shí)功能來(lái)產(chǎn)生中斷,假設(shè)定時(shí)時(shí)間為t。再利用定時(shí)器0的計(jì)數(shù)功能來(lái)計(jì)算外部電機(jī)碼盤產(chǎn)生的方波數(shù),即計(jì)算在t時(shí)間內(nèi),來(lái)自端口p2.1的pwm-back信號(hào)的脈沖數(shù)。并將計(jì)數(shù)結(jié)果保存在高字節(jié)tho和低字節(jié)tlo中,可計(jì)算脈沖次數(shù)的范圍為:o~ 65535個(gè)。
在此,引人中斷,當(dāng)定時(shí)器l溢出時(shí),單片機(jī)產(chǎn)生中斷,定時(shí)器1溢出標(biāo)志tf1會(huì)被自動(dòng)清o。若取樣時(shí)間為定時(shí)時(shí)間的k倍,則當(dāng)單片機(jī)完成k次中斷后,再去讀取定時(shí)器0的tho和tlo,并計(jì)算電機(jī)1分鐘的轉(zhuǎn)速,最后將電機(jī)轉(zhuǎn)速顯示到數(shù)碼管,并再重新初始化定時(shí)器tl和to[3]。
|