《武汉工程大学学报》  2012年7期 61-65   出版日期:2012-07-30   ISSN:1674-2869   CN:42-1779/TQ
C8051单片机与霍尔传感器系统设计


0引言  随着检测技术和控制技术的发展,传感器与单片机及显示屏构成的测控系统得到了广泛的应用[1],功能也越来越强大.单片机价格低、可靠性高、易扩展、控制功能强和易于开发等优点在这类测控系统中发挥出了很强大的功能.该系统首先通过传感器把非电量参数转化为电压,然后通过单片机进行实时数据采集及预处理,最后在显示器或者显示屏上显示出来.  为提高磁感应强度采集与显示的有效性和降低其成本,本设计采用霍尔传感器SS495A作为前端进行数据采集,然后经放大器AD620进行信号放大后输送到单片机C8051F350进行数据处理,由于单片机C8051F350自带模/数转换器(Analog to Digital Converter,以下简称:ADC),所以不需要设计模/数(Analog to Digital,以下简称A/D)转换电路,最后将信号在显示屏上显示出来.1系统构架 系统构架比较简单,可以分为3个部分:第一部分是数据的采集,由霍尔传感器产生电压信号[1],通过放大器AD620把信号进行差分放大;第二部分是信号的处理,信号被输送到单片机,在单片机内部进行A/D转换及相关数据处理;第三部分是信号的显示,在显示屏LCD1602显示电压值.整体框图如图1所示.图1系统整体框图
Fig.1Overall block diagram of system
2硬件设计及实现2.1电源模块的设计  一般一个系统存在模拟器件与数字器件,各个器件所需的电源电压也不尽相同.本设计中霍尔传感器、放大器以及液晶显示屏的工作电压都是5 V,而单片机的工作电压是3.3 V,故需要额外的电压转换电路,其电源电压转换的电路如图2所示,电压转换电路芯片选用AMS1117-3.3,其中5 V电压用VCC来表示,3.3 V电压用VDD来表示.图2电源电压转换电路图
Fig.2Circuit diagram of power supply voltage conversion2.2SS495A霍尔传感器的特点  霍尔传感器是根据霍尔效应制成的一种传感器,主要实现磁电转换,用于与磁场相关的运动参量的检测,将物体的各种非电量参数转变为电压输出,在检测和自动控制中得到了大量的应用[2].集成电路技术的发展使得集成霍尔传感器占据了霍尔传感器的主体市场,主要生产公司有Honeywell公司、Siemens公司、Melexis公司等.集成霍尔传感器凭借其体积小、频响宽、动态特性好等特点[2],得到外界的一致好评.  本设计采用的是Honeywell公司的SS495A线性霍尔传感器,它是一种高精度的集成霍尔传感器,对外围设备要求简单、使用寿命长并且应用广泛.该霍尔传感器的工作原理为:相对放置两块极性相同的磁铁,以磁场强度B=0处作为位移x的参考原点,则x=0时B=0,磁场电压即霍尔电势Uh=0.当磁铁间的霍尔元件移动到x处时,Uh的大小由x处的磁场强度决定.用Kh表示霍尔电压与位移的比例系数即霍尔元件灵敏度,由公式Uh=KhIB可知:保持电流I不变,则dUh/dx=IKhdB/dx=KhI=K,积分后得Uh=Kx,即霍尔电势与位移成比例.所以磁场梯度越大,磁场变化越均匀,灵敏度也就越高,电压和位移的线性越好[1].最后由霍尔传感器输出端输出电压输送到放大器输入端.2.3放大器AD620的特点  AD620是一款高精度低功耗仪表放大器(最大工作电流仅1.3 mA),在模拟电路中得到了广泛应用.AD620具有高精度(最大非线性度40 ppm)、低失调电压(最大50 μV)和低失调漂移(最大0.6 μV/℃)特性,非常适合电子秤和传感器等精密数据采集系统的应用.由于其功耗低、尺寸小的特点可以作为电池供电及便携式(或远程)应用的理想之选.AD620仅需要一个外部电阻来设置增益,增益变化范围可以从为1变换至1 000,因而作为前置放大器使用效果非常好.此外,AD620还非常适合多路复用应用,其建立时间为15 μs,能够实现每通道一个仪表放大器的设计[3].其封装引脚图如图3所示,通常采用8引脚小输出线集成电路或双列直插式封装.图3AD620封装引脚图
Fig.3Pin diagram of AD620 package2.4单片机数据采集与A/D转换的实现  该系统采用的单片机是新华龙公司生产的C8051F350单片机,属于完全集成的混合信号片上系统型单片机.其具有全速、非侵入式的在系统调试接口,故该系统采用C2下载口下载程序;24位单端/差分ADC,从而不需要外部A/D转换电路;增强型UART和SPI串行接口,4个通用的16位定时器,高精度可编程的24.5 MHz内部振荡器,片内上电复位、VDD监视器和温度传感器,片内电压比较器,17个输入输出(Input/Output,以下简称:I/O)端口等功能[4-6].  C8051F350内部有一个全差分位ADC,该ADC具有在片校准功能.ADC可以使用内部的基准电压,也可以用外部差分电压作基准,该系统采用的是外部基准电压.在ADC0中包含一个可以设置8种增益的可编程增益放大器,最大增益可达128倍.ADC的差分输入与8个外部引脚及内部温度传感器可以由模拟多路选择器相连接.与内部输入缓冲器相连的变送器可以由其提供输入阻抗[4-6].该设计由AIN0.0与放大器输出端相连采集信号,经过一定的数据处理显示在显示屏上.第6期陈杰,等:C8051单片机与霍尔传感器系统设计
武汉工程大学学报第34卷
2.5硬件电路的实现  根据霍尔传感器与单片机的特点,电路图连接如图4所示,单片机的AIN0.0与放大器相连,用于数据的采集.单片机的P1.3位连接一发光二极管用于单片机上电的指示,单片机P1.0~P1.2分别与LCD1602的RS、R/W、使能端E连接,用于对显示屏的控制,单片机的P0.0~P0.7分别与LCD1602的DB0~DB7相连接,用于数据传输.  在图4中,由于单片机自带振荡器,故不需要设计外部振荡器.单片机的AGND、AV+、P2.0、RST口用于与C2仿真器的连接,下载程序到单片机进行在线调试,其中RST用作复位.放大器的正相输入端需要与稳压器相连接,本设计选取的稳压芯片是LM385BZ-2.5,用于差分放大.各电阻电容值的选取如图4所示.图4系统电路原理图
Fig.4System circuit diagram3软件实现部分  基于C8051F350单片机的信号采集与显示系统实现的功能更加强大,指令系统更加简单,软件设计采用C语言编程实现,软件开发环境采用Silicon Laboratories IDE.3.1主程序流程设计  主程序流程如图5所示,当手动按下开关S1时程序开始运行,进行初始化,初始化主要包括对各寄存器的状态进行初始化,对单片机I/O端口、内部晶振的初始化以及对液晶显示屏进行初始化.主程序进行数据的采集、模/数转换以及结果的显示.单片机采用中断方式运行,当显示屏的信号被单片机接收到时,中断服务程序就被执行,单片机就会对传送过来的模拟电压信号进行A/D转换,并向显示屏发送数据并显示出来.图5主程序流程图
Fig.5Flow diagram of main program  以下仅给出A/D转换中断服务子程序:  void ADC0_ISR (void) interrupt 10  {  static LONGDATA rawValue;  unsigned long mV;  while(!AD0INT);   AD0INT = 0;    rawValue.Byte[Byte3] = 0x00;   rawValue.Byte[Byte2] = (unsigned char)
ADC0H;   rawValue.Byte[Byte1] = (unsigned char)
ADC0M;   rawValue.Byte[Byte0] = (unsigned char)
ADC0L;  mV = rawValue.result / 6710;    }3.2实验验证  本设计测量的是磁感应强度,而磁感应强度是由位移决定的,故需要标定位移量记录数据来得到相应的结果,其中单片机基准电压选取为2.5 V.  当保持磁铁N极不变时,移动霍尔传感器,测得位移-电压的数据如表1所示.  当保持磁铁S极不变时,移动霍尔传感器,测得位移-电压的数据如表2所示.
表1磁铁N极不变的位移-电压关系
Table 1Displacement-voltage relationship of magnet N pole unchanged
位移/mm01234567891015电压/V1.532.082.262.382.432.462.482.482.492.492.502.50表2磁铁S极不变的位移-电压关系
Table 2Displacement-voltage relationship of magnet S pole unchanged
位移/mm15109876543210电压/V2.502.502.502.512.522.532.562.602.702.873.284.23从表1和表2中可知:虽然磁感应强度的检测受外界电波干扰等因素的影响,输出信号输出误差在所难免,但仍然能准确地测量出来,测量的位移可以达到10 mm,无论怎么移动霍尔传感器,在一定范围内,电压会随着位移的变化而变化,从而很好地验证了此方案的有效性.根据图5所示的流程和选取的位移量,用C语言编程实现,在开发环境中进行编辑和装载,并通过烧录器把HEX文件烧录到单片机中,按下开关S1.保持S极不变,位移量分别为5 mm和1 mm时,在显示屏LCD1602上显示的霍尔电压分别为2.56 V和3.23 V,如图6(a)和图6(b)所示;保持N级不变,位移量分别为5 mm和1 mm时,在显示屏LCD1602上显示的霍尔电压分别为2.46 V和3.23 V,如图6(c)和图6(d)所示.图6霍尔电压效果图
Fig.6Effect diagram of hall voltage从表1、表2和图6可以看出,当位移量为5 mm时,所测得的数据与显示屏上显示的电压一致;当位移量为1 mm时,所测得的数据与显示屏上显示的电压有一定的偏差,但偏差很小,可以忽略不计,从而验证了此方案的可行性.通过测试验证,预计设计目标均已达到,设计非常成功.4结语  C8051F350单片机与SS495A霍尔传感器信号采集与显示系统的设计,实现了一种简单的磁感应强度检测方式,本方案可应用于一些简单的设备如笔记本电脑闭合时磁感应的检测、磁悬浮列车磁感应的检测等.本方案实现的成本相对低廉,检测的准确性高,将会得到越来越广泛的应用.