![Page 1: 21. Control Systems - University of Texas at Austinusers.ece.utexas.edu/~valvano/EE345M/view21_PID.pdf · DC motor ARM board soldered board Sanyo 8.4V- 3.8 AH NiMH positive temperature](https://reader033.vdocument.in/reader033/viewer/2022041517/5e2baa0d124fd15b0d4ec61f/html5/thumbnails/1.jpg)
April 20, 2014 Jonathan Valvano EE445M/EE380L.6
21. Control Systems• Easy: Incremental• Linear: P PI PID• Intuitive: Fuzzy Logic
21.1
J Vw
Dad, I hateburned food!
Not enough colors of blackto describe your cooking.
It says to cook your food untilthe center is no longer red.
But, not mystrawberry
strudel!
Doh!
![Page 2: 21. Control Systems - University of Texas at Austinusers.ece.utexas.edu/~valvano/EE345M/view21_PID.pdf · DC motor ARM board soldered board Sanyo 8.4V- 3.8 AH NiMH positive temperature](https://reader033.vdocument.in/reader033/viewer/2022041517/5e2baa0d124fd15b0d4ec61f/html5/thumbnails/2.jpg)
Monaco
April 20, 2014 Jonathan Valvano EE445M/EE380L.6 21.2
Espana
Von Deutschland
![Page 3: 21. Control Systems - University of Texas at Austinusers.ece.utexas.edu/~valvano/EE345M/view21_PID.pdf · DC motor ARM board soldered board Sanyo 8.4V- 3.8 AH NiMH positive temperature](https://reader033.vdocument.in/reader033/viewer/2022041517/5e2baa0d124fd15b0d4ec61f/html5/thumbnails/3.jpg)
Circuit of the Americas
April 20, 2014 Jonathan Valvano EE445M/EE380L.6 21.3
![Page 4: 21. Control Systems - University of Texas at Austinusers.ece.utexas.edu/~valvano/EE345M/view21_PID.pdf · DC motor ARM board soldered board Sanyo 8.4V- 3.8 AH NiMH positive temperature](https://reader033.vdocument.in/reader033/viewer/2022041517/5e2baa0d124fd15b0d4ec61f/html5/thumbnails/4.jpg)
April 20, 2014 Jonathan Valvano EE445M/EE380L.6
Performance measures
21.4
• Accuracy – Magnitude of the Error = Desired– Actual
• Stability– No oscillations
• Overshoot (underdamped, overdamped)– Ringing, slow
• Response Time to new steady state after– Change in desired setpoint– Change in load
![Page 5: 21. Control Systems - University of Texas at Austinusers.ece.utexas.edu/~valvano/EE345M/view21_PID.pdf · DC motor ARM board soldered board Sanyo 8.4V- 3.8 AH NiMH positive temperature](https://reader033.vdocument.in/reader033/viewer/2022041517/5e2baa0d124fd15b0d4ec61f/html5/thumbnails/5.jpg)
April 20, 2014 Jonathan Valvano EE445M/EE380L.6
What to control?
21.5
• Motor speed– Error = Desired speed – Actual speed– Error = Desired period – Actual period
U
ActualSpeed
Tachometer
MeasuredSpeed
ControllerErrorDesired +
-
Sensor
Plant
Stateestimator
PWMcircuit
VActuator
R
L
emf-+
DCMotor
PeriodMeasurement
X’X* e=X*-X’
Disturbingforces
![Page 6: 21. Control Systems - University of Texas at Austinusers.ece.utexas.edu/~valvano/EE345M/view21_PID.pdf · DC motor ARM board soldered board Sanyo 8.4V- 3.8 AH NiMH positive temperature](https://reader033.vdocument.in/reader033/viewer/2022041517/5e2baa0d124fd15b0d4ec61f/html5/thumbnails/6.jpg)
April 20, 2014 Jonathan Valvano EE445M/EE380L.6
What to control?
21.6
• Distance to one wall– Error = Desired distance – Actual distance
• Equal distances to both walls– Error = Left distance – Right distance
robot wall
dL
wall
wall
dR
Sensors- Time constant -> fs- Filters
Analog, digital- Signal/noise ratio- Calibration
accuracy, drift
![Page 7: 21. Control Systems - University of Texas at Austinusers.ece.utexas.edu/~valvano/EE345M/view21_PID.pdf · DC motor ARM board soldered board Sanyo 8.4V- 3.8 AH NiMH positive temperature](https://reader033.vdocument.in/reader033/viewer/2022041517/5e2baa0d124fd15b0d4ec61f/html5/thumbnails/7.jpg)
April 20, 2014 Jonathan Valvano EE445M/EE380L.6
What to control?
21.7
• Angle to most open track– Error = Desired – Actual angle
robot wall
d1wall
wall
d2
d3
Turn so most open in front
Avoid making U-turns
![Page 8: 21. Control Systems - University of Texas at Austinusers.ece.utexas.edu/~valvano/EE345M/view21_PID.pdf · DC motor ARM board soldered board Sanyo 8.4V- 3.8 AH NiMH positive temperature](https://reader033.vdocument.in/reader033/viewer/2022041517/5e2baa0d124fd15b0d4ec61f/html5/thumbnails/8.jpg)
April 20, 2014 Jonathan Valvano EE445M/EE380L.6
• Angle to wall
21.8
robot
wall
a
bC
Track the right wall if (aR+bR)<(aL+bL)Want to make AR = 90If AR=90, then bR/aR = cos CR
xR=100*cosCR is a calibration constant
error = (100*bR)/aR - xR
if error > 0, AR < 90, turn leftif error < 0, AR > 90, turn right
if min(aR,bR)<20, move left-right
A
a,b are measured distances from center of robot to the wall
heading
C is a fixed angle
speed is determined by distance,d, to object in front
d
b
a
CA
L
L
L
LR
R
R
R
Track the left wall if (aR+bR)>(aL+bL)Want to make AL = 90If AL=90, then bL/aL = cos CL
xL=100*cosCL is a calibration constant
error = (100*bL)/aL - xL
if error > 0, AL < 90, turn rightif error < 0, AL > 90, turn left
if min(aL,bL)<20, move right-left
What to control?
![Page 9: 21. Control Systems - University of Texas at Austinusers.ece.utexas.edu/~valvano/EE345M/view21_PID.pdf · DC motor ARM board soldered board Sanyo 8.4V- 3.8 AH NiMH positive temperature](https://reader033.vdocument.in/reader033/viewer/2022041517/5e2baa0d124fd15b0d4ec61f/html5/thumbnails/9.jpg)
Incremental Controller
April 20, 2014 Jonathan Valvano EE445M/EE380L.6 21.9
Periodic interrupt
Error = Desired-Measured
Too fastError >0
U=U-1
<0
U>2
2
Too slow
U=U+1
<249
=249U=0
Measured=StateEstimator
Faster than motor Slower than sensor sampling rate
![Page 10: 21. Control Systems - University of Texas at Austinusers.ece.utexas.edu/~valvano/EE345M/view21_PID.pdf · DC motor ARM board soldered board Sanyo 8.4V- 3.8 AH NiMH positive temperature](https://reader033.vdocument.in/reader033/viewer/2022041517/5e2baa0d124fd15b0d4ec61f/html5/thumbnails/10.jpg)
Incremental Controllerlong Xstar; // desiredlong X; // actual, measured inputlong U; // PWM actuator outputvoid Timer0A_Handler(void){ long E;
E = Xstar-X; // error if(E < 0) U--; // too fastelse if(E > 1) U++; // too slow
// close enoughif(U < 2) U=2; // Constrain outputif(U > 249) U=249;PWM0_Duty(U); // output TIMER0_ICR_R = TIMER_ICR_CAECINT;
}
April 20, 2014 Jonathan Valvano EE445M/EE380L.6 21.10
![Page 11: 21. Control Systems - University of Texas at Austinusers.ece.utexas.edu/~valvano/EE345M/view21_PID.pdf · DC motor ARM board soldered board Sanyo 8.4V- 3.8 AH NiMH positive temperature](https://reader033.vdocument.in/reader033/viewer/2022041517/5e2baa0d124fd15b0d4ec61f/html5/thumbnails/11.jpg)
April 20, 2014 Jonathan Valvano EE445M/EE380L.6
Laplace Domain
21.11
U(n)
Tachometer
PID Controller+
-
SensorState estimator
PWMcircuit
Actuator
PeriodMeasurement
X’(s)X*
E(n)
X'(n)
Plant
m1+s
X(t)
U(s)E(s)
X(s)
Kp+Kis
+Kd s
)()(1)()(
)(*)(
sHsGsHsG
sXsX
s
KsKKsG idp )(
smsH
1
)(
![Page 12: 21. Control Systems - University of Texas at Austinusers.ece.utexas.edu/~valvano/EE345M/view21_PID.pdf · DC motor ARM board soldered board Sanyo 8.4V- 3.8 AH NiMH positive temperature](https://reader033.vdocument.in/reader033/viewer/2022041517/5e2baa0d124fd15b0d4ec61f/html5/thumbnails/12.jpg)
April 20, 2014 Jonathan Valvano EE445M/EE380L.6
General Approach to PID
21.12
• Proportional Up = KpE• Integral Ui = Ui + KiEt• Derivative Ud = Kd(E(n)-E(n-1))/t• PID U = Up + Ui + Ud
• Run ten times faster than motor • Run slower or equal to sensor sampling rate
dttdEKdEKtEKtU d
t
ip)()()()(
0
![Page 13: 21. Control Systems - University of Texas at Austinusers.ece.utexas.edu/~valvano/EE345M/view21_PID.pdf · DC motor ARM board soldered board Sanyo 8.4V- 3.8 AH NiMH positive temperature](https://reader033.vdocument.in/reader033/viewer/2022041517/5e2baa0d124fd15b0d4ec61f/html5/thumbnails/13.jpg)
Derivative Term
x(n) with noise
x(n)
TimeCalculated with noise
x(n) without noise
tnEnEKnD
dttdEKtD dd
)1()()()()(
tnEnE
tnEnEKnD d
)2()1(21
3)3()(
21)(
t
nEnEnEnEKnD d 6)3()2(3)1(3)()(
April 20, 2014 Jonathan Valvano EE445M/EE380L.6 21.13
•Analog filter
•Digital filter
•Linear regression
![Page 14: 21. Control Systems - University of Texas at Austinusers.ece.utexas.edu/~valvano/EE345M/view21_PID.pdf · DC motor ARM board soldered board Sanyo 8.4V- 3.8 AH NiMH positive temperature](https://reader033.vdocument.in/reader033/viewer/2022041517/5e2baa0d124fd15b0d4ec61f/html5/thumbnails/14.jpg)
PI Controllervoid Timer0A_Handler(void){
E = Xstar-X; P = (105*E)/20; // Kp = 105/20I = I+(101*E)/640; // Kit = 101/640if(I < -500) I=-500; // anti-reset windupif(I > 4000) I=4000;U = P+I; // PI controllerif(U < 100) U=100; // Constrain outputif(U>19900) U=19900;PWM0_Duty(U); // output TIMER0_ICR_R = TIMER_ICR_CAECINT;
}
April 20, 2014 Jonathan Valvano EE445M/EE380L.6 21.14
![Page 15: 21. Control Systems - University of Texas at Austinusers.ece.utexas.edu/~valvano/EE345M/view21_PID.pdf · DC motor ARM board soldered board Sanyo 8.4V- 3.8 AH NiMH positive temperature](https://reader033.vdocument.in/reader033/viewer/2022041517/5e2baa0d124fd15b0d4ec61f/html5/thumbnails/15.jpg)
April 20, 2014 Jonathan Valvano EE445M/EE380L.6
Motor Parameters
21.15
• Invoke a step, measure response– Time lag, time constant,
• Plot speed in RPM versus duty cycle – Sensitivity m
Speed(RPM)
-120
-60
0
60
120
180
0 0.05 0.1 0.15 0.2 0.25 0.3
smsH
1
)(
Real ≠ Theory
![Page 16: 21. Control Systems - University of Texas at Austinusers.ece.utexas.edu/~valvano/EE345M/view21_PID.pdf · DC motor ARM board soldered board Sanyo 8.4V- 3.8 AH NiMH positive temperature](https://reader033.vdocument.in/reader033/viewer/2022041517/5e2baa0d124fd15b0d4ec61f/html5/thumbnails/16.jpg)
April 20, 2014 Jonathan Valvano EE445M/EE380L.6
Controller tuning
21.16
• Start with just a proportional term (Kp).- proportional controller will generate a smooth motor speed- choose the sign of the term Kp so the system is stable. - try different Kp constants until the response times are fast enough
• The next step is to add some integral term (Ki)- a little at a time- to improve the steady state controller accuracy - without adversely affecting the response time. - choose the sign of the term Ki so the system is stable.- Don’t change both Kp and Ki at once.
The last step is the derivative term (Kd)- a little at a time- reduce the overshoots/undershoots in the step response
- choose the sign of the term Kd so the overshoots/undershoots are reduced.Highly nonlinear -> empirical approach
![Page 17: 21. Control Systems - University of Texas at Austinusers.ece.utexas.edu/~valvano/EE345M/view21_PID.pdf · DC motor ARM board soldered board Sanyo 8.4V- 3.8 AH NiMH positive temperature](https://reader033.vdocument.in/reader033/viewer/2022041517/5e2baa0d124fd15b0d4ec61f/html5/thumbnails/17.jpg)
Charging battery• Drain battery 10 25W resistor (or motor)• Charge than 8 hours
• Test battery across load– Measure voltage– Measure current– 3.8 Amp-hour
April 20, 2014 Jonathan Valvano EE445M/EE380L.6 21.17
Sanyo8.4V- 3.8 AH
NiMH
positivetemperature
negative
redwhiteblack
red
black
+8.4V
red black
plugRC battery connectorCON-210P
striped solid
socketRC battery connectorCON-210S
12V250mA
wall-wart
red black
thumb wheelswitch
gnd
![Page 18: 21. Control Systems - University of Texas at Austinusers.ece.utexas.edu/~valvano/EE345M/view21_PID.pdf · DC motor ARM board soldered board Sanyo 8.4V- 3.8 AH NiMH positive temperature](https://reader033.vdocument.in/reader033/viewer/2022041517/5e2baa0d124fd15b0d4ec61f/html5/thumbnails/18.jpg)
Under Battery Power• Current path battery-motor-battery• Ground• One +5V
April 20, 2014 Jonathan Valvano EE445M/EE380L.6 21.18
+5V into ARMboard
DC motor
ARM board
solderedboard
Sanyo8.4V- 3.8 AH
NiMH
positivetemperature
negative
redwhiteblack
red
black
+8.4V
gnd
protoboard
red black
plugRC battery connectorCON-210P
male-maleheaderthumb wheel
switch
GND+5V
+8.4
gnd
+5
ARM board NOTconnected to PC
7805
L293
DC motor
+5
Ping))) IR’s Tach’s
Servo
Control
gnd
gnd
Floating grounddefined by battery
![Page 19: 21. Control Systems - University of Texas at Austinusers.ece.utexas.edu/~valvano/EE345M/view21_PID.pdf · DC motor ARM board soldered board Sanyo 8.4V- 3.8 AH NiMH positive temperature](https://reader033.vdocument.in/reader033/viewer/2022041517/5e2baa0d124fd15b0d4ec61f/html5/thumbnails/19.jpg)
While debugging with PC• Prevent motor current from going to board• Two +5V, not connected• Ground
April 20, 2014 Jonathan Valvano EE445M/EE380L.6 21.19
DC motor
ARM board
solderedboard
Sanyo8.4V- 3.8 AH
NiMH
positivetemperature
negative
redwhiteblack
red
black
+8.4V
gnd
protoboard
red black
plugRC battery connectorCON-210P
male-maleheaderthumb wheel
switch+8.4
gnd
+5
ARM board ISconnected to PC
7805
L293
DC motor
+5
Ping))) IR’s Tach’s
Servo
Control
gnd
gnd
gnd
PC
Earth grounddefined by PC
![Page 20: 21. Control Systems - University of Texas at Austinusers.ece.utexas.edu/~valvano/EE345M/view21_PID.pdf · DC motor ARM board soldered board Sanyo 8.4V- 3.8 AH NiMH positive temperature](https://reader033.vdocument.in/reader033/viewer/2022041517/5e2baa0d124fd15b0d4ec61f/html5/thumbnails/20.jpg)
Regulator• Drop out, Vd
• Calculate power loss, P=(8.4-5)*I
April 20, 2014 Jonathan Valvano EE445M/EE380L.6 21.20
7805
Vin OutIn +5VGnd
0.33F 0.1F
Vd = 2.5V
Vin > 7.5V
Iout <1A4.7 F 4.7 F