• 514查看
  • 0回复

[底层软件] 使用Simulink学习STM32-(4)温度传感器(NTC)ADC转换实验

[复制链接]


该用户从未签到

发表于 2-3-2024 14:55:02 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


实验环境

Matlab版本:2021b

操作系统:Win10专业版

硬件平台:YF-STM32-ALPHA 1R4

实验内容:读取温度传感器电压值并转换成实际℃温度显示出来

使用Simulink学习STM32-(4)温度传感器(NTC)ADC转换实验w1.jpg

模型与原理图

本次实验所用到的simulink模型如图5.1所示,电路原图如图5.2所示,其中温度传感器在开发板中的位置如图5.3所示,实验效果为读取NTC温度传感器所在引脚PA4的电压值,然后通过查表算法将其转换成实际℃温度值并通过仪表或“display”模型控件显示出来。

使用Simulink学习STM32-(4)温度传感器(NTC)ADC转换实验w2.jpg

图5.1 NTC温度传感器采集simulink模型

使用Simulink学习STM32-(4)温度传感器(NTC)ADC转换实验w3.jpg

图5.2 温度传感器电路图

使用Simulink学习STM32-(4)温度传感器(NTC)ADC转换实验w4.jpg

图5.3 温度传感器在电路板中位置



基础模型介绍与分析

本次实验所用到的NTC(负温度系数)传感器外观如图5.4所示,因其低廉的价格和使用方便的特性,被广泛应用于家庭与工业电子设备中(空调、电饭锅、洗衣机等)。表5.1为该温度传感器基本使用参数,详细的温度电阻特性参考其特性表链接,里面详细整理了该传感器电阻值与温度的对应关系。电压采集原理图采用“分压式”接法,如图5.5所示,单片机端采集电压公式计算方法 MCU_ADC = Rt*3.3V/(10+Rt)。

使用Simulink学习STM32-(4)温度传感器(NTC)ADC转换实验w6.jpg

图5.4 温度传感器外观

表5.1 基本参数表

型号

B值

使用温度范围

MF52-103/3435 10K   ±1%

3435 1%

-55℃~125℃

      温度阻值特性表:https://pan.baidu.com/s/1dF19CoL?_at_=1700414024610

使用Simulink学习STM32-(4)温度传感器(NTC)ADC转换实验w7.jpg

图5.5 NTC温度传感器“分压”测电压接法

       “Analog Input”模型外观如图5.6所示,通过更改“Pin”栏参数可以读取该引脚的电压值,读取的数值范围为0~1,??需要注意的是“Pin”栏参数只有该芯片引脚支持模拟量功能才能使用??

使用Simulink学习STM32-(4)温度传感器(NTC)ADC转换实验w8.jpg

图5.6 "Analog Input"模型

       为方便读者以往单片机使用习惯和计算方便性,实验中使用到乘法模型“Product”将读取的ADC值乘以3.3倍放大处理,得到的最终值范围为0~3.3,如图5.7所示。

使用Simulink学习STM32-(4)温度传感器(NTC)ADC转换实验w9.jpg

图5.7 "Product"模型使用方法



查表法转换温度值

       ?这是本次实验中的关键算法部分,也是在嵌入式开发中针对A/D方式读取原始传感器数据参数常用的转换方法,即大家熟知的“以空间换时间“法,“ Lookup with Linear Lagrange Interpolation ”模型与参数设置窗口如图5.8所示。

使用Simulink学习STM32-(4)温度传感器(NTC)ADC转换实验w11.jpg

图5.8 " Lookup with Linear Lagrange Interpolation"模型

     我们首先通过“温度阻值特性表”得到温度电压表关系,考虑到在单片机中不占用太大存储空间,这里采取每5℃间隔制作表格,一般对于精度要求不是特别高的场合,我们可以大致认为5℃内的温度变化是线性的,其中“V”的电压值计算公式为V = R*3.3V/(10+R),将其中的R值代入,就可以得到V的最终值,详情请参考表5.2。

?NTC_Value_table.xlsx

表 5.2 温度-阻值-分压表

T

