41#define ENCODER_RESOLUTION 8
42#define TIMER_CONFIGURATION_BOTH_EDGES 4
44#define TIMER_INTERRUPT_FREQUENCY 10
45#define SECONDS_IN_MINUTE 60
Sterownik silnika DC do obsługi prędkości i kierunku obrotów za pomocą PWM.
void motor_calculate_speed(motor_struct *motor)
Oblicza prędkość obrotową silnika w RPM i aktualizuje sygnał PWM sterujący silnikiem.
Definition motor.c:57
void motor_update_count(motor_struct *motor)
Aktualizuje licznik impulsów enkodera.
Definition motor.c:42
void motor_stop(motor_struct *motor)
Zatrzymuje silnik.
Definition motor.c:114
void motor_set_RPM_speed(motor_struct *motor, int RPM_speed)
Ustawia zadaną prędkość obrotową silnika w RPM.
Definition motor.c:99
void motor_init(motor_struct *motor, TIM_HandleTypeDef *encoder_tim)
Inicjalizuje strukturę sterownika silnika.
Definition motor.c:23
Nagłówek zawierający definicję struktury i funkcji regulatora PID. Regulator PID jest używany do ster...
Struktura reprezentująca sterownik silnika DC.
Definition cytronDriver.h:34
Struktura reprezentująca instancję silnika.
Definition motor.h:25
pid_struct pid_controller
Struktura kontrolera PID.
Definition motor.h:37
uint16_t resolution
Liczba zliczeń timera na jeden obrót wału.
Definition motor.h:28
int32_t set_speed
Zadana prędkość
Definition motor.h:32
TIM_HandleTypeDef * timer
Wskaźnik do timera obsługującego enkoder silnika.
Definition motor.h:26
int32_t actual_PWM
Wartość PWM.
Definition motor.h:34
int32_t pulse_count
Zliczone impulsy.
Definition motor.h:30
driver_struct driver
Struktura sterownika silnika.
Definition motor.h:36
int32_t measured_speed
Obliczona prędkość
Definition motor.h:31
Struktura przechowująca dane regulatora PID.
Definition pid_controller.h:24