ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:1MB ,
资源ID:8558561      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8558561.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(嵌入式课程设计报告温度传感器课程设计报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

嵌入式课程设计报告温度传感器课程设计报告.docx

1、嵌入式课程设计报告温度传感器课程设计报告嵌入式系统原理与应用课程设计基于ARM9的温度传感器 学 号: 2021180401* 班 级:*1班 姓 名:* 指导教师: 邱*课程设计任务书班 级: *姓 名: *设计周数: 1 学分: 2指导教师: 邱选兵设计题目: 基于ARM9的温度传感器设计目的及要求:目的:1.熟悉手工焊锡的常用工具的使用及其维护与修理。2.根本掌握手工电烙铁的焊接技术,能够独立的完成简单电子产品的安装与焊接。熟悉电子产品的安装工艺的生产流程。3.熟悉印制电路板设计的步骤和方法,熟悉手工制作印制电板的工艺流程,能够根据电路原理图,元器件实物设计并制作印制电路板。4.熟悉常用

2、电子器件的类别、型号、规格、性能及其使用围,能查阅有关的电子器件图书。5.能够正确识别和选用常用的电子器件,并且能够熟练使用普通万用表和数字万用表。6.掌握和运用单片机的根本部构造、功能部件、接口技术以及应用技术。7.各种外围器件和传感器的应用;8.了解电子产品的焊接、调试与维修方法。要求:1.学生都掌握、单片机的部构造、功能部件,接口技术等技能;2.根据题目进展调研,确定实施方案,购置元件,并绘制原理图,焊接电路板,调试程序;3.焊接和写汇编程序及调试,提交课程设计系统包括硬件和软件;. 4.完成课程设计报告设计容和方法:使用温度传感器PT1000,直接感应外部的温度变化。使用恒流源电路,保

3、证通过PT1000的电流相等,根据PT1000的工作原理与对应关系,得到温度与电阻的关系,将得到的电压放大20倍。结合ARM9与LCD,将得到的参量显示在液晶屏上。第一章 绪论温度是表征物体冷热程度的物理量、是自然界中和人类打交道最多的两个物理参数,无论是在生产实验场所,还是在居住休闲场所,温湿度的采集或控制都十分频繁和重要,而且,网络化远程采集温湿度并报警是现代科技开展的一个必然趋势。温度的测量及控制对保证产品质量、提高生产效率、节约能源、生产平安、促进国民经济的开展起到非常重要的作用。由于温度测量的普遍性,温度传感器的数量在各种传感器中居首位,约占50%。 温度传感器是通过物体随温度变化而

4、改变某种特性来间接测量的。不少材料、元件的特性都随温度的变化而变化,所以能作温度传感器的材料相当多。温度传感器随温度而引起物理参数变化的有:膨胀、电阻、电容、而电动势、磁性能、频率、光学特性及热噪声等等。随着生产的开展,新型温度传感器还会不断涌现。铂电阻温度传感器是用来测量空气、土壤和水的温度传感器。该传感器由精细级铂热电阻元件和经特殊工艺处理的防护套组成,并用四芯屏蔽信号电缆线从敏感元件引出用于测量,通常可以采用四线测量法测量,以减少导线电阻引起的测量误差。本次实验使用PT1000铂热电阻直接感应外部环境的温度,PT1000根据温度与电阻的对应关系,通过STM32单片机对数据进展AD转换并且

5、在LCD上显示数据。第二章 系统总体构造2.1 硬件框图 本次实验包括的温度传感器主要由两个模块组成:数据采集模块和数据处理模块硬件框图如图1。数据采集模块由恒流源电路和放大电路组成,采集到与温度有对应关系的电压值。数据处理模块将数据模块的输出作为输入,使用STM32的AD转换,将数据转换为数字量显示在LCD上。 图1:传感器硬件框图 数据采集2.2 器件选用在本次设计中,数据采集模块采用了PT1000铂热电阻、稳压二极管、电阻假设干、以及运放四大类器件。数据处理模块使用了STM32单片机和LCD显示屏2大局部。本次设计的实物图见附录一。第三章 硬件构造3.1 数据采集模块数据采集模块主要负责

6、采集温度的信息,根据温度为与电阻的对应关系,通过恒流源电路图,转化成温度与电压的关系。最后经过放大器,将得到的电压值进展放大,作为数据处理模块的输入值。电路图如图2所示:实物图见附录一。 图2 数据采集模块电路图3.11 PT1000铂热电阻设计原理pt1000是铂热电阻,它的阻值会随着温度的变化而改变。PT后的1000即表示它在0时阻值为1000欧姆,在300时它的阻值约为2120.515欧姆。它的工业原理:当PT1000在0摄氏度的时候他的阻值为1000欧姆,它的的阻值会随着温度上升它的阻值是成匀速增涨的。电阻与温度的关系:应用围医疗、电机、工业、温度计算、阻值计算等高精温度设备,应用围非

7、常之广泛。技术参数输入响应时间模块数据更新率为1秒同步测量1路隔离的485, MODBUS RTU通讯协议采用RS485二线制输出接口时,具有+15kV的ESD保护功能速率bps可在1200、2400、4800、9600、19200、38400、57600、115200中选择精度等级:0.2级供电电源:+7.530V功耗小于01W主机工作温度围为40+85测量围为200+200存贮条件为40+85RH:5%95%不结露铂电阻RT曲线图表PT1000分度表3.12 稳压二极管IN4728工作原理 稳压二极管的伏安特性曲线的正向特性和普通二极管差不多,反向特性是在反向电压低于反向击穿电压时,反向电

8、阻很大,反向漏电流极小。但是,当反向电压临近反向电压的临界值时,反向电流骤然增大,称为击穿,在这一临界击穿点上,反向电阻骤然降至很小值。尽管电流在很大的围变化,而二极管两端的电压却根本上稳定在击穿电压附近,从而实现了二极管的稳压功能。特性曲线特性参数1.Uz 稳定电压:指稳压管通过额定电流时两端产生的稳定电压值。该值随工作电流和温度的不同而略有改变。由于制造工艺的差异,同一型号稳压管的稳压值也不完全一致。2.Iz 额定电流:指稳压管产生稳定电压时通过该管的电流值。低于此值时,稳压管虽并非不能稳压,但稳压效果会变差;高于此值时,只要不超过额定功率损耗,也是允许的,而且稳压性能会好一些,但要多消耗

9、电能。3.Rz 动态电阻:指稳压管两端电压变化与电流变化的比值。该比值随工作电流的不同而改变,一般是工作电流愈大,动态电阻那么愈小。4.Pz 额定功耗:由芯片允许温升决定,其数值为稳定电压Vz和允许最大电流Izm的乘积。3.13 LM324 LM324系列器件带有真差动输入的四运算放大器,具有真正的差分输入。与单电源应用场合的标准运算放大器相比,它们有一些显著优点。该四放大器可以工作在低到3.0伏或者高到32伏的电源下,静态电流为MC1741的静态电流的五分之一。共模输入围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性。应用 LM324是四运放集成电路,它采用14脚双列直插塑料

10、封装,外形如下图。它的部包含四组形式完全一样的运算放大器,除电源共用外,四组运放相互独立。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 个 S

11、PI 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 后备电池座,并带电池

12、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 带

13、来的麻烦,直接在电脑上一键下载。 3 资源丰富。板载十多种外设及接口,可以充分挖掘 STM32 的潜质。 4) 质量过硬。沉金 PCB+全新优质元器件+定制全铜镀金排针/排座+电源 TVS 保护,坚假设磐 石。 5) 人性化设计。各个接口都有丝印标注,使用起来一目了然;接口位置设计安排合理,方 便顺手。资源搭配合理,物尽其用 。3.22TFT- LCDTFT-LCD 即薄膜晶体管液晶显示器。其英文全称为:Thin Film Transistor-Liquid Crystal Display。TFT-LCD 与无源 TN-LCD、STN-LCD 的简单矩阵不同,它在液晶显示屏的每一个象 素上都设