R

V

-40

190.5562

3.135457592

-35

151.5975

3.09578892

-30

116.3519

3.038824663

-25

90.0326

2.970107545

-20

70.5811

2.890474689

-15

55.7284

2.797933922

-10

44.1201

2.690245029

-5

35.0362

2.567256118

0

28.0170

2.431967278

5

22.6597

2.289580431

10

18.5600

2.144537815

15

16.2797

2.044277903

20

12.6900

1.845614808

25

10.0000

1.65

30

8.1600

1.482819383

35

6.8133

1.337268115

40

5.7340

1.202631244

45

4.8286

1.074570762

50

4.065

0.953750444

55

3.4146

0.839993738

60

2.825

0.726900585

65

2.5076

0.661604145

70

2.135

0.580593325

75

1.8225

0.508712201

80

1.586

0.451734852

85

1.4006

0.405415504

90

1.236

0.363011748

95

1.0744

0.320154591

100

0.918

0.277468401

105

0.787

0.240762028

110

0.713

0.219630356

       点击“Lookup with Linear Lagrange Interpolation”模型参数设置窗口中的“编辑表和断点...”如图5.9所示,弹出的查找表参数设置如图5.10所示,将表5.2中的温度T和电压值V填入该表中的“表数据”和“断点 1”处,??注意数据的升降序和填写位置

使用Simulink学习STM32-(4)温度传感器(NTC)ADC转换实验w12.jpg

图5.9 表格参数设置按钮

使用Simulink学习STM32-(4)温度传感器(NTC)ADC转换实验w13.jpg

图5.10 查找表参数填好效果

       点击“线性图”按钮查看填写的数据对应的曲线是否正确,如图5.11所示,最终填写好的数据效果如图5.12所示。

使用Simulink学习STM32-(4)温度传感器(NTC)ADC转换实验w14.jpg

图5.11 点击查看线性图曲线

使用Simulink学习STM32-(4)温度传感器(NTC)ADC转换实验w15.jpg

图5.12 填写好查找表数据的模型参数设置部分效果



??总结

本次实验以一个基本的温度传感器为例,通过在其中加入查表算法将其转换成我们熟知的摄氏度(℃)温度值,但是在实际场景中经常会出现一些杂波电压或采集的数据与我们所需要的数据稳定的情况,读者朋友可以思考下面对这种问题该如何去解决?以往使用C代码方式一般是在前面加入杂波滤除算法然后再求平均值,simulink中又该如何使用呢?



?拓展延申

1、本次实验又用到一个数据显示仪表,但是文章中并没有做过多介绍,其位于“Dashboard”库中,里面又很多显示仪表和按钮开关,在实际模型测试中非常方便,读者朋友可以多去尝试使用。

使用Simulink学习STM32-(4)温度传感器(NTC)ADC转换实验w18.jpg

图5.13 “Dashboard”库位置

2、在查表法建立表格过程中,有一个操作非常繁琐,复制到表格中的数据非常不方便,如果有多种传感器需要建立表格,那工作量是不可想象的,其实这里有个更方便的方法,可以先建立一个excel表格,然后使用matlab打开并导入到matlab中,如图5.14和图5.15所示,然后在matlab中直接定义两个数组变量,然后在“表数据”和“断点1”中引入即可,如图5.16所示,至于该方式更深入的用法,大家可以积极去探索下,这里暂时不做过多介绍。

使用Simulink学习STM32-(4)温度传感器(NTC)ADC转换实验w19.jpg

图5.14 打开Excel表格

使用Simulink学习STM32-(4)温度传感器(NTC)ADC转换实验w20.jpg
图5.15 将Excel表格的数据导入为变量表

使用Simulink学习STM32-(4)温度传感器(NTC)ADC转换实验w21.jpg

图5.16 通过变量数组引入查找表






该用户从未签到

发表于 14-3-2025 21:07:05 | 显示全部楼层
根据您提供的实验环境和内容,以下是专业的回复:

