Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

MC34931_Lib

Biblioteka do sterowania silnikami DC poprzez MC34931, napisana pod STM32F1, wymaga HAL.

Struktura silnika, kierunek obrotów

// Definicja struktury silnika
typedef struct {
    TIM_HandleTypeDef *htim;
    uint32_t channel_IN1;
    uint32_t channel_IN2;

    // Piny sterujące D1 (Disable) i E2 (Enable/Sleep)
    GPIO_TypeDef *D1_Port;
    uint16_t D1_Pin;
    GPIO_TypeDef *E2_Port;
    uint16_t E2_Pin;
} Motor_Config_t;

typedef enum {
    DIR_CW = 0, // Clockwise
    DIR_CCW = 1 // Counter-Clockwise
} Motor_Dir_t;

Wymagania użycia

  • STM32F1
  • Skonfigurowany timer z PWM na dwóch kanałach
  • dwa piny GPIO Output

Funkcje API

void Motor_Init(
    Motor_Config_t *motor,
    TIM_HandleTypeDef *htim,
    uint32_t ch1,
    uint32_t ch2,
    GPIO_TypeDef *D1_Port,
    uint16_t D1_Pin,
    GPIO_TypeDef *E2_Port,
    uint16_t E2_Pin
);

Wywołać na początku, inicjalizuje strukturę silnika.

void Motor_Init_Hardware(Motor_Config_t *motor);

Ustawienie pinów zgodnie z datasheet MC34931, D1 -> LOW, E2 -> HIGH
Uruchomienie PWM z wypełnieniem 0.
Wywołać po Motor_Init().

void Motor_SetSpeed(Motor_Config_t *motor, Motor_Dir_t dir, uint8_t speed_percent);

Ustawienie kierunku i prędkości (0 - 100).

void Motor_Stop(Motor_Config_t *motor);

Zatrzymanie silnika.

void Motor_Sleep(Motor_Config_t *motor, uint8_t enable_sleep);

Przełączenie tryb oszczędzania energii (enable_sleep = 1 - Wł, enable_sleep = 0 - WYŁ).

About

Biblioteka służąca do sterowania MC34931, napisana pod STM32F1.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages