嵌入式课程设计温度传感器-课程设计
基于嵌入式的温度传感器的设计
目录第一章系统概要 (1)1.1 系统背景 (1)1.2 系统功能框图 (1)第二章系统硬件设计 (2)2.1 系统原理图 (2)2.2 单片机(MCU)模块 (2)2.2.1 MC908GP32单片机性能概述 (2)2.2.2 内部结构简图与引脚功能 (3)2.2.3 GP32最小系统 (5)2.3 传感器模块 (6)2.4 信号放大模块 (7)2.5 A/D转换模块 (7)2.5.1 进行A/D转换的基本问题 (7)2.5.2 A/D转换模块的基本编程方法 (8)2.5.3 A/D芯片TCL2543概述 (8)2.6 串行通信模块 (11)2.6.1 串行通信常用概念 (11)2.6.2 RS-232C总线标准 (12)第三章系统软件设计 (14)3.1 MCU方(C)程序 (14)3.1.1 A/D转换子程序 (14)3.1.2 串行通信子程序 (17)3.2 PC方(VB)程序 (19)3.3 PC方界面 (24)第四章系统测试 (24)第五章总结展望 (25)5.1 总结 (25)5.2 展望 (25)参考文献 (26)第一章系统概要1.1 系统背景温度是日常生活、工业、医学、环境保护、化工等领域遇到的一个物理量。
温度测量的基本方法是使用温度计直接读取。
最常见的测量温度的工具是各种各样的温度计,它们常常以刻读的形式表示温度的高低,人们必须通过读取刻度的多少来测量温度。
由于单片机在检测和控制系统中得到广泛的应用,利用单片机和温度传感器构成的电子式智能温度计就可以直接测量温度,得到温度的数字值并显示出来,既简单方便,又直观准确。
本次课程设计的目的是以MC908GP32单片机为核心设计出一个路温度测量系统。
设计将温度传感器采样得到的模拟信号转换成数字信号,通过串口在PC 的界面显示出来。
本次课程设计用温度传感器将被测温度转换为电量,经过放大滤波电路处理后,由模数转换器将模拟量转换为数字量,再与单片机相连,通过可编程键盘显示接口芯片实现温度限值的设定。
嵌入式系统课程设计温度检测报警系统
嵌入式系统课程设计姓名:班级:学号:.目录:一.系统要求二.设计方案三.程序流程图四.软件设计五.课程总结与个人体会.一、系统要求使用STM32F103作为主控CPU设计一个温度综合测控系统,具体要求:1、使用热敏电阻或者内部集成的温度传感器检测环境温度,每0.1秒检测一次温度,对检测到的温度进行数字滤波(可以使用平均法)。
记录当前的温度值和时间。
2、使用计算机,通过串行通信获取STM32F103检测到的温度和所对应的时间。
3、使用计算机进行时间的设定。
4、使用计算机进行温度上限值和下限值的设定。
5、若超过上限值或者低于下限值,则STM32进行报警提示。
.二、设计方案本次课程设计的要求是使用STM32F103设计一个温度测控系统,这款单片机集成了很多的片上资源,功能十分强大,我使用了以下部分来完成课程设计的要求:1、STM32F103内置了3个12位A/D转换模块,最快转换时间为1us。
本次课程设计要求进行温度测定,于是使用了其中一个ADC对片上温度传感器的内部信号源进行转换。
当有多个通道需要采集信号时,可以把ADC配置为按一定的顺序来对各个通道进行扫描转换,本设计只采集一个通道的信号,所以不使用扫描转换模式。
本设计需要循环采集电压值,所以使用连续转换模式。
2、本次课程设计还使用到了DMA。
DMA是一种高速的数据传输操作,允许在外部设备和储存器之间利用系统总线直接读写数据,不需要微处理器干预。
使能ADC的DMA接口后,DMA控制器把转换值从ADC数据寄存器(ADC_DR)中转移到变量ADC_ConvertedValue中,当DMA传输完成后,在main函数中使用的ADC_ConvertedValue的内容就是ADC转换值了。
3、STM32内部的温度传感器和ADCx_IN16输入通道相连接,此通道把传感器输出的电压值转换成数字值。
STM内部的温度传感器支持的温度范围:-40到125摄氏度。
利用下列公式得出温度温度(°C) = {(V25 - VSENSE) / Avg_Slope} + 25式中V25是 VSENSE在25摄氏度时的数值(典型值为1.42V))曲线的平均斜率(典型值为4.3mV/C是温度与Avg_SlopeVSENSE利用均值法对转换后的温度进行滤波,将得到的温度通过串口输出。
嵌入式课程设计-- 基于嵌入式系统的传感器环境检测
嵌入式系统软件开发课程设计报告题目:基于嵌入式系统的传感器环境检测学院: 物理与电子信息工程学院专业: 计算机科学与技术班级: 10计本姓名: 左凌轩学号: 10110013151 指导老师: 徐玉完成日期: 2013.3.30目录摘要 (I)Abstract (II)第一章设计目的 (3)1.1 掌握STM32嵌入式系统各功能模块的使用方法。
(3)1.2 掌握SHT1x温湿度传感器、BMP085气压传感器、GL5528光敏电阻、雨量传感器的数据采集与处理方法。
(3)1.3 掌握嵌入式系统上位机软件的实现方法。
(3)第二章课程设计要求 (3)2.1 嵌入式系统要求 (3)2.2 上位机要求 (3)第三章系统原理 (3)3.1硬件电路 (3)3.2 SHT1x温湿度传感器 (4)3.3 BMP085气压传感器 (4)3.4 GL5528光敏电阻 (4)3.5 雨量传感器 (5)第四章系统开发步骤 (5)4.1开发板模块初始配置 (5)4.2传感器模块初始配置 (5)4.3 UI、传感器数据读取显示以及串口传输 (5)4.4上位机串口软件编写以及测试 (6)4.5 整体测试和调试 (8)第五章总结 (11)第六章附录 (12)6.1 Comopeator(主界面) (12)6.2 history(查看历史界面) (22)摘要设计多传感器实现环境质量检测的多功能、实时数据保存以及查看,有利于各个领域在环境方面的检测和测试,方便在环境相应参数的调查和研究。
本文采用Stm32开发版、BMP085、SHT1X、光强、雨量等灵敏度较高的先进传感器分别检测温度、气压、湿度、光强、雨量,并在上位机中用C++实现实时显示和数据库的保存。
从设计中,各种检测和数据挖掘明显趋于简单。
关键词:传感器检测数据注:上位机关键代码见附录Abstract .Key Words:第一章设计目的1.1 掌握STM32嵌入式系统各功能模块的使用方法。
51温度传感器课程设计
51温度传感器课程设计一、课程目标知识目标:1. 学生能够理解温度传感器的基本原理,掌握51温度传感器的工作方式和特点。
2. 学生能够描述温度传感器在智能控制系统中的应用,并解释其重要性。
3. 学生能够运用数学知识,对温度传感器采集的数据进行分析和处理。
技能目标:1. 学生能够正确连接和配置51温度传感器,完成温度监测电路的搭建。
2. 学生能够编写程序,实现对温度的实时采集、显示和处理。
3. 学生能够运用问题解决策略,对温度控制系统的故障进行诊断和修复。
情感态度价值观目标:1. 学生对温度传感器和智能控制系统产生兴趣,增强对科学技术的热爱和好奇心。
2. 学生在合作探究中,培养团队精神和沟通能力,提高自信心和自主学习能力。
3. 学生认识到温度控制在日常生活和工业生产中的重要性,增强环保意识和责任感。
分析课程性质、学生特点和教学要求:本课程为初中信息技术课程,结合学生已有物理、数学知识,以实用性为导向,强调知识与实践相结合。
学生特点为好奇心强,喜欢动手实践,但理论知识掌握程度不一。
因此,教学要求注重理论与实践相结合,引导学生主动探究,提高学生的动手能力和解决问题的能力。
二、教学内容1. 温度传感器原理:介绍温度传感器的基本工作原理,包括热敏电阻的阻值随温度变化的特性,重点讲解NTC热敏电阻的原理及应用。
2. 51温度传感器介绍:详细讲解51温度传感器的结构、性能参数及使用方法,结合教材相关章节,使学生了解其在智能控制系统中的应用。
3. 温度监测电路搭建:指导学生按照教材步骤,正确连接和配置51温度传感器,完成温度监测电路的搭建,学习电路图识读和电子元件的使用。
4. 编程与数据处理:教授学生编写程序,实现对温度的实时采集、显示和处理,结合数学知识,对采集到的数据进行分析和计算。
5. 故障诊断与修复:培养学生运用问题解决策略,对温度控制系统的故障进行诊断和修复,提高学生的动手能力和实际操作技能。
6. 实践应用:结合实际案例,让学生了解温度控制在日常生活和工业生产中的应用,激发学生学习兴趣,提高学生的创新意识。
温度传感器课程设计
温度传感器课程设计
温度传感器是一种用于测量环境温度的设备,广泛应用于工业控制、医疗设备、家用电器等领域。
在现代科技发展迅速的背景下,温度传感器的应用越来越广泛,因此温度传感器的相关知识和技能也成为了许多工程技术人员必备的技能之一。
针对这一需求,设计一门“温度传感器课程”是非常有必要的。
这门课程旨在帮助学生掌握温度传感器的工作原理、类型、应用领域以及相关的电路设计和数据处理技术。
通过学习这门课程,学生将能够了解温度传感器的基本原理和性能指标,掌握温度传感器的选型和安装方法,以及温度传感器在实际工程中的应用技巧。
首先,课程将介绍温度传感器的基本原理和工作方式,包括热敏电阻、热电偶、红外线传感器等不同类型的温度传感器的工作原理和特点。
其次,课程将重点介绍温度传感器在工业控制、医疗设备、家用电器等领域的应用,以及在不同应用场景下的选型和安装技巧。
此外,课程还将介绍温度传感器的电路设计和数据处理技术,帮助学生掌握温度传感器信号的放大、滤波、数字化等技术。
在课程设计方面,可以采用理论教学与实践操作相结合的方式。
理论教学部分可以通过课堂讲授、案例分析、实验演示等方式进行,让学生在理论学习中获得系统的知识结构;实践操作部分可以通过实验课、实训课等形式进行,让学生在实际操作中掌握温度传感器的选型、安装、调试等技术技能。
总之,“温度传感器课程设计”旨在帮助学生系统掌握温度传感器的相关知识和技能,提高他们在工程技术领域的应用能力,促进温度传感器技术的应用与推广。
希望这门课程能够为学生们提供全面的学习平台,让他们在未来的工作中能够游刃有余地应用温度传感器技术,为社会发展做出更大的贡献。
数字温度传感器课程设计
数字温度传感器课程设计一、课程目标知识目标:1. 学生能理解数字温度传感器的基本工作原理,掌握相关的物理概念和术语。
2. 学生能描述数字温度传感器在智能控制系统中的应用,并列举至少三种实际应用场景。
3. 学生能解读数字温度传感器输出的数据,并进行简单的数据转换。
技能目标:1. 学生能够正确使用数字温度传感器进行温度测量,并完成数据采集。
2. 学生能够运用编程软件对数字温度传感器进行控制,实现对温度的实时监控。
3. 学生能够通过小组合作,设计并实施一个简单的数字温度传感器应用项目。
情感态度价值观目标:1. 学生能够认识到数字温度传感器在生活中的广泛应用,增强对科技的兴趣和认识。
2. 学生通过实践操作,培养动手能力、观察力和问题解决能力。
3. 学生在小组合作中,学会沟通与协作,培养团队精神和集体荣誉感。
课程性质:本课程为信息技术与物理学科的跨学科课程,注重理论联系实际,强调学生的动手操作和实际应用。
学生特点:初三学生具备一定的物理知识和信息技术基础,对新鲜事物充满好奇心,善于合作与交流。
教学要求:结合学生特点,注重理论与实践相结合,通过项目式学习,提高学生的实际操作能力和问题解决能力。
在教学过程中,关注学生的个体差异,给予个性化指导,确保课程目标的实现。
将目标分解为具体的学习成果,便于后续教学设计和评估。
二、教学内容1. 数字温度传感器基础知识:- 温度传感器原理与分类- 数字温度传感器的工作原理- 常见数字温度传感器的结构与性能2. 数字温度传感器的应用:- 数字温度传感器在智能控制系统中的应用- 实际应用场景案例分析- 数字温度传感器选型依据3. 数据采集与处理:- 数字温度传感器输出数据的读取与转换- 数据采集系统的搭建与编程- 温度监控系统的设计与实现4. 实践操作与项目设计:- 数字温度传感器的使用与调试- 小组合作进行温度测量与监控系统设计- 项目展示与评价教学大纲安排:第一课时:数字温度传感器基础知识学习第二课时:数字温度传感器应用案例分析第三课时:数据采集与处理方法学习第四课时:实践操作与项目设计教材关联章节:《信息技术》中关于传感器及其应用的相关章节;《物理》中关于温度及其测量、数据采集与处理的相关章节。
嵌入式系统课程设计温度检测报警系统解读
嵌入式系统课程设计姓名:班级:学号:目录:一.系统要求二.设计方案三.程序流程图四.软件设计五.课程总结与个人体会一、系统要求使用STM32F103作为主控CPU设计一个温度综合测控系统,具体要求:1、使用热敏电阻或者内部集成的温度传感器检测环境温度,每0.1秒检测一次温度,对检测到的温度进行数字滤波(可以使用平均法)。
记录当前的温度值和时间。
2、使用计算机,通过串行通信获取STM32F103检测到的温度和所对应的时间。
3、使用计算机进行时间的设定。
4、使用计算机进行温度上限值和下限值的设定。
5、若超过上限值或者低于下限值,则STM32进行报警提示。
二、设计方案本次课程设计的要求是使用STM32F103设计一个温度测控系统,这款单片机集成了很多的片上资源,功能十分强大,我使用了以下部分来完成课程设计的要求:1、STM32F103内置了3个12位A/D转换模块,最快转换时间为1us。
本次课程设计要求进行温度测定,于是使用了其中一个ADC对片上温度传感器的内部信号源进行转换。
当有多个通道需要采集信号时,可以把ADC配置为按一定的顺序来对各个通道进行扫描转换,本设计只采集一个通道的信号,所以不使用扫描转换模式。
本设计需要循环采集电压值,所以使用连续转换模式。
2、本次课程设计还使用到了DMA。
DMA是一种高速的数据传输操作,允许在外部设备和储存器之间利用系统总线直接读写数据,不需要微处理器干预。
使能ADC的DMA接口后,DMA控制器把转换值从ADC 数据寄存器(ADC_DR)中转移到变量ADC_ConvertedValue中,当DMA 传输完成后,在main函数中使用的ADC_ConvertedValue的内容就是ADC转换值了。
3、STM32内部的温度传感器和ADCx_IN16输入通道相连接,此通道把传感器输出的电压值转换成数字值。
STM内部的温度传感器支持的温度范围:-40到125摄氏度。
利用下列公式得出温度温度(°C) = {(V25 - VSENSE) / Avg_Slope} + 25式中V25是 VSENSE在25摄氏度时的数值(典型值为1.42V)Avg_Slope是温度与VSENSE曲线的平均斜率(典型值为4.3mV/C)利用均值法对转换后的温度进行滤波,将得到的温度通过串口输出。
基于单片机的电子式智能温度计设计 嵌入式系统课程设计
基于单片机的电子式智能温度计设计嵌入式系统课程设计计算机科学系课程设计报告环节名称:嵌入式系统课程设计姓名:学号:班级:时间: 2011-07-9地点: 1408/科技制作中心指导教师:一、任务和要求1、课程设计任务:(1).分组完成一个课题的制作。
(2).按要求完成课题的功能。
(3).绘制电路的原理图,使用Protues仿真软件进行仿真调试。
(4).利用Protel DXP2004 设计PCB电路图,并进行PCB板子的制作。
(5).进行元器件的焊接、装配,并进行硬件测试。
(6).进行软、硬件联机调试。
(7).安装成产品。
2、课程设计要求:本设计通过理论学习,资料查阅,软、硬件设计,系统调试等环节,巩固和提高所学的知识和应用水平,进一步学习和领会嵌入式电子产品开发方法和技巧,提高自己的分析问题和解决问题的能力,提高学生的实际动手能力。
学会提出问题,观察和分析问题,得到最终的科学方法。
培养团队合作精神,严谨的工作作风,务实的工作态度。
为今后的毕业设计,及从事嵌入式电子产品的设计与维护奠定坚实的基础。
二、内容和结果1、(1)设计意义:温度计是日常生活、工业、医学、环境保护、化工、石油等领域最常遇到的一个物理量。
测量温度的基本方法是使用温度计直接读取温度。
最常见到的测量温度的工具是各种各样的温度计,例如,水银玻璃温度计,酒精温度计,热电偶或热电阻温度计等。
它们常常以刻度的形式表示温度的高低,人们必须通过读取刻度值的多少来测量温度。
但是传统的温度计还不够准确,并且不太方便查看,所以数字的温度计开始应运而生,也开始扩大了使用的范围,所以这种温度计不仅有很大的市场,同时还有很大的使用价值。
利用单片机和温度传感器构成的电子式智能温度计就可以直接测量温度,得到温度的数字值,既简单方便,又直观准确。
(2)本人所做工作:1.首先是计划任务书的编写,然后进行protues原理图的绘制。
2.进行电源部分的设计。
3.显示与温度计算和主函数部分的程序编辑。
温度传感器课程设计
华南师范大学增城学院课程论文题目:智能温度测量装置课程名称传感器与检测技术考查学期2013/2014 学年第 1学期考查方式课程论文姓名学号专业应用电子成绩指导教师摘要 (2)一、创作背景: (3)二、元件选择与说明 (3)2.1 Pt100温度传感器 (3)2.2 AT89C51单片机 (4)2.3 运算放大器 (5)2.4 A/D转换电路 (5)2.5 LCD显示器 (6)三、系统总体设计介绍 (6)四、软件设计 (7)4.1 系统软件设计说明 (7)4.2 软件的有关算法 (7)4.3 软件的流程图 (9)五、课程设计心得体会 (9)六、参考文献 (11)本文主要介绍了智能温度测量仪的设计,包括硬件和软件的设计。
先对该测量仪进行概括性介绍,然后介绍该测量仪在硬件设计上的主要器件:“Pt100热电阻”、AT89C51单片机和LCD显示器以及描述测量仪的总体结构原理。
在本设计中,是以铂电阻PT100作为温度传感器,采用恒流测温的方法,通过单片机进行控制,用放大器、A/D转换器进行温度信号的采集。
关键词:温度;Pt100热电阻;AT89C51单片机;LCD显示器。
一、创作背景:随着科技的发展和“信息时代”的到来,作为获取信息的手段——传感器技术得到了显著的进步,其应用领域越来越广泛,对其要求越来越高,需求越来越迫切。
因此,了解并掌握各传感器的基本结构、工作原理及特性是非常重要的。
传感器主要用于测量和控制系统,它的性能好坏直接影响系统的性能。
因此,不仅必须掌握各类传感器的结构、原理及其性能指标,还必须懂得传感器经过适当的接口电路调整才能满足信号的处理、显示和控制的要求,而只有通过对传感器应用实例的原理和智能传感器实例的分析了解,才能将传感器和信息通信与信息处理结合起来,适应传感器的生产、研制、开发和应用。
另一方面,传感器的被测信来自于各个应用领域,每个领域都为了改革生产力、提高工效和时效,各自都在开发研制适合应用的传感器,于是种类繁多的新型传感器及传感器系统不断涌现。
嵌入式课程设计温度传感器-课程设计(1)
嵌入式系统原理与应用课程设计—基于ARM9的温度传感器学号:************班级:**************1班姓名:李*指导教师:邱*课程设计任务书班级: *************姓名:*****设计周数: 1 学分: 2指导教师: 邱选兵设计题目: 基于ARM9的温度传感器设计目的及要求:目的:1.熟悉手工焊锡的常用工具的使用及其维护与修理。
2.基本掌握手工电烙铁的焊接技术,能够独立的完成简单电子产品的安装与焊接。
熟悉电子产品的安装工艺的生产流程。
3.熟悉印制电路板设计的步骤和方法,熟悉手工制作印制电板的工艺流程,能够根据电路原理图,元器件实物设计并制作印制电路板。
4.熟悉常用电子器件的类别、型号、规格、性能及其使用范围,能查阅有关的电子器件图书。
5.能够正确识别和选用常用的电子器件,并且能够熟练使用普通万用表和数字万用表。
6.掌握和运用单片机的基本内部结构、功能部件、接口技术以及应用技术。
7.各种外围器件和传感器的应用;8.了解电子产品的焊接、调试与维修方法。
要求:1.学生都掌握、单片机的内部结构、功能部件,接口技术等技能;2.根据题目进行调研,确定实施方案,购买元件,并绘制原理图,焊接电路板,调试程序;3.焊接和写汇编程序及调试,提交课程设计系统(包括硬件和软件);.4.完成课程设计报告设计内容和方法:使用温度传感器PT1000,直接感应外部的温度变化。
使用恒流源电路,保证通过PT1000的电流相等,根据PT1000的工作原理与对应关系,得到温度与电阻的关系,将得到的电压放大20倍。
结合ARM9与LCD,将得到的参量显示在液晶屏上。
目录第一章绪论 (1)第二章系统总体结构 (2)2.1 硬件框图 (2)2.2 器件选用 (2)第三章硬件结构 (3)3.1 数据采集模块 (3)3.11 PT1000铂热电阻 (3)3.12 稳压二极管IN4728 (5)3.13 LM324 (6)3.2 数据处理模块 (6)3.21 STM32 (6)3.22TFT- LCD (8)3.23 ADC 控制寄存器 (9)第四章软件结构 (11)第五章总结 (16)第六章参考文献 (17)附录一 (18)附录二.............................................................................................错误!未定义书签。
温度传感器课程设计world
温度传感器课程设计world一、教学目标本课程的教学目标是使学生掌握温度传感器的基本原理、种类、特点及应用。
通过本课程的学习,学生应能理解温度传感器的原理,掌握不同类型温度传感器的结构和工作特点,了解温度传感器的应用领域,并具备一定的实际操作能力。
1.理解温度传感器的基本原理。
2.掌握常见温度传感器的结构和工作特点。
3.了解温度传感器的应用领域。
4.能够分析并选择合适的温度传感器。
5.能够进行温度传感器的安装和调试。
6.能够利用温度传感器进行简单的温度控制。
情感态度价值观目标:1.培养学生对温度传感器的兴趣,提高学生学习的积极性。
2.培养学生团队合作精神,提高学生实际操作能力。
二、教学内容本课程的教学内容主要包括温度传感器的基本原理、种类、特点及应用。
具体内容包括:1.温度传感器的基本原理:温度传感器的定义、工作原理及分类。
2.温度传感器的种类:热电阻、热电偶、红外传感器等。
3.温度传感器的特点:准确性、稳定性、响应时间等。
4.温度传感器的应用:工业生产、家电、医疗等领域。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法、实验法等。
1.讲授法:通过讲解温度传感器的基本原理、种类、特点及应用,使学生掌握相关知识。
2.讨论法:学生进行小组讨论,分享对温度传感器的理解和看法,提高学生的思考和表达能力。
3.案例分析法:分析实际应用中的温度传感器案例,使学生更好地理解温度传感器的应用。
4.实验法:安排实验室实践环节,让学生亲自动手进行温度传感器的安装和调试,提高学生的实际操作能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:选用符合课程要求的教材,为学生提供系统、科学的学习材料。
2.参考书:提供相关领域的参考书籍,帮助学生深入理解温度传感器的相关知识。
3.多媒体资料:制作课件、视频等多媒体资料,以直观、生动的方式展示温度传感器的相关内容。
linux课程设计温度传感器1
江西理工大学应用科学学院嵌入式系统开发技术课程设计专业:电子信息工程班级:电信121 学号:姓名:贺佳设计题目:Linux温度传感器驱动程序2015年11月24日江西理工大学应用科学学院课程设计姓名贺佳班级电信121 学号课设题目基于嵌入式Linux温湿度传感器驱动程序指导教师王苏敏评分项目满分分值得分设计文档(30分)文档格式封面 2页面布局 4目录格式 3图表质量 2页眉页脚 2 文档内容内容完整性 6内容逻辑性 5内容正确性 6程序代码(30分)程序功能15 编程规范7 编程文档8答辩(20分)课题陈述7 问题答辩10 是否超时 3考勤(20分)20总评成绩指导教师评语签名:年月日教研室意见签名:年月日贺佳:Linux温度传感系统设计基于嵌入式Linux温湿度传感器驱动程序2.需求分析在工业控制和工业生产领域中, 传感器对于工业控制和生产环境的监控作用不言而喻。
传统的传感器监控系统大都采用单片机控制, 其监控的准确度和实时性不太令人满意。
本文寻找到一套切实可行的传感器设计方案,其利用温湿度传感器芯片,,基于PXA310硬件平台和操作系统,能有效监控现场温湿度Linux变化。
在周围环境发生变化, 不能满足工作要求时,可以获取监控数据并提出预警, 提高生产和工作环境检测的可靠性及实时性。
温度设计传感器电路设计比较了一些传感器应用设计方案后,选用SHTl O 芯片为嵌入式温湿度传感器的核心部件。
它外围电路简便,相比其他传感器芯片(DSl 8820)有其独到优势[1]。
STHlO 每秒可进行 3 次温湿度测量,数据精度 14 bit 并且工作稳定。
其测量采用 CMOSens 专利[2],所以在测量效率和精度上要好于。
采用单单、线控制方案( l-wire),大约每秒测量一次,9 位数字式温度数据;只提供温度测量需求概述SHTlO 是一款高度集成的温湿度传感器芯片,提供全量程标定数字输出。
传感器包括一个电窑性聚合体湿度敏感元件和一个用能隙材料制成的温度敏感元件,他们与个 14 位 AI D 转换器以及一个串行接口电路设计在同一个芯片上面。
(完整word版)嵌入式系统课程设计(温度检测报警系统).docx
嵌入式系统课程设计姓名:班级:学号:目录:一.系统要求二.设计方案三.程序流程图四.软件设计五.课程总结与个人体会一、系统要求使用 STM32F103 作为主控CPU 设计一个温度综合测控系统,具体要求:1、使用热敏电阻或者内部集成的温度传感器检测环境温度,每0.1 秒检测一次温度,对检测到的温度进行数字滤波(可以使用平均法)。
记录当前的温度值和时间。
2、使用计算机,通过串行通信获取STM32F103 检测到的温度和所对应的时间。
3、使用计算机进行时间的设定。
4、使用计算机进行温度上限值和下限值的设定。
5、若超过上限值或者低于下限值,则STM32 进行报警提示。
二、设计方案本次课程设计的要求是使用STM32F103设计一个温度测控系统,这款单片机集成了很多的片上资源,功能十分强大,我使用了以下部分来完成课程设计的要求:1、STM32F103内置了 3 个 12 位 A/D 转换模块,最快转换时间为1us。
本次课程设计要求进行温度测定,于是使用了其中一个 ADC对片上温度传感器的内部信号源进行转换。
当有多个通道需要采集信号时,可以把 ADC配置为按一定的顺序来对各个通道进行扫描转换,本设计只采集一个通道的信号,所以不使用扫描转换模式。
本设计需要循环采集电压值,所以使用连续转换模式。
2、本次课程设计还使用到了DMA。
DMA是一种高速的数据传输操作,允许在外部设备和储存器之间利用系统总线直接读写数据,不需要微处理器干预。
使能 ADC的 DMA接口后,DMA控制器把转换值从 ADC 数据寄存器 (ADC_DR)中转移到变量 ADC_ConvertedValue 中,当 DMA 传输完成后,在 main 函数中使用的 ADC_ConvertedValue 的内容就是ADC转换值了。
3、STM32内部的温度传感器和ADCx_IN16输入通道相连接,此通道把传感器输出的电压值转换成数字值。
STM内部的温度传感器支持的温度范围: -40 到 125 摄氏度。
嵌入式系统课程设计(基于ARM的温度采集系统设计)
嵌入式系统课程设计(基于ARM的温度采集系统设计)1000
字
嵌入式系统是一种基于微处理器或微控制器、专用硬件和软件的计算机系统,具有小型化、低功耗、实时性强等特点。
本次课程设计旨在设计一种基于ARM的温度采集系统,实现对温度值的实时监测与显示。
首先,需要选用一款适合嵌入式系统的ARM处理器。
考虑到性能和功耗的平衡,本次选用STM32F103C8T6处理器。
其主要特点有:基于ARM Cortex-M3内核,时钟频率为72MHz,具有64KB闪存和20KB SRAM。
接下来,需要选择温度传感器。
考虑到成本和精度等因素,本次选用DS18B20数字温度传感器。
DS18B20具有以下特点:数字接口,
精度为±0.5℃,温度响应快速,封装为TO-92。
然后,需要编写嵌入式软件。
本次采用Keil MDK-ARM开发环境,编写C语言程序。
程序主要包括以下部分:
1. 初始化:包括STM32外设的初始化,如时钟、GPIO、USART等。
2. 温度采集:通过OneWire协议与DS18B20通信,读取温度值,计算并保存到指定变量中。
3. 温度显示:使用USART串口通信,把温度值转换为ASCII码,并通过串口发送到上位机。
上位机可以使用串口调试助手等软件进行数据接收和显示。
最后,进行实验测试。
将DS18B20连接到STM32,把程序烧录到处
理器中,通过串口调试助手连接上位机,即可实时显示温度值。
实验测试表明,该系统温度采集准确可靠,响应速度快,可广泛应用于各种实时温度监测场景。
嵌入式系统课程设计(温度检测报警系统)
嵌入式体系课程设计【1 】姓名:班级:学号:目次:一.体系请求二.设计计划三.程序流程图四.软件设计五.课程总结与小我领会一.体系请求运用STM32F103作为主控CPU设计一个温度分解测控体系,具体请求:1.运用热敏电阻或者内部集成的温度传感器检测情况温度,每0.1秒检测一次温度,对检测到的温度进行数字滤波(可以运用平均法).记载当前的温度值和时光.2.运用盘算机,经由过程串行通讯获取STM32F103检测到的温度和所对应的时光.3.运用盘算机进行时光的设定.4.运用盘算机进行温度上限值和下限值的设定.5.若超出上限值或者低于下限值,则STM32进行报警提醒.二、设计计划本次课程设计的请求是运用STM32F103设计一个温度测控体系,这款单片机集成了许多的片上资本,功效十分壮大,我运用了以下部分来完成课程设计的请求:1、STM32F103内置了3个12位A/D转换模块,最快转换时光为1us.本次课程设计请求进行温度测定,于是运用了个中一个ADC对片上温度传感器的内部旌旗灯号源进行转换.当有多个通道须要收集旌旗灯号时,可以把ADC设置装备摆设为按必定的次序来对各个通道进行扫描转换,本设计只收集一个通道的旌旗灯号,所以不运用扫描转换模式. 本设计须要轮回收集电压值,所以运用持续转换模式.2、本次课程设计还运用到了DMA.DMA是一种高速的数据传输操纵,许可在外部装备和储存器之间运用体系总线直接读写数据,不须要微处理器干涉.使能ADC的DMA接口后,DMA控制器把转换值从ADC 数据存放器(ADC_DR)中转移到变量ADC_ConvertedValue中,当DMA 传输完成后,在main函数中运用的ADC_ConvertedValue的内容就是ADC转换值了.3、STM32内部的温度传感器和ADCx_IN16输入通道相衔接,此通道把传感器输出的电压值转换成数字值.STM内部的温度传感器支撑的温度规模:-40到125摄氏度.运用下列公式得出温度温度(°C) = {(V25 - VSENSE) / Avg_Slope} + 25式中V25是 VSENSE在25摄氏度时的数值(典范值为1.42V)Avg_Slope是温度与VSENSE曲线的平均斜率(典范值为4.3mV/C)运用均值法对转换后的温度进行滤波,将得到的温度经由过程串口输出.4、本设计采取了USART1作为串行通讯接口,来进行时光.温度的传输,以及进行时光和温度高低限的设定.5、当温度超出高低限时,开辟板上的灯会响应亮起作为警报,运用了GPIO设置装备摆设引脚.6、时光计时运用了systick时钟,并设置装备摆设个中止,由此进行一秒准时,实现时钟的及时显示.7、时光设定部分参考了一个两位数字读取的函数,在进入主轮回前设定参数,从而防止了在串口中止中输入只能一次性输入所有参数的弊病.三、程序流程图用到的库文件:本身编写的文件:main文件:#include "stm32f10x.h"#include "stdarg.h"#include "stdio.h"#define ADC1_DR_Address ((uint32_t)0x4001244C) extern __IO u16 ADC_ConvertedValue;extern __IO u16 calculated_temp;__IO u16 Current_Temp;unsigned char sec=0,min=0,hour=0;typedef struct{int tm_sec;int tm_min;int tm_hour;}rtc_time;rtc_time systmtime;__IO u16 upper_bound;__IO u16 lower_bound;//static uint8_t USART_Scanf(uint32_t value);void Time_Regulate(rtc_time *tm);unsigned int TimingDelay=0;unsigned int KEY_ON;unsigned int KEY_OFF;void Delay(u32 count){u32 i=0;for(;i<count;i++);}void LED_GPIO_Config(){GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE); // 使能PD端口时钟GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO 速度50MHz}void SysTick_Init(){if (SysTick_Config(SystemCoreClock / 1000)){while(1);}SysTick->CTRL &= ~ SysTick_CTRL_ENABLE_Msk;//封闭滴答准时器//SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;//开启滴答准时器}void Delay_ms(__IO u32 nTime){TimingDelay=nTime;SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;//打开while(TimingDelay != 0);}void RCC_Config(void)//设置装备摆设时钟{RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);//DMA RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_GPIOC, ENABLE);//ADC1 and GPIOCRCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE);//USARTRCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE); // 使能PD端口时钟 LED}void GPIO_Config(void){GPIO_InitTypeDef GPIO_InitStructure;/***Config PA.01 (ADC1)***/GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;GPIO_Init(GPIOC, &GPIO_InitStructure);/***Config LED ***/GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO 速度50MHz/***Config USART ***//* Configure USART1 Tx (PA.09) as alternate function push-pull */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);/* Configure USART1 Rx (PA.10) as input floating */GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOA, &GPIO_InitStructure);}void DMA_Config(void){/* DMA channel1 configuration */DMA_InitTypeDef DMA_InitStructure;DMA_DeInit(DMA1_Channel1);DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address; /*ADC??*/DMA_InitStructure.DMA_MemoryBaseAddr = (u32)&ADC_ConvertedValue;DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;DMA_InitStructure.DMA_BufferSize = 16;DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable;DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;DMA_InitStructure.DMA_Priority = DMA_Priority_High;DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;DMA_Init(DMA1_Channel1, &DMA_InitStructure);/* Enable DMA channel1 */DMA_Cmd(DMA1_Channel1, ENABLE);}void ADC1_Config(void){ ADC_InitTypeDef ADC_InitStructure;ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;ADC_InitStructure.ADC_ScanConvMode = ENABLE ;ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;ADC_InitStructure.ADC_NbrOfChannel = 1;ADC_Init(ADC1, &ADC_InitStructure);/* ADC1 regular channel16 configuration */ADC_RegularChannelConfig(ADC1, ADC_Channel_16, 1, ADC_SampleTime_55Cycles5);ADC_TempSensorVrefintCmd(ENABLE);ADC_DMACmd(ADC1, ENABLE);ADC_Cmd(ADC1, ENABLE);ADC_ResetCalibration(ADC1);while(ADC_GetResetCalibrationStatus(ADC1));ADC_StartCalibration(ADC1);while(ADC_GetCalibrationStatus(ADC1));ADC_SoftwareStartConvCmd(ADC1, ENABLE);}void USART1_Config(void){USART_InitTypeDef USART_InitStructure;USART_ART_BaudRate = 9600;USART_ART_WordLength = USART_WordLength_8b; USART_ART_StopBits = USART_StopBits_1;USART_ART_Parity = USART_Parity_No ;USART_ART_HardwareFlowControl = USART_HardwareFlowControl_None;USART_ART_Mode = USART_Mode_Rx | USART_Mode_Tx;USART_Init(USART1, &USART_InitStructure);// USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//吸收使能// USART_ITConfig(USART1,USART_IT_TXE,ENABLE);//发送使能USART_Cmd(USART1,ENABLE); //启动串口}static uint8_t USART_Scanf(uint32_t value)//字符串读取函数{uint32_t index = 0;uint32_t tmp[2] = {0, 0};while (index < 2){/* Loop until RXNE = 1 */while (USART_GetFlagStatus(USART1, USART_FLAG_RXNE) ==RESET) {}tmp[index++] = (USART_ReceiveData(USART1));if ((tmp[index - 1] < 0x30) || (tmp[index -1] > 0x39)){printf("\n\r请输入有用数字 0 到 9 -->: ");index--;}}index = (tmp[1] - 0x30) + ((tmp[0] - 0x30) * 10);/* Checks */if (index > value){printf("\n\r请输入有用数字 0 到 %d", value);return 0xFF;}return index;}void Time_Regulate(rtc_time *tm)//时光设定函数{uint32_t Tmp_HH =0xFF, Tmp_MI = 0xFF, Tmp_SS = 0xFF; uint32_t Tmp_up = 0xff,Tmp_low = 0xff;printf("\r\n 设定温度规模");printf("\r\n 输入温度上限: ");while (Tmp_up == 0xFF){Tmp_up = USART_Scanf(99);}printf("\n\r 温度上限为 %0.2d C\n\r", Tmp_up);upper_bound = Tmp_up;//-------------------printf("\r\n 输入温度下限: ");while (Tmp_low == 0xFF){Tmp_low = USART_Scanf(99);}printf("\n\r 温度下限为 %0.2d C\n\r", Tmp_low);lower_bound = Tmp_low;printf("\r\n 设准时光 ");Tmp_HH = 0xFF;printf("\r\n 设定小时: ");while (Tmp_HH == 0xFF){Tmp_HH = USART_Scanf(23);}printf("\n\r 设定小时为 %d\n\r", Tmp_HH );tm->tm_hour= Tmp_HH;Tmp_MI = 0xFF;printf("\r\n 设定分钟: ");while (Tmp_MI == 0xFF){Tmp_MI = USART_Scanf(59);}printf("\n\r 设定分钟为 %d\n\r", Tmp_MI);tm->tm_min= Tmp_MI;Tmp_SS = 0xFF;printf("\r\n 设定秒: ");while (Tmp_SS == 0xFF){Tmp_SS = USART_Scanf(59);}printf("\n\r 设定秒为 %d\n\r", Tmp_SS);tm->tm_sec= Tmp_SS;}int fputc(int ch, FILE *f)//重定向函数{USART_SendData(USART1, (unsigned char) ch);// while (!(USART1->SR & USART_FLAG_TXE));while( USART_GetFlagStatus(USART1,USART_FLAG_TC)!= SET); return (ch);}/*****************************主函数***********************************************/int main(void){#ifdef DEBUG#endifSysTick_Init();LED_GPIO_Config();RCC_Config();GPIO_Config();DMA_Config();ADC1_Config();USART1_Config();Delay(5000);Time_Regulate(&systmtime); GPIO_SetBits(GPIOD, GPIO_Pin_8); GPIO_SetBits(GPIOD, GPIO_Pin_9); GPIO_SetBits(GPIOD, GPIO_Pin_10); GPIO_SetBits(GPIOD, GPIO_Pin_11); sec=systmtime.tm_sec;min=systmtime.tm_min;hour=systmtime.tm_hour;while(1){sec++;if(sec==60){sec=0;min++;if(min==60){min=0;hour++;if(hour==24){hour=0;}}}printf("\r\n 当前时光: %d :%d :%d \r\n", hour,min,sec);printf("\r\n 当前温度: %02d C 温度上限:%02d C 温度下限:%02d C \r\n",Average_Temp,upper_bound,lower_bound);GPIO_SetBits(GPIOD, GPIO_Pin_8);GPIO_SetBits(GPIOD, GPIO_Pin_9);GPIO_SetBits(GPIOD, GPIO_Pin_10);GPIO_SetBits(GPIOD, GPIO_Pin_11);if(((int)Current_Temp) > ((int)upper_bound)){GPIO_ResetBits(GPIOD, GPIO_Pin_8);}else if(((int)Current_Temp) < ((int)lower_bound)){GPIO_ResetBits(GPIOD, GPIO_Pin_11);}else{GPIO_SetBits(GPIOD, GPIO_Pin_8);GPIO_SetBits(GPIOD, GPIO_Pin_9);GPIO_SetBits(GPIOD, GPIO_Pin_10);GPIO_SetBits(GPIOD, GPIO_Pin_11);}Delay_ms(1000);}}stm32f10x_it.c文件:/* Includes ------------------------------------------------------------------*/#include "stm32f10x_it.h"/* Private functions ---------------------------------------------------------*/void display(void){unsigned char ad_data,ad_value_max,ad_value_min;ad_data=Current_Temp;if(ad_sample_cnt==0){ad_value_max=ad_data;ad_value_min=ad_data;}else if(ad_data<ad_value_min){ad_value_min=ad_data;}else if(ad_data>ad_value_max){ad_value_max=ad_data;}ad_value_sum+=ad_data;ad_sample_cnt++;if(ad_sample_cnt==10){ad_value_sum-=ad_value_min;ad_value_sum-=ad_value_max;ad_value_sum/=8;calculated_temp=ad_value_sum;ad_sample_cnt=0;ad_value_min=0;ad_value_max=0;}}void SysTick_Handler(void){TimingDelay--;ADC_tempValueLocal = ADC_ConvertedValue;//printf("\n %02d \n, ADC_ConvertedValue");Current_Temp=(V25-ADC_tempValueLocal)/Avg_Slope+25;temp_sum+=Current_Temp;temp_cnt++;if(temp_cnt>=10){temp_cnt=0;temp_sum/=10;Average_Temp=temp_sum;temp_sum=0;}//printf("\r\n The current temperature = %02d C\r\n", calculated_temp); }五、课程总结与小我领会嵌入式开辟是主动化专业的重要课程之一,实际生涯中,嵌入式在运用可以说得是无处不在.是以在大学中控制嵌入式的开辟技巧是十分重要的,也是十分须要的.本次运用基于Cortex-M3内核的32位ARM处理器stm32作为主控制器,设计了一种温度测控体系.体系中,运用了ADC.DMA.温度传感器.USART.GPIO.准时器.NVIC 等资本,实践了课上所学的内容,深深领会到了运用的重要性.在课程设计的进程中,为了减小干扰的影响,数据收集后,平均算法进行温度输出.并运用串口设计了简略的交互体系,固然没有运用上位机,但也达到了比较好的后果.经由过程本次课程设计,实在阅历到了许多想象不到的艰苦,本身的一些设法主意也不敷成熟,最后照样参考了他人的解决计划,这让我深深熟悉到在嵌入式开辟这条路上,与他人交换进修是晋升本身的异常有用的方法.在设计串口设准时光的程序时,我最开端的设法主意是经由过程USART的中止进行输入字符的辨认,从而分离设准时光以及温度高低限,可是经由本身的冥思苦想照样想不出来,怎么都实现不了.无奈之下,我只好去近邻卧室的大神那边虚心求教,在参考了他的程序之后我恍然大悟,选择了在轮回之外先按次序读取字符串的办法,顺遂解决了我的问题,让我深深熟悉到了交换的重要性,在本身的设法主意不敷完美时,多多懂得些他人的算法对晋升本身是有很大帮忙的.因为之前没有完全开辟一个有较多功效体系的阅历,在本次做课程设计的进程中,走了许多的弯路,也学到许多教材上没有的常识.运用库开辟Stm32时,异常重视模块化的概念,不但是许多片上资本运用库文件来进行封装,本身在编写一些函数时也应当学会进行封装,个中又涉及到c说话许多之前没太留意到的地方,在开辟进程中实在让我吃了许多苦头,不过荣幸的是同窗的指点下,我一点点解决了那些困惑的地方,加倍深刻了懂得了一个工程的整体构造,对模块化的思惟印象深刻.这对我今后的开辟将起到伟大的感化.总之,本次的嵌入式课程设计让我收成了许多,不但仅进修到了许多教材和教室上学不到的器械,更重要的是进修到了库开辟的思惟,以及领会到了交换的重要性,同时也感激先生这一学期来的卖力讲课,严谨的答疑解惑,让我熟悉到理论常识对开辟潜移默化的感化.。
嵌入式网络温度传感器
嵌入式网络温度传感器第一部分:《传感器与检测电路》课程学习总结应该是大学一、二年级的时候就了解到现代技术的发展在材料与传感器方面有着最大的瓶颈,有的学者甚至说中国将来的诺贝尔获得者必然是出自该领域,研究生阶段有幸跟从李相平老师学习这么一个科学前沿热门学科,当然由于课程以及自身课题方向的原因,在课程上并没有得到很好的效果。
但是获得却也很多,尤其是李老师在指导我们应该以一个怎么样的正确态度和求知欲来对待学习、研究的方面,我想自己是受到了极大的提醒和启示的。
从测控原理学习的应变式传感器、电感式传感器到李老师讲的电容式、磁电式传感器,李老师通过课堂提问和直接板书的方式,使得我们在最大程度上有所收获。
在这个烦躁的社会和年代,作为其中的大学生,或多或少都受到了很大的影响,网络、手机等现代技术使得同学们的生活、学习方式都有了极大的变迁,而随之带来的就是对待学习、研究的态度变化,对知识的渴望度降低许多,我不得不讲这是自己之前存在的问题,李老师通过自己风趣、活泼的课堂讲学,使得自己对传感器有了进一步的认识,。
同时也使得自己在学习欲望和自制力上有了很大的提高,有时候给人予余不如授之以渔,很感谢李老师在这两方面都给了我很大的帮助。
我也相信自己会以认真、正确的态度来对待现在和将来的学习、研究和生活的。
由于自己的方向主要是在嵌入式系统,所以在此简要学习和研究、设计了一种基于ARM核控制器的网络温度传感器,使自己在传感器的发展和ARM的应用方面有进一步的认识和提高。
当然其中有很多的不足和错误,望老师批评、指正。
第二部分:《传感器与检测电路》课程设计报告题目:基于ARM的嵌入式网络温度传感器简要设计1.嵌入式系统和网络传感器介绍嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗,严格要求的专用计算机系统。
它主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用软件等部分组成,用于实现对其它设备的控制、监视和管理等功能,它通常嵌入在主要设备中运行。
嵌入式课程设计温度传感器-课程设计
嵌入式系统原理与应用课程设计—基于ARM9的温度传感器学号: 2012180401**班级: **************1班姓名:李*指导教师:邱*课程设计任务书班级: *************姓名: *****设计周数: 1 学分: 2指导教师: 邱选兵设计题目: 基于ARM9的温度传感器设计目的及要求:目的:1.熟悉手工焊锡的常用工具的使用及其维护与修理。
2.基本掌握手工电烙铁的焊接技术,能够独立的完成简单电子产品的安装与焊接。
熟悉电子产品的安装工艺的生产流程。
3.熟悉印制电路板设计的步骤和方法,熟悉手工制作印制电板的工艺流程,能够根据电路原理图,元器件实物设计并制作印制电路板。
4.熟悉常用电子器件的类别、型号、规格、性能及其使用范围,能查阅有关的电子器件图书。
5.能够正确识别和选用常用的电子器件,并且能够熟练使用普通万用表和数字万用表。
6.掌握和运用单片机的基本内部结构、功能部件、接口技术以及应用技术。
7.各种外围器件和传感器的应用;8.了解电子产品的焊接、调试与维修方法。
要求:1.学生都掌握、单片机的内部结构、功能部件,接口技术等技能;2.根据题目进行调研,确定实施方案,购买元件,并绘制原理图,焊接电路板,调试程序;3.焊接和写汇编程序及调试,提交课程设计系统(包括硬件和软件);.4.完成课程设计报告设计内容和方法:使用温度传感器PT1000,直接感应外部的温度变化。
使用恒流源电路,保证通过PT1000的电流相等,根据PT1000的工作原理与对应关系,得到温度与电阻的关系,将得到的电压放大20倍。
结合ARM9与LCD,将得到的参量显示在液晶屏上。
目录第一章绪论 (1)第二章系统总体结构 (2)2.1 硬件框图 (2)2.2 器件选用 (2)第三章硬件结构 (3)3.1 数据采集模块 (3)3.11 PT1000铂热电阻 (3)3.12 稳压二极管IN4728 (5)3.13 LM324 (6)3.2 数据处理模块 (7)3.21 STM32 (7)3.22TFT- LCD (8)3.23 ADC 控制寄存器 (9)第四章软件结构 (11)第五章总结 (16)第六章参考文献 (17)附录一 (18)附录二 (19)附录三 (20)第一章绪论温度是表征物体冷热程度的物理量、是自然界中和人类打交道最多的两个物理参数,无论是在生产实验场所,还是在居住休闲场所,温湿度的采集或控制都十分频繁和重要,而且,网络化远程采集温湿度并报警是现代科技发展的一个必然趋势。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式系统原理与应用课程设计—基于ARM9的温度传感器学号:2012180401**班级:**************1班姓名:李*指导教师:邱*课程设计任务书班级: *************姓名:*****设计周数: 1 学分: 2指导教师: 邱选兵设计题目: 基于ARM9的温度传感器设计目的及要求:目的:1.熟悉手工焊锡的常用工具的使用及其维护与修理。
2.基本掌握手工电烙铁的焊接技术,能够独立的完成简单电子产品的安装与焊接。
熟悉电子产品的安装工艺的生产流程。
3.熟悉印制电路板设计的步骤和方法,熟悉手工制作印制电板的工艺流程,能够根据电路原理图,元器件实物设计并制作印制电路板。
4.熟悉常用电子器件的类别、型号、规格、性能及其使用范围,能查阅有关的电子器件图书。
5.能够正确识别和选用常用的电子器件,并且能够熟练使用普通万用表和数字万用表。
6.掌握和运用单片机的基本内部结构、功能部件、接口技术以及应用技术。
7.各种外围器件和传感器的应用;8.了解电子产品的焊接、调试与维修方法。
要求:1.学生都掌握、单片机的内部结构、功能部件,接口技术等技能;2.根据题目进行调研,确定实施方案,购买元件,并绘制原理图,焊接电路板,调试程序;3.焊接和写汇编程序及调试,提交课程设计系统(包括硬件和软件);.4.完成课程设计报告设计内容和方法:使用温度传感器PT1000,直接感应外部的温度变化。
使用恒流源电路,保证通过PT1000的电流相等,根据PT1000的工作原理与对应关系,得到温度与电阻的关系,将得到的电压放大20倍。
结合ARM9与LCD,将得到的参量显示在液晶屏上。
目录第一章绪论 (1)第二章系统总体结构 (2)2.1 硬件框图 (2)2.2 器件选用 (2)第三章硬件结构 (3)3.1 数据采集模块 (3)3.11 PT1000铂热电阻 (3)3.12 稳压二极管IN4728 (5)3.13 LM324 (6)3.2 数据处理模块 (6)3.21 STM32 (6)3.22TFT- LCD (8)3.23 ADC 控制寄存器 (9)第四章软件结构 (11)第五章总结 (16)第六章参考文献 (17)附录一 (18)附录二.............................................................................................错误!未定义书签。
附录三.............................................................................................错误!未定义书签。
第一章绪论温度是表征物体冷热程度的物理量、是自然界中和人类打交道最多的两个物理参数,无论是在生产实验场所,还是在居住休闲场所,温湿度的采集或控制都十分频繁和重要,而且,网络化远程采集温湿度并报警是现代科技发展的一个必然趋势。
温度的测量及控制对保证产品质量、提高生产效率、节约能源、生产安全、促进国民经济的发展起到非常重要的作用。
由于温度测量的普遍性,温度传感器的数量在各种传感器中居首位,约占50%。
温度传感器是通过物体随温度变化而改变某种特性来间接测量的。
不少材料、元件的特性都随温度的变化而变化,所以能作温度传感器的材料相当多。
温度传感器随温度而引起物理参数变化的有:膨胀、电阻、电容、而电动势、磁性能、频率、光学特性及热噪声等等。
随着生产的发展,新型温度传感器还会不断涌现。
铂电阻温度传感器是用来测量空气、土壤和水的温度传感器。
该传感器由精密级铂热电阻元件和经特殊工艺处理的防护套组成,并用四芯屏蔽信号电缆线从敏感元件引出用于测量,通常可以采用四线测量法测量,以减少导线电阻引起的测量误差。
本次实验使用PT1000铂热电阻直接感应外部环境的温度,PT1000根据温度与电阻的对应关系,通过STM32单片机对数据进行AD转换并且在LCD上显示数据。
第二章系统总体结构2.1 硬件框图本次实验包括的温度传感器主要由两个模块组成:数据采集模块和数据处理模块(硬件框图如图1)。
数据采集模块由恒流源电路和放大电路组成,采集到与温度有对应关系的电压值。
数据处理模块将数据模块的输出作为输入,使用STM32的AD转换,将数据转换为数字量显示在LCD上。
图1:传感器硬件框图2.2 器件选用在本次设计中,数据采集模块采用了PT1000铂热电阻、稳压二极管、电阻若干、以及运放四大类器件。
数据处理模块使用了STM32单片机和LCD显示屏2大部分。
本次设计的实物图见附录一。
第三章硬件结构3.1 数据采集模块数据采集模块主要负责采集温度的信息,根据温度为与电阻的对应关系,通过恒流源电路图,转化成温度与电压的关系。
最后经过放大器,将得到的电压值进行放大,作为数据处理模块的输入值。
电路图如图2所示:(实物图见附录一)。
图2 数据采集模块电路图3.11 PT1000铂热电阻设计原理pt1000是铂热电阻,它的阻值会随着温度的变化而改变。
PT后的1000即表示它在0℃时阻值为1000欧姆,在300℃时它的阻值约为2120.515欧姆。
它的工业原理:当PT1000在0摄氏度的时候他的阻值为1000欧姆,它的的阻值会随着温度上升它的阻值是成匀速增涨的。
电阻与温度的关系:=1000+TR8.3应用范围医疗、电机、工业、温度计算、阻值计算等高精温度设备,应用范围非常之广泛。
技术参数输入响应时间(模块内数据更新率)为1秒同步测量1路隔离的485, MODBUS RTU通讯协议采用RS-485二线制输出接口时,具有+15kV的ESD保护功能速率(bps)可在1200、2400、4800、9600、19200、38400、57600、115200中选择精度等级:0.2级供电电源:+7.5~30V功耗小于0.1W主机工作温度范围为-40℃~+85℃测量范围为-200℃~+200℃存贮条件为-40℃~+85℃(RH:5%~95%不结露)铂电阻RT曲线图表PT1000分度表3.12 稳压二极管IN4728工作原理稳压二极管的伏安特性曲线的正向特性和普通二极管差不多,反向特性是在反向电压低于反向击穿电压时,反向电阻很大,反向漏电流极小。
但是,当反向电压临近反向电压的临界值时,反向电流骤然增大,称为击穿,在这一临界击穿点上,反向电阻骤然降至很小值。
尽管电流在很大的范围内变化,而二极管两端的电压却基本上稳定在击穿电压附近,从而实现了二极管的稳压功能。
特性曲线特性参数1.Uz—稳定电压:指稳压管通过额定电流时两端产生的稳定电压值。
该值随工作电流和温度的不同而略有改变。
由于制造工艺的差别,同一型号稳压管的稳压值也不完全一致。
2.Iz—额定电流:指稳压管产生稳定电压时通过该管的电流值。
低于此值时,稳压管虽并非不能稳压,但稳压效果会变差;高于此值时,只要不超过额定功率损耗,也是允许的,而且稳压性能会好一些,但要多消耗电能。
3.Rz—动态电阻:指稳压管两端电压变化与电流变化的比值。
该比值随工作电流的不同而改变,一般是工作电流愈大,动态电阻则愈小。
4.Pz—额定功耗:由芯片允许温升决定,其数值为稳定电压Vz和允许最大电流Izm的乘积。
3.13 LM324LM324系列器件带有真差动输入的四运算放大器,具有真正的差分输入。
与单电源应用场合的标准运算放大器相比,它们有一些显著优点。
该四放大器可以工作在低到3.0伏或者高到32伏的电源下,静态电流为MC1741的静态电流的五分之一。
共模输入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性。
应用LM324是四运放集成电路,它采用14脚双列直插塑料封装,外形如图所示。
它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。
3.2 数据处理模块本模块将数据采集模块的输出作为输入,STM32将输入值的模拟量转化为数字量,显示在LCD上。
实物图见附录二:电路图见附录三:3.21 STM32开发板资源:◆ CPU:STM32F103RCT6,LQFP64,FLASH:256K,SRAM:48K;◆ 1 个标准的 JTAG/SWD 调试下载口◆ 1 个电源指示灯(蓝色)◆ 2 个状态指示灯(DS0:红色,DS1:绿色)◆ 1 个红外接收头,配备一款小巧的红外遥控器◆ 1 个 IIC 接口的 EEPROM 芯片,24C02,容量 256 字节◆ 1 个 SPI FLASH 芯片,W25Q64,容量为 8M 字节(即 64M bit)◆ 1 个 DS18B20/DS1820 温度传感器预留接口◆ 1 个标准的 2.4/2.8/3.5/4.3/7 寸 LCD 接口,支持触摸屏◆ 1 个 OLED 模块接口(与 LCD 接口部分共用)◆ 1 个 USB 串口接口,可用于程序下载和代码调试◆ 1 个 USB SLAVE 接口,用于 USB 通信◆ 1 个 SD 卡接口◆ 1 个 PS/2 接口,可外接鼠标、键盘◆ 1 组 5V 电源供应/接入◆ 1 组 3.3V 电源供应/接入口◆ 1 个启动模式选择配置接口◆ 1 个 2.4G 无线通信接口◆ 1 个 RTC 后备电池座,并带电池◆ 1 个复位按钮,可用于复位 MCU 和 LCD◆ 3 个功能按钮,其中 WK_UP 兼具唤醒功能◆ 1 个电源开关,控制整个板的电源◆ 3.3V 与 5V 电源 TVS 保护,有效防止烧坏芯片。
◆独创的一键下载功能◆除晶振占用的 IO 口外,其余所有 IO 口全部引出,其中 GPIOA 和 GPIOB 按顺序引。
特点1)小巧。
整个板子尺寸为8cm*10cm*2cm(包括液晶,但不计算铜柱的高度)。
2)灵活。
板上除晶振外的所有的IO 口全部引出,特别还有GPIOA 和GPIOB 的IO 口是按顺序引出的,可以极大的方便大家扩展及使用,另外板载独特的一键下载功能,避免了频繁设置B0、B1 带来的麻烦,直接在电脑上一键下载。
3)资源丰富。
板载十多种外设及接口,可以充分挖掘STM32 的潜质。
4)质量过硬。
沉金PCB+全新优质元器件+定制全铜镀金排针/排座+电源TVS 保护,坚若磐石。
5)人性化设计。
各个接口都有丝印标注,使用起来一目了然;接口位置设计安排合理,方便顺手。
资源搭配合理,物尽其用。
3.22TFT- LCDTFT-LCD 即薄膜晶体管液晶显示器。
其英文全称为:Thin Film Transistor-LiquidCrystal Display。
TFT-LCD 与无源 TN-LCD、STN-LCD 的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。