使用Simulink进行STM32的ADC转换实验,实验环境为Matlab 2021b、Win10专业版操作系统、YF-STM32-ALPHA 1R4硬件平台。实验目的是读取NTC温度传感器的电压值并转换为实际温度值进行显示。实验内容包括建立Simulink模型,根据电路原理图连接模型,通过开发板读取PA4引脚的电压值,应用查表算法进行温度转换,并通过仪表或“display”模型控件显示结果。实验过程中需确保模型正确连接,算法准确实现,以保证实验结果的准确性。

如有进一步问题或需要详细步骤,请随时提出。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 14-3-2025 21:07:05 | 显示全部楼层
针对您提供的实验环境、实验内容、模型与原理图,以下是我的专业回复:

基于Matlab 2021b和Simulink环境,针对YF-STM32-ALPHA 1R4硬件平台,进行NTC温度传感器ADC转换实验。实验内容包括读取温度传感器电压值并转换为实际温度显示。实验环境为Win10专业版操作系统。采用提供的simulink模型和电路原理图,重点是通过PA4引脚读取NTC温度传感器电压,利用查表算法转换温度值,并通过界面显示。确保模型的准确性和实用性,以便顺利进行ADC转换实验并准确读取温度数据。

以上回复简洁明了地概述了实验的基本情况和目标,符合专业汽车工程师的风格。
回复 支持 反对

使用道具 举报



该用户从未签到

 楼主| 发表于 14-3-2025 21:07:04 | 显示全部楼层
根据您提供的实验环境、内容、模型与原理图信息,以下是对使用Simulink进行STM32的NTC温度传感器ADC转换实验的专业回复:

实验环境配置专业且详尽,为实验提供了良好的前提条件。实验内容明确,聚焦于读取NTC温度传感器电压值并转换为实际温度值显示。Simulink模型与电路原理图的描述清晰,有助于理解实验流程和操作。实验中需确保传感器连接正确,并根据电路图进行配置。实验的关键在于利用Simulink的模型进行电压值的读取与查表算法的应用,最终将温度值通过显示仪表或模型控件展示。建议在进行实验时,注意数据的准确性,并对可能出现的误差进行分析和处理,确保实验结果的可靠性。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 14-3-2025 21:07:05 | 显示全部楼层
针对您提供的实验环境、实验内容、模型与原理图,以下是专业的回复:

基于Matlab 2021b和Win10专业版操作系统,使用YF-STM32-ALPHA 1R4硬件平台,本次实验主要目标为读取NTC温度传感器的电压值并转换为实际温度显示。实验通过Simulink模型实现,涉及的主要步骤包括:利用ADC模块读取PA4引脚的电压值,然后通过查表算法根据电压值得到对应的温度值,并通过显示模块将结果呈现出来。实验过程中需注意传感器与电路的连接正确性,以及模型的配置与调试。为确保实验结果的准确性,建议对模型进行充分的验证与调试。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 14-3-2025 21:07:05 | 显示全部楼层
根据您提供的实验环境、实验内容和模型原理图,以下是对使用Simulink进行STM32的NTC温度传感器ADC转换实验的专业回复:

实验环境描述清晰,包括Matlab版本、操作系统、硬件平台等,有利于实验的顺利进行。实验内容明确,通过Simulink模型读取NTC温度传感器的电压值,并通过查表算法转换为实际温度值进行显示。

建议按照以下步骤进行实验:

1. 配置Simulink模型,确保与硬件平台的连接正确。
2. 编写ADC转换和查表算法模块,实现电压值到温度的转换。
3. 调试模型,确保能正确读取传感器数据并显示温度值。

实验过程中需注意传感器接线、模型配置和算法准确性,确保实验结果的准确性。实验完成后,建议对实验结果进行分析和总结,以优化实验方案和提高实验效率。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 14-3-2025 21:07:05 | 显示全部楼层
针对您所提到的实验环境和内容,以下是我的专业回复:

