基于单片机的霍尔传感器信号检测分析仪的设计
2015-07-14 来源:dzsc
1.系统方案
本设计采用廉价的51 单片机作为信号采集器,51单片机将采集的数据通过RS232串口发送给PC,PC再对这些数据进行记录和分析并且绘制波形。 硬件部分的结构如图1所示。
利用51单片机的P1口作为信号采样口,可以同步采集8路逻辑信号, 然后通过RS232串口,将同一时刻采集到的8路逻辑电平作为一个字节的8个bit传送给PC。
图1 硬件结构图。
2.软件部分
2.1单片机部分
AT89S52单片机是一种低功耗高性能的CMOS 8位微控制器,其具有8KB可擦写1000次的在线可编程ISP 闪存、3级程序存储器加密、256B内部ARM、32 条可编程I/O线、3个16位定时器#计数器、8 个中断源、UART串行通道等特点。 在AT89S52单片机上,采用P1口作为采样口,Timer()为等待时间计时器,Timer2用于串口波特率的定时器。串行口数据通信协议是:数据传输速率为57600b/s 8位数据位,1位停止位,无奇偶校验位。 串行口通信初始化程序为:
当51单片机上电后,便开始不停地采样和发送数据, 这类似于计算机上的“DMA”方式,单片机的主程序流程图如图2所示。主程序部分代码为:
图2 单片机主程序流程图
2.2部分
在PC上采用VB来编写串行口接收、存储、分析数据的程序,借鉴了“虚拟仪器架构” 的设计思想,力求通过操作PC 端软件来完成所需要的测试功能,就像在操作自己定义、自己设计的一台电子仪器一样。
首先要初始化串口,必须将MSComm控件的通信特性设置为同51单片机一致方可正常通信。
串行口初始化完成后利用MSComm控件可以从串口实时的接收数据。ONComm是MSComm控件的通信事件处理函数。其串口通信的程序为:
以上是串行口接收数据程序,PC 端在接收到数据后还要对数据进行处理和显示, 在本系统中通过绘制数据采样结果来直观地显示采集到的信号信息。
PC 端软件除以上功能外, 还具有对采集的数据进行存盘和读取历史采样的功能。
3. 应用实例
霍尔传感器在无刷直流电机控制系统中起着非常重要的作用。它用于检测转子磁极的位置, 为开关电路提供正确的换相信息。若霍尔传感器的相位产生偏差则会使电子换向的时间发生偏差, 影响电机的转速和平稳度。若霍尔传感器的相位缺相,则会使电机相电流变大和电磁转矩脉动增大, 甚至烧毁电机。所以霍尔相位的检测是十分重要的#本文中将设计的逻辑信号检测分析仪应用在电机霍尔传感器信号检测上。其硬件电路如图3所示。
图3 霍尔传感器信号检测硬件电路
无刷直流电机(BLDC)一般有3 个霍尔传感器, 其产生的3个信号被51单片机采样, 信号通过RS232串口线被送入PC,在PC 上运行接收和分析软件可对采集到的信号进行分析、 显示。将检测电路连接好后,用手转动电机转子,在软件上启动采样,一段时间后停止,可以得到如图4的波形。 由图4可以看出当BLDC的转子旋转时,霍尔信号会呈现出一种方波的波形, 并可以通过分析软件的功能对三路霍尔信号的位置变化进行有效的分析。
图4 PC端上采集到的霍尔信号分析界面
本文设计的基于虚拟仪器架构的逻辑信号检测分析仪充分发挥了单片机和PC 机的作用,可以同步采样8路信号, 存储、 记录大量的测试数据,能够对检测数据进行有效的分析和图形显示。 文中成功地将其应用于电机霍尔传感器信号检测中,并取得良好的效果。由于其结构简单、成本低廉、适用面广、扩展性强等特点, 可将它运用于各种多路信号的检测方案中。