PWM)
也就
电动机的电枢电压受单片机输出脉冲控制,实现了利用脉冲宽度调制技术(进行直流电机的
因为在H桥电路中,只有PWM1与PWM2电平互为相反时电机才能驱动,是PWM1与PWM2同为高电平或同为低电平时,都不能工作,
Pwm2
ZKB2
ZKB1
PWM波的周期。
该子程序流程图
实际占比空应该为,ZKB=ZKB1-ZKB2。
在课设的编程中,我们把PWM波的周期定为1ms,占空比分100级可调(N最大值为100),这样定时器TO每0.01ms产生一次定时中断,每100次中断后,进入下一个
中断子程序
主程序部分
PWM1EQUP1.0
PWM2EQUP1.1
NEQURO;N用来设定每个pwR周期中断次数
ZKB1EQUR1;正向占空比
ZKB2EQUR2;反向占空比
ORGOOOOH
SJMPMAIN
ORGOOO2H
AJMPTOINT
SETBEA
SETBET0
开启T0计时
SETBTR0;
T0INT:
DJNZZKB1,PW1
DJNZZKB2,PW2
RET1
PW1:
CLRPWM1SETBPWM2
RET1
PW2:
SETBPWM1CLRPWM2
RET1
第二节给定速度程序设计
此模块采用通过调节可变电阻,改变输入的电压值,ADC0809E模拟
信号转化成数字信号,进而去调节电机的转速工作点,因此此模块的重点就在编程驱动模数转换芯片读取数字信号。
ADC0809勺工作过程是:
首先输入3位地址,并使ALE=1将地址存入地址锁存器中。
此地址经译码选
通8路模拟输入之一到比较器。
START!
升沿将逐次逼近寄存器复位清零,下降沿启动A/D转换,之后EOC俞出信号变低,指示转换正在进行。
直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。
当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。
采用中断方式读取转换到的数字信号。
流程图如下所示:
相应的汇编程序如下:
_STEQUP3.6
_EOCEQUP3.2
_OEEQUP3.7
DATA_ADEQU3000H
ORG0000H
SJMPMAIN
ORG0003H
AJMPPINT0
MAIN:
SETBEA;允许总中断
STEBEX0;开INT0中断
SETB_OE
SETB_ST;置OESTART为低电平CLRP2.7
MOVDPTR,#07FFFH选中ADC0809MOVX@DPTR,A启动A/D转换
PINT0:
CLR_EOC
MOVDPTR,#7FFFH
读取AD转换数值
MOVXA,@DPTR;
CALLDELAY
数值存储30H单元
MOVDATA_AD,A;
DELAY:
MOVR5,#02H
L1:
MOVR6,#0E0H
L2
L2:
DJNZR6
DJNZR5,L1
RET
电机的转速可表示为:
n=——=———r/niin
27;ZM,
式中,z为电机每转一圈所产生的脉冲数(z=倍频系数X码盘光栅数),
具体测速方法:
在系统中,使用8254计数器,计数器T1,ALE引脚输出的高频脉冲f0,进行mt法测速。
8254传感器输出脉冲进行计数,可设计数值为N1,利用方式0计数,使用单片机的T1定时器测高频脉冲的时
间Tt,先往T1置数,确定计数时间,当计数溢出时,中断处理,停止8254的计数,并读出当前计数器值N2,则M仁n1-n2,时间Tt由T1初值确定M2
流程图如下:
位置测量,同样由光电脉冲传感器输出脉冲计算转角,设初始位置为
a,电机转一圈的脉冲数为n1,当计数总数为n时,位置为n/n1取余数,位置为(a+余数/z*360)
第五节电流测量程序
电流的测量与给定输入的程序基本一样,不同的是,霍尔传感器输出
的电压模拟量接ADC080啲INT-1引脚,需置A2A1A0=001,选通INT-1通道后,再启动ADC.
第六节速度显示程序
在本单片机系统中,八段数码管直接与单片机连接的,采用软件编码动态扫描的方式进行工作,字形表是通过对字形的编码,由软件实现,由八段数码管实现字符的显示。
根据测量的转速值,向八段引脚中赋予软件编码值,在打开片选引脚使其显示在数码管中,延时一段时间,再关闭片选端,为下一数码管的显示做准备。
ADDR_AEQU8FFFH;8255A口地址
ADDR_KEQU0BFFFH;8255控制字地址
DISPLAY:
MOVDPTR,#ADDR_K
MOVA,#80H
MOVX@DPTR,A;设置控制字
MOVA,R0;显示转速千位数字
MOVDTPR,#ZXM
MOVCA,@A+DPTR
MOVDPTR,#ADDR_A
MOV@DPTR,#8FFFH;选中8255A口
CLRP1.0;译码选中LED
CLRP1.1
CLRP1.2
MOV@DPTR,A;显示
MOVA,R1;显示转速百位数字
MOVDTPR,#ZXM
MOVCA,@A+DPTR
MOVDPTR,#ADDR_A
MOV@DPTR,#8FFFH;选中8255A口SETBP1.0;译码选中LED
CLRP1.1
CLRP1.2
MOV@DPTR,A;显示
MOVA,R3;显示转速十位数字
MOVDTPR,#ZXMMoveA,@A+DPTR
MOVDPTR,#ADDR_A
MOV@DPTR,#8FFFH;
CLRP1.0;
SETBP1.1
CLRP1.2
MOV@DPTR,A;
选中8255A口
译码选中LED
显示
MOVA,R4;显示转速个位数字
MOVDTPR,#ZXM
MOVCA,@A+DPTR
MOVDPTR,#ADDR_A
MOV@DPTR,#8FFFH;
SETBP1.0;
SETBP1.1
CLRP1.2
MOV@DPTR,A;
选中8255A口
译码选中LED
显示
上面测量的转速,其二进制数为16位数,可通过循环减法实现多字节的除法,将转速的千位,百位,十位,个位存储在R0,R1,R2,R3单元,显示程序如下
第七节PID控制算法
3.1过程控制的基本概念
过程控制一一对生产过程的某一或某些物理参数进行的自动控制。
一、模拟控制系统
模拟调节器
.操作变量
IJ-I
II
Sil-
图5-1-1基本模拟反馈控制回路
被控量的值由传感器或变送器来检测,这个值与给定值进行比较,得
到偏差,模拟调节器依一定控制规律使操作变量变化,以使偏差趋近于零,其输出通过执行器作用于过程。
控制规律用对应的模拟硬件来实现,控制规律的修改需要更换模拟硬件。
微机过程控制系统
被控变量
j微型计算机]
A/Dp*
传感器
变送器
图5-1-2微机过程控制系统基本框图
以微型计算机作为控制器。
控制规律的实现,是通过软件来完成的。
改变控制规律,只要改变相应的程序即可。
三、数字控制系统DDC
图5-1-3DDC系统构成框图
DDC(DirectDigitalCongtrol)系统是计算机用于过程控制的最典型的一种系统。
微型计算机通过过程输入通道对一个或多个物理量进行检测,并根据确定的控制规律(算法)进行计算,通过输出通道直接去控制执行机构,使各被控量达到预定的要求。
由于计算机的决策直接作用于过程,故
DDC系统也是计算机在工业应用中最普遍的一种形式。
3.2模拟PID调节器
一、模拟PID控制系统组成
模拟PID控制系统原理框图
二、模拟PID
PID调节器是一种线性调节器,它将给定值r(t)与实际输出值c(t)的偏差的比例(P)、积分(I)、微分(D)通过线性组合构成控制量,对
1、PID调节器的微分方程
u(t)=KP[e(t)¥0e(t)dt+Td詈]
式中e(t)=r(t)—c(t)
2、PID调节器的传输函数
D(S)=U(S)=Kp卩+丄+TdS
E(S)[TiS」
三、PID调节器各校正环节的作用
1、比例环节:
即时成比例地反应控制系统的偏差信号e(t),偏差一旦产生,调节器立即产生控制作用以减小偏差。
2、积分环节:
主要用于消除静差,提高系统的无差度。
积分作用的强弱取决于积分时间常数TI,TI越大,积分作用越弱,反之则越强。
3、微分环节:
能反应偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信
号,从而加快系统的动作速度,减小调节时间。
3.3数字PID控制器
一、模拟PID控制规律的离散化
模拟形式
离散化形式
e(t)=r(t)-c(t)
e(n)=r(n)-c(n)
de(t)dT
e(n)-e(nT)
T
J;e(t)dt
nn
2e(i)T=tSe(i)
i=0i=e
二、数字PID控制器的差分方程
Uo
u(n)=KP[e(n)+工2e(i)+乞e(n)-e(n—1)*+
LT|zTJ
=Up(n)+U|(n)+uD(n)+Uo
三、常用的控制方式
u(n)=Up(n)+uI(n)5(n)+uo
4、PID控制
四、PID算法的两种类型
1、位置型控制
(TnT]
u(n)=Kp{e(n)+—2e^+q&n)—e(n-讪+比
IT|i=0TJ
2、增量型控制
△u(n)=u(n)-u(nT)
=KPe(n)-e(n-1)】+KP〔6(n)+KPTDe(n)-2e(n-1)+e(n-2)】
TiT
3.4PID算法的程序流程
'、增量型PID算法的程序流程
1、增量型PID算法的算式
△u(n)=ao&n)+¥(n-1)+a2e(n-2)
a。
=Kp(1+T+Td)式中TiT
a^-Kp(1+半)a^-Kp
Td
返回
増童型PID算法的程序流程
I
计球&(zr)I
t
计尊3何]
Ii十算3誉(n-i)I
讣S3何+叫&山・1)
t
计I
t
计算A时(川+k(片一1)]
f(fl——2)
u卿)fH仍一】)
I
返回
位萱型P】D算法的程序流程
二、位置型PID算法的程序流程
1、位置型的递推形式
u(n)=u(nT)+人u(n)=u(n-1)+a0e(n)+印6(门一1)+a2e(n-2)
2、位置型PID算法的程序流程
只需在增量型PID算法的程序流程基础上增加一次加运算
u(n)+u(n-1)=u(n)和
Umin
u(n)=伙n)
I
[Umax
更新u(n-1)即可。
、对控制量的限制
1、控制算法总是受到一定运算字长的限制
2、执行机构的实际位置不允许超过上(或下)极限
U(n)UminVU(n)VUmax
U(n)>Umax
总结本次课程设计,遇到了不少的困难,通过查阅了很多的设计资料,最终还是较好完成了课设。
通过课设,对单片机的各部件结构功能有了更深刻的理解,同时也提高了自己的单片机编程能力。
同时,也对单片机外接电路,扩展电路的连接有了更多的认识。
此次的单片机设计,还涉及了电机控制方面的内容,增强了数字控制的知识,对光电编码器等传感器的参数选择等有了更多的了解。
课设中发现自己在平时学习的很多不足,有很多东西都是一知半解,通过课设的实践,对自己分析,解决问题的能力有了不少的提高。
。
更重要
对我们电气专业的学生来说,实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。
通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识。
在设计过程中,体会到了设计一项课题的不易,的是,通过课程设计,我发现了自身存在的更多不足之处和实际应用能力方面的欠缺,这些不足之处在今后的学习之中要有意识的弥补和改变。
最后,感谢在课程设计过程中关心帮助我的老师同学
1.
2.
3.
4.
5.
6.
7.
参考文献
赵晓安.MCS-51单片机原理及应用.天津:
天津大学出版社,2001.3
阎石.数字电子技术基础(第三版)北京:
高等教育出版社,1989康华光.数字电子技术北京:
高等教育出版社,2003陈治明主编.电力电子器件.北京:
机械工业出版社,1992李广第.单片机基础.第1版.北京:
北京航空航天大学出版社,1999徐惠民、安德宁.单片微型计算机原理接口与应用.第1版.北京:
北京邮电大学出版社,1996陶永华,尹怡欣,葛芦生新型PID控制及其应用.机械工业出版社,1999
指导教师评语:
成绩:
答辩小组评语:
成绩: