基于AVR单片机的自行车行车记录仪,软硬件协同
由以上工作原理可知,可以通过调节滑动变阻器R3,从而来调节触发电平。并且通过点亮灯LED1来指示信号的输出。
改良后的霍尔传感器信号输出波形如图3.5所示
![图3.5 霍尔传感器输出信号](http://editerupload.eepw.com.cn/fetch/20160912/303916_3_0.jpg)
图3.5 霍尔传感器输出信号
霍尔传感器信号输出如上图3.5可知,经过改良后的霍尔传感器能输出一个单片机能识别的方波,并且可以通过调节滑动变阻器R3来调节传感器的触发电平,同时通过指示灯LED1来指示信号的输出,最主要达到了增强信号的可处理性的目的。
3.3 打印机
打印机在打印的时候需要大电流提供,而单片机的IO管脚最多只能提供20mA的电流,所以打印机在打印之前需要有额外的驱动电路来提供打印需要的电流。打印机实物接口如下图3.6所示
![图3.6 打印机实物接口](http://editerupload.eepw.com.cn/fetch/20160912/303916_3_1.jpg)
图3.6 打印机实物接口
其中的信号接口如图3.7所示
![图 3.7 打印机信号接口](http://editerupload.eepw.com.cn/fetch/20160912/303916_3_2.jpg)
图 3.7 打印机信号接口
打印机电机驱动如下图 3.8所示,打印机主要信号包括,电机驱动信号:Motor(+),4个打印针驱动信号:(6,7,8,9)。
电机驱动电路如下图3.8所示
![图3.8 打印机电机驱动](http://editerupload.eepw.com.cn/fetch/20160912/303916_3_3.jpg)
图3.8 打印机电机驱动
打印机电机驱动如上图3.8所示,信号由AVR_PRINT_ON脚输入,高电平驱动,当产生高电平时,通过三极管Q1驱动打印机打印。
打印针的驱动如下图3.9所示
![图3.9 打印针驱动](http://editerupload.eepw.com.cn/fetch/20160912/303916_3_4.jpg)
图3.9 打印针驱动
AVR_PRINT_A为信号输入脚,低电平驱动,当该脚为低电平时,通过三极管Q3和Q4驱动打印针PRINT_A打印。
3.4 其它外围电路
除了以上涉及核心电路外,其它比如时间显示,数据存储,温度显示等,都分别需要不同的硬件模块提供支持。
3.4.1 时钟模块
这里时钟采用了达拉斯的DS1302时钟芯片,时钟模块电路图如图3.10所示
![图3.10 DS1302时钟模块](http://editerupload.eepw.com.cn/fetch/20160912/303916_3_5.jpg)
图3.10 DS1302时钟模块
该模块采用串行工作模式,通过SCLK(Signal Clock,信号时钟), I/O(Input And Output,输入输出信号),RST(Reset 复位信号)三线控制芯片工作。
3.4.2 数据储存模块
数据存储采用了ATMEL公司的24LC64 EEPROM(可编程电可擦除存储芯片),模块电路图如图3.11所示
![图3.11 EEPROM存储电路](http://editerupload.eepw.com.cn/fetch/20160912/303916_3_6.jpg)
图3.11 EEPROM存储电路
该模块采用的是标准的I2C总线模式,操作简单方便,总容量为64Kbit,8K字节,对于存储记录仪的参数是绰绰有余。
3.4.3 温度传感模块
温度传感器采用的是达拉斯的DS18B20,单总线模式,温度传感器模块电路图如图3.12所示
![图 3.12 温度传感器模块](http://editerupload.eepw.com.cn/fetch/20160912/303916_3_7.jpg)
图 3.12 温度传感器模块
温度传感器模块如上图3.1所示,DS18B20采用的是单总线模式,该数字温度传感器最大的的特点是,只需一个IO管脚便可以控制其工作,并且该传感器传感温度精确,最小可以精确到0.0625℃。
3.4.4 独立按键模块
独立按键模块是提供用户来控制和使用UI界面,原理图如下图3.13所示
![图3.13 独立按键电路](http://editerupload.eepw.com.cn/fetch/20160912/303916_3_8.jpg)
图3.13 独立按键电路
独立按键电路如上图3.13所示,每个按键按下时都会产生一个中断,在设计嵌入式软件时可以通过在按键中断内判断按键值,并且可以通过定时器去除抖动,这种软件设计可以避免软件延时去抖,从而提高了整套软件的运行效率。
4. 软件系统设计
本套软件主要实现自行车行车记录的智能控制,其实现的功能主要有以下几点:
显示平均行车速度,实时行车速度,时间和温度
记录行车速度、行车总里程、单次行车里程
记录总行车时间,单次行车时间
轮胎圆周设定,总里程初值设定
自动关机,节电保护
行车统计信息打印
贪吃蛇小游戏
时间显示和时间设置
4.1 软件总体框架
软件总体流程图如下图4.1所示
![图4.1 嵌入式软件整体流程图](http://editerupload.eepw.com.cn/fetch/20160912/303916_3_9.jpg)
![图4.1 嵌入式软件整体流程图](http://editerupload.eepw.com.cn/fetch/20160912/303916_3_10.jpg)
图4.1 嵌入式软件整体流程图
4.2 软件说明
该嵌入式软件设计的思想主要是模块化的程序设计思想,其中需要驱动的模块主要有以下几点:
DS1302时钟模块驱动
DS18B20数字温度传感器模块驱动
24LC64 EEPROM存储模块驱动
12864液晶显示模块驱动
霍尔传感器计速模块驱动
EPSON M-150II微型打点打印机驱动
软件主要包含三层结构,分别为应用层,封装层以及驱动层。其软件层次结构如下图4.2所示
![图 4.2 嵌入式软件层次结构](http://editerupload.eepw.com.cn/fetch/20160912/303916_3_11.jpg)
![](https://webstorage.eepw.com.cn/images/2014/m/wx.png)
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码