当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]小编为大家总结了一篇基于 STM32 和 CAN 总线的温度监控系统的设计,通过上位机与下位机的通信,实现对温度数据的监控,并经初步实验达到了设计的要求。1 系统总体方案概述

小编为大家总结了一篇基于 STM32 和 CAN 总线的温度监控系统的设计,通过上位机与下位机的通信,实现对温度数据的监控,并经初步实验达到了设计的要求。

1 系统总体方案概述

系统总体框图如图 1 所示,本系统采用主站+从站的结构,CAN 主站主要实现温度数据的存储以及 CAN 总线协议和串口协议之间的桥接,CAN 从站主要实现温度的采集。CAN 从站采集的温度,经过 CAN 总线传送到 CAN 主站,主站将各从站的温度值传送到系统上位机中。上位机对各点的数据进行实时曲线显示并进行存储,上位机可以设定报警值,当节点温度超过设定值的时候,上位机发出报警声。在没有上位机的场合,主站将数据以文本文档的形式存储在主站的 SD 卡中。

 

5e01820a5f2de-thumb.jpg

 

图 1 系统总体框图

2 系统硬件设计

2.1 CAN 主站硬件设计

主站电路如图 2 所示,主要有电源模块、STM32 模块、CAN 收发器模块、RS232 串口模块和 SD 卡模块。

其中 STM32 模块由 STM32F103RBT6 和周边时钟、复位、调试等组成。电源模块由外部输入+5V 电压,经线性压降 AMS1117-3.3V 后供 STM32 使用。CAN 收发器模块采甩 NXP 的高速收发器 TJA1040,TJA1040 是 PCA82C250 的替代品,它完全符合 ISO 11898 标准,具有高速、低功耗、低电磁辐射的优点。RS232 电平转换芯片采用 MAX3232,它具有低功耗、高数据速率以及增强型 ESD 保护等特性。采用专有的低压差发送输出级,+3.0 V 至+5.5V 供电时利用内部双电荷泵保证 RS-232 性能。工作时,电荷泵仅需要四个 100 nF 的小电容。SD 卡模块采用四线制 SPI 总线与 SD 卡相连接。

2.2 CAN 从站硬件设计

从站电路如图 3 所示,主要有电源模块、STM32 模块,CAN 收发器模块,PT100 模块和从站地址选择模块。

 

5e01820a7ecfc-thumb.jpg

 

图 2 CAN 主站电路框图                图 3 CAN 从站电路框图

其中电源模块、STM32 模块和 CAN 收发器模块与 CAN 主站相同。PT100 模块,采用传感器测量电桥,为了保证电桥输出电压信号的稳定性,电桥的输入电压通过 TL431 稳至 2.5V。从电桥获取的差分信号通过两级运放放大后输入 STM32 的 AD 输入口。从站地址选择模块由 8 位拨码开关组成,连接到 STM32 I/O 的 PC6-PC13。

3 系统软件设计

本系统软件由 CAN 主站软件、从站软件以及 Delphi 上位机软件构成。其中 CAN 主站和从站程序用 C 语言编写,上位机程序用 Obieet Pascal 编写。

3.1 CAN 主站软件设计

CAN 主站的功能是发送远程帧向从站查询数据、通过 AD 的转换结果计算芯片内部温度传感器的温度值、接收从站发送的数据帧、发送温度数据到上位机或存储数据到 SD 卡。CAN 主站程序如图 4 所示。

 

5e01820a963bb-thumb.jpg

 

图 3 CAN 主站程序流程图 图 5 写 SD 卡程序流程图

写 SD 卡部分程序流程图如图 5 所示,SD 卡部分主要用到了移植的 FATFS 文件系统提供的访问 FAT 卷的应用接口(Application Interface)。主要用到了以下函数:

·f_mount- 注册/注销一个工作区域

·f_open- 打开/创建一个文件

·f_close- 关闭一个文件

·f_lseek- 移动/写指针,扩展文件大小

·f_puts- 写字符串

·f_printf- 写一个格式化字符串

3.2 CAN 从站软件设计

