基于AVR單片機的自行車行車記錄儀,軟硬件協(xié)同
自行車行車記錄儀包括主控板,打印機驅(qū)動板,霍爾傳感器,12864液晶顯示器,EPSON微型打點打印機這五部分。該記錄儀能記錄實時的行車速度,行車總里程,單次行車?yán)锍?,以及歷史最高行車速度,具備外部環(huán)境溫度顯示,總里程設(shè)置,行車信息打印等功能,是面向自行車愛好者的一個高精度,功能強大的行車記錄儀。
本文引用地址:http://m.butianyuan.cn/article/201609/303916.htm功能上,在設(shè)計行車記錄儀時,以Atmega64單片機為核心,AT24LC64 EEPROM,DS1302,12864液晶顯示器,霍爾傳感器等構(gòu)成外圍電路,行車記錄儀的核心部件是霍爾傳感器,在下面講述原理的時候會進行詳細的描述。顯示部分由12864液晶來完成,該液晶控制簡單,顯示區(qū)域大,低功耗,適合電池供電,可以通過設(shè)計菜單,從而來實現(xiàn)記錄儀強大的功能。打印部分由EPSON M-150II微型打點打印機來完成,用戶可以通過打印機記錄行車的統(tǒng)計信息,以及最近一次的行車信息,各種里程信息以及時速,時間等信息,用戶可以通過保管打印的信息,對自己的行車生涯進行統(tǒng)計。
系統(tǒng)軟件設(shè)計包含用戶UI界面,以及各個外圍電路的驅(qū)動兩大部分。使用的編譯器是AVR官方推薦的ICCAVR,其中外圍的驅(qū)動部分主要包括: DS1302時鐘芯片驅(qū)動;DS18B20溫度傳感器驅(qū)動;24LC64 EEPROM驅(qū)動;EPSON M-150II微型打點打印機驅(qū)動;12864液晶驅(qū)動
硬件電路制作使用Protel DXP設(shè)計制做PCB板。分主控板和打印機驅(qū)動板焊接調(diào)試,進行性能和功能測試。
本系統(tǒng)硬件部分結(jié)構(gòu)簡單,軟件部分使用自己設(shè)計UI界面,使用方便,中文顯示,可操作性強,具有比較好的市場前景。
1. 引言
自行車行車記錄儀(以下簡稱碼表)在國內(nèi)外已經(jīng)有了廣泛的應(yīng)用,但是不管是國外的還是國產(chǎn)的碼表都存在著很多缺點。
首先,對于國產(chǎn)碼表來說,缺點主要有:
安裝相當(dāng)麻煩,根據(jù)使用者評價,一般安裝需要半小時以上,而國外的進口碼表則只要5分鐘即可安裝完畢,所以在設(shè)計該碼表時需要在這方面進行改進。
即時速度顯示混亂,其實這是計算精度不夠造成,速度高于25M/S以后(特別是30M/S以后)當(dāng)前速度就開始有波動,速度越快波動越大,這個問題還導(dǎo)致最高速度不可信,所以在設(shè)計時選擇的CPU必須是具有較高計算速度,且實時性能較好的,這里選用了AVR的MEGA64高性能8位單片機,此單片機資源豐富,最高速度可以達到16MIPS/S。
里程和速度的清零功能未能真正實現(xiàn),它不能像國外的SIGMA那樣清除指定的數(shù)據(jù),而是全部清零重置,連總里程和時鐘都清零了,所以這個設(shè)計也是非常的失敗的,需要改進。
時鐘不準(zhǔn),根據(jù)大部分使用者的反應(yīng),一個月快了差不多半小時。
某些國產(chǎn)表的輪徑設(shè)置最小只能適應(yīng)20*2.0cm的輪胎,也就是說折疊車基本用不上,這點也是需要改進的。
最后一點對于普通用戶來說都是比較反感的,說明書以及液晶上的顯示都是全英文的,而且液晶顯示簡單,說明書也只是一個小紙片而已,對自行車碼表沒點了解、沒有點鉆研精神還不一定能搞清里面的功能和用法。
再次,對于外國的碼表來說,觀點主要有以下:
除了以上的第六個缺點以外,其它缺點基本都是不存在的,但是一個比較致命的要害是價格高,一般的消費群體買不起。就拿比較出名的德國品牌sigma,最便宜的到70多,但是功能實在單一。而功能強大,性能又好的則貴至好幾百元,上千元不等,型號很多,價格范圍波動也很大。
最后,總結(jié)出不管是國內(nèi)還是國外碼表,都存在以下缺點:
顯示都是英文,對于一般的用戶使用比較的不方便,而且安裝較麻煩,初始化設(shè)置十分的繁瑣。
功能單一,一般便宜的碼表,往往只具備速度的記錄,行車總里程,行車總時間的記錄等等,并且通過液晶查看,不能有效的統(tǒng)一歷史數(shù)據(jù),或者只能查閱近幾天的歷史數(shù)據(jù)。
實現(xiàn)該系統(tǒng)所需要的知識如下:
單片機C語言編程;IIC,單總線等串行總線編程;模塊化程序設(shè)計;霍爾傳感器原理及實現(xiàn)方法;液晶顯示編程;打印機實現(xiàn)原理;protel畫原理圖以及畫PCB等。
核心元件,單片機,這里選擇ATMEL公司的8位中高端單片機Atmega64,選擇它的理由主要有以下幾點:
在存儲方面,使用的是ATMEL公司的AT24LC64 EEPROM存儲器,該存儲器走的是IIC(ATMEL公司開發(fā)的兩線串行總線)總線模式,雖然可以用一般的單片機模擬IIC總線,但是為了提高效率則必須選擇具有IIC總線接口的單片機,這個一般的51單片機已經(jīng)不能滿足,所以需考慮其它單片機。
打印機模塊,有下面的打印機實現(xiàn)原理(圖4.5)可知,我們必須選擇具有雙邊沿觸發(fā)的單片機,有這個功能的單片機ATMEL的AVR系列的中高端單片機能滿足,比如Atmega64及以上的單片機都具有這一功能。
霍爾傳感器,霍爾傳感器測速必須具有兩個內(nèi)置外設(shè),一個是外部下降沿中斷,一個是內(nèi)部定時器,Atmega64也能很好的滿足。
內(nèi)存空間要求:在做用戶界面以及制作貪吃蛇等游戲時都必須開很大的緩存,所以必須具備一定的內(nèi)存容量,初步估計需要2K內(nèi)存以上,而Atmega64擁有4K內(nèi)存,能夠完全滿足。
更重要的是,這款單片機價格便宜,只要20余元便能購置一片,所以選擇這個單片機時比較合適的。
下面將從硬件系統(tǒng),軟件系統(tǒng),各個模塊的實現(xiàn)原理,軟硬件調(diào)試這幾個方面來詳細的講述這一個系統(tǒng)。
2. 系統(tǒng)框架
2.1 系統(tǒng)框架結(jié)構(gòu)圖
系統(tǒng)框架結(jié)構(gòu)圖如圖2.1所示
圖2.1 系統(tǒng)框架圖
2.1.2 主控板
如上圖2.1所示,主控板為系統(tǒng)核心,主要包含單片機ATmega64(ATEML公司8位中高端單片機)以及,各個模塊接口。
2.1.3 打印機
如上圖2.1所示,打印機模塊需要一個驅(qū)動板以及一個打印機模塊,打印機為EPSON公司的M-150II微型打點打印機,一行可以打96個點。
2.1.4 存儲模塊
如上圖2.1所示,存儲模塊用的是ATMEL公司的AT24LC64 EEPROM(電可擦除編寫存儲器)存儲器,大小一共是8千字節(jié)。
2.1.5 溫度傳感器
如上圖2.1所示,溫度傳感器用的達拉斯公司的DS18B20單總線數(shù)字溫度傳感器,支持多個掛同一條總線,且測試溫度較準(zhǔn)。
評論