電控設(shè)計機油壓力檢測控制設(shè)計模板_第1頁
電控設(shè)計機油壓力檢測控制設(shè)計模板_第2頁
電控設(shè)計機油壓力檢測控制設(shè)計模板_第3頁
電控設(shè)計機油壓力檢測控制設(shè)計模板_第4頁
電控設(shè)計機油壓力檢測控制設(shè)計模板_第5頁
已閱讀5頁,還剩54頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

電控設(shè)計機油壓力檢測控制設(shè)計資料內(nèi)容僅供參考,如有不當或者侵權(quán),請聯(lián)系本人改正或者刪除。交通與汽車工程學(xué)院課程設(shè)計說明書課程名稱:汽車電控系統(tǒng)實習(xí)及課程設(shè)計課程代碼:6010319題目:機油壓力控制系統(tǒng)年級/專業(yè)/班:級汽車電子一班 學(xué)生姓名: 學(xué)號: 開始時間:年1月6日完成時間:年1月10日課程設(shè)計成績:學(xué)習(xí)態(tài)度及平時成績(30)技術(shù)水平與實際能力(20)創(chuàng)新(5)說明書(計算書、圖紙、分析報告)撰寫質(zhì)量(45)總分(100)指導(dǎo)教師簽名:年月日目錄摘要…………………………21引言………………………31.1問題的提出……………31.2任務(wù)與分析……………32方案設(shè)計…………………42.1系統(tǒng)設(shè)計方案…………42.2系統(tǒng)總體框圖…………4 3系統(tǒng)硬件設(shè)計……………53.1AT89C51單片機……………………53.2ADC0808………………83.3時鐘電路………………113.4復(fù)位電路………………113.5MPX4115壓力傳感器…………………123.6LM061L液晶顯示器…………………123.7直流電機控制電路 ……………………133.8黃燈預(yù)警電路…………144系統(tǒng)軟件設(shè)計……………154.1Proteus軟件環(huán)境介紹………………154.2KileuVision4軟件環(huán)境介紹………15 4.3Protel軟件環(huán)境介紹………………16 4.4程序流程圖…………174.5位置式PID控制原理………………195系統(tǒng)調(diào)試過程…………20設(shè)計總結(jié)……………………26致謝…………………………27參考文獻……………………28附錄1………………………29摘要機油壓力是汽車發(fā)動機的重要參數(shù)之一。如何利用已學(xué)知識模擬機油壓力檢測,而且對機油壓力進行電控是開始本設(shè)計的初衷。本此設(shè)計經(jīng)過以AT89C51單片機為中心,經(jīng)過MPX4115模擬產(chǎn)生一個信號,經(jīng)過ADC0808數(shù)據(jù)轉(zhuǎn)換送入單片機進行處理,再從單片機P0口將電平信號送入液晶顯示器C實現(xiàn)動態(tài)顯示。并在超過機油壓力安全值時由單片機控制LED進行光報警,同時當機油壓力過高或者過低時經(jīng)過電機控制活塞閥進行放油處理。此說明書給出了系統(tǒng)的設(shè)計原理圖,以及PCD印制板圖,并在Proteus軟件中進行仿真實現(xiàn)設(shè)計功能。關(guān)鍵詞:AT89C51單片機機油壓力電機控制

1引言1.1問題的提出隨著進入電氣時代,越來越多的電子技術(shù)被應(yīng)用在現(xiàn)代汽車上。汽車也將由單純的機械產(chǎn)品向高級的機電一體化產(chǎn)品方向發(fā)展。由于實時駕駛信息系統(tǒng)及多媒體設(shè)備在汽車上普及,汽車更具個性化、通用性、安全性和舒適性。汽車在人們的生活中不但僅是代步工具,而逐步成為一種生活的方式。在汽車電子領(lǐng)域的研究成為汽車研發(fā)中最活躍的一部分。隨著進入電氣時代,電子測控裝置被廣泛應(yīng)用于各種電器機械產(chǎn)品上,本次課程設(shè)計的任務(wù)就是基于單片機設(shè)計機油壓力電控系統(tǒng),檢測機油壓力,對油壓超過預(yù)定值則使用LED報警,而且能夠進行控制。1.2任務(wù)與分析本次設(shè)計的任務(wù)是基于單片機機油壓力電控系統(tǒng)設(shè)計。要求是本此設(shè)計經(jīng)過以AT89C51單片機為中心,經(jīng)過MPX4115模擬產(chǎn)生一個信號,經(jīng)過ADC0808數(shù)據(jù)轉(zhuǎn)換送入單片機進行處理,再從單片機P0口將電平信號送入液晶顯示器LM061L實現(xiàn)動態(tài)顯示。并在超過機油壓力安全值時由單片機控制LED進行光報警,同時當機油壓力過時經(jīng)過電機控制活塞閥進行控制。此說明書給出了系統(tǒng)的設(shè)計原理圖,以并在Proteus軟件中進行仿真實現(xiàn)設(shè)計功能。本系統(tǒng)能夠分為以下6大主要模塊:(1)AT89C51模塊:用于數(shù)據(jù)處理,初值設(shè)定。(2)ADC0808:進行數(shù)據(jù)轉(zhuǎn)換,將壓力傳感器采集的模擬信號轉(zhuǎn)換為數(shù)字信號。(3)MPX4115:采集模擬壓力信號。(4)液晶顯示器LM061L:用于實時的顯示機油壓力信息。(5)LED二極管:超過機油壓力下限值,則LED亮燈報警。(6)直流電機:當機油壓力過高時,經(jīng)過電機控制活塞閥,從而控制機油壓力。2系統(tǒng)方案設(shè)計2.1系統(tǒng)設(shè)計方案本此設(shè)計經(jīng)過以AT89C51單片機為中心,經(jīng)過MPX4115模擬產(chǎn)生一個信號,經(jīng)過ADC0808數(shù)據(jù)轉(zhuǎn)換送入單片機進行處理。指定機油壓力正常的范圍是20—80(MPa),當機油壓力在正常范圍內(nèi)時,僅僅從單片機P0口將電平信號送入液晶顯示器LM061L實現(xiàn)動態(tài)顯示。當檢測到低于機油壓力安全值(即<=20Mpa)時,由單片機控制LED進行亮光報警,當檢測到高于機油壓力安全值(即>=80Mpa)時,由單片機經(jīng)過電機控制活塞閥進行放油等緊急措施。2.2系統(tǒng)總體框圖 當程序啟動后,程序進入初始化階段。時鐘電路的晶振產(chǎn)生外部振蕩脈沖信號送入AT89C51單片機的XTAL2口。單片機AT89C51執(zhí)行編寫在其內(nèi)部的程序,處理從ADC0808送來的信號,并送到P0口輸出到液晶顯示器LM061L顯示。當檢測到低于機油壓力安全值(即<=20Mpa)時,由單片機控制LED進行亮光報警,當檢測到高于機油壓力安全值(即>=80Mpa)時,由單片機經(jīng)過電機控制活塞閥進行放油等緊急措施。3系統(tǒng)硬件電路設(shè)計3.1AT89C51單片機