14、置有一个薄膜晶体管TFT,可有效地克制非选通时的串扰,使显示液晶屏的静态特 性与扫描线数无关,因此大大提高了图像质量。TFT-LCD 也被叫做真彩液晶显示器。特点:1,2.4/2.8/3.5/4.3/7 5 种大小的屏幕可选。 2,320240 的分辨率3.5分辨率为:320*480,4.3和 7分辨率为:800*480。 3,16 位真彩显示。 4,自带触摸屏,可以用来作为控制输入。 流程:3.23 ADC 控制存放器 ADC_CR1 的各位描述ADC_CR1 的 SCAN 位,该位用于设置扫描模式,由软件设置和去除,如果设置为 1,那么 使用扫描模式,如果为 0,那么关闭扫描模式。在扫描模

15、式下,由 ADC_SQRx 或 ADC_JSQRx 寄 存器选中的通道被转换。如果设置了 EOCIE 或 JEOCIE,只在最后一个通道转换完毕后才会产 生 EOC 或 JEOC 中断。 AD 转换,其详细设置步骤如下:开启 PA 口时钟,设置 PA1 为模拟输入。 STM32F103RCT6 的 ADC 通道 1 在 PA1 上,所以,我们先要使能 PORTA 的时钟,然后设 置 PA1 为模拟输入。 2使能 ADC1 时钟,并设置分频因子。 要使用 ADC1,第一步就是要使能 ADC1 的时钟,在使能完时钟之后,进展一次 ADC1 的 复位。接着我们就可以通过 RCC_CFGR 设置 AD

