Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 10:d0d3e0429c6f, committed 2019-06-16
- Comitter:
- NIcolasFernandezSanz
- Date:
- Sun Jun 16 01:16:02 2019 +0000
- Parent:
- 9:56bfbc0947af
- Commit message:
- VersionFinal; Fernandez-Clerici;
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Sun Jun 09 19:11:46 2019 +0000 +++ b/main.cpp Sun Jun 16 01:16:02 2019 +0000 @@ -1,6 +1,6 @@ /* -FERNANDEZ-CLERICI -EJER01 - TP01 + FERNANDEZ-CLERICI + EJER01 - TP01 PTB0 -- Habilitacion Cooler PTB1 -- DS18B20 (Data) (4K7 PullUp) @@ -20,7 +20,7 @@ #define EN_COOLER PTB0 #define DS18B20_PIN PTB1 #define VELOCIDAD D3 -#define PULSADOR A5 +#define PULSADOR PTC1 #define PRESET PTC2 /*Definicion de Elementos*/ @@ -124,7 +124,7 @@ /*VALORES DE CONFIGURACION LAZO CERRADO*/ -#define DEFINICION_CAMBIO_PWM 0.02f //Resolucion de barrido, valores altos agilizan el cambio pero pueden hacer que nunca se alcance lo pedido.. +#define DEFINICION_CAMBIO_PWM 0.01f //Resolucion de barrido, valores altos agilizan el cambio pero pueden hacer que nunca se alcance lo pedido.. #define MinRPM 500.0f //Minima velocidad establecida por el Cooler #define ToleranciaRPM 100.0f //Tolerancia de calculos en torno a la velocidad (Cuanto me puedo desviar de la regla de tres simple y considerarlo verdadero) @@ -380,7 +380,7 @@ static float temperatura = 0; float val = 0; static bool suptempmax = 0; //Flag que me indica si ya puse al maximo el duty - + switch(CPT) { case INICIO_LC: Rojo = 1;//Apago el Led rojo.. @@ -397,9 +397,9 @@ temperatura = probe.temperature(); //Guardo la temperatura printf("La temperatura es de %3.1foC\r\n",temperatura ); /*Si tengo mas de 70 grados directamente pongo la maxima velocidad*/ - if(temperatura >= 70) { + if(temperatura >= 70.00f) { /*Aviso que supere los 70ºC*/ - if(!suptempmax){ + if(!suptempmax) { printf("Supere los 70oC... Pongo el duty al maximo.. Dejo de medir RPM momentaneamente..\r\n"); suptempmax = 1; //Seteo el flag de superar los 70ºC } @@ -410,9 +410,13 @@ break; } else { /*Aviso que baje de los 70ºC*/ - if(suptempmax){ - printf("Baje de los 70oC... duty dinamico.. Vuelvo a medir RPM ..\r\n"); - suptempmax = 0; //Reinicio el flag de superar los 70ºC + if(suptempmax) { + printf("Baje de los 70oC... duty dinamico.. Vuelvo a medir RPM ..\r\n"); + Cooler.write(0.5f); + duty = 0.5f; + CPT = ESPERA_LC; + suptempmax = 0; //Reinicio el flag de superar los 70ºC + } /*Reinicio la medicion de RPM*/ tv = 0; //Reinicio el acumulador de tiempo de la maquina de estados que mide velocidad @@ -450,7 +454,7 @@ printf("EL duty es correcto! Estoy en %0.1f% :D\r\n", floor(duty * 100.0f)); IM = 0; CPT = ESPERA_LC; - break; + break; } @@ -505,8 +509,8 @@ dtf = obj; //Fijo el nuevo objetivo... tdm = 0; //Aviso que estoy modificando el duty... - printf("Inicio el cambio de duty....\r\n"); - Rojo = 0; + //printf("Inicio el cambio de duty....\r\n"); + //Rojo = 0; /*Si estoy por debajo del minimo del Cooler directamente lo apago...*/ if(dtf < 0.07f) {