CAN 从站的主要功能是通过 AD 转换器检测 PT100 电桥的差分输出电压,然后计算得出此节点的温度值,最后通过 CAN 总线传送给 CAN 主站。其中只有在 CAN 从站收到与自己节点号相同的主站发送的远程帧的时候,从站 CAN 控制器才发出一个数据帧。CAN 从站程序流程图如图 6 所示。

 

 

图 6 CAN 从站程序流程图 图 7 Delphi 实时曲线部分流程图

3.3 Delphi 上位机软件设计

本上位机软件主要实现了五个功能:实时曲线显示当前各从节点的温度;打印实时曲线;将实时曲线保存为图片;将实时曲线的数据保存为 TXT 文档以及实时温度超过报警值时报警。

本系统上位机串口通讯控件采用 SPCOMM,该控件具有丰富的与串口通信密切相关的属性及事件,支持多线程;提供了对串口的各种操作。图形控件采用 TChart,TCharc 是 Delphi 里面一个标准的图形显示控件。它可以静态设计(At Design TIme)也可以动态生成。该系统设计采用的版本为 TeeChart 7;实时曲线部分流程图如图 7 所示。上位机程序完成后界面如图 8 所示。

 

 

图 7上位机界面

4 结束语

本文介绍了基于 STM32 和 CAN 总线的温度监控系统的设计,初步实验证明,上述的硬件及软件设计基本达到了设计要求。本系统适用于多节点、远距离的场合,并具有实时性好、可靠性高的特点,具有一定的应用价值。

换一批

延伸阅读

[Vicor] Vicor推出首款辐射容错 DC-DC 转换器电源模块

马萨诸塞州安多弗讯 — 日前,Vicor 公司宣布推出其首款辐射容错 DC-DC 转换器电源模块,该模块采用 Vicor 最新电镀 SM-ChiP™ 封装。ChiP 可从 100V 的标称电源为高达 300 瓦的低电压 ASIC 供电...

关键字: Vicor 转换器 电源模块

[金升阳] 9-90VDC超宽输入范围非隔离DC/DC电源模块 ——K78Uxx-500R3(L)系列

9-90VDC超宽输入范围非隔离DC/DC电源模块 ——K78Uxx-500R3(L)系列

一、产品介绍 K78Uxx-500R3(L)是金升阳新推出的超宽输入电压范围非隔离DC/DC电源模块。该系列产品拥有10:1超宽输入电压范围(9-90VDC),工作温度范围宽至-40℃ to +85℃,空载输入电流低至1...

关键字: 金升阳 K78Uxx-500R3 电源模块

[厂商文章] 兼容L78x的电源模块可满足24V工业电压网络的要求

兼容L78x的电源模块可满足24V工业电压网络的要求

2020 年 12 月 03 日,瓦尔登堡,德国 – 新一代MagI³C FDSM电源模块:该电源模块已经支持输入电压为36V时,输出3.3或5V的固定输出电压,接下来,伍尔特电子将会推出最大输入电压分别为28V和42V的版本。采用的...

关键字: 伍尔特电子 工业电压网络 电源模块

[电源DC/DC] 适用于对工作温度要求高、低待机功耗的场合的VRB_LD-50WR3系列

适用于对工作温度要求高、低待机功耗的场合的VRB_LD-50WR3系列

在生活中,你可能接触过各种各样的电子产品,那么你可能并不知道它的一些组成部分,比如它可能含有的DC/DC电源模块,那么接下来让小编带领大家一起学习DC/DC电源模块。 VRB_LD-50WR3系列采用金升阳最新的开发平台,着重产品...

关键字: 金升阳 dcdc电源 电源模块

[功率器件] 体积更小、性价比更高DC/DC电源模块的PV-R3系列

体积更小、性价比更高DC/DC电源模块的PV-R3系列

随着全球多样化的发展,我们的生活也在不断变化着,包括我们接触的各种各样的电子产品,那么你一定不知道这些产品的一些组成,比如DC-DC电源模块。 金升阳超宽电压输入电源PV系列已覆盖5-200W功率段,可广泛应用于光伏汇流箱、逆变器...

关键字: dcdc 电源充电桩 电源模块

嵌入式硬件

11586 篇文章

关注

发布文章

技术子站

关闭