教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教育文库 >

嵌入式课程设计之ARM的温度采集系统(2)

来源:网络收集 时间:2026-07-16
导读: 图3 温度采集电路原理图 本文设计了一种温度控制系统它基于三星公司生产的ARM7内核的S3C44B0以Pt100热电阻采集温度 信号通过RWB温度变送器和A/D转换获得实际温度值,同时通过LCD实时显示;通过调整脉宽调制的占空控制

图3 温度采集电路原理图

本文设计了一种温度控制系统它基于三星公司生产的ARM7内核的S3C44B0以Pt100热电阻采集温度 信号通过RWB温度变送器和A/D转换获得实际温度值,同时通过LCD实时显示;通过调整脉宽调制的占空控制加热电路继电器的通断时间实现温度的 闭环控制。文章介绍了该系统的构成原理,实现流程,并重点介绍了PID自整定算法的原理和实现给出了部分应用电路。此温度控制系统应用于热电仪实际应 用表明系统稳定可靠,满足了热电仪的温度控制要求。

软件设计

流程图

图4程序流程图

由该流程图可看出,刚上电时,S3C44B0x 要先进行ARM 内部的初始化,以使 ARM 进入相应的状态和模式;然后初始化硬件装置,以使硬件系统可以正常支持 温度数据采集;接着通信初始化,以确定温度采集模块与ARM 核心控制模块连接正常,并通过UART 复位温度数据采集模块,确保其进入正常温度数据采集状态;然后初始化LCD 显示和键盘,在LCD上显示相应的菜单列表,供用户通过键盘选择操作;至此,系统初始化完成,并进入正常主程序循环状态。

在正常主程序循环状态中,首先扫描键盘,以快速的响应用户的按键操作; 若没有键值按下,则ARM 立即进行数据的采集、处理与显示,以实现实时数据采 集与显示等功能。

其主程序包括温度采集程序、ARM 获取温度子程序、温度处理和转换子程序。 当ARM 处理器接收到正确的温度数据后,立即进行相应的温度数据处理与转换, 变成可被LCD 直接显示的正确温度值。

本文设计了一种温度控制系统它基于三星公司生产的ARM7内核的S3C44B0以Pt100热电阻采集温度 信号通过RWB温度变送器和A/D转换获得实际温度值,同时通过LCD实时显示;通过调整脉宽调制的占空控制加热电路继电器的通断时间实现温度的 闭环控制。文章介绍了该系统的构成原理,实现流程,并重点介绍了PID自整定算法的原理和实现给出了部分应用电路。此温度控制系统应用于热电仪实际应 用表明系统稳定可靠,满足了热电仪的温度控制要求。

程序设计 温度处理与转换子程序如下:

//存放读取到的当前温度值,未转换

Static U16 a-temp-now[8]={8*0}

//存放经精度计算后的实际温度值,高8位整数部分,低8位小数部分 static U16 b-temp-now[8]={8*0};

//存放8路转换后温度值,分别为百位,十位,个位,小数位

static U8 temp-convent-all[32]={32*0};

//-------------------------------

//温度处理与转换子程序

//----------------------------------

void temp-change(void)

{

U8 negtive=0x00; //存放数的符号,若为正=0;若为负,=0xff U8 j=0;

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

}

//根据精度消除无关数据

switch(a-temp-prec)

{

case 0x1f: //精度为9位,则清除最低3位无效位

{

本文设计了一种温度控制系统它基于三星公司生产的ARM7内核的S3C44B0以Pt100热电阻采集温度 信号通过RWB温度变送器和A/D转换获得实际温度值,同时通过LCD实时显示;通过调整脉宽调制的占空控制加热电路继电器的通断时间实现温度的 闭环控制。文章介绍了该系统的构成原理,实现流程,并重点介绍了PID自整定算法的原理和实现给出了部分应用电路。此温度控制系统应用于热电仪实际应 用表明系统稳定可靠,满足了热电仪的温度控制要求。

temp=temp&0xfff8;break;

}

case 0x3f: //精度为10位,则清除最低2位无效位

{

temp=temp&0xfffc;break;

}

case 0x5f: //精度为11位,则清除最低1位无效位

{

temp=temp&0xfffe;break;

}

case 0x7f: //精度为12位

{

break;

}

}

//换算成实际温度,并扩大10倍,去掉小数部分

temp=(U16)((float)(temp)*0.625);

//折算放入b-temp-now 数组中

//高8位放整数部分,低8位放小数部分,最高位放符号位

if(negtive== 0xff) //若为负值

{

*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;

本文设计了一种温度控制系统它基于三星公司生产的ARM7内核的S3C44B0以Pt100热电阻采集温度 信号通过RWB温度变送器和A/D转换获得实际温度值,同时通过LCD实时显示;通过调整脉宽调制的占空控制加热电路继电器的通断时间实现温度的 闭环控制。文章介绍了该系统的构成原理,实现流程,并重点介绍了PID自整定算法的原理和实现给出了部分应用电路。此温度控制系统应用于热电仪实际应 用表明系统稳定可靠,满足了热电仪的温度控制要求。

(*pt++)=temp/10%10+0x30;

(*pt++)=temp%10+0x30;

p1++;

p3++;

}

//转换完成后清除读回的原始温度

p1=a-temp-now;

for(j=8;j>0;j--)

{

*p1++=0x0;

}

}

总结

通过这次课程设计,我对ARM嵌入式系统尤其是数据处理 中的温度采集系统有了更进一步的了解,同时知识面也进一步得到了扩展和加深。本次课程设计的任务主要是对基于传统温度采集系统的使用环节中遇到的一些问题提出的一种改进方法,有助于温度采集系统更好的发展与使用,帮助我们更好的理解嵌入式系统和温度采集系统的原理和应用。

在这次课程设计的过程中,我深深的感触到了团队合作的重要性,尤其是在当今的社会工作中,一个人的力量在一个巨大的任务前是那么的渺小,必须靠多人合作才能共同完成。通过本次课程设计,让我很好的锻炼了理论联系实际,与具体项目、课题相结合开发、设计产品的能力。既让我们懂得了怎样将理论应用于实际,又让我们懂得了在实践中遇到的问题怎样用理论去解决。目前,由于传统的温度采集系统存在响应慢、精度低、可靠性差、效率低、操作繁琐等弊端,已经不能完全适应现代化工业的高速发展。随着嵌入式技术的迅猛发展,设计高速度、高效率、低成本、高可靠性、操作方便的温度采集系统成为当务之急。所以,学习和应用温度采集系统及其应用技术对我们以后的学习和工作有着十分重要的意义。

在设计过程中,总是会遇到这样或那样的问题。有时一个问题可能会需要大家集体去查阅资料,做大量的工作,花大量的时间才能解决。通过不断地发现问题,解决问题,自然而然,我的发现问题和解决问题的能力便在其中建立起来了。这都为以后的工作积累了经验,同时也增强了我们解决问题的能力。

…… 此处隐藏:1575字,全部文档内容请下载后查看。喜欢就下载吧 ……
嵌入式课程设计之ARM的温度采集系统(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/115381.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)