Problema en voltímetro digital

Hola Chicos Les Comento Que He Corregido El Código PbP y en la Simulación Proteus Lcd 20x4 Registran Los Valores Deseados Voltaje Negativo y Voltaje Positivo Fuente Simétrica.
Utilice El Amplificador Operacional Lm358 en Modo Inversor.
Adjunto Simulación Proteus y Código Hex
Utilice Pic 16F877A
espero que sea de agrado :cool:
Gracias Señor Moderador (y)

Alguna Observación o Mejora al Circuito?🤔
Al menos el voltaje negativo no corresponde la medición, difiere según el caso en varios volt en el extremo mas alto.

Captura de pantalla 2023-04-22 174558.jpg

Como no esta el código fuente es lo mas que puedo acotar.
 
Al menos el voltaje negativo no corresponde la medición, difiere según el caso en varios volt en el extremo mas alto.

Ver el archivo adjunto 297837

Como no esta el código fuente es lo mas que puedo acotar.
Considero que tengo mala conexión del Lm337, en la Parte Positiva me registra 27.5V y en la Parte Negativa me registra -26.3V, gracias por la observacion (y)
 
Yo pienso que es mucho microcontrolador para ese proyecto.
Quedaría más compacto con un PIC12F675 o PIC12F683 y controlando la pantalla por I2C
Gracias por su Sugerencia y la seguiré
Sabes tengo problema con el Lm337, solo me esta registrado solo hasta -26V y la parte positiva 27V
será mala conexión del Lm337?:unsure:
 

Adjuntos

  • NO sube Voltaje Negativo Lcd 20x4 (1).jpg
    NO sube Voltaje Negativo Lcd 20x4 (1).jpg
    116 KB · Visitas: 6
¿Sabes? Tengo problema con el LM337, solo me está registrado hasta -26V y la parte positiva 27V
Realiza las correcciones por hardware o por software.
El ajuste final se logra en la retroalimentación del AO, y ahí te recomiendo usar un preset lineal.
¿Será mala conexión del LM337?
Consulta su hoja de datos.


Algo que no me agradaría en un diseño de fuente simétrica basada en un microcontrolador, es lo siguiente:
1.- Que tenga potenciómetros para ajustar la tensión.
2.- Que esté limitada a 1.5 A por usar los LM317/337
3.- Que no tenga ajuste de corriente.
4.- Que carezca de protección. Y aunque los LM317/337 la tengan, no avisan.
5.- Al usar un microcontrolador, todo debería estar controlado por él.
6.- Las letras de una pantalla LCD 16x2 o 4x20 son muy pequeñas, usaría displays de 7 segmentos.
Así que, en conclusión... me iría por el lado de usar una fuente de poder conmutada y así poder controlar todo con el uC.
En este caso te olvidas de potenciómetros y usas PWM.
 
Si solo mirara el esquemático que colocó Ricbevi en su post #21 (haz click) se daría cuenta del error.


Increible que no haya revisado eso. No tiene idea de lo que está haciendo !!!

Salu2.-
Corrigere los errores y además estoy aprendiendo a programar microcontroladores pic y si voy agregar protección a la fuente.
Nadie es perfecto en esta vida y si me equivoque corrigere los errores
 
Sigo estudiando y probé el simulador multisim y realice simulación fuente simétrica Lm317 y Lm317 y entrega Voltaje Positivo 27V y Voltaje Negativo -27V, adjunto imagen.
Esto me quiere decir que tengo mal configurado el transformador en proteus y seguiré estudiando la configuración del transformador en proteus y gracias por las criticas constructivas.(y)
 

Adjuntos

  • Simulacion Fuente Simetrica en Multisim Lm317 y Lm337.jpg
    Simulacion Fuente Simetrica en Multisim Lm317 y Lm337.jpg
    251.8 KB · Visitas: 8
Hola ricbevi ¿Puedes por favor revisar el código fuente?
Adjunto simulación en Proteus, archivo .hex y el código pbp, esto es con el fin de aprender dónde tengo error en programación.
Bueno, gracias y espero tu ayuda.

Editado:
He corregido un error de diseño de la fuente simétrica, me faltaba por usar 7812 y 7912 para alimentar al amplificador operacional LM358, así que el código con las ecuaciones están bien.
Adjunto imagen en simulación de Proteus, y así el que código lo pasaré para usar un PIC12F683 y LCD Serial.
 

Adjuntos

  • Volt Digital 16F877A.zip
    35.6 KB · Visitas: 14
  • Corregido Error  de Diseño Fuente S.png
    Corregido Error de Diseño Fuente S.png
    542 KB · Visitas: 11
