智能车制作
标题:
希望大神指教
[打印本页]
作者:
Ⅴ无Ⅴ
时间:
2017-3-16 21:33
标题:
希望大神指教
#include "common.h"
#include "include.h"
struct _pid
{
float setspeed; //设定速度
float actualspeed; //实际速度
float err; //偏差
float integral;
float voltage;
float err_last; //最上前的偏差
float kp,ki,kd; //定义比例、积分、微分系数
}pid;
void PID1_init()
{
printf("PID_init begin \n");
pid.setspeed=0.0;
pid.actualspeed=0.0;
pid.err=0.0;
pid.err_last=0.0;
pid.kp=0.2;
pid.ki=0.015;
pid.kd=0.2;
printf("PID_init end \n");
}
float PID_realize(float speed)
{
pid.setspeed=speed;
pid.err=pid.setspeed-pid.actualspeed;
pid.integral+=pid.err;
pid.voltage=pid.kp*pid.err+pid.ki*pid.integral+pid.kd*(pid.err-pid.err_last);
pid.err_last=pid.err;
pid.actualspeed=pid.voltage*1.0;
return pid.actualspeed;
}
void main()
{
float speed=1.0;
PID1_init() ;
printf("system begin\n");
while(1)
{
speed=PID_realize(200.0);
printf("%f\n",speed);
}
}
这个程序哪里错了,为什么串口调试助手无法显示speed,并且干扰电脑运行。
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2