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