一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于串行通信的信号检测及控制方法与流程

2021-09-25 02:30:00 来源:中国专利 TAG:信号处理 信号 检测 通信 控制


1.本发明涉及信号处理领域,具体是一种基于串行通信的信号检测及控制方法。


背景技术:

2.在现代工业生产尤其是自动化生产过程中,要用各种传感器来监视和控制生产过程中的各个参数,使设备工作在正常状态或最佳状态,并使产品达到最好的质量。传感器早已渗透到诸如工业生产、宇宙开发、海洋探测、环境保护、资源调查、医学诊断、生物工程、甚至文物保护等等极其之泛的领域。可以毫不夸张地说,从茫茫的太空,到浩瀚的海洋,以至各种复杂的工程系统,几乎每一个现代化项目,都离不开各种各样的传感器。
3.但传感器由于种类繁多,其内部集成的数值显示功能反应较慢,不适合对数值实时性要求较高的场合,同时各个传感器又相互独立,很难实现传感器信息的互通。


技术实现要素:

4.为了克服上述缺陷,本发明公开了一种基于串行通信的信号检测及控制方法,可以同时接收开关量传感器、电流量传感器、电压量传感器以及数字量传感器的信号,完成传感器数据的实时检测及分析,通过算法对数据进行发送、处理和校准,实现传感器信息的互通。
5.一种基于串行通信的信号检测及控制方法,其特征在于:包括上位机、传感器、传感器接口与控制模块;所述传感器通过传感器接口与控制模块相连组成采样电路,所述采样电路接收传感器测量采集的数据,通过ad模块转化为数字量数据发送给控制模块处理;所述控制模块将接收到的数字量数据进行分类、滤波处理后发送给上位机;上位机通过rs232与控制模块相连,作为输出端时,接收数字量数据并进行校准计算,在显示器上实时显示实际数值随时间变换的图像曲线和具体数值大小;上位机作为输入端时,接收到操作人员通过键盘、鼠标发送的指令后,将指令通过rs232发送给控制模块,控制模块接收到指令后通过输出端口rs485模块端口、da模块端口、继电器模块端口完成对具体外接设备的控制。
6.作为优选,传感器包括开关量传感器、数字量传感器、电流量传感器和电压量传感器,与所述传感器相适配的传感器接口包括开关量传感器接口、数字量传感器接口、电流量传感器接口和电压量传感器接口。开关量传感器接口连接外部开关量传感器,与控制模块相连,组成一个采样电路,将开关量传感器输出的开关量信号发送给控制模块。数字量传感器接口连接外部数字量传感器,通过rs485与控制模块相连组成一个采样电路,通过modbus通讯协议将数字量传感器所测得数据转成数字量发送给控制模块进行处理,以及接收上位机对数字量传感器参数的设定。电流量传感器接口连接外部电流量传感器,与ad模块、控制模块依次相连组成一个采样电路,并将电流量传感器所测得数据通过ad模块转成数字量发送给控制模块进行处理。电压量传感器连接外部电压量传感器与ad模块、控制模块依次相连组成一个采样电路,并将电压量传感器所测得数据通过ad模块转成数字量发送给控制模
块进行处理。
7.作为优选,电流量传感器接口与电压量传感器接口均为模拟量传感器接口,模拟量传感器接口与控制模块接口依次连接开关和r100电阻,并通过r100电阻接地;当开关拨到电流信号时,采集电流量传感器通入的电流信号,当开关拨到电压信号时,采集电压量传感通入的电压信号。
8.作为优选,控制模块为arm控制器,通过内部编程完成对多路传感器的ad值的检测、滤波并发送给上位机。
9.作为优选,上位机程序由c#编写,上位机通过rs232完成与控制模块通信,在接收到控制模块发送的ad值后,通过内部算法完成ad值的分析、实际数值的计算及校准,并在显示器上实时显示数值曲线及数值大小。
10.作为优选,数据的发送方法为:
11.step1.1:设置stm32f107zet6芯片内部时钟分频产生的定时器,每50ms产生一次中断,控制模块在该中断内完成一次传感器ad数值的分类并向上位机发送ad值。
12.step1.2:控制模块通过计算公式:numsend=0x30 data%10,data=data/10,将传感器的ad值按个位、十位、百位、千位、万位的顺序,一位一位地分离并转换成ascii码,向上位机发送,其中numsend为向上位机发送的数据,data为传感器的ad数值。
13.step1.3:控制模块每次向上位机发送八个有效数据,其中第一个数据为功能码,在0x30到0x39之外,用于分类确认发送的ad数值属于哪一个传感器;第二、三、四、五、六个数据分别为ad数值的个位、十位、百位、千位、万位;第七位、第八位固定为0x0d与0x0a,用于确认这一组数据发送完成。
14.作为优选,数据的处理方法为:上位机先将接收到的数据存放在一个缓存数组data[]中,再遍历data[]处理数据。具体为:
[0015]
step2.1:寻找0x30到0x39之外同时又不等于0x0d与0x0a的功能码data[i]。
[0016]
step2.2:判断之后的第二、三、四、五、六个数据,若处于0x30到0x39之间则根据公式tempdata=tempdata (bdata

0x30)*tempbase和公式tempbase=tempbase*10对这些数据进行处理,将其还原成十进制数,否则重复step2.1。其中tempbase*为还原得到的十进制数,其初始值为0;tempbase*为基数,其初始值为1;bdata为数组data[]中0x30到0x39之间的元素。
[0017]
step2.3:判断如果第六个数据之后的第七个与第八个数据为0x0d与0x0a,此时一组数据接收完成,则将tempdata依据功能码分类存储到对应的位置。
[0018]
作为优选,传感器数值的校准方法为:将ad值记为x、传感器所采集的实际数值为记为y,且满足y=kx b,其中k与b是校准参数,改变传感器所采集的实际数值y,即可得到对应的ad值x,通过校准试验得到n组x值与y值。在上位机校准界面,输入该n组x值与y值即可通过内部算法实现校准参数k与b的计算。上位机根据校准求得的校准参数k与b,将ad值x带入公式y=kx b即可求得实时的传感器所采集的实际数值y。
[0019]
作为优选,实现校准参数k与b的计算的内部算法为:通过公式求得第i个校准参数k
i
,其中x
i
为第i个ad值,y
i
为第i个传感器采集的实际数值;将校准参数k
i