經(jīng)過對多種單片機性能的分析,最終認為89C51是最理想的電子時鐘開發(fā)芯片。89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器,器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的89C51是一種高效微控制器,而且它與MCS-51兼容,且具有4K字節(jié)可編程閃爍存儲器和1000寫/擦循環(huán),數(shù)據(jù)保留時間為等特點,是最好的選擇。MCS-51系列單片機是Intel公司1980年推出的高性能8位單片微型計算機主要有8031、8051、8751這三種機型,她們的指令系統(tǒng)與芯片引腳完全兼容,僅片內(nèi)ROM有所不同。主要功能為:·8位CPU;·片內(nèi)帶振蕩器,振蕩頻率f的范圍為1.2-12MHZ,可有時鐘輸出;·128B片內(nèi)數(shù)據(jù)存儲器;·4KB片內(nèi)程序存儲器;·程序存儲器的尋址范圍為64KB;·片外數(shù)據(jù)存儲器的尋址范圍為64KB;·21B專用寄存器;·4個8位并行I/O口:P0,P1,P2,P3;·1個全雙工串行I/O口,可多機通信;·2個16位定時/計數(shù)器;·中斷系統(tǒng)有5個中斷源,可編程為兩個優(yōu)先級;·111條指令,含乘法指令和除法指令;·有強的位尋址,位處理能力;·片內(nèi)采用單總線結(jié)構(gòu);圖3-189C51單片機引腳圖89C51單片機與早期Intel的8051/8751/8031芯片的外部引腳和指令系統(tǒng)完全兼容,只不過用FlashROM替代了ROM/EPROM而已。89C51單片機內(nèi)部結(jié)構(gòu)如圖所示。圖3-289C51單片機內(nèi)部結(jié)構(gòu)示意圖各引腳的功能如下:·VCC:供電電壓。·GND:接地。

·P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它能夠被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高?!1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收?!2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫”1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址”1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。

·P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入”1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。·RST:復(fù)位輸入。當振蕩器復(fù)位器件時,要保持RST腳兩個機器周期高電平時間?!LE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效?!?外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的信號將不出現(xiàn)?!?當保持低電平時,則在此期間CPU只訪問外部程序存儲器(0000H-FFFFH),不論是否有內(nèi)部程序存儲器。注意加密方式1時,將內(nèi)部鎖定為RESET;當端保持高電平時,則執(zhí)行內(nèi)部程序存儲器中的程序。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)?!TAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。

·XTAL2:來自反向振蕩器的輸出。