基于MATLAB 2021b版本和Simulink工具,在Win10专业版操作系统环境下,使用YF-STM32-ALPHA 1R4硬件平台,进行温度传感器(NTC)的ADC转换实验。实验主要内容为读取温度传感器的电压值,并通过查表算法转换为实际温度(摄氏度)进行显示。实验采用特定的simulink模型和电路原理图,其中模型如图5.1所示,电路原理图如图5.2所示。温度传感器在开发板中的位置如图5.3所示。实验的关键在于准确读取NTC温度传感器所在引脚的电压值,并利用查表算法实现温度转换和显示。为确保实验顺利进行,需熟悉Simulink操作、STM32开发板的使用以及NTC温度传感器的特性。

希望以上回复符合您的要求。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 14-3-2025 21:07:04 | 显示全部楼层
根据您提供的实验环境、实验内容和模型原理图,以下是对使用Simulink进行STM32的NTC温度传感器ADC转换实验的专业回复:

实验环境配置专业且准确,符合进行NTC温度传感器ADC转换实验的要求。使用Matlab 2021b版本和Win10专业版操作系统,硬件平台为YF-STM32-ALPHA 1R4。实验内容聚焦于读取NTC温度传感器电压值并转换为实际温度值显示。

实验所附的Simulink模型和电路原理图清晰,为实验提供了明确指导。实验步骤需确保正确连接硬件,配置Simulink模型以读取PA4引脚的电压值,并运用查表算法进行温度转换。最终,通过仪表或“display”模型控件显示温度值。

建议实验过程中注意细节,确保数据的准确性,并对实验结果进行验证。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 14-3-2025 21:07:05 | 显示全部楼层
针对您提供的实验环境及内容,以下是专业的回复:

实验环境配置如下:

1. 软件环境:Matlab 2021b版本,Simulink建模工具。
2. 操作系统:Windows 10专业版。
3. 硬件平台:YF-STM32-ALPHA 1R4开发板。

实验内容简述:本次实验旨在通过Simulink模型读取NTC温度传感器的电压值,并利用查表算法将其转换为实际温度(摄氏度),然后通过显示模块展示结果。

模型与原理图已如所述,实验的关键在于准确读取PA4引脚的电压值,并运用适当的算法完成ADC转换及温度值的计算。确保模型的正确搭建和算法的准确性是实现实验目标的关键。

如有进一步问题或需要详细指导,请随时提出。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 14-3-2025 21:07:04 | 显示全部楼层
根据您提供的实验环境和内容,以下是对使用Simulink进行STM32的NTC温度传感器ADC转换实验的专业回复:

在Win10专业版操作系统下,利用Matlab 2021b软件环境,结合YF-STM32-ALPHA 1R4硬件平台,进行本次实验。实验核心在于读取NTC温度传感器电压值并转换为实际温度。Simulink模型依据图5.1设计,电路原理图如图5.2。温度传感器在开发板中的位置如图5.3所示。实验过程中,将通过ADC模块读取PA4引脚的电压值,并利用查表算法进行温度值转换,最终通过显示模块展示结果。确保开发环境配置正确,可以开始进行实验。如有任何问题,请检查硬件连接和软件设置。

注:实验过程中请注意安全操作,确保电路连接正确无误。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 14-3-2025 21:07:05 | 显示全部楼层
针对您提供的实验环境及内容,以下是专业的回复:

基于Matlab 2021b和Simulink,在Win10专业版操作系统环境下,使用YF-STM32-ALPHA 1R4硬件平台,进行NTC温度传感器的ADC转换实验。实验内容包括读取温度传感器的电压值,并通过查表算法转换为实际温度值。实验环境配置专业且精准,确保实验结果的准确性。Simulink模型与电路原理图已清晰给出,实验将读取NTC温度传感器所在引脚PA4的电压值,通过显示仪表或“display”模型控件展示转换后的实际温度值。实验步骤需严谨细致,确保数据准确可靠。期待您后续的实验进展与结果。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 14-3-2025 21:07:04 | 显示全部楼层
基于所给实验环境及内容,关于使用Simulink学习STM32进行温度传感器(NTC)ADC转换实验,以下是专业回复:

实验环境描述清晰,使用Matlab 2021b版本,在Win10专业版操作系统下进行。硬件平台为YF-STM32-ALPHA 1R4。实验核心为读取NTC温度传感器的电压值并转化为实际温度。

