make PID controller mathemtaically correct
This commit is contained in:
		@@ -25,15 +25,19 @@ struct pid_controller {
 | 
			
		||||
	float k_deriv;
 | 
			
		||||
	float k_int;
 | 
			
		||||
	float k_p;
 | 
			
		||||
	float k_int_t;
 | 
			
		||||
	float k_deriv_t;
 | 
			
		||||
	float output_sat_max;
 | 
			
		||||
	float output_sat_min;
 | 
			
		||||
	float integral_max;
 | 
			
		||||
	float sample_period;
 | 
			
		||||
	volatile float control_output;
 | 
			
		||||
	volatile float last_in;
 | 
			
		||||
	volatile float integral;
 | 
			
		||||
	volatile float derivate;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void pid_init(struct pid_controller *pid, float k_deriv, float k_int, float k_p, float output_sat_min, float output_sat_max, float integral_max);
 | 
			
		||||
void pid_init(struct pid_controller *pid, float k_deriv, float k_int, float k_p, float output_sat_min, float output_sat_max, float integral_max, float sample_period);
 | 
			
		||||
 | 
			
		||||
void pid_zero(struct pid_controller *pid);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user