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