基于Cortex-M4的交流转辙机信号采集板的设计与实现
2023-12-19何涛,高帅,张锐
何 涛,高 帅,张 锐
(1.兰州交通大学自动控制研究所,甘肃兰州 730070;2.光电技术与智能控制教育部重点实验室,甘肃兰州 730070;3.甘肃省轨道交通信号与控制评测行业技术中心,甘肃兰州 730070;4.甘肃众一合技术有限公司,甘肃兰州 730070)
0 引言
道岔状态监测是铁路信号集中监测系统中非常重要的环节,因为道岔作为铁路线路中的重要设施,其状态直接关系到列车的安全运行,其中交流转辙机应用最为广泛。交流转辙机状态监测可以及时发现道岔的异常情况,如能及时处理,可以保证列车顺利通行。针对交流转辙机的数据采集具有精度要求高、速率要求快、能耗要求低、可靠性要求高、安全性要求严格和反应要求及时等特点,信号处理的特殊性(同时涵盖直流分量和交流分量),如何设计一款符合现场要求的数据智能化采集终端,是目前需要解决的核心问题[1]。
1 交流转辙机采集板的设计
交流转辙机采集板为监测系统底层的采集设备,本设计基于Cortex-M4内核的STM32F407单片机进行设计与实现。交流转辙机采集板内部结构如图1所示,将采集板接入到交流转辙机采集点中,使用采集器对实验设备进行2部分信息采集:一部分是模拟量的采集(包括3路交流电流、1路直流电压、2路表示电压和2路交流电压),通过电流传感器和电压传感器将采集的信息变换成符合标准的电信号,然后通过LM324传到STM32芯片进行ADC转换;另一部分是开关量的采集,通过采集器将采集的8路电流信号通过光耦KAQV214传到STM32芯片[2]。MCU将采集的所有信息进行处理,然后通过RS485通信模块传送到上位机进行下一步的故障分析处理。
图1 采集板结构示意图
1.1 微控制器选型
本研究将STM32F407处理器作为采集模块的主控芯片,使用的内核是ARM处理器的Cortex-M4,稳定性高。同时,STM32F407外设资源丰富,为采集板增加扩展口提供了硬件基础,存储容量大,且该处理器具备高精度多通道的快速ADC,可以高效稳定地采集转辙机电压电流等模拟量,并且STM32F407兼有低功耗模式。这些特性满足了采集板采集信息快速精准的要求。
1.2 隔离变换模块
LM324四路运算放大器抗干扰能力强,成本低且无需增加多余的外部偏置元器件。此外LM324还具有短路保护输出、内部补偿以消除自激振荡、输入保护等功能。故采用LM324进行模拟量的隔离变换采集[3]。
隔离变换设计共分2部分,包括3路交流电流采集和4路交流电压采集,2部分电路设计大致思路方法类似,故以交流电压(图2)为例进行介绍。首先通过TV0815交流电压互感器进行高低信号的转换,防止电压/电流过大烧坏器件,然后通过设计两级反相放大器(R2、R6为反馈电阻)用来构成闭环系统;运算放大器的反相输入端接输入保护电阻(R12、R13),运放的同相输入端接地。将采集的信号通过负反馈输入并放大,得到稳定的输出电压传到单片机进行模数转换。
图2 4路交流电压采集电路
假设输入信号经过电压互感器(L2)感应得到的次边电流为i(t),经过两级运算放大电路的信号表达式如式(1)所示(以交流电压为例):
(1)
1.3 基准参考电压设置
STM32对输入模拟信号进行A/D转换时,需要设置基准参考电压(VREF)以保证采集数据的精度和准确性以及消除温度漂移,进而确保采集的电压具有较高的精度和准确性。基准参考电压设置电路如图3所示,使用LM336进行基准电压的设置,在电位器W1输出端加入一个反馈电路LM324可以使得基准参考电压电路的输出电压更加精确。
图3 基准电压设置电路
1.4 光耦隔离模块
开关量的采集使用KAQV214光耦器件,可以很好地隔离输入信号和输出信号,使其不会受到彼此的干扰。
1.5 电源模块
电源模块设计采用URE2405P-6WR3(图4),输出功率为6 W,4∶1超宽电压输入范围,具备输出过压保护、输出短路保护和电源隔离功能[4]。使用URE2405P-6WR3进行24 V转5 V输出电压,C3是滤波电容。D1(SMDJ24A)和D2(SMAJ5A)为TVS管,将D1加在24 V电源线和接地间,D2放置于信号线和接地间,能有效减少噪声对信号的干扰,并能防止微处理器因瞬间的脉冲而工作异常进而影响整个道岔信息的采集处理过程,同时也起到避免器件损坏的效果[5]。
图4 电源模块电路设计
由于本设计采用的是STM32F407芯片,所以用到了模拟电源和模拟地,为防止相互产生串扰影响数据采集结果,先对其进行隔离设计。在数字地和模拟地间并联2个0 Ω电阻(R84、R86)即可起到很好的隔离效果。原理图设计如图5所示。
图5 数字电源/地与模拟电源/地隔离设计电路
1.6 RS485通信模块
RS485通信模块硬件电路设计简便、成本低、应用广等,本设计采用RS485通信与上位机进行数据传递,针对RS485通信总线在进行与上位机通信过程中会受到各种干扰的问题,将电路原理图进行如图6改进设计。
图6 RS485通信模块电路设计
RS485通信采用差分传输方式,极大提高了抗共模干扰的能力。针对RS485芯片接收器的检测灵敏度问题,系统可能会在总线不工作状态期间误判接收到新的帧起始信号而工作异常,故在RS485的A输出端和5 V电源线之间接一个4.7 kΩ的上拉电阻(R90)以及在B输出端和地之间接一个4.7 kΩ的下拉电阻(R89),使A、B始终保持电位差,避免处理器工作不正常。
在铁路信号实训系统中使用双绞线(阻抗约为120 Ω)进行数据通信,为了减弱由于阻抗不匹配而产生的噪声干扰 ,在进行线路设计时,在RS485的A、B输出端并接1个120 Ω(R93)的匹配电阻,达到有效抑制噪声干扰的效果[6]。
1.7 时钟产生模块
采集板的时钟信号通过HSE时钟振荡器产生。本设计采用25 MHz晶体振荡器,在振荡器两端并联2个22 pF装载电容,可以有效提高输出准确性以及减少启稳时间。
1.8 从机地址设置模块
采用4位拨码开关电路,由于通信波特率在通信协议中预设为115 200 bit/s,故选用4位拨码开关(SW DIP-4)设置从机地址即可,分别与MCU的PB1、PB2、PC4、PC5IO端口连接,4路均接4.7 kΩ的上拉电阻。
2 采集板软件部分设计
本研究采用嵌入式系统软件开发工具Keil μVision V5,它集成了C/C ++编译器、汇编器、链接器、调试器、图形用户界面等功能,可以帮助开发者快速开发嵌入式系统软件。Keil 5可以支持大多数ARM处理器,如Cortex-M、Cortex-A、ARM7、ARM9、ARM11等,并可以支持多种开发板,如STM32、LPC、NXP等,同时可以支持多种通信协议,如UART、SPI、I2C等。
经过隔离、滤波处理的3路交流电流、1路直流电压、2路表示电压和2路交流电压送入STM32F407的ADC转换通道,MCU接收到数据并进行采样、存储、运算,将得到所需要的表示电压、动作电流和动作功率存储在数组中,当采集板检测到上位机发送的读保持寄存器命令时,通过RS485通信模块将数据按照通信协议中规定的格式发送。
2.1 电压/电流真有效值算法
由于电压和电流的有效值算法类似,故此处以电压为例进行介绍。根据真有效值算法定义,同一时间内一个交流电压流过某个纯电阻负载所消耗的电能等于一个直流电压在相同时间内流过该负载消耗的电能,由此可得到该直流电压的值就是交流电压的有效值。
在实际采集测量时,首先根据奈奎斯特采样定理设定合适的采样间隔对信号进行采样,得到一个离散信号,然后将采样值取平方和,再求平均值,最后开方得到离散信号有效值。离散信号电压有效值公式如式(2)所示:
(2)
由于在电压电流采集设计中需要用到基准参考电压,对整体的采集信号进行了幅度的抬升,所以需要将上述有效值算法进行调整,首先需要计算所有采样值的均值:
(3)
然后将采样值减去均值进行平方和计算,然后进行有效值计算:
(4)
针对转辙机表示电压,需要根据优化算法,提供面积计算公式,实现直流电压分量和交流电压分量的计算,涉及50 Hz频率。
2.2 有功功率采样计算
三相电路有功功率测量是三相电路分析的重要内容,在实际工程应用中通常使用一表法、二表法和三表法。其中二表法主要用于三相三线制电路的有功功率测量,但是由于二表法测量功率时端口电压、电流关系及两者之间相位差角的分析较为复杂,所以本设计基于二表法进行改进有功功率的采样计算。二表法测量三相功率原理是:三相功率等于两功率表电压线圈所接电压的有效值、电流线圈通过的电流的有效值以及电压与电流相位差的余弦的乘积再求和,具体计算公式如下:
P=UACIAcosφ1+UBCIBcosφ2=P1+P2
(5)
式中:φ1为AC线电压有效值UAC与A相电流有效值IA的相位差角;φ2为BC线电压有效值UBC与B相电流有效值IB的相位差角。
二表法根据不同接线方式分为电压线圈共A极、共B极和共C极接法。现根据共B极接法对其进行改进计算。
(6)
然后根据式(7)求得AB相有功功率PAB,同理可得BC相有功功率PBC:
(7)
式中:uk_AB和ik_AB为MCU采集并存储到寄存器的AB相电压和相电流。
最后根据二表法原理可求得三相电流有功功率为
P=PAB+PBC
(8)
2.3 A/D采样计算
本设计对7个通道进行数据采集(包括3路模拟电流和4路模拟电压),采用连续扫描模式,对通道使用DMA,避免丢失已经存放在ADC_DR寄存器中的数据。7个通道连续扫描一次的转换时间可达1 μs[7]。本设计采用基本定时器TIM6,由于这个定时器寄存器中只有TIM_Prescaler和TIM_Period,使用时只需要初始化这两个成员即可。中断延时的公式为
(9)
时钟初始化可得TIMx_CLK为84 MHz,设定TIM6定时器频率为10 000 Hz,即令:TIMx_Period=99,当定时器从0计数到99时,即为100次,为一个定时周期;TIMx_Prescaler=83。
2.4 通信机制介绍
本设计中采用的通信机制为主从机制,即主机轮询、从机应答的机制。具体设计要求:系统中只允许将一台设备设为主机,用作主从通信;系统中的从机可以有若干台,但是禁止主动向主机发送数据;系统上电后所有主从设备均处于监听总线的状态,也就是处于接收状态;若要发起一次通信或进行数据交换,必须由主机主动发起,此时主机即上位机首先转为发送模式,向从机即采集板发送数据包,随后立即转成接收模式以接收采集板收到上位机发送的数据包做出的响应。
交流转辙机采集模块可进行3路交流电流采集(穿孔)、4 路交流电压采集,在RS485总线上可连接多个模块节点从而实现多路采集的目的。使用主从通讯方式,基于RS485总线协议,波特率预设为115 200 bit/s,实现半双工多点通讯,每条总线上最多挂载16组采集模块,当PC上位机下发命令给指定采集模块,总线上的采集模块接收下发命令并解析数据,提取地址并与自己地址核对,匹配后上传对应的命令功能码数据。
3 实验室测试及结果分析
采集板设计完成后需对其进行反复测试,以验证结果是否准确,是否满足现场需求。实验室模拟环境下,将220 V交流电压输出接整流二极管即可得到所需要的半波整流信号,再接600 Ω保护电阻与道岔采集板输入端连接,采集板外部供电为24 V直流电压源,通信输出通过USB转RS485通信模块与上位机相连接,通过Keil MDK5实时调试观察采集数据,如表1所示。
表1 开关量和模拟量采集测试
名称采样值名称采样值IN_kg1[0]0XY_U_Date[0]305IN_kg1[1]0XY_U_Date[1]30IN_kg1[2]0XY_U_Date[2]305IN_kg1[3]1XY_U_Date[3]30IN_kg1[4]0IN_kg1[6]0IN_kg1[5]0IN_kg1[7]0
其中ADC_ConvertedValue[0-3]为交流电压采样值,ADC_ConvertedValue[4-6]为动作电流采样值,IN_kgl[0-7]为8路开关量采样值,XY_U_Date[0,2]为电压交流分量采样值,XY_U_Date[1,3]为电压直流分量采样值,经过计算分析采样正确,误差范围在0.5%以内。
以S700K交流转辙机为例测试采集板全部功能,将采集的A、B、C相动作电流数据及功率数据绘制成曲线图,如图7~图10所示。
图7 A相道岔动作电流曲线
图8 B相道岔动作电流曲线
图9 C相道岔动作电流曲线
图10 道岔动作功率曲线
动作曲线符合S700K转辙机的正常动作电流及功率曲线,最开始有一个较大的峰值,中间是一个较为平稳的阶段,最后是一段相对较低的电流台阶,整个转换过程大约为6 s。经过理论计算和测试分析,采集板测试范围和测试精度符合现场需求。
4 多机牵引测试及结果分析
经过实验室测试验证正确后,现进行现场测试,选用5机牵引的S700K型电动转辙机进行测试,将采集板连接到组合架上进行电压电流的采集(电压采样在断相保护器输入端,电流采样在断相保护器输出端),通过RS485总线将数据传输到采集机上,检查线路确认连接无误后上电,观察电源灯、采集秒闪灯正常工作,采集数据结果表2所示。
表2 5机牵引S700K转辙机测试数据
采集板现场安装、测试如图11所示,通过分析测试结果,本设计符合Q/CR442—2020《铁路信号集中监测系统技术条件》规定的采集内容及采集要求,设计成本低、功耗小,可以起到实时监测并排除道岔故障的效果。
图11 交流道岔采集板测试
5 结束语
(1)采集板根据采集信号特点对采集电路进行滤波、隔离等处理,采用真有效值算法对电压电流进行采样计算,通过改进二表法测三相电源有功功率进行动作功率的采样计算。
(2)经过多次测试实验分析,完成了对交流道岔转辙机开关量、动作电流、表示电压及功率的采集,并通过RS485通信接口输出,可以将数据上传至上位机进行信号参数监测,也可以安装在组合架上与铁路微机监测系统站机进行通信,将采集数据显示在人机交互软件上。
(3)基于STM32F407的采集板设计在功耗、体积、传输方面有独特优势,可在铁路信号微机监测方面应用。