(四川文化傳媒學院五年一貫制校區 四川 成都 611700)
基于單片機的直流電機控制模塊設計
劉春梅
(四川文化傳媒學院五年一貫制校區 四川 成都 611700)
利用單片機和電子技術等方面的知識,通過C語言編程,使 STC系列單片機的定時器產生不同頻率、不同占空比的PWM信號,由單片機的I/O口輸出,去控制L298N電機驅動芯片,達到對電機轉速和方向控制的目的。
單片機;PWM;信號;轉速 ;轉向
電機為運動提供動力,無論旋轉運動還是直線運動,電機在人們日常生活的各個方面發揮著重要作用。與氣壓或液壓系統相比,電機系統工作時更加清潔和高效。因此高效的電機控制技術顯得尤為重要,近年來,隨著脈寬調制技術、特種電機材料技術、微電子技術及現代控制技術的進步,電機控制技術正朝著數字化智能化的方向發展,因此脈寬調制(PWM)技術是較優越的電機控制技術。
(一)設計單片機開發系統,利用C語言或匯編語言實現PWM信號的產生,對直流電機轉速進行有效控制。
(二)采用單片機的編程技術設計并產生PWM信號,對直流電機進行控制,無需外接D/A轉換器,使控制電路大大簡化,控制方式簡潔,控制精度高、控制效果好。
在脈沖作用下,當電動機通電時,速度增加;電動機斷電時,速度逐漸減少。只要按一定規律改變通、斷電時間,即可使電動機速度達到一定的穩定性。
設電動機永遠接通電源時其轉速為最大Vmax,占空比D=t1/T,如圖1所示,則電動機的平均速度為
Vd=VmaxD
(公式一)
式中:Vd——電動機的平均速度; Vmax——電動機全通電時的速度(最大); D=t1/T——占空比。

圖1 脈沖信號
(一) 總體框圖

圖2 總體框圖
如圖2所示,硬件系統由單片機最小系統、L298N電機驅動模塊、按鍵模塊、1602液晶顯示模塊、LED指示模塊組成。
(二) 各模塊電路說明
1、 單片機最小系統
STC系列是單片機是一款高性價比的單片機,它雖然功能強大,但要想完成其強大的功能,單靠它也是不行的。因此要讓單片機運行起來,就要創設單片機工作的環境,即單片機的最小系統,它包括振蕩電路、復位電路、電源電路。
2、 L298N電機驅動模塊
驅動芯片比較常見的是15腳Multiwatt封裝的L298N,如圖2所示,內部包含4通道邏輯驅動電路??梢苑奖愕尿寗觾蓚€直流電機,或一個兩相步進電機。表1是L298N邏輯功能。

表1 L298N功能模塊
3、 按鍵模塊及功能

表2 按鍵功能表
4、 液晶顯示模塊
1602液晶主要用于顯示直流小電機的速度等級及電機的轉向。
5、LED指示模塊及功能

表3 指示模塊及功能
(一) 定時/計數器工作方式及控制寄存器的設置
1、選用T0和T1作為產生脈沖用的定時器并且使它們工作在模式1(定時模式)下。在模式1中,寄存器TH0、TH1和TL0、TL1以全8位參與操作,構成16位定時/計數器,當TH0(TH1)溢出時向中斷標志位TF0(TF1)進位,并申請中斷。在這種模式下T0(T1)定時時間最長,有利于在更大的范圍內對電機進行調速。
2、工作模式寄存器TMOD。如表4所示:
表4定時器工作模式寄存器TMOD

TMOD的高4位用于T1,低4位用于T0,4種符號含義如下:
GATE:門控位。
C/T:定時/計數器方式選擇位。C/T=0為定時器方式,C/T=1時為計數器方式。
M1M0:工作模式選擇位,具體如下:
M1M0=00:模式0(13位定時/計數器)
M1M0=01:模式1(16位定時/計數器)
M1M0=10:模式2(8位自動重裝常數的定時/計數器)
M1M0=11:模式3(2個8位定時/計數器,僅對T0)
(二)定時/計數器常數的計算
定時/計數器中的計數器是在計數初值基礎上以加法計數的,并能在計數器從全“1”變為全“0”時自動產生溢出中斷請求。因此,可以把計數器計數初值設定為TC,定時器定時時間T的計算公式為:
T=(M-TC)T計數
(公式二)
式中M為計數器模值,該值和計數器工作模式有關。在模式1時M為216。在定時器模式下,T計數是單片機振蕩周期的12倍。
上式也可寫成:TC=M-T/T計
(公式三)
在程序設計中工作模式為模式1,計數器模值M=216=65536;
則給定時器賦值:
TH0=(65535-T計數)/256
(公式四)
TL0=(65535-T計數)%256
(公式五)
(三)中斷控制
除特殊功能寄存器TCON和SCON中的某些位與中斷有關以外,還有一個特殊功能寄存器即中斷允許寄存器IE用來設定各個中斷源的打開和關閉。其形式如表5所示:

表5 中斷允許寄存器IE
EA:CPU中斷允許位。
ES:串口中斷允許位。
ET0:定時/計數器0中斷允許位。
以上各位等于1時,CPU開放中斷;等于0時,CPU禁止該中斷。單片機系統復位后,IE中各位均被清零,即禁止所有中斷。程序中要開T0或T1中斷則應將ET0或ET1置1,另外如果要使用中斷EA也要置1。
用單片機做開發比模擬電路有明顯優勢,即不用對電路有大改動就可以適應新的工作條件,升級也很方便,只需對CPU重新刷寫一次程序就可以了。單片機具有結構簡單、編程方便、經濟、易于連接等優點,特別是其內部定時器/計數器、中斷系統資源豐富,有應用價值。而且電路的可靠性比較高,功能也比較強大,可以隨時更新系統,進行不同狀態的組合。但是實際應用中單片機也有很多局限性,比如內部存儲器容量不夠大,運算速度不夠快,內部輸出信號功率很小,因而要驅動電機必須用電機驅動芯片。
[1]何立民,單片機應用技術大全[J],北京,北京航空航天大學出版社, 1994
[2]康華光,電子技術基礎(數字部分)[M],高等教育出版社,2005.07