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

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

Desconectado manuel gómez

  • PIC16
  • ***
  • Mensajes: 109
Re:Nivel para líquidos.
« Respuesta #45 en: 20 de Enero de 2019, 17:52:56 »
Si Fer_TACA, solo se utiliza un sensor, lo mismo no lo expresé bien.

Desconectado Fer_TACA

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3439
Re:Nivel para líquidos.
« Respuesta #46 en: 20 de Enero de 2019, 18:26:27 »
De momento si te parece seguimos el desarrollo con los 2 sensores y al finalizar cambiamos/modificamos todo lo que se te ocurra.

En cualquier caso para saber el nivel máximo, SIEMPRE tendrás que llenar el tanque, SALVO que sepas el valor de la presión existente para ese caso.

Desconectado manuel gómez

  • PIC16
  • ***
  • Mensajes: 109
Re:Nivel para líquidos.
« Respuesta #47 en: 21 de Enero de 2019, 05:54:11 »
Si, la idea es ir llenando y al llegar al mínimo elegido memorizar este parámetro, esperar a que el depósito llegue al máximo elegido y volver a memorizar.

Desconectado lucegiar2005

  • PIC18
  • ****
  • Mensajes: 447
Re:Nivel para líquidos.
« Respuesta #48 en: 21 de Enero de 2019, 13:58:37 »
Recién regreso y me puse a leer, todavía no a trazar el programa, y en principio se me ocurre que los parámetros de máximo y mínimo se pueden pasar desde ambos presets, los cuales contienen los valores y se leen periódicamente o al inicio del programa, esto es de fácil realización y permite que, ante un reset, el programa no necesite intervención del operador constante. Acá aplica la temporización para modificarlos al iniciar, sin lo cual pasaría automáticamente a la ejecución. Los preset se pueden calibrar para que se modifique el valor según una escala. Así la cosa los valores se cambiarían tras un reset del sistema.
Apenas pueda lo pongo en un programa.
Con esto queda para el sensor la función única de lectura para comparación del valor actual.
- Santiago -

Desconectado Fer_TACA

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3439
Re:Nivel para líquidos.
« Respuesta #49 en: 21 de Enero de 2019, 14:20:51 »
Adjunto el fichero con el añadido de guardar los valores de calibración en la EEPROM.
De este modo al inicio del programa ante un reset o corte de alimentación sino se necesita una nueva calibración (no se activa el interruptor de calibración y por tanto  no necesitaria en este caso la presencia de ningun operador), después de 5sg (ahora, se puede modificar) automáticamente se lee el valor guardado en la EEPROM y el programa continua normalmente.

A partir de ahora, Manuel, ya podemos realizar las correcciones que estimes oportunas. De momento voy a ir cambiando la validación del máximo y mínimo con un solo pulsador.

IMPORTANTE: Recuerda que el programa esta realizado para que entiendas el proceso de realización de un proyecto, pero que este programa se puede optimizar mucho. Eso ya dependerá de ti.

F.
« Última modificación: 21 de Enero de 2019, 14:49:46 por Fer_TACA »

Desconectado manuel gómez

  • PIC16
  • ***
  • Mensajes: 109
Re:Nivel para líquidos.
« Respuesta #50 en: 21 de Enero de 2019, 15:15:18 »
Gracias Fer_TACA, si..., uno de los cambios es utilizar un solo sensor, quizá para mi ese sea el mas importante. De momento y hasta que tu puedas realizar ese cambio voy a estudiar a fondo esta ultima actualización para así poder tener mas conocimiento acerca de como está desarrollado.

Saludos.

Desconectado Fer_TACA

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3439
Re:Nivel para líquidos.
« Respuesta #51 en: 21 de Enero de 2019, 17:16:48 »
Aca ya es tarde.
Esta casi cambiado. Me falta probarlo.
 Mañana lo adjunto.

Desconectado manuel gómez

  • PIC16
  • ***
  • Mensajes: 109
Re:Nivel para líquidos.
« Respuesta #52 en: 21 de Enero de 2019, 17:47:50 »
Gracias Fer_TACA, mañana lo vemos.

Desconectado lucegiar2005

  • PIC18
  • ****
  • Mensajes: 447
Re:Nivel para líquidos.
« Respuesta #53 en: 21 de Enero de 2019, 20:14:06 »
Acá empecé hace un rato pero falta un montón, configuraciones y pulido en general. Veo que es medio como que ya lo tienen en el lazo, pero lo dejo como idea si sirve. Está en Flow 5 porque no he instalado otro.Un abrazo.
- Santiago -

Desconectado manuel gómez

  • PIC16
  • ***
  • Mensajes: 109
Re:Nivel para líquidos.
« Respuesta #54 en: 22 de Enero de 2019, 04:28:39 »
Gracias lucegiar2005 tambien por tu aporte.

Desconectado Fer_TACA

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3439
Re:Nivel para líquidos.
« Respuesta #55 en: 22 de Enero de 2019, 14:51:51 »
Adjunto el fichero de actuación con solo una de las entradas analógicas.
Espero tus comentarios al respecto.


P.D.: Recuerda que todo lo que hace referencia al puerto E está colocado como test y si no lo vas a utilizar al final debes de borrarlo.




