李槐生



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