基于单片机的数字PID控制直流电机PWM调压调速器系统_pid控制pwm调速程序

2020-02-27 其他范文 下载本文

基于单片机的数字PID控制直流电机PWM调压调速器系统由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“pid控制pwm调速程序”。

题目: 基于单片机的数字PID控制直流电机PWM 调压调速器系统

目录

一、PID简介··································(6)

二、设计原理··································(7)

三、设计方案··································(8)

四、心得体会

·······························(16)

五、参考文献 ·······························(16)

二、设计原理

基本的设计核心是运用PID调节器,从而实现直流电机的在带动负载的情况下也能稳定的运行。运用A/D转换芯片将滑动变阻器的模拟电压转换为数字量作为控制直流电机速度的给定值;用压控振荡器模拟直流电机的运行(电压高-转速高-脉冲多),单片机在单位时间内对脉冲计数作为电机速度的检测值;应用数字PID模型作单片机控制编程,其中P、I、D参数可按键输入并用LED数码显示;单片机PWM调宽输出作为输出值,开关驱动、电子滤波控制模拟电机(压控振荡器)实现对直流电机的PID调压调速功能。

基于以上的核心思想,我们把这次设计看成五个环节组成,其具体的原理如下见原理图2.0

图2.0 PID调速设计原理图

如图可以知道,这是一个闭环系统,我们借助单片机来控制,我们现运用AD芯片,运用单片机来控制AD芯片来转换模拟电压到数字电压,AD给定的电压越大,则产生的数字量越大,单片机再控制这个数字量来产生一个PWM,PWM占空比越大,就驱动晶体管导通的时间越长,这样加到压频转换器的电压也就越大,电压越大,则压频转换器输出的计数脉冲再单位时间也就越多,这样就相当于电机的电压越大,其转速也就会越快,我们再用单片机对压频转换器的输出脉冲计数,PID调节器就把这个计数脉冲和预先设定的 值进行比较,比设定值小,这样就会得到一个偏差,再把这个偏差加到AD的给定电压,这样就相当于加大了PWM的占空比,要是比设定值大,这样也会得到一个偏差,就把这个变差与给定的电压向减,这样就可以减少PWM的占空比,通过改变占空比来改变晶体管的导通时间,就可以改变压频转换器的输入电压,也就改变压频转换器的单位计数脉冲,达到调电动机速度的目的。

三、设计方案

3.1 PWM的调制

AD芯片给定一定的电压,应用单片机来控制来产生一个PWM,给定的电压不同,就会的得到不同的PWM波形。在产生PWM波形我们采用ADC0808芯片和AT89C51两个核心器件。

ADC0808芯片是要外加电压和时钟,当输入不同的电压的时候,就可以把不同的电压模拟量转化为数字值,输入的电压越大,其转换的相应的数字也就会越大,ADC0808芯片有8个通道输入和8个通道输出。其具体的管脚图见3.01

图3.01 ADC0808芯片管脚图

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3.02所示

图3.02 AT89C51芯片管脚图

3.2基于单片机的数字PID控制直流电机PWM调压调速器系统 3.21调速原理

当基于以上产生一个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基于单片机的数字PID控制直流电机PWM调压调速器系统原理图

图3.07 PID调速原理图 3.23波形仿真

在不同的给定电压下开换系统会有不同的PWM波形和计数脉冲个数。在不同的波形中从上之下以此为pwm波形,经过驱动后的波形,LM331的输入电压,LM331的输出脉冲。

当给定电压为较高(E8H)其波形见如下图3.08、图3.09 中电压给定对应的波形

PID波形

图3.10 低电压给定对应的波形

;

图3.11 PID 控制LM331的输入电压波形

3.24 PID调速程序 PWM 输出驱动程序

ADC

EQU

35H

CLK

BIT

P2.4

ST

BIT

P2.5

EOC

BIT

P2.6

OE

BIT

P2.7

PWM

BIT

P3.7

;

PID 调节设置

EK0

EQU

40H

EK1

EQU

41H

EK2

EQU

42H

PP

EQU

43H

II

EQU

44H

DD

EQU

45H

UK0

EQU

70H

UK1

EQU

71H

ORG

00H

SJMP

START

ORG

0BH

LJMP

INT_TO

START:

MOV

TMOD, #62H

MOV

TH0, #00H

MOV

TL0, #00H

MOV

IE, #86H

SETB

TR0

;SETB

TR1

MOV

R0, #00

MOV

R1, #00

MOV

R2, #00

MOV

R3, #00

MOV

R4, #00

MOV

R5, #00

MOV

R6, #00

MOV

R7, #00

;PID 赋值

MOV

PP, #05

MOV

II, #03

MOV

