Instrumento de medición para fuentes


Este proyecto se trata de un medidor destinado a utilizarse en fuentes de alimentación, ya que es el uso mas frecuente, pero se podría usar simplemente como multímetro externo.
Es un medidor que nos proporciona el valor de Tensión, Corriente y Potencia de una carga para tensión continua.
Los parámetros eléctricos para los cuales fue diseñado este dispositivo son de 0 a 30Vdc y de 0 a 3Adc, lo cual nos sera de utilidad para casi cualquier proyecto de laboratorio de electrónica.
El dispositivo posee como corazón un microcontrolador PIC16F883, pero podría cambiarse por algún otro microcontrolador con el mismo pinout.
En nuestro desarrollo utilizamos dos canales ADC a 10bit de resolución, uno para la medición de tensión y otro para la medición de corriente, donde luego se realiza el producto de ambos para obtener la potencia.
En el caso de la tensión se ha utilizado un divisor resistivo para garantizar un fondo de escala a 5V en la entrada del ADC cuando la medición sea de 30V en las puntas.
En el caso de la corriente se ha utilizado un amplificador operacional ya que se implementa como shunt una resistencia cerámica de 0.33Ohm 5W, debido a que el fondo de escala (3A) sera la corriente que circula por esta resistencia y la caída en la misma sera de 999mV, se debe amplificar para que este fondo de escala se convierta en 5V.
Esta idea de reducir y amplificar la señal, o bien, re-acondicionar la señal, se utiliza para aprovechar al máximo la resolución del ADC interno del microcontrolador, ya que si solo usáramos de 0 a 1V en el caso del amperímetro, estaríamos desaprovechando 4/5 del ADC y los saltos entre valores serian demasiado grandes.
Como protección de los dos canales ADC, se utiliza un diodo zener de 5V1.
El firmware es sencillo, simplemente debe leer los ADC y luego debe realizar la conversión matemática de compensación del atenuador (en el caso del voltímetro) y del amplificador (en el caso del amperímetro).
Se ha incorporado una función para calcular la media o promedio de mediciones, este proceso aumenta la estabilidad de medición en los dígitos menos significativos.






#include <16F883.h>
#device adc=10
#use delay(int=4000000)
#include <LCD.C>
void main(){
   setup_adc_ports(sAN0|sAN1|VSS_VDD);
   setup_adc(ADC_CLOCK_DIV_2);
   lcd_init();
   int i;
   int16 vecCorr[10], vecVolt[10];
   int16 auxCorr=0, auxVolt=0;
   int16 currentADC, voltajeADC;
   float current, voltaje, power;
   while(TRUE){
      for(i=0;i<10;i++){
         set_adc_channel(0);
         delay_us(200);
         currentADC=read_adc();
         vecCorr[i]=currentADC;
         set_adc_channel(1);
         delay_us(200);
         voltajeADC=read_adc();
         vecVolt[i]=voltajeADC;
      }
      auxCorr=0;
      auxVolt=0;
      for(i=0;i<10;i++){ 
         auxCorr=vecCorr[i]+auxCorr;
         auxVolt=vecVolt[i]+auxVolt;
      } 
      delay_ms(500);
      current=(5.0*(auxCorr/10)/1023.0)/1.6665;
      voltaje=((5.0*(auxVolt/10)/1023.0)/0.151)-(current/10);
      power=voltaje*current;
      lcd_gotoxy(1,1);
      if(voltaje>9.999)
         printf(lcd_putc," %02.2fV %02.3fA ",voltaje,current);
      else
         printf(lcd_putc,"  %02.2fV %02.3fA",voltaje,current);
      lcd_gotoxy(1,2);
      if(power>9.999)
         printf(lcd_putc,"     %02.2fW      ",power);
      else
         printf(lcd_putc,"      %02.2fW     ",power);
   }
}