Desconectado Fer_TACA

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3439
Re:Nivel para líquidos.
« Respuesta #56 en: 22 de Enero de 2019, 14:53:16 »
Acá empecé hace un rato pero falta un montón, configuraciones y pulido en general. Veo que es medio como que ya lo tienen en el lazo, pero lo dejo como idea si sirve. Está en Flow 5 porque no he instalado otro.Un abrazo.

Gracias Santiago siempre se aprende algo de los demás. Yo también lo voy a revisar.

Desconectado manuel gómez

  • PIC16
  • ***
  • Mensajes: 109
Re:Nivel para líquidos.
« Respuesta #57 en: 22 de Enero de 2019, 17:12:59 »
Hola Fer_TACA, estoy viendo el ultimo archivo y creo que no se puede pedir mas, ahora solo falta llevarlo a físico y ver la realidad del funcionamiento.
Vi que que al memorizar el máximo no lucían todos los leds y he visto que en la pestaña de Visualiza_leds en el puerto C estaba marcado "Utilizar Enmascarado", lo he quitado y ya lucen todos los leds y aquí me gustaría consultarte porque en el "Variable o Valor" la cifra es 240.
 
También quería consultarte sobre algo que no tengo muy claro, y es sobre el switch calibración (PORTA_5) en la simulación si coloco la velocidad al máximo no hace falta tocarlo, ¿es así?

Se me olvidaba preguntarte si con este nuevo archivo podré usar el PIC16F882.
 
Muchas gracias.

Desconectado Fer_TACA

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3439
Re:Nivel para líquidos.
« Respuesta #58 en: 23 de Enero de 2019, 09:44:29 »
Vi que que al memorizar el máximo no lucían todos los leds y he visto que en la pestaña de Visualiza_leds en el puerto C estaba marcado "Utilizar Enmascarado", lo he quitado y ya lucen todos los leds y aquí me gustaría consultarte porque en el "Variable o Valor" la cifra es 240.

Cierto, se me olvido deshabilitar el enmascaramiento que activé para realizar pruebas.
Con respecto al valor de 240 en la variable. Es muy simple cuando seleccionas el puerto completo y en la variable pones "1" no significa que ese valor se transmita a todo el puerto, solo lo hace al primer bit, si pones "2" se encenderá el 2º bit y si colcas la variable a 255 entonces es cuando se activan los 7 bits. Asi que si sea puesto el valor de "240" en la variable es porque se van a activar los 4 bits mas altos del puerto C que se han utilizado para completar los 12 leds a usar= 8 del puerto B+4 del puerto C
Esto tenlo en cuenta porque no está muy bien explicado en el Help y Wiki de Flowcode. Como ejemplo lo siguiente:

Port B (Pins)   7       6      5     4    3   2   1   0
Value          128    64     32    16    8   4   2   1

Port B Value        Pins High
1                            B0
2                            B1
3                            B1 & B0
4                            B2
5                            B2 & B0
6                            B2 & B1
7                            B2, B1 & B0
8                            B3
9                            B3 & B0
....
254                        B7, B6, B5, B4, B3, B2 & B1
255                        B7, B6, B5, B4, B3, B2, B1 & B0 = All of port B



También quería consultarte sobre algo que no tengo muy claro, y es sobre el switch calibración (PORTA_5) en la simulación si coloco la velocidad al máximo no hace falta tocarlo, ¿es así?

Esto es simulación, a mi particularmente ese efecto no me lo hace. Hay que ver y depurar el programa funcionando en realidad. Con la simulación lo único que te aseguras es que el programa está bien estructurado y que los pasos se cumplen de acuerdo a lo pensado. Luego en físico puede haber pequeñas influencias que es preciso depurar.



Se me olvidaba preguntarte si con este nuevo archivo podré usar el PIC16F882.

Perfectamente date cuenta que ahora tienes utilizados: el puerto B completo, 4 pines del puerto C y 3 del puerto A y por tanto te quedan libres 4 pines del puerto C + 2 pines del puerto A pero si utilizas el oscilador interno y no usas la entrada de reset entonces tienes 2 pines mas del puerto A y el pin de reset(pin 1)

Cuando te hice la asignación de señales procure hacerlo con el fin de poder cambiar del 887 al 882 y de que en ambas formas todas las salidas utilizadas (12 leds) quedan en un lado del micro y las entradas (1analogica +3 digitales ) al otro lado del micro. Esto te facilitará el rutado del pcb y si además necesitas mas salidas puedes utilizar las otras 4 del puerto C que aunque están al lado de las entradas, aquellas se encuentra en el borde inferior izquierdo del micro y te sigue facilitando el rutado del mismo.


Bueno ya nos iras contando o consultando cosas nuevas.


F.
« Última modificación: 23 de Enero de 2019, 09:47:24 por Fer_TACA »

Desconectado manuel gómez

  • PIC16
  • ***
  • Mensajes: 109
Re:Nivel para líquidos.
« Respuesta #59 en: 23 de Enero de 2019, 13:36:07 »
Hola Fer_TACA, gracias por explicarme el valor 240 de la variable.

He pasado las salidas del puerto E al puerto C y en la simulación va bien, pero al compilarlo me da Error. Se supera la capacidad disponible de la ROM.

Aunque mañana voy a realizar las pruebas físicas con el 16F887 me gustaría que me aconsejaras de otro Pic de 28 patillas que no sea muy difícil de manipular y entender el tema de los Fuses.

Saludos.