一種基于Intel8253與L298N的電機PWM調(diào)速方法
摘要:介紹采用Intel8253型微型計算機接口電路產(chǎn)生脈沖寬度調(diào)制波,并使用L298N型橋式驅(qū)動器,實現(xiàn)對直流電機的一種簡單有效的PWM調(diào)速方法。
關鍵詞:Intel8253; L298N: 脈沖寬度調(diào)制:PWM
1
引言脈沖寬度調(diào)制(Pulse Width Modulation―PWM)是指將輸出信號的基本周期固定,通過調(diào)整基本周期內(nèi)工作周期的大小來控制輸出功率。原理就是開關管在一個周期內(nèi)的導通時間為t,周期為T,則電機兩端的平均電壓U=Vcc t/T=aVcc。其中,a=t/T(占空比),Vcc是電源電壓。電機的轉速與電機兩端的電壓成比例,而電機兩端的電壓與控制波形的占空比成正比,因此電機的速度與占空比成比例,占空比越大,電機轉得越快。
PWM常取代數(shù)/模轉換器(DAC)用于功率輸出控制,其中,直流電機與交流電機的速度控制是最常見的應用。通常PWM配合橋式驅(qū)動電路實現(xiàn)直流電機調(diào)速,非常簡單,且調(diào)速范圍大。
圖1
2 Intel8253的內(nèi)部結構及工作模式
2.1 Intel8253的內(nèi)部結構
Intel8253是微型計算機外圍接口電路,內(nèi)部包含3個彼此獨立的16位減法計數(shù)器。每個計數(shù)器都可由軟件確定為16位二進制減法計數(shù)器或者十進制4位BCD減法計數(shù)器。每個計數(shù)器都有6種不同的工作模式,也由軟件確定。每個計數(shù)器都有一個時鐘輸入端(CLK)、一個門控信號輸入端(GATE)和輸出端(OUT)。讀寫由A1、.A0、RD、WR和CS等引腳加以控制,主要用以控制Intel8253的數(shù)據(jù)與命令的寫入、讀取與禁止。Intel8253的引腳排列如圖l中的U3所示。
2.2與PWM有關的工作模式
與PWM有關的工作模式是模式l和模式2。
(1)模式1
當某計數(shù)器設置在模式1以后,微型計算機可以通過二條輸出指令將16位數(shù)據(jù)M送入該計數(shù)器。這時該計數(shù)器的輸出端并無任何響應。一旦該計數(shù)器的門控輸入端脈沖上升沿到時,它的輸出端立刻輸出一個寬度為MT的負向脈沖,如圖2所示。
(2)模式2
當某計數(shù)器設置在模式2以后,微型計算機可以通過二條輸出指令將16位數(shù)據(jù)Ⅳ送入該計數(shù)器。輸出指令結束后,該計數(shù)器立即輸出周期為NT的連續(xù)方波,如圖3所示。
如果將8253的計數(shù)器0和計數(shù)器1分別設置在模式2和模式1,并按圖4所示連接,就可以得到一個十分簡單的脈寬調(diào)制發(fā)生器。工作開始前,先將常數(shù)Ⅳ送入計數(shù)器0,再將常數(shù)M送入計數(shù)器1中(MN),于是計數(shù)器0將輸出周期為NT的連續(xù)方波。計數(shù)器1的門控輸入端每隔NT時間接到一次正跳變信號。因此,每隔NT時間計數(shù)器l將輸出一個寬度為Mr的負向脈沖。因此,通過改變M與N可以得到一個占空比可調(diào)的PWM波。
2.3 PWM程序
Intel8253的讀寫控制邏輯由A1、A0、RD、WR和CS等引腳加以控制,其中,端口選擇信號A1、A0決定3個計數(shù)器、控制寄存器中哪一個進行工作,A1,A0:00―10 CPU選擇加一#2計數(shù)器進行讀/寫,11 CPU將控制字寫入Intel8253。
Intel8253的控制寄存器如下:
SC1 | SC0 | RW1 | RW0 | M2 | M1 | M0 | BCD |
M2,M1,MO:000―101選擇工作模式0-5
SCl,SC0:00-10選擇計數(shù)器#o-#2,11回讀命令
BCD:0對應二進制計數(shù),1對應BCD計數(shù)
RWl,RW0:00鎖住計數(shù)器穩(wěn)定讀數(shù),01只讀/寫低8位字節(jié),10只讀/寫高8位字節(jié),1l先讀/寫低8位字節(jié),后讀/寫高8位字節(jié)。
…….
mov dptlr,#Ofe03h:對8253控制寄存器初始化
nov a,#34h 選擇計數(shù)器0、工作模式2
movx@dotr,a 先讀/寫低8位后讀/寫高8位
mov dptr,#0fe00h:向計數(shù)器0送低8位數(shù)據(jù)80H
nov a,#80h
movx@dptr,a
mov dptr,#0fe00h:向計數(shù)器0送高8位數(shù)據(jù)00H
nov a,#00h
movx@dptr,a
nov dotr,#Ofe03h:對8253控制寄存器初始化
mov a,#72h 選擇計數(shù)器1、工作模式l
movx@dptr’,a
mov dpu,#0fe01h;向計數(shù)器1送低8位數(shù)據(jù)20H
nOV a,#20h
movx@dptr,a
nov dptr,#Ofe01h:向計數(shù)器1送高8位數(shù)據(jù)00H
nov a,#00h
movx@dptr,a
……
根據(jù)以上程序,可以得到占空比為
a=t/T=0020H/0080H=25%
同理。將Intel8253的計數(shù)器0和計數(shù)器2分別設置在模式2和模式1,并按圖4的連接方法也可以得到另一個PWM2。
3 L298N型驅(qū)動器的原理及應用
L298N是SGS公司的產(chǎn)品,內(nèi)部包含4通道邏輯驅(qū)動電路。是一種二相和四相電機的專用驅(qū)動器,即內(nèi)含二個H橋的高電壓大電流雙全橋式驅(qū)動器,接收標準TTL邏輯電平信號,可驅(qū)動46V、2A以下的電機。其引腳排列如圖1中U4所示,1腳和15腳可單獨引出連接電流采樣電阻器,形成電流傳感信
表1 1298N的邏輯功能
ENA(B) | INl(IN3) | IN2(IN4) | 電機運行情況 |
H | H | L | 正轉 |
H | L | H | 反轉 |
H | 同IN2(IN4) | 同INl(IN3) | 快速停止 |
L | X | X | 停止 |
號。L298可驅(qū)動2個電機,OUTl、OUT2和OUT3、OUT4之間分別接2個電動機。5、7、10、12腳接輸入控制電平,控制電機的正反轉,ENA,ENB接控制使能端,控制電機的停轉。1298的邏輯功能如表1所列。
如圖1所示,:Intel8253輸出二組PWM波,每一組PWM波用來控制一個電機的速度.另外二個I/O口可以控制電機的正反轉.控制方法與控制電路都比較簡單。即P10、P11控制第一個電機的方向,輸入的:PWMl控制第一個電機的速度;P12、P13控制第二個電機的方向,輸入的PWM2控制第二個電機的速度。
由于電機在正常工作時對電源的干擾很大,只用一組電源時會影響單片機的正常工作。所以選用雙電源供電。一組5V電源給單片機和控制電路供電,另外一組5V、9V電源給L298N的+VSS、+VS供電。在控制部分和電機驅(qū)動部分之間用光耦隔開,以免影響控制部分電源的品質(zhì)。
圖1就是一個實現(xiàn)智能小汽車的應用電路。D1、Q1是一對紅外發(fā)射接收對管,與LM324構成光電傳感檢測電路。通過Intel8253和1298N可實現(xiàn)汽車的加速、減速、剎停,并可通過兩個電機的不同轉速實現(xiàn)左轉和右轉等功能。
pwm相關文章:pwm是什么
電子鎮(zhèn)流器相關文章:電子鎮(zhèn)流器工作原理
pwm相關文章:pwm原理
塵埃粒子計數(shù)器相關文章:塵埃粒子計數(shù)器原理 脈沖點火器相關文章:脈沖點火器原理 脈寬調(diào)制相關文章:脈寬調(diào)制原理
評論