PID制御計算用ライブラリ

Dependents:   ROBOCON2017_archan ROBOCON2017_suchan

Revision:
1:f1f6c98a4b12
Parent:
0:52549f6dd024
Child:
2:e340bdcb9bca
diff -r 52549f6dd024 -r f1f6c98a4b12 cal_PID.cpp
--- a/cal_PID.cpp	Fri Aug 26 11:30:08 2016 +0000
+++ b/cal_PID.cpp	Wed Sep 28 01:42:33 2016 +0000
@@ -32,7 +32,7 @@
     past_error=0;
     integral_error=0;
 }
-signed long cal_pid::get_pid(signed long position,signed long targ){
+signed long cal_pid::get_pid(signed long position,signed long targ,int rd){
     error=targ-position;
     integral_error+=error*control_period;
     differential_error=(error-past_error)/control_period;
@@ -41,6 +41,7 @@
     i_part=integral_error*i_gain;
     d_part=differential_error*d_gain;
     operate=p_part+i_part+d_part;
+    operate*=rd;
     if(operate<output_min)operate=output_min;
     else if(operate>output_max)operate=output_max;