Autor Tema: Nivel para líquidos.  (Leído 34482 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4049
Re:Nivel para líquidos.
« Respuesta #105 en: 29 de Enero de 2019, 13:16:48 »
En A3 es donde está el pulsador de minimo, por lo que creo no debería de colocarse un led, de todas forma sin este led te digo... cuando caliblars el minimo lo hace bien, pero cuando calibro el maximo los leds C2 y C3 se ponen a parpadear y tambien los ultimos leds de visualizacion, y cuando apago espero un poco y vuelvo a encender no lucen ningun led.

He eliminado A3 como salida del programa y vuelto a compilar y ahora el minimo/maximo lucen bien los leds, pero esa secuencia despues de haber calibrado no la hace.

Cierto no había caído que A3 se estaba utilizando como entrada. Si no hace esa secuencia es que la parte de la lectura no la hace o no llega a ella. Voy a seguir revisando.


Fer_TACA tienes algún pic con el que pudieras probar en físico?

No, No dispongo de ninguno


Todos los días se aprende algo nuevo.

Desconectado manuel gómez

  • PIC16
  • ***
  • Mensajes: 109
Re:Nivel para líquidos.
« Respuesta #106 en: 29 de Enero de 2019, 13:30:39 »
De acuerdo, gracias....

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4049
Re:Nivel para líquidos.
« Respuesta #107 en: 29 de Enero de 2019, 13:33:47 »
Prueba este que encontré porque no leía la eeprom.

La secuencia que te indique se debe realizar y al final apagarse, continuando con el desarrollo normal del programa.
Todos los días se aprende algo nuevo.

Desconectado manuel gómez

  • PIC16
  • ***
  • Mensajes: 109
Re:Nivel para líquidos.
« Respuesta #108 en: 29 de Enero de 2019, 15:03:31 »
Mañana lo pruebo y te comento. Gracias...

Desconectado manuel gómez

  • PIC16
  • ***
  • Mensajes: 109
Re:Nivel para líquidos.
« Respuesta #109 en: 30 de Enero de 2019, 06:09:32 »
 :-/ :-/ :) :)

Buenos días Fer_TACA, comprobaras mi alegría solo con el inicio de este post.

Esto funciona perfectamente y guarda la memoria en el ultimo nivel que se deje el sensor. Te comento el proceso completo .... conecto alimentación activo el interruptor de calibración, memorizo el nivel mínimo y a continuación subo un poco el sensor y memorizo el nivel máximo, desactivo el interruptor de calibración, desconecto los +5V, a continuación vuelvo a alimentar sin el interruptor de calibración y aparecen todos los leds apagados, pero espero un poco y a los 10 segundos comienza la secuencia de encendido de C0, C2, C3 y A2, y al momento se encienden los leds de visualización presentando el nivel que había en el momento de apagar la alimentación.

He repetido esta acción un montón de veces y no falla, siempre funciona correctamente.

No sabes la alegría que me das con haber podido conseguir este programa, imagino que se podrá pulir, pero tal como está realiza aquello que te pedí.

Desconectado manuel gómez

  • PIC16
  • ***
  • Mensajes: 109
Re:Nivel para líquidos.
« Respuesta #110 en: 30 de Enero de 2019, 06:30:26 »
Me gustaría si puedes me dijeras cual era el problema de porqué no memorizaba, estoy comparando el último archivo que no iba con este ultimo que si que funciona y la verdad es que solo veo la diferencia en unos retardos.

Saludos.

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4049
Re:Nivel para líquidos.
« Respuesta #111 en: 30 de Enero de 2019, 07:25:32 »
Hola Manuel,
Cuanto me alegro de que funcione.
Mira el problema de no memorizar es que, y no se porqué, al igual que se desconfiguraron los fuses, la configuración de la interrupción del TMR0 también se cambio. Se había colocado para contar los pulsos provenientes de un pin de entrada en vez de contar los pulsos internos del reloj. Por eso puse esa secuencia, en distintos puntos del programa para ver donde se perdía. Como me dijiste que no lucía ninguno, supuse que error estaría al principio.
Me dices que esperas 10sg y comienza la secuencia. Ese tiempo es el que se tiene para poder accionar el interruptor para calibrar después de un reset o corte de alimentación. Si no se actúa es cuando se recupera el valor guardado en la EEprom. Si te parece mucho tiempo puedes acortarlo cambiando en la macro "ContadorTiempoInicio" en valor de comparación de 30, bajándolo tendrás menos tiempo.

Te adjunto el fichero modificado sin esos "testigos" que es como debe de estar. Luego ya tu utiliza el que desees.
Pero una cosa si te aconsejo es que pierdas un poco de tiempo más y comentes y describas que hace el programa y cada bloque. De esa forma pasado un tiempo si tienes que cambiar algo, puedas recordar que es lo que hacia cada cosa.

F.
Todos los días se aprende algo nuevo.

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4049
Re:Nivel para líquidos.
« Respuesta #112 en: 30 de Enero de 2019, 07:29:43 »
Por cierto una cosa mas que se me olvidó.
Dices que el tiempo de retardo era de 10segundos. ¿el oscilador es interno y has colocado la frecuencia a 4MHz o 8MHz?
Lo digo porque los cálculos con 8MHz son de un retraso de 5segundos. Pero si la frecuencia es de 4MHz entonces si que salen los 10 segundos.

