pachas

Dependencies:   mbed QEI FastPWM

Committer:
miguelangel_2511
Date:
Thu May 07 03:52:31 2020 +0000
Revision:
11:5cb7ae8bd831
Parent:
9:95fdcdc0977e
Child:
12:3bc2465b034a
Se implemento un filtro IIIR tipo Chebyshev 2 Pasa-bajos de 30 Hz para cada sensor de presion.  Asimismo, se implemento un filtro IIR Chebyshev 2 Pasa-altos de 0.01 Hz y un filtro FIR pasa-bajos de 40 Hz para la senial de flujo.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
miguelangel_2511 0:9d0b9785d3d6 1 #include "mbed.h"
miguelangel_2511 0:9d0b9785d3d6 2 #include "stdint.h"
miguelangel_2511 0:9d0b9785d3d6 3 #include "project_defines.h"
miguelangel_2511 0:9d0b9785d3d6 4 #include "buttons.h"
miguelangel_2511 0:9d0b9785d3d6 5 #include "encoder_interface.h"
miguelangel_2511 6:d38287621cca 6 #include "nextion_interface.h"
miguelangel_2511 0:9d0b9785d3d6 7 #include "stepper_motor_driver.h"
miguelangel_2511 7:f4e248182d31 8 #include "pressure_sensors.h"
miguelangel_2511 0:9d0b9785d3d6 9 #include "ventilator.h"
miguelangel_2511 0:9d0b9785d3d6 10
miguelangel_2511 0:9d0b9785d3d6 11
miguelangel_2511 11:5cb7ae8bd831 12 Serial pc(USBTX, USBRX);
miguelangel_2511 11:5cb7ae8bd831 13
miguelangel_2511 8:208d965a3bd2 14 int main(void) {
miguelangel_2511 8:208d965a3bd2 15
miguelangel_2511 11:5cb7ae8bd831 16 pc.baud(115200);
miguelangel_2511 8:208d965a3bd2 17 System_Initialize();
miguelangel_2511 11:5cb7ae8bd831 18
miguelangel_2511 11:5cb7ae8bd831 19 wait(1);
miguelangel_2511 11:5cb7ae8bd831 20 volume_ml = 0;
miguelangel_2511 0:9d0b9785d3d6 21
miguelangel_2511 9:95fdcdc0977e 22 while(1){
miguelangel_2511 9:95fdcdc0977e 23
miguelangel_2511 9:95fdcdc0977e 24 Nextion_Encoder_Interaction();
miguelangel_2511 1:aa5df1878126 25 Stepper_Driver_State_Machine();
miguelangel_2511 7:f4e248182d31 26
miguelangel_2511 7:f4e248182d31 27 if(read_pressure_sensors_flag){
miguelangel_2511 7:f4e248182d31 28 Pressure_Sensors_Read();
miguelangel_2511 8:208d965a3bd2 29 Calculate_Flow_From_Pressure();
miguelangel_2511 8:208d965a3bd2 30 Calculate_Volume_From_Flow();
miguelangel_2511 7:f4e248182d31 31 read_pressure_sensors_flag = 0;
miguelangel_2511 7:f4e248182d31 32 }
miguelangel_2511 8:208d965a3bd2 33
miguelangel_2511 7:f4e248182d31 34 if((stepper_driver_state != Stepper_Inspiration_Finish) &&
miguelangel_2511 7:f4e248182d31 35 (stepper_driver_state != Stepper_Expiration_Finish)){
miguelangel_2511 8:208d965a3bd2 36 /* Display sensed values if necessary */
miguelangel_2511 7:f4e248182d31 37 if(pressure_sensor_display_update_flag){
miguelangel_2511 8:208d965a3bd2 38 Nextion_Update_Sensor_Values();
miguelangel_2511 8:208d965a3bd2 39 pressure_sensor_display_update_flag = 0;
miguelangel_2511 7:f4e248182d31 40 }
miguelangel_2511 8:208d965a3bd2 41 /* Plot sensed values if necessary */
miguelangel_2511 7:f4e248182d31 42 if(pressure_sensor_waveform_update_flag){
miguelangel_2511 7:f4e248182d31 43 Nextion_Update_Waveform_Values();
miguelangel_2511 7:f4e248182d31 44 pressure_sensor_waveform_update_flag = 0;
miguelangel_2511 8:208d965a3bd2 45 }
miguelangel_2511 7:f4e248182d31 46
miguelangel_2511 8:208d965a3bd2 47 }
miguelangel_2511 0:9d0b9785d3d6 48 }
miguelangel_2511 0:9d0b9785d3d6 49
miguelangel_2511 0:9d0b9785d3d6 50 return 0;
miguelangel_2511 0:9d0b9785d3d6 51 }
miguelangel_2511 0:9d0b9785d3d6 52
miguelangel_2511 0:9d0b9785d3d6 53
miguelangel_2511 0:9d0b9785d3d6 54
miguelangel_2511 8:208d965a3bd2 55
miguelangel_2511 8:208d965a3bd2 56
miguelangel_2511 8:208d965a3bd2 57
miguelangel_2511 8:208d965a3bd2 58
miguelangel_2511 8:208d965a3bd2 59
miguelangel_2511 8:208d965a3bd2 60