课程设计基于单片机的直流电机PWM调压调速器系统Word格式文档下载.docx
《课程设计基于单片机的直流电机PWM调压调速器系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《课程设计基于单片机的直流电机PWM调压调速器系统Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。
ADC0808芯片是要外加电压和时钟,当输入不同的电压的时候,就可以把不同的电压模拟量转化为数字值,输入的电压越大,其转换的相应的数字也就会越大,ADC0808芯片有8个通道输入和8个通道输出。
其具体的管脚图见3.01
图3.01ADC0808芯片管脚图
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图3.02所示
图3.02AT89C51芯片管脚图
3.2调速原理
当基于以上产生一个PWM后,就可以借助PWM脉冲来控制晶体管的导通和关断,来给压频转换器来提供一定的电压,在PROTUES中仿真中,给定一个+12V的电压,就通过晶体管的导通和关断来给压频转换器供电,压频转换器就会输出很多的脉冲,借助单片机P3.5来计数,其计数送给P0来显示,通过给定不同的ADC的输入电压,就可以的得到不同的计数显示,电压越大,其计数显示也就越大,通过改变计数脉冲的周期和硬件压频转换器(LM331)的电阻和电容,就可以得到与输入电压接近的数值显示,可能由于干扰的原因,其显示值和实际值有一点偏差,这是在没有什么负载的情况下,或者说是在空载的情况下,这样就可以得到一个很理想的开环系统,也为闭环PWM调节做好准备。
当开环系统稳定后,加上一个扰动,或者说是加上负载,这样就使的压频转换器的电压减少,在给定一定电压的时候,当负载分压的时候,也就相当于直流电机的电压就会减少,这样直流电机的转速就会下降,或者说当有负载的时候,压频转换器的输入电压就会减少,这样输入的脉冲在单位时间就会减少,这样PID调节器,通过改变PID的参数,PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。
其输入e(t)与输出u(t)的关系为u(t)=kp(e((t)+1/TI∫e(t)dt+TD*de(t)/dt)式中积分的上下限分别是0和t因此它的传递函数为:
G(s)=U(s)/E(s)=kp(1+1/(TI*s)+TD*s)其中kp为比例系数;
TI为积分时间常数;
TD为微分时间常数这样就会得到一个偏差,通过这个偏差来改变原来的PWM的占空比,使得晶体管的导通时间加长或减少,这样就改变了直流电机的输入电压,也就是该变了在PROTUES压频转换器的输入电压,使得输出的计数脉冲在单位时间发生改变,也就是模拟了直流电机的转速的改变,我们希望通过PID的调节,使得输出的计数脉冲的显示值和预先设定的值接近,由于偏差的存在,使得PID调节器不断的去修正,使得显示值近可能的接近我们所预期的设定值。
3.22控制直流电机PWM调压调速器系统原理图
图3.07PID调速原
3.24调速程序
PWM输出驱动程序
ADCEQU35H
CLKBITP2.4
STBITP2.5
EOCBITP2.6
OEBITP2.7
PWMBITP3.7
;
PID调节设置
EK0EQU40H
EK1EQU41H
EK2EQU42H
PPEQU43H
IIEQU44H
DDEQU45H
UK0EQU70H
UK1EQU71H
ORG00H
SJMPSTART
ORG0BH
LJMPINT_TO
START:
MOVTMOD,#62H
MOVTH0,#00H
MOVTL0,#00H
MOVIE,#86H
SETBTR0
;
SETBTR1
MOVR0,#00
MOVR1,#00
MOVR2,#00
MOVR3,#00
MOVR4,#00
MOVR5,#00
MOVR6,#00
MOVR7,#00
PID赋值
MOVPP,#05
MOVII,#03
MOVDD,#02
MOVEK0,#00H
MOVEK1,#00H
MOVEK2,#00H
MOVUK0,#00H
MOVUK1,#00H
WAIT:
CLROE
INCR7
CLRST
SETBST
JNBEOC,$;
等待转换完成
SETBOE
MOVADC,P1
MOVR0,ADC
MOVA,70H
ADDCA,ADC
MOVADC,A
CLROE
SETBPWM
MOVA,ADC
LCALLDELAY;
高电平延时
CLRPWM
MOVA,#255
SUBBA,ADC
低电平延时
CJNER7,#20,WA2
WA1:
CLRTR1
MOVA,TL1
MOV50H,A
movP0,50H
PID求偏差
MOVA,EK1
MOVEK2,A
MOVA,EK0
MOVEK1,A
MOVA,R0
SUBBA,50H
MOVEK0,A
PP的计算
SUBBA,EK1
MOVB,PP
MULAB
MOVR1,A
MOVR2,B
AJMPX
WAIT1:
AJMPWAIT
II的计算
X:
MOVB,II
MOVR3,A
MOVR4,B
DD的计算
RLA
ADDCA,EK2
MOVB,DD
MOVR5,A
MOVR6,B
PID总的计算
MOVA,R1
ADDCA,R3
ADDCA,R5
MOV60H,A
MOVA,R2
ADDCA,R4
ADDCA,R6
MOV61H,A
MOVA,60H
ADDCA,70H
MOV70H,A
MOVA,61H
ADDCA,71H
MOV71H,A
MOVTL0,#00H
MOVTL1,#00H
SETBTR1
WA2:
SJMPWAIT1
INT_TO:
CPLCLK
RETI
DELAY:
MOVR6,#1
D1:
DJNZR6,D1
DJNZACC,D1
RET
END
四、心得体会
我们进行了为期一周的计算机控制技术课程设计。
通过这两周的课程设计,我拓宽了知识面,锻炼了能力,综合素质得到了提高。
刚刚拿到课题,我感到有些茫然,对于以前没有做过的人来说要全部做完的确有一定的难度。
由于我对计算机控制不是很熟悉,在设计的过程中走了不少弯路。
通过亲身体验做课程设计,我觉得安排课程设计的基本目的,在于通过理论与实际的结合,进一步提高观察、分析和解决问题的实际工作能力,以便培养成为能够主动适应社会主义现代化建设需要的高素质的复合型人才。
运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。
检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。
我的收获有一下几点:
第一,我对所学专业有了一些了解,增强了自己的兴趣和对以后可能从事的职业的热爱。
第二,通过课程设计我明白到了理论到实践有一段很远的路程。
设计过程中的每一步都是一门学问,我终于知道了每一个实现的过程,每一个认识的过程都存有人类无数的的汗水与对待事物一丝不苟得,缜密的思考以及不懈的努力,只有这样才会有一个新生事物的诞生。
而以上种种的过程必须要你亲自去体会去认识去发现,那才是属于你的“收获”,只有这时才会对自己的作品无比的骄傲。
第三,通过这次设计加强了我们的设计创新能力。
使我们的理论知识与实践充分地结合。
第四,通过两周的课程设计,我学到了很多书本上学习不到的知识。
两周的时间很短,但是我学到比两年的还多,在以后的学习生活中,我需要更努力地读书和实践。
对我们电气专业的学生来说,实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。
通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。
在设计过程中,体会到了设计一项课题的不易,也体会到了设计成功之后的小小成就感和同学之间相互合作的默契。
更重要的是,通过课程设计,我发现了自身存在的更多不足之处和实际应用能力方面的欠缺,这些不足之处在今后的学习之中要有意识的弥补和改变。
最后,感谢在课程设计过程中关心帮助我的老师同学。