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