已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本设计介绍一种基于Atmega16单片机的智能多路温度控制器。该控制器采用高精度的Cu50电阻传感器、专门的A/D转换电路及输出电路来实现对4路温度的同时自动检测及线性化处理,其误差小于0.5;设定报警及跳闸阀值。软件使用模块化结构,并对温度进行分段线性化处理。 关键词:单片机;液晶显示;模数转换;嵌入式第一章 设计前提1.1设计题目和目的1.1.1设计题目试设计智能仪表:采用ATmega16单片机实现智能数字显示仪表。要求8位数码管显示(4位显示测量值,4位显示设定值),4输入按钮(功能选择、数码管选择、数字增加、数字减少),可设定上下限报警(蜂鸣器报警)。适配Cu50热电阻,测温范围为0130。采用位式(两位、三位,具有滞环)控制、并用晶闸管过零驱动1000W电加热器(电源电压为AC220V)。1.1.2设计目的单片机综合练习是一项综合性的专业实践活动,目的是让学生将所学的基础理论和专业知识运用到具体的工程实践中,以培养学生综合运用知识能力、实际动手能力和工程实践能力,为此后的毕业设计打下良好的基础。1.2设计思路1.2.1显示及测量原理由热电阻传感器送来的电信号在测量桥路进行冷端自动补偿后,送入放大器,一面把信号进行放大,同时把非线性信号校正为线性信号,经线性放大信号一路转换电路把模拟量转换成数字信号进行数字显示,另一路传输到调节网络,进行规定的比较运算,同时输出一个需要的控制信号和进行工作状态指示。1.2.2设计组成及方框图Atmega16l单片机按键报警指示和显示热电阻输入下载通信本设计智能温度数显表由温度监测、信号处理、输出控制三部分组成。其系统框图如图1所示,它通过Cu50电阻传感器获取绕组温度值,经信号调理电路处理后直接送入控制器的A/D转换输入端。微控制器根据信号数据及设定的各种控制参数,按照嵌入的软件控制规律执行计算与处理,自动显示智能仪表数显表可测的温度范围、并根据当前状态输出正常、设定上下线报警等第二章Protel99se画的详细原理图与原理图说明2.1 Atmega16单片机温控仪控制核心采用Atmega16单片机, 具有16KB 系统内可编程Flash的8 位微控制器 ATmega16 有如下特点:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW), 512 字节EEPROM,1K 字节SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/ 计数器 (T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP 封装) 的ADC ,具有片内振荡器的可编程看门狗定时器,一个SPI 串行端口,以及六个可以通过软件进行选择的省电模式。工作于空闲模式时CPU 停止工作,而USART、两线接口、A/D 转换器、SRAM、T/C、SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态; ADC 噪声抑制模式时终止CPU 和除了异步定时器与ADC 以外所有I/O 模块的工作,以降低ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby 模式下则允许振荡器和异步定时器继续工作。2.2Cu50电阻传感器铜电阻在测温范围内电阻值和温度呈现线性关系,温度系数大适用于无腐蚀介质,超过150易被氧化,铜电阻有R0=100和R0=50两种,本次课程设计采用的是Cu50的热电阻,所以其分度号如下表所示T()-50-40-30-20-10-0R()39.24241.40043.55545.70647.85450.000T()010203040506070R()50.00052.14454.28556.42658.56560.70462.84264.981T()8090100110120130140150R()67.12069.25971.40073.54275.68677.83379.98281.1342.3基本模块简介2.3.1模拟转换电路模拟转换控制电路用于将温度模拟量转换成单片机能够识别的电信号,转换原理如图2所示。当温度变化时,热电偶的阻值会随着温度的变化线性变化,其分压值与某一固定电路分压值进行比较,其结果送入运算放大器,转换成A/D转换范围内的模拟量。AT89C52中的A/D转换精度为8位,由于参考电压为5v,所以必须将模拟信号转换成05v的电压,因此在设计此电路时,各元件的参数都按照此要求设计。同时,还要考虑其线性化,为了使软件设计中的计算按线性处理,在硬件设计时,一定要将温度与转换到单片机的数字量成线性变化。得出的A/D转换电压与RW不成正比,不符合线性要求。如果满足R3RW,转换电压就与RW近似成正比,与温度也近似成正比关系。这样就可以通过线性计算来求出任意一点的温度,不过用线性化来计算这种近似线性的图形,也会带来微小的误差,这些误差可以在软件设计中解决。2.3.2数码管显示数码管显示通过键盘/显示器接口专用智能控制芯片HD7279A来实现。HD7279A是一种管理键盘和LED显示器的专用智能控制芯片。它无需外围电路,只需要外接少量的电阻等,就能对8位共阴极LED显示器或64个LED发光管进行管理和驱动,同时能对多达88的键盘矩阵的按键情况进行扫描,具有自动消除键抖动并识别按键代码的功能,从而可以提高CPU工作的效率。HD7279A和微处理器之间采用SPI串行接口方式,其接口电路和外围电路简单,占用口线少,加之它具有较高的性能价格比,因此,在微型控制器和智能仪表中广泛应用。其主要特点如下: 带有串行接口,无需外围元件便可直接驱动LED; 各位可独立控制译码/不译码、消隐和闪烁等属性; 具有(循环)左移/(循环)右移指令; 具有段寻址指令,可方便地用来控制独立的LED显示管; 64键键盘控制器内含去抖动电路。2.3.3按键电路4个按键与单片机的接线图及个按键的作用如上图所示;当单片机的引脚输入为低电平时,表示该引脚所对应的按键按下,单片机实现相应的功能。2.3.4输出电路输出电路是单片机对模数转换的数值进行计算和控制结果的体现2.3.5数码显示和指示电路SM1显示的是热电偶测的电加热器的实际温度值,SM2显示的是人工设计的电加热器的期望温度值。数码管是有HC595芯片来驱动的,HC595接在SPI通信的3个接口上。指示电路是指示按键的输入状态的。D1、D2、D3、D4与S1、S2、S3、S4一一对应,当某个按键按下时,单片机相应的引脚将置低电平,使该按键相对应的二极管发光。2.3.6报警电路当温度超过报警限时,单片机相应管脚输出一定频率的电平。蜂鸣器发出响声第三章Protle99SE画的基本原理图和PCB图3.1智能仪表总原理图第四章 智能仪表软件软件程序设计4.1软件个功能模块简介软件采用模块化结构,包括1个主模块和5个子模块(按钮处理子模块、设置上限温度及采集边界点数字量子模块、通信子模快、故障输出处理子模块和显示子模块),主模块完成对各个子模块的初始化和调用故障输出处理子模块、显示子模块。而按钮处理子模块、设置上限温度及采集边界点数字量子模块、通信模块采用中断方式工作,主模块与它们通过共用一段RAM区域进行联系。由于在单片机应用系统的模拟输入信号中含有种种噪音和干扰,故本程序采用数字滤波技术滤波。除此之外,对于前面提到的线性化问题,我们采用了将0200分成四个区域,在每个区域进行线性化计算。这样比在0200区域内直接进行计算要精确的多,能够达到0.1的精度。各个子模块的功能如下:(1)按钮处理子模块在有键按下时向ATmega16申请中断,在中断子程序中修改预先设好的标志位。(2)设置上限温度及采集边界点数字量子模块可以在长时间按键时修改上限温度的界面,通过按钮对温度范围为0130所对应的数字量进行采集,并将结果存到E2PROM里。 (4)故障输出子模块可以通过实际温度与上限温度的比较,来判断现场是否出现异常情况。同时,设置标志位来判断是否进行A/D转换、是否进行显示。(5)显示子模块将线性计算出的结果经二进制到BCD码的转换送到8位LED显示器显示4.2C语言程序注释#include /Atmega16单片机头文件#include Flash unsigned char SHUMA=0xC0,0xF9,0xA4,0XB0,0x99,0x92 0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,;/定义数码管译码数组定义数码管位选数组;SPI初始化;Void SPI_MasterInit(void)DDRB|=(15)|(17);SPCR=(16)|(14) |(15)|(11)| (10);Void SPI_595_Out(unsigned char i)SPDR=i;While(!SPDR&(17);Void main(void)unsigned char saomiao=0;Unsigned char w10;DDRA=0x00;PORTA=0X00;DDRB=0XB0;PORTB=0Xff;DDRC=0XFC;PORTC=0XFF;PORTD=0X00;DDRD=0XFF;SPI_Masterlnit();While(1)data0=1234;data1=5678;W0=data0%10;W1=data0/10%10;W2=data0/100%10;W3=data0/1000%10;W4=data0%10;W5=data0/10%10;W6=data0/100%10;W1=data0/1000%10;PORTB&=(14);SPI_595_Out(weizhisaomiao);SPI_595_Out(dispwsaomiao;PORTB=|(1=8saomiao=0;while(1)uchar j=0;uint i;DDAR=0xFF;DDRB=0XFF;PORTD=0XFF;DDRD=0X00;While(1)if(PIND|0XEE)=0XEF)For(i=0;i99)j=0;While(PIND|0XEF)=0XEF);PORTB=SHUMAj/10;PORTC=SHUMAj%10;PORTA=j;while(1)PORTC=SHUMAcounter;/数码管显示语句:if(display_time= =1) /如果显示标记display_time=1,则执行显示任务,完成一位数码管显示数码管扫描显示语句; /采用两片74HC595扫描数码管display_time= =0;/ADC转换与数字滤波语句:if(sample_time= =1) /如果数据采样标记sample_time=1,执行ADC转换任务TLC1549转换、数字滤波与非线性校正程序;sample_time= =0;/ADC输出数值判断、报警、位式算法运算与控制量输出:if (control_time= =1) /如果控制周期标记control_time=1,则实现控制算法control_time=0;if (DAC_time= =1) /如果DAC转换标记DAC_time=1,将数据写入DACTLC5615数据输出语句;DAC_time=0;/定时器0中断服务程序,用于产生显示、ADC转换与控制周期标记void Timer0() interrupt 1 static n,m,k,h;n+; m+,k+;h+;if(n= = display_time0) /display_time0为显示周期n=0; display_time=1;if(m= = sample_time0) /sample_time0为ADC转换周期m=0; sample_time=1;if(k= = control_time0) /control_time0为控制周期k=0; control_time=1;if(h= = DAC_time0) /DAC_time0为DAC转换周期h=0; DAC_time=1;第五章参考文献与总结5.1设计中遇到的问题及解决方法 1.在画protel图时,我们使用网络名,NET走线。但是有时候因为疏忽,没 靠在线上,从而出现错误(要两黑点载同一点上才算是连接上)。 2.画原理图时,由于将一些不必要的元器件删去后没有及时将net网络名删去, 或者更改,致使网络名成单个出现,导致错误。 3.将所有的错误都去掉,如果有一些没有错误但被打上错误标志的连接 线用“No Error”标示。 4.刚开始编写的程序中,工作模式切换后,容易出现温度超过调节范围的情况。比如:通风模式的温度调节范围是1432度,而制热模式下的温度范围是1430度。当工作模式从通风模式转换到制热模式下的时候,若通风模式的温度是31或32度,切换到制热模式后它的温度仍然是31或32度,这就超出了制热模式的温度调节范围,出现bug。 后来,我们在切换模式时做了一些改进:当工作模式切换时,程序先判断当前的温度是否超出温度调节范围,若超出,将其设置为温度调节范围内的温度。 5.在工作模式的选择上,原本只用了work_mode来表示四种工作模式,后来发现若只有work_mode,则有不能选择制冷和通风模式的可能。比如:使用者选择的模式为自动,空调会根据当前的实际温度选择制冷、通风或制热模式。假设空调自动选择的是通风模式(模式2),那么无论使用者怎么按模式选择键,它都将跳过制冷模式(模式1),从而无法选择制冷模式。 我们采取的办法是增加变量work_mode_fact,意为在自动模式下实际执行的工作模式。方便工作在在自
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度停车场消防安全管理与应急预案合同4篇
- mcn签约合同范本
- 科技产品的品牌建设与传播策略
- 教育资源优化配置在学生健康促进中的作用
- 2025版医疗设备销售合同协议书与结算单
- 教育信息化背景下的办公环境中的劳动教育案例
- 2025版畜禽养殖场土地承包与农业物联网技术应用合同3篇
- 2025年度风力发电机租赁与运营管理合同范本3篇
- 个人向公司2024年短期借款合同
- 专卖店员工聘用协议范本2024年版版A版
- 油气行业人才需求预测-洞察分析
- 《数据采集技术》课件-Scrapy 框架的基本操作
- 高一化学《活泼的金属单质-钠》分层练习含答案解析
- 华为集团干部管理
- 图书馆前台接待工作总结
- 卫生院药品管理制度
- 理论力学智慧树知到期末考试答案章节答案2024年中国石油大学(华东)
- 2024老年人静脉血栓栓塞症防治中国专家共识(完整版)
- 四年级上册脱式计算100题及答案
- 上海市12校2023-2024学年高考生物一模试卷含解析
- 储能电站火灾应急预案演练
评论
0/150
提交评论