嵌入式温度控制系统设计报告

上传人:橙** 文档编号:333363113 上传时间:2022-09-01 格式:PDF 页数:17 大小:336.75KB
返回 下载 相关 举报
嵌入式温度控制系统设计报告_第1页
第1页 / 共17页
嵌入式温度控制系统设计报告_第2页
第2页 / 共17页
嵌入式温度控制系统设计报告_第3页
第3页 / 共17页
嵌入式温度控制系统设计报告_第4页
第4页 / 共17页
嵌入式温度控制系统设计报告_第5页
第5页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《嵌入式温度控制系统设计报告》由会员分享,可在线阅读,更多相关《嵌入式温度控制系统设计报告(17页珍藏版)》请在金锄头文库上搜索。

1、嵌入式系统设计性实验报告水温控制系统系别:自动化工程系专业:自动化学号:*姓名:*指导老师:*2012年 6 月 08 日名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 17 页 -水温控制系统设计作者:*班级:*学号:*【摘要】:该实验设计基于飞思卡尔MC9S12DG128开发板平台,通过在 codewarrior开发环境编程而组成的一个水温自动控制系统。容器内的水温可以通过外部扫描键盘来人工设定。温度值设定后系统将通过热电阻丝来测定当前的温度值。当系统的水温下降时,当前的水温值会由 LED显示出来。系统的可实现的功能:1、四位数码管显示容器里的当前温度,水温可以显示到小数点后

2、一位;2、可以用键盘人工设定水的温度值;3、利用串口使实验面板与计算机进行通信。4.采用 PID控制算法,使得温度稳定在一定范围内。关键字:水温控制,单片机MC9S12DG128 前言:利用飞思卡尔 MC9S12DG128单片机设计并制作一个水温自动控制系统,控制对象为1 升净水,容器为搪瓷器皿。水温可以在4090摄氏度范围内由人工设定,串口每秒钟向计算机发送一次温度值,数码管采用动态扫描方式显示当前水温。当环境温度降低时采用PWM 工程 DA转换器控制电热丝加热,实现自动控制,以保持设定的温度基本不变。一、系统设计方案1.1 水温控制系统设计要求(1)温度设定范围为 40 90,最小区分度为

3、 1,标定温度 1。(2)环境温度降低时(例如用电风扇降温)温度控制的静态误差1。(3)用十进制数码管显示水的实际温度保留一位小数。(4)采用适当的控制方法(如数字 PID),当设定温度突变(由 40 提高到 60)时,减小系统的调节时间和超调量。(5)温度控制的静态误差 0.2。(6)从串口输出水温随时间变化的数值。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 17 页 -1.2 水温控制系统部分 1.2.1控制系统框图给定值输入图 1 控制系统框图二、系统设计总体框图及各模块作用2.1 系统设计总体框图图 2 系统设计总框图2.2 每个功能模块作用介绍:单片机:单片机是整个

4、控制系统的核心,在此我用 MC9S12DG128提MC9S12DG128 驱动电路LED显示电源电路晶振电路复位电路键 盘 输 入 电路串 口通 信PC机MCU内 部A/D转 换器控制器被控对象检测变送器ssr执行器调理电路热电阻丝固态 SSR 电热丝BDM 调试电路PLL 电路名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 17 页 -供系统控制所需要的I/O 口,中断、定时以及存放中间结果的 RAM。数据采样:数据采样模块是由热电阻丝、调理电路和 MCU 内部的 A/D转换器组成的。其功能是将由热敏传感器及相关电路采集到 的温 度 转 换 为 电 压 信 号,经A/D 转 换

