微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于AVR单片机的自行车行车记录仪,软硬件协同

基于AVR单片机的自行车行车记录仪,软硬件协同

时间:09-12 来源:互联网 点击:

条,位于上上层菜单(即一级菜单)的第一条。其它菜单的结构和这个一样。

由以上分析可知,菜单的结构很明显的构成了一个标准的二叉树,并且其父子节点有很明显的算术关系,其关系如下。

父节点 = 当前节点%10;(%操作为求余操作)

子节点 = 当前节点*10 + 1;

如果没有父节点或者子节点,则分别把这两个节点设置成空节点。

有了这个方法,要实现一个菜单系统便是一个很简单的事情了,这套菜单系统还能实现翻页等复杂操作,并且增加或删除节点十分方便I,只需修改相应节点的编号就可以实现。

菜单与实时显示界面的分离:在这套菜单系统中,用户可以通过按返回键激活菜单或者通过返回键返回实时界面,其实现原理也非常简单,只需设置一个标志位来标识是否激活菜单,从而达到实时界面与菜单的分离。

4.3.3 测速实现原理

测速的核心部件是霍尔元件,利用霍尔元件,再进行一些改良,如上硬件设计中提到的图3.4所示。从而使传感器在周期性的磁场作用下产生一个固定周期的方波。

那么,如何利用输出的一个方波来实现测速的目的呢?这里利用了单片机的两个内置外设:

外部IO中断

8位定时器T2

当出现方波的下降沿时,单片机可以利用外部中断采集到这个下降沿,并跳转到中断服务入口,在中断服务中可以通过打开定时器来实现记录每个方波或者一定方波个数n的时间t。

这里假设轮胎的圆周长是len厘米。则由以上数据可知如下公式。

速度 V = n*len/t (cm/s),其中len的单位为厘米,t的单位为秒。

4.3.4 微型打印机原理

在这里使用的打印机是EPSON公司的M-150II微型打点打印机,其总共包含4个打印针,每个打印针分别可以打印24个点,其在打印纸上的分布点如下图4.4所示

图4.4 打印机点在打印纸上的分布

由以上硬件设计中的图3.7所示知,控制打印机运转的主要有4种信号:

复位控制信号Reset Decetor

时序控制信号 Timing Decteor

电机运转控制信号 Motor

四个打印针控制信号 Print Solenoid

打印机点在打印纸上的分布如上图4.4所示,当打印机从左往右运动时,分别产生96个Timing Dector信号,单片机以这个信号为基准进行打点控制,每一个信号分别控制一个点,总共96个信号对应96个点,打打印完一行后,打印机需通过点击回到起始原点,当回到原点时,打印机通过Reset Decotor信号输出低电平开始新的一行的打印。

而打印机在打印的时候,每个打印针电路上的瞬间电流都是很大的,所以必须要通过驱动电路实现,其驱动电路已经在上面硬件电路设计中的打印机模块讲明了。

Timing Dector信号如下图4.5所示

图4.5 打印机Timing Dector信号

如上图4.5所示,打印机输出的为正弦波信号,通过驱动电路把信号转换成方波,此时的波形频率为需要的波形频率的1/2,这里可以通过两种方法进行改良:一种是硬件进行分频,另一种是利用单片机的双边沿促发功能。

第一种方法比较麻烦,需要拖入较大硬件,而第二种方法只要所选的单片机具有双边沿促发功能便可以很好的解决问题。

而这里选用的Atmega64总共有8个外部中断,分别是INT0~INT7,庆幸的是,其中有4个具有双边沿促发功能,分别是INT4~INT7,这里选用的是INT6。

5. 软硬件系统调试

5.1 硬件调试

在完成硬件PCB的加工之后,首先第一步便是进行硬件焊接以及调试,在调试过程中碰到过许多问题,并且经过分析和实践意义解决,接下去分析在硬件调试过程中碰到的各类问题与解决方法。

遇到的问题:

主控板电源,电流不够,当初设计的时候主要是为了降压在主控板的电源之后加了一个二极管来限制电压,结果是焊接了一个IN4148的小电流二极管,导致液晶很暗,并且不能调处液晶对比度,电源模块的电路图如图5.1所示

图5.1 主控板电源模块

解决方法是,使用大电流的二极管,SS26,很好的解决了这一问题。

霍尔传感器,感应灵敏度太低,在设计电路的时候以为霍尔元件在周期性磁场的作用下能直接输出单片机能接收的方波,但是实际测试并非如此,单用霍尔元件直接接单片机,灵敏度很低,要固定也不方便,原设计图霍尔传感器接口如图5.2所示

图5.2 霍尔元件接口

解决方法是,使用运算放大器对信号进行放大,并使用滑动变阻器来调节灵敏度,使之变成一个灵敏度可调的并输出方波的可调霍尔传感器,改良的电路如上硬件设计中的图3.4所示。

打印机子控板,布线太细,打印机的打印针在打印的瞬间,以及打印机的点击在运转的时候都是需要提供大电流的,能达到几百mA,瞬间甚至几个安培,而在布线的时候,打印针的地方只用了2.54mm的细线,在实际使用的时候只能打印16x16的大字,当打印压缩的字体时便变成很模糊的字,主要原因

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top