![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
10/25/2015
Dependencies: PID mbed MaxSonar eeprom iSerial Fork_Boss_Communication_Robot
Diff: main.cpp
- Revision:
- 2:933d3edf38da
- Parent:
- 1:7c3dbf140bfc
- Child:
- 3:365615fa646e
--- a/main.cpp Sun Oct 18 18:48:47 2015 +0000 +++ b/main.cpp Thu Oct 22 11:58:57 2015 +0000 @@ -1,12 +1,13 @@ #include"mbed.h" #include "move.h" #include "PID.h" +//#include "pidmotor.h" InterruptIn encoderA(D6); InterruptIn encoderB(D5); +Timer timerStart; move m1; - -PID P1(0.001,0.005,0,0.1); +PID P1(0.001,0,0,0.1); //DigitalIn encoderB(D5); @@ -14,7 +15,9 @@ Serial pc(SERIAL_TX,SERIAL_RX); int Encoderpos = 0; float valocity =0; - float outPID =0; + float outPID =0,i=0; + double Input,Output,setp,Kp=0.005,Ki=0.005,Kd=0; +// pid1 p(&Input,&Output,&setp,Kp,Ki,Kd,1); void EncoderA() { if(encoderB==0) @@ -42,18 +45,19 @@ pc.baud(115200); encoderA.rise(&EncoderA); - //pc.printf("Encode\n"); - P1.setMode(0); - P1.setProcessValue(0.7); + timerStart.start(); + + + P1.setMode(1); + P1.setProcessValue(0.7); P1.setSetPoint(0.8); - // P1.setBias(0); + P1.setBias(0); while(1) - { P1.setProcessValue(0.7); - P1.setSetPoint(0.8); - outPID=P1.compute(); - // pc.printf("palm \n"); + { + m1.movespeed(1,1.0); + outPID=P1.compute(); pc.printf("%f \n",outPID); - wait(1); + wait(0.1); // pc.printf("%d \n",Encoderpos);