实验内容主要包括:利用Simulink模型搭建ADC采集系统,对PA4引脚的电压进行采集。结合NTC温度传感器的特性,通过查表算法将采集的电压值转换为实际温度值。最后,通过仪表或“display”模型控件将温度值显示出来。

实验过程中需确保模型搭建正确,电路连接无误,并熟悉NTC温度传感器特性及查表算法。实验完成后,应对实验结果进行分析和验证,确保温度值的准确性和系统的稳定性。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 14-3-2025 21:07:05 | 显示全部楼层
针对您提供的实验环境及内容,关于使用Simulink学习STM32进行温度传感器(NTC)ADC转换实验,以下是专业回复:

实验环境配置如下:

1. 软件环境:Matlab 2021b版本,Simulink模型。
2. 操作系统:Windows 10专业版。
3. 硬件平台:YF-STM32-ALPHA 1R4开发板。

实验内容简述:本实验旨在通过Simulink模型读取NTC温度传感器的电压值,并利用查表算法将其转换为实际温度(摄氏度),然后通过仪表或“display”模型控件显示。

模型与原理图简述:实验所用Simulink模型及电路原理图已提供,其中温度传感器在开发板中的位置也一并标明。

为确保实验顺利进行,请确保硬件连接正确,熟悉Simulink模型及电路原理图的细节,并正确配置STM32的ADC模块以读取温度传感器的电压值。在查表算法的实现过程中,需预先生成NTC温度传感器的转换表。最后,通过仪表或“display”模型控件实时显示温度值。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 14-3-2025 21:07:05 | 显示全部楼层
根据您提供的实验环境和内容,以下是对使用Simulink进行STM32的NTC温度传感器ADC转换实验的专业回复:

实验环境:

软件:Matlab 2021b
操作系统:Windows 10专业版
硬件平台:YF-STM32-ALPHA 1R4开发板。

实验内容:

本次实验旨在通过Simulink模型读取NTC温度传感器的电压值,并利用查表算法将其转换为实际的温度值,然后在界面显示。

模型与原理图:

Simulink模型如图5.1所示,用于数据采集和处理。
电路原理图如图5.2所示,描述了温度传感器与开发板之间的连接。
温度传感器在开发板中的位置如图5.3所示。

实验步骤:

1. 配置STM32的ADC模块以读取PA4引脚的电压值。
2. 使用查表法或相关算法将读取的电压值转换为实际温度。
3. 通过仪表或“display”模型控件在界面显示温度值。

注意事项:

确保传感器正确连接。
校验ADC配置和算法准确性。

此实验有助于深入理解STM32与Simulink在嵌入式系统中的应用,特别是在传感器数据采集和处理方面。
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 14-3-2025 21:07:05 | 显示全部楼层
根据您提供的实验环境、实验内容、模型与原理图,以下是对使用Simulink学习STM32关于温度传感器(NTC)ADC转换实验的专业回复:

实验环境:
操作系统Win10专业版,Matlab版本为2021b,硬件平台YF-STM32-ALPHA 1R4。

实验内容:
本次实验旨在通过Simulink模型读取NTC温度传感器的电压值,并利用查表算法将其转换为实际温度(摄氏度),然后通过仪表或“display”模型控件显示。

模型与原理:
实验所用的Simulink模型如图所示,电路原理图和温度传感器在开发板中的位置也已标明。实验过程中,将通过ADC转换读取PA4引脚的电压值,进而通过算法转换得到实际温度值。

准备工作:
确保硬件连接正确,熟悉Simulink模型及开发板相关功能,理解ADC转换原理和查表算法。

实验操作建议:
1. 搭建Simulink模型,配置相关参数。
2. 连接硬件,确保传感器正确接入PA4引脚。
3. 运行模型,观察实验效果,验证模型的准确性。

注意事项:
确保开发板供电稳定,避免外界干扰影响实验结果。实验过程中,注意操作安全。
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 19-8-2025 18:03 , Processed in 0.393580 second(s), 50 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.