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