机车智能NTC采集板卡的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

机车智能NTC采集板卡的设计
发表时间:2020-10-21T02:57:58.348Z 来源:《科技新时代》2020年7期作者:张慧斌[导读] 为了采集机车NTC模拟量信号,开发了一种以STM32F10x单片机[1]为控制核心的智能NTC采集板卡[2]。

(中国铁路呼和浩特铁路局集团有限公司包西机务段)摘要:为了采集机车NTC模拟量信号,开发了一种以STM32F10x单片机[1]为控制核心的智能NTC采集板卡[2]。

内部使用高精度电阻参考源,并充分使用D/AC的转换范围,提高信号转换精度。

智能板卡将码值直接转换成温度值,通过CAN总线与CPU板通信,方便CPU板直接读取温度值。

板卡已在机车空调控制器中得到应用。

关键词:NTC采集板卡;单片机;CAN通信中图分类号:TP23 文献标志码:A 0 引言
NTC采集是机车空调控制器的一个重要功能,用于采集机车传感器信号,用于机车控制。

为了扩展对输入信号的适应性,减小电路中电器参数不一致引起温漂导致采集精度降低,一般方法是对电路进行调整与补偿,但是这样一方面增加了调试的难度,另一方面很难从根本上解决这个问题。

本文实现的智能模拟量采集板卡通过软硬件设计,实现校准功能,动态矫正偏差。

本智能模拟量采集板的主要技术参数为: 8路采样通道;
输入信号为NTC热敏电阻;
可以实现自校正;
采样分辨率为12位;
采样频率为50ksps;
支持CAN总线协议。

1 NTC采集板的硬件设计
本板卡为的3U插件板,通过背板F48连接器与CPU通信、供电、确定板卡地址ADS,可扩展性强。

板卡有3个主要单元电路组成。

外部的NTC信号由F48连接器进入板卡,经过采样调理电路,A/D转换电路、经驱动隔离电路,进入CPU。

CPU的片选信号、SPI时钟信号、芯片使能信号等,经隔离电路输出[3]。

1)采样调理电路
模拟信号进入后,经采样电路,经ADG619模拟开关[4]后放大2倍,经过低通滤波器之后进行A/D采样。

为了提高NTC采集的精度,采用高精度的4.02KΩ电阻作为基准电阻,记为Rv。

当ADG619的IN引脚输入0时,S1引脚输入,采集的是Rv的电压值对应的码值M1。

ADG619的IN引脚输入1时,S2引脚输入,采集的是Rv+RNTC的电压值对应的码值M2。

所以 RNTC = (M2-M1)×4020 / M1 Ω (1) 2)板卡地址ADS采集电路。

控制器中存在多种板卡,为了区分各种板卡,根据协议对板卡进行编码,智能模拟量采集板上电之后,通过CPU的PC0-PC5端口读取背板编码,确定自己的ADS。

在与CPU的初始化过程中,将自己的ADS与板卡类型通知给CPU板。

这样就可以在任意插槽,插任意板卡。

3)A/DC及SPI片选电路。

MCP3201[5]是带SPI串行接口的12位AD转换器,片选信号由CPU的PE8-PE10经译码器提供。

MCP3201在片选信号变低后的第一个上升沿开始采样,在第二个时钟的下降沿结束,然后输出一个低电平空位。

接下来的12个时钟在下降沿时将以MSB的格式输出转换结果。

当所有12个数据均发送完毕后,若片选信号仍为低,它将以首发LSB的格式输出转换结果。

2 智能模拟量采集板卡软件设计
板卡软件是在KeilC51环境下用C语言编写的,板卡主函数主要实现初始化、NTC信号采集、滤波、转换,是整个系统的主流程。

单片机在主函数中循环,当收到CAN中断后执行中断函数,完成相应功能。

NTC信号采集及校正。

将模拟开关ADG619的6引脚置低,则采集S1引脚,再将6引脚置高,则采集S2引脚,然后将(V2-V1)作为采集到的数据,以高精度的电阻为基准,可有效地提高精度。

由式(1)可知,M1应不为0。

根据NTC阻温特性表,最大阻值为170KΩ,对应温度为-40摄氏度,在这种状况下,
M1= 2.5×4.02/(20+170+4.02) ×4096/ Vref =84,
其中Vref =2.5V,当A/D输入2.5V时,码值为4096。

因此在接入NTC电阻时,M1 最小值为84。

因此设置条件当M1 ≥10时,采用式(1)进行计算,否则 RNTC人为设为0。

这样即能满足式(1),又可以有效地消除零飘。

模拟量采集采用外部SPI的方式,STM32F10x的SPI接口允许与外部设备以全/半双工、同步、串行方式通信。

本文将其配置为全双工、主模式、16位数据长度,片选软件控制。

数据在第二个上升沿采样,高位先传。

CPU读到采样值之后使用软件滤波。

采用移动窗口的方式,读取十次采样值,去掉最大值和最小值,然后求平均值。

在刚上电的时刻,未读满十次采样值的情况下,则直接使用当次采样值。

这个时刻非常短暂,可以忽略不计。

实际的电阻值由式(1)的值滤波后得到。

然后根据NTC阻温特性表,用二分法进行查表,求出对应温度。

如果电阻值在某一温度Rmax和Rmin之间,则取整数温度值;如果没有在Rmax和Rmin之间的时候,则使用Rnor计算保留一位小数;如果超过最大值或小于最小值时,则按最大值或最小值处理。

智能模拟量采集板卡与CPU板使用CAN通信。

CAN通信采取中断的方式实现,在中断中实现CAN协议,以保证CAN通信的实时性。

3 测试结果
本NTC采集板可以完成高速度、高精度的8通道12位模数转换,通过采样电路的设计,能够实现提高采样精度,消除零漂。

另外本板卡在指令处理上采用了成熟的CAN总线协议,增加了通信的稳定性。

4 结论
本文设计基于STM32F10x的NTC智能采集板卡,可以应用于机车空调控制器等设备使用,能够采集NTC输入,由测量结果可以看出,电阻测量值的相对误差多在1%以内,能够满足机车使用的要求。

参考文献
[1] STM32开发指南-库函数版本_V1.3[M]
[2] 丁月林. 基于STM32 的低功耗温湿度采集器实现[J]. 软件,2015,36(5):84-88
[3] 焦华. 基础编程的思考方法[J]. 软件,2018,39(3):57-62
[4] ADG619数据手册[M]
[5] MCP3201数据手册[M]。

相关文档
最新文档