F.
Todos los días se aprende algo nuevo.

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4049
Re:Nivel para líquidos.
« Respuesta #113 en: 30 de Enero de 2019, 07:48:42 »
Otra cosa adicional:

Dentro de la lista de variables hay 2 que puedes eliminar son: LSB_xxx y MSB_xxx. No se utilizan.
Además hay otros testigos colocados en C0, C1, y A2 que se colocaron para ver el proceso de calibración. Puedes prescindir de ellos si lo estimas oportuno. De esas formas te quedan libres unos pines mas para cualquier otra función que necesites implementar.

Por otra parte es bueno que una vez finalizado y comentado el programa le digas que te cree un informe. Tendrás de forma impresa con todo detalle como es tu proyecto.


F.
« Última modificación: 30 de Enero de 2019, 07:57:26 por Fer_TACA »
Todos los días se aprende algo nuevo.

Desconectado manuel gómez

  • PIC16
  • ***
  • Mensajes: 109
Re:Nivel para líquidos.
« Respuesta #114 en: 30 de Enero de 2019, 08:14:15 »
Estupendo así lo haré, iré modificando a mis necesidades y guardaré en todo momento el funcionamiento por bloque. Decirte que el tiempo del oscilador interno está en 8Mhz.

Ahora con tiempo probaré este ultimo que adjuntas y lo puliré hasta obtener el resultado final que deseo.

Comentarte nuevamente lo agradecido que te estoy.

Muchas gracias Fer_TACA.

Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re:Nivel para líquidos.
« Respuesta #115 en: 30 de Enero de 2019, 10:50:41 »
Buenos días. Una alegría que hayan solucionado todo y logrado lo propuesto.
Fermín: solo se necesitaba un sensor, porque los valores de máximo y mínimo los toma de los variables que comenté, y los puede leer y modificar en cualquier momento, la diferencia es que no hay espera entre lectura y lectura, por ejemplo coloco el variable de máximo un 10% por debajo del voltaje y el mínimo 10% por encima de 0, solo necesitas 2 entradas analógicas que lean esos valores y los guarden, el sensor solo se usará para el valor actual de nivel. A ello se refería la idea. Por estar de vacaciones y saliendo seguido al campo no les pude colaborar, pero haré el proyecto, solo que adaptado a la placa de prueba de 18 pines que poseo, por ver si estaba en lo cierto de realizar. Un abrazo grande a ambos.
- Santiago -

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4049
Re:Nivel para líquidos.
« Respuesta #116 en: 30 de Enero de 2019, 13:25:07 »
Buenos días. Una alegría que hayan solucionado todo y logrado lo propuesto.
Fermín: solo se necesitaba un sensor, porque los valores de máximo y mínimo los toma de los variables que comenté, y los puede leer y modificar en cualquier momento, la diferencia es que no hay espera entre lectura y lectura, por ejemplo coloco el variable de máximo un 10% por debajo del voltaje y el mínimo 10% por encima de 0, solo necesitas 2 entradas analógicas que lean esos valores y los guarden, el sensor solo se usará para el valor actual de nivel. A ello se refería la idea. Por estar de vacaciones y saliendo seguido al campo no les pude colaborar, pero haré el proyecto, solo que adaptado a la placa de prueba de 18 pines que poseo, por ver si estaba en lo cierto de realizar. Un abrazo grande a ambos.

Gracias Santiago, espero verlo. Siempre es bueno ver las cosas desde 2 puntos de vista distintos.
Por mi parte, solo intenté hacerlo lo más simple posible, aunque quizás mas largo, y claro para que las personas que no entiendan mucho de programación.

F.
Todos los días se aprende algo nuevo.

Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re:Nivel para líquidos.
« Respuesta #117 en: 30 de Enero de 2019, 16:13:18 »
Hola Fermín, Manuel. Me puse con el Flowcode 5 y salió esto que, en el Flow corre correctamente según veo. No lo he compilado aún pues no he preparado la placa de prueba, estoy buscándola ya que me la escondió la edad, jajajja, pero para ver lo que decía va como trompada. Un abrazo y veo que puedo hacer hoy.
* Liquidos Flowcode.zip
(7.11 kB - descargado 163 veces)
 
- Santiago -

Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re:Nivel para líquidos.
« Respuesta #118 en: 30 de Enero de 2019, 17:36:11 »
Este está terminado y compila. Para reingresar valores de máximo y mínimo debe pulsarse mientras esté encendido el led, lo que registrará ambos niveles a su nuevo valor. Hasta acá llego por el momento, un abrazo.

 
* Nivelliquido Flow5.zip
(103.21 kB - descargado 159 veces)
- Santiago -

Desconectado manuel gómez

  • PIC16
  • ***
  • Mensajes: 109
Re:Nivel para líquidos.
« Respuesta #119 en: 30 de Enero de 2019, 18:44:38 »
Gracias Santiago, como dice Fer_TACA, todo apoyo es bueno, he descargado tu aporte para echar un vistazo y así poder aprender mas de ambos, hoy he seguido haciendo pruebas con lo ultimo  que adjuntó Fer_TACA y la verdad que en físico funciona muy pero que muy bien.

Saludos.