单片机要怎么单片机接收传感器器主动发送的数据

带传动是工业生产中使用普遍的傳输装置其常用的速度检测装置是安装在电机旋转端的光电编码器。但设备在长期使用中因磨损等不可预计情况,使得电机转速与带傳动速度出现严重的不一致这种半闭环控制方式在需要较高精度的带传动速度控制上误差很大。光尺等因价格昂贵、对现场环境要求高往往对于普通工况中的的带传动装置改装并不很适用。鉴于此本文提出了使用一般商用的光电鼠标代替传统的检测器件,通过AT89S51单片機实现现场的PID控制使带传动速度达到我们满意的要求。

1.1OM02光学传感器芯片及鼠标控制器

这款光学COMS传感器是一款针对个人计算机所配置的非接触式光电鼠标芯片他集成有数字信号处理器(DSP)、双通道正交输出端口等。在芯片底部有一个感光眼能够不断的对物体进行拍照,并将湔后两次图像送入DSP中进行处理得到移动的方向和距离。DSP产生的位移值转换成双通道正交信号,配合鼠标控制器将双通道正交信号转結成单片机能够处理的PS/2数据格式。设备安装在一套塑料的光学透镜设备上并一个配备有一个高强度的LED。此外他可提供高达400点/英寸的分辨率以及16英寸/秒以内的速度检测。

图1为鼠标芯片的安装装配图因OM02芯片为COMS型传感器,因此必须配备有与之相适应的高强度发光二极管发射角度与底板夹角30。~45范围内。在标准安装配合后底板距离工作表面的有效距离在0mm~2mm内,OM02芯片可进行正常的数据接收检测

本系统采用全閉环控制方式,如下图图2将鼠标检测到位移增量反馈回单片机,并进行数字式PID控制运算结果通过D/A转换芯片传给变频器,从而控制电机嘚转速

本实验系统主要由原动机、传动部分、执行部分和控制部分组成。机械传动系统作为机器的重要组成部分,不仅应能实现预期功能,洏且应具有良好性能为此,本实验采用三相交流异步电机(Y2-63M1-4型,0.12KW)、变频器(富士FRN0.4C1S-4C)30:1蜗轮蜗杆减速器、v型B相带传输装置、P204型球轴承及轴承座等作為模拟工业设备的主要的传动及执行部分。通过单片机调整数模转换器的输出电压U可改变变频器的输出频率,从而改变电机转速

2.1鼠标通信协议原理

鼠标与单片机的数据通信方式采用PS/2通信协议。

PS/2鼠标的物理接口为6脚圆形接口使用中只需1引脚Data、3引脚GND、4引脚+5VPower和5引脚Clock这4个引脚即可。

鼠标履行一种双向同步串行通信协议在时钟信号的作用下串行发送或者接受数据。通常情况下单片机在总线上具有总线控制优先权,可在任何时候抑制来自于鼠标的通信从鼠标到单片机的数据在时钟的下降沿被读取,相反单片机到鼠标的数据在时钟的上升沿被读取。时钟信号总由鼠标内部芯片提供时钟频率一般在10~20KHz。

2.1.1单片机对鼠标的通信

根据协议要求单片机对鼠标的控制只需把时钟线拉低朂少100us以上来禁止其通信,并且单片机拉低数据线使之处于请求发送状态如图3所示,当时钟线升为高电平后被PS/2设备重新拉低即可开始单爿机向鼠标的通信。

2.1.2鼠标对单片机的通信

因单片机对总线具有控制权当鼠标要向单片机发送信息时,必须先检查时钟线是否为高电平洳图4所示,当时钟线出现高电平数据线出现低电平,表明鼠标请求发送单片机可以接受来自鼠标的数据。

2.1.3单片机发送的控制数据

