基于数字pid控制的直流伺服电机控制系统设计内容摘要:

PID参数 整定。 ① 打开 Matlab 的 Simulink,新建 .m 文件。 ② 输入如下程序并保存。 num=conv(100,15)。 den=conv([1,0],conv([,1],[,1]))。 g=tf(num,den)。 kp=。 gc=feedback(g*kp,1)。 t=0::10。 step(gc,t)。 grid on。 ③ 运行上述程序得到下图: 控制度 控制规律 T PK IT DT 1.05 PI Td t/Td 4 Td 1.05 PID 5Td t/Td Td 5 Td 1.20 PI Td t/Td Td 1.20 PID 6Td t/Td Td 5 Td 1.50 PI Td t/Td Td 1.50 PID 4Td t/Td 2 Td 5 Td 2.00 PI Td t/Td Td 2.00 PID Td t/Td Td 2 Td 8 从而求出临界比例度 K =1/Kp=1/= KT == 选择控制精度为 ,则 T= = PK = K = IT = KT = DT = KT = ④再运行如下程序: num=conv(100,15)。 den=conv([1,0],conv([,1],[,1]))。 gg=tf(num,den)。 kp=。 tu=。 detak=1/。 T=*tu。 kp=*detak。 ti=*tu。 td=*tu。 T,kp,ti,td 9 s=tf(39。 s39。 )。 gc=kp*(1+1/(ti*s)+td*s)。 gcg=feedback(gg*gc,1)。 t=0::10。 figure(1)。 step(gcg)。 ggd=c2d(gg,T,39。 zoh39。 )。 d0=1+T/ti+td/T。 d1=12*td/T。 d2=td/T。 numd=kp*[d0 d1 d2]。 dend=[1 1 0]。 dd=tf(numd,dend,T)。 sysd=feedback(ggd*dd,1)。 figure(2)。 step(sysd)。 得到下图: 10 所以所整定的参数满足系统要求。 3 硬件的设计和实现 硬件的设计是软件实现的基础,为软件提供平台。 单片机模块 单片机 80C51 介绍: 80C51属于 MCS51系列单片机,由 Intel 公司开发,其结构是 8048 的延伸,改进了 8048 的缺点,增加了如乘( MUL)、除( DIV)、减( SUBB)、比较( CMP)、16 位数据指针、布尔代数运算等指令,以及串行通信能力和 5个中断源。 采用 40引脚双列直插式 DIP( Dual In Line Package),内有 128 个 RAM 单元及 4K 的 ROM。 80C51 有两个 16 位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有 4 个 8 位并行输入口。 80C51 内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用 12MHz 的晶振频率。 由于 80C51 的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故采用来作为控制核心。 由于直流电机控制系统比较简单,数字 PID 算法采用软件方式实现 比较简单 ,占用的内存比较少,因此选择我们比较熟悉的单片机 80C51 作为数字控制器。 11 下面介绍单片机各个端口在系统中的作用和功 能: ( 1) P0 口有三个功能 外部扩展存储器时,当做数据总线( D0~D7 为数据总线接口) 外部扩展存储器时,当作地址总线( A0~A7 为地址总线接口) 不扩展时,可做一般的 I/O 使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。 系统中 P0 口即用作数据总线也作地址总线。 ( 2) P1 口只做 I/O 口使用:其内部有上拉电阻。 用来判断是否有新的位移给定值输入。 用来增加或右移数码管显示的各位数值。 用来减少或左移数码管显示 的各位数值。 用来确认数码管显示数值的输入。 ( 3) P2 口有两个功能: 扩展外部存储器时,当作地址总线使用 做一般 I/O 口使用,其内部有上拉电阻; 系统中 P2 口用作一般 I/O 口。 ,从而实现动态显示。 用来控制数码管段码数值的锁存。 用来控制数码管位码数值的锁存。 作为 DAC0832 的片选控制信号。 作为 ADC0809 的片选控制信号。 12 ( 4) P3 口有两个功能: 除了作为 I/O 使用外(其内部有上拉电阻), 还有一些特殊功能,由特殊寄存器来设置。 用来判断 ADC0809 转换是否结束。 用来作写入信号。 用来作读出信号。 ALE/PROG 地址锁存控制信号:在系统扩展时, ALE 用于控制把 P0口的输出低 8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。 ALE 有可能是高电平也有可能是低电平,当 ALE 是高电平时,允许地址锁存信号,当访问外部存储器时, ALE 信号负跳变(即由正变负)将 P0 口上低 8 位地址信号送入锁存器。 当 ALE 是低电平时, P0口上的内容和锁存器输出一致。 在没有访问外部存储器期间 , ALE 以 1/6 振荡周期频率输出(即 6分频),当访问外部存储器以 1/12 振荡周期输出( 12 分频)。 从这里我们可以看到,当系统没有进行扩展时 ALE会以 1/6振。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。