嵌入式课程设计之ARM的温度采集系统_第1页
嵌入式课程设计之ARM的温度采集系统_第2页
嵌入式课程设计之ARM的温度采集系统_第3页
嵌入式课程设计之ARM的温度采集系统_第4页
嵌入式课程设计之ARM的温度采集系统_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、指导教师评定成绩: 审定成绩: 重 庆 邮 电 大 学 课程设计报告设计题目: ARM的温度采集系统 学 校: 重庆邮电大学 学 生 姓 名: 专 业: 自动化 班 级: xxxxxxxx 学 号: xxxxxxxxxx 指 导 教 师: 设计时间: 2012 年 12 月重庆邮电大学 摘要本文设计了一种温度控制系统,它基于三星公司生产的ARM7内核的S3C44B0,以Pt100热电阻采集温度 信号,通过RWB温度变送器和A/D转换获得实际温度值,同时通过LCD实时显示;通过调整脉宽调制的占空比,控制加热电路继电器的通断时间,实现温度的 闭环控制。文章介绍了该系统的构成原理,实现流程,并重点介

2、绍了PID自整定算法的原理和实现,给出了部分应用电路。此温度控制系统应用于热电仪,实际应 用表明,系统稳定、可靠,满足了热电仪的温度控制要求。 关键词:ARM;温度控制;PID;自整定 Abstract: A temperature control system is designed, which is based on the S3C44B0 of the Advanced RISC Machine (ARM produced by the Samsung. Using Pt100 to measure the temperature, the real value is gotten t

3、hrough RWB temperature converter and A/D transformation and displayed by LCD meanwhile. The system is under the closed loop control with the heating circuit relays opening or closure which is decided by the PWM. The system component principle and the flow realization is introduced, some application

4、circuit is provided, emphasize the PID self-turning theory and method. The temperature control system is designed for the thermoelectricity instrument. The experimental results show that it is safe and reliable, and meet the demand of the thermoelectricity instrument.Key words: advanced RISC machine

5、; PID; temperature control; self-turning引言处在温差条件下的矿物,对外表现为温差热电势E,温差一定时,E达到一平衡值。E除以温差得到的就是矿物的热电系数,它能够灵敏 的反映矿物成分和晶体结构的某些细微差异,在金矿找矿和矿床评价方面具有极高的应用价值。用来测量矿物热电性的热电系数测量仪(热电仪),在市场上并没有 现成的产品,需要根据需求自行开发。其中一项关键技术就是将温度精确控制在设定值,为半导体矿物创造恒定的温差条件。本文所设计的温度控制系统就是来解决 这一问题。温度控制系统是一种典型的过程控制,与其它控制系统相比,温度控制系统有其特殊性1。例如,对机械

6、系 统或机电系统,用线性定常集中参数的动力学微分方程来描述,通常不会带来过大的误差。然而用同样的方法来处理温度过程显然不能令人满意,因为热能的传递是 以场的方式进行的,所以它具有明显的非线性、时变性、分布性以及时间滞后。若用解析的方法为它建模,其结果不是过于复杂,就是在模型简化过程中,失去某些 最本质的因素,使模型和对象间产生过大的偏差。因此,对温度系统的建模,通常用经验建模,或经验与理论分析相结合的建模。本文介绍的温度控 制系统,通过改进的PID控制算法,结合硬件ARM7内核的S3C44B0微处理器,由传感器PT100获取温度信号,通过自整定获取最适合系统的实时控 制参数,实现对所需温度的精

7、确控制。系统包括电加热器、控制器和温度传感器及变换器三部分,构成闭环控制回路。这种主动热控制的特点在于可适时调节被控对 象的热传递效率,对外部变化反应灵敏,温度调节精度高。系统设计总体设计该温度控制系统要求实现对设定温度的实时控制,操作人员可以通过键盘设定目标控制温度,通过 单片机的逻辑程序控制,实现温度的高精度控制。整个控制系统的组成主要分为三部分,即三星公司生产的S3C44B0X单片机所构成的单片机控制系统;由 Pt100热电阻、温度补偿,运算放大电路构成的温度检测通道;由三极管运放电路、固态继电器和外部加热器构成的输出控制通道。其中,单片机控制系统是整 个系统的控制中心,所有的数据运算、

8、处理和交换功能都是利用单片机的软件来实现。工作时,设定温度由操作人员通过键盘完成,并通过LCD显 示设定温度值;由Pt100热电阻检测控制对象实际温度值,经过RWB温度变送器和放大电路,将温度信号送入S3C44B0的A/D端口,经过固定公式换 算得出实际温度并实时显示。程序控制系统将实际温度值与系统设定温度值进行比较,按照自整定PID控制算法进行运算,确定下一时间单元输出PWM信号占空 比,以控制固态继电器的导通时间,从而控制外部加热器的平均输出功率,实现温度控制。硬件设计系统原理框图 本设计的基于ARM 的嵌入式数据采集和显示装置的原理框图如图1所示。 由图可见,本系统采用“电源部分ARM

9、核心控制模块温度采集模块”实现所 需功能。并考虑到系统的可扩展性和延伸性,本系统采用主从CPU 协同工作,实 现了数据的实时采集、传输与显示,具有处理速度快、精度高、人机交互界面友 好、稳定性高、扩展性好等优点。本设计的基于ARM 的嵌入式数据采集和显示装置的原理框图如图1所示。 由图可见,本系统采用“电源部分ARM 核心控制模块温度采集模块”实现所 需功能。 图1温控系统原理图电源电路设计本系统的电源电路由两部分组成:系统总电源电路和RAM 核心模块电源电路。如图2:+12V 恒定直流电源经电容滤波,分别进入7809 和7805 稳压,得到+9V 和+5V 的稳定电压输出后分别供给ARM 核

10、心控制模块和其余电路部分使用。图中 IN4148 是为了防止输出端并接高于本稳压模块的输出电压而烧坏7809 和7805 而 特别设计,达到了可靠性电源设计目的。另外,由于系统正常工作电流较大,因 此使用时均应在7809 和7805 上加散热片散热。 由图可见,系统采用双电源供电,提供了系统正常工作所需的电源电压。另外,由于考虑到便携目的,本系统采用 +12V 铅蓄电池提供系统所需的恒定直流电源。 图2 系统电源电路原理图 如图2:I/O 口提供了相应的稳定直流电源。其中的IN4004 是为了防止电 源输入反接烧坏集成稳压块而设计的。由于S3C44B0x 采用2.5V 作为ARM 内核电源,使

11、用3.3V 作为I/O 口电压,故ARM 核心控制模块电源需要另外单独设计, 其电源电路如图3-2 所示。由系统总电源电路提供的+9V 稳压电源作为输入,分别经AS1117-5.0、AS1117-3.3、 AS1117-2.5 稳压后,输出5.0V、3.3V 和2.5V 恒定电源,为RAM 内核和I/O 口提供了相应的稳定直流电源 。其中的IN4004 是为了防止电源输入反接烧坏集成稳压块而设计的。温度采集电路设计 温度采集模块电路采用AT89S52 单片机作为模块的协控制器。对于温度传感 器的选用DS18B20,因为DS18B20 是Dallas 公司最新单总线数字温度传感器,该传感器集温度

12、变换、A/D 转换于同一芯片,输出直接为数字信号,大大提高了电路的效率。由于现场温度直接以“一线总线”的数字方式传输,大大提高了系统 的抗干扰性,且提高了CPU 的效率。AT89S52 单片机的P0 口与8 路温度传感器相 连,用于采集温度数据;另外,模块提供RS-232 串行口与RAM 核心控制模块通信,达到数据传输的目的。温度采集模块电路原理图如图3-3。图3 温度采集电路原理图软件设计流程图图4程序流程图由该流程图可看出,刚上电时,S3C44B0x 要先进行ARM 内部的初始化,以使 ARM 进入相应的状态和模式;然后初始化硬件装置,以使硬件系统可以正常支持 温度数据采集;接着通信初始化

13、,以确定温度采集模块与ARM 核心控制模块连接正常,并通过UART 复位温度数据采集模块,确保其进入正常温度数据采集状态;然后初始化LCD 显示和键盘,在LCD上显示相应的菜单列表,供用户通过键盘选择操作;至此,系统初始化完成,并进入正常主程序循环状态。 在正常主程序循环状态中,首先扫描键盘,以快速的响应用户的按键操作; 若没有键值按下,则ARM 立即进行数据的采集、处理与显示,以实现实时数据采 集与显示等功能。 其主程序包括温度采集程序、ARM 获取温度子程序、温度处理和转换子程序。 当ARM 处理器接收到正确的温度数据后,立即进行相应的温度数据处理与转换, 变成可被LCD 直接显示的正确温

14、度值。 程序设计温度处理与转换子程序如下: /存放读取到的当前温度值,未转换 Static U16 a-temp-now8=8*0 /存放经精度计算后的实际温度值,高8位整数部分,低8位小数部分 static U16 b-temp-now8=8*0; /存放8路转换后温度值,分别为百位,十位,个位,小数位 static U8 temp-convent-all32=32*0; /- /温度处理与转换子程序/- void temp-change(void U8 negtive=0x00;     /存放数的符号,若为正=0;若为负,=0xff U8 j=0;

15、 U8 *pt=temp-convent-all; U16 *p1=a-temp-now; U16 *p3=b-temp-now;U16 temp=0;  for(j=0;j<8;j+   negative =0x00;  temp=*p1;  /若温度为负值,进行相应处理  if(temp&0xf80 !=0         temp=(temp+1;/转为正的原码      negative=0xff; / 同时置符号为0xff

16、   /根据精度消除无关数据 switch(a-temp-prec case 0x1f:    /精度为9位,则清除最低3位无效位       temp=temp&0xfff8;break; case 0x3f:    /精度为10位,则清除最低2位无效位       temp=temp&0xfffc;break;case 0x5f:    /精度为11位,则清除最低1位

17、无效位       temp=temp&0xfffe;break; case 0x7f:    /精度为12位       break;    /换算成实际温度,并扩大10倍,去掉小数部分temp=(U16(float(temp*0.625;/折算放入b-temp-now  数组中/高8位放整数部分,低8位放小数部分,最高位放符号位if(negtive= 0xff /若为负值     &#

18、160;*p3=(temp/10<<8|(temp%10|0x8000;  else      *p3=(temp/10<<8|(temp%10&0x7fff; if(negative=0xff /若为负值 (*pt+=0x80; else(*pt+=temp/1000%10+0x30;(*pt+=temp/100%10+0x30; (*pt+=temp/10%10+0x30; (*pt+=temp%10+0x30; p1+; p3+; /转换完成后清除读回的原始温度 p1=a-temp-now; for(j=8;j>0;j- *p1+=0x0; 总结通过这次

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论