16、C1 的分频因子。分频因子要确保 ADC1 的时 钟ADCCLK不要超过 14Mhz。 3设置 ADC1 的工作模式。 在设置完分频因子之后,我们就可以开场 ADC1 的模式配置了,设置单次转换模式、触发 方式选择、数据对齐方式等都在这一步实现。 4设置 ADC1 规那么序列的相关信息。 接下来我们要设置规那么序列的相关信息,我们这里只有一个通道,并且是单次转换的,所 以设置规那么序列道数为 1ADC_SQR123:20=0000,然后设置通道 1 的采样周期通过 ADC_SMPR25:3设置 5开启 AD 转换器,并校准。 在设置完了以上信息后,我们就开启 AD 转换器,执行复位校准和 AD

17、 校准,注意这两步 是必须的!不校准将导致结果很不准确。 读取 ADC 值。 在上面的校准完成之后,ADC 就算准备好了。接下来我们要做的就是设置规那么序列 1 里面 的通道通过 ADC_SQR34:0设置,然后启动 ADC 转换。在转换完毕后,读取 ADC1_DR 里 面的值就是了。 ADC 的操作模式第四章 软件构造本次设计的程序如下所示:#include stm32f10x.h #include stdio.h#include chinese.h#include adc.h#include lcd.h#include usart.h#include delay.huint32_t sum

18、=0;uint16_t vaul=0; /初始化 void RCC_Configuration() SystemInit(); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD|RCC_APB2Periph_USART1|RCC_APB2Periph_AFIO,ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3|RCC_APB1Periph_TIM2,ENABLE); void GPIO_Configuration() GPIO_InitTypeDef GPIO_

19、InitStructure; 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); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING; GPIO_InitStructure.G

20、PIO_Speed=GPIO_Speed_50MHz; GPIO_Init(GPIOA,&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_Init(GPIOD,&GPIO_InitStructure); /定时器初始化 void TIM2_configuration() TIM_TimeBaseInitTypeDef TIM_Ti

21、meBaseInitStruct; TIM_DeInit(TIM2); TIM_TimeBaseInitStruct.TIM_Period=2000; TIM_TimeBaseInitStruct.TIM_Prescaler=0; TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up; TIM_TimeBaseInitStruct.TIM_ClockDivision=0; TIM_TimeBaseInit(TIM2,&TIM_TimeBaseInitStruct); TIM_PrescalerConfig(TIM2,7199,TIM

22、_PSCReloadMode_Immediate); TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE); TIM_Cmd(TIM2,ENABLE);void TIM3_configuration() TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct; TIM_DeInit(TIM3); TIM_ETRClockMode2Config(TIM3,TIM_ExtTRGPSC_OFF, TIM_ExtTRGPolarity_NonInverted,0x00); TIM_TimeBaseInitStruct.TIM_Period

