电机自调整PID调速.docx
《电机自调整PID调速.docx》由会员分享,可在线阅读,更多相关《电机自调整PID调速.docx(11页珍藏版)》请在冰豆网上搜索。
电机自调整PID调速
神经元自整调速电机
成员:
左俊杰、薛培康、屠陈涛
班级:
13自动化卓越班
学号:
01
一、实现功能
1.可实现电机的正转反转以及电机制动。
2.利用神经元自整定调速算法,速度范围600~3000r/min
显示屏,显示速度
二、设计方案
1.系统设计
根据任务要求,我们设计出了以下系统框图。
我们是以stm32为核心控制器,它可以输出占空比不同的PWM脉冲,还可以对光电测速模块传回来的信号进行处理。
除此之外它还有人机交互功能,我们通过键盘改变设定速度,在电机速度趋于稳定后,我们可以在显示屏上看到设定速度与当前运行速度,方便快捷。
图1系统方案框图
2、硬件设计
控制器模块
根据设计任务,控制器主要用于产生占空比受算法控制的PWM脉冲,并对电机当前速度进行采集处理,根据算法得出当前所需输出的占空比脉冲。
本作品采用stm32作为核心控制器。
电源电路
电源是整个系统的能量来源,它直接关系到系统能否运行。
在本系统中直流电机需要12V电源,而单片机、显示模块等其它电路需要5V的电源,因此电路中选用7805和7812两种稳压芯片,其最大输出电流为,能够满足系统的要求,其电路如图2-1所示。
图2-1电源电路
功率放大驱动电路(外加光耦隔离)
单片机不能直接控制电机的转动,我们需要一个功率放大驱动电路来起到桥梁的作用,经过比较我们选择了H桥,此外我们这个驱动电路还加了一个光耦隔离。
H桥性价比高,且对于直流电机调速非常简单,而且该电路具有较强的驱动能力和保护功能,还能控制电机的转动方向。
电路如图2-2所示。
左端两个输入口接单片机输入PWM脉冲控制H桥三极管的导通截止,PWM脉冲由单片机对应端口输出,其中有一个端口输出PWM脉冲来控制电机的转动方向。
此外光耦隔离电路还能对外界干扰脉冲起到很好的屏蔽作用,输入端与输出端也完全实现了电气隔离,抗干扰能力强。
图2-2功率放大驱动电路
信号采集及处理单元
本设计中采用对射式光电传感器测量电机转速。
当不透光的物体挡住发射与接收之间的间隙时,开关管关断,反之打开。
可以制作一个遮光叶片如图2-3(b)所示,安装在电机转轴上,当叶片转动时,光电开关产生脉冲信号。
当叶片数较多时,旋转一周可以获得多个脉冲信号。
假设系统采用10个叶片,在一秒钟的内产生了100脉冲,则电机的转速就为10r/s。
(a)电路图(b)转盘
图2-3电路图及转盘
转速测量原理
本设计采用频率测量法。
其测量原理为:
在固定的测量时间内,计取转速传感器发生的脉冲个数(即频率),从而算出实际转速。
设固定的测量时间T(min),计数器计取的脉冲个数m1,假定脉冲发生器每转输出p个脉冲,对应被测转速为n(r/min),就可算出实际转速值n=60m1/pT。
监测装置安装
此检测装置按照发动机上传感器的实际安装位置进行安装。
如图2-4所示,将信号盘固定在电动机转轴上,光电转速传感器正对着信号盘。
测量头由光电转速传感器组成,而且测量头两端的距离与信号盘的距离相等。
测量用器件封装后,固定装在贴近信号盘的位置,当信号盘转动时,光电元件即可输出正负交替的周期性脉冲信号。
信号盘旋转一周产生的脉冲数,等于其上的齿数。
因此,脉冲信号的频率大小就反映了信号盘转速的高低。
该装置的优点是输出信号的幅值与转速无关,而且可测转速范围大,一般为1r/s~104r/s以上,精确度高。
2-4转速监测装置
信号处理电路
被测物理量经过传感器变换后,变为电阻、电流、电压、电感等某种电参数的变化值。
为了进行信号的分析、处理、显示和记录,须对信号作放大、运算、分析等处理,这就引入了中间变化电路。
根据系统需要设计了如图2-5所示的中间变换电路。
其中,R1、R4起限流作用,R2起分流作用,R3为输出电阻。
当转盘上的梯形孔旋转至与光电开关的透光位置重合时,输出低电平;当通光孔被遮住时,输出高电平。
传感器输出脉冲如图2-6所示。
图2-5电机速度采集方案
图2-6传感器输出脉冲波形
硬件电路的总体框架及仿真
3、软件设计(单神经元自正定PID调速)
神经元原理介绍
基于模型的控制系统设计方法存在着局限性。
它过分依赖于受控对象精确的数学模型,如果受控对象的精确数学模型不易得到时,传统控制器设计就变得很困难。
因此,近年来学者们一直在探索可以不依赖于对象精确数学模型的控制器设计方法,智能控制理论的研究便是这方面的尝试,控制实践表明非模型控制可以有效提高控制系统的适应性和鲁棒性。
人工神经网络的出现和发展促进了非模型控制的发展。
在神经元非模型控制方面,浙大王宁教授提出了一种面向控制的神经元模型及联想式学习策略,如下所示。
自适应神经元的输出可表示为:
式中,K>0为元的比例系数,xi(t)(i=1,2,…,n)为元的输入:
ωi(t)是相应于xi(t)的权系数,由某种学习策略决定。
一般认为神经元通过修改其自身的突触权值进行自组织。
根据D.O.Hebb提出的著名假设,可以得到以下的学习规则:
式中,d>0为学习速率,pi(t)为学习策略。
图3-1
为保证递进式学习的收敛性,进行规范化后的控制学习算法为:
其中,K,d为待定参数。
神经元的输入状态为wi(t)(i=1,2,3…,n).当n=3时候
控制过程的讨论
基于上面的神经元理论,下面设计基本的神经元PID调整流程图。
图3-2神经元PID调整流程图
经过设计,通过神经元算法对KP,KI,KD三个参数进行自整定,从而达到一个相对对KP值得最优秀值。
对结合到PID代码的参数讨论
Ck(k+1)=Ck(k)+kp*(e[0]-e[1])+ki*e[0]+kd*(e[0]-2*e[1]+e[2]);
Kp(k+1)=Kp(k)+η *ck(k)*e[0]*(e[0]+e[0]-e[1]);
这里对输出的更新暂且不提,对Kp的更新进行分析。
首先是学习参数η参数,为系统学习速度,ck(k)为反馈的输出,e[0]为这一时刻的误差,e[1]为上一时刻的误差。
(E[0]-e[1])相当于误差积累量的偏导,加快反应的速度。
对学习参量η 的决定
考虑到KP的参数为e-1的位数,所以变化量最好为e-2的量级。
并且要提前根据需要设定PID三个参数的大小,避免震荡过大导致跑飞。
可以去Kp=1,ki=,kd=,这样来设置。
之后PID会自动稳定到合适的值。
用串口读取就好。
4、总结
这次做电机用到的知识书本上也没有多少,我们通过上网查资料制定了一个确切可行的方案,然后我们先仿真了一下,能用之后我们才开始焊接,焊接过程中往往会有一些意想不到的错误,我们也是一一排查,最后才能成功的。
在制作作品的过程中,我们学习了直流电动机正转反转以及调速的方法,也更加熟悉掌握了PID闭环控制系统,收获颇丰。
附录1硬件实物图
(1)电源与显示模块
(2)功率放大驱动模块(外加光耦隔离)
(3)电动机与光电测速模块
(4)整体效果图