Última edición por un moderador:
Hola ricbevi ¿Puedes por favor revisar el código fuente?
Adjunto simulación en Proteus, archivo .hex y el código pbp, esto es con el fin de aprender dónde tengo error en programación.
Bueno, gracias y espero tu ayuda.

Editado:
He corregido un error de diseño de la fuente simétrica, me faltaba por usar 7812 y 7912 para alimentar al amplificador operacional LM358, así que el código con las ecuaciones están bien.
Adjunto imagen en simulación de Proteus, y así el que código lo pasaré para usar un PIC12F683 y LCD Serial.
Me alegro que tu solo encontraste una respuesta a tu consulta, lamentablemente en el día de ayer estuve abocado a otros menesteres que no me permitieron participar tan asiduamente como es habitual.

Algo para que pienses en la implementación y que no es critico en este proyecto en especial pero en uno complejo puede ser de vital importancia para no perder el tiempo de procesamiento en tareas inútiles, es solo mandar al display la información, si esta cambió con respecto a la que anteriormente se envió y no mandar data que ya esta en este.

El uso de OA rail to rail(el LM358 no lo es) cuando uno usa ese tipo de circuitos puede ser una opción a considerar para no tener que usar mas menos 12V en la alimentación.

El archivo se simulación que adjuntaste creo que es el anterior porque no esta la fuente simétrica. Cuando implementes reformas, guárdalo con el nombre mas versión 1,2, etc. para poder identificarlas.

Revisa el adjunto.

Saludos.
 

Adjuntos

  • Volt Digital 16F877A_Rail.zip
    33.7 KB · Visitas: 10
Última edición:
Me alegro que tu solo encontraste una respuesta a tu consulta, lamentablemente en el día de ayer estuve abocado a otros menesteres que no me permitieron participar tan asiduamente como es habitual.

Algo para que pienses en la implementación y que no es critico en este proyecto en especial pero en uno complejo puede ser de vital importancia para no perder el tiempo de procesamiento en tareas inútiles, es solo mandar al display la información, si esta cambió con respecto a la que anteriormente se envió y no mandar data que ya esta en este.

El uso de OA rail to rail(el LM358 no lo es) cuando uno usa ese tipo de circuitos puede ser una opción a considerar para no tener que usar mas menos 12V en la alimentación.

El archivo se simulación que adjuntaste creo que es el anterior porque no esta la fuente simétrica. Cuando implementes reformas, guárdalo con el nombre mas versión 1,2, etc. para poder identificarlas.

Revisa el adjunto.

Saludos.
Muchas gracias por su mensaje y revisaré el adjunto enviado, es cierto la anterior simulación no está la fuente simétrica para alimentar el amplificador operacional lm358 y esa era mi error lo cual lo he corregido y mil gracias de nuevo (y)

Sabes, el archivo adjunto enviado no lo puedo abrir por que la versión de proteus uso la versión 13.0, me imagino que usa una versión superior a la 13.0 de proteus? o como puedo abrir el el archivo adjunto?:unsure:
 
Siguiendo los consejos de uno de los moderadores he cambiado el PIC 16F877a y use el PIC 16F690, tuve que hacer unos cambios en el código
fuente, adjunto imagen. :cool:
 

Adjuntos

  • Vol Digital con Pic 16F690 y Lcd 20x4.jpg
    Vol Digital con Pic 16F690 y Lcd 20x4.jpg
    236.1 KB · Visitas: 12
Siguiendo los consejos de uno de los moderadores he cambiado el PIC 16F877a y use el PIC 16F690
Yo me refería a usar un microcontrolador más pequeño, que fuera utilizado al máximo.
No tiene caso cambiar de microcontrolador por otro más pequeño pero que de igual forma no se está usando al máximo.

Yo me refería a esto:
Voltímetro I2C con PIC12F683.png

Microcontrolador de 8 pines trabajando a 8 Mhz con oscilador interno, usando dos canales ADC y dos pines para el bus I2C, más otro para poder encender la retroiluminación de la pantalla 20 x 4 cuando sea necesario, ah, y el reset, que puede ser excluido para usarse en otra función, por ejemplo, echarse a dormir.
Muchas cosas se pueden hacer y tratando de aprovechar el microcontrolador al máximo.

En los diseños electrónicos siempre se debe pensar qué microcontrolador será el adecuado para nuestro proyecto.
No es conveniente usar un microcontrolador con 4 puertos de los cuales solo vamos a usar 2 y parte de uno solo 2 bits.