23、=65535; TIM_TimeBaseInitStruct.TIM_Prescaler=0; TIM_TimeBaseInitStruct.TIM_ClockDivision=0; TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up; TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStruct);void NVIC_configuration()/中断初始化 NVIC_InitTypeDef NVIC_InitStruct; NVIC_InitStruct.NVIC_IRQChannel=TIM2

24、_IRQn; NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=0; NVIC_InitStruct.NVIC_IRQChannelSubPriority=0; NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE; NVIC_Init(&NVIC_InitStruct); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);int main(void) /主函数 u16 adcx,adcy,i=0; float temp,temperate; float y,y1; RC

25、C_Configuration(); delay_init(72); GPIO_Configuration(); NVIC_configuration(); TIM2_configuration(); TIM3_configuration(); TIM_Cmd(TIM2,ENABLE); TIM_Cmd(TIM3,ENABLE); uart_init(9600); LCD_Init(); Adc_Init(); POINT_COLOR=RED; LCD_Clear(WHITE); TEST_FONT(); LCD_ShowString(130,60,00.0); LCD_ShowString(

26、130,150,00.00%); while(1) POINT_COLOR=BLUE; adcy=Get_Adc(ADC_Channel_0); i+; sum+=adcy; if(i=99) i=0; adcx=sum/100; sum=0; temp=(float)adcx/28.76; temperate=temp; temp-=(u8)temp; LCD_ShowNum(130,60,(u8)temperate,2,16); temperate-=(u8)temperate; LCD_ShowNum(154,60,temperate*100,2,16); y=(float)(487.5

27、-vaul*5/44); y1=y; y-=(u8)y; LCD_ShowNum(130,150,(u8)y1,2,16); y1-=(u8)y1; LCD_ShowNum(154,150,y1*100,2,16); void TIM2_IRQHandler() TIM_Cmd(TIM2,DISABLE); vaul=TIM_GetCounter(TIM3); vaul=vaul*5; TIM_SetCounter(TIM3, 0x0); TIM_SetCounter(TIM2, 0x0); TIM_ClearITPendingBit(TIM2,TIM_IT_Update); TIM_Cmd(

28、TIM2,ENABLE); 第五章 总结1、可实现的功能 可实时检测空气中的温度,并且将温度的值显示在LCD上。方便人随时观看现在的温度。适用于生产实验场所,居住休闲场所等地方。2、存在的问题 由于电阻也有随温度变化而变化的特性,导致温度传感器的精度不高; STM32的采样周期较短,得到的数据实际应用不高; LCD显示不稳定。3、收获通过此次课程设计,很好的将温度传感器和ARM9联系在一起使用。了解了STM32芯片的使用方式、AD转换的指令、PT1000的工作原理以及LM324集成运放芯片的应用。将理论知识运用到实物的操作中,提高了动手能力和思维逻辑能力。只有慎重的思考和制作,才能完成任务。本次使用的器件可以应用在生活中的各个方面。例如:医疗、电机、工业、温度计算、阻值计算等各个领域。第六章 参考文献【1】常华等,嵌入式系统原理与应用,:清华大学,2021【2】滕英岩,嵌入式系统开发根底基于ARM微处理器和linux操作系统,:电子工业,2021【3】黄智伟等,ARM微控制器应用设计与实践,:航空航天大学,2021【4】戴蓉等,传感器原理与工程应用,:电子工业,2021【5】宿元斌,集成温度控制器及其应用,中国仪器仪表,2006【6】baike.baidu./search/none?word=pt1000温度传感器附录一原理图实物图

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1