前言:
在淘寶搜了一圈,感覺成品的行車電腦,功能大多不實(shí)用。大部分都是基于標(biāo)準(zhǔn)的OBD協(xié)議進(jìn)行開發(fā),功能無非就是查看故障碼、清除故障碼、顯示轉(zhuǎn)速、車速、水溫、進(jìn)氣壓力、進(jìn)氣溫度等等的一些發(fā)動(dòng)機(jī)參數(shù)。其實(shí)這些參數(shù)如果不是維修的話,日常行車基本上沒用的。
于是萌發(fā)了自己制作一款多功能行車電腦的念頭。于是開始查資料、研究車輛的OBD協(xié)議,設(shè)計(jì)線路板、編程、調(diào)試,經(jīng)過1年多的時(shí)間,經(jīng)過了3個(gè)版本的修改,最終做成了現(xiàn)在的這款行車電腦。自我感覺還不錯(cuò),用的效果也很好?,F(xiàn)在開源出來給大家。
OBD行車電腦放在車上的效果:
整個(gè)系統(tǒng)采用ATmega64作為主控芯片,用24064的黃綠液晶作為顯示屏(T6963C驅(qū)動(dòng)),DS1302作為時(shí)鐘芯片,讀取時(shí)間。用2個(gè)DS18B20溫度傳感器檢測(cè)車內(nèi)及車外溫度,用C3-370C的GPS模塊作為GPS接收裝置,讀取經(jīng)緯度、海拔、航向等信息。在發(fā)動(dòng)機(jī)的OBD接口上安裝一個(gè)藍(lán)牙的OBD模塊(買的),系統(tǒng)板上也采用一個(gè)藍(lán)牙串口模塊,系統(tǒng)板和車輛之間通過藍(lán)牙串口來透明的傳輸發(fā)動(dòng)機(jī)數(shù)據(jù)。電源采用的是LM2596,其實(shí)整機(jī)功耗不大,用7805也可應(yīng)付。按鍵采用的是4個(gè)獨(dú)立按鍵(上圖搞錯(cuò)了)其實(shí)這4個(gè)按鍵我借用了樂風(fēng)的電控后視鏡按鈕。(我的車是低配,是手動(dòng)調(diào)節(jié)后視鏡,但是有安裝電調(diào)后視鏡按鈕的位置。所以我買了一個(gè)后視鏡調(diào)節(jié)按鈕,當(dāng)作了系統(tǒng)的按鍵)。系統(tǒng)板上留出了ISP接口和JTAG接口,方便下載程序和在線調(diào)試。
目前實(shí)現(xiàn)的功能:
1.車速的實(shí)時(shí)顯示。(這個(gè)是實(shí)際的車速,而不是表速。表速根據(jù)國標(biāo)規(guī)定,比實(shí)際速度低一些)
2.超速報(bào)警功能。(設(shè)定一個(gè)報(bào)警值,當(dāng)車速超過以后,蜂鳴器報(bào)警??捎冒存I關(guān)閉。高速上開車相對(duì)方便)
3.小計(jì)里程統(tǒng)計(jì)。(車速表上的小計(jì)里程一般最大統(tǒng)計(jì)1000Km,這個(gè)可以統(tǒng)計(jì)65535Km??赏ㄟ^長(zhǎng)按下鍵來清零)
4.每月行駛里程統(tǒng)計(jì)。(統(tǒng)計(jì)每個(gè)月的行駛里程,并可顯示。每月自動(dòng)清零,不可手動(dòng)清零)
5.本次行駛平均油耗統(tǒng)計(jì)。(顯示本次行駛的平均油耗,單位是 L/100Km)
6.歷史平均油耗統(tǒng)計(jì)。(車輛在一個(gè)大的用車時(shí)間內(nèi)的平均油耗)
7.剩余燃油續(xù)航里程。(根據(jù)當(dāng)前的油耗計(jì)算出的油箱內(nèi)燃油還能跑多少公里)
8.當(dāng)前行駛方向。(分八個(gè)方向顯示。東、西、南、北、東南、東北、西南、西北)
9.當(dāng)前位置經(jīng)緯度坐標(biāo)。(度、分、秒格式)
9.當(dāng)前位置海拔高度。
10.時(shí)間及日期顯示(年、月、日、星期、時(shí)、分、秒根據(jù)GPS自動(dòng)校時(shí),無需手動(dòng)調(diào)整)
11.車內(nèi)溫度顯示。
12.車外溫度顯示。
13.本次行程統(tǒng)計(jì)。(在本次行車停車關(guān)機(jī)時(shí)顯示,顯示的信息有:本次行駛時(shí)間、本次行駛里程、本次行駛平均油耗、本次行駛最高速度、本次行駛平均速度)
14.最高速度記錄。(記錄開車的最高速度)
15.加油記錄。(每次加油后,開機(jī)時(shí)可自動(dòng)識(shí)別出加油,可記錄本次加油單價(jià)、加油量、總價(jià)、加油時(shí)間)
16.用油統(tǒng)計(jì)。(可統(tǒng)計(jì)自某個(gè)時(shí)間以來,總的加油量、總天數(shù)、總行駛里程、總加油費(fèi)用、總的平均油耗、平均費(fèi)用,包括每天的費(fèi)用和每公里費(fèi)用)
17.根據(jù)環(huán)境光線,自動(dòng)開啟儀表照明。(這個(gè)功能硬件預(yù)留,程序中沒設(shè)計(jì)。后序陸續(xù)添加)
先看一下線路板。這個(gè)線路板是畫好以后在網(wǎng)上找的PCB廠家給做的。當(dāng)時(shí)在驗(yàn)證設(shè)計(jì)時(shí),曾經(jīng)用感光法自制過PCB板,專門買了感光藍(lán)油、PCB覆銅板,蝕刻液,用噴墨打印機(jī)打印PCB圖到感光膠片上,覆蓋在涂了感光藍(lán)油的覆銅板上,用臺(tái)燈曝光15分鐘,然后顯影、脫膜、蝕刻。效果很好,最小線寬可以做到10mil!但是打孔是個(gè)頭疼問題。全是1mm一下的孔,太難鉆了,而且過孔問題很難解決。所以后來還是讓PCB廠家做的板。
下面是用的LCD屏。24064的黃綠點(diǎn)陣。T6963C的控制器。這個(gè)屏是我在單位的一臺(tái)廢舊設(shè)備上拆下的。工業(yè)級(jí)的。還不錯(cuò)。
屏和主板是兩層設(shè)計(jì),中間的是藍(lán)牙串口模塊。
下面介紹一下各個(gè)界面
第一屏,最常用的信息,開機(jī)后就在這個(gè)界面
第二屏,主要顯示GPS的一些信息。按按鈕上的“右”鍵切換到第二屏。
說明:
程序是用C語言寫的。本人水平有限。我自己看著都很亂。附件中含有清晰版的原理圖和源程序。用CodeVisionAVR V2.04.4a編譯。壓縮包內(nèi)自帶工程文件與源文件。編譯沒有錯(cuò)誤,但是有警告。注意源文件中有DS1302.lib和DS18B20.lib兩個(gè)文件,要拷貝到CodeVisionAVR的安裝目錄下的lib文件夾內(nèi),替換系統(tǒng)自帶的兩個(gè)文件。因?yàn)槲覍?duì)這兩個(gè)文件做了修改。
一直想弄個(gè)外殼,在淘寶上找了很久,也沒找到合適的外殼。沒有外殼就暫時(shí)裸奔吧!
說說使用的感受:
1.跑高速時(shí)很爽!在這個(gè)安裝位置正好,需要看時(shí)速時(shí)眼掃一下就可以,或者設(shè)定好超速報(bào)警,開就是了,根本不用低頭看車速!
2.平均油耗,至少在我的車上還是比較準(zhǔn)確的。
3.海拔高度顯示比較有意思。至少讓你知道你所在地的高度。
4.其它的一些統(tǒng)計(jì)功能也比較有用,可以讓你更清楚的掌握自己的行駛情況。
5.方向顯示不會(huì)讓你轉(zhuǎn)向!