技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > AVR單片機(jī)在柴油機(jī)轉(zhuǎn)速測(cè)量中的應(yīng)用

AVR單片機(jī)在柴油機(jī)轉(zhuǎn)速測(cè)量中的應(yīng)用

時(shí)間:2008-01-05 08:45:00來(lái)源:zhaohy

導(dǎo)語(yǔ):?利用ATMEL新一代AVR單片機(jī)(AT90S2313)實(shí)現(xiàn)對(duì)柴油機(jī)轉(zhuǎn)速的測(cè)量,最后給出了AT90S2313與AT89C2051在轉(zhuǎn)速測(cè)量中使用效果的比較
摘要: 利用ATMEL新一代AVR單片機(jī)(AT90S2313)實(shí)現(xiàn)對(duì)柴油機(jī)轉(zhuǎn)速的測(cè)量,在C語(yǔ)言程序設(shè)計(jì)中引入了消息的概念,最后給出了AT90S2313與AT89C2051在轉(zhuǎn)速測(cè)量中使用效果的比較。 關(guān)鍵詞: 單片機(jī) 轉(zhuǎn)速測(cè)量 柴油機(jī) 消息 前言 柴油機(jī)的轉(zhuǎn)速是一個(gè)較為重要的運(yùn)行參數(shù),也有很多種用于測(cè)量轉(zhuǎn)速的儀表,如:機(jī)械軟軸式轉(zhuǎn)速表、頻率-電壓轉(zhuǎn)換式轉(zhuǎn)速表、數(shù)字式轉(zhuǎn)速表等,它們中間有的成本很高而且精度較差、有的工藝復(fù)雜而且可靠性不高。本文介紹了一種利用單片機(jī)技術(shù)制成的智能轉(zhuǎn)速表,不僅精度高、工藝簡(jiǎn)單、線路簡(jiǎn)潔,而且可靠性高、功能強(qiáng)。其不僅可以測(cè)量轉(zhuǎn)速,而且可以統(tǒng)計(jì)機(jī)器運(yùn)行的累計(jì)時(shí)間,當(dāng)柴油機(jī)超速時(shí),還可發(fā)出報(bào)警信號(hào),切斷油路,保護(hù)機(jī)器不發(fā)生飛車事故。 1 測(cè)量原理 在測(cè)量柴油機(jī)轉(zhuǎn)速時(shí)我們采用了電磁感應(yīng)式傳感器,這種傳感器可將轉(zhuǎn)速信號(hào)轉(zhuǎn)變成一個(gè)脈沖信號(hào)輸出,而脈沖信號(hào)的頻率與柴油機(jī)的轉(zhuǎn)速是一種線性的正比關(guān)系。因此對(duì)柴油機(jī)轉(zhuǎn)速的測(cè)量,實(shí)質(zhì)上是對(duì)脈沖信號(hào)的頻率的測(cè)量,可以采用閘門法進(jìn)行測(cè)量。 2 線路設(shè)計(jì) 智能轉(zhuǎn)速表的框圖如圖1所示
[IMG=智能轉(zhuǎn)速表的框圖]/uploadpic/tech/2008/1/2008010509001220683X.jpg[/IMG]
智能轉(zhuǎn)速表主要由脈沖放大及整形電路、單片機(jī)(AT90S2313)、多路動(dòng)態(tài)掃描LED顯示電路和報(bào)警信號(hào)輸出電路組成。 在設(shè)計(jì)中我們采用了ATMEL的AVR系列單片機(jī)中的AT90S2313,該單片機(jī)有如下特點(diǎn): (1) 片內(nèi)有2K字節(jié)可在線編程(ISP編程)的FLASH存貯器。 (2) 片內(nèi)有128字節(jié)SRAM和128字節(jié)EEPROM存貯器。 (3) 精簡(jiǎn)指令集結(jié)構(gòu)單片機(jī),尤其內(nèi)部32個(gè)寄存器全部與ALU直接連接,突破傳統(tǒng)瓶頸限制,每MHZ時(shí)鐘具有1MIPS的性能。 (4) 內(nèi)含帶預(yù)分頻的8位和16位的定時(shí)器各一個(gè),16位定時(shí)器還具有捕捉、比較及PWM功能。 (5) 一個(gè)片內(nèi)WatchDog定時(shí)器。 (6) 除具有普通UART串行口外,還具有高速SPI接口。 (7) AVR的輸出端口可直接驅(qū)動(dòng)LED。 AT90S2313的定時(shí)器0(8位)工作于定時(shí)器方式,用來(lái)產(chǎn)生定時(shí)閘門信號(hào);而定時(shí)器1(16位)工作于計(jì)數(shù)器方式,對(duì)整形電路送來(lái)的脈沖信號(hào)進(jìn)行計(jì)數(shù);片內(nèi)的EEPROM用于保存機(jī)器運(yùn)行累計(jì)時(shí)間,在斷電時(shí)可以保持?jǐn)?shù)據(jù)不丟失。 3 程序設(shè)計(jì) 在AVR單片機(jī)的程序設(shè)計(jì)中,我們采用了ImageCraft的C語(yǔ)言編譯器ICCAVR,并在單片機(jī)程序設(shè)計(jì)中引入了WINDOWS系統(tǒng)中消息的概念。主要程序流程圖如圖二所示。 主程序 中斷服務(wù)程序
[IMG=主程序 中斷服務(wù)程序]/uploadpic/tech/2008/1/2008010509002425462J.jpg[/IMG]
定時(shí)器0以中斷方式工作,其負(fù)責(zé)采集定時(shí)器1 的計(jì)數(shù)值、對(duì)運(yùn)行時(shí)間累計(jì)和發(fā)送消息。由于在儀表中對(duì)采集到的定時(shí)器1 的計(jì)數(shù)值,需要進(jìn)行一些處理,如:判斷是否超過(guò)額定速度、將16位二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼、為動(dòng)態(tài)LED顯示電路進(jìn)行軟件譯碼及掃描控制等等。如果所有工作全部放在中斷程序中完成,就會(huì)導(dǎo)致中斷服務(wù)程序執(zhí)行時(shí)間過(guò)長(zhǎng)。由于儀表還要完成運(yùn)行時(shí)間的累計(jì)工作,盡管中斷服務(wù)程序執(zhí)行時(shí)間過(guò)長(zhǎng)對(duì)轉(zhuǎn)速的測(cè)量不會(huì)有太大影響,但勢(shì)必會(huì)給時(shí)間累計(jì)造成過(guò)大的累積誤差,影響累計(jì)時(shí)間的精度。為了解決這個(gè)問(wèn)題,我們采取了下面的方法: 借鑒windows 編程的原理,在單片機(jī)編程中引入消息的概念,將中斷產(chǎn)生的標(biāo)志作為消息,而數(shù)據(jù)處理則放在消息循環(huán)中進(jìn)行。在這個(gè)例子中中斷服務(wù)程序中只進(jìn)行數(shù)據(jù)的采集和標(biāo)志位的設(shè)置(發(fā)送消息),而將數(shù)據(jù)的處理放到運(yùn)行時(shí)間要求不很精確的中斷服務(wù)程序之外的主程序循環(huán)中(消息循環(huán))。這樣一方面減少了中斷服務(wù)程序的長(zhǎng)度,縮短了中斷服務(wù)程序執(zhí)行的時(shí)間,提高了中斷處理的實(shí)時(shí)性,另一方面又不影響數(shù)據(jù)的處理。從而很好地解決了數(shù)據(jù)采集的實(shí)時(shí)性和數(shù)據(jù)處理耗時(shí)多而影響時(shí)間累計(jì)之間的矛盾。 和PC機(jī)相比,單片機(jī)資源十分有限。因此,單片機(jī)系統(tǒng)不可能象windows系統(tǒng)那樣建立龐大的消息循環(huán)機(jī)制,將消息分發(fā)給各個(gè)程序并行處理。在基于消息的單片機(jī)編程中,采取一種簡(jiǎn)化的方式,消息可以這樣來(lái)定義:當(dāng)某個(gè)事件(例如中斷)發(fā)生時(shí),事件處理程序(例如中斷服務(wù)程序)設(shè)置相應(yīng)的標(biāo)志,不同的標(biāo)志即代表不同的消息;而主程序所進(jìn)行的消息循環(huán)就是主程序不斷地判斷這些標(biāo)志,以決定啟動(dòng)哪一個(gè)處理函數(shù)(即將消息發(fā)送給特定的消息處理函數(shù))。這種方法在多中斷系統(tǒng)中使用,可以明顯地提高中斷的實(shí)時(shí)性;另外,由于在中斷服務(wù)程序中不需要調(diào)用數(shù)據(jù)處理程序,也有效地防止了代碼重入帶來(lái)的問(wèn)題。 如下面的T0中斷服務(wù)程序,發(fā)送消息: void timer0() { if (——timercount==0) { TCCR1B = 0x00; count=TCNT1; //采集數(shù)據(jù) second++; //運(yùn)行時(shí)間累計(jì) flag=1; //發(fā)送消息 WDR(); TCNT1H = 0x00; TCNT1L = 0x00; //清除T1 TCCR1B = 0x06; timercount=20; } TCNT0 = 76; //重裝T0 } 而下面這段程序是主程序消息循環(huán)中一部分,對(duì)T0發(fā)送的消息進(jìn)行檢查,如果沒(méi)有消息產(chǎn)生則跳過(guò)數(shù)據(jù)處理部分: if (flag==1)//檢查是否有消息產(chǎn)生 { hextobcd(count);//16位二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼數(shù) if (count>1134) //當(dāng)轉(zhuǎn)速超過(guò)1134轉(zhuǎn)/分時(shí),輸出報(bào)警信號(hào) { asm("cbi 0x12,4"); } else { asm ("sbi 0x12,4"); } flag=0; //清除消息 } 4 總結(jié)比較 我們這個(gè)系列的轉(zhuǎn)速表是在上一代轉(zhuǎn)速表(采用AT89C2051單片機(jī))的基礎(chǔ)上改造過(guò)來(lái)的,經(jīng)過(guò)比較我們認(rèn)為AVR單片機(jī)有以下優(yōu)點(diǎn): (1)AVR是一種功能強(qiáng)大、集成度較高的新型單片機(jī)。譬如在這個(gè)例子中,一片AT90S2313代替了AT89C2051、AT24C01(EEPROM)和外置WatchDog三片集成電路,從而大大地簡(jiǎn)化了裝配工藝和流程。由于AT90S2313與AT89C2051單片機(jī)的管腳基本兼容,最終我們把前者做成為后者的增強(qiáng)型,在同一個(gè)轉(zhuǎn)速表上可以做成兩個(gè)版本的產(chǎn)品。 (2)AVR支持在線編程(ISP下載),對(duì)芯片的編程可以放在整機(jī)裝配完成后進(jìn)行。這樣不僅節(jié)省了購(gòu)買萬(wàn)用編程器的費(fèi)用,而且為現(xiàn)場(chǎng)調(diào)試及以后的軟件升級(jí)帶來(lái)了極大的便利。 (3)AVR的運(yùn)行速度快、處理能力強(qiáng)。在這個(gè)例子中,中斷服務(wù)程序執(zhí)行時(shí)間更短了,中斷的實(shí)時(shí)性提高了,對(duì)時(shí)間累計(jì)的累積誤差也變小了。 (4)AVR對(duì)采用C語(yǔ)言編程提供了較好的支持。當(dāng)我們將原來(lái)用KEIL51寫的程序轉(zhuǎn)換成AVR的C程序時(shí),只需要修改有關(guān)硬件操作部分和KEIL51中bit及sbit類型的數(shù)據(jù)操作,其余均不需修改。 另外,在單片機(jī)的編程中引入消息的概念,一方面提高了中斷處理的實(shí)時(shí)性,另一方面也解決了中斷服務(wù)程序中代碼重入的問(wèn)題。 參考文獻(xiàn): 1 宋建國(guó).AVR單片機(jī)原理及其應(yīng)用.北京:北京航空航天大學(xué)出版社,1998 2 耿德根.AVR高速嵌入式單片機(jī)原理與應(yīng)用,2001 3 ATMEL.ATMEL數(shù)據(jù)光盤,1999 4 Mickey Williams . Visual C++5自學(xué)通.北京.機(jī)械工業(yè)出版社,1998

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:V80系列PLC在載帶成型機(jī)中應(yīng)用

下一篇:微能WIN-V63矢量控制變頻器在...

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(m.u63ivq3.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)