基于PSoC3的电涡流传感器设计
2014-03-22曹现刚
王 芸,曹现刚
(西安科技大学,陕西西安 710054)
0 引言
电涡流传感器利用电感应涡流原理实现将非电量参量转换成可测的电量信号,用于非接触式测量系统中,具有设备体积小、精度高等优点,广泛用于机械、航空、电站等各种大型旋转机械[1]。电涡流传感器的作用日益突出,已成为计量测试、自动检测和自动控制系统中的技术工具。
目前的电涡流检测系统中还需要实现控制等功能,一般采取外加单片机电路来实现需求。文中采用可编程片上系统PSoC3(Programmable System on Chip),利用其芯片内部的资源,构成1个电涡流传感器,仅用1个PSoC3芯片就可以完成电涡流检测和其他控制功能。
1 电涡流传感器的工作原理
将金属导体置于变换磁场中时,导体内就会产生感应电流,在导体内形成闭合回路的电流,称之为电涡流或涡流,称这种现象为涡流效应。电涡流测量原理图如图1所示。
图1(a)中,把扁平线圈置于金属导体附近,当线圈中通以正弦电流I1时,线圈周围空间就产生正弦交变磁场H1,处于此磁场中的金属导体就产生电涡流I2,I2也将产生交变磁场H2,H2的方向与H1方向相反,H2的反作用将引起通电线圈的电感量、等效阻抗的变化。
(a)
(b)
2 PSoC3及其内部资源
PSoC3基于8位8051处理器,提供了一个无缝的可编程设计平台,PSoC3构架包含了高精度可编程模拟能力(最高20位分辨率的ADC)以及可扩展的可编程数字资源,并配备有足够的存储器和通讯外设。除了丰富的模拟资源,还有可编程高性能数字子系统,可以使用PLD的全功能通用逻辑将数字系统进行客户制定化。在开发使用PSoC3时,采用图形化开发工具PSoC Creator2.0,PSoC Creator2.0集成开发环境(IDE)支持PSoC3,将基于电路图的设计和全部测试过的、预先打包好的模拟和数字外设库结合起来,通过直观的向导和API(应用程序接口)即可进行客户化设计,实现特定设计要求[2]。
3 电涡流传感器的硬件及参数设计
3.1基于PSoC3的电涡流传感器系统
采用PSoC3芯片CY8C3866AX-040设计的电涡流传感器可用到网络系统中,连接示意见图2。PSoC3芯片CY8C3866AX-040使用1个CAN模块连接到CAN总线网络的系统中,如果系统需要增加其他的功能,可以对PSoC3芯片的硬件进行重新的配置,不必外加功能芯片。
采用图形化开发工具PSoC Creator2.0作为开发平台,设计中使用到PSoC3内部模块有1个PWM模块、1个中断模块、2个计数器模块、1个CAN模块。在PSoC Creator2.0中添加上述模块。
图2 基于PSoC3的电涡流传感器应用系统
3.1.1涡流传感器的测量电路设计
该次设计的电涡流传感器结构简单,使用方便,测量电路采用调频法[3],使用反相器构建振荡电路,反相器由PSoC3芯片内部资源提供,2个反相器外加1个电容和涡流线圈就构成了1个测量电路(如图3所示)。该次设计为2个涡流线圈,2个测量电路构成1个差动测量[4],能提高设计的涡流传感器稳定性,这样可以充分利用PSoC3的内部资源。
图3 电涡流传感器的测量电路原理图
3.1.2涡流传感器的各模块设计
使用定时和计数模块把测量电路的振荡频率采集到,为后续的软件设计做准备,定时模块使用的是PWM模块,2路PWM输出控制2个计数模块,2个计数模块分别采集2路测量电路频率,中断模块ISR产生中断为软件设计做准备,CAN通讯模块使得传感器向系统输送数据。各模块联系如图4所示。
图4 PSoC3芯片内部模块示意图
3.2电涡流传感器的参数设计
PSoC3芯片电源电压采用+5 V,使用片内时钟频率24 MHz.
3.2.1定时器PWM模块和计数器Counter模块的参数设计
定时模块PWM的时钟输入设置为100 kHz,脉冲信号产生周期设置为10 ms,输出为两路,分别连接到计数器Counter模块,计数器模块设置为32位计数器,关键参数设置如表1所示。
3.2.2通讯连接CAN模块的设计
测量控制网络有多重通讯协议,文中使用CAN网络通讯,它的数据传输的速度和准确性得到了保证,CAN模块的设置简单,只需对相应参数做修改即可,通过设置用户菜单就可以设计出满足通讯网络的各项指标,此次设计通讯速率为500 Kbps,部分需要设置的参数如表2所示。
表1 PWM模块和Counter模块关键参数表
表2 通讯连接CAN模块部分参数表
3.3电涡流传感器的管脚设计
首先确定每个管脚的作用,在测量电路里、反相器和线圈以及电容构成的测量电路里,输入管脚设置为Digital Input并为HW Connection模式,输出管脚设置为Digital Output并为HW Connection模式,CAN控制器管脚参照数字模式设置,管脚的分配可在PSoC Creator2.0中的Workspace下的.cydwr文件下图形化简单分配。
4 涡流传感器的软件设计
PSoC3软件运行在PSoC3芯片内的处理器上,编程使用C语言。程序设计是在PSoC Creator2.0自动生成的源代码上进行原型开发的。PSoC Creator2.0中为每个应用模块提供了API函数,在编写应用程序时只需调用这些函数。例如所需要的定时器PWM模块API函数、计数器Counter模块API函数、中断ISR模块API函数和通讯CAN模块API函数。
利用CY8C3866AX-040构成的电涡流传感器实现的涡流检测功能采集到的数据是不间断的[5],当传感器工作后实时采集涡流监测数据,检测数据处理保存后,通过CAN模块发送给远端系统,程序流程图如图5所示。
图5 程序流程图
5 结束语
基于PSoC3芯片设计的电涡流传感器,硬件电路简单、可靠性高,在软件编程方面只需简单调用相应API函数,避免了一般电涡流传感器的复杂设计,如果系统需要实现其他的控制功能,利用数字模块和模拟模块的高度动态配置功能,只需对PSoC3芯片硬件进行重新配置,无须外加其他芯片,从而有效地提高基于PSoC3芯片设计的性价比。
实验证明,基于PSoC3芯片的电涡流传感器电路简单,采用双线圈差动补偿稳定性高,非常适合于低成本和小型化应用的监控系统中。
参考文献:
[1]王学梅,王彩虹,薛隽,等.电涡流传感器非接触在线测量位移.郑州工业高等专科学校学报,2004(4):16-17.
[2]朱明程,李晓滨.PSoC原理与应用设计.北京:机械工业出版社,2008.
[3]李玉丽,徐家品.利用PSoC实现频率计.成都信息工程学院学报,2008,23(6):622-625.
[4]吕梁,樊树江,吴峻.电涡流间隙传感器的温度补偿.传感器与微系统,2006,25(5):37-41.
[5]王煜东.传感器应用技术.西安:西安电子科技大学出版社,2006:20-45.