




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
汽車單片機技術(shù)項目三
汽車信號系統(tǒng)控制【任務(wù)描述】當(dāng)前汽車上串口通信是一種基礎(chǔ)的數(shù)據(jù)傳輸方式,比如USB就是一種有線串口,而藍牙就是一種無線串口,那串口是如何工作的呢?下面請同學(xué)們通過學(xué)習(xí)串口的基本原理、硬件連接、控制應(yīng)用等知識,練習(xí)編寫單片機編程指令來實現(xiàn)汽車串口通信吧!【學(xué)習(xí)目標(biāo)】素養(yǎng)目標(biāo):1.培養(yǎng)學(xué)生查閱資料的自學(xué)能力。2.培養(yǎng)學(xué)生的動手能力。3.培養(yǎng)學(xué)生邏輯思維和分析問題的能力。4.培養(yǎng)學(xué)生溝通和團隊合作能力。知識目標(biāo):1.了解串口通信的基本原理。2.掌握串口通信的硬件連接。3.掌握串口通信的控制及應(yīng)用。技能目標(biāo):1.能夠識別串口通信的各個引腳。2.能夠完成單片機編程指令編寫。學(xué)習(xí)任務(wù)6串口數(shù)據(jù)通信項目三
汽車信號系統(tǒng)控制1.串口通信的基本原理
串口通信是指外設(shè)設(shè)備和計算機之間,通過數(shù)據(jù)信號線、地線等,按位(bit)進行傳輸數(shù)據(jù)(發(fā)送和接收)的一種通信方式。串口通信是一個字符一個字符地傳輸,每個字符一位一位地傳輸,并且傳輸一個字符時,總是以“起始位”開始,以“停止位”結(jié)束,字符之間沒有固定的時間間隔要求。每一個字符的前面都有一位起始位(低電平),字符本身由7位數(shù)據(jù)位組成,接著字符后面是一位校驗位(檢驗位可以是奇校驗、偶校驗或無校驗位),最后是一位或一位半或二位停止位,停止位后面是不定長的空閑位,停止位和空閑位都規(guī)定為高電平。實際傳輸時每一位的信號寬度與波特率有關(guān),波特率越高,寬度越小,在進行傳輸之前,雙方一定要使用同一個波特率設(shè)置。串口通信最重要的參數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶校驗。對于兩個進行通信的端口,這些參數(shù)必須匹配。
對于串口通信而言,波特率是衡量信號傳輸速率的重要參數(shù),具體是指每s鐘傳輸二進制的位數(shù)。串口通信是一種異步通信方式,收發(fā)雙方并沒有同步時鐘信號來規(guī)約一個bit的數(shù)據(jù)發(fā)送電平維持多長時間,這樣只能靠收發(fā)雙方的速率來同步收發(fā)數(shù)據(jù),這個速率就是波特率(BaudRate),其單位為bit/s(bitpersecond)。串口通信常用速率為115200(3G/4G/調(diào)試串口等)、9600(NB-loT/GPS等)、4800等。收發(fā)雙方的速率必須保持一致,否則會出現(xiàn)亂碼或完全接收不到的現(xiàn)象。例如,波特率-115200的含義是1s傳輸二進制的位數(shù)115200bit,也即傳輸1bit需要1/115200s=8.68μs。項目三
汽車信號系統(tǒng)控制對于串口通信而言,起始位表示發(fā)送方要開始發(fā)送一個通信單元,起始位的定義是串口通信標(biāo)準(zhǔn)事先指定的,是由通信線上的電平變化來反映的。對于串口通信而言總線沒有數(shù)據(jù)傳輸空閑時維持高電平,一旦產(chǎn)生一個下降沿變成低電平則表示起始信號。在傳輸時它會先發(fā)出一個邏輯”0”的信號,來表示傳輸字符的開始。數(shù)據(jù)位是串口通信在一個通信單元中發(fā)送的有效信息位,是本次通信真正要發(fā)送的有效數(shù)據(jù),串口通信一次發(fā)送多少位有效數(shù)據(jù)是可以設(shè)定的(可選的有6.7.8.9,一般都是選擇8位數(shù)據(jù)位,因為一般通過串口發(fā)送的數(shù)據(jù)都是以字節(jié)為單位的ASCII碼編碼,而ASCII碼中一個字符剛好編碼為8位)。奇偶檢驗位是串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。當(dāng)然沒有校驗位也是可以的。對于偶和奇校驗的情況,串口會設(shè)置校驗位(數(shù)據(jù)位后面的一位),用一個值確保傳輸?shù)臄?shù)據(jù)有偶個或者奇?zhèn)€邏輯高位。例如,如果數(shù)據(jù)是011,那么對于偶校驗,校驗位為0,保證邏輯高的位數(shù)是偶數(shù)個。如果是奇校驗,校驗位為1,這樣就有3個邏輯高位。高位和低位不真正的檢查數(shù)據(jù),簡單置位邏輯高或者邏輯低校驗。這樣使得接收設(shè)備能夠知道一個位的狀態(tài),有機會判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。項目三
汽車信號系統(tǒng)控制停止位串口通信中用于表示單個傳輸單元的最后一位。典型的值為1,1.5和2位。由于數(shù)據(jù)是在傳輸線上定時的,并且每一個設(shè)備有其自己的時鐘,很可能在通信中兩臺設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計算機校正時鐘同步的機會。適用于停止位的位數(shù)越多,不同時鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時也越慢,如圖3-1。串口按電氣標(biāo)準(zhǔn)及協(xié)議來劃分,包括RS-232-C、RS-422.RS485等。RS232(通常簡稱“RS232”),它是1962年由美國電子工業(yè)協(xié)會(EIA)制定。RS485(通常簡稱“RS485”),它是1983年由美國電子工業(yè)協(xié)會(EIA)制定。一個字符一個字符地傳輸,每個字符一位一位地傳輸,并且傳輸一個字符時,總是以“起始位”開始,以“停止位”結(jié)束,字符之間沒有固定的時間間隔要求。圖3-1串口通信的信號單元結(jié)構(gòu)圖項目三
汽車信號系統(tǒng)控制每一個字符的前面都有一位起始位(低電平),字符本身由7位數(shù)據(jù)位組成,接著字符后面是一位校驗位(檢驗位可以是奇校驗、偶校驗或無校驗位),最后是一位或一位半或二位停止位,停止位后面是不定長的空閑位,停止位和空閑位都規(guī)定為高電平。實際傳輸時每一位的信號寬度與波特率有關(guān),波特率越高,寬度越小,在進行傳輸之前,雙方一定要使用同一個波特率設(shè)置。單工模式(SimplexCommunication)的數(shù)據(jù)傳輸是單向的。通信雙方中,一方固定為發(fā)送端,一方則固定為接收端。信息只能沿一個方向傳輸,使用一根傳輸線。半雙工模式(HalfDuplex)通信使用同一根傳輸線,既可以發(fā)送數(shù)據(jù)又可以接收數(shù)據(jù),但不能同時進行發(fā)送和接收。數(shù)據(jù)傳輸允許數(shù)據(jù)在兩個方向上傳輸,但是,在任何時刻只能由其中的一方發(fā)送數(shù)據(jù),另一方接收數(shù)據(jù)。因此半雙工模式既可以使用一條數(shù)據(jù)線,也可以使用兩條數(shù)據(jù)線。半雙工通信中每端需有一個收發(fā)切換電子開關(guān),通過切換來決定數(shù)據(jù)向哪個方向傳輸。因為有切換,所以會產(chǎn)生時間延遲,信息傳輸效率低些。全雙工模式(FullDuplex)通信允許數(shù)據(jù)同時在兩個方向上傳輸。因此,全雙工通信是兩個單工通信方式的結(jié)合,它要求發(fā)送設(shè)備和接收設(shè)備都有獨立的接收和發(fā)送能力。在全雙工模式中,每一端都有發(fā)送器和接收器,有兩條傳輸線,信息傳輸效率高。項目三
汽車信號系統(tǒng)控制顯然,在其他參數(shù)都一樣的情況下,全雙工比半雙工傳輸速度要快,效率要高。在標(biāo)準(zhǔn)ASCII碼中,其最高位(b7)用作奇偶校驗位。所謂奇偶校驗,是指在代碼傳送過程中用來檢驗是否出現(xiàn)錯誤的一種方法,一般分奇校驗和偶校驗兩種。奇校驗規(guī)定:正確的代碼一個字節(jié)中1的個數(shù)必須是奇數(shù),若非奇數(shù),則在最高位b7添1;偶校驗規(guī)定:正確的代碼一個字節(jié)中1的個數(shù)必須是偶數(shù),若非偶數(shù),則在最高位b7添1。停止位是按長度來算的。串行異步通信從計時開始,以單位時間為間隔(一個單位時間就是波特率的倒數(shù)),依次接受所規(guī)定的數(shù)據(jù)位和奇偶校驗位,并拼裝成一個字符的并行字節(jié);此后應(yīng)接收到規(guī)定長度的停止位“1”。所以說,停止位都是“1”,1.5是它的長度,即停止位的高電平保持1.5個單位時間長度。一般來講,停止位有1,1.5,2個單位時間三種長度。波特率就是每s鐘傳輸?shù)臄?shù)據(jù)位數(shù)。波特率的常用的單位還有:每s千比特數(shù)Kbit/s,每s兆比特數(shù)Mbit/s。串口典型的傳輸波特率600bit/s,1200bit/s,2400bit/s,4800bit/s,9600bit/s,19200bit/s,38400bit/s。項目三
汽車信號系統(tǒng)控制2.串口通信的控制首先先來練習(xí)一個不需要其他輔助元件,只需要一塊Arduino
和一根下載線的簡單實驗,讓我們的Arduino
說出“HelloWorld!”,這是一個讓Arduino
和PC機通信的實驗,這也是一個基本的串口通信實驗,大家可以通過這個實驗來掌握串口的基本編程方法。這個實驗我們需要用到的實驗硬件見表3-1:器件數(shù)量ArduinoUNO控制器1USB下載線1硬件連線如圖3-2:表3-1串口實驗器件圖3-2
串口連線圖項目三
汽車信號系統(tǒng)控制參考程序:intval;//定義變量valvoidsetup(){Serial.begin(9600);//設(shè)置波特率為9600,這里要跟軟件設(shè)置相一致。當(dāng)接入特定設(shè)備(如:藍牙)時,我們也要跟其他設(shè)備的波特率達到一致。}voidloop(){val=Serial.read();//讀取PC機發(fā)送給Arduino的指令或字符,并將該指令或字符賦給valif(val=='R')//判斷接收到的指令或字符是否是“R”。Serial.println("HelloWorld!");//顯示“HelloWorld!”字符串}注:無線串口藍牙模塊收發(fā)數(shù)據(jù)時,程序上與USB有線串口沒有區(qū)別,區(qū)別在于硬件連接,通過USB下載程序后,需要單片機拔掉USB數(shù)據(jù)線,將藍牙模塊的RX端口接入單片機TX端口,藍牙的TX端口接入到單片機RX端口,藍牙VCC端口按照藍牙模塊規(guī)格連接單片機的5V或者3.3V端口,藍牙GND端口接入單片機GND端口,最后插上供電電源方可工作。圖3-3程序運行界面首先將Arduino和USB線連接好并接入電腦USB口,再打開Arduino
的軟件,編寫一段程序讓Arduino
接收到所發(fā)指令就顯示“HelloWorld!”字符串,當(dāng)然也可以讓Arduino
不用接受任何指令就直接不斷回顯“HelloWorld!”,其實很簡單,一條if()語句就可以讓Arduino
聽從相應(yīng)指令了,顯示效果如圖3-3:項目三
汽車信號系統(tǒng)控制3.串口通信的應(yīng)用在實際應(yīng)用中,串口通信可以按電氣標(biāo)準(zhǔn)及協(xié)議來劃分,分為RS232和RS485等通用形式。RS232(通常簡稱“RS232”),它是1962年由美國電子工業(yè)協(xié)會(EIA)制定。RS485(通常簡稱“RS485”),它是1983年由美國電子工業(yè)協(xié)會(EIA)制定。RS232是計算機與通信工業(yè)應(yīng)用中最廣泛一種串行接口。它以全雙工方式工作,需要地線、發(fā)送線和接收線三條線。但是,RS232只能實現(xiàn)點對點的通信方式。在RS232中,通常定義了3種接口:RXD即接收數(shù)據(jù)接口,TXD即發(fā)送數(shù)據(jù)接口,GND/SG即信號地接口。電腦DB9針接口是常見的RS232串口,其引腳定義如下:2號腳:RXD(接收數(shù)據(jù)),3號腳:TXD(發(fā)送數(shù)據(jù)),5號腳:SG或GND(信號地。具體的RS232串口與儀表串口連接如圖3-4所示:
圖3-4
RS232串口與儀表串口連接圖項目三
汽車信號系統(tǒng)控制RS232在實際應(yīng)用中有以下這些缺點:接口信號電平值較高,接口電路芯片容易損壞;傳輸速率低,最高波特率19200bit/s;抗干擾能力較差;傳輸距離有限,一般在15m以內(nèi);只能實現(xiàn)點對點的通信方式。為了解決RS232在實際應(yīng)用中的缺點,常采用RS485的串口形式。RS485是隸屬于OSI模型物理層的電氣特性規(guī)定為2線、半雙工、平衡傳輸線多點通信的標(biāo)準(zhǔn)。是由電信行業(yè)協(xié)會(TIA)及電子工業(yè)聯(lián)盟(EIA)聯(lián)合發(fā)布的標(biāo)準(zhǔn)。實現(xiàn)此標(biāo)準(zhǔn)的數(shù)字通信網(wǎng)可以在有電子噪聲的環(huán)境下進行長距離有效率的通信。在線性多點總線的配置下,可以在一個網(wǎng)絡(luò)上有多個接收器。RS485采用平衡傳輸方式、需要在傳輸線上接終接電阻。RS-485可以采用二線與四線方式,二線制可實現(xiàn)真正的多點雙向通信。因此適用在工業(yè)環(huán)境中。RS485具備以下的特點:差分傳輸增加噪聲抗擾度,減少噪聲輻射;長距離鏈路,最長可達4000英尺(約1219米);數(shù)據(jù)速率高達10Mbit/s
(40英寸內(nèi),約12.2米);同一總線可以連接多個驅(qū)動器和接收器寬共模范圍允許驅(qū)動器和接收器之間存在地電位差異,允許最大共模電壓-7-12V。項目三
汽車信號系統(tǒng)控制任務(wù)實施:串口信息反饋完成串口交互程序,要求單片機通過串口發(fā)送“1+1=?”通過串口回復(fù)2反饋right,回復(fù)其他數(shù)字反饋wrong。參考程序:voidsetup(){Serial.begin(9600);Serial.println("1+1=?");}voidloop(){
if(Serial.availabel()>0){
val=Serial.read();
if(val=='2')
Serial.println("right");
elseSerial.println("wrong");}}實驗使用硬件見表3-2:
硬件連線如圖3-5:器件數(shù)量ArduinoUNO控制器1USB下載線1圖3-5
串口連線圖
表3-2串口實驗器件項目三
汽車信號系統(tǒng)控制【課后作業(yè)】1.通過串口通信進行信息交互,要求第一s單片機13端口燈亮?xí)r向電腦發(fā)送“LEDON”,下一s13端口燈滅時向電腦發(fā)送“LEDOFF”,如此交替。1.通過串口通信進行信息交互,要求第一s單片機13端口燈亮?xí)r向電腦發(fā)送“1LEDON”,下一s12端口燈亮?xí)r向電腦發(fā)送“2LEDON”,下一s兩個燈一起滅并向電腦發(fā)送“AllLEDOFF”。項目三
汽車信號系統(tǒng)控制學(xué)習(xí)任務(wù)7
觸點開關(guān)的控制【任務(wù)描述】觸點開關(guān)在汽車上的的應(yīng)用很多,大多數(shù)汽車功能控制上都采用觸點開關(guān),但是這些觸點開關(guān)是如何工作的呢?下面請同學(xué)們通過學(xué)習(xí)觸點開關(guān)的基本原理、硬件連接、控制應(yīng)用等知識,練習(xí)編寫單片機編程指令來實現(xiàn)汽車觸點開關(guān)的控制吧!【學(xué)習(xí)目標(biāo)】素養(yǎng)目標(biāo):1.培養(yǎng)學(xué)生查閱資料的自學(xué)能力。2.培養(yǎng)學(xué)生的動手能力。3.培養(yǎng)學(xué)生邏輯思維和分析問題的能力。4.培養(yǎng)學(xué)生艱苦奮斗,敢于擔(dān)當(dāng),實現(xiàn)勵志報國夢。知識目標(biāo):1.了解觸點開關(guān)的基本原理。2.掌握觸點開關(guān)的硬件連接。3.掌握觸點開關(guān)的控制及應(yīng)用。技能目標(biāo):1.能夠識別觸點開關(guān)的不同引腳。2.能夠完成單片機編程指令編寫。項目三
汽車信號系統(tǒng)控制1.觸點開關(guān)的基本原理觸點開關(guān)是一種常用的電子開關(guān)裝置,廣泛應(yīng)用于各種電路中。它的工作原理基于電流的導(dǎo)通和斷開,在電路中起到開關(guān)控制的作用。觸點開關(guān)一般由固定觸點和動觸點組成。固定觸點通常被固定在開關(guān)的外殼上,而動觸點則可以通過按下或松開開關(guān)來控制電路的工作狀態(tài)。當(dāng)固定觸點與動觸點接觸時,接觸面積變大,電阻變小,電流正常流動;當(dāng)固定觸點與動觸點逐漸分開時,接觸面積變小,電阻變大,電流斷開。觸點開關(guān)主要是由按鈕、觸點、彈簧、導(dǎo)電條和底座等部件組成。按鈕:是觸點開關(guān)的外部控制部分,通過輕觸按鈕使觸點接觸或斷開,從而實現(xiàn)開關(guān)的切換。觸點:是觸點開關(guān)的重要組成部分,它和底座上的導(dǎo)電條相連,通過觸碰導(dǎo)電條實現(xiàn)電路的接通與斷開。彈簧:通常是由金屬材料制成,其作用是幫助按鈕恢復(fù)到原來的位置,并保持一定的彈性形變,以確保觸點正常工作。導(dǎo)電條:它是貼在底座上的一條薄膜,可以用來傳輸電信號,是實現(xiàn)觸點開關(guān)切換的重要部件。底座:它是觸點開關(guān)的主體部分,還可以固定其他部件,使其配合工作。項目三
汽車信號系統(tǒng)控制2.觸點開關(guān)的控制I/O口的意思即為INPUT端口和OUTPUT端口,到目前為止我們設(shè)計的小燈實驗都還只是應(yīng)用到Arduino
的I/O口的輸出功能,這個實驗我們來嘗試一下使用Arduino的I/O口的輸入功能即為讀取外接設(shè)備的輸出值,我們用一個按鍵和一個LED小燈完成一個輸入輸出結(jié)合使用的實驗,讓大家能簡單了解I/O的作用。按鍵開關(guān)大家都應(yīng)該比較了解,屬于開關(guān)量(數(shù)字量)元件,按下時為閉合(導(dǎo)通)狀態(tài)。完成本實驗要用到的元件如下表所示:器件數(shù)量ArduinoUNO控制器1USB下載線1單色M5直插LED1220Ω直插電阻2觸點開關(guān)1面包板1面包線6我們將按鍵接到數(shù)字7端口,紅色小燈接到數(shù)字11端口(Arduino
控制器0-13數(shù)字I/O端口都可以用來接按鍵和小燈,但是盡量不選擇0和1端口,0和1端口為端口功能復(fù)用,除I/O口功能外也是串口通信端口,下載程序時屬于與PC機通信故應(yīng)保持0和1端口懸空,所以為避免插拔線的麻煩盡量不選用0和1端口),按下面的原理圖連接好電路。
圖3-6
Arduino控制器端口原理圖表3-3觸點開關(guān)實驗器件項目三
汽車信號系統(tǒng)控制下面開始編寫程序,我們就讓按鍵按下時小燈亮起,根據(jù)前面的學(xué)習(xí)相信這個程序很容易就能編寫出來,相對于前面幾個實驗這個實驗的程序中多加了一條條件判斷語句,這里我們使用if語句,Arduino
的程序便寫語句是基于C語言的,所以C的條件判斷語句自然也適用于Arduino,像while、swich
等等。這里根據(jù)個人喜好我們習(xí)慣于使用簡單易于理解的if語句給大家做演示例程。我們分析電路可知當(dāng)按鍵按下時,數(shù)字7端口可讀出為高電平,這時我們使數(shù)字11端口輸出高電平可使小燈亮起,程序中我們判斷數(shù)字7端口是否為低電平,要為低電平使數(shù)字11端口輸出也為低電平小燈不亮,原理同上。圖3-7Arduino控制器端口實物圖項目三
汽車信號系統(tǒng)控制參考程序:intledpin=11;//定義數(shù)字11端口intinpin=7;//定義數(shù)字7端口intval;//定義變量valvoidsetup(){pinMode(ledpin,OUTPUT);//定義小燈端口為輸出端口pinMode(inpin,INPUT);//定義按鍵端口為輸入端口}voidloop(){val=digitalRead(inpin);//讀取數(shù)字7口電平值賦給valif(val==LOW)//檢測按鍵是否按下,按鍵按下時小燈亮起{digitalWrite(ledpin,LOW);}else{digitalWrite(ledpin,HIGH);}}
下載完如圖程序我們本次的小燈配合按鍵的實驗就完成了,本實驗的原理很簡單,廣泛被用于各種電路和電器中,實際生活中大家也不難在各種設(shè)備上發(fā)現(xiàn),例如大家的手機當(dāng)按下任一按鍵時背光燈就會亮起,這就是典型應(yīng)用了。圖3-8
程序運行界面項目三
汽車信號系統(tǒng)控制3.觸點開關(guān)的應(yīng)用觸點開關(guān)的應(yīng)用非常廣泛,尤其是在電力領(lǐng)域、工業(yè)領(lǐng)域和儀表領(lǐng)域的應(yīng)用。在電力領(lǐng)域:觸點開關(guān)通常應(yīng)用于高壓開關(guān)、低壓開關(guān)、交流接觸器等電力設(shè)備中。由于觸點開關(guān)材料導(dǎo)電性好、電阻率低,因此使用觸點開關(guān)有利于提高開關(guān)的通信速度和穩(wěn)定性,從而確保電力系統(tǒng)的正常運行。在工業(yè)領(lǐng)域:觸點開關(guān)通常應(yīng)用于機床、自動化生產(chǎn)線等工業(yè)設(shè)備中,可用于控制電機的啟停、正反轉(zhuǎn)以及方向控制等功能。儀表領(lǐng)域:觸點開關(guān)通常應(yīng)用于溫度控制、電能計量、電壓檢測等儀表設(shè)備中。使用觸點開關(guān)可以有效提高儀表的精度和穩(wěn)定性。圖3-9展示了常見的觸點開關(guān),觸點開關(guān)的便利性和安全性是其應(yīng)用廣泛的重要原因。圖中的左圖是汽車起動鍵所使用的觸點開關(guān),右圖是車用電加熱器的觸點開關(guān)。
圖3-9
常用的觸點開關(guān)實物圖項目三
汽車信號系統(tǒng)控制任務(wù)實施1:觸點開關(guān)對LED的控制1完成LED燈的延時控制,要求使用Arduino
UNO單片機連接由1個LED小燈,使用數(shù)字11端口控制LED燈,使用數(shù)字7端口接收觸點開關(guān)信號,實現(xiàn)LED燈在按下一次觸點開關(guān)松開后,延時1s后熄滅。參考程序:voidsetup(){pinMode(7,OUTPUT);//定義小燈端口為輸出端口
pinMode(11,INPUT);//定義按鍵端口為輸入端口}voidloop(){val=digitalRead(inpin);//讀取數(shù)字7口電平值賦給valif(val==HIGH)//檢測按鍵是否按下{delay(10);//按鍵防抖,見后注
if(digitalRead(inpin)==HIGH){digitalWrite(ledpin,HIGH);
delay(1000);
digitalWrite(ledpin,LOW);}}}注:一個按鍵就是一個開關(guān)量輸入裝置。由于機械觸點的彈性作用,一個按鍵開關(guān)在閉合或斷開時不會馬上穩(wěn)定下來,會有瞬間的抖動,抖動時間的長短由按鍵的機械特性決定,一般為5~10ms。為了能使鍵盤給系統(tǒng)提供準(zhǔn)確的數(shù)據(jù)和命令,必須設(shè)法消除抖動。消除按鍵抖動的措施有兩種:硬件方法和軟件方法。硬件方法可以采用RC濾波消抖電路或RS雙穩(wěn)態(tài)消抖電路。軟件方法是在第一次檢測到有按鍵閉合時,首先執(zhí)行一段延時10ms的子程序,然后再確認(rèn)該按鍵電平是否仍保持閉合狀態(tài)電平,如果保持閉合狀態(tài)電平則確認(rèn)為真正有按鍵按下,從而消除了抖動的影響。任務(wù)器件如下:表3-4
觸點開關(guān)實驗器件器件數(shù)量ArduinoUNO控制器1USB下載線1單色M5直插LED1220Ω直插電阻2觸點開關(guān)1面包板1面包線6項目三
汽車信號系統(tǒng)控制任務(wù)實施2:觸點開關(guān)對LED的控制2完成LED燈的按鍵控制,要求使用Arduino
UNO單片機連接由1個LED小燈,使用數(shù)字11端口控制LED燈,使用數(shù)字7端口接收觸點開關(guān)信號,實現(xiàn)按觸點開關(guān)一次LED燈點亮,再按一次LED燈熄滅。參考程序:intnum;//記錄按鍵次數(shù)voidsetup(){pinMode(7,OUTPUT);//定義小燈端口為輸出端口
pinMode(11,INPUT);//定義按鍵端口為輸入端口
num=0;//設(shè)置按鍵初始次數(shù)}voidloop(){val=digitalRead(inpin);//讀取數(shù)字7口電平值賦給valif(val==HIGH)//檢測按鍵是否按下{delay(10);//按鍵防抖,見后注if(digitalRead(inpin)==HIGH)num++}if(num%2==0)//判斷按鍵次數(shù)為偶數(shù)次燈熄滅digitalWrite(11,LOW);if(num%2==1)//判斷按鍵次數(shù)為奇數(shù)次燈點亮digitalWrite(11,HIGH);}項目三
汽車信號系統(tǒng)控制【課后作業(yè)】1.用2兩個觸點開關(guān)分別控制2個LED,要求獨立完成繪制連線圖和硬件連接,實現(xiàn)按下那個觸點開關(guān)那個LED亮,不按觸點開關(guān)LED熄滅。2.用2兩個觸點開關(guān)分別控制2個LED,要求獨立完成繪制連線圖和硬件連接,實現(xiàn)按下1個觸點開關(guān)亮1個LED,按下2個觸點開關(guān)亮2個LED,不按觸點開關(guān)2個燈都不亮。
項目三
汽車信號系統(tǒng)控制學(xué)習(xí)任務(wù)8
模擬量的數(shù)據(jù)讀取【任務(wù)描述】模擬量在汽車上的的應(yīng)用很多,大多數(shù)汽車功能控制上都有采用旋鈕,但是這些旋鈕是如何獲取模擬量的呢?下面請同學(xué)們通過學(xué)習(xí)模擬量的基本原理、硬件連接、控制應(yīng)用等知識,練習(xí)編寫單片機編程指令來實現(xiàn)汽車模擬量的控制吧!【學(xué)習(xí)目標(biāo)】素養(yǎng)目標(biāo):1.培養(yǎng)學(xué)生查閱資料的自學(xué)能力。2.培養(yǎng)學(xué)生的動手能力。3.培養(yǎng)學(xué)生邏輯思維和分析問題的能力。4.培養(yǎng)學(xué)生愛國主義情懷。知識目標(biāo):1.了解獲取模擬量的基本原理。2.掌握模擬量的硬件連接。3.掌握模擬量的控制及應(yīng)用。技能目標(biāo):1.能夠識別旋鈕的引腳。2.能夠完成單片機編程指令編寫。項目三
汽車信號系統(tǒng)控制1.模擬量的定義模擬量是計算機對傳感器所檢測的信號如溫度、壓力、流量、速度、濕度等物理量進行采集、加工和處理的媒介。傳感器所檢測到的物理量一般采用模擬量信號來表示。模擬量是指一些連續(xù)變化的物理量,如電壓、電流、壓力、速度、流量、轉(zhuǎn)矩等信號量,模擬信號是振幅隨時間連續(xù)變化的信號。模擬量是與數(shù)字量相對信號,數(shù)字量又叫開關(guān)量,數(shù)字量只有兩種狀態(tài),隨時間的變化是不連續(xù)的物理量。在PLC系統(tǒng)中使用的模擬量有兩種,一種是模擬電壓,一種是模擬電流,模擬電壓最常見,也是應(yīng)有最多的方式。模擬電壓信號為0~10V,一般應(yīng)用在OEM設(shè)備中,長距離傳輸時容易受干擾。模擬電流一般是4~20mA,一般用在DCS系統(tǒng)中,抗干擾能力強。2.模擬量的數(shù)據(jù)讀取首先開始學(xué)習(xí)一下模擬I/O端口的使用,Arduino
UNO有模擬0—模擬5共計6個模擬端口,這6個端口也可以算作為端口功能復(fù)用,除模擬端口功能以外,這6個端口可作為數(shù)字端口使用,編號為數(shù)字14—數(shù)字19,簡單了解以后,下面就來開始我們的實驗。旋鈕電位計是大家比較熟悉的典型的模擬值輸出元件,本實驗就用它來完成。所需元器件見表3-5:器件數(shù)量ArduinoUNO控制器1USB下載線1旋鈕電位計1面包板1面包線4表3-5
模擬量實驗器件實驗使用的是模擬0端口,程序的編寫也很簡單,一個analogRead();語句就可以讀出模擬口的值,Arduino
328是10位的A/D采集,所以讀取的模擬值范圍是0-1023,本個實驗的程序里還有一個難點就是顯示數(shù)值在屏幕這一問題,學(xué)習(xí)起來也是很簡單的。首先要在voidsetup()里面設(shè)置波特率,顯示數(shù)值屬于Arduino
與PC機通信,所以Arduino
的波特率應(yīng)與PC機軟件設(shè)置的相同才能顯示出正確的數(shù)值,否則將會顯示亂碼或是不顯示,在Arduino
軟件的監(jiān)視窗口右下角有一個可以設(shè)置波特率的按鈕,這里設(shè)置的波特率需要跟程序里voidsetup()里面設(shè)置波特率相同,程序設(shè)置波特率的語句為Serial.begin();括號中為波特率的值。其次就是顯示數(shù)值的語句了,Serial.print();或者Serial.println();都可以,不同的是后者顯示完數(shù)值后自動回車,前者不是,更多的關(guān)于語句的講解前面有,介紹這里就不再多說了。
圖3-10旋鈕電位計連線圖本實驗我們將電位計的阻值轉(zhuǎn)化為模擬值讀取出來,然后顯示到屏幕上,這也是我們以后完成自己所需的實驗功能所必須掌握的實例應(yīng)用。我們先要按照圖3-10的電路圖連接實物圖。項目三
汽車信號系統(tǒng)控制參考程序:intpotpin=0;//定義模擬端口0intledpin=13;//定義數(shù)字端口13intval=0;//將定義變量val,并賦初值0voidsetup(){pinMode(ledpin,OUTPUT);//定義數(shù)字端口為輸出端口Serial.begin(9600);//設(shè)置波特率為9600}voidloop(){digitalWrite(ledpin,HIGH);//點亮數(shù)字端口13的LEDdelay(50);//延時0.05sdigitalWrite(ledpin,LOW);//熄滅數(shù)字端口13的LEDdelay(50);//延時0.05sval=analogRead(potpin);//讀取模擬端口0的值,并將其賦給valSerial.println(val);//顯示出val的值}參考程序借用了Arduino
數(shù)字13口自帶的LED小燈,每讀一次值小燈就會閃爍一下。下面就是讀出的模擬值,見圖3-11。
本實驗到這里就完成了,當(dāng)您旋轉(zhuǎn)電位計旋鈕的時候就可以看到屏幕上數(shù)值的變化了,讀取模擬值這個方法將一直陪伴我們,模擬值讀取是我們很常用的功能,因為很多傳感器都是模擬值輸出,我們讀出模擬值后再進行相應(yīng)的算法處理,就可以應(yīng)用到我們需要實現(xiàn)的功能里了。項目三
汽車信號系統(tǒng)控制圖3-11
模擬量輸出結(jié)果3.模擬信號的應(yīng)用假設(shè)模擬量的標(biāo)準(zhǔn)電信號是A0—Am(如:4—20mA),A/D轉(zhuǎn)換后數(shù)值為D0—Dm(如:6400—32000),設(shè)模擬量的標(biāo)準(zhǔn)電信號是A,A/D轉(zhuǎn)換后的相應(yīng)數(shù)值為D,由于是線性關(guān)系,函數(shù)關(guān)系A(chǔ)=f(D)可以表示為數(shù)學(xué)方程:A=(D-D0)×(Am-A0)/(Dm-D0)+A0。根據(jù)該方程式,可以方便地根據(jù)D值計算出A值。將該方程式逆換,得出函數(shù)關(guān)系D=f(A)可以表示為數(shù)學(xué)方程:D=(A-A0)×(Dm-D0)/(Am-A0)+D0。具體舉一個實例,以S7-200和4—20mA為例,經(jīng)A/D轉(zhuǎn)換后,我們得到的數(shù)值是6400—32000,即A0=4,Am=20,D0=6400,Dm=32000,代入公式,得出:A=(D-6400)×(20-4)/(32000-6400)+4,假設(shè)該模擬量與AIW0對應(yīng),則當(dāng)AIW0的值為12800時,相應(yīng)的模擬電信號是6400×16/25600+4=8mA。例如,某溫度傳感器,-10—60℃與4—20mA相對應(yīng),以T表示溫度值,AIW0為PLC模擬量采樣值,則根據(jù)上式直接代入得出:T=70×(AIW0-6400)/25600-10?可以用T?直接顯示溫度值。在測量壓力時,當(dāng)壓力達到滿量程5MPa時,壓力變送器的輸出電流是20mA,AIW0的數(shù)值是32000??梢姡亢涟矊?yīng)的A/D值為32000/20,測得當(dāng)壓力為0.1MPa時,壓力變送器的電流應(yīng)為4mA,A/D值為(32000/20)×4=6400。由此得出,AIW0的數(shù)值轉(zhuǎn)換為實際壓力值(單位為KPa)的計算公式為:VW0的值=(AIW0的值-6400)(5000-100)/(32000-6400)+100(單位:KPa)。項目三
汽車信號系統(tǒng)控制任務(wù)器件見表3-6:表3-6模擬量實驗器件器件數(shù)量ArduinoUNO控制器1USB下載線1旋鈕電位計1面包板1面包線4硬件連線如圖3-12:
圖3-12
模擬量實驗連線圖項目三
汽車信號系統(tǒng)控制任務(wù)實施1:旋鈕狀態(tài)的讀取通過Arduino
UNO單片機模擬端口0讀取模擬量,通過串口顯示旋鈕旋轉(zhuǎn)方向,不轉(zhuǎn)顯示stop。參考程序:intpotpin=A0;//定義模擬端口0intval=0;//將定義變量val,并賦初值0voidsetup(){Serial.begin(9600);//設(shè)置波特率為9600val=analogRead(potpin);//讀取模擬端口0的值,并將其賦給val}voidloop(){intvel=analogRead(potpin);//讀取模擬端口0的值,并將其賦給valif(vel==val)
Serial.println("Stop");if(vel>val)
Serial.println("Clockwiserotation");if(vel>val)
Serial.println("Counterclockwiserotation");val=vel;}項目三
汽車信號系統(tǒng)控制【課后作業(yè)】1.使用1個旋鈕電位計控制3個LED,要求獨立完成繪制連線圖和硬件連接,實現(xiàn)讀取模擬量0-124時3個LED全滅,讀取模擬量125-450時亮1個LED,讀取模擬量451-712時亮2個LED,讀取模擬量713-1024時亮3個LED。2.使用1個旋鈕電位計控制1個LED,要求獨立完成繪制連線圖和硬件連接,實現(xiàn)讀取模擬量0-124時LED熄滅,讀取模擬量125-450時LED亮1s滅1s,讀取模擬量451-712時LED亮2s滅2s,讀取模擬量713-1024時LED亮3s滅3s。項目三
汽車信號系統(tǒng)控制學(xué)習(xí)任務(wù)9
超聲波傳感器的數(shù)據(jù)讀取【任務(wù)描述】當(dāng)前大多數(shù)汽車都使用了超聲波傳感器,主要用來作為雷達來測距,但是超聲波傳感器是如何工作的呢?下面請同學(xué)們通過學(xué)習(xí)超聲波傳感器的基本原理、硬件連接、控制應(yīng)用等知識,練習(xí)編寫單片機編程指令來實現(xiàn)汽車超聲波傳感器的數(shù)據(jù)讀取吧!【學(xué)習(xí)目標(biāo)】知識目標(biāo):1.了解超聲波傳感器的基本原理。2.掌握超聲波傳感器的硬件連接。3.掌握超聲波傳感器的控制及應(yīng)用。技能目標(biāo):1.能夠識別超聲波傳感器的各個引腳。2.能夠完成單片機編程指令編寫。項目三
汽車信號系統(tǒng)控制1.超聲波傳感器的基本原理超聲波是一種超出人類聽覺極限的聲波即其振動頻率高于20kHz的機械波。超聲波傳感器在工作的時候就是將電壓和超聲波之間的互相轉(zhuǎn)換,當(dāng)超聲波傳感器發(fā)射超聲波時,發(fā)射超聲波的探頭將電壓轉(zhuǎn)化的超聲波發(fā)射出去,當(dāng)接收超聲波時,超聲波接收探頭將超聲波轉(zhuǎn)化的電壓回送到單片機控制芯片。超聲波具有振動頻率高、波長短、繞射現(xiàn)象小而且方向性好還能夠為反射線定向傳播等優(yōu)點,而且超聲波傳感器的能量消耗緩慢有利于測距。在中、長距離測量時,超聲波傳感器的精度和方向性.都要大大優(yōu)于紅外線傳感器,但價格也稍貴。超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。聲波在空氣中的傳播速度為340m/s,根據(jù)計時器記錄的時間t,就可以計算出發(fā)射點距障礙物的距離s,即:s=340m/s×t/2。這就是所謂的時間差測距法。2.超聲波傳感器數(shù)據(jù)的讀取本實驗利用超聲波測得的距離從串口中顯示,所需硬件見表3-7:表3-7
超聲波傳感器實驗器件器件數(shù)量ArduinoUNO控制器1USB下載線1超聲波傳感器1面包板1面包線4硬件連線如圖3-13:
程序指令說明:pulseIn()用于檢測引腳輸出的高低電平的脈沖寬度。pulseIn()語法為pulseIn(pin,
value)、pulseIn(pin,
value,
timeout)。參數(shù)pin:需要讀取脈沖的引腳;參數(shù)valu:需要讀取的脈沖類型,HIGH或LOW;參數(shù)timeout:超時時間,單位μs,數(shù)據(jù)類型為無符號長整型。項目三
汽車信號系統(tǒng)控制圖3-13
超聲波傳感器連線圖使用方法及時序圖:1)使用Arduino采用數(shù)字引腳給SR04的Trig引腳至少10μs的高電平信號,觸發(fā)SR04模塊測距功能;2)觸發(fā)后,模塊會自動發(fā)送8個40KHz的超聲波脈沖,并自動檢測是否有信號返回。這步會由模塊內(nèi)部自動完成。3)如有信號返回,Echo引腳會輸出高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間。此時,我們能使用pulseIn()函數(shù)獲取到測距的結(jié)果,并計算出距被測物的實際距離。功能:利用SR04超聲波傳感器進行測距,并用串口顯示測出的距離值。方式:1)使用Arduino采用數(shù)字引腳給SR04的Trig引腳至少10μs的高電平信號,觸發(fā)SR04模塊測距功能;2)觸發(fā)后,模塊會自動發(fā)送8個40KHz的超聲波脈沖,并自動檢測是否有信號返回。這步會由模塊內(nèi)部自動完成。3)如有信號返回,Echo引腳會輸出高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間。此時,我們能使用pulseIn()函數(shù)獲取到測距的結(jié)果,并計算出距被測物的實際距離。下面設(shè)定超聲波傳感器每隔1s測距一次并將數(shù)據(jù)通過串口監(jiān)視器顯示出來,超聲波傳感器的Trig引腳接單片機數(shù)字IO端口12號,超聲波傳感器的Echo引腳接單片機數(shù)字IO端口11號。項目三
汽車信號系統(tǒng)控制參考程序://設(shè)定SR04超聲波傳感器連接的Arduino引腳constintTrigPin=12;constintEchoPin=11;floatdistance; voidsetup()
//初始化串口通信及連接SR04的引腳{Serial.begin(9600);pinMode(TrigPin,OUTPUT);pinMode(EchoPin,INPUT);//要檢測引腳上輸入的脈沖寬度,需要先設(shè)置為輸入狀態(tài)
}voidloop(){//產(chǎn)生一個10us的高脈沖去觸發(fā)TrigPindigitalWrite(LedPin,HIGH);delayMicroseconds(2);digitalWrite(TrigPin,HIGH);delayMicroseconds(10);digitalWrite(TrigPin,LOW);//檢測脈沖寬度,并計算出距離distance=pulseIn(EchoPin,HIGH);Serial.print(distance);Serial.print("ms");distance=distance/58;distance=(int(distance*100.0))/100.0;//保留兩位小數(shù)Serial.print("Thedistanceis:");Serial.print(distance);Serial.println("cm");delay(1000);}3.超聲波傳感器的應(yīng)用超聲波傳感技術(shù)應(yīng)用在生產(chǎn)實踐的不同方面,而醫(yī)學(xué)應(yīng)用是其最主要的應(yīng)用之一,下面以醫(yī)學(xué)為示例說明超聲波傳感技術(shù)的應(yīng)用。超聲波在醫(yī)學(xué)上的應(yīng)用主要是診斷疾病,它已經(jīng)成為臨床醫(yī)學(xué)中不可缺少的診斷方法。超聲波診斷的優(yōu)點是:對受檢者無痛苦、無損害、方法簡便、顯像清晰、診斷的準(zhǔn)確率高等。因而推廣容易,受到醫(yī)務(wù)工作者和患者的歡迎。超聲波診斷可以基于不同的醫(yī)學(xué)原理,我們來看看其中有代表性的一種所謂的A型方法。這個方法是利用超聲波的反射。當(dāng)超聲波在人體組織中傳播遇到兩層聲阻抗不同的介質(zhì)界面時,在該界面就產(chǎn)生反射回聲。每遇到一個反射面時,回聲在示波器的屏幕上顯示出來,而兩個界面的阻抗差值也決定了回聲的振幅的高低。在工業(yè)方面,超聲波的典型應(yīng)用是對金屬的無損探傷和超聲波測厚兩種。過去,許多技術(shù)因為無法探測到物體組織內(nèi)部而受到阻礙,超聲波傳感技術(shù)的出現(xiàn)改變了這種狀況。當(dāng)然更多的超聲波傳感器是固定地安裝在不同的裝置上,“悄無聲息”地探測人們所需要的信號。在未來的應(yīng)用中,超聲波將與信息技術(shù)、新材料技術(shù)結(jié)合起來,將出現(xiàn)更多的智能化、高靈敏度的超聲波傳感器。項目三
汽車信號系統(tǒng)控制項目三
汽車信號系統(tǒng)控制任務(wù)器件見表3-8:表3-8
倒車?yán)走_實驗器件器件數(shù)量ArduinoUNO控制器1USB下載線1超聲波傳感器1單色M5直插LED3220Ω直插電阻3面包板1面包線9硬件連線如圖3-14:
圖3-14倒車?yán)走_實驗連線圖項目三
汽車信號系統(tǒng)控制任務(wù)實施1:LED轉(zhuǎn)向燈的控制完成汽車倒車?yán)走_程序,使用Arduino
UNO單片機連接1個超聲波傳感器和3個LED小燈,使用數(shù)字IO端口從7號到9號控制3個LED,使用數(shù)字IO端口2和3分別連接超聲波傳感器的Echo和Trig引腳,要求測距在10cm內(nèi)時3個LED燈全滅,距離在11到20cm時亮1個LED燈,距離在21到30cm時亮2個LED燈,距離在31到40cm時亮3個LED燈,超聲波測距間隔為1s。參考程序:
constintTrigPin=3; constintEchoPin=2; floatdistance; voidsetup(){
pinMode(TrigPin,OUTPUT);
pinMode(EchoPin,INPUT);
pinMode(TrigPin,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT); } voidloop()
{ digitalWrite(LedPin,HIGH); delayMicroseconds(2); digitalWrite(TrigPin,HIGH); delayMicroseconds(10); digitalWrite(TrigPin,LOW); distance=pulseIn(EchoPin,HIGH)/58.0;
if(distance<=10){
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
}
if(distance>10&&distance<=20){
digitalWrite(7,HIGH);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
}
if(distance>20&&distance<=30){
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,LOW);
}
if(distance>30&&distance<=40){
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
} delay(1000);}項目三
汽車信號系統(tǒng)控制【課后作業(yè)】1.使用超聲波傳感器測距離,通過10個LED顯示距離遠(yuǎn)近,要求獨立完成繪制連線圖和硬件連接,實現(xiàn)距離在0-5cm時LED燈全滅,之后每增加5cm多點亮一個LED,測距時間間隔100ms。項目三
汽車信號系統(tǒng)控制學(xué)習(xí)任務(wù)10
振動傳感器的數(shù)據(jù)讀取【任務(wù)描述】當(dāng)前大多數(shù)汽車上都裝有各式的振動傳感器,用來檢測震動或者碰撞等,但是這些振動傳感器是如何工作的呢?下面請同學(xué)們通過學(xué)習(xí)振動傳感器的基本原理、硬件連接、控制應(yīng)用等知識,練習(xí)編寫單片機編程指令來實現(xiàn)汽車振動傳感器的數(shù)據(jù)讀取吧!【學(xué)習(xí)目標(biāo)】素養(yǎng)目標(biāo):1.培養(yǎng)學(xué)生查閱資料的自學(xué)能力。2.培養(yǎng)學(xué)生的動手能力。3.培養(yǎng)學(xué)生邏輯思維和分析問題的能力。4.培養(yǎng)學(xué)生創(chuàng)新意識和創(chuàng)新思維。知識目標(biāo):1.了解振動傳感器的基本原理。2.掌握振動傳感器的硬件連接。3.掌握振動傳感器的控制及應(yīng)用。技能目標(biāo):1.能夠識別振動傳感器的引腳。2.能夠完成單片機編程指令編寫。項目三
汽車信號系統(tǒng)控制1.振動傳感器的基本原理振動傳感器在測試技術(shù)中是關(guān)鍵部件之一,它的作用主要是將機械量接收下來,并轉(zhuǎn)換為與之成比例的電量。由于它也是一種機電轉(zhuǎn)換裝置。所以我們有時也稱它為換能器、拾振器等。振動傳感器并不是直接將原始要測的機械量轉(zhuǎn)變?yōu)殡娏?,而是將原始要測的機械量做為振動傳感器的輸入量,然后由機械接收部分加以接收,形成另一個適合于變換的機械量,最后由機電變換部分再將變換為電量。因此一個傳感器的工作性能是由機械接收部分和機電變換部分的工作性能來決定的。在工程振動測試領(lǐng)域中,測試手段與方法多種多樣,但是按各種參數(shù)的測量方法及測量過程的物理性質(zhì)來分,可以分成三類。1)機械式。將工程振動的參量轉(zhuǎn)換成機械信號,再經(jīng)機械系統(tǒng)放大后,進行測量、記錄,常用的儀器有杠桿式測振儀和蓋格爾測振儀,它能測量的頻率較低,精度也較差。但在現(xiàn)場測試時較為簡單方便。2)光學(xué)式。將工程振動的參量轉(zhuǎn)換為光學(xué)信號,經(jīng)光學(xué)系統(tǒng)放大后顯示和記錄。如讀數(shù)顯微鏡和激光測振儀等。3)電測。將工程振動的參量轉(zhuǎn)換成電信號,經(jīng)電子電路放大后顯示和記錄。電測法的要點在于先將機械振動量轉(zhuǎn)換為電量(電動勢、電荷、及其他電量),然后再對電量進行測量,從而得到所要測量的機械量。這是目前應(yīng)用得最廣泛的測量方法。項目三
汽車信號系統(tǒng)控制上述三種測量方法的物理性質(zhì)雖然各不相同,但是,組成的測量系統(tǒng)基本相同,它們都包含拾振、測量放大線路和顯示記錄三個環(huán)節(jié):1)拾振環(huán)節(jié)。把被測的機械振動量轉(zhuǎn)換為機械的、光學(xué)的或電的信號,完成這項轉(zhuǎn)換工作的器件稱為傳感器。2)測量電路。測量電路的種類甚多,它們都是針對各種傳感器的變換原理而設(shè)計的。比如,專配壓電式傳感器的測量電路有電壓放大器、電荷放大器等;此外,還有積分電路、微分電路、濾波電路、歸一化裝置等等。3)信號分析及顯示、記錄環(huán)節(jié)。從測量線路輸出的電壓信號,可按測量的要求輸入給信號分析儀或輸送給顯示儀器(如電子電壓表、示波器、相位計等)、記錄設(shè)備(如光線示波器、磁帶記錄儀、X—Y記錄儀等)等。也可在必要時記錄在磁帶上,然后再輸入到信號分析儀進行各種分析處理,從而得到最終結(jié)果。項目三
汽車信號系統(tǒng)控制2.振動傳感器數(shù)據(jù)的讀取以傾斜開關(guān)為例,通過讀取傾斜開關(guān)數(shù)據(jù)來判斷是否發(fā)生震動,當(dāng)開關(guān)一端低于水平位置傾斜,開關(guān)導(dǎo)通,端口電壓值為5V左右(數(shù)字二進制表示為1023),點亮led燈。當(dāng)另一端低于水平位置傾斜,開關(guān)停止,端口電壓值為0V左右(數(shù)字二進制表示為0),熄滅led燈。在程序中端口電壓值的變化情況,即反饋高電壓1或者低電壓0,即可知道是否傾斜開關(guān)導(dǎo)通了。本實驗中傾斜開關(guān)導(dǎo)通后串口監(jiān)視器反饋“Bang!”。器件數(shù)量ArduinoUNO控制器1USB下載線1振動傳感器11面包板1面包線6硬件連線如圖3-15:圖3-15
振動傳感器硬件連線任務(wù)器件見表3-9:表3-9振動傳感器實驗器件參考程序:voidsetup(){//設(shè)置數(shù)字8號端口輸入上拉讀取數(shù)據(jù)pinMode(8,INPUT_PULLUP);Serial.begin(9600);}voidloop(){
inta=digitalRead(8);
if(a==1)
Serial.println("Bang!");}項目三
汽車信號系統(tǒng)控制3.振動傳感器的應(yīng)用(1)車載報警器運動檢測
通常對于旋轉(zhuǎn)機械振動的監(jiān)測都會使用振動傳感器,不同的機械設(shè)備振動的幅度以及標(biāo)準(zhǔn)都是有所差異的,如果監(jiān)測到設(shè)備振動異常那么設(shè)備很可能存在故障。從這個角度來說,振動傳感器在一定程度上是起到對設(shè)備的運維保障作用的。(2)汽車防盜領(lǐng)域
在車體被外力破壞的情況可以產(chǎn)生警報。如果有人擊打、撞擊或移動汽車,傳感器就會向控制器發(fā)送信號,指示震動強度。(3)城市道路維護領(lǐng)域
將含有振動傳感器的公路檢測系統(tǒng)加裝在公交底盤下方,用來監(jiān)測道路路況,通過GPS定位和畫面?zhèn)鬏斊鱾鬏斝畔⑴袛喙返膶崟r路況。(4)振動傳感器應(yīng)用在航天航空領(lǐng)域
振動是航空發(fā)動機的一個重要監(jiān)控參數(shù),發(fā)動機在進行試驗時,需要解決各種振動問題。發(fā)動機振動之所以特別重要,是因為振動直接影響發(fā)動機的正常工作和壽命,如果發(fā)動機出現(xiàn)異常振動而不及時加以檢查排除,就有可能造成嚴(yán)重的后果。因此,振動傳感器在航天航空領(lǐng)域必不可少。(5)振動傳感器應(yīng)用在生產(chǎn)領(lǐng)域
生產(chǎn)自動化檢測,利用振動傳感器檢測運輸中的振動感,判斷異常振動,避免貨物掉落。(6)振動傳感器應(yīng)用在消費電子領(lǐng)域
電子運動手表、手機中的計步器利用振動傳感器輸出的振動幅度判斷行走路程。項目三
汽車信號系統(tǒng)控制任務(wù)器件見表3-10:表3-10
振動傳感器實驗器件器件數(shù)量ArduinoUNO控制器1USB下載線1振動傳感器119V鋰電池1面包板1面包線6硬件連線如圖3-16:
圖3-16
振動傳感器硬件連線圖項目三
汽車信號系統(tǒng)控制任務(wù)實施1:振動傳感器報警完成振動傳感器數(shù)據(jù)讀取,要求使用Arduino
UNO單片機連接1個振動傳感器和1個LED燈,使用數(shù)字IO端口2號讀取數(shù)據(jù),數(shù)字IO端口13號控制板載LED,發(fā)生震動LED燈亮1s隨后熄滅。參考程序:voidsetup(){
pinMode(2,INPUT_PULLUP);
pinMode(13,OUTPUT);}voidloop(){
if(digitalRead(2)==1)
{digitalWrite(3,HIGH);delay(1000);digitalWrite(3,LOW);}}項目三
汽車信號系統(tǒng)控制【課后作業(yè)】1.讀取4個振動傳感器的數(shù)據(jù),要求通過串口顯示4個傳感器的狀態(tài),發(fā)生震動的傳感器反饋1,沒有的反饋0,采樣間隔10ms。項目三
汽車信號系統(tǒng)控制學(xué)習(xí)任務(wù)11
光敏傳感器的數(shù)據(jù)讀取【任務(wù)描述】當(dāng)前汽車上的光敏傳感器的應(yīng)用很多,大多數(shù)汽車都安裝了光敏傳感器,但是這些光敏傳感器是如何工作的呢?下面請同學(xué)們通過學(xué)習(xí)光敏傳感器的基本原理、硬件連接、控制應(yīng)用等知識,練習(xí)編寫單片機編程指令來實現(xiàn)汽車光敏傳感器數(shù)據(jù)讀取吧!【學(xué)習(xí)目標(biāo)】素養(yǎng)目標(biāo):1.培養(yǎng)學(xué)生查閱資料的自學(xué)能力。2.培養(yǎng)學(xué)生的動手能力。3.培養(yǎng)學(xué)生邏輯思維和分析問題的能力。4.培養(yǎng)學(xué)生新時代工匠精神。知識目標(biāo):1.了解光敏傳感器的基本原理。2.掌握光敏傳感器的硬件連接。3.掌握光敏傳感器的控制及應(yīng)用。技能目標(biāo):1.能夠識別光敏傳感器的各個引腳。2.能夠完成單片機編程指令編寫。項目三
汽車信號系統(tǒng)控制1.光敏傳感器的基本原理光敏傳感器是利用光敏元件將光照強度信號轉(zhuǎn)換為電信號的轉(zhuǎn)換器件,如圖3-17。它的敏感波長在可見光波長附近,包括紅外線波長和紫外線波長。光敏傳感器不只局限于對光的探測,它還可以作為探測元件組成其他傳感器,對許多非電量進行檢測,只要將這些非電量轉(zhuǎn)換為光信號的變化即可。光敏傳感器又分為很多種類,主要有:光電管、光電倍增管、光敏電阻、光敏晶體管、太陽能電池、紅外線傳感器、紫外線傳感器、光纖式光電傳感器、色彩傳感器、CCD和CMOS圖像傳感器等光纖式光電傳感器等。最簡單的光敏傳感器是光敏電阻,當(dāng)光子沖擊接合處就會產(chǎn)生電流。
光敏傳感器的基礎(chǔ)原理是光電效應(yīng)。光電效應(yīng)是指在高于某特定頻率的電磁波照射下,某些物質(zhì)內(nèi)部的電子會被光子激發(fā)出來而形成電流,即光生電。在物理學(xué)發(fā)展史上,光電效應(yīng)直接導(dǎo)致了光的波粒二象性概念的提出,因為光電效應(yīng)無法使用光的波動性來解釋。光電效應(yīng)根據(jù)光電產(chǎn)生的物體表面還是內(nèi)部分為外光電效應(yīng)和內(nèi)光電效應(yīng)。圖3-17光敏傳感器項目三
汽車信號系統(tǒng)控制2.光敏傳感器數(shù)據(jù)的讀取利用光敏電路的阻值隨光照強度變化而變化的特性,在亮度控制電阻中串聯(lián)一個電阻構(gòu)成串聯(lián)分壓電路,實現(xiàn)光敏電阻上隨電阻變化得電壓值的讀取。實驗所需硬件見表3-11:器件數(shù)量ArduinoUNO控制器1USB下載線1光敏傳感器1220Ω直插電阻1面包板1面包線12硬件連線如圖3-18:
通過單片機每隔1s模擬端口A0讀取光敏傳感器的值并通過串口監(jiān)視器顯示出來。參考程序:intGPin=A0;voidsetup(){Serial.begin(9600);}voidloop(){intValue=analogRead(GPin);Serial.print("lightValue=:");Serial.println(Value);//輸出光敏電阻讀取的數(shù)據(jù)delay(1000);}表3-11光敏傳感器實驗元件圖3-18光敏傳感器連線圖項目三
汽車信號系統(tǒng)控制3.光敏傳感器的應(yīng)用光敏傳感器應(yīng)用:夜燈、照相機、監(jiān)控器、光控玩具、聲光控開關(guān)、光控音樂盒、音樂杯、人體感應(yīng)開關(guān)等電子產(chǎn)品光自動控制領(lǐng)域。項目三
汽車信號系統(tǒng)控制實驗所需硬件見表3-12:表3-12光敏傳感器實驗元件器件數(shù)量ArduinoUNO控制器1USB下載線1光敏傳感器1單色M5直插LED1220Ω直插電阻2面包板1面包線12硬件連線如圖3-19:
圖3-19光敏傳感器連線圖項目三
汽車信號系統(tǒng)控制任務(wù)實施1:光敏傳感器對的LED的控制完成汽車LED轉(zhuǎn)向燈的控制,要求使用Arduino
UNO單片機連接由11個LED小燈組成的一字型燈帶,使用數(shù)字IO端口從2號到12號,實現(xiàn)流水燈效果(小燈延時50ms)。參考程序:intGPin=A0;intledPin=5;intValue;intlight_Value;intValue_max;intled_Value;voidsetup(){Serial.begin(9600);Value=0;Value_max=580;//光敏電阻最大讀取值,實驗時,以實際讀數(shù)為準(zhǔn)led_Value=0;}voidloop(){light_Value=analogRead(GPin);Serial.print("LightValue=");Serial.println(Value);//將讀取的值輸出到監(jiān)視器led_Value=map(Value,0,Value_max,0,255);Serial.println(light_Value);//將讀取值映射后輸出到監(jiān)視器analogWrite(ledPin,led_Value);//輸出光敏電阻讀取的數(shù)據(jù)delay(1000);}項目三
汽車信號系統(tǒng)控制【課后作業(yè)】使用一個光敏傳感器控制1個LED,要求獨立完成繪制連線圖和硬件連接,實現(xiàn)從光敏傳感器讀取數(shù)據(jù)超過300時LED燈點亮,低于300時LED燈熄滅。項目三
汽車信號系統(tǒng)控制學(xué)習(xí)任務(wù)12
溫度傳感器的數(shù)據(jù)讀取【任務(wù)描述】當(dāng)前汽車上的溫度傳感器的應(yīng)用非常多,大多數(shù)汽車都安裝了各種溫度傳感器,但是這些溫度傳感器是如何讀取數(shù)據(jù)的呢?下面請同學(xué)們通過學(xué)習(xí)溫度傳感器的基本原理、硬件連接、控制應(yīng)用等知識,練習(xí)編寫單片機編程指令來實現(xiàn)汽車溫度傳感器的數(shù)據(jù)讀取吧!【學(xué)習(xí)目標(biāo)】素養(yǎng)目標(biāo):1.培養(yǎng)學(xué)生查閱資料的自學(xué)能力。2.培養(yǎng)學(xué)生的動手能力。3.培養(yǎng)學(xué)生邏輯思維和分析問題的能力。4.培養(yǎng)吃苦耐勞的工匠精神。知識目標(biāo):1.了解溫度傳感器的基本原理。2.掌握溫度傳感器的硬件連接。3.掌握溫度傳感器的控制及應(yīng)用。技能目標(biāo):1.能夠識別溫度傳感器的各個引腳。2.能夠完成單片機編程指令編寫。項目三
汽車信號系統(tǒng)控制1.溫度傳感器的基本原理溫度傳感器是一種用于測量環(huán)境或物體的溫度的設(shè)備,它可以將溫度信息轉(zhuǎn)化為電信號或數(shù)字信號。目前有多種不同類型的溫度傳感器,每種傳感器都有其自己的原理和工作方式。以下是一些常見的溫度傳感器類型及其原理。1)熱電偶(Thermocouple):熱電偶是基于熱電效應(yīng)的溫度傳感器。它由兩種不同材料的導(dǎo)線連接在一起,當(dāng)兩個導(dǎo)線的連接點受到溫度變化影響時,會產(chǎn)生電壓。這個電壓與溫度之間存在一個線性關(guān)系,因此可以通過測量電壓來確定溫度。2)電阻溫度探頭(RTD,ResistanceTemperatureDetector):RTD基于電阻與溫度之間的關(guān)系。通常,RTD傳感器使用鉑(platinum)作為電阻材料。隨著溫度的變化,鉑電阻的電阻值會發(fā)生變化,這個變化與溫度之間有一個已知的線性關(guān)系。通過測量電阻值的變化,可以計算出溫度。3)熱敏電阻(Thermistor):熱敏電阻是一種電阻隨溫度變化而快速變化的材料。通常,它們分為正溫度系數(shù)(PTC)和負(fù)溫度系數(shù)(NTC)兩種類型。熱敏電阻的電阻值與溫度之間的關(guān)系是非線性的,但可以通過特定的標(biāo)定曲線來將電阻值轉(zhuǎn)化為溫度值。4)紅外線傳感器:紅外線傳感器使用物體輻射的紅外輻射來測量其溫度。每個物體都會以一定的溫度輻射紅外線,傳感器可以捕捉這些輻射并將其轉(zhuǎn)化為溫度讀數(shù)。5)熱電阻陣列:熱電阻陣列是一種將多個熱敏電阻排列在一起的傳感器,用于測量不同位置的溫度。通過比較不同位置的電阻值,可以確定不同點的溫度分布。項目三
汽車信號系統(tǒng)控制2.溫度傳感器數(shù)據(jù)的讀取以LM35溫度傳感器為例,LM35是很常用且易用的溫度傳感器元件,在元器件的應(yīng)用上也只需要一個LM35元件,只利用一個模擬接口就可以,難點在于算法上的將讀取的模擬值轉(zhuǎn)換為實際的溫度。所需的元器件見表3-13:表3-13溫度傳感器實驗器件器件數(shù)量ArduinoUNO控制器1USB下載線1LM35溫度傳感器1面包板1面包線5按照圖3-20連接電路:
圖3-20
L
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國強制式混凝土攪拌機數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國弧形提花布行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國廢液收集系統(tǒng)行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國并線機配件行業(yè)發(fā)展研究報告
- 2025至2030年中國平臺式繃縫機市場分析及競爭策略研究報告001
- 2025至2030年中國帶鎖執(zhí)手市場調(diào)查研究報告
- 2025至2030年中國工作牌行業(yè)發(fā)展研究報告
- 防飛單課件名稱
- 防霾知識課件下載安裝
- 高一期中試卷及答案解析
- 政策目標(biāo)確立和方案制定概述課件
- 六年級下冊英語課件-Unit 4 Lesson 23 Good-bye-冀教版(共19張PPT)
- 硬筆書法全冊教案共20課時
- 張波-超高溫陶瓷課件
- 資源環(huán)境信息系統(tǒng)(gis)課件
- 特洛伊戰(zhàn)爭(英文版)
- 近代以來廣州外貿(mào)產(chǎn)業(yè)的發(fā)展歷程
- DBJ04-T 410-2021城市停車場(庫)設(shè)施配置標(biāo)準(zhǔn)
- 車站主體結(jié)構(gòu)模板支架專項施工方案--終稿(專家意見修改的)-副本
- 保潔崗位培訓(xùn)
- 麗聲北極星自然拼讀繪本第二級 Pad, Pad, Pad! 課件
評論
0/150
提交評論