用单片机实现的脉冲编码传感器
 随着社会的发展,出租车成为人们生活中非常方便且较普遍的交通工具,但出租车计价器却相对较为落后。在过去,出租车采用机械式计价器,用齿轮比的方式来计算出租车所跑的里程数,并由里程数来换算车费。但是机械齿轮体积较大,计算不是很准确,而且容易磨损。后来又采用了传感器方式,利用传感器接收车的跑动信息,从而计算里程数和车费。但此方法通常使干扰信号也能产生计数脉冲,所以也不完善。笔者引用单片机技术,使用编码和解码信息传递方式来完成计价器计数脉冲的形成。单片机可以很精确的检测到传感器信号,这样计价就会非常准确。完成此装置所需器件简单,成本非常低,技术上也容易实现。
<P><B>       1 系统原理</B><BR>    <BR>       系统框图如图1所示,本文主要介绍虚线框内模块的设计。出租车驱动轮转数与转轴转数的传动比是一定的,而转轴转动时带动一小磁体转动,其传动比也是一定的,小磁体每转动一周就和磁感应传感器正对一次,磁感应传感器就会产生一个大约20 ms的低脉冲,可以通过计算磁感应传感器产生的低脉冲数来计算出租车跑的里程数及相应的车费。</P>
<P align=center><IMG style="WIDTH: 314px; HEIGHT: 175px" height=175 alt=系统框图 hspace=0 src="http://www.dzdqw.com/jishu/UploadFiles_9637/200610/20061010225416259.jpg" width=314 border=0></P>
<P>       编码器的单片机通过一个I/0口来检测磁感应传感器信号,当确定为传感器产生的信号时,就通过另一个I/O口向解码器的单片机发送一组编码,而解码器的单片机则首先判断当前准备接收的数据是编码器发送的编码还是解码写入器发送的解码。当判断是解码写入器发送的解码时,解码器的单片机接收此解码,并利用12c总线协议将解码保存到E2PROM中去;当判断是编码器发送的编码时,解码器的单片机先接收此编码,然后读出自己E2PROM中的解码,将其与接收到的编码相比较,如果相同则解码器单片机通过一个I/0口向计价装置发出计价脉冲,否则不发出计价脉冲。注意:这里每一辆出租车计价器的编码和解码都是不同的,这样有利于出租车的管理以及防止计价器的盗用,解码器中的解码是使用解码写入器写入其E2PRoM中去的。每辆出租车计价器都具有一个编码器和一个解码器,而所有的出租车计价器都共用一个解码写人器。也就是说,在计价器卖出之前,用同一个解码写入器为所有的计价器的解码器写入不同的初始解码。写入初始解码以后,计价器就不再需要解码写入器了,除非此计价器坏掉需要重新更换解码器,此时需再用解码写入器给新的解码器写入初始解码。硬件电路设计图如图2和图3所示。</P>
<P align=center><IMG style="WIDTH: 313px; HEIGHT: 448px" height=448 alt=解码器和编码器电路图 hspace=0 src="http://www.dzdqw.com/jishu/UploadFiles_9637/200610/20061010225416792.jpg" width=313 border=0></P>
<P><BR><B>       2 系统功能的实现<BR><BR>       2.1 传感器</B><BR>    <BR>        本系统的编码器部分利用传感器来接收出租车的跑动信号,这里采用的传感器为磁感应传感器,当其与车辆转轴带动的小磁体正对时,传感器的输出引脚便会产生一个约20ms的低脉冲。<BR><B><BR>       2.2编码器</B><BR>    <BR>       编码器部分使用的单片机为PIC12C508A,利用PIC12C508A芯片的第4个引脚GP3来检测传感器的输出信号。当检测到确定的传感器信号后,单片机将按一定的时序在其第7个引脚GP0连续发送5个十进制数据(即编码形式为5位十进制数)给解码器,每个数据都是按脉冲方式发送出去的。十进制数是多少,就发送几个低脉冲,发送一个十进制数据所用的时间要保证在255μs以内。其程序流程图如图4所示。</P>
<P align=center><IMG style="WIDTH: 209px; HEIGHT: 314px" height=314 alt=编码器程序流程图 hspace=0 src="http://www.dzdqw.com/jishu/UploadFiles_9637/200610/20061010225416718.jpg" width=209 border=0></P>
<P><B>       2.3 解码写入器</B><BR>    <BR>       解码写入器部分使用的单片机为AT89C51,解码写入器的功能与编码器的功能类似。由于发送的解码要能随时改变,这里可以外接5个小数字键盘,解码写入器要发送的解码可以从5个小数字键盘上获得。为了和编码器发送的编码区别开来,解码写入器需要先发送一个区别字符,使解码器能够识别出当前接收的是编码器还是解码写入器发出的数据。区别字符后面紧跟着的是解码,所有这些数据的发送方式与编码器编码的发送方式完全相同,由AT89C51单片机的P3.4口输出,其程序流程图如图5所示。</P>
<P align=center><IMG style="WIDTH: 218px; HEIGHT: 314px" height=314 alt=解码写入器的程序框图 hspace=0 src="http://www.dzdqw.com/jishu/UploadFiles_9637/200610/20061010225416217.jpg" width=218 border=0></P>
相关资讯