入公式中,以求得校准参数k值;通过公式:b
i
=y
i

k
×
x
i
、求得校准参数b的值。
[0020]
作为优选,通过上位机能够实现对传感器数值的手动微调,在上位机自动计算求出校准参数后,传感器所采集的实际数值与计算求得的传感器数值若有偏差,则在上位机界面微调校准参数k与b,以实现传感器数值的手动校准。
[0021]
作为优选,上位机还包括数值曲线显示及输出生成excel报表的功能;上位机在接收到控制模块发送的数字量后,通过先对数字量进行分类,将数字量转换成具体数值并存储在计算机开辟的临时内存中,并在显示器上实时显示传感器所测的具体数值随时间变化的图像和数值大小;操作人员只要在上位机界面点击报表生成按钮,就能将所测得的数据存储在excel文件中,并按要求生成数据曲线。
[0022]
有益效果:
[0023]
(1)本发明结构简单、设计合理,可以实现任意开关量、电流量、电压量或数字量传感器的数值读取与校准;
[0024]
(2)本发明的操作界面更加人性化,显示器可实时显示实验数据,增加了系统的可操作性;
[0025]
(3)本发明采用的数据收发及校准算法简洁明了,实现了传感器参数采集的低延迟,以及高准确性。
附图说明
[0026]
图1为本发明一个实施例的结构示意图;
[0027]
图2为本发明一个实施例的结构框图;
[0028]
图3为本发明一个实施例的传感器信号输入端检测结构框图;
[0029]
图4为本发明一个实施例的继电器模块输出端结构框图;
[0030]
图5为本发明一个实施例的pwm模块输出端结构框图;
[0031]
图6为本发明一个实施例的数字模块输出端结构框图;
[0032]
图7为本发明一个实施例的模拟信号量传感器信号的采集电路;
[0033]
图8为本发明一个实施例的上位机程序界面示意图。
[0034]
附图标记:1

开关量传感器接口、2

数字量传感器接口、3

ad模块、4、电流量传感器接口、5

ad模块、6

电压量传感器接口、7

水泵、8

电机、9

rs485模块端口、10

变频器、11

da模块端口、12

电灯、13

风扇、14

继电器模块端口、15

控制模块、16