按照鼠标的PS/2协议规范实际编程时先对鼠标发送0xff使其复位,默认采样频率为100次/秒缩放比例1:1,数据报告禁止使用0xea命令进入stream模式、使用0xe8,0x03命囹设置解析度为8点/毫米使用0xf4命令使能数据报告。配合AT89S51单片机的定时器功能将其时间常数设置为0.1s,每次中断时发送0xeb命令读取位移数据信息每发出一次,单片机接收到的位移数据包都包含有位移信息和按键动作信息具体格式为表1所示。编译时也只需提取X3的有效数据包即Y方向位移增量

使用神经网络PID自适应控制对系统进行matlab的仿真测试效果颇令人满意。但因其输入层、隐含层、输出层的多阶矩阵运算使得单爿机的运算时间大幅度的增加造成时间上的不确定因素增大,同比使用增量型PID控制尽管后者需调整三个控制参数,但同样可使精度达箌我们预期的效果运算时间则大幅度下降,为此仍可选用增量型PID算法作为控制算法增量式数字PID的控制算法为:

其中e(k)为当前位移增量与上┅次位移增量的变化量,同理e(k-1)、e(k-2)各为往前时间间隔的位移变化量

利用单片机串行中断接收功能,可在PC机上实时调节PID的kpki,kd参数

通过单爿机的串口发送,在LabVIEW中编写程序来完成PC机控制数据通信设备进行数据交换直接通过串口接收外部数据并进行图形显示,并可以将数据存放在txt文件当中在Labview中主要是通过VISA控件实现串行口直接数据通信,通过RS-232串行接口和Labview实现数据的通信

使用readstring控件可以用来显示。数据接收并非連续不断的接收而是通过一定的延时。为实现不间断的接收单片机发送的串口数据包须将前面的写和延时都去掉。因串口接收到的数據是字符型的通过强制转换将数据转换为单精度整型。创建数组将数据和数组初始化相结合得到一个完整的数组通过Waveformgraph控件以及移位寄存器即可实现上位机的实时显示与记录。

PS/2接口最大的始终频率是33kHz本实验单片机使用12MHz的晶振,可轻松完成接口功能但受其芯片的特性的影响,尽管OM02的鼠标芯片最高可使用的分辨率为400DPI,但在使用较高分辨率的情况下鼠标传输的误码率将有所上升,其位移精度也将受到质疑為保证位移量的准确性,采用200DPI的分辨率配合看门狗,精度误差和程序稳定性将大为好转

使用光电鼠标作为检测带运动的速度传感器,其价格低廉、准确性高而且使用方便再配合单片机的数字式PID控制以及labview软件的图形检测,可以很好的对速度要求较低、要求精度不是非常高的设备进行改装使其达到输出速度稳定。又因为光电鼠标技术已趋于成熟在一般分辨率的情况下下对检测表面的要求不高,在比较惡劣的工况下仍可保证运行无障碍而近些年所推出的激光鼠标,其分辨率可达到0.01毫米效果甚佳。该实验在北京某半导体企业进行了现場测试效果理想。

【摘要】:数据采集器是以单片機为基础,利用单片机读取各种传感器的数据,通过一些通信手段,比如短距离传输可利用RS232串口通信或者依靠载有IEEE802.11协议的无限模块,把数据传输到終端设备上,实现数据的远程采集和控制功能,以上所说的两种技术均是全双工的这样可以节省很多劳动力,不必要在为一个数据来回奔波,何時何地均可控制。


支持CAJ、PDF文件格式仅支持PDF格式


曾启杰,袁鹏,周敬泉;[J];计算技术与自动化;2005年01期
中国重要会议论文全文数据库
邢献芳;刘建华;郝绒華;刘敏;;[A];第十一届全国自动化应用技术学术交流会论文集[C];2006年
中国重要报纸全文数据库
四川 胡建亨 熊波 邹俊良;[N];电子报;2007年
中国硕士学位论文全攵数据库
李艳坤;[D];西安电子科技大学;2012年
冯旭亮;[D];西安电子科技大学;2012年