5、 器 后送 入MC9S12DG128中,换算成温度值,用于控制和显示。串行口传输:将采样温度值上传到PC机,利用 PC的端口下载程序。键盘设定:用于温度值的人工设定。SSR固态继电器/电热丝:通过控制继电器的开关来完成对热电丝的加热,从而达到温度的控制。电源电路:电源电路部分的两个电容构成滤波电路,用来改善系统的电磁兼容性,降低电源波动对系统的影响,增强电路工作稳定性。PLL电路:片内 PLL电路兼有频率放大和信号提纯的功能,可以使系统以较低的外部时钟信号获得较高的工作频率,以降低因高速开关时钟造成的高频噪声。复位电路:MCU 在响应各种外部或侦测到的内部故障是可以进行系统复位。当 MCU 检

6、测到需要复位时,它将寄存器和控制位设置成已知的起始默认值。晶振电路:向 MCU 提供基准频率,以保证MCU 正常工作。BDM 电路:操作人员可以通过它初次向目标板下载程序,同时也可以通过 BDM 调试器对目标板 MCU 的 Flash 存储器进行写入、擦除等操作。三:硬件设计原理图及内容3.1 硬件设计原理图【1】名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 17 页 -图 3 硬件设计原理图3.2 串口通信部分的电路图【2】名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 17 页 -图 4 串口通信电路图串口电路是由一个MAX232ACPE和一个 9 芯接口的串

7、行口构成。串口电路的作用:用于连接计算机与实验模版,实现数据传输与通信。本次采用 9 芯接口的串行口,其中,各个引脚的含义如下:1.接收线信号检测 2.接收数据线(RxD)3.发送数据线(TxD)4.数据中断准备就绪 5.信号地 6.数据通信设备准备就绪 7.请求发送(RTS)8.清除发送 9.振铃提示3.3 键盘输入电路键盘输入电路采用扫描的方式获得键值。如图,这里将列线分别接 PP0PP3,且编程时将 PP0PP3 定义为输入并有内部上拉电阻,行线分别接 PP4PP7,且编程时将其定义为输出,那么 1 键对应 PP7PP0=11101110,依此类推,可得到其他键对应的键值。其中,A键按下

8、后可以进入温度设定,B键按下后可以对温度设定进行确定,完成温度的设定。名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 17 页 -图 5 键盘设计电路图3.4 数码显示电路下图是 4 连排 8 段数码管的借口电路,在硬件连接上,利用MCU的 PA口控制 8 个位段,用 PT口的低四位控制数码管的位选信号。图 6 LED显示电路图名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 17 页 -四、系统软件设计流程否是是否开始系统初始化是否启动数据采样温度显示A/D转换LED显示是否等于设定值PID 控制继电器控制结束名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页

9、,共 17 页 -五、调试过程及数据在做实验开始时,按照老师的要求,把系统的每个部分分成不同的模块,每个模块单独作为一个工程建立,每个模块调试成功后才将各部分组合在一起,最终调试。5.1 串口调试通过串口 RS232和 PC机进行连接,同时利用PC机上的超级终端进行串口调试,输入串口通信函数,并把单片机和PC机的波特率设置为相同的值,即9600bit/s,调试完成后输入数据和输出数据符合理论要求,说明通信正常,此时串口调试完毕。调试遇到的问题:键盘输入的字符或数字不再计算机上显示。解决方法:将串行口默认波特率改为9600,重新调试。5.2 LED 数码管调试调试过程中按实验电路上数码管与单片机

10、的连接,在计算机中载入程序,若数码管显示“0000”,说明数码管模块可以使用,否则不能,需要继续对程序进行修改和编译。调试遇到的问题:数码管不能正常显示。解决方法:经过仔细的检查,发现课本上的数码管管脚和控制位端口和老师给的不一样,修正后继续调试测验。5.3 键盘输入模块调试在调试过程中按下A键后,按下键盘上要设定的数值,如果LED上显示正确,说明键盘模块的使用正常,否则,不正。此时就要继续对程序进行修改和编译。调试遇到的问题:键盘使用不正常,按键执行后,LED没有显示。解决方法:经过检查,才知道键盘函数没有在main.c 中调用,调用后,使用正常。名师资料总结-精品资料欢迎下载-名师精心整理

