×

关于AVR单片机自行车行车记录仪的分析

消耗积分:1 | 格式:rar | 大小:0.3 MB | 2017-10-16

分享资料个

【摘要】自行车行车记录仪是集计算机技术、电子技术为一体的机电一体化高科技产品,具有精确度高,使用方便等优点。本项目将从行车记录仪的功能,硬件电路设计,软件设计,各项功能实现原理等方面来论述这一系统。
  自行车行车记录仪包括主控板,打印机驱动板,霍尔传感器,12864液晶显示器,EPSON微型打点打印机这五部分。该记录仪能记录实时的行车速度,行车总里程,单次行车里程,以及历史最高行车速度,具备外部环境温度显示,总里程设置,行车信息打印等功能,是面向自行车爱好者的一个高精度,功能强大的行车记录仪。
  功能上,在设计行车记录仪时,以Atmega64单片机为核心,AT24LC64 EEPROM,DS1302,12864液晶显示器,霍尔传感器等构成外围电路,行车记录仪的核心部件是霍尔传感器,在下面讲述原理的时候会进行详细的描述。显示部分由12864液晶来完成,该液晶控制简单,显示区域大,低功耗,适合电池供电,可以通过设计菜单,从而来实现记录仪强大的功能。打印部分由EPSON M-150II微型打点打印机来完成,用户可以通过打印机记录行车的统计信息,以及最近一次的行车信息,各种里程信息以及时速,时间等信息,用户可以通过保管打印的信息,对自己的行车生涯进行统计。
  系统软件设计包含用户UI界面,以及各个外围电路的驱动两大部分。使用的编译器是AVR官方推荐的ICCAVR,其中外围的驱动部分主要包括: DS1302时钟芯片驱动;DS18B20温度传感器驱动;24LC64 EEPROM驱动;EPSON M-150II微型打点打印机驱动;12864液晶驱动
  硬件电路制作使用Protel DXP设计制做PCB板。分主控板和打印机驱动板焊接调试,进行性能和功能测试。
  本系统硬件部分结构简单,软件部分使用自己设计UI界面,使用方便,中文显示,可操作性强,具有比较好的市场前景。
  1. 引言
  自行车行车记录仪(以下简称码表)在国内外已经有了广泛的应用,但是不管是国外的还是国产的码表都存在着很多缺点。
  首先,对于国产码表来说,缺点主要有:
  安装相当麻烦,根据使用者评价,一般安装需要半小时以上,而国外的进口码表则只要5分钟即可安装完毕,所以在设计该码表时需要在这方面进行改进。
  即时速度显示混乱,其实这是计算精度不够造成,速度高于25M/S以后(特别是30M/S以后)当前速度就开始有波动,速度越快波动越大,这个问题还导致最高速度不可信,所以在设计时选择的CPU必须是具有较高计算速度,且实时性能较好的,这里选用了AVR的MEGA64高性能8位单片机,此单片机资源丰富,最高速度可以达到16MIPS/S。
  里程和速度的清零功能未能真正实现,它不能像国外的SIGMA那样清除指定的数据,而是全部清零重置,连总里程和时钟都清零了,所以这个设计也是非常的失败的,需要改进。
  时钟不准,根据大部分使用者的反应,一个月快了差不多半小时。
  某些国产表的轮径设置最小只能适应20*2.0cm的轮胎,也就是说折叠车基本用不上,这点也是需要改进的。
  最后一点对于普通用户来说都是比较反感的,说明书以及液晶上的显示都是全英文的,而且液晶显示简单,说明书也只是一个小纸片而已,对自行车码表没点了解、没有点钻研精神还不一定能搞清里面的功能和用法。
  再次,对于外国的码表来说,观点主要有以下:
  除了以上的第六个缺点以外,其它缺点基本都是不存在的,但是一个比较致命的要害是价格高,一般的消费群体买不起。就拿比较出名的德国品牌sigma,最便宜的到70多,但是功能实在单一。而功能强大,性能又好的则贵至好几百元,上千元不等,型号很多,价格范围波动也很大。
  最后,总结出不管是国内还是国外码表,都存在以下缺点:
  显示都是英文,对于一般的用户使用比较的不方便,而且安装较麻烦,初始化设置十分的繁琐。
  功能单一,一般便宜的码表,往往只具备速度的记录,行车总里程,行车总时间的记录等等,并且通过液晶查看,不能有效的统一历史数据,或者只能查阅近几天的历史数据。
  实现该系统所需要的知识如下:
  单片机C语言编程;IIC,单总线等串行总线编程;模块化程序设计;霍尔传感器原理及实现方法;液晶显示编程;打印机实现原理;protel画原理图以及画PCB等。
  核心元件,单片机,这里选择ATMEL公司的8位中高端单片机Atmega64,选择它的理由主要有以下几点:
  在存储方面,使用的是ATMEL公司的AT24LC64 EEPROM存储器,该存储器走的是IIC(ATMEL公司开发的两线串行总线)总线模式,虽然可以用一般的单片机模拟IIC总线,但是为了提高效率则必须选择具有IIC总线接口的单片机,这个一般的51单片机已经不能满足,所以需考虑其它单片机。
  打印机模块,有下面的打印机实现原理(图4.5)可知,我们必须选择具有双边沿触发的单片机,有这个功能的单片机ATMEL的AVR系列的中高端单片机能满足,比如Atmega64及以上的单片机都具有这一功能。
  霍尔传感器,霍尔传感器测速必须具有两个内置外设,一个是外部下降沿中断,一个是内部定时器,Atmega64也能很好的满足。
  内存空间要求:在做用户界面以及制作贪吃蛇等游戏时都必须开很大的缓存,所以必须具备一定的内存容量,初步估计需要2K内存以上,而Atmega64拥有4K内存,能够完全满足。
  更重要的是,这款单片机价格便宜,只要20余元便能购置一片,所以选择这个单片机时比较合适的。
  下面将从硬件系统,软件系统,各个模块的实现原理,软硬件调试这几个方面来详细的讲述这一个系统。
  2. 系统框架
  2.1 系统框架结构图
  系统框架结构图如图2.1所示
  关于AVR单片机自行车行车记录仪的分析
  图2.1 系统框架图
  2.1.2 主控板
  如上图2.1所示,主控板为系统核心,主要包含单片机ATmega64(ATEML公司8位中高端单片机)以及,各个模块接口。
  2.1.3 打印机
  如上图2.1所示,打印机模块需要一个驱动板以及一个打印机模块,打印机为EPSON公司的M-150II微型打点打印机,一行可以打96个点。
  2.1.4 存储模块
  如上图2.1所示,存储模块用的是ATMEL公司的AT24LC64 EEPROM(电可擦除编写存储器)存储器,大小一共是8千字节。
  2.1.5 温度传感器
  如上图2.1所示,温度传感器用的达拉斯公司的DS18B20单总线数字温度传感器,支持多个挂同一条总线,且测试温度较准。
  2.1.6 霍尔传感器
  如上图2.1所示,霍尔传感器使用的是A3144先行霍尔元件,在下面的第三章,硬件设计中将看到对霍尔传感器的改良。
  2.1.7 液晶显示器
  如上图2.1所示,液晶显示器使用的STN7920控制器的12864液晶显示器,该液晶宽128个点,高64个点,故名12864,并且自带中文字库,可显示区域大。
  2.2 解决的主要内容
  如何利用好强大的MEGA64单片机资源而不浪费,以及充分理解该单片机相关的控制单元内在的物理逻辑,由此才能深入的理解单片机的运行以及启动过程,并发现问题时能得到及时解决。
  行车记录仪的硬件设计— 记录仪总共涉及到温度,时间,电源,液晶,打印机等多个模块组成,在设计硬件时需要充分考虑到各种干扰,美观度等因素。
  多层菜单设计— 多层菜单是一个比较复杂的逻辑,如果设计不好会导致整个工程的混乱,使代码变得难于理解,甚至不能继续接下去的工作,所以多层菜单设计需要一个较好的算法来实现它。
  各种总线协议驱动— 单片机内置IIC,SPI等总线协议,在温度获取,flash存储中等都需要用到这些总线,所以这些总线协议的驱动也是比较关键的。
  打印机驱动电路— 在本设计中,用到了EPSON的M-150II打印机,其工作电流大,需要专门的硬件驱动电路,在设计这一块电路时,必须做好和主控板(记录仪)的接口,以方便用户进行数据导出和统计。
  2.3 实现的主要功能
  显示实时速度和平均速度
  显示总里程和单次行车里程
  显示时间和温度
  节电保护
  行车信息存储
  用户菜单UI界面
  时间修改
  轮径设置,里程设置,等一些参数的设置
  打印行车记录统计信息
  贪吃蛇小游戏
  3. 硬件系统设计
  3.1 主控板
  主控板主要包括:CPU,Atmega64;时钟芯片,DS1302;存储芯片,24LC64;JTAG在线仿真接口;中断独立按键模块;LED调试电路;12864液晶显示接口;DS18B20温度传感器接口;霍尔传感器接口;打印机驱动板接口。
  对单片机的选择主要有以下要求:
  在存储方面,使用的是ATMEL公司的AT24LC64 EEPROM存储器,该小存储器走的是IIC总线模式,虽然可以用一般的单片机模拟IIC总线,但是为了提高效率则必须选择具有IIC总线接口的单片机,这个一般的51单片机已经不能满足,所以需考虑其它单片机。
  时钟模块,用的是达拉斯的DS1302芯片,只需普通的端口操作就能完成。
  打印机模块,有下面的打印机实现原理可知,我们必须选择具有双边沿触发的单片机,有这个功能的单片机ATMEL的AVR系列的中高端单片机能满足,比如Atmega64及以上的单片机都具有这一功能。
  霍尔传感器,霍尔传感器测速必须具有两个内置外设,一个是外部下降沿中断,一个是内部定时器。
  内存空间要求:在做用户界面以及制作贪吃蛇等游戏时都必须开很大的缓存,所以必须具备一定的内存容量,初步估计需要2K内存以上。
  由以上几点分析,这里我选择了ATMEL公司的AVR系列单片机Atmega64,该款单片机价格便宜,功能强大,能满足上面几点的全部要求。
  结论:最终选择的单片机为ATMEL公司的Atmega64八位高性能单片机。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(1)
发评论
jf_04634403 2022-03-23
0 回复 举报
充不进去电 收起回复

下载排行榜

全部1条评论

快来发表一下你的评论吧 !