五部門關(guān)于開展2024年新能源汽車下鄉(xiāng)活動的通知
基于單片機(jī)與光電傳感器的電動自行車速度與里程表的設(shè)計(jì)(圖)
基于單片機(jī)與光電傳感器的電動自行車速度與里程表的設(shè)計(jì)(圖)從保護(hù)環(huán)境和經(jīng)濟(jì)條件許可等因素綜合來看,電動自行車目前乃至今后都有著廣闊的發(fā)展空間。目前市面上電動自行車的速度表和里程表都
從保護(hù)環(huán)境和經(jīng)濟(jì)條件許可等因素綜合來看,電動自行車目前乃至今后都有著廣闊的發(fā)展空間。目前市面上電動自行車的速度表和里程表都是機(jī)械的,看起來不夠直觀與方便。如果能用LED直接顯示出來里程數(shù)或速度值,就可節(jié)省用戶的時間及精力處理自行車行進(jìn)過程中的突發(fā)事件。
本文介紹的速度與里程表設(shè)計(jì)以單片機(jī)和光電傳感器為核心。傳感器將不同車速轉(zhuǎn)變成的不同頻率的脈沖信號輸入到單片機(jī)進(jìn)行控制與計(jì)算,再采用LED模塊進(jìn)行顯示,使得電動自行車的速度與里程數(shù)據(jù)能直觀的顯示給使用者。
系統(tǒng)概述
本系統(tǒng)由信號預(yù)處理電路、單片機(jī)AT89C2051、系統(tǒng)化LED顯示模塊、串口數(shù)據(jù)存儲電路和系統(tǒng)軟件組成。其中信號預(yù)處理電路包含信號放大、波形變換和波形整形。對待測信號進(jìn)行放大的目的是降低對待測信號的幅度要求;波形變換和波形整形電路則用來將放大的信號轉(zhuǎn)換成可與單片機(jī)相連的TTL信號;通過單片機(jī)的設(shè)置可使內(nèi)部定時器T1對脈沖輸入引腳T0進(jìn)行控制,這樣能精確地算出加到T0引腳的單位時間內(nèi)檢測到的脈沖數(shù);設(shè)計(jì)中速度顯示采用LED模塊,通過速度換算得來的里程數(shù)采用I2C總線并通過E2PROM來存儲,既節(jié)省了所需單片機(jī)的口線和外圍器件,同時也簡化了顯示部分的軟件編程。
系統(tǒng)的原理框圖如圖1所示。
圖1 系統(tǒng)的原理框圖
工作原理
該設(shè)計(jì)能實(shí)時地將所測的速度與累計(jì)里程數(shù)顯示出來,主要是將傳感器輸入到單片機(jī)的脈沖信號的頻率(傳感器將不同車速轉(zhuǎn)變成不同頻率的脈沖信號)實(shí)時地測量出來,考慮到信號的衰減、干擾等影響,在信號送入單片機(jī)前應(yīng)對其進(jìn)行放大整形,然后通過單片機(jī)計(jì)算出速度和里程,再將所得的數(shù)據(jù)存儲到串口數(shù)據(jù)存儲器,并由LED顯示模塊交替顯示所測速度與里程。本設(shè)計(jì)的里程數(shù)的算法是一種大概的算法(假設(shè)在一定時間內(nèi)自行車是勻速行進(jìn),平均速度與時間的乘積即為里程數(shù))。
設(shè)計(jì)時,應(yīng)綜合考慮測速精度和系統(tǒng)反應(yīng)時間。本設(shè)計(jì)用測量脈沖頻率來計(jì)算速度,因而具有較高的測速精度。在計(jì)算里程時取了自行車的理想狀態(tài)。實(shí)際中,誤差控制在幾米之內(nèi),相對于整個里程來說不是很大。為了保證系統(tǒng)的實(shí)時性,系統(tǒng)的速度轉(zhuǎn)換模塊和顯示數(shù)據(jù)轉(zhuǎn)BCD碼模塊都采用快速算法。另外,還應(yīng)盡量保證其他子模塊在編程時的通用性和高效性。本設(shè)計(jì)的速度和里程值采用6位顯示,并包含兩個小數(shù)位。
系統(tǒng)的硬件設(shè)計(jì)
脈沖發(fā)生源本設(shè)計(jì)采用了ST1101紅外光電傳感器,進(jìn)行非接觸式檢測。當(dāng)有物體擋在紅外光電發(fā)光二極管和高靈敏度的光電晶體管之間時,傳感器將會輸出一個低電平,而當(dāng)沒有物體擋在中間時則輸出為高電平,從而形成一個脈沖。
該系統(tǒng)在自行車后輪的軸處保持著與輪子旋轉(zhuǎn)切面平行的方向延伸附加一個鋁盤,在這個鋁盤的邊沿處挖出若干個圓形過孔,把傳感器的檢測部分放在圓孔的圓心位置。每當(dāng)鋁盤隨著后輪旋轉(zhuǎn)的時候,傳感器將向外輸出若干個脈沖。把這些脈沖通過一系列的波形整形成單片機(jī)可以識別的TTL電平,即可算出輪子即時的轉(zhuǎn)速。
鋁盤的圓孔的個數(shù)決定了測量的精度,個數(shù)越多,精度越高。這樣就可以在單位時間內(nèi)盡可能多地得到脈沖數(shù),從而避免了因?yàn)閮蓚€過孔之間的距離過大,而車子正好在過孔之間或者是在下個過孔之前停止了,造成較大的誤差。
本設(shè)計(jì)在鋁盤過孔的設(shè)計(jì)上采用11個過孔,從而留下了10個同等的間距。這樣在以后的軟件設(shè)計(jì)中能夠較為方便的計(jì)算出速度里程。脈沖發(fā)生源的硬件結(jié)構(gòu)圖如圖2所示。
圖2 脈沖發(fā)生源硬件結(jié)構(gòu)圖(左為正視圖,右為側(cè)視圖)
信號預(yù)處理電路
如圖3所示,系統(tǒng)的信號預(yù)處理電路由二級電路構(gòu)成,第一級是由開關(guān)三極管組成的零偏置放大器,采用開關(guān)三極管可以保證放大器具有良好的高頻響應(yīng)。當(dāng)輸入信號為零或負(fù)電壓時,三極管截止,電路輸出高電平;而當(dāng)輸入信號為正電壓時,三極管導(dǎo)通,此時輸出電壓隨著輸入電壓的上升而下降,這使得速度里程表既可以測量任意方波信號的頻率,也可以測量正弦波信號的頻率。由于放大器的放大功能降低了對待測信號的幅度要求,因此,系統(tǒng)能對任意大于0.5V的正弦波和脈沖信號進(jìn)行測量。預(yù)處理電路的第二級采用帶施密特觸發(fā)器的反相器DM74LS14來把放大器生成的單相脈沖轉(zhuǎn)換成與COMS電平相兼容的方波信號(如圖4所示),同時將輸出信號加到單片機(jī)的P3.4口上。
圖3 信號預(yù)處理電路圖
圖4 施密特觸發(fā)器對脈沖的整形
利用施密特觸發(fā)器狀態(tài)轉(zhuǎn)換過程中的正反饋?zhàn)饔?,可以把邊沿變化緩慢的周期性信號變換為邊沿很陡的矩形脈沖信號。輸入的信號只要幅度大于VT+,即可在施密特觸發(fā)器的輸出端得到同等頻率的矩形脈沖信號。
從傳感器得到的矩形脈沖經(jīng)傳輸后往往發(fā)生波形畸變。當(dāng)傳輸線上的電容較大時,波形的上升沿將明顯變壞;當(dāng)傳輸線較長,而且接受端的阻抗與傳輸線的阻抗不匹配時,在波形的上升沿和下降沿將產(chǎn)生振蕩現(xiàn)象;當(dāng)其他脈沖信號通過導(dǎo)線間的分布電容或公共電源線疊加到矩形脈沖信號時,信號上將出現(xiàn)附加的噪聲。無論出現(xiàn)上述的那一種情況,都可以通過用施密特反相觸發(fā)器整形而得到比較理想的矩形脈沖波形。只要施密特觸發(fā)器的VT+和VT-設(shè)置得合適,均能受到滿意的整形效果。
E2PROM AT24C02的應(yīng)用
AT24C02是CMOS 2048位串行E2PROM,在內(nèi)部組織成256×8位。AT24C02的特點(diǎn)是具有允許在簡單的二線總線上工作的串行接口和軟件協(xié)議。
如圖5所示,在本設(shè)計(jì)中用芯片AT24C02的SDA端與單片機(jī)的P3.7口相連,SCL端與單片機(jī)的P3.5口相連。因?yàn)樵谶@個I2C總線上只有一個器件,所以把AT24C02的地址設(shè)為000,即把A0、A1、A2都接地。單片機(jī)計(jì)算出來的里程數(shù)據(jù)通過SDA、SCL向AT24C02輸送數(shù)據(jù)。單片機(jī)首先向AT24C02發(fā)送寫信號,當(dāng)確認(rèn)后從單片機(jī)內(nèi)部的數(shù)據(jù)儲存單元提取數(shù)據(jù)然后向AT24C02的內(nèi)部地址傳送數(shù)據(jù)。當(dāng)顯示里程時,單片機(jī)首先向AT24C02發(fā)送讀信號,然后確認(rèn)后,單片機(jī)從AT24C02內(nèi)部的地址向單片機(jī)的讀出單元字節(jié)讀出數(shù)據(jù),供顯示所用。
圖5 AT24C02與單片機(jī)的接口電路圖
顯示部分
本設(shè)計(jì)的顯示模塊包括MC14511BCP、CD4076、74LS138和6個LED顯示管等器件。
MC14511是將鎖存、譯碼、驅(qū)動三種功能集于一身的“三合一”器件。鎖存器的作用是避免在計(jì)數(shù)過程中出現(xiàn)跳數(shù)現(xiàn)象,便于觀察和記錄。用譯碼器將BCD碼轉(zhuǎn)換成7段碼,再經(jīng)過大電流反相器,驅(qū)動共陰極LED數(shù)碼管。譯碼器屬于非時序電路,其輸出狀態(tài)與時鐘無關(guān),僅取決于輸入的BCD碼。
74LS138的作用相當(dāng)于位選的功能,當(dāng)C,B,A的輸入分別為“000、001、010、011、100、101”時分別選擇不同的MC14511,從而在不同位上顯示不同的數(shù)字和小數(shù)點(diǎn)。CD4076是CMOS 4位三態(tài)輸出D寄存器,通過74LS138的Y6,Y7來控制其CP的工作,從而使CD4076來控制小數(shù)點(diǎn)顯示。圖6是顯示模塊框圖。
圖6 顯示模塊框圖
圖7為系統(tǒng)顯示部分的電路。系統(tǒng)中用74LS138的Y0~Y5選擇MC14511以驅(qū)動LED顯示,Y6、Y7來控制CD40756的CP,從而達(dá)到以CD4076的Q1~Q4控制小數(shù)點(diǎn)的顯示,另一個CD4076只用到其Q1和Q2,圖中字符相對應(yīng)的地方表示其引腳相連。
圖7 系統(tǒng)顯示部分的電路
系統(tǒng)的軟件設(shè)計(jì)
系統(tǒng)軟件框圖如圖8所示,本系統(tǒng)軟件采用模塊化設(shè)計(jì)方法。整個系統(tǒng)由初始化模塊、頻率測量模塊、速度,里程計(jì)算模塊、數(shù)據(jù)轉(zhuǎn)BCD碼模塊、速度顯示模塊、里程顯示模塊、數(shù)據(jù)存儲,讀取模塊、定時器中斷服務(wù)模塊以及其他功能模塊組成
圖8 系統(tǒng)軟件框圖
數(shù)據(jù)處理
待測信號經(jīng)預(yù)處理電路后加至單片機(jī)的P3.4(T0)引腳可為單片機(jī)測量信號頻率提供有效的輸入信號。單片機(jī)通過檢測P3.4引腳電平來決定是否啟動測量頻率程序。當(dāng)該引腳為高電平時,系統(tǒng)處于等待狀態(tài),要一直到該引腳出現(xiàn)低電平時才開始測頻率。
我們可從硬件的鋁盤上知道兩個過孔之間在圓周上的距離。而這個距離M正好為計(jì)算速度和距離起到了基本的數(shù)據(jù)儲備作用。同時可以從TL0寄存器知道在兩秒內(nèi)單片機(jī)檢測到的N個脈沖。而M×N所得到的正是這兩秒內(nèi)鋁盤在圓周上所走得距離S。(此時假設(shè)在這個兩秒內(nèi)車子是勻速前進(jìn)的),距離S除以2s的時間,就可以大概的算出這2s內(nèi)鋁盤的線速度。再根據(jù)鋁盤與自行車的輪子保持著一樣的角速度,得到鋁盤的線速度與輪子線速度的關(guān)系,從而算出自行車在這2s的平均速度。
至于里程的計(jì)算,根據(jù)速度計(jì)算的分析,在得到2s內(nèi)鋁盤在其圓周上走過的距離后。根據(jù)它與自行車輪子的圓周走過的距離有一定比例關(guān)系(通過兩者角速度一樣的算法)可以通過單片機(jī)的算出自行車在這兩秒內(nèi)走過的路程S1。把這個路程S1與存儲器原來的里程數(shù)相加即可得到目前的總里程數(shù)。
通過單片機(jī)計(jì)算出來的速度和里程的數(shù)據(jù),必須通過BCD碼的轉(zhuǎn)換才能輸出給顯示模塊??偫锍虜?shù)的顯示是設(shè)定出現(xiàn)在電動自行車開動,單片機(jī)開機(jī)經(jīng)過初始化后顯示出來,這樣以來用戶可以清楚的知道自己的車子已經(jīng)運(yùn)行了多少公里了。而速度的顯示則是在計(jì)算出速度里程后立刻顯示出來,體現(xiàn)實(shí)時性。
結(jié)論
本設(shè)計(jì)以AT89C2051為核心,通過光電傳感器來檢測自行車的運(yùn)轉(zhuǎn)情況進(jìn)而實(shí)現(xiàn)電動自行車的速度,里程的計(jì)算及里程的累計(jì),存儲,最后用6位的LED能直觀的將速度與里程顯示給用戶,并且在速度高于一定的值時可自動向用戶報警,從而達(dá)到智能速度里程表。
參考文獻(xiàn):
[1]. AT89C2051 datasheet http://www.dzsc.com/datasheet/AT89C2051_810086.html.
[2]. TTL datasheet http://www.dzsc.com/datasheet/TTL_1174409.html.
[3]. BCD datasheet http://www.dzsc.com/datasheet/BCD_1225719.html.
[4]. DM74LS14 datasheet http://www.dzsc.com/datasheet/DM74LS14_1094334.html.
[5]. MC14511BCP datasheet http://www.dzsc.com/datasheet/MC14511BCP_2414013.html.
[6]. 74LS138 datasheet http://www.dzsc.com/datasheet/74LS138_1054480.html.
來源:xiangxueqin
-
常州純電動汽車:重大利好 高速電動出行2023-11-30
-
插電混動和純電動汽車孰好孰壞2023-11-30
-
LEM電子推出高效汽車蓄電池管理傳感器2016-06-15
-
LEM智能蓄電池傳感器的應(yīng)用2016-06-15
-
基于Freescale單片機(jī)的電池管理系統(tǒng)設(shè)計(jì)2016-06-15
-
嵌入式技術(shù)在電流傳感器蓄電池中的應(yīng)用2016-06-15
-
電池傳感器滿足愛車電池檢測需求2016-06-15
-
基于單片機(jī)的鋰電池充電器硬件設(shè)計(jì)2016-06-15
-
基于單片機(jī)的車輛蓄電池報警器設(shè)計(jì)2016-06-15
-
基于單片機(jī)的電動車蓄電池智能管理系統(tǒng)設(shè)計(jì)2016-06-15
-
奧地利微電子全新智能電池傳感器參考設(shè)計(jì)2016-06-15
-
無需電池、無需布線的傳感器技術(shù)應(yīng)用2016-06-15
-
飛思卡爾新型智能電池傳感器MM9Z1J638開始供貨2016-06-15
-
采用低功率能量采集技術(shù),增加無線傳感器壽命2016-06-15
-
傳感器網(wǎng)絡(luò)中能耗問題的研究2016-06-15