tanbocandy 发表于 2013-7-8 01:11:19

PID电机调速(已实现,有待改进的地方望不吝赐教)

本帖最后由 tanbocandy 于 2013-7-8 01:29 编辑

今天把PID电机调速的弄出来了,看到论坛了好像还没的有关于这个的帖子(也有可能是我没发现,希望有知道的在下面把链接贴出来下,让大家都学习下),代码比较简单,波形还算好,通过电位器调节Setpoint,100线的码盘,PID参数要根据自己的调整,PIN8和PIN11控制电机,速度是每秒多少转,代码如下
注:PID的库在这里
http://playground.arduino.cc/Code/PIDLibrary

#include <PID_v1.h>




double Setpoint, Input, Output;
PID myPID(&Input,&Output,&Setpoint,0.1,0.05,0,DIRECT); //Kp=0.1,Ki=0.05,Kd=0,change depend on your system
int control_v;
float rotation_v;
int time1,time2;
int elapse_time;




void setup()
{
pinMode(8,OUTPUT);
pinMode(11,OUTPUT);
attachInterrupt(0,count,FALLING);
Serial.begin(9600);
time1=millis();
myPID.SetMode(AUTOMATIC);
}




void loop()
{
control_v=analogRead(A0);      //read the analog from potentiometer
Setpoint=map(control_v,0,1023,0,200);//the range of the speed is 0~200

time2=millis();      
elapse_time=time2-time1;
time1=time2;
Input=rotation_v*elapse_time/10;    // the speed of the motor
rotation_v=0;

myPID.Compute();          //PID algorithem

Serial.print(Setpoint);         //send to serial chat
Serial.print(",");
Serial.print(Input);
Serial.print("\r\n");
analogWrite(11,Output);       //PWM out put
}




void count()
{
rotation_v+=1;         //rotate++
}

zhangzhe0617 发表于 2013-7-8 08:57:52

太好啦,我试试能不能用在我的电机上。请问这个是小车的pid调速是吧?

370439 发表于 2013-7-8 09:31:41

谢谢楼主分享~~~

tanbocandy 发表于 2013-7-8 11:04:37

zhangzhe0617 发表于 2013-7-8 08:57 static/image/common/back.gif
太好啦,我试试能不能用在我的电机上。请问这个是小车的pid调速是吧?

恩就是用来调速的。。。 肯定没问题的不过参数你要根据你的改下。

nomady 发表于 2013-7-12 22:26:50

曲线好像看不出效果啊

tanbocandy 发表于 2013-7-14 22:11:22

nomady 发表于 2013-7-12 22:26 static/image/common/back.gif
曲线好像看不出效果啊

我设定的是个恒定的转速   

zhfei55 发表于 2013-11-15 11:13:29

这个是直流电机的吧,有没有步进电机PID控制呢?

tanbocandy 发表于 2013-11-20 17:04:44

zhfei55 发表于 2013-11-15 11:13 static/image/common/back.gif
这个是直流电机的吧,有没有步进电机PID控制呢?

没玩过步进电机哦。。。

Tony.K 发表于 2013-12-26 21:44:58

tanbocandy 发表于 2013-11-20 17:04 static/image/common/back.gif
没玩过步进电机哦。。。

你好,你做过直流电机的位置PID吗?

PaulHong 发表于 2015-3-13 01:03:56

赞{:soso_e179:}

PaulHong 发表于 2015-3-17 01:03:24

楼主你好,请问参数整定有没有什么心得,能否分享下,谢谢啦

kitten 发表于 2015-8-8 20:55:47

楼主能分享硬件电路图吗?{:soso_e163:}

414545584 发表于 2015-11-2 16:54:23

大神,串口有没有免费下载的网址呀{:soso_e101:}

胡来猫 发表于 2015-12-3 16:30:36

请问转速时通过什么反馈的啊?

Valyrian 发表于 2016-2-17 13:05:04

楼主,测速是哪个部分啊?我是用20格码盘测速的
页: [1] 2 3
查看完整版本: PID电机调速(已实现,有待改进的地方望不吝赐教)