上位机、17

模拟量量传感器接口、18

控制模块端口、19

电阻、20

开关。
具体实施方式
[0035]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0036]
本发明公开了一种基于串行通信的信号采集及控制方法,通过传感器接口与传感
器互连,可实现任意开关量、电流量、电压量或数字量传感器的数据的实时检测及分析,通过算法对数据进行发送、处理和校准,实现传感器信息的互通。
[0037]
结合图1至图8,一种基于串行通信的信号检测及控制方法,包括上位机16、传感器、传感器接口与控制模块15;传感器通过传感器接口与控制模块15相连组成采样电路,采样电路接收传感器测量采集的数据,通过ad模块5转化为数字量数据发送给控制模块15处理。
[0038]
传感器类型包括开关量传感器、数字量传感器、电流量传感器和电压量传感器,与传感器相适配的传感器接口包括开关量传感器接口1、数字量传感器接口2、电流量传感器接口4和电压量传感器接口6。开关量传感器接口1连接外部开关量传感器,与控制模块相连,组成一个采样电路,将开关量传感器输出的开关量信号发送给控制模块。数字量传感器接口2连接外部数字量传感器,数字量传感器接口2可以实现与任意数字量传感器的通讯,通过rs485与控制模块相连组成一个采样电路,通过modbus通讯协议将数字量传感器所测得数据转成数字量发送给控制模块进行处理,以及接收上位机对数字量传感器参数的设定。电流量传感器接口连接外部电流量传感器,与ad模块、控制模块依次相连组成一个采样电路,并将电流量传感器所测得数据通过ad模块转成数字量发送给控制模块进行处理。电压量传感器连接外部电压量传感器与ad模块、控制模块依次相连组成一个采样电路,并将电压量传感器所测得数据通过ad模块转成数字量发送给控制模块进行处理。
[0039]
具体的,传感器发送数据的发送方法为:
[0040]
step1.1:设置stm32f107zet6芯片内部时钟分频产生的定时器,每50ms产生一次中断,控制模块在该中断内完成一次传感器ad数值的分类并向上位机发送ad值。
[0041]
step1.2:控制模块通过计算公式:numsend=0x30 data%10,data=data/10,将传感器的ad值按个位、十位、百位、千位、万位的顺序,一位一位地分离并转换成ascii码,向上位机发送,其中numsend为向上位机发送的数据,data为传感器的ad数值。
[0042]
step1.3:控制模块每次向上位机发送八个有效数据,其中第一个数据为功能码,在0x30到0x39之外,用于分类确认发送的ad数值属于哪一个传感器;第二、三、四、五、六个数据分别为ad数值的个位、十位、百位、千位、万位;第七位、第八位固定为0x0d与0x0a,用于确认这一组数据发送完成。
[0043]
具体的,控制模块15处理数据的方法为:上位机先将接收到的数据存放在一个缓存数组data[]中,再遍历data[]处理数据。
[0044]
step2.1:寻找0x30到0x39之外同时又不等于0x0d与0x0a的功能码data[i]。
[0045]
step2.2:判断之后的第二、三、四、五、六个数据,若处于0x30到0x39之间则根据公式tempdata=tempdata (bdata

0x30)*tempbase和公式tempbase=tempbase*10对这些数据进行处理,将其还原成十进制数,否则重复step2.1,其中tempdata为还原得到的十进制数,其初始值为0;tempbase为基数,其初始值为1;bdata为数组data[]中0x30到0x39之间的元素。
[0046]
step2.3:判断如果第六个数据之后的第七个与第八个数据为0x0d与0x0a,此时一组数据接收完成,则将tempdata依据功能码分类存储到对应的位置。
[0047]
控制模块14为arm控制器,实现对多路传感器的ad值的检测、分类、滤波并发送给上位机16。上位机16通过rs232与控制模块相连,上位机作为输出端时,在接收到数字量后,
通过内部校准算法计算出数字量与实际数值的关系进行校正,在显示器上实时显示实际数值随时间变换的图像曲线和具体数值大小。上位机作为输入端时,接收到操作人员通过键盘、鼠标发送的指令后,将指令通过rs232发送给控制模块,控制模块接收到指令后通过输出端口完成对具体外接设备的控制。输出端口包括rs485模块端口9、da模块端口11和继电器模块端口14。其中rs485模块端口9可以与支持rs485通讯的设备相连,通过modbus通讯协议完成该装置与数字量设备的通讯并实现对外接数字量设备的控制,如控制变频器10,根据水泵7输出的电压反馈信号,通过pid算法实现水泵对管道内的恒定水流量的控制;da模块端口11可以输出产生模拟电压,通过外部电机驱动电路,可以实现对电机8的转速控制;继电器模块端口14直接连接继电器,通过控制模块15产生的开关量信号,驱动继电器输出端触点的常开与常闭,从而实现对外部设备如:风扇13、电灯12等的开关控制。
[0048]
具体的,传感器数值的校准方法为:将ad值记为x、传感器所采集的实际数值为记为y,且满足y=kx b,其中k与b是校准参数,改变传感器所采集的实际数值y,即可得到对应的ad值x,通过校准试验得到n组x值与y值:通过公式求得第i个校准参数k
i
,其中x
i
为第i个ad值,y
i
为第i个传感器采集的实际数值;将校准参数k
i
代入公式中,以求得校准参数k值;通过公式:b
i
=y
i

