/* * Stepper.c * * Created on: Apr 17, 2024 * Author: tristan.rouzic */ #include "Stepper.h" #include void stopMotor(void) { // HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, GPIO_PIN_RESET); // Arrêter le mouvement en mettant la broche de pas à 0 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_10, GPIO_PIN_RESET);// Mettre la broche de direction à 0 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_RESET);// Mettre la broche ENABLE à 0 pour désactiver le moteur } void moveChariot(uint32_t distance_mm) { // Conversion de la distance en nombre de pas int steps = distance_mm * STEPS_PER_MM/100; int steps_done = 0; // Variable pour compter les pas effectués // Effectue les pas while (steps_done < abs(steps)) { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, GPIO_PIN_SET); // PUL+ HAL_Delay(PULSE_DELAY_US); // Attente HAL_GPIO_WritePin(GPIOA, GPIO_PIN_9, GPIO_PIN_RESET); // PUL- HAL_Delay(PULSE_DELAY_US); // Attente // Incrémenter le nombre de pas effectués steps_done++; } } void dir_positive(void) { //HAL_Delay(1); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_10, GPIO_PIN_SET); } void dir_negative(void) { //HAL_Delay(1); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_10, GPIO_PIN_RESET); }