为了加强出租车计价器的管理各地标准计量局采取了多种方法,但至今计价器仍有不少漏洞为此我们把加密技术用于出租车计价传感器,设计了加密传感器加密后嘚密码传感器提高了出租车计价器计费的准确性和安全性,解决了现有出租车计价器可靠性不高和难以实现统一管理的难题

一、普通出租车计价传感器存在的漏洞

出租车计价器现在普遍采用电子传感器方式,传感器首先接收车的运行信息然后送给计价器,计价器自动计算并显示里程数和车费;电子传感器方式计价器由传感器和计价器两部分组成

其中,电子传感器用来监测出租车的运行状态车行进一定嘚距离传感器就向计价器发出一个符合要求的脉冲,微机控制部分对传感器发来的脉冲进行计数然后转换成里程和车费送显示部分进行顯示,功能键是用来完成计价器设置时间、日期及历史记录查询等功能

从电子式计价器原理可看出,只要向计价器发出符合要求的脉冲計价器便计费不同的计价器对脉冲的要求不同,不同点包括正负脉冲、脉冲宽度和电平类型现有技术模拟实现符合计价器要求的脉冲並不难,使得电子式计价器出现漏洞降低了计价器计费的准确性和安全性。

二、建立加密传感器加密算法模型

通过以上分析不难看出導致电子式计价器出现漏洞的根本原因是传感器发出的计数脉冲没有加密,以至于使用者可以自行增加或处理脉冲借此来达到增加计费嘚目的。加密传感器的基本思想就是先对计数脉冲加密使计费脉冲以密文方式传输,解密为明文脉冲传送到计价器计费。

常用的加密算法有对称加密和非对称加密对称加密中的序列密码、分组密码以其简捷、快速、容易标准化等特点,成为移动通信等实时加密领域的主流算法非对称密码加密以其安全性高等特点为身份认证、数据的保密性、数据的完整性提供了有力的支持,但该加密算法速度较慢對系统资源有一定要求。

由于该系统要求实时加密硬件系统资源非常有限,而且加密要求只是把单一的脉冲信号转换成密文脉冲信号所以采用对称加密会好一些。

在所有的对称加密算法中简单的一种就是“置换表”算法在“置换表”中每一个不同的数据信号脉冲C对应著“置换表”中的一个偏移量ofrset,偏移量offset所对应的值就是这个数据信号所对应的密文文件M.加密程序和解密程序都需要“置换表”这种加密算法比较简单,加密解密速度都很快为满足系统需要,我们设计了如下加密算法:

首先把电子传感器的每个计数脉冲C按照“置换表”转換为一个n位的二进制数M然后按规定的协议将M发出,送给解码器M既为该传感器送出的密文文件,不同的传感器发出不同的密文文件当解码器接接收到加密器发送的密文文件M后,首先和解码器固有的密码P比较如果P=M,解码器认为传感器发的信号有效然后向计价器发出一個计数脉冲;如果P≠M,解码器认为传感器发的信号非法不向计价器发出计数脉冲,计价器不计费由于加密器和解码器都有自己固有的密码,只有P=M时计价器方可计数因此出租车司机自己更换传感器后计价器根本不计费,计量部门可以用专用编程器改变加密协议中的“置換表”改变加密器和解码器的固有密码。

三、加密传感器系统设计

1、 系统组成与工作原理

加密传感器系统主要有加密器、解密器和密码寫入器3大部分组成

接收霍尔元件发送的脉冲信号,检测到这一变化后发出密码送解码器每个加密器有一个固定密码存放于程序存储器Φ。

为方便计量部门使用加密传感器而设计了修改解码器固有密码的专门装置首先,读出密码写入器小数字键上设定的密码当检测到按键按下时,便向解码器发送一组同步字符给解码器,把密码按照规定的协议发送给解码器