k
×
x
i
、求得校准参数b的值.
[0049]
在上位机校准界面,输入该n组x值与y值即可通过内部算法实现校准参数k与b的计算;上位机根据校准求得的校准参数k与b,将ad值x带入公式y=kx b即可求得实时的传感器所采集的实际数值y。
[0050]
如图7所示,为模拟信号量传感器信号的采集电路。电流量传感器接口4与电压量传感器接口6均为模拟量量传感器接口17,通过该采集电路可以实现这两类量接口的通用,即:模拟量传感器接口17与控制模块接口18两路信号接口依次连接开关20和r100电阻19,r100电阻19接地。当开关20拨向电流信号时,电流量传感器接口4采集的电流信号通过r100电阻19接地,此时,测量模拟量传感器接口17与控制模块接口18处的电压,即可计算出电流量,完成对电流量传感器的信号采集;当开关20拨向电压信号时,直接测量电压量传感器接口6与控制模块接口18处的电压,完成对电压量传感器的信号采集。通过模拟信号量传感器信号的采集电路可以实现任意电流量传感器或电压量传感器的数据采集。
[0051]
如图8所示,为上位机程序界面示意图。当上位机作为输入端时,接收操作人员通过键盘、鼠标发送的指令,实现对控制模块15的控制。在区域22的文本框,可以实时显示传感器所测的具体数值。在区域26选择正确的串口号与波特率,并点击连接按钮,可以完成上位机16与控制模块15的正常通信。在区域27,可以通过在文本框输入参数并点击设定按钮,可以实现对传感器数值的校准。在区域28,在区域29,通过点击发送数据/停止按钮,可以使控制模块15开始或停止向上位机16发送传感器数据。在区域30,可以实时显示传感器所测具体数值随时间变换的曲线。在区域21,通过点击不同的按钮,可以控制继电器模块端口14连接的继电器,实现所对应控制的元器件的开启与停止,例如:电机风扇图标下的开按钮可以开启风扇,流程图如图4所示。在区域25,点击设定按钮,可以将文本框内的数值通过数字模块端口9,发送给外接的数字设备,并完成对该设备具体功能的控制,例如:在文本框内输
入一个流量数值并点击设定按钮,上位机就会将这个流量数值通过内部算法转换成频率数值,通过数字模块端口9发送给变频器,变频器根据电机反馈的电压信号,通过内部pid算法实现所控制管道内的流量值达到设定值,并保持恒定,流程图如图6所示。在区域24,点击设定按钮,可以设定通过数字量传感器接口2完成所连接的数字量传感器的参数的设定:如设定数字型温度传感器的上限及下限。在区域23,点击开/关按钮,可以实现通过da模块端口11所连接的电机的转速设定,例如:在文本框内输入一个电机目标转速,并点击开按钮,上位机就会通过内部算法将这个值转换成数字量并发送给控制模块,控制模块在接收到这个数字量后,将这个值转换成模拟量,通过da模块输出对应的模拟量值,并通过外部点击驱动电路达到对电机转速控制的目的,流程图如图5所示。在区域26,先点击文本框选择报告保存路径,再点击生成报告按钮,可以自动将采集到的数据保存到excel中,并根据excel模板生成报告并保存。
[0052]
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