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