基于单片机的智能检测的电梯限速器测试仪的设计Word文档下载推荐.docx
- 文档编号:8405072
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:18
- 大小:249.93KB
基于单片机的智能检测的电梯限速器测试仪的设计Word文档下载推荐.docx
《基于单片机的智能检测的电梯限速器测试仪的设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能检测的电梯限速器测试仪的设计Word文档下载推荐.docx(18页珍藏版)》请在冰点文库上搜索。
7、参考文献……………………………………………………………………………………11
8、心得体会……………………………………………………………………………………12
附录1……………………………………………………………………………………………13
1、引言
在当今的社会生活中,电子科学技术的运用越来越深入到了各行各业之中,并得到了长足的发展和进步,自动化控制系统更是的到了广泛的应用,其中一项重要的应用就是——自动调速系统。
由于直流电动机具有良好的调速性能、较大的启动转矩和过载能力强,适宜在广泛的范围内平滑调速,所以直流调速系统至今仍是自调速系统中的重要形式。
而伴随着电力电子技术的不断发展,开关速度更快、控制更容易的全控性功率器件MOSFET和IGBT成为主流,PWM表现出了越大的优越性:
主电路线路简单,需用的功率器件少;
开关频率高,电流容易连续,谐波少,电机损耗及发热都较小;
低速性能好,稳速精度高,调速范围宽。
本设计采用PWM技术来对直流电机进行调速,与一般直流调速相比,既减少了对电源的污染,而且使控制过程更简单方便,减少了对人力资源的使用,又因为线路的简单化、功率器件需用的减少,使系统的维护、维修变得更加简单了,但动、静态性能却提高了。
2、设计原理
2.1、系统设计原理
脉宽调制技术是利用数字输出对模拟电路进行控制的一种有效技术,尤其是在对电机的转速控制方面,可大大节省能量,PWM控制技术的理论基础为:
冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同,使输出端得到一系列幅值相等而宽度不相等的脉冲,用这些脉冲来代替正弦波或其他所需要的波形。
按一定的规则对各脉冲的宽度进行调制,既可改变逆变电路输出电压的大小,也可改变输出频率。
直流电动机的转速n和其他参量的关系可表示为
(1)
式中Ua——电枢供电电压(V);
Ia——电枢电流(A);
Ф——励磁磁通(Wb);
Ra——电枢回路总电阻(Ω);
CE——电势系数,,p为电磁对数,a为电枢并联支路数,N为导体数。
由式
(1)可以看出,式中Ua、Ra、Ф三个参量都可以成为变量,只要改变其中一个参量,就可以改变电动机的转速,所以直流电动机有三种基本调速方法:
(1)改变电枢回路总电阻Ra;
;
(2)改变电枢供电电压Ua;
(3)改变励磁磁通Ф
下图为PMW直流电机设计框图
图2.1PWM直流电机设计框图
2.2、PWM基本原理
脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。
通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。
PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。
电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。
通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。
只要带宽足够,任何模拟值都可以使用PWM进行编码。
简而言之,就是用改变电机电枢(定子)电压的接通和断开的时间比(占空比)来控制马达的速度,在脉宽调速系统中,当电机通电时,其速度增加;
电机断电时,其速度减低。
只要按照一定的规律改变通、断电的时间,即可使电机的速度达到并保持一稳定值。
2.3、直流电机PWM调速基本原理
PWM方式是在大功率开关晶体管的基极上,加上脉冲宽度可调的方波电压,控制开关管的导通时间t,改变占空比,达到控制目的。
图2.3是直流PWM系统原理框图。
这是一个双闭环系统,有电流环和速度环。
在此系统中有两个调节器,分别调节转速和电流,二者之间实行串级连接,即以转速调节器的输出作为电流调节器的输入,再用电流调节器的输出作为PWM的控制电压。
核心部分是脉冲功率放大器和脉宽调制器。
控制部分采用L298集成控制器产生两路互补的PWM脉冲波形,通过调节这两路波形的宽度来控制H电路中的GTR通断时间,便能够实现对电机速度的控制。
为了获得良好的动、静态品质,调节器采用PI调节器并对系统进行了校正。
检测部分中,采用了霍尔片式电流检测装置对电流环进行检测,转速还则是采用了测速电机进行检测,能达到比较理想的检测效果。
图2.3直流电机PWM调速基本原理图
3、硬件电路设计
3.1、单片机选择
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(ROM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元。
功能强大AT89C51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。
此设计就采用AT89C51。
3.2、直流电机驱动器选择
L297是意大利SGS半导体公司生产的直流电机专用控制器。
芯片内的PWM斩波器电路可开关模式下调节步进电机绕组中的电机绕组中的电流。
该集成电路采用了SGS公司的模拟/数字兼容的I2L技术,使用5V的电源电压,全部信号的连接都与TFL/CMOS或集电极开路的晶体管兼容。
直流电动机驱动电路图如图1所示。
其中L298的ENA和IN2引脚与单片机的输出引脚相连,图中未表示。
图3.2直流电机驱动电路
L298芯片管脚说明:
(1)SENSA:
电流监测端,H桥的电流反馈脚,不用时可直接接地。
(2)UT1:
输出端,与M1对应。
(3)OUT2:
输出端,与M2对应。
(4)VS:
电源,用来给电动机供电。
(5)IN1:
输入端。
(6)ENA:
使能端,和M1、M2配合使用。
(7)IN2:
(8)GND:
接地。
(9)VCC:
电源,用来给芯片供电。
(10)IN3:
输入端
(11)ENB:
使能端,和M3、M4配合使用。
(12)IN2:
(13)OUT3:
输出端,与M3对应。
(14)OUT4:
输出端,与M4对应。
(15)SENSB:
电机控制说明如表1所示,其中*值可取1也可取0。
SENSEENA
IN1
IN2
电机效果
*
停止
1
正传
反转
3.3、电机旋转译码器
旋转编码器是用来测量转速的装置。
它分为单路输出和双路输出两种。
技术参数主要有每转脉冲数(几十个到几千个都有),和供电电压等。
单路输出是指旋转编码器的输出是一组脉冲,而双路输出的旋转编码器输出两组相位差90度的脉冲,通过这两组脉冲不仅可以测量转速,还可以判断旋转的方向。
因此,本设计选择双路输出译码器,如图3.3所示:
图3.3MOTER-ENCODER电机旋转编码器
3.4、硬件电路图
图3.4硬件电路设计全图
4、软件设计
4.1主程序流程图
图4.1主程序流程图
4.2、显示子程序设计
图4.2显示子程序流程图
51C语言源程序详见附录1
5、系统调试
5.1正转仿真结果
图5.1正转仿真结果
5.2、反转仿真结果
图5.2反转仿真结果
5.3、超速仿真结果
图5.3超速仿真结果
6、结束语
两周的测控系统课程设计中,通过查阅相关资料了解了直流调速系统,加深了对直流电机调速控制系统的认识,熟悉了单片机在控制系统中的运用,并且通知学习,基本了解了L298直流电机驱动芯片的运用。
此次课程设计使我将原来所学的知识系统化,理论化向实用化过度。
对如何使用已有知识及获取相关资料方面的能力有了较大的提高。
通过本次设计,我的知识领域得到进一步扩展,专业技能得到进一步提高,同时锻炼了自己独立完成任务的能力,另外,我还认识到无论做什么工作,都需要踏实,勤奋,严谨的态度,这对我以后的工作将会产生深远的影响。
同时,也培养了自己认真的科学态度和严谨的工作作风,为将来能更好的适应工作岗位打下了良好的基础。
7、参考文献
[1].毛谦敏主编《单片机原理及应用系统设计》国防工业出版社
[2].朱清慧主编《Protues教程——电子线路设计、制版与仿真》清华大学出版社
[3].胡学海主编《单片机原理及应用系统设计》电子工业出版社
[4].张道德主编《单片机接口技术(C51版)》中国水利水电出版社
[5].肖婧主编《单片机系统设计与仿真》北京航空航天大学出版社
[6].王青云、王维庆、陈志军;
“基于智能检测的电梯限速器测试仪的设计开发”;
《微型机与应用》,2011年07期
[8].王葳、张广明、宋作成;
“基于虚拟的电梯限速器检测系统”;
《机械与制造》,2009年07期
8、心得体会
在两周的测控系统课程设计中,通过查阅相关资料了解了直流调速系统,加深了对直流电机调速控制系统的认识,熟悉了单片机在控制系统中的运用。
并且在所学知识的基础上,利用已有的直流调速系统设计,尝试了自己的一些研究。
并且,使我将原来所学的知识系统化,理论化,实用化。
对如何使用已有知识及获取相关资料方面的能力又有了提高。
本设计基本上达到了设计目的。
实现通过单片机对直流电机的控制,通过合理的设备选型、参数设置和软件设计,提高了直流电机调速运行的可靠性。
本设计在硬件上采用了基于PWM技术集成驱动组成的驱动电路,解决了电机驱动的效率问题。
通过本次设计,我的知识领域得到进一步扩展,专业技能得到进一步提高,同时锻炼了自己独立完成任务的能力,并掌握了很多软件、硬件开发方面的知识。
另外,我还认识到无论做什么工作,都需要踏实,勤奋,严谨的态度,这对我以后的工作将会产生深远的影响。
不管是什么都会遇到问题,遇到问题最关键的是解决问题。
首先对于不知道的芯片就在网上找资料或者是在图书馆寻找资料来解决。
其次有的东西是同学在课程设计涉及到的内容,我就会找他们来探讨,一起解决问题。
如果还是不会的问题在每周毕业设计指导答疑时让老师帮忙解决。
有的问题就不断的试不断的改,直到行得通为止。
下面说一下自己的得与失。
通过本次设计确实让自己学到了不少知识,首先是对这个实验的原理有了更深的了解,仿真软件有了更进一步的了解。
另外还发现自己的一些问题。
首先,是对很多学过的知识还不够熟练不能用到实际问题中。
其次,是自己还不够条理,思考问题不全面等。
就本实验具体问题谈一下自己的看法。
设计虽然比较成功,但是实验还有很多需要改进和扩展的地方,我们要求设计的是比较简单的电路,在实际生活中的设计与应用要远比这次的课程设计复杂,在以后的课程中还要继续学习其他知识,以解决真正的实际问题,真正达到学以致用。
这个毕业设计让我明白了我们大学生在真正的动手方面有很大的缺陷,以及在比较深入的知识有很大的不足,因此在今后的学习实践中应该多看些比较深的知识,为将来在工作上打好基础。
附录1
/*--------------------------------------------------
利用虚拟仪器实现电梯转速控制
---------------------------------------------------*/
#include<
reg51.h>
//头文件
math.h>
//数学函数
#defineucharunsignedchar//用uchar代替unsignedchar
#defineunitunsignedint//用unit代替unsignedint
#definePWM_RANK20//PWM脉冲数
#defineTIMER_BASE1000//定时初值
sbitWei=P2^2;
//为1时表示”反转“,为0时表示”正转“
sbitPWM=P3^5;
//电机PWM脉冲输出端
sbitMP=P3^2;
//速度检测输入端
sbitLED1=P2^0;
//红色LED端口定义
sbitLED2=P2^1;
//绿色LED端口定义
bitFLAG=0;
//转速获取到标志,1为获取到,0为未获得
sbitSPEED_UP=P3^6;
//加速按键
sbitSPEED_DOWN=P3^7;
//减速按键
ucharspeed=8;
//设置速度等级
ucharcodedispbit[3]={0x01,0x02,0x04};
//数码管选通表
ucharcodeseg1[]={0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
//正转时,阳极数码管形式对应的0-9数值表格
ucharcodeseg2[]={0xbf,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
//反转时,阳极数码管形式对应的0-9数值表格
uchardisbuf[4]={0,0,0,0};
//定义数组,显示时用
unittemp[3];
//用于存放速度分解后的数值
unitdiscount=0;
//用于查数码管选通表和查速度分解后的个、十位数
unittimecount=0;
//定时计数
unitT0count=0;
//外部0中断计数
unittime=0;
unitst[2];
//定义数组
unitx;
//当前转速
unitmx;
//前一秒的转速
voidshow();
//函数声明
voidDelayUs2x(unsignedintt);
voidDelayMs(unsignedintt);
/*------------------------------
主程序
------------------------------*/
voidmain()
{
TMOD=0x01;
//选择T0工作方式1
EX0=1;
//开外部中断
IT0=1;
//设置外部中断触发方式为下降沿触发
IP=0x05;
//用于设置中断的优先级,设置外部中断优先
//IP的第0为到第5位为PX0,PT0,PX1,PT1,PS和PT2
TH0=(65536-TIMER_BASE)/256;
TL0=(65536-TIMER_BASE)%256;
TR0=1;
//开启定时器T0
ET0=1;
//定时器T0中断允许
EA=1;
//开总中断
while
(1)//主循环
{
if(FLAG==1)//判断转速获取标志位是否为1
mx=st[0]-st[1];
//技术前一秒转速
FLAG=0;
//清零转速获取标志位
}
x=mx;
//转速显示
show();
if(SPEED_UP==0)//加速按键动作
DelayMs(10);
//延时10Ms去抖动
if(SPEED_UP==0)//再次确定案按键是否真的按下
while(SPEED_UP==0);
//等待按键释放
if(speed<
20)speed++;
//速度加1
elseif(SPEED_DOWN==0)//减速按键动作
if(SPEED_DOWN==0)
while(SPEED_DOWN==0);
if(speed>
0)
speed--;
//速度减
/*------------------------------------------------
外部0中断服务程序
-------------------------------------------------*/
voidoutside()interrupt0
T0count++;
/*------------------------
T0中断服务程序
----------------------------*/
voidt0_serv()interrupt1
PWM=1;
TH0=252;
//定时器T0重装初值
TL0=24;
time++;
if((time%20)<
speed)PWM=1;
elsePWM=0;
//实现PWM的调速
if((time%890)==1)
FLAG=1;
//转速获取标志位置1
st[1]=st[0];
st[0]=T0count;
EA=1;
/*-------------------------------
速度显示子程序
---------------------------------*/
voidshow(void)
uniti;
for(i=0;
i<
3;
i++)//对temp[i]进行初始化
temp[i]=0;
i=0;
while(x/10)//转速值转化成显示数据
{temp[i]=x%10;
//分离个位数,并保存于数组temp[]中
x=x/10;
//分离十位数
i++;
if(x>
=5)//当十位数大于5时,即转速大于50时开始报警
LED1=~LED1;
//红灯闪烁
LED2=1;
//绿灯熄灭
}
else//正常情况红灯熄灭,绿灯亮
{LED1=1;
LED2=0;
}
temp[i]=x;
//保存十位数于数组temp[]中
i++)
disbuf[i]=temp[i];
//将temp[]中数据送disbuf[]中
P0=dispbit[discount];
//查表对数码管的片选控制
if(Wei==1)//反转查表seg2[]将分离好的数据送P1口显示
P1=seg2[disbuf[discount]];
else//正转查表seg1[]将分离好的数据送P1口显示
{P1=seg1[disbuf[discount]]
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 智能 检测 电梯 限速 测试仪 设计