基于单片机无刷直流电机PID调速控制系统设计-毕设课设资料

资料下载地址-1100(百度网盘):点击下载

对无刷直流电机进行加减速控制、启动停止控制、正反转控制。

#include "reg51.h"
#include "math.h"
#include "1602.h"

int e=0,e1=0,e2=0;

float uk=0,uk1=0.0,duk=0.0;	//pid输出值
float Kp=5,Ki=1.2,Kd=0.2;	//pid控制系数

int out=0;
/*
float error[3]={0,0,0};
float sum;
int pid(int speed,float result)
{
 float Kp=0.9,Ki=0.75,Kd=0.05,ut=0;
 error[0]=speed-spd;
 sum=sum+(ki*error[0]);
 ut=sum+kp*error[0]+kd*(error[0]-error[1]);
 return ut;

}
*/

extern unsigned int spd;
extern unsigned int speed;
extern unsigned char set;



 
int speed_pid()
{

	e=speed-spd;//设置速度-实际速度,两者的差值 

//	duk=(Kp*(e-e1))/100;//只调节P
	duk=(Kp*(e-e1)+Ki*e)/100;//只调节PI
//	duk=(Kp*(e-e1)+Ki*e+Kd*(e-2*e1+e2))/100;//调节PID
	uk=uk1+duk;//uk=u(k-1)+Δuk

	if(e>20)
	{
	out=250;

posted @ 2021-04-08 18:14  roadroad  阅读(323)  评论(0编辑  收藏  举报
电设屋
上千套电子毕设课设方案