3.2ADC0808為了滿足多種需要,當前國內(nèi)外各半導(dǎo)體器件生產(chǎn)廠家設(shè)計并生產(chǎn)出了多種多樣的ADC芯片。僅美國AD公司的ADC產(chǎn)品就有幾十個系列、近百種型號之多。從性能上講,它們有的精度高、速度快,有的則價格低廉。從功能上講,有的不但具有A/D轉(zhuǎn)換的基本功能,還包括內(nèi)部放大器和三態(tài)輸出鎖存器;有的甚至還包括多路開關(guān)、采樣保持器等,已發(fā)展為一個單片的小型數(shù)據(jù)采集系統(tǒng)。ADC0808是采樣分辨率為8位的、以逐次逼近原理進行模/數(shù)轉(zhuǎn)換的器件。其內(nèi)部有一個8通道多路開關(guān),它能夠根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進行A/D轉(zhuǎn)換。ADC0808是ADC0809的簡化版本,功能基本相同。一般在硬件仿真時采用ADC0808進行A/D轉(zhuǎn)換,實際使用時采用ADC0809進行A/D轉(zhuǎn)換。ADC0808是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,它有8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型A/D轉(zhuǎn)換器。圖3-3AD0808引腳圖1)主要技術(shù)指標和特性(1)分辨率:8位。(2)總的不可調(diào)誤差:ADC0808為±1/2LSB,ADC0809為±1LSB。(3)轉(zhuǎn)換時間:取決于芯片時鐘頻率,如CLK=500kHz時,TCONV=128μs。(4)單一電源:+5V。(5)模擬輸入電壓范圍:單極性0~5V;雙極性±5V,±10V(需外加一定電路)。(6)具有可控三態(tài)輸出緩存器。(7)啟動轉(zhuǎn)換控制為脈沖式(正脈沖),上升沿使所有內(nèi)部寄存器清零,下降沿使A/D轉(zhuǎn)換開始。(8)使用時不需進行零點和滿刻度調(diào)節(jié)。2)內(nèi)部結(jié)構(gòu)和外部引腳ADC0808/0809的內(nèi)部結(jié)構(gòu)和外部引腳分別如圖11.19和圖11.20所示。內(nèi)部各部分的作用和工作原理在內(nèi)部結(jié)構(gòu)圖中已一目了然,在此就不再贅述,下面僅對各引腳定義分述如下:圖3-4ADC0808/0809內(nèi)部結(jié)構(gòu)框圖(1)IN0~IN7——8路模擬輸入,經(jīng)過3根地址譯碼線ADDA、ADDB、ADDC來選通一路。(2)D7~D0——A/D轉(zhuǎn)換后的數(shù)據(jù)輸出端,為三態(tài)可控輸出,故可直接和微處理器數(shù)據(jù)線連接。8位排列順序是D7為最高位,D0為最低位。(3)ADDA、ADDB、ADDC——模擬通道選擇地址信號,ADDA為低位,ADDC為高位。地址信號與選中通道對應(yīng)關(guān)系如表11.3所示。(4)VR(+)、VR(-)——正、負參考電壓輸入端,用于提供片內(nèi)DAC電阻網(wǎng)絡(luò)的基準電壓。在單極性輸入時,VR(+)=5V,VR(-)=0V;雙極性輸入時,VR(+)、VR(-)分別接正、負極性的參考電壓。表3-1地址信號與選中通道的關(guān)系地址選中通道ADDCADDBADDA000011110011001101010101IN0IN1IN2IN3IN4IN5IN6IN7(5)ALE——地址鎖存允許信號,高電平有效。當此信號有效時,A、B、C三位地址信號被鎖存,譯碼選通對應(yīng)模擬通道。在使用時,該信號常和START信號連在一起,以便同時鎖存通道地址和啟動A/D轉(zhuǎn)換。(6)START——A/D轉(zhuǎn)換啟動信號,正脈沖有效。加于該端的脈沖的上升沿使逐次逼近寄存器清零,下降沿開始A/D轉(zhuǎn)換。如正在進行轉(zhuǎn)換時又接到新的啟動脈沖,則原來的轉(zhuǎn)換進程被中止,重新從頭開始轉(zhuǎn)換。(7)EOC——轉(zhuǎn)換結(jié)束信號,高電平有效。該信號在A/D轉(zhuǎn)換過程中為低電平,其余時間為高電平。該信號可作為被CPU查詢的狀態(tài)信號,也可作為對CPU的中斷請求信號。在需要對某個模擬量不斷采樣、轉(zhuǎn)換的情況下,EOC也可作為啟動信號反饋接到START端,但在剛加電時需由外電路第一次啟動。(8)OE——輸出允許信號,高電平有效。當微處理器送出該信號時,ADC0808/0809的輸出三態(tài)門被打開,使轉(zhuǎn)換結(jié)果經(jīng)過數(shù)據(jù)總線被讀走。在中斷工作方式下,該信號往往是CPU發(fā)出的中斷請求響應(yīng)信號。3)工作時序與使用說明當通道選擇地址有效時,ALE信號一出現(xiàn),地址便馬上被鎖存,這時轉(zhuǎn)換啟動信號緊隨ALE之后(或與ALE同時)出現(xiàn)。START的上升沿將逐次逼近寄存器SAR復(fù)位,在該上升沿之后的2μs加8個時鐘周期內(nèi)(不定),EOC信號將變低電平,以指示轉(zhuǎn)換操作正在進行中,直到轉(zhuǎn)換完成后EOC再變高電平。微處理器收到變?yōu)楦唠娖降腅OC信號后,便立即送出OE信號,打開三態(tài)門,讀取轉(zhuǎn)換結(jié)果。模擬輸入通道的選擇能夠相對于轉(zhuǎn)換開始操作獨立地進行(當然,不能在轉(zhuǎn)換過程中進行),然而一般是把通道選擇和啟動轉(zhuǎn)換結(jié)合起來完成(因為ADC0808/0809的時間特性允許這樣做)。這樣能夠用一條寫指令既選擇模擬通道又啟動轉(zhuǎn)換。在與微機接口時,輸入通道的選擇可有兩種方法,一種是經(jīng)過地址總線選擇,一種是經(jīng)過數(shù)據(jù)總線選擇。如用EOC信號去產(chǎn)生中斷請求,要特別注意EOC的變低相對于啟動信號有2μs+8個時鐘周期的延遲,要設(shè)法使它不致產(chǎn)生虛假的中斷請求。為此,最好利用EOC上升沿產(chǎn)生中斷請求,而不是靠高電平產(chǎn)生中斷請求。3.3時鐘系統(tǒng)利用芯片內(nèi)部振蕩電路,在XTAL1、XTAL2引腳上外接定時元件,內(nèi)部振蕩電路便產(chǎn)生自激振蕩,用示波器能夠觀察到XTAL2輸出時鐘信號。振蕩晶體選擇12MHz。電容只無嚴格要求,但電容取值對振蕩頻率輸出的穩(wěn)定性、大小、振蕩電路起振速度有少許影響,C1和C2可在20-100pF取值,但在,60-70pF時振蕩器有較高的頻率穩(wěn)定性。 圖3-5內(nèi)部時鐘電路3.4復(fù)位電路復(fù)位電路一般采用上電自動復(fù)位和按鈕復(fù)位兩種方式。本次設(shè)計采用按鍵復(fù)位電路。按鍵復(fù)位電路是在按鍵瞬間接地來實現(xiàn)的,其電路如圖所示。按下復(fù)位按鈕后,電源對按鍵RESET端維持兩個機器周期的高電平實現(xiàn)復(fù)位的。圖3-6復(fù)位電路3.5MPX4115壓力傳感器MPX4115系列壓電電阻傳感器是一個硅壓力傳感器。這個傳感器結(jié)合了高級的微電機技術(shù),薄膜鍍金屬。還能為高水準模擬輸出信號提供一個均衡壓力。在0℃-85℃的溫度下誤差不超過1.5%,溫度補償是-40℃-125℃。圖3-7壓力傳感器3.6液晶顯示器LM061LLM016L液晶模塊采用HD44780控制器,hd44780具有簡單而功能較強的指令集,能夠?qū)崿F(xiàn)字符移動,閃爍等功能,LM016L與單片機MCU通訊可采用8位或4位并行傳輸兩種方式,hd44780控制器由兩個8位寄存器,指令寄存器(IR)和數(shù)據(jù)寄存器(DR)忙標志(BF),顯示數(shù)RAM(DDRAM),字符發(fā)生器ROMA(CGOROM)字符發(fā)生器RAM(CGRAM),地址計數(shù)器RAM(AC)。IR用于寄存指令碼,只能寫入不能讀出,DR用于寄存數(shù)據(jù),數(shù)據(jù)由內(nèi)部操作自動寫入DDRAM和CGRAM,或者暫存從DDRAM和CGRAM讀出的數(shù)據(jù),BF為1時,液晶模塊處于內(nèi)部模式,不響應(yīng)外部操作指令和接受數(shù)據(jù),DDTAM用來存儲顯示的字符,能存儲80個字符碼,CGROM由8位字符碼生成5*7點陣字符160中和5*10點陣字符32種.8位字符編碼和字符的對應(yīng)關(guān)系,CGRAM是為用戶編寫特殊字符留用的,它的容量僅64字節(jié),能夠自定義8個5*7點陣字符或者4個5*10點陣字符,AC能夠存儲DDRAM和CGRAM的地址,如果地址碼隨指令寫入IR,則IR自動把地址碼裝入AC,同時選擇DDRAM或CGRAM但愿,LM016L 液晶模塊的引腳功能如下表所示:圖3-8LM061L引腳圖3.7直流電機控制電路 直流電機是指能將直流電能轉(zhuǎn)換成機械能(直流電動機)或?qū)C械能轉(zhuǎn)換成直流電能(直流發(fā)電機)的旋轉(zhuǎn)電機。它是能實現(xiàn)直流電能和機械能互相轉(zhuǎn)換的電機。當它作電動機運行時是直流電動機,將電能轉(zhuǎn)換為機械能;作發(fā)電機運行時是直流發(fā)電機,將機械能轉(zhuǎn)換為電能。直流電機的結(jié)構(gòu)應(yīng)由定子和轉(zhuǎn)子兩大部分組成。直流電機運行時靜止不動的部分稱為定子,定子的主要作用是產(chǎn)生磁場,由機座、主磁極、換向極、端蓋、軸承和電刷裝置等組成。運行時轉(zhuǎn)動的部分稱為轉(zhuǎn)子,其主要作用是產(chǎn)生電磁轉(zhuǎn)矩和感應(yīng)電動勢,是直流電機進行能量轉(zhuǎn)換的樞紐,因此一般又稱為電樞,由轉(zhuǎn)軸、電樞鐵心、電樞繞組、換向器和風(fēng)扇等組成。直流電機在控制中使用了脈寬調(diào)制(PWM)控制的方法。PWM的占空比決定輸出到直流電機的平均電壓.PWM不是調(diào)節(jié)電流的。PWM的意思是脈寬調(diào)節(jié),也就是調(diào)節(jié)方波高電平和低電平的時間比,一個20%占空比波形,會有20%的高電平時間和80%的低電平時間,而一個60%占空比的波形則具有60%的高電平時間和40%的低電平時間,占空比越大,高電平時間越長,則輸出的脈沖幅度越高,即電壓越高.如果占空比為0%,那么高電平時間為0,則沒有電壓輸出.如果占空比為100%,那么輸出全部電壓。

