Es un backup para las pruebas de firmware y hardware de un ventilador

Dependencies:   mbed QEI FastPWM

Committer:
miguelangel_2511
Date:
Fri May 15 20:29:30 2020 +0000
Revision:
12:3bc2465b034a
Parent:
11:5cb7ae8bd831
hola papu

Who changed what in which revision?

UserRevisionLine numberNew contents of line
miguelangel_2511 0:9d0b9785d3d6 1 #ifndef STEPPER_MOTOR_DRIVER_H_
miguelangel_2511 0:9d0b9785d3d6 2 #define STEPPER_MOTOR_DRIVER_H_
miguelangel_2511 0:9d0b9785d3d6 3
miguelangel_2511 0:9d0b9785d3d6 4 #include "mbed.h"
miguelangel_2511 1:aa5df1878126 5 #include "FastPWM.h"
miguelangel_2511 0:9d0b9785d3d6 6
miguelangel_2511 0:9d0b9785d3d6 7 #define STEPPER_PULSE_DUTY_CYCLE 0.5f
miguelangel_2511 0:9d0b9785d3d6 8 #define STEPPER_MOTOR_TOTAL_STEPS 6000
miguelangel_2511 0:9d0b9785d3d6 9
miguelangel_2511 0:9d0b9785d3d6 10 #define STEPPER_MOTOR_GO_HOME 0
miguelangel_2511 0:9d0b9785d3d6 11 #define STEPPER_MOTOR_GO_AHEAD 0
miguelangel_2511 0:9d0b9785d3d6 12
miguelangel_2511 0:9d0b9785d3d6 13
miguelangel_2511 1:aa5df1878126 14 /* Type definition */
miguelangel_2511 0:9d0b9785d3d6 15
miguelangel_2511 1:aa5df1878126 16 typedef enum{
miguelangel_2511 1:aa5df1878126 17 Stepper_Stand_By = 0,
miguelangel_2511 1:aa5df1878126 18 Stepper_Inspiration,
miguelangel_2511 1:aa5df1878126 19 Stepper_Inspiration_Finish,
miguelangel_2511 1:aa5df1878126 20 Stepper_Expiration,
miguelangel_2511 1:aa5df1878126 21 Stepper_Expiration_Finish,
miguelangel_2511 1:aa5df1878126 22 Stepper_Limit_Sensor_Error
miguelangel_2511 1:aa5df1878126 23 }Stepper_Driver_State_t;
miguelangel_2511 0:9d0b9785d3d6 24
miguelangel_2511 0:9d0b9785d3d6 25
miguelangel_2511 1:aa5df1878126 26 /* Object declaration */
miguelangel_2511 1:aa5df1878126 27 extern InterruptIn stepper_pulse_feedback;
miguelangel_2511 1:aa5df1878126 28 extern FastPWM stepper_pulse;
miguelangel_2511 1:aa5df1878126 29 extern DigitalOut stepper_en;
miguelangel_2511 1:aa5df1878126 30 extern DigitalOut stepper_dir;
miguelangel_2511 1:aa5df1878126 31
miguelangel_2511 3:45299e7882b9 32
miguelangel_2511 1:aa5df1878126 33 /* Variable declaration */
miguelangel_2511 3:45299e7882b9 34 extern volatile uint8_t stepper_parameters_update_flag;
miguelangel_2511 3:45299e7882b9 35
miguelangel_2511 1:aa5df1878126 36 // Tables for calculations
miguelangel_2511 11:5cb7ae8bd831 37
miguelangel_2511 11:5cb7ae8bd831 38
miguelangel_2511 1:aa5df1878126 39
miguelangel_2511 1:aa5df1878126 40 // These parameters are configurer through the graphic interface */
miguelangel_2511 1:aa5df1878126 41 extern uint32_t inspiration_stepper_pulses_setpoint;
miguelangel_2511 10:b2d87404309a 42 extern float inspiration_stepper_pulse_period;
miguelangel_2511 10:b2d87404309a 43 extern float expiration_stepper_pulse_period;
miguelangel_2511 10:b2d87404309a 44 extern float calibration_stepper_pulse_period;
miguelangel_2511 1:aa5df1878126 45 extern uint32_t volume_in_steps[VOLUME_SETPOINT_INDEX_LIMIT];
miguelangel_2511 1:aa5df1878126 46
miguelangel_2511 1:aa5df1878126 47 // Variables used in every state of the stepper motor driver */
miguelangel_2511 1:aa5df1878126 48 extern volatile uint32_t stepper_pulse_counter;
miguelangel_2511 1:aa5df1878126 49
miguelangel_2511 1:aa5df1878126 50 extern volatile Stepper_Driver_State_t stepper_driver_state;
miguelangel_2511 1:aa5df1878126 51
miguelangel_2511 1:aa5df1878126 52 /* Function declaration */
miguelangel_2511 1:aa5df1878126 53 void Stepper_Driver_Init(void);
miguelangel_2511 1:aa5df1878126 54 void Stepper_Go_Home_Position(void);
miguelangel_2511 1:aa5df1878126 55 void Stepper_Driver_State_Machine(void);
miguelangel_2511 1:aa5df1878126 56 void Stepper_Driver_Pulse_Signal_Update(void);
miguelangel_2511 1:aa5df1878126 57
miguelangel_2511 0:9d0b9785d3d6 58 #endif