Voltímetro con el ADC del PIC

Estado
Cerrado para nuevas respuestas.
Quiero modificar el programa de D@rkbytes de cátodo común a ánodo común y me quedé acá. No me funciona bien. ¿Qué es lo que estoy haciendo mal?
Cambia la rutina para multiplexar los displays por esta otra:
PHP:
      output_b(0xFE);   // Activar display 1 y desactivar display 2 y 3
      output_c(tabla_7segs[display[3]]);  // Mostrar unidades.
      delay_ms(1);   // Retardo para mostrar las unidades.
      output_b(0xFD);   // Activar display 2 y desactivar Display 1 y 3
      output_c(tabla_7segs[display[2]]);  // Mostrar decenas.
      delay_ms(1);   // Retardo para mostrar las decenas.
      output_b(0xFB);   // Activar display 3 y desactivar Display 1 y 2
      output_c(tabla_7segs[display[1]]);  // Mostrar las centenas.
      output_low(punto);  // Apagar el punto.
      delay_ms(1);   // Retardo para mostrar las centenas.
      output_b(0xF7);
      output_c(tabla_7segs[display[0]]);  // Mostrar los millares.
      output_high(punto);   // Encender el punto.
      delay_ms(1);
PD:
Ya encontré la forma para mejorar la transición de los decimales.
 
¿Los transistores coloco PNP y el resto lo dejo igual que en la simulación?

Consulta: ¿Cómo controlo por PWM un mosfet para hacer una fuente?
 
Última edición por un moderador:
Si. Pero recuerda que ahora debes colocar los emisores hacia positivo y los colectores hacia los ánodos de los displays.

La segunda pregunta no la entendí. ¿Podrías explicarlo mejor?
 
Última edición:
Estoy haciendo una fuente pequeña le voy a colocar el voltimetro con display de 7 segmentos y queria controlar con el pic un transistor para hacer la fuente y subir y bajar el voltaje con dos pulsadores no se si se puede. Saludos
 
Para lo que quieres hacer se necesita algo más complejo, porque el voltaje a la salida del transistor será pulsante y no te servirá como fuente de corriente continua.
Mira este enlace en donde se muestra como hacer una fuente de poder digital.
 
ok si es pulsante podría poner un mosfet, también pienso como llegar a los 18 volt ya que con el pic solo saldría 5 volt como máximo tendría que amplificar con un operacional mmmm bastante complicado para mi , saludos
 
hola me regalaron un lcd gdm12864h un lcd grafico es muy difícil pasar el programa del voltimetro con lcd a este lcd y hacerlo con caracteres grandes , saludos
 
Hola callecuatro1976

En el Código hay algo por mejorar. Se trata del nombre que le das a una variable.
Aunque esto parece no solucionar el problema pero en el Display ya se ve algo.

saludos
a sus ordenes
 

Adjuntos

  • Sin Título.jpg
    Sin Título.jpg
    51 KB · Visitas: 44
Ya lo mejoré un poco. Pude tomar las dos mediciones, pero me parpadea la pantalla. ¿Qué puede ser?
 

Adjuntos

  • 128x64.rar
    57.9 KB · Visitas: 64
Última edición por un moderador:
Ya encontré la forma para mejorar la transición de los decimales.
Aquí adjunto el programa con los cambios para lograr una lectura más estable.

Mejoras realizadas:

  1. ADC a 16 Bits.
  2. Uso del Timer 1 para realizar la lectura del conversor.
  3. Voltaje de referencia externo en 2.5 V. con un C.I. TL431.
Notas:
Proyecto probado y funcionando físicamente con 4 displays de cátodo común.
Si se desea usar displays de ánodo común, en posts anteriores de ha dicho como realizar el cambio.
 

Adjuntos

  • Esquema Voltímetro displays CC.jpg
    Esquema Voltímetro displays CC.jpg
    140 KB · Visitas: 105
  • 16F887 Voltímetro 4 Displays CC v1.1.rar
    32.6 KB · Visitas: 120
Hola callecuatro1976

Tal vez parpadea la pantalla porque el código le faltan algunas mejoras.
Viste los Avisos que se generan al correr la simulación ??

Hice algunos cambios en tu código y reacomodé todo en la simulación de ISIS de Proteus.
Yo no se mucho de programación pero Tú, de alguna manera, debes modificar tu código para que no se borren los letreros Volts y Ampers en el Display. Tan solo borra las lecturas anteriores e imprime las nuevas, no importa que tengan el mismo valor.

Te adjunto tu código y el archivo de ISIS de Proteus Modificados.

saludos
a sus ordenes
 

Adjuntos

  • Avisos.jpg
    Avisos.jpg
    105.1 KB · Visitas: 54
  • LCD128x64.PDF
    64.4 KB · Visitas: 57
  • M 150 Corregido.zip
    15.1 KB · Visitas: 72
Una consulta arme el voltimetro lcd y funciona bien uso el lcd gdm1602a y anda perfecto ahora quiero usar el gdm1602s de caracteres grande y solo me muestra una línea y todos los cuadraditos y nada mas que puede ser
 
Una consulta arme el voltimetro lcd y funciona bien uso el lcd gdm1602a y anda perfecto ahora quiero usar el gdm1602s de caracteres grande y solo me muestra una línea y todos los cuadraditos y nada mas que puede ser

Hola...Generalmente eso indica una falta de conexión con el micro-controlador. Puede ser por error de conexiones o por incompatibilidad de algún tipo. Aparentemente son similares.
Saludos.

Ric.
 
Aquí adjunto el programa con los cambios para lograr una lectura más estable.

Mejoras realizadas:

  1. ADC a 16 Bits.
  2. Uso del Timer 1 para realizar la lectura del conversor.
  3. Voltaje de referencia externo en 2.5 V. con un C.I. TL431.
Notas:
Proyecto probado y funcionando físicamente con 4 displays de cátodo común.
Si se desea usar displays de ánodo común, en posts anteriores de ha dicho como realizar el cambio.

el 16F887, ¿no tiene un ADC de 10bits de máxima resolución?
 
consulta estoy pasando el voltímetro a un lcd de 1 línea y me escribe solo la mitad 8 caracteres??? porque es eso

Hola...Puede ser problema de compatibilidad de como trata el compilador la linea y el LCD que estas usando...alguna ves tuve ese tipo de problemas y lo considere como si fuera de dos lineas de 8 caracteres cada una y funciono.
Saludos.

Ric.
 
si es asi hay que hacerlo como si fuera de dos líneas, el que no puedo hacer andar el el de carácter grande no le encuentro la vuelta es un gdm1602s de xiamen ocular. saludos
 
consulta estoy armando el voltímetro de 7 segmentos ánodo común con la rutina de darkbytes y en el simulador me funciona pero cuando armo en la placa se ven todos 8888 y muy rápido como muestro mas lenta la lectura, gracias por el tiempo
 
Estado
Cerrado para nuevas respuestas.
Atrás
Arriba