105 comentarios:

  1. Excelente tu trabajo, una pregunta es muy complicado reprogramar el pic para que llegue a 5 ampers, es que yo no tengo ni idea de programacion de pic?. Saludos y gracias.

    ResponderBorrar
    Respuestas
    1. Si, de echo podes circularle 5A, lo que sucede es que en lugar de caer 1V en la R de 0R33, van a caer 1,66V, pero con el ajuste del segundo amplificador operacional se puede calibrar, tenes que medir corriente con otro amperimetro como patron de calibracion asi calibras este.
      Saludos.

      Borrar
    2. Y lo puedo ocupar con un arduino uno
      Y si es haci tendria que cambiar algo de la progrmacion.
      Soy nuevo en estoy de la programacion agradeceria su ayuda.
      Saludos

      Borrar
    3. Ola boa noite , qual compilador foi usado para compilar esse codigo ?

      Borrar
  2. Muchas gracias por responderme, saludos y feliz año!!!

    ResponderBorrar
  3. Hola estoy armando una fuente, quisiera saber si se puede utilizar el pic16f628a para realizar este proyecto, ya que en la linea 7 me da error, saludos.

    ResponderBorrar
    Respuestas
    1. Hola, el problema con el 16f628A es que no posee ADC, es el modulo indispensable para este proyecto ya que se basa en la medición de parámetros analógicos.
      Podrías usar otro MCU que no sea el 16F883, pero que tenga ADC.
      Saludos.

      Borrar
  4. Gracias por responder y solucionar mi problema, lo he cambiado por el 16f88 y va joya el programa...

    ResponderBorrar
  5. Hola Sebastian.. disculpa, una consulta... en la imagen del PCB se ve la conexión al Cristal pero en el esquemático no esta y bueno en el programa marca el OSC interno.

    ResponderBorrar
    Respuestas
    1. Hola buen día, es correcto, lo que sucede que en las pruebas también use otros micros y digamos que el PCB quedo con la opción de usar o no el cristal, entonces se lo termine dejando por si alguien quiere aumentar la frecuencia y demás.
      Saludos.

      Borrar
  6. Saludos, podria indicarme que programa usa para compilar? Ya que quiero usar un PIC16F877a

    ResponderBorrar
    Respuestas
    1. Hola este programa esta realizado en C bajo el compilador CCS, podes buscar cualquier IDE que soporte CCS, en este caso yo estoy usando PCWH.
      http://www.ccsinfo.com/ccsfreedemo.php
      Saludos!

      Borrar
    2. Gracias por su respuesta, Oiga trata de compilar en el MikroC y me arroja error en varias lineas e igual en compilerC.

      Borrar
    3. Hola como estas?, el programa esta compilado con CCS no con MikroC, por lo que no te va a compilar nunca con MikroC, tenes que usar el compilador CCS.
      Saludos.!

      Borrar
  7. Hola sebastian te cuento tengo pensado usar una fuente ATX la salida de 12v que me entrega 20A max. 240w con el siguiente circuito "Fuente SMPS (Switching Mode Power Supply) con SG3524" para obtener los voltages +30 /-30 3A 180W y poder ajustarla con este circuito que propusiste puedo usar dos de estos sin problemas uno para el voltage positivo y otro para el negativo?

    ResponderBorrar
    Respuestas
    1. Hola, si, podes. El problema es que vas a tener que usar un amplificador operacional inversor (alimentado con +/-12V) para que invierta 180° la señal y puedas medir sin problemas ya que no podes poner una tension negativa en un ADC.
      Saludos.

      Borrar
  8. hola gastie muito do projeto eu posso usa esse cod para uma fonte de 12 vots por 200aperes automotiva. muito obrigando

    ResponderBorrar
    Respuestas
    1. Olá, esta montagem é de baixa potência e corrente, você precisa montar uma rede isolada com uma alça isolados de energia sensor de corrente. Saudações.

      Borrar
  9. AMIGO EU TO QUERENDO USA UM PROJETO PARA UMA FONTE AUTOMOTIVA DE 12 VOTS ´POR 200 APERES COMO FAÇO UM PROJETOR DESSE ESSE PROJETOR SERVE. BAO TARDE

    ResponderBorrar
  10. AMIGO EU TO QUERENDO USA UM PROJETO PARA UMA FONTE AUTOMOTIVA DE 12 VOTS ´POR 200 APERES COMO FAÇO UM PROJETOR DESSE ESSE PROJETOR SERVE. BAO TARDE

    ResponderBorrar
    Respuestas
    1. Olá, ele está servindo, mas note que você precisa shunt alta atual Tene ONU para senti-los 200A. Saudações.

      Borrar
  11. Buenas como hago para pasarlo al 16f877a

    ResponderBorrar
    Respuestas
    1. Tenes que cambiar 3 lineas:

      #include <16F883.h> ----> #include <16F877A.h>
      .
      #use delay(int=4000000) ----> #use delay(clock=4000000)
      .
      setup_adc_ports(sAN0|sAN1|VSS_VDD); ----> setup_adc_ports(all_analog);

      Tene en cuenta que el 16F877A lleva clock externo (el cristal con los capacitores).

      Saludos!

      Borrar
  12. buenas disculpa pero lo necesito como hago para poder medir 10 amper ya lo cambie para el 16f877 pero no entiendo bien la parte del operacional

    ResponderBorrar
    Respuestas
    1. Hola, tendrías que poner dos resistencias de 0.1R 5W en paralelo, para obtener 0.05R 10W, con ella vas a poder medir 10A sin problemas, ya que 10A en 0.05R son 5W de disipación y vas a obtener una caída de tensión de 500mV a 10A, por lo que el Amplificador Operacional tiene que amplificar x10 para obtener 5V a fondo de escala. Tendrías que cambiar la resistencia de 2k7 que esta junto a un preset por una de 10k.
      Luego en el programa cambiar esta linea: current=(5.0*(auxCorr/10)/1023.0)/1.6665;
      Por esta otra linea: current=(5.0*(auxCorr/10)/1023.0)*2;, ejemplo si tenes un consumo de 5A, en la R de 0.05R caerán 250mV, en el amplificador sera x10, quedando 2.5V y al multiplicarlo por 2, nos mostrara 5A.
      Saludos.

      Borrar
  13. muchisimas gracias y saludos disculpa las molestias ahora lo pruebo cualquier cosa te comento.

    ResponderBorrar
  14. una ultima consulta las resistencias entonces son de una decima de ohm?

    ResponderBorrar
    Respuestas
    1. Hola, si, la resistencias son de 0.1 Ohms, en paralelo dará 0.05Ohms Que es lo mismo que 50mOhms

      Saludos.

      Borrar
  15. buenas soy yo de nuevo te consulte para 10 amper tengo el problema que la caida de voltaje en las resistencias es de 0.5 v pero a tope me sale 7.5 amper no se si hay que usar otro operacional o cambiar el codigo

    ResponderBorrar
    Respuestas
    1. Hola, podes corroborar esto con otro instrumento a modo patrón de calibración?, es decir, poner un amperímetro externo a este circuito y corroborar que están circulando 10A y en este circuito lees 7.5A?.
      Igual... podes medir tensión con el voltimetro sobre la resistencia de shunt y por ley de ohm (conoces el valor de la resistencia) I=V/R, la tensión que lees sobre el valor de la R, te va la corriente que circula.

      Borrar
  16. lo que mas creo que es es el calculo de la formula ya que al poner el zener se limita a 7 y pico amperios . te agradeceria una orientacion

    ResponderBorrar
    Respuestas
    1. Hola, el zener en la entrada del MCU es para que no pases de 5V sino quemas el microcontrolador, al microcontrolador no le llega "corriente" sino tensión, le llega un valor entre 0 y 5V. Este valor viene del operacional que amplifica la tensión que mide en la resistencia de shunt. Si tenes una resistencia de 0.05 Ohms y circulan 7.5A por ella, entonces vas a tener una caída de tensión de V=I*R=7.5A*0.05R=0.375V en la resistencia, luego pasa por el amplificador (cambiando el preset de 2k7 por uno de 10k) tendrías una ganancia de hasta 10 veces, osea en la salida tendrían 3.75V. Estas usando el valor de 0.05R (dos R de 0.1 en paralelo) o estas usando otro valor?, estas usando el preset de 2k7 o uno de 10k en el amplificador operacional?, tene en cuenta que el amplificador operacional esta alimentado con 5V por lo que nunca te va a dar mas que ello (lo comento por lo que me decís de los 7V y el zener).

      Borrar
  17. exactamente amigo el problema era la alimentacion del operacional .!! luego de ccambiar eso ya me funciono ...
    ahora quisiera preguntarte otra cosa . yo programo con el mini pro programer tl86cc . y puedo borrar los pic 16f877a y 16f648a . en el 877 una vez grabe y ando cuando quise volver a grabarlo me sale este error "error data addres_:0x000000 buff_valor:0xFF ic_val:0x10" y con el 16f648a que nunca lo grabe ni nada a la primera vez me sale lo mismo y no termina de quemarlo .

    ResponderBorrar
    Respuestas
    1. Hola, si a veces da ese error, usualmente es cuando el microcontrolador esta en mal estado, y ya esta inservible, pero en otros casos puede ser algún mal conexionado en el programador y el micro, lo que yo hago es probar con otro micro, si anda bien, entonces ya la culpa sera del microcontrolador en mal estado.
      Saludos.

      Borrar
  18. Este comentario ha sido eliminado por el autor.

    ResponderBorrar
  19. Este comentario ha sido eliminado por el autor.

    ResponderBorrar
  20. buenas te puedo preguntar de donde sacas la formula de corriente y tension el 1.665 y el 0.151

    ResponderBorrar
    Respuestas
    1. Hola, esas constantes salen en el caso de la corriente, es factor de multiplicación que sale del amplificador operacional ya que se esta amplificando la caída de tensión en el shunt para aprovechar el rango de medición del ADC.
      En el caso de la tensión es porque se esta atenuando la tensión de medición con una red resistiva, por ello hay que compensar esas dos variables.
      Saludos

      Borrar
  21. a mi no me funciona, estoy usando un pic 18f2550 y cambien
    #include <16F883.h> ----> #include <18F2550.h>
    .
    #use delay(int=4000000) ----> #use delay(clock=20M)
    .
    setup_adc_ports(sAN0|sAN1|VSS_VDD); ----> setup_adc_ports(all_analog);

    y agregue el #fuses XT
    y nada que me funciona en lo real, que puedo hacer?

    ResponderBorrar
    Respuestas
    1. Este comentario ha sido eliminado por el autor.

      Borrar
    2. Hola, te posteo el programa para el 18F2550:

      #include <18F2550.h>
      #device adc=10
      #use delay(crystal=20000000, clock=5000000)
      #include
      void main(){
      setup_adc_ports(AN0_TO_AN1|VSS_VDD);
      setup_adc(ADC_CLOCK_DIV_2);
      lcd_init();
      int i;
      int16 vecCorr[10], vecVolt[10];
      int16 auxCorr=0, auxVolt=0;
      int16 currentADC, voltajeADC;
      float current, voltaje, power;
      while(TRUE){
      for(i=0;i<10;i++){
      set_adc_channel(0);
      delay_us(200);
      currentADC=read_adc();
      vecCorr[i]=currentADC;
      set_adc_channel(1);
      delay_us(200);
      voltajeADC=read_adc();
      vecVolt[i]=voltajeADC;
      }
      auxCorr=0;
      auxVolt=0;
      for(i=0;i<10;i++){
      auxCorr=vecCorr[i]+auxCorr;
      auxVolt=vecVolt[i]+auxVolt;
      }
      delay_ms(500);
      current=(5.0*(auxCorr/10)/1023.0)/1.6665;
      voltaje=((5.0*(auxVolt/10)/1023.0)/0.151)-(current/10);
      power=voltaje*current;
      lcd_gotoxy(1,1);
      if(voltaje>9.999)
      printf(lcd_putc," %02.2fV %02.3fA ",voltaje,current);
      else
      printf(lcd_putc," %02.2fV %02.3fA",voltaje,current);
      lcd_gotoxy(1,2);
      if(power>9.999)
      printf(lcd_putc," %02.2fW ",power);
      else
      printf(lcd_putc," %02.2fW ",power);
      }
      }

      Borrar
  22. Hola como podría hacer para medir voltaje negativo ya que en el adc no me tomará negativo

    ResponderBorrar
    Respuestas
    1. Hola, asi como esta no porque la tensión entra directamente (atenuada) al ADC, lo que tendrías que hacer es agregar una etapa intermedia con amplficador operacional como diferencial, y ahí no importaría si es negativa o positiva la tensión ya que mediría el delta o la diferencia de potencial.
      Saludos.

      Borrar
  23. Este comentario ha sido eliminado por el autor.

    ResponderBorrar
  24. Hola, tengo un divisor de tensión y en el lcd solo me muestra voltaje=0,es decir, varío el potenciómetro y no muestra algo distinto en el display, qué hace falta o en qué estoy fallando gracias.

    #include <16lf1786.h>
    #device adc=12
    #fuses XT,NOWDT
    #fuses
    #use delay(clock=4000000)
    #define LCD_ENABLE_PIN PIN_B3
    #define LCD_RS_PIN PIN_B1
    #define LCD_RW_PIN PIN_B2
    #define LCD_DATA4 PIN_B4
    #define LCD_DATA5 PIN_B5
    #define LCD_DATA6 PIN_B6
    #define LCD_DATA7 PIN_B7

    #include

    void main()
    {
    int16 q;
    float p;
    setup_adc_ports(sAN0);
    setup_adc(ADC_CLOCK_INTERNAL);
    lcd_init();

    for(;;)
    {
    set_adc_channel(0);
    delay_us(100);
    q=read_adc();
    p=5.0*q/4096.0;
    printf(lcd_putc, "\nVoltaje=%01.2fV",p);
    delay_ms(100);
    }


    }

    ResponderBorrar
    Respuestas
    1. Es raro deberia andar, dejame ver cuando llego a casa la simulacion porque no tengo ese MCU para probarlo.
      Saludos.

      Borrar
  25. buenas sebastian soy jose de caracas venezuela me podras ayudar con esta pregunta meservira la pantalla lcd nuemro (TM161ADA6) GRACIAS POR TU RESPUESTA

    ResponderBorrar
    Respuestas
    1. Hola habría que ver el datasheet para ver que comandos y registros tiene. Si es compatible con el controlador Hitachi HD44780 entonces no hay problema, si no es compatible hay que hacer una biblioteca distinta que lo controle. Saludos.

      Borrar
  26. disculpa si me podrias proporcionar el PDF de la placa por favor

    ResponderBorrar
  27. si me podrias poner el link por favor es q no lo encuentro

    ResponderBorrar
  28. DISCULPA ME PODRIAS DECIR DONDE PUEDO DESCARGAR LA LIBRERIA DEL PIC16F883

    ResponderBorrar
    Respuestas
    1. Hola, deberia estar en el mismo ide donde estas compilando el codigo, yo estoy usando PCWHD de PIC C compiler. es CCS.
      Saludos

      Borrar
  29. Hola, donde puedo descargar el diseño..saludos y gracias

    ResponderBorrar
  30. Hola que tal! Antes que nada muy buen proyecto y muchas gracias por compartirlo. Te hago una consulta. ¿Cuáles serían las modificaciones que tengo que hacerle al programa para utilizar un PIC16F1826 usando un cristal externo de 4[MHz]?. Desde ya muchas gracias por tu respuesta! Saludos!

    ResponderBorrar
    Respuestas
    1. Hola básicamente la configuración esta en los fuses del micro, pero si ya venís usando el 1826 seguí usando tu configuración actual y el programa debería andar en ese también, fíjate los pines tal vez tengas que re-ordenarlos pero nada mas. Saludos.

      Borrar
  31. buenas como están gracias por compartir estos conceptos tan valioso para los que apenan estan en el tema muchas gracias quisiera que me ayudaran entiendo muy bien el concepto para medir voltaje lo tengo con división de tensión (((pero no entiendo como medir el amperaje de 0a 5a o 0a a 30a como le mando esta datos al pic que quiero programar muchas gracias))).

    ResponderBorrar
  32. que tal amigo, es un proyecto, disculpa las molestias pero te agradecería mucho si me pudieras parar el PDF donde viene las pistas para poder hacerlo

    ResponderBorrar
    Respuestas
    1. Hola! como estas, te dejo el enlace con todos los archivos incluido el PDF del PCB.
      https://sites.google.com/site/electgpl/storage/Instrumento%20de%20Medicion%20para%20Fuentes.zip?attredirects=0&d=1

      Saludos!

      Borrar
  33. Hola Sebastian.
    Muchas grasias por tu informacion. Lo intentare...
    Saludos.

    ResponderBorrar
  34. buenas hola amigo puedo cambiar la pantalla lcd por display 7 segmento? puede influenciar en los códigos esa modificación. quedare atento asu respuesta.

    ResponderBorrar
    Respuestas
    1. Hola!, si se puede, lo que sucede es que no lo hice con display de 7 segmentos porque aquí en el LCD se esta mostrado tensión, corriente y potencia, entonces eran demasiados dígitos, posiblemente mas costoso y requiera mas espacio que un LCD. Pero se puede, lo que habría que hacer para que sea mas sencillo el código es usar módulos de display de 7 segmentos con controlador serial. Por ejemplo con MAX7291, 74HC595, etc... Saludos.

      Borrar
  35. Hola Sebastian.

    Me podrías recomendar un circuito para controlar el factor de potencia.

    ResponderBorrar
    Respuestas
    1. Hola como estas?, controlar o medir el FP?
      Porque para controlar depende que carga tengas, si tenes una fuente podes usar un corrector electronico de factor de potencia, si tenes una carga inductiva de potencia podes usar bancos de capacitores automaticos. Depende que quieras hacer.
      Si es solo medidor, podes medir cruce por cero de corriente, cruce por cero de tension, y medir el tiempo entre esos dos cruces, sabiendo ese tiempo podes saber la separacion entre ambas señales que a su vez sera tambien el angulo de desfasaje y el factor de potencia medido, eso lo podes hacer con un microcontrolador.
      Saludos

      Borrar
  36. Hola, te agradezco mucho por tu información. Me podrías explicar por favor como puedo cambiar el lcd por leds o como cambiaría el código usando el pic 16F887

    ResponderBorrar
    Respuestas
    1. Hola, para cambiar el LCD por display de 7 segmentos, habría que cambiar el 50% del programa porque es completamente distinto el manejo. Podes fíjate en otro proyecto mio que mide solo tensión pero en 4 dígitos led.
      http://electgpl.blogspot.com/2016/04/voltimetro-de-4-digitos.html
      Aquí manejo los 4 dígitos, podes implementarlo en el otro programa.
      Saludos.

      Borrar
    2. Muchas gracias!! perdón pero no me explique bien. Es que quiero cambiar el lcd para que a un cierto intervalo de voltaje( digamos de 3 o menos encienda un led), a otro intervalo de voltaje mayor encienda otro led, así como un detector de voltaje pero sin usar el lcd sino que encienda un led en cada intervalo de voltaje. Te agradecería mucho si me orientas como hacerlo

      Borrar
    3. Aaa, esta bien, bueno eso si es mas sencillo, vas a perder esto de saber que valores tenes, pero bueno, podes poner el LED, es muy simple preguntando por la variable si es mayor o menor que el numero que quieras, por ejemplo: si voltaje es mayor a 15V entonces prender un LED, if(voltaje>15){ output_high(LED1);} else {output_low(LED1);}, algo asi. Igual ahora que lo leo, se me oucrre que si solo queres hacer eso, tal vez no necesites de un micrcontrolador, lo podes hacer con un simple operacional como comparador.

      Borrar
  37. Amigo buenas noches, seguí todas las instrucciones para 10 amp y en el pic16f877a pero cuando arranca me muestra 0.039a con fluctuación de 0.029 hasta 0.048 y el voltaje perfecto calibro bien, por que podrá ser la imprecisión y fluctuación ? Ya he explorado colecciones

    ResponderBorrar
    Respuestas
    1. Podria ser un poco de ruido tal vez, ruido electrico, bueno en realidad podrian ser muchos factores que podrian generar ruido en la medicion.
      El circuito de todas maneras algun margen de error tiene, pero es raro que tengas ese valor, tal vez tengas que realizar un poco mas de muestras para aplanar la medicion, pero si tenes ruido no lo vas a solucionar tampoco de esa manera.

      Borrar
  38. Este comentario ha sido eliminado por el autor.

    ResponderBorrar
  39. Hola excelente proyecto, saludos desde Venezuela, dime que lineas debo modificar para trabajar con el PIC 16F876, para luego traducirlo al proton compiler, para experimentar con mis fuentes, porque no tengo CCS, gracias, abrazos.

    ResponderBorrar
    Respuestas
    1. Hola Gracias, el pic lo cambias desde el include (despues hay que ver los fuses que tiene tu pic si son iguales o cambian), lo que es proton, no conozco la sintaxis, no sabría decirte que cambios tenes que hacer en la migración.
      Saludos.

      Borrar
  40. excelente proyecto. felicitaciones una consulta a mi no me funciona con el 18F4550

    ResponderBorrar
  41. Hola buenas, tengo que tratar de medir tension y corriente de unas baterias de litio mediante el pic 30F6014, el código y los circuitos son válidos para este caso tambien? o habría alguna modificación. Se que los pines pueden cambiar, estoy revisandolo pero me refiero al grueso del codigo. Un saludo.

    ResponderBorrar
    Respuestas
    1. Hola, el codigo es para microcontrolador, vos vas a usar un DSP, son ditintos los codigos.
      El circuito podria ser similar.
      Saludos.

      Borrar
  42. podrías comentar el codigo? esque yo querría probar con un potenciometro y encendiendo leds segun cifras significativas y me ayudaria

    ResponderBorrar
    Respuestas
    1. Podes poner potenciometro donde tenes las entradas analogicas y simular de esa manera. Saludos.

      Borrar
  43. que tal amigo buen dia, disculpa que parte del codigo se deberia modificar para usar el 16F873a? gracias, saludos!!

    ResponderBorrar
    Respuestas
    1. Hola!, la mejor manera de hacer una migracion dentro del compilador CCS, es usar el Wizard para generar el codigo basico del microcontrolador.
      Es decir, generas el codigo para leer ADC con el 16F873A, y el PICC te va a generar el programa solo para eso. lo compilas y listo.
      Luego agarras este programa y lo pegas en el que te genera, pero dejando la configuracion de ADC que te dejo el PICC. ya que el 90% de los problemas en esas migraciones es la configuracion de timers, adc, etc...
      Saludos.

      Borrar
  44. Hola, tambien sirve para medir corriente en AC?

    ResponderBorrar
    Respuestas
    1. Hola, este no. Tengo otros post que son medidores TrueRMS esos sirven para AC. Saludos.

      Borrar
  45. Hola crees que me puedas mostrar los cálculos que realizaste para obtener tus valores, es que no se como realizarlo.
    De ante mano gracias

    ResponderBorrar
  46. hola. en primer lugar te tengo que dar las gracias por todos tus aportes. en el segundo lugar tengo una duda: como puedo hacer medir el voltaje hasta 50V y el amperaje hasta 20A? gracias.

    ResponderBorrar
  47. De antemano saludarte y felicitarte por éste proyecto y si fueras tan amable de decirme si este proyecto se puede realizar con Arduino uno pues con pic no e trabajado gracias

    ResponderBorrar
  48. Olá, gostaria usar um sensor de corrente SCT013 com este código. como posso fazer?

    ResponderBorrar
  49. Hola,con que programa cargas el pic y que programador?????tengo pickit y adom programers

    ResponderBorrar
  50. Hola,con que programa cargas el pic y que programador?????tengo pickit y adom programers

    ResponderBorrar
  51. Por favor,indícame el programa así lo realizó, gracias

    ResponderBorrar
  52. Este comentario ha sido eliminado por el autor.

    ResponderBorrar
  53. Hola, yo arme el circuito (pcb) identico, solo puse un xtal de 8M y cambié la configuracion poniendo #use delay(clock=8000000) y las lecturas se redujeron a un tercio. Con lo cual me pregunto para que esta el xtal? o hay algo mas en los fuses que deberia tener en cuenta si opto por un oscilador externo? Gracias

    ResponderBorrar
  54. Hola que cambios en el programa deveria realizar para usar el pic16f84a? Gracias

    ResponderBorrar
  55. saludos desde Venezuela, excelente proyecto amigo, es lo mejor que he encontrado en la red con respecto a este tema, actualmente estoy trabajando en el montaje de una fuente variable de 0 a 30v y de 0 a 8 amp, pregunta: que modificaciones tendria que hacer para poder adaptar este display a mi proyecto, ya que en la descripción dice que solo soporta 3amp

    ResponderBorrar
  56. Le comento que al hacer la simulacion con Proteus8 ,si bien el divisor resistivo entrega 5V la lectura es de 8,5v ,el valor de la carga tampoco coincide pero es real la lectura del producto de ambas.Que he echo mal .Gracias por su atencion y mis mas sinceras felicitaciones por su trabajo

    ResponderBorrar
  57. hola
    Estoy por realizar el proyecto, te cuento que soy de uruguay y por aqui el 16f883 ya no se consigue, he conseguido de un proyecto viejo un 16f876, tienen el codigo o las correcciones que hay que hacer?¿, tambien te cuento que el grabador que poseo es el PICKIT3

    Saludos / Marcelo

    ResponderBorrar
  58. ola sebas hay alguna posibilidad de tener el programa para arduinio uno

    ResponderBorrar