DD, #02

MOV

EK0,#00H

MOV

EK1,#00H

MOV

EK2,#00H

MOV

UK0,#00H

MOV

UK1,#00H WAIT:

CLR

OE

INC

R7

CLR

ST

SETB

ST

CLR

ST

JNB

EOC, $

SETB

OE

MOV

ADC, P1

MOV

R0,ADC

MOV

A,70H

ADDC

A,ADC

MOV

ADC ,A

;CLR

OE

SETB

PWM

SETB TR1

MOV

A, ADC

LCALL

DELAY

CLR

PWM

;等待转换完成;高电平延时 8

MOV

A, #255

SUBB

A, ADC

LCALL

DELAY

;低电平延时

CJNE

R7, #20, WA2 WA1:

CLR

TR1

MOV

R7, #00

MOV

A, TL1

MOV 50H,A

mov P0,50H

;PID求偏差

MOV A,EK1

MOV EK2,A

MOV A,EK0

MOV EK1,A

MOV A,R0

SUBB A,50H

MOV EK0,A

;PP的计算

MOV

A,EK0

SUBB A,EK1

MOV B,PP

MUL AB

MOV R1,A

MOV R2,B

AJMP X

WAIT1:AJMP WAIT

;II的计算

X: MOV A,EK0

MOV B,II

MUL AB

MOV R3,A

MOV R4,B

;DD的计算

MOV A,EK1

RL A

MOV EK1,A

MOV A,EK0

SUBB A,EK1

ADDC A,EK2

MOV B,DD

MUL AB

MOV R5,A

MOV R6,B

;PID总的计算

MOV A,R1

ADDC A,R3

ADDC A,R5

MOV 60H,A

MOV A,R2

ADDC A,R4

ADDC A,R6

MOV 61H,A

MOV A,60H

ADDC A,70H

MOV

70H,A

MOV A,61H

ADDC A,71H

MOV

71H,A

MOV TL0,#00H

MOV

TL1,#00H

;SETB TR1

WA2:

SJMP

WAIT1

INT_TO:

CPL

CLK

RETI

DELAY:

MOV

R6, #1 D1:

DJNZ

R6, D1

DJNZ

ACC, D1

RET

END 10

四、心得体会

我们进行了为期一周的计算机控制技术课程设计。通过这两周的课程设计,我拓宽了知识面,锻炼了能力,综合素质得到了提高。

刚刚拿到课题,我感到有些茫然,对于以前没有做过的人来说要全部做完的确有一定的难度。由于我对计算机控制不是很熟悉,在设计的过程中走了不少弯路。

通过亲身体验做课程设计,我觉得安排课程设计的基本目的,在于通过理论与实际的结合,进一步提高观察、分析和解决问题的实际工作能力,以便培养成为能够主动适应社会主义现代化建设需要的高素质的复合型人才。运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。我的收获有一下几点:

第一,我对所学专业有了一些了解,增强了自己的兴趣和对以后可能从事的职业的热爱。第二,通过课程设计我明白到了理论到实践有一段很远的路程。设计过程中的每一步都是一门学问,我终于知道了每一个实现的过程,每一个认识的过程都存有人类无数的的汗水与对待事物一丝不苟得,缜密的思考以及不懈的努力,只有这样才会有一个新生事物的诞生。而以上种种的过程必须要你亲自去体会去认识去发现,那才是属于你的“收获”,只有这时才会对自己的作品无比的骄傲。

第三,通过这次设计加强了我们的设计创新能力。使我们的理论知识与实践充分地结合。第四,通过两周的课程设计,我学到了很多书本上学习不到的知识。两周的时间很短,但是我学到比两年的还多,在以后的学习生活中,我需要更努力地读书和实践。

对我们电气专业的学生来说,实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。

在设计过程中,体会到了设计一项课题的不易,也体会到了设计成功之后的小小成就感和同学之间相互合作的默契。更重要的是,通过课程设计,我发现了自身存在的更多不足之处和实际应用能力方面的欠缺,这些不足之处在今后的学习之中要有意识的弥补和改变。

最后,感谢在课程设计过程中关心帮助我的老师同学。

五、参考文献

许翏、王淑英主编.计算机技术.北京:机械工业出版社2005 2 王炳实主编.单片机技术.第3版.北京:机械工业出版社2004 3 易泓可主编,基于数字PID设计.北京:机械工业出版社 2004

《基于单片机的数字PID控制直流电机PWM调压调速器系统.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
基于单片机的数字PID控制直流电机PWM调压调速器系统
点击下载文档
相关专题 pid控制pwm调速程序 调速器 直流电机 单片机 pid控制pwm调速程序 调速器 直流电机 单片机
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文