因此經(jīng)過調(diào)節(jié)占空比,能夠?qū)崿F(xiàn)調(diào)節(jié)輸出電壓的目的,而且輸出電壓能夠無級連續(xù)調(diào)節(jié).脈寬調(diào)制(PWM)是利用數(shù)字輸出對模擬電路進行控制的一種有效技術(shù),特別是在對電機的轉(zhuǎn)速控制方面,可大大節(jié)省能量。PWM具有很強的抗噪性,且有節(jié)約空間、比較經(jīng)濟等特點。模擬控制電路有以下缺陷:模擬電路容易隨時間漂移,會產(chǎn)生一些不必要的熱損耗,以及對噪聲敏感等。而在用了PWM技術(shù)后,避免了以上的缺陷,實現(xiàn)了用數(shù)字方式來控制模擬信號,能夠大幅度降低成本和功耗。圖3-8直流電機控制電路3.8黃燈預(yù)警電路當油壓在正常范圍內(nèi)(20—80Mpa)時黃燈不亮,當油壓低于最低的閥值時,單片機控制黃燈亮起,達到警示的作用。圖3-9黃燈警示電路4系統(tǒng)軟件設(shè)計4.1Proteus軟件環(huán)境介紹本系統(tǒng)的硬件設(shè)計首先是在Proteus軟件環(huán)境中仿真實現(xiàn)的。Proteus軟件是來自英國Labcenterelectronics公司的EDA工具軟件,Proteus軟件有十多年的歷史,在全球廣泛使用,除了具有和其它EDA工具一樣的原理布圖、PCB自動或人工布線及電路仿真的功能外,其革命性的功能是,它的電路仿真是互動的。針對微處理器的應(yīng)用,還能夠直接在基于原理圖的虛擬原型上編程,并實現(xiàn)軟件源碼級的實時調(diào)試。如果有顯示及輸出,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等,還能看到運行后輸入輸出的效果。Proteus建立了完備的電子設(shè)計開發(fā)環(huán)境,特別重要的是ProteusLite能夠完全免費,也能夠花微不足道的費用注冊達到更好的效果。Proteus是當前最好的模擬單片機外圍器件的工具。能夠仿真51系列、AVR、PIC等常見的MCU及其外圍電路(如LCD,RAM,ROM,鍵盤,馬達,LED,AD/DA,部分SPI器件,部分IIC器件...)。其實Proteus與multisim比較類似,只不過它能夠仿真MCU,當然,軟件仿真精度有限,而且不可能所有的器件都找得到相應(yīng)的仿真模型,用開發(fā)板和仿真器當然是最好選擇,可是初學(xué)者擁有它們的可能性比較小。當然,硬件實踐還是必不可少的。在沒有硬件的情況下,Proteus能像pspice仿真模擬/數(shù)字電路那樣仿真MCU及外圍電路。另外,即使有硬件,在程序編寫早期用軟件仿真一下也是很有必要的。Proteus軟件主要具有以下幾個方面的特點:1)設(shè)計和仿真軟件Proteus是一個很有用的工具,它能夠幫助學(xué)生和專業(yè)人士提高她們的模擬和數(shù)字電路的設(shè)計能力。2)它允許對電路設(shè)計采用圖形環(huán)境,在這種環(huán)境中,能夠使用一個特定符號來代替元器件,并完成不會對真實電路造成任何損害的電路仿真操作。3)它能夠仿真儀表以及可描述在仿真過程中所獲得的信號的圖表。4)它能夠仿真當前流行的單片機,如PICS,ATMEL-AVR,MOTOROLA,8051等。5)在設(shè)計綜合性方案中,還能夠利用ARES開發(fā)印制電路板。4.2KeilμVision軟件環(huán)境介紹KeilC51是美國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,經(jīng)過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令你事半功倍。C51工具包的整體結(jié)構(gòu),uVision與Ishell分別是C51forWindows和forDos的集成開發(fā)環(huán)境(IDE),能夠完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及C51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創(chuàng)立生成庫文件,也能夠與庫文件一起經(jīng)L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標準的Hex文件,以供調(diào)試器dScope51或tScope51使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標板進行調(diào)試,也能夠直接寫入程序存貯器如EPROM中。4.3Protel軟件介紹Protel印制板設(shè)計軟件包是澳大利亞ProtelTechnology公司與1990年推出的電子CAD產(chǎn)品,具有方便、易學(xué)、實用、快速以及高速度、高步通率的特點。它采用了分層次下拉窗口菜單結(jié)構(gòu)形式,用戶基本上不需要記背太多的鍵盤命令,用鼠標點擊菜單命令就能操作,Protel有著很高的自動布線布通率。布通率是電子產(chǎn)CAD產(chǎn)品的一項重要指標,它反映電子元件在電路圖中連接關(guān)系有多少能在印刷版圖中實現(xiàn)。在設(shè)計常見的單、雙面印制板時只要選擇適當?shù)脑季趾筒季€策略方法,Protel就能夠輕易的達到98%-100%的布通率。對于極少數(shù)不能布通的定方,Protel能夠用飛線指示出來,引導(dǎo)用戶用手工方法連通。另外,Protel有強大的宏命令設(shè)置功能,利用宏命令功能多定義的熱鍵能夠大大提高操作速度。 Protel已成為印制板設(shè)計加工方面的工業(yè)標準。據(jù)初步統(tǒng)計Protel在CAD的市場占有率達95%,成為電子產(chǎn)品制造業(yè)界的首選CAD軟件。4.4程序流程圖(1)主程序流程圖開始開始系統(tǒng)初始化采集數(shù)據(jù),數(shù)據(jù)轉(zhuǎn)化子程序采集數(shù)據(jù),數(shù)據(jù)轉(zhuǎn)化子程序調(diào)用顯示程序,調(diào)用顯示程序,LCD顯示是否超過油壓上下限?是否超過油壓上下限?NY低于油壓下限,使用警示燈超過油壓上限,使用電機控制低于油壓下限,使用警示燈超過油壓上限,使用電機控制結(jié)束圖4-1主程序流程圖主程序流程圖說明:程序初期,定時器、寄存器初始化,將傳感器采集的數(shù)據(jù)經(jīng)傳給ADC0808,經(jīng)過數(shù)據(jù)轉(zhuǎn)換子程序?qū)⒛M信號轉(zhuǎn)換為數(shù)字信號信號經(jīng)過顯示子程序,將數(shù)字顯示在LCD上。而且判斷機油壓力是否低于最低值,低于則經(jīng)過P3.7口LED報警;機油壓力是否高于最高值高于則經(jīng)過電機轉(zhuǎn)動控制活塞閥調(diào)節(jié),相反則返回程序,繼續(xù)測量油壓。(2)A/D轉(zhuǎn)換子程序流程圖:AD子程序流程圖說明:在此流程圖中,主要說明的是本次設(shè)計的A/D數(shù)據(jù)轉(zhuǎn)換過程。單片機AT89C51的P3.1、P3.0、P3.3口連接ADC0808的OE、START和EOC端口,壓力信號經(jīng)過IN0端口傳給ADC0808進行模數(shù)轉(zhuǎn)換,將檢測的數(shù)據(jù)傳送給單片機。顯示子程序流程說明: 開始階段,將液晶顯示器初始化,然后將寫入光標跳到目標位,單片機P0口控制LCD的D0-D7口,讀入數(shù)據(jù)顯示實時機油壓力。調(diào)用延時程序,返回程序繼續(xù)顯示。4.5位置式PID控制原理當今的自動控制技術(shù)都是基于反饋的概念。反饋理論的要素包括三個部分:測量、比較和執(zhí)行。測量關(guān)心的變量,與期望值相比較,用這個誤差糾正調(diào)節(jié)控制系統(tǒng)的響應(yīng)。PD控制器由比例單元(P)、微分單元(D)組成。其輸入e(t)與輸出u(t)的關(guān)系為其中kp為比例系數(shù);TD為微分時間常數(shù)由于計算機控制是一種采樣控制,它只能根據(jù)采樣時刻的偏差來計算控制量,因此,在計算機控制系統(tǒng)中,必須首先對上述公式進行離散化處理,用數(shù)字形式的差分方程代替連續(xù)系統(tǒng)的微分方程,離散化后的PID表示式是為:根據(jù)遞推原理,能夠?qū)懗鰇-1的PID輸出表示式則其中由上式可知,要計算第k次的輸出值,只需知道、、、即可,比最初公式要簡單許多。在程序設(shè)計中,Now_speed[1]=Now_speed[0]表示E(t-1)Now_speed[0]=(int)(setspeed-speed);E(t)由此就能夠得到相應(yīng)的比例部分,積分部分,微分部分:P=KP*(Now_speed[0]);I=KI*(Now_speed[0]+pre_speed);D=KD*(Now_speed[0]-Now_speed[1]);注:pre_speed表示的之前差值之和。5系統(tǒng)調(diào)試過程經(jīng)過上面的硬件設(shè)計和軟件設(shè)計過程,設(shè)計的工作已經(jīng)基本完成,接下來的工作就是對所設(shè)計好的應(yīng)用系統(tǒng)進行調(diào)試。經(jīng)過調(diào)試能夠檢查出系統(tǒng)出現(xiàn)的一些錯誤,從而進行下一步的修改。Protel電路調(diào)試 在Protel的元件庫里建立89C51,沒有LCD液晶顯示器,單擊【Edit】按鍵,對元件庫的進行編輯,再建立新的封裝庫編寫其封裝,連線。電路調(diào)試:單擊【ERC】按鍵,進行節(jié)氣點ERC檢查;單擊【BillofMaterial】生成元件列表,檢查元器件封裝;單擊【CreatNetlist】生成網(wǎng)絡(luò)列表。圖5-1Protel原理圖 KeiluVision3中程序編寫與調(diào)試將已經(jīng)設(shè)計好的程序?qū)懭隟eiluVision3軟件中,用C語言進行程序編譯。將有錯誤提示的程序修改過來,顯示0error,0warning,最后hex文件的生成,為電路仿真做準備。(3)在Proteus中,對硬件電路圖進行設(shè)計和繪制、仿真。首先列出單片機芯片AT89C51,ADC0808,內(nèi)部時鐘電路,復(fù)位電路,電機控制電路等,然后連線。將在Keil軟件里已經(jīng)編譯好的程序輸入單片機。雙擊單片機,加載編譯好的程序生成的.hex文件,按下仿真按鈕,觀察仿真是否正常進行。當機油壓力值處于正常范圍內(nèi)也就是在20—80Mpa時,高壓報警黃燈不亮,直流電機不轉(zhuǎn)動,此時程序只執(zhí)行顯示子程序。圖5-2proteus電路仿真全圖(機油壓力正常時)圖5-3proteus電路仿真電機部分圖(機油壓力正常時) 圖5-4proteus電路仿真顯示部分圖(機油壓力正常時) 當機油壓力值超過最高峰也就是高于80Mpa時,電機轉(zhuǎn)動,電機控制電磁閥,該閥底端與潤滑油油路相連通,由于潤滑油均具有一定的壓力,該壓力即會把活塞閥推動,使燃燒油路通暢的供應(yīng)燃油,發(fā)動機正常運轉(zhuǎn)。圖5-5proteus電路仿真圖1(機油壓力為84Mpa時)圖5-5proteus電路仿真電機部分1(機油壓力為84Mpa時)圖5-6proteus電路仿真圖2(機油壓力為92Mpa時)圖5-7proteus電路仿真電機部分圖2(機油壓力為92Mpa時) 當機油壓力低于最低值也就是低于20Mpa時,此時黃燈報警燈亮,起到警示作用。圖5-6proteus電路仿真圖(機油壓力為17時)設(shè)計總結(jié)本次課程設(shè)計是要求我們基于單片機設(shè)計機油壓力電控系統(tǒng),其功能是以AT89C51單片機為中心,在MPX4115模擬產(chǎn)生一個信號后,經(jīng)過ADC0808將模擬信號轉(zhuǎn)化為數(shù)字數(shù)據(jù)轉(zhuǎn)換送入單片機進行處理,再從單片機P0口將電平信號送入液晶顯示器LM061L實現(xiàn)動態(tài)顯示。并在高于或低于機油壓力安全值時由單片機控制LED以及直流電機分別作出相應(yīng)的反應(yīng)。 設(shè)計一個控制系統(tǒng),最重要的是要深刻理解其原理以及其實際用途,然后才能根據(jù)其原理進行整個系統(tǒng)的設(shè)計。用理論指導(dǎo)實踐能夠達到事倍功半的效果,而有堅實的理論做基礎(chǔ)也會使設(shè)計變得得心應(yīng)手。在設(shè)計電路的過程中應(yīng)注意充分利用并擴展所學(xué)過的基礎(chǔ)知識,設(shè)計的過程就是學(xué)習(xí)的過程,在設(shè)計過程中驗證理論的正確性,彌補知識的漏洞。正確對待設(shè)計過程中遇到的錯誤,遇到錯誤與問題要敢于面對并設(shè)法找到解決的辦法。經(jīng)過對該電路的設(shè)計過程,而且我還查閱了不少相關(guān)資料,更深刻地認識和鞏固了平時所學(xué)的知識,使理論與實踐有機結(jié)合,提高了我對所學(xué)專業(yè)的興趣并積累了一些相關(guān)經(jīng)驗。我認為這就是一種很好的提高自身能力的方法。這個設(shè)計的大部分內(nèi)容都是在網(wǎng)上和書籍上找的內(nèi)容,自己做了一點點小小的改動,在上網(wǎng)找資料的同時也學(xué)到了許多東西,找到了很多學(xué)習(xí)單片機的網(wǎng)站,里面的內(nèi)容都比較適合我初學(xué)者去學(xué),有些網(wǎng)站還專門介紹這種單片機的類型、用法、功能等等。經(jīng)過這個課程設(shè)計,使我發(fā)現(xiàn),小小的一片單片機有這么強大的功能,能應(yīng)用于各種領(lǐng)域。我應(yīng)該在自己以后的學(xué)習(xí)中,不但要有刻苦努力,要有鉆研精神,還要有創(chuàng)新,對自己感興趣的一定要用心去學(xué)。雖然自己盡了很大的努力,可是還有很多不盡人意的地方,我想大概是由于開展獨立開發(fā)經(jīng)驗不足的緣故吧,作為一個學(xué)汽車電子的學(xué)生,我想我有必要經(jīng)過這次課更多的了解自己的不足,從而在以后的學(xué)習(xí)工作中不斷增強自己的動手能力,爭取在電路設(shè)計方面取進步。該電路還有很多缺陷。今后我要加強學(xué)習(xí),去認識更深層的科學(xué)知識,使我設(shè)計出來的東西更加完美。要嚴格要求自己,就像嚴格要求設(shè)計的每一個細節(jié)一樣。致謝在趙玲老師以及同學(xué)的指導(dǎo)和幫助之下,我終于完成了本次的課程設(shè)計,其中關(guān)于單片機設(shè)計的各種書籍也給了我很大的幫助和指導(dǎo)。也正是經(jīng)過這次的課程設(shè)計的學(xué)習(xí)與提高,讓我對單片機有了更進一步的認識,對硬件以及軟件的設(shè)計也有很大的提高。讓我能夠?qū)⒁郧霸谡n堂上學(xué)到的知識與實踐緊密的結(jié)合起來,對自己的能力也是一種很好的鍛煉。在此,我向趙老師和幫助過我的老師和同學(xué)們,表示崇高的敬意和衷心的感謝

