PID regulator v 1.0
 
Loading...
Searching...
No Matches
motor.h
Go to the documentation of this file.
1
11
12#ifndef INC_MOTOR_H_
13#define INC_MOTOR_H_
14
15#include "stm32l0xx.h"
16#include "pid_controller.h"
17#include "cytronDriver.h"
18
25typedef struct {
26 TIM_HandleTypeDef *timer;
27
28 uint16_t resolution;
29
30 int32_t pulse_count;
32 int32_t set_speed;
33
34 int32_t actual_PWM;
35
39
40/* Definicje stałych konfiguracyjnych dla enkodera i silnika*/
41#define ENCODER_RESOLUTION 8
42#define TIMER_CONFIGURATION_BOTH_EDGES 4
43#define MOTOR_GEAR 120
44#define TIMER_INTERRUPT_FREQUENCY 10
45#define SECONDS_IN_MINUTE 60
46
55void motor_init(motor_struct *motor, TIM_HandleTypeDef *encoder_tim);
56
66
76
85void motor_set_RPM_speed(motor_struct *motor, int RPM_speed);
86
95void motor_stop(motor_struct *motor);
96
97#endif /* INC_MOTOR_H_ */
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