control for robotic arm that can play chess using a granular gripper
Dependencies: Encoder mbed HIDScope Servo MODSERIAL
Fork of chessRobot by
Diff: actuators.cpp
- Revision:
- 20:3cba803cd771
- Parent:
- 19:e89eae07dece
- Child:
- 21:3e6ebec86438
--- a/actuators.cpp Mon Oct 05 19:53:22 2015 +0200 +++ b/actuators.cpp Mon Oct 05 21:20:34 2015 +0200 @@ -31,6 +31,8 @@ float Ki2 = 1; float Kd2 = 1; +float PIDinterval = 0.2; + void motorInit(){ // Initialze motors PwmOut motor1(motor1PWMPin); @@ -58,16 +60,16 @@ void initPID(){ // create PID instances for motors // PID pidname(input, output, setpoint, kp, ki, kd, direction) - PID PIDmotor1(Kp1, Ki1, Kd1, 0.2); - PID PIDmotor2(Kp2, Ki2, Kd2, 0.2); + PID PIDmotor1(Kp1, Ki1, Kd1, PIDinterval); + PID PIDmotor2(Kp2, Ki2, Kd2, PIDinterval); PIDmotor1.setSetPoint(motorSetSpeed1); PIDmotor2.setSetPoint(motorSetSpeed2); - PIDmotor1.setProccessValue(motorSpeed1); - PIDmotor2.setProccessValue(motorSpeed2); + PIDmotor1.setProcessValue(motorSpeed1); + PIDmotor2.setProcessValue(motorSpeed2); // set PID mode - PIDmotor1.SetMode(AUTOMATIC); - PIDmotor2.SetMode(AUTOMATIC); + PIDmotor1.setMode(AUTOMATIC); + PIDmotor2.setMode(AUTOMATIC); // set limits for PID output to avoid integrator build up. PIDmotor1.SetOutputLimits(-1.0, 1.0);