參考文獻[1]張毅剛,彭喜元.單片機原理與應(yīng)用設(shè)計.電子工業(yè)出版社,.[2]先鋒工作室.單片機程序設(shè)計實例.清華大學(xué)出版社,.[3]周國雄,晏密英.單片機應(yīng)用系統(tǒng)設(shè)計精講.中國鐵道部出版社,.[4]趙佩華.單片機接口技術(shù)及應(yīng)用.機械工業(yè)出版社,.1.[5]唐嵐.汽車測試技術(shù).機械工業(yè)出版社,.7.[6]彭憶強、吳瓊、葛曉成.電子線路輔助分析軟件在汽車電子方向相關(guān)課程中的應(yīng)用.高等教育研究,,No.2.[7]張西振.汽車發(fā)動機電控技術(shù).北京:機械工業(yè)出版社,.附錄1源程序代碼:/******************************級汽電一班:杜晨瑞*******************************/#include<reg52.h>#include<math.h>#include<absacc.h>#include<intrins.h>#defineLCDP0#defineOUT_MAX10000#defineOUT_MIN-10000#defineKP80#defineKI8#defineKD10typedefunsignedcharuchar;typedefunsignedintuint;/*LCD顯示屏控制*/sbitRS=P2^2;sbitRW=P2^3;sbitE=P2^1;/*控制部分*/sbitSTART=P3^0;sbitOE=P3^1;sbitEOC=P3^3;sbitLED=P2^0;sbitPWM=P2^6;sbitDIR=P2^7;intPWML=0;intcount=0;intflag=0;intsetspeed=60;intspeed=0;intNow_speed[2]={0,0};intpre_speed=0;intnum=0; intj=0; ucharhighh,highl,lowh,lowl;inthigh=10000;ucharAD;voidad_0808(){ START=0; //啟動轉(zhuǎn)換 START=1; START=0; while(!EOC)//等待轉(zhuǎn)換完畢的信號,當EOC=1時轉(zhuǎn)換完畢 { ; } OE=1; //輸出三態(tài)門打開,將轉(zhuǎn)換的結(jié)果輸出到數(shù)據(jù)總線上 AD=P1*100/255; // OE=0;}voidadc(){ad_0808();setspeed=(int)AD;}voiddelay(uinta){ uinti,j; for(i=0;i<a;i++) for(j=0;j<200;j++);}voidDelay(){ uinti; for(i=0;i<225;i++); }/*************LCD顯示部分*******************//*把1個命令寫入LCD*/voidvWriteLM(ucharlcdCommand) { Delay(); //先延時。 E=1; //然后把LCD改為寫入命令狀態(tài)。 RS=0; RW=0;LCD=lcdCommand; //再輸出命令。E=0; //最后執(zhí)行命令。} /*把1個數(shù)據(jù)寫入LCD*/voidvWriteData(ucharlcdData) { Delay(); //先延時。E=1; //然后把LCD改為寫入數(shù)據(jù)狀態(tài)。 RS=1; RW=0;LCD=lcdData; //再輸出數(shù)據(jù)。E=0; //最后顯示數(shù)據(jù)。} /*把1個字符顯示到當前光標處*/ voidvShowOneChar(ucharlcdChar){ switch(lcdChar) { case'':vWriteData(0x20);break; case':':vWriteData(0x3A);break; case'0':vWriteData(0x30);break; case'1':vWriteData(0x31);break; case'2':vWriteData(0x32);break; case'3':vWriteData(0x33);break; case'4':vWriteData(0x34);break; case'5':vWriteData(0x35);break; case'6':vWriteData(0x36);break; case'7':vWriteData(0x37);break; case'8':vWriteData(0x38);break; case'9':vWriteData(0x39);break; case'A':vWriteData(0x41);break; case'B':vWriteData(0x42);break; case'C':vWriteData(0x43);break; case'D':vWriteData(0x44);break; case'E':vWriteData(0x45);break; case'F':vWriteData(0x46);break; case'G':vWriteData(0x47);break; case'H':vWriteData(0x48);break; case'I':vWriteData(0x49);break; case'J':vWriteData(0x4A);break; case'K':vWriteData(0x4B);break; case'L':vWriteData(0x4C);break; case'M':vWriteData(0x4D);break; case'N':vWriteData(0x4E);break; case'O':vWriteData(0x4F);break; case'P':vWriteData(0x50);break; case'Q':vWriteData(0x51);break; case'R':vWriteData(0x52);break; case'S':vWriteData(0x53);break; case'T':vWriteData(0x54);break; case'U':vWriteData(0x55);break; case'V':vWriteData(0x56);break; case'W':vWriteData(0x57);break; case'X':vWriteData(0x58);break; case'Y':vWriteData(0x59);break; case'Z':vWriteData(0x5A);break; default:break; }}/*把1個字符串顯示到當前光標處*/voidvShowChar(ucharlcdaChar[]){ ucharlcdCount; for(lcdCount=0;;lcdCount++) { vShowOneChar(lcdaChar[lcdCount]); if(lcdaChar[lcdCount+1]=='\0') break; }}/*把一個三位數(shù)字顯示出來*/voidvShowNumber(uintuiNumber){ ucharlcdaNumber[3],lcdNumCount; if(uiNumber>999) uiNumber=999; lcdaNumber[0]=uiNumber/100; //把計算數(shù)字的每個位存入數(shù)組。 lcdaNumber[1]=(uiNumber-100*(int)lcdaNumber[0])/10; lcdaNumber[2]=uiNumber-100*(int)lcdaNumber[0]-10*lcdaNumber[1]; for(lcdNumCount=0;lcdNumCount<3;lcdNumCount++) { vShowOneChar(lcdaNumber[lcdNumCount]+48); //從首位到末位逐一輸出。 }}voidLCD_init(){vWriteLM(0x01); // 清屏vWriteLM(0x38); //顯示模式設(shè)置:8位2行5x7點陣vWriteLM(0x0C); //(0x0C)文字不動,光標自動右移 vWriteLM(0x0F); //顯示器開、光標開、閃爍開}/****************電機控制部分******************/voidPWMset(intpwm){ if(pwm>=0) { DI

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論