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

圖2.1 系統框架圖
2.1.2 主控板
如上圖2.1所示,主控板為系統核心,主要包含單片機ATmega64(ATEML公司8位中高端單片機)以及,各個(gè)模塊接口。
2.1.3 打印機
如上圖2.1所示,打印機模塊需要一個(gè)驅動(dòng)板以及一個(gè)打印機模塊,打印機為EPSON公司的M-150II微型打點(diǎn)打印機,一行可以打96個(gè)點(diǎn)。
2.1.4 存儲模塊
如上圖2.1所示,存儲模塊用的是ATMEL公司的AT24LC64 EEPROM(電可擦除編寫(xiě)存儲器)存儲器,大小一共是8千字節。
2.1.5 溫度傳感器
如上圖2.1所示,溫度傳感器用的達拉斯公司的DS18B20單總線(xiàn)數字溫度傳感器,支持多個(gè)掛同一條總線(xiàn),且測試溫度較準。
2.1.6 霍爾傳感器
如上圖2.1所示,霍爾傳感器使用的是A3144先行霍爾元件,在下面的第三章,硬件設計中將看到對霍爾傳感器的改良。
2.1.7 液晶顯示器
如上圖2.1所示,液晶顯示器使用的STN7920控制器的12864液晶顯示器,該液晶寬128個(gè)點(diǎn),高64個(gè)點(diǎn),故名12864,并且自帶中文字庫,可顯示區域大。
2.2 解決的主要內容
如何利用好強大的MEGA64單片機資源而不浪費,以及充分理解該單片機相關(guān)的控制單元內在的物理邏輯,由此才能深入的理解單片機的運行以及啟動(dòng)過(guò)程,并發(fā)現問(wèn)題時(shí)能得到及時(shí)解決。
行車(chē)記錄儀的硬件設計— 記錄儀總共涉及到溫度,時(shí)間,電源,液晶,打印機等多個(gè)模塊組成,在設計硬件時(shí)需要充分考慮到各種干擾,美觀(guān)度等因素。
多層菜單設計— 多層菜單是一個(gè)比較復雜的邏輯,如果設計不好會(huì )導致整個(gè)工程的混亂,使代碼變得難于理解,甚至不能繼續接下去的工作,所以多層菜單設計需要一個(gè)較好的算法來(lái)實(shí)現它。
各種總線(xiàn)協(xié)議驅動(dòng)— 單片機內置IIC,SPI等總線(xiàn)協(xié)議,在溫度獲取,flash存儲中等都需要用到這些總線(xiàn),所以這些總線(xiàn)協(xié)議的驅動(dòng)也是比較關(guān)鍵的。
打印機驅動(dòng)電路— 在本設計中,用到了EPSON的M-150II打印機,其工作電流大,需要專(zhuān)門(mén)的硬件驅動(dòng)電路,在設計這一塊電路時(shí),必須做好和主控板(記錄儀)的接口,以方便用戶(hù)進(jìn)行數據導出和統計。
評論