Y este diseño solo se basa en monitorear una fuente análoga, lo que yo sugerí era controlar una fuente conmutada por PWM basada en conversores DC-DC, no es nada complejo y así todo sería controlado por el microcontrolador, tal cual lo expuse.

No aparece la parte adaptadora de tensiones al microcontrolador porque eso se supone que es aparte de lo que viene siendo esta parte del proyecto.
Y eso dependerá de las tensiones a medir, que igualmente deben ser modificadas por software.
En este caso, de -30 V hasta +30 V.

Les comparto el proyecto escrito en C, ya que hacerlo en Basic me dio flojera. 😄
Escribirlo en C con PIC C Compiler de CCS solo me llevó unos 25 minutos. :love:

Notas:
El sistema inicia con la retroilumicación de la pantalla encendida por un tiempo de 30 segundos, tras este periodo, se apagará.
Para volverla a encender se requiere presionar el botón "BLON" y nuevamente se activará por otros 30 segundos.
Esto obviamente se puede modificar en el programa, basado en un timer con desborde de 100 mS.
* Va comentado en los sectores importantes. (Muy pequeño el programa, aunque requirió un 44 % de RAM y un 78 % de ROM)
Justo y perfecto para el propósito. :cool:

La librería usada para el control de la pantalla LCD 20 x 4 vía I2C no es de mi autoría y se sube tal cual, con mención del autor.
 

Adjuntos

  • 12F683 Voltímetro LCD I2C.rar
    40 KB · Visitas: 7
Yo me refería a usar un microcontrolador más pequeño, que fuera utilizado al máximo.
No tiene caso cambiar de microcontrolador por otro más pequeño pero que de igual forma no se está usando al máximo.

Yo me refería a esto:
Ver el archivo adjunto 298616

Microcontrolador de 8 pines trabajando a 8 Mhz con oscilador interno, usando dos canales ADC y dos pines para el bus I2C, más otro para poder encender la retroiluminación de la pantalla 20 x 4 cuando sea necesario, ah, y el reset, que puede ser excluido para usarse en otra función, por ejemplo, echarse a dormir.
Muchas cosas se pueden hacer y tratando de aprovechar el microcontrolador al máximo.

En los diseños electrónicos siempre se debe pensar qué microcontrolador será el adecuado para nuestro proyecto.
No es conveniente usar un microcontrolador con 4 puertos de los cuales solo vamos a usar 2 y parte de uno solo 2 bits.

Y este diseño solo se basa en monitorear una fuente análoga, lo que yo sugerí era controlar una fuente conmutada por PWM basada en conversores DC-DC, no es nada complejo y así todo sería controlado por el microcontrolador, tal cual lo expuse.

No aparece la parte adaptadora de tensiones al microcontrolador porque eso se supone que es aparte de lo que viene siendo esta parte del proyecto.
Y eso dependerá de las tensiones a medir, que igualmente deben ser modificadas por software.
En este caso, de -30 V hasta +30 V.

Les comparto el proyecto escrito en C, ya que hacerlo en Basic me dio flojera. 😄
Escribirlo en C con PIC C Compiler de CCS solo me llevó unos 25 minutos. :love:

Notas:
El sistema inicia con la retroilumicación de la pantalla encendida por un tiempo de 30 segundos, tras este periodo, se apagará.
Para volverla a encender se requiere presionar el botón "BLON" y nuevamente se activará por otros 30 segundos.
Esto obviamente se puede modificar en el programa, basado en un timer con desborde de 100 mS.
* Va comentado en los sectores importantes. (Muy pequeño el programa, aunque requirió un 44 % de RAM y un 78 % de ROM)
Justo y perfecto para el propósito. :cool:

La librería usada para el control de la pantalla LCD 20 x 4 vía I2C no es de mi autoría y se sube tal cual, con mención del autor.

Yo apenas estoy aprendiendo a programar en Pbp, el lenguaje C de CCS aun no lo manejo y espero aprenderlo también y lo que menciona me falta mucho por aprender y no soy tan experto como vos y espero serlo también como vos (y).

Serás tan amable si es posible o no por favor de revisar el código fuente en pbp, ya que los decimales son diferentes, es decir 12.57V positivo y -12.64 negativo, adjunto imagen .
Sera las ecuaciones que tengo mal calculadas, :unsure:
Gracias de nuevo.
 

Adjuntos

  • Decimales diferentes en fuente simetrica.jpg
    Decimales diferentes en fuente simetrica.jpg
    274.2 KB · Visitas: 9
Última edición por un moderador:
Atrás
Arriba