11、-第 9 页,共 17 页 -六、实验心得和结果实验结果:各模块调试完毕后,整体连接完成以及调试结束,最终实现了通过键盘输入控制温度的设定值,数码管实时显示当前的温度值,并且能显示到小数点后一位,由于采用了PID控制算法,可以使得当温度值改变时,控制继电器减小温度的变化,从而维持到设定值的附近,达到了温度的调节和保持。实验心得:通过本次的设计性实验,我对嵌入式系统有了一定的了解。在这次实验中,我又认识到了两款专业软件,就是Protel和 codewarrior,在使用 Protel软件时,我自己完成了 MC9S12DG128 最小系统的原理图设计,并为该原理图设计了 PCB板图和 3D图。绘制

12、原理图后就是程序的编写,在这方面由于自身C语言基础不好而且经验不足,在自己编写程序方面比较空难,参考了老师编写的程序和课本的部分程序,最后在调试过程中遇到了一些程序问题也在老师和同学的帮助下得到了解决。总体来说,在这次实验中我认识到自己在C语言编写方面的不足,这提醒我要在这方面下更多的功夫去学习和提高七、参考资料1 嵌入式系统使用HCS12微控制器的设计与应用.王宜怀 P30 MC9S12DG128 MCU 的最小系统设计 2 嵌入式系统使用HCS12微控制器的设计与应用.王宜怀 P111 SCI 电平转换电路 3 嵌入式系统使用HCS12微控制器的设计与应用.王宜怀 P202 AD转换函数

13、4 嵌入式系统使用HCS12微控制器的设计与应用.名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 17 页 -王宜怀 P134 键盘处理函数 5 嵌入式系统使用HCS12微控制器的设计与应用.王宜怀 P140 LED显示函数 6 嵌入式系统使用HCS12微控制器的设计与应用.王宜怀 P119 串口通信子函数八.附录实验程序Main.c#include /*common defines and macros*/#include /*derivative information*/#pragma LINK_INFO DERIVATIVE mc9s12dg128b#include I

14、NT8U LEDbuf4=0,0,0,0;/数码管显示数组INT8U Flag_Send,Flag_ADC;INT16U NUM;INT16U Temperature_Set;INT8U RCVData16;/接收数据帧 void LEDinit(void);void LEDShow(int*Buf);void LEDShow1(int i,int c);/*extern Dtable11=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x00;extern CStable4=0 xf7,0 xfb,0 xfd,0 x

15、fe;void LEDInit(void)LEDdata_D=0 xff;LEDcs_D|=0 x0f;void LEDShow(int*Buf,int i)int c;int j;for(i=0;i=3;i+)c=Bufi-0;LEDShow1(3-i,c);/for(j=0;j=100;j+)/_FEED_COP();/void LEDShow1(int i,int c)LEDcs=CStablei;if(i=2)LEDdata=(Dtablec)&0 x7f;else LEDdata=Dtablec;*/void main(void)/*put your own code here*/b

16、yte i,j,ge,shi,bai,point;const INT8U Data=Hello!oooo;/数据内容 const INT8U DataLenth=6;/数据长度 INT16U ID;/标示符 /INT8U i;INT16U WaitTime=0;/循环延时 /发送标志=0,没有空闲发送缓冲区,发送不成功;=1,发送成功 INT8U SNDFlag;/接收标志=0 xff,未收到帧;=1,收到数据帧;=2,收到远程帧 INT8U RCVFlag;DDRB=0XFF;PORTB=0Xff;名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 17 页 -ECT_Init();LEDInit();NUM=0;Flag_ADC=0 x00;Flag_Send=0;/ADCInit();AD_Init();SCIInit();KB_Init();/CANInit();Temperature_Set=500;Pwm_Init();/ID=0 xff;/(INT16U)(CAN0IDAR0V 60000)SNDFlag=CANSND1DFRM(ID,(INT8U*)(Dat

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号