para el ventilador

Dependencies:   QEI FastPWM

Committer:
miguelangel_2511
Date:
Mon Apr 20 11:39:30 2020 +0000
Revision:
6:d38287621cca
Parent:
4:d42e1953243c
Child:
7:f4e248182d31
La pantalla TFT fue reemplazada por una pantalla Nextion que se comunica por el puerto serial (UART). El control de la pantalla sigue realizandose a traves de un encoder.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
miguelangel_2511 0:9d0b9785d3d6 1
miguelangel_2511 0:9d0b9785d3d6 2 #ifndef PROJECT_DEFINES_H_
miguelangel_2511 0:9d0b9785d3d6 3 #define PROJECT_DEFINES_H_
miguelangel_2511 0:9d0b9785d3d6 4
miguelangel_2511 0:9d0b9785d3d6 5 /* File inclusion */
miguelangel_2511 0:9d0b9785d3d6 6
miguelangel_2511 0:9d0b9785d3d6 7 /* Pin definition */
miguelangel_2511 0:9d0b9785d3d6 8
miguelangel_2511 0:9d0b9785d3d6 9 // Switches and buttons
miguelangel_2511 0:9d0b9785d3d6 10 #define ENTER_SW_PIN PA_15
miguelangel_2511 0:9d0b9785d3d6 11 #define LIMIT_SW_01_PIN PB_7
miguelangel_2511 0:9d0b9785d3d6 12 #define GAS_INPUT_SW_PIN PC_13
miguelangel_2511 0:9d0b9785d3d6 13
miguelangel_2511 0:9d0b9785d3d6 14 // Rotary encoder
miguelangel_2511 0:9d0b9785d3d6 15 #define ENCODER_A_SIGNAL PA_13
miguelangel_2511 0:9d0b9785d3d6 16 #define ENCODER_B_SIGNAL PA_14
miguelangel_2511 0:9d0b9785d3d6 17
miguelangel_2511 6:d38287621cca 18 //Nextion display
miguelangel_2511 6:d38287621cca 19 #define NEXTION_TX_PIN PC_10
miguelangel_2511 6:d38287621cca 20 #define NEXTION_RX_PIN PC_11
miguelangel_2511 0:9d0b9785d3d6 21
miguelangel_2511 0:9d0b9785d3d6 22 //Stepper motor
miguelangel_2511 0:9d0b9785d3d6 23 #define STEPPER_PULSE_PIN PC_8
miguelangel_2511 0:9d0b9785d3d6 24 #define STEPPER_ENABLE_PIN PC_6
miguelangel_2511 0:9d0b9785d3d6 25 #define STEPPER_DIRECTION_PIN PC_5
miguelangel_2511 1:aa5df1878126 26 #define STEPPER_PULSE_FEEDBACK_PIN PA_12
miguelangel_2511 0:9d0b9785d3d6 27
miguelangel_2511 0:9d0b9785d3d6 28
miguelangel_2511 0:9d0b9785d3d6 29 /* Constants and macros */
miguelangel_2511 0:9d0b9785d3d6 30
miguelangel_2511 0:9d0b9785d3d6 31 /* Defines for the switches and buttons */
miguelangel_2511 0:9d0b9785d3d6 32 #define ENTER_SW 0
miguelangel_2511 0:9d0b9785d3d6 33 #define LIMIT_SW_01 1
miguelangel_2511 0:9d0b9785d3d6 34 #define GAS_INPUT_SW 2
miguelangel_2511 0:9d0b9785d3d6 35
miguelangel_2511 0:9d0b9785d3d6 36 /* Defines for the encoder user interface */
miguelangel_2511 0:9d0b9785d3d6 37 #define ENCODER_THRESHOLD 8
miguelangel_2511 0:9d0b9785d3d6 38
miguelangel_2511 0:9d0b9785d3d6 39 #define PARAMETER_SELECTION_INDEX_LIMIT 3
miguelangel_2511 0:9d0b9785d3d6 40 #define VOLUME_SETPOINT_INDEX_LIMIT 11
miguelangel_2511 0:9d0b9785d3d6 41 #define RESP_FREQUENCY_INDEX_LIMIT 21
miguelangel_2511 0:9d0b9785d3d6 42 #define I_E_RATIO_INDEX_LIMIT 3
miguelangel_2511 0:9d0b9785d3d6 43
miguelangel_2511 0:9d0b9785d3d6 44 #define PARAMETER_SELECTION_INDEX_DEFAULT 0
miguelangel_2511 0:9d0b9785d3d6 45 #define VOLUME_SETPOINT_INDEX_DEFAULT 5
miguelangel_2511 0:9d0b9785d3d6 46 #define RESP_FREQUENCY_INDEX_DEFAULT 10
miguelangel_2511 0:9d0b9785d3d6 47 #define I_E_RATIO_INDEX_DEFAULT 0
miguelangel_2511 0:9d0b9785d3d6 48
miguelangel_2511 6:d38287621cca 49 /* Defines for the Nextion user interface */
miguelangel_2511 6:d38287621cca 50 #define NORMAL_COLOR BLACK
miguelangel_2511 6:d38287621cca 51 #define SELECT_COLOR BLUE
miguelangel_2511 6:d38287621cca 52 #define ADJUST_COLOR GREEN
miguelangel_2511 6:d38287621cca 53
miguelangel_2511 6:d38287621cca 54 //#define BACKGROUND_COLOR Black
miguelangel_2511 6:d38287621cca 55 //#define INDICATOR_BOX_LINE_COLOR Green
miguelangel_2511 6:d38287621cca 56 //#define INDICATOR_HEADER_TEXT_COLOR Yellow
miguelangel_2511 6:d38287621cca 57 //#define INDICATOR_VALUE_TEXT_COLOR White
miguelangel_2511 6:d38287621cca 58 //#define INDICATOR_UNITS_TEXT_COLOR White
miguelangel_2511 6:d38287621cca 59 //#define PARAMETER_SELECTION_BOX_COLOR Yellow
miguelangel_2511 6:d38287621cca 60 //#define PARAMETER_ADJUST_TEXT_COLOR Green
miguelangel_2511 0:9d0b9785d3d6 61
miguelangel_2511 0:9d0b9785d3d6 62 #define HEADERS_ROW1_Y_POS 20
miguelangel_2511 0:9d0b9785d3d6 63 #define HEADERS_ROW2_Y_POS 180
miguelangel_2511 0:9d0b9785d3d6 64 #define UNITS_ROW1_Y_POS 103
miguelangel_2511 0:9d0b9785d3d6 65 #define UNITS_ROW2_Y_POS 263
miguelangel_2511 0:9d0b9785d3d6 66 #define VALUES_ROW1_Y_POS 60
miguelangel_2511 0:9d0b9785d3d6 67 #define VALUES_ROW2_Y_POS 220
miguelangel_2511 0:9d0b9785d3d6 68
miguelangel_2511 0:9d0b9785d3d6 69 #define VOLUME_SETPOINT_VALUE_DEFAULT 500
miguelangel_2511 0:9d0b9785d3d6 70 #define RESP_FREQUENCY_VALUE_DEFAULT 20
miguelangel_2511 0:9d0b9785d3d6 71 #define INSPIRATION_TIME_VALUE_DEFAULT 1.0
miguelangel_2511 0:9d0b9785d3d6 72 #define EXPIRATION_TIME_VALUE_DEFAULT 2.0
miguelangel_2511 0:9d0b9785d3d6 73
miguelangel_2511 2:6f618b905d4f 74 #define VOLUME_SETPOINT_MINIMUM_VALUE 250
miguelangel_2511 6:d38287621cca 75 #define VOLUME_SETPOINT_STEP 50
miguelangel_2511 2:6f618b905d4f 76
miguelangel_2511 0:9d0b9785d3d6 77 #define AIR_INPUT 0
miguelangel_2511 0:9d0b9785d3d6 78 #define OXYGEN_INPUT 1
miguelangel_2511 0:9d0b9785d3d6 79
miguelangel_2511 4:d42e1953243c 80 #define MAIN_SCREEN_DEFAULT_STATE Main_Screen_Cursor_Disable
miguelangel_2511 1:aa5df1878126 81
miguelangel_2511 4:d42e1953243c 82 /* Defines for the pressure sensor */
miguelangel_2511 4:d42e1953243c 83 #define PRESSURE_SENSOR_SLAVE_ADDRES 0x28
miguelangel_2511 1:aa5df1878126 84
miguelangel_2511 1:aa5df1878126 85 /* Defines for the stepper motor control */
miguelangel_2511 1:aa5df1878126 86
miguelangel_2511 0:9d0b9785d3d6 87
miguelangel_2511 1:aa5df1878126 88 #define TO_HOME 0
miguelangel_2511 1:aa5df1878126 89 #define TO_AIRBAG 1
miguelangel_2511 1:aa5df1878126 90 #define STEPPER_ENABLED 0
miguelangel_2511 1:aa5df1878126 91 #define STEPPER_DISABLED 1
miguelangel_2511 1:aa5df1878126 92
miguelangel_2511 1:aa5df1878126 93 #define STEPPER_DRIVER_PULSE_MIN_PERIOD_US 100
miguelangel_2511 1:aa5df1878126 94 #define STEPPER_DRIVER_PULSE_HOME_PERIOD_US 1000
miguelangel_2511 1:aa5df1878126 95 #define STEPPER_DRIVER_DEFAULT_PULSE_PERIOD_US 1000
miguelangel_2511 1:aa5df1878126 96
miguelangel_2511 1:aa5df1878126 97 #define STEPPER_DRIVER_MAX_PULSES 6000 // Limite de pasos cuando no encuentra el sensor
miguelangel_2511 1:aa5df1878126 98 #define STEPPER_DRIVER_MIN_PULSES (2*RAMP_STEPS + 2)
miguelangel_2511 1:aa5df1878126 99 #define STEPPER_DRIVER_INSPIRATION_PULSES_DEFAULT 2000
miguelangel_2511 1:aa5df1878126 100
miguelangel_2511 1:aa5df1878126 101 #define STEPPER_DRIVER_DEFAULT_STATE Stepper_Driver_Home_Ramp
miguelangel_2511 1:aa5df1878126 102
miguelangel_2511 1:aa5df1878126 103 #define STEPPER_CALIBRATION_FREQUENCY_HZ 200
miguelangel_2511 6:d38287621cca 104
miguelangel_2511 1:aa5df1878126 105 // Number of steps used for the speed ramp, can be either 50 or 100
miguelangel_2511 1:aa5df1878126 106 #define RAMP_STEPS 50
miguelangel_2511 3:45299e7882b9 107
miguelangel_2511 6:d38287621cca 108 #if RAMP_STEPS == 50
miguelangel_2511 6:d38287621cca 109 #define STEPPER_START_BRAKE_FREQUENCY_HZ 300
miguelangel_2511 6:d38287621cca 110 #elif RAMP_STEPS == 100
miguelangel_2511 6:d38287621cca 111 #define STEPPER_START_BRAKE_FREQUENCY_HZ 500
miguelangel_2511 6:d38287621cca 112 #else
miguelangel_2511 6:d38287621cca 113 #error "Select a valid value for RAMP_STEPS: either 50 or 100"
miguelangel_2511 6:d38287621cca 114 #endif
miguelangel_2511 0:9d0b9785d3d6 115
miguelangel_2511 6:d38287621cca 116 #define STEPPER_MAX_FREQUENCY_HZ 3000
miguelangel_2511 6:d38287621cca 117
miguelangel_2511 6:d38287621cca 118 #define STEPPER_START_BRAKE_PERIOD_US (1000000.0/STEPPER_START_BRAKE_FREQUENCY_HZ)
miguelangel_2511 6:d38287621cca 119 #define SHORT_RAMP_STEPS 25
miguelangel_2511 6:d38287621cca 120
miguelangel_2511 6:d38287621cca 121 #define TUNING_FACTOR 1.25
miguelangel_2511 6:d38287621cca 122
miguelangel_2511 6:d38287621cca 123 #endif