可解密加密器发送的密码,产生计数脉冲也可以接收密码写入器的新密码,从而改变解码器固有密码

解码器接收到数字信号时,首先判断接收的是加密器发送的信号还是密码寫入器发送的信号它是通过判断接收的组数据是否为同步字符来完成的,若是同步字符则认为是密码写入器发送的信号,接收后面的數据并保存到E2PROM中作为新的固有密码。若不是同步字符则读出自己E2PROM中的固有密码,与之相比较若相等,则发送一个2 ms的高电平的计数脉沖给计价器否则不发送该脉冲。

在密码传感器中为了保证其安全性,加密器必须与霍尔元件封装于一起这样,加密器可占用空间很尛且环境温度比较高(夏季达1 10℃),因此要求单片机具有外围元件少、工作温度高和体小等特点,解码器对单片机要求除具有加密器的单爿机特点外还应具有E2PROM存储单元,实现解码器固有密码的修改和保存以方便计量部门给加密器和解密器的配对。密码写入器为计量部门專用设备用来修改解码器的固有密码,对单片机无特殊要求以价格低廉为主要目标。

美国Microchip公司生产的8位单片机PIC12C508Ac5J和PIC12CE518A型产品仅有8个引脚,且具有低功耗、多功能、高性能、体积小和售价低等特点在本系统中,加密器、解密器和密码写人器分别采用了PIC12C508A、PIC12CE518A和INTER8031单片机

在本系統中,加密器固有密码用5位十进制数表示每位数字按脉冲方式发送,0发送10个脉冲1至9发送的脉冲数与其值相等,脉冲格式如图4每个脉沖低电平的时间是10μs,高电平的时间是15 μsS周期为25 μs,发送一个数所用的时间小于255 μs

加密器中的核心部件为12C508A,910为霍尔元件产生计数脉冲PIC12C508A单片机接收到计数脉冲后首先进行加密,然后将密码发送给解码器

解码器电路主要包括光电隔离部分、12CE518A单片机和计数脉冲输出电路组荿,光电隔离采用TPL521 -1用于去干扰,保证系统可靠性12CE518A单片机是解码器的核心部件,完成密码接收、解密、密码修改和计数脉冲输出等工作计数脉冲输出电路用于TTL电平到+12 V电平脉冲的转换。

串行E2PROM是可在线电擦除和电写入的存储器具有体积小、接口简单、数据保存可靠、可在線改写、功耗低等特点,而且为低电压写入在单片机系统中应用十分普遍, 单片机PIC12CE518A内部有16个字节的E2PROMCPU和E2PROM采用I2C总线结构连接,GP6(SDA)和GP7( SCL)分别为数據线时钟线,无需外接E2 PROM

解码器工作时,首先读出E2PROM中OOH -04H中存放的固有密码分别保存在5个寄存器中,然后调用接收数据子程序接受一个數据并存入寄存器中,判断是否为同步字符不是同步字符,说明数据来自加密器继续接收另外4个数据,将刚刚接收的5个数据与固有密碼比较如果相同,则说明接收的密码正确在GPO引脚上发送一个2 ms的计数脉冲,然后返回否则直接返回;若是同步字符,则说明是密码写入器发送来的信号要求修改解码器的固有密码,继续接收5个分别写入E2 PROM的OOH -04H中然后返回。程序只需在上电时从E2 PROM中读一次固有密码以后就不茬访问E2PROM,这样可保证计费准确度符合标准

在加密传感器中,加密器向解码器发送的是密码只有加密器和解密器固有密码相同时,解码器才向计价器中发送计数脉冲计价器才计费。使用OTP单片机程序一旦烧录后是无法改变,要想修改解密器固有密码必须使用专用密码寫入器,因此加密传感器提高了计价器计费可靠性,实现了计价器有计量部门统一安装、维修和年检的统一管理

我要回帖

更多关于 单片机接收传感器 的文章

 

随机推荐