智能型焊接机温度控制器.docx
《智能型焊接机温度控制器.docx》由会员分享,可在线阅读,更多相关《智能型焊接机温度控制器.docx(14页珍藏版)》请在冰豆网上搜索。
智能型焊接机温度控制器
辽宁工业大学
智能仪表课程设计(论文)
题目:
智能型焊接机温度控制器
院(系):
电气工程学院
专业班级:
学号:
学生姓名:
指导教师:
起止时间:
2011.6.27-2011.7.3
摘要
本文介绍了一种基于AT89S51单片机为基础的智能型焊接机温度控制器,并且阐述了构成本系统的基本原理、硬件组成及相应的软件设计。
为使整个系统的运行完善,本系统在设计时匹配了键盘以及液晶显示模块以显示实时的温度值及事先给定的温度值。
论文中详细介绍了系统的总体框图以及各个硬件的性能,精确计算了数据参数,并画出了整体电路图和硬件的工作电路图。
该系统简洁明了,使用方便,解决焊接机温度控制器的智能性问题,有力的推进了该技术的改进和产品的更新换代,相信会得到广泛的应用,拥有较好的发展前景。
关键词:
单片机;智能型;控制;焊接机
第1章绪论
随着手机在世界范围内的普及使用,锂电池充电器的使用也越来越广泛。
在人们日常工作和生活中,充电器的使用也越来越广泛。
几乎所有用到电池的电器设备都需要用到充电器。
充电器为人们的外出旅行和出差办公提供了极大的方便。
智能电池充电器能有效地解决电池和充电器的兼容问题,从而避免了因电池化学特性不同而给电池充电造成的各种麻烦。
另外,除了对电池电压的检测外,为了更好的保护电池,充电器充电时还可对电池的温度及充电时间进行监测以作为辅助或后备保护方案。
单片机在温度控制领域也有着广泛的应用,利用它的处理控制能力可以实现充电器的智能化。
充电器种类繁多,但从严格意义上讲,只有单片机参与处理和控制的充电器才能称为智能充电器。
本文介绍一种基于单片机的智能充电器,能对锂电池进行智能充电,并对充电电池具有自动检测能力。
采用的最低电压控制则是根据充电电池的最低允许电压来判断充电状态,这种方法灵活性较好。
第2章课程设计的方案
2.1概述
本次设计主要是综合应用所学知识,设计智能型焊接机温度控制器,并在实践的基本技能方面进行一次系统的训练。
能够较全面地巩固和应用“智能仪表”课程中所学的基本理论和基本方法,并初步掌握小型单片机系统设计的基本方法。
2.2系统框图
图2.1给出了智能型焊接机温度控制器系统框图,其硬件部分由温度检测模块、A/D转换电路、单片机、复位电路、键盘、液晶显示模块组成。
图2.1电路总框图
第3章硬件设计
3.1A/D转换电路
系统中采用ADC0804作为模数转换器。
ADC0804是一个8位CMOS型逐次比较式A/D转换器,具有三态锁定输出功能。
图3.1ADC0804的引脚图
3.2传感器的选择
本系统选用WR系列铂铑传感器,它作为温度传感器,通常与温度变送器,调节器及显示仪表等配套使用,用以直接测量或控制各种生产过程中0-1800℃范围内的流体、蒸汽和气体介质以及固体表面等温度。
铂铑传感器的热电动势将随着测量端温度升高而增长,它的大小只与材料和两端温度有关,与热电极的长度和直径无关。
铂铑传感器主要用于生产过程中高温场合广泛应用于粉末冶金,烧结光亮炉,真空炉,冶炼炉,玻璃,炼钢炉,陶瓷及工业盐浴炉等测温。
主要技术参数如下:
电气出口:
M20×1.5,NPT1/2
精度等级:
I、II
防护等级:
IP65
偶丝直径:
Φ0.5
公称压力:
常压
3.2单片机的选择
系统选用了AT89S51单片机作为核心控制器件,AT89S51是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
图3.2AT89S51的引脚图
此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
由于系统控制方案简单,数据量也不大,考虑到电路的简单和成本等因素,因此在本设计中选用ATMEL公司的AT89S51单片机作为主控芯片。
主控模块采用单片机最小系统是由于AT89S51芯片内含有4kB的E2PROM,无需外扩存储器,电路简单可靠,其时钟频率为0~24MHz,并且价格低廉,批量价在10元以内。
3.3单片机与A/D转换器的连接
采用三总线方式与单片机连接时,ADC0804具有外部地址,按照图3.3的连接方式,ADC0804的地址为7F00H,单片机可以通过直接访问地址的形式访问ADC0804。
.
ADC0804采用直接方式与单片机连接后,单片机可以通过对I/O口的控制实现对A/D转换器的启动、查询和读数操作。
图3.3ADC0804与单片机的连接图
3.4复位电路
单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始
状态,并从初态开始工作。
89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。
当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。
复位电路如图3.4。
图3.4复位电路
3.5键盘电路
键盘共有六个按键,分别是S1(设置)、S2(+)、S3(+)、S4(-)、S5(-)、S6(存储)。
通过键盘来设置应达到的温度和加热时间,键盘采用中断方式控制。
下图为键盘电路。
图3.5键盘电路
当按下S1键≥3S,设置灯点亮,进入设置状态,液晶屏显示当前设置温度和时间。
在设置状态下,每按一下S2,温度设置值加1,。
在设置状态下,每按一下S4,温度设置值减1,最低设置到0。
在设置状态下,按一下S4,将时间设置值存储于AT24C01中,设置灯熄灭,退出设置状态。
如果在设置状态下,S2、S3、S4、S5、S6在10秒内无任何操作,系统将自动退出设置状态,设置温度不进行保存。
不在设置状态,按下S2、S3、S4、S5、S6键无任何反应。
3.6显示电路
采用技术成熟,价格便宜的1602液晶显示器作为输出显示。
本次设计使用的1602液晶显示器为5V电压驱动,带背光,可显示两行,每行16个字符,内置128个字符的ASCII字符集字库,只有并行接口,无串行接口。
1602液晶接口信号说明
编号
符号
引脚说明
编号
符号
引脚说明
1
VCC
电源地
9
D2
数据口
2
VDD
电源正极
10
D3
数据口
3
VO
液晶显示器对比度调节端
11
D4
数据口
4
RS
数据命令选择端
12
D5
数据口
5
R/W
读写选择端(H/L)
13
D6
数据口
6
E
使能信号
14
D7
数据口
7
D0
数据口
15
BLA
背光电源正极
8
D1
数据口
16
BKL
背光电源负极
1602液晶主要技术参数表
显示容量
16×2个字符
芯片工作电压
4.5~5.5V
工作电流
2.0mA(5.0V)
模块最佳工作电压
5.0Vf
字符尺寸
2.94×4.35(W×H)mm
基本操作时序
读状态输入:
RS=L,R/W=H,E=H输出:
D0~D7=状态字。
读数据输入:
RS=H,R/W=H,E=H输出:
无。
写指令输入:
RS=L,R/W=L,D0~D7=指令码,E=高脉冲输出:
D0~D7=数据。
写数据输入:
RS=H,R/W=L,D0~D7=数据,E=高脉冲输出:
无。
3.7写操作时序
分析时序图可知操作1602液晶的流程如下:
1、通过RS确定是写数据还是写命令。
写命令包括使液晶的光标显示/不显示、光标闪烁/不闪烁、需/不需要移动屏幕、在液晶的什么位置显示等等。
写数据是指要显示什么内容。
2、读/写控制端设置为写模式,即低电平。
3、将数据或命令,送达数据线上。
4、给E一个高脉冲将数据送至液晶控制器,完成写操作。
1602液晶写操作时序图
第4章软件流程图
YES
图4.1软件系统流程图
第5章课程设计总结
该智能电池充电器能有效地解决锂电池充电问题,除了对电池电压的检测外,而且更好的保护了电池。
在智能充电器控制系统设计过程中,主要侧重点是保证充电器对充电电池电压的精确控制,设计中元器件的选型也都是围绕着这个重点来完成的。
经过实验电路的实际测试,充电电路、A/D变换电路,在AT89S51的配合控制下可实现很高的系统精度.对锂离子电池来说,系统可以保证锂离子电池充电电压的精度。
参考文献
[1]梅丽风,王艳秋,汪玉铎等.单片机原理及接口技术(第3版).北京:
清华大学出版社;北京交通大学出版社,2009.2
[2]王迎旭.单片机原理与应用[M].北京:
机械工业出版社,2004:
7-1
[3]楼然苗.51系列单片机设计实例(第2版)[M].北京航空航天大学出版社,2006:
2-1
[4]黄勤.计算机硬件技术基础实验教程[M].重庆:
重庆大学出版社,2002:
3-1
[5]刘乐善.51系列单片机应用与实践教程[M].武汉:
华中科技大学出版社1994:
3-30
[6]董晓红.单片机原理与接口技术.西安:
西安电子科技大学出版社,2006.8
附录Ⅰ
总体电路图
附录II
//******************************************************
智能电池充电器
//******************************************************
#include
staticunsignedintservo1_r;//PWM脉冲宽度,中间变量
unsignedcharAX=1;//通道选择
unsignedchargetdata;
staticunsignedcharsort=0;
sbitST=P2^3;
sbitOE=P2^4;
sbitEOC=P2^5;
sbitADDA=P1^0;
sbitADDB=P1^1;
sbitADDC=P1^2;
sbitServo1=P1^3;
//******************************************************
改变PWM的占空比
//******************************************************
voidtimer0(void)interrupt1
{
Servo1=!
Servo1;//输出取反
if((servo1_r>=20)&&(servo1_r<=2650))
servo1_r=18432-servo1_r;
elseif((servo1_r>=15782)&&(servo1_r<=18412))
servo1_r=18432-servo1_r;
if((servo1_r>=20)&&(servo1_r<=2650))
{
switch(sort)
{
case0:
servo1_r=500;break;
case1:
servo1_r=550;break;
case2:
servo1_r=600;break;
case3:
servo1_r=650;break;
case4:
servo1_r=750;break;
case5:
servo1_r=810;break;
case6:
servo1_r=880;break;
case7:
servo1_r=980;break;
case8:
servo1_r=1100;break;
default:
break;
}
}
TH0=(65535-servo1_r)/256;TL0=(65535-servo1_r)%256;//重新定义计数初值
}
voidsel_Ax(unsignedcharAx)
{
if((Ax&0x01)==0x01)
ADDA=1;
else
ADDA=0;
if((Ax&0x02)==0x02)
ADDB=1;
else
ADDB=0;
if((Ax&0x04)==0x04)
ADDC=1;
else
ADDC=0;
}
voidmain(void)
{
TMOD=0x11;//设置定时器工作方式
Servo1=1;//初始状态
servo1_r=20;
TH0=(65535-servo1_r)/256;TL0=(65535-servo1_r)%256;//定义
计数初值
EA=1;
ET0=1;TR0=1;EX0=1;
while
(1)
{
sel_Ax(AX);//选择通道
ST=0;
ST=1;
ST=0;
while(EOC==0);
OE=1;
getdata=P0;//获取电压值
if((getdata<27))
sort=0;
elseif((getdata<54)&&(getdata>=27))
sort=1;
elseif((getdata<81)&&(getdata>=54))
sort=2;
elseif((getdata<108)&&(getdata>=81))
sort=3;
elseif((getdata<135)&&(getdata>=108))
sort=4;
elseif((getdata<162)&&(getdata>=135))
sort=5;
elseif((getdata<189)&&(getdata>=162))
sort=6;
elseif((getdata<216)&&(getdata>=189))
sort=7;
elseif((getdata>=216))
sort=8;
}
}