示波器单功能替代解决方案
扫描二维码
随时随地手机看文章
1 前 言
工业生产中,常使用示波器对各类设备的传感器信号加以测量和观察,在生产线上也会同样使用示波器来检验产品性能。由于示波器价格不扉,此类作法已经不适应大规模生产产品。产品的批量生产意味着购买更多的示波器,从而使生产成本增加;其次由于示波器操作复杂,普通操作员工对示波器的操作熟练程度也会严重影响生产效率;最后在环境欠佳的生产现场,尘土、湿气、温度等外界环境影响将会缩短示波器的寿命。
诚然,开发完全取代示波器的硬件设备有一定难度,但示波器在生产检验中的用途一般是单一的、确定的,如检测信号输入的时间差值、检测信号的触发边沿时间、检测信号的频率、检测信号的峰值等等功能,所以我们可以只针对某一特定功能,运用当前的单片机技术开发一款信号检测系统是可行的。本文将以检测信号输入时间差值为目的,介绍系统的设计与实现过程。
2 系统组成和应用原理
2.1 系统设计目的
如上示波器界面截图,检测凸轮多齿上升沿信号与电流起始信号的时间差值,差值可选用1信号为基准求出,并将其换算为角度,即为图上两虚线之间的方波信号个数(360转速信号,1方波恰为1度)。
2.2 单片机信号测量原理
以单片机为核心,充分利用自身计数器/定时器的计数功能。大致测量方法分以下两个方法:
高频测量(<500 KHZ):
采用测频法测量高频,在确定的阈值时间Tw内,记录被测信号的变化周期数(或脉冲数)Nx,则被测信号的频率:fx=Nx/Tw。(对T0或T1的外部脉冲进行计数,当T0或T1引脚上发生负跳变时,计数器加1。由于识别引脚的负跳变需2个机器周期,即24个时钟振荡周期,T0/T1的最高频率为1/24 fosc,当晶体振荡器频率为12 MHz时,其最高计数频率为500 kHz)。测频法原理如图所示:
低频测量:
采用测周法测量低频,测周期法需用标准信号的频率fs,待测信号的一个周期Tx内,记录标准频率的周期数为Ns,则被测信号的频率为:fx=fs/Ns。由于被测频率较低,故可采用8051测量,首先要将被测信号转换成门控信号,其原理如图所示:
2.3 硬件开发
本次设计选用C8051F310单片机,该单片机的可编程计数器(PCA0)由一个专用的16位计数器/定时器和5个16位捕捉/比较模块组成。其计算器/定时器由可编程的时基信号驱动,时基信号可以是系统时钟的1/2,1/4,1/8,所以时基信号的精确更有利于扩展信号测量的频率范围,此外,信号捕捉/比较模块也具有边沿触发捕捉工作方式。
单片机外围电路:
P0.6 360 转速信号中断
P0.7 电流信号中断
P0.0,P0.1 外接EEPROM(SPI数据传输)
P2.2-P2.7 LCD液晶显示
P3.1,P3.2 键盘(未使用)
2.4 软件开发
系统软件设计采用Keil C51编写。根据系统所测目的,可运用PCA计数器溢出中断、PAC边沿捕捉模式中断,以及INT0、INT1中断对波形进行计数,未运用到信号测频,测周原理便可以达到系统目的。
系统软件设计流程为:单片机初始化;LCD初始化;计数器清零;转速信号中断;计数器+1;电流信号中断;将此时计数值赋给电流时间量Y,凸轮多齿信号边沿捕捉;将此时计数值赋给凸轮信号多齿轮发生时间量X,完成一次测试量,目标值=Y-X;调用显示函数显示,发送结果至上位机。如下图系统软件设计流程:
3 系统运用结论
本方案系单片机的简单运用,可运用于制造业特定信号测量,帮助企业降低购买昂贵仪器的成本。经过实际使用,本系统运行稳定,所测结果与使用示波器所测误差在1度以内。操作人员可通过LCD显示直接观察检测结果,也可通过上位机软件对其直接观察,并通过上位机将每次所测数据加以保存,上位机采用C#编写。该软件显示界面如下图: