当小车温度降在警报温度以下,LCD屏显示“zheng chang”小车正常转动。
当芯片达到一定温度时候发出报警,Led灯亮,LCD屏显示“wen du gao !”小车停止转动;
1.1.2工作原理STM32单片机内置了一个温度传感器,这个温度传感器产生一个随温度性变化的电压,测量范围为-40 - +125摄氏度。在内部被链接到输出通道ADC_IN16上,用于将传感器的输出转换成数字量。
图2.1温度传感器结构图
STM32单片机内置了一个温度传感器,这个温度传感器产生一个随温度性变化的电压,测量范围为-40 - +125摄氏度。在内部被链接到输出通道ADC_IN16上,用于将传感器的输出转换成数字量。温度传感器模拟输入的采样时间需大于2.2us。在STM32单片机教学开发板上,模拟部分的供电电源VDDA接3.3V,模拟地与系统GND相连。
若要使用STM32自带的温度传感器,需设置ADC控制器2(ADC_CR2)中的TSVREFE控制位,以使能温度传感器Vsense输入通道ADC_IN16和内部参考电压Vrefint输入通道ADC_IN17。通过固件库函数来完成这两个通道的使能。
当fADC = 14MHz,采样时间设为239.5个周期时,则采样时间位39.5/17.1us,这是推荐的采样时间。实际系统时钟往往为72MHz,fADC = 12MHz,可设采样时间位71.5个周期。
ADC_IN16通道上读出温度传感器电压与实际温度的对应关系如下:
Temperature = ((V25 - Vsense) / Avg_Slope)+25
Temoerature = (14.3 – 14.0)*1000/4.3 + 25 = 31.9
由于STM32单片机的ADC是12位的,模拟部分电路的供应电源VDDA接3.3V,所以温度传感器的电压值与转换后数字量关系为:
V = AD_value*3.3 / 4095
2.2设计的结构图图2.2 结构框图
图2.3 1602LCD与STM32单片机连接图
最终按照原理进行连线得到下图实物图:图2.4 实物图
第三章 软件设计利用STM32单片机内置温度传感器检测环境温度的步骤如下:
经过一次次的调试与改进,我们将程序编译下载操作,最终结果如下显示:
4.1串口显示出当前芯片的温度为40.73
4.2当我们设定温度为50时,这是我们的温度是不超过我们设定的警戒值,所以LCD显示“zhang chang”电机正常转动。
利用STM32单片机内部温度传感器监测温度的程序运行结果如图,实际从测量出来的温度值超过正常值太多,找到以下原因:
1、ADC的参考电压不稳定,这是测控问题常见问题;
2、使能ADC前未做校准,校准可以防止内部电容器的不一致性问题;
3、ADC采样转换过程中受到干扰
图5.1 串口显示图
在本次ARM课设—-基于ARM的温度采集系统中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我们所学到的知识运用到实践中去。在大学课堂的学习只是给我们灌输专业知识,而我们应把所学的知识应用到我们现实的生活中去。通过此次设计,充分认识到动手实践的重要性,在几基本的实验课以及本次课设中都会出现一些问题,而我们正是要发现这些问题,去解决他们。也同时让我感受到ARM在生活中的作用以及一些应用拓展。让我学到很多,不仅仅来自课本中的知识。
以上的Word格式文档51黑下载地址:
文档.doc
(10.03 MB, 下载次数: 20)
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |