李槐生
摘 要:基于單片機(jī)的車速控制系統(tǒng),以MPC5604芯片為核心構(gòu)建一個單片機(jī)的車速控制系統(tǒng)。它的硬件系統(tǒng)包括電源、主控模塊、按鍵模塊、顯示模塊和光電式測速傳感器測電機(jī)轉(zhuǎn)動等四大模塊。系統(tǒng)軟件部分由主函數(shù)控制模塊、定時中斷和外部中斷模塊、初值定義模塊、按鍵修改部分、5110初始化模塊、PID控制轉(zhuǎn)速模塊、回路控制轉(zhuǎn)速模塊等組成。其目的是實現(xiàn)實時控制電機(jī)轉(zhuǎn)速,從而實現(xiàn)車速的控制,計算車輛行駛路程,并顯示設(shè)定車速、當(dāng)前采集車速、PID控制參數(shù)、行駛路程。
關(guān)鍵詞:光電式測速傳感器;車速控制;PWM控制;單片機(jī)
中圖分類號:TB114.2 文獻(xiàn)標(biāo)識碼:A DOI:10.15913/j.cnki.kjycx.2016.11.016
文章編號:2095-6835(2016)11-0016-03
1 系統(tǒng)實現(xiàn)的基本功能
系統(tǒng)實現(xiàn)的功能有以下4中:①按鍵設(shè)定并顯示車速和PID控制參量,按鍵控制電機(jī)起停;②實時顯示實際車速與行駛路程;③PWM轉(zhuǎn)速閉環(huán)控制;④車輛超速報警。
車輛超速報警:1、5110顯示設(shè)定速度、采集速度、PWM占空比、PID參數(shù); 2、按鍵修改設(shè)定速度、PID參數(shù);3、按鍵控制電機(jī)啟停;4、PWM轉(zhuǎn)速閉環(huán)自動控制。
其系統(tǒng)組成結(jié)構(gòu)圖如下:
2 方案設(shè)計
單片機(jī)MPC5604為整個系統(tǒng)核心控制部件。其振蕩電路靠單片機(jī)利用內(nèi)部時鐘來完成,為系統(tǒng)的主頻率,是單片機(jī)執(zhí)行服務(wù)的基準(zhǔn)。外部電路包括復(fù)位電路、顯示電路、光電式測速傳感器等。通過單片機(jī)及PID參數(shù)調(diào)節(jié)控制輸出相應(yīng)的PWM電機(jī)控制信號實現(xiàn)電機(jī)車速的控制。
本系統(tǒng)是基于單片機(jī)的轉(zhuǎn)速控制系統(tǒng)的設(shè)計,所以核心內(nèi)容是單片機(jī)控制。通過不斷的脈沖計數(shù)、計算速度、PWM占空比的調(diào)節(jié)、刷新顯示,及按鍵掃描和執(zhí)行相應(yīng)的按鍵功能,設(shè)計功能如下:①5110顯示和按鍵掃描程序設(shè)計和調(diào)試;②轉(zhuǎn)速檢測程序設(shè)計及其調(diào)試;③PWM占空比的回路控制調(diào)節(jié)電機(jī)的轉(zhuǎn)速。
2.1 硬件電路
單片機(jī)為系統(tǒng)轉(zhuǎn)速控制的控制中心,也是最小的單片機(jī)組成,其包括一塊MPC5604芯片、復(fù)位部分、晶振時間頻率控制部分。系統(tǒng)主控結(jié)構(gòu)情況如圖2所示。
選用單片機(jī)MPC5604 (以下簡稱 5604),100 引腳封裝。這款單片機(jī)的運(yùn)算速度、存儲容量以及端口(ATD, I/O, PWM, SCI 等)能夠滿足設(shè)計要求。為了使電路板緊湊,僅對所用到的必要引腳引出,適當(dāng)留有備用端口,其中包括PWM 接口、FTM、普通I/O 口、JTAG 接口、SCI 接口等。
電路板實物尺寸為42 mm×42 mm。
2.1.1 系統(tǒng)供電模塊電路設(shè)計
系統(tǒng)使用電壓為7.2 V的鎳鎘電池供電。由于單片機(jī)模塊、5110模塊、電機(jī)驅(qū)動模塊均為5 V供電,采用集成三端穩(wěn)壓電源。LM2940穩(wěn)壓器件,輸出電流1A足以滿足單片機(jī)供電的需要。因為電路中存在感性負(fù)載,存在大電流,為了最大限度地降低各個部分對單片機(jī)的干擾,單獨(dú)采用一片LM2940 對單片機(jī)和起跑線檢測模塊進(jìn)行供電。而其他需要5 V供電的模塊則采用另一片LM2940進(jìn)行供電。傳感器部分本身功耗并不高,但要求穩(wěn)定工作,因此單獨(dú)用一片LM2940為其供電。最終電源原理如圖3所示。
2.1.2 電機(jī)驅(qū)動電路設(shè)計
驅(qū)動電路為電機(jī)提供控制和驅(qū)動,這部分電路的設(shè)計要求以能夠通過大電流為主要指標(biāo)。目前流行的H 橋驅(qū)動電路有:H 橋集成電路,如MC33886;集成半橋電路,如BTS7970 等;MOS 管搭建的H 橋電路。我們對三種電路都進(jìn)行了搭建并測試。MC33886 的優(yōu)點(diǎn)是電路簡單,外圍元件少;但缺點(diǎn)是內(nèi)阻較大,通過電流有限,可以通過兩片MC33886 并聯(lián)的方式進(jìn)行改善。MOS 管搭建的H 橋電路可以通過較大電流,但由于每個MOS 管體積較大,因此電路板面積較大。另外,MOS 管H 橋電路可能會發(fā)生脈沖上升沿、下降沿由于不夠陡峭而帶來的瞬間短路、功率過高等問題。為此,選擇了兩個目前比較流行的BTS7970 半橋集成電路組成H 橋電路,原理如圖4所示。
2.1.3 5110液晶顯示電路
5110液晶顯示模塊,為點(diǎn)陣字符型液晶顯示模塊,有自帶驅(qū)動IC和液晶顯示控制IC,其內(nèi)部有字符發(fā)生器和顯示數(shù)據(jù)存儲器。該模塊具有與MCU接口:8位或4位并行/3位串行數(shù)據(jù)總線接口。CS與單片機(jī)的P10口連接,SID與P11口連接,SCLK與P12口連接。B_Light為背光顯示,可以不連接。通過5110電路實現(xiàn)數(shù)據(jù)和命令的發(fā)送、漢字和字母的顯示。
其5110顯示電路如圖5所示。
2.1.4 按鍵接口電路
系統(tǒng)中,由于需要對設(shè)定速度、PID控制參數(shù)的修改,實現(xiàn)實時轉(zhuǎn)速控制在一定誤差范圍內(nèi),所以系統(tǒng)在單片機(jī)P2口加入4×4的矩陣按鍵分別對其修改。從左至右、從上到下將按鍵依次定義為1—16. 其中,1—10為數(shù)字按鍵,按鍵13、按鍵14、按鍵15、按鍵16為功能按鍵。按鍵接口電路如圖6所示。
2.1.5 輔助調(diào)試電路
2.1.5.1 LED指示電路
本系統(tǒng)有3個共陰極的發(fā)光二極管,其中當(dāng)D1亮指示PWM控制轉(zhuǎn)速模式,D2發(fā)光二極管亮指示修改設(shè)定速度模式,D3亮指示修改PID參數(shù)。當(dāng)三個燈都亮,則說明電機(jī)為啟動狀態(tài);當(dāng)3個發(fā)光二極管都滅,則說明電機(jī)為停止?fàn)顟B(tài)。
2.1.5.2 LED燈電路
LED燈電路圖如圖7所示。
2.1.5.3 蜂鳴器報警電路
當(dāng)轉(zhuǎn)速超過規(guī)定速度以及其他情況時,將使用蜂鳴器進(jìn)行報警。蜂鳴器報警電路如圖8所示。
2.2 軟件設(shè)計
主控模塊程序:根據(jù)系統(tǒng)功能描述,可以將軟件大致劃分為6個模塊:主函數(shù)模塊,系統(tǒng)參數(shù)初始化模塊,5110初始化、發(fā)送命令、發(fā)送數(shù)據(jù)和顯示漢字和顯示字母模塊,按鍵識鍵和功能設(shè)置模塊,中斷模塊,PWM控制模塊。主程序執(zhí)行的過程是,先進(jìn)入主程序初始化,在沒有按鍵按下的時候,5110實時顯示;當(dāng)有按鍵按下的時候,則執(zhí)行按鍵所對應(yīng)的功能。
其主函數(shù)程序流程如圖9所示。
2.2.1 程序流程
通過單片機(jī)內(nèi)部定時中斷功能,定時中斷設(shè)定值為5 ms,中斷服務(wù)函數(shù)流程如圖10所示。
2.2.2 電機(jī)速度讀取及車速計算
通過脈沖計數(shù)的方法來實現(xiàn)對速度的檢測:在點(diǎn)擊同軸的螺絲柱上裝上100線光電碼盤,這樣當(dāng)車輪轉(zhuǎn)動時,光電碼盤跟隨電機(jī)同步轉(zhuǎn)動,光電式速度傳感器在碼盤轉(zhuǎn)動時產(chǎn)生TTL方波信號,使用輸入脈沖測量功能對脈沖方波信號進(jìn)行計數(shù)。由于采樣周期固定(5 ms及定時中斷時間)讀出脈沖總數(shù)。5 ms內(nèi)光電碼盤轉(zhuǎn)動一圈計數(shù)n=100。
由脈沖數(shù)計算實際速度的過程:對脈沖數(shù)N進(jìn)行積分,行駛1 m測的脈沖個數(shù)的積分?jǐn)?shù)N為4 700(也就說明碼盤一共轉(zhuǎn)了47圈);如果速度為1 m/s時,則積分?jǐn)?shù)N在1 s內(nèi)積分值為4 700,因此每個程序周期n=4 700÷1 000×5=23.5。也就是,說如果n=23.5 對應(yīng)車速為1 m/s。所以速度V=n/23.5 m/s。
模擬PID控制系統(tǒng)原理如圖11所示。
2.2.3 回路自動控制PWM程序
回路自動控制程序為系統(tǒng)軟件中用到的另一種PWM控制方法,其設(shè)計思想是根據(jù)采集速度與設(shè)定速度的差值分為幾個不同的檔位,對占空比的調(diào)節(jié)寬度也不同,差值越大,所增加的占空比也就越大。
車輛行駛路程計算及速度報警:行駛1 m脈沖個數(shù)的積分為4 700,因此,對轉(zhuǎn)速n進(jìn)行積分,積分值除以4 700,就是小車行駛的路程。程序給定速度值,當(dāng)小車超速時,IO口置高,蜂鳴器報警。
參考文獻(xiàn)
[1]潘雪濤,溫秀蘭.傳感器原理與檢測技術(shù)[M].北京:國防工業(yè)版社,2011.
[2]單成祥.傳感器設(shè)計基礎(chǔ)[M].北京:國防工業(yè)版社,2007.
[3]孫同景,陳桂友.Freescale 9S12十六位單片機(jī)原理及嵌入式開發(fā)技術(shù)[M].北京:機(jī)械工業(yè)出版社,2008.
[4]邵貝貝.嵌入式實時操作系統(tǒng)uCOS-Ⅱ[M].第2版.北京:清華大學(xué)出版社,2004.
[5]王曉明.電動機(jī)的單片機(jī)控制[M].北京:北京航空航天大學(xué)出版社,2002.
〔編輯:胡雪飛〕