实训一(基于单片机的温度测量装置设计)精选.doc
文本预览下载声明
汕头职业技术学院教师教案
授课题目 基于ATmega16单片机的综合实训课题:
温度测量装置设计 授课形式 课堂理论 授课时间 2016/12/26(第18周) 节数 28 章节 综合 授课者 余阿陵 授课系、班级 应用电子1401 教学条件 嵌入式控制系统应用设计(章亚明,北京邮电大学出版社)教材,配有多媒体的单片机实验室、测控电子教案。 教学目标 熟悉PROTEUS ISIS中仿真温度检测传感器的温度检测模拟方法;熟悉模拟信号输入通道中电阻-电压转换电路的工作原理;熟悉ATmega16单片机片内AD转换、定时/计数器的工作原理;掌握测控技术中数值滤波、线性化标度变换的程序实现方法。 教学过程要点 设计任务
试用ATmega16单片机,配合铂电阻温度传感器、恒流源电路、放大与电平转换电路、加热器控制电路,设计一温度检测与加热控制装置,通过使用ATmega16的PWM输出控制功能,实现使加热温度为恒定100℃的自动控制电路,电路应包含温度值显示功能。
可测温度范围为0~200℃。
实训电路原理
1. 整机电路图
2. 温度检测传感器模拟
上图中电阻、、,用来模拟温度检测传感器。实际的温度检测传感器,应为铂电阻。
其测量温度范围为:~300/400℃;
在0℃时的标称阻值是:;电阻值随温度变化约为:/℃
由此特性,实际中应使用恒流驱动电路来实现其对温度的检测。如下图,电路中因由Q1、R2、U3、R6组成的恒流源电路对铂电阻温度传感器实现恒流供电(参见教材第116页)。
其在温度为0℃时,对应两端电压为:;
在温度为100℃时,两端电压为:
在温度为200℃时,两端电压为:
对此,因仿真的PROTEUS中没有对应以上特性的仿真器件,采用电阻、、,串联分压来模拟以上电压值。
3. 信号放大与电平转换电路
为使铂电阻上输出代表0℃~200℃的线性电压值:1V~1.8V的测量电压区间,能与ATmega16单片机在内部参考电压标准为2.56V时的AD转换器的输入电压相匹配,充分利用AD转换器的数字分辨率,电路由U4、RV1、R3、R4组成了信号放大与电平转换电路如下图(参见教材第118页图5.7a)。
由其输入与输出关系公式:
可知:
若检测温度为0℃、,应使,可有;
若温度为200℃、时:
此为将0~200℃的铂电阻输出电压1~1.8V差值0.8V,放大了3.2倍(,)。
由此电路实现了0~200℃的铂电阻输出电压1~1.8V,放大并进行电平转换为0~2.56V,送给ATmega16单片机的引脚,进行AD转换。
4. PWM输出的加热器控制电路
该部分电路如下图。电路中OV1为加热器;大功率管Q2将ATmega16单片机引脚PB3输出的PWM信号加给加热器,通过改变PWM信号的脉冲宽度来实现加热控制。
5. 显示电路
该电路为共阴数码管显示电路,此处不再深入讨论。可参考教材第42页图3.1,进行分析。
实训程序原理
程序内容
/*****************************************************
项目文件:sx1.c
芯片型号: ATmega16
程序应用: mega16片内10位AD采样,T/C0快速PWM
输出,具有自锁定检测温度的加热控制器
时钟频率: 8.000000 MHz
接口定义: a..g=portd.0..6,dp=portd.7
led1=portc.0,led2=portc.1
led3=portc.2,led4=portc.3
adc4=porta.4
*****************************************************/
#include mega16.h
#include delay.h
#define dbusout PORTD// 定义显示段控端口
#define led1 PORTC.0// 定义显示第1位控制端口
#define led2 PORTC.1// 定义显示第2位控制端口
#define led3 PORTC.2// 定义显示第3位控制端口
#define led4 PORTC.3// 定义显示第4位控制端口
#define led5 PORTB.0
#define led6 PORTB.1
#define ADC_VREF_TYPE 0xC0//定义ADC工作状态设置参量
flash unsigned char led_4[17]=
{0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7
显示全部