Autor Tema: comparador de voltaje y amperaje con el pic18f2550  (Leído 4532 veces)

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

Desconectado jotana240

  • PIC10
  • *
  • Mensajes: 16
comparador de voltaje y amperaje con el pic18f2550
« en: 07 de Octubre de 2022, 02:44:38 »
 :shock:  no si que esta mal en el codigo de momento estoy tratando de que cuando el voltaje sea mayor a 1v me encienda un led ya despues de eso toca ver como comparo en otro pin del pic el amperaje alguien me puede orientar el codico que llevo en PIC C Compiler es:
Código: [Seleccionar]
#use delay(clock=20M)
#define ac PIN_A0
#define tap1 PIN_B0

void main(){
   setup_comparator(A0_A3_A1_A3);
   set_tris_a(0x0E);
   while(true){
     
      if (C1OUT)
         //output_low(tap1);
         output_high(tap1);
      else
         output_low(tap1);
         //output_high(tap1);
   }
}


Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:comparador de voltaje y amperaje con el pic18f2550
« Respuesta #1 en: 07 de Octubre de 2022, 09:52:16 »
:shock:  no si que esta mal en el codigo de momento estoy tratando de que cuando el voltaje sea mayor a 1v me encienda un led ya despues de eso toca ver como comparo en otro pin del pic el amperaje alguien me puede orientar el codico que llevo en PIC C Compiler es:
Código: [Seleccionar]
#use delay(clock=20M)
#define ac PIN_A0
#define tap1 PIN_B0

void main(){
   setup_comparator(A0_A3_A1_A3);
   set_tris_a(0x0E);
   while(true){
     
      if (C1OUT)
         //output_low(tap1);
         output_high(tap1);
      else
         output_low(tap1);
         //output_high(tap1);
   }
}


.
Tal vez te falta configurar el terminal o pin que controla al diodo led como salida (SET_TRIS_B). Aunque no se puede apreciar cual bit del puerto B es, parecería que todos los terminales de dicho puerto están cortocircuitados.
« Última modificación: 07 de Octubre de 2022, 09:54:39 por DominusDRR »
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado jotana240

  • PIC10
  • *
  • Mensajes: 16
Re:comparador de voltaje y amperaje con el pic18f2550
« Respuesta #2 en: 16 de Octubre de 2022, 13:14:35 »
 :-/ ya logre que le leyera el voltaje por el un pin y que me encendiera un led ya paso el codigo,
Código: [Seleccionar]
#include <18f2550.h>
#device ADC=10
#fuses XT,NOPROTECT,NOWDT,NOBROWNOUT,PUT,NOLVP
#use delay (clock=20M)
#byte porta = 0xf80 // Identificador para el puerto A.
#byte portb = 0xf81 // Identificador para el puerto B.
#byte portc = 0xf82 // Identificador para el puerto C.
#byte portd = 0xf83 // Identificador para el puerto D.
#byte porte = 0xf84 // Identificador para el puerto E.
 
#use i2c(Master,Fast=100000, sda=PIN_B0, scl=PIN_B1,force_sw) 
#include "i2c_Flex_LCD.c"

long valor_adc_lectura_1;
float voltajedc,voltajeac;


void main(){
   setup_adc_ports(AN0);
   setup_adc(ADC_CLOCK_INTERNAL);
   
   lcd_init(0x4E,16,2);
   lcd_backlight_led(ON); //Enciende la luz de Fondo
   
   while(true){
      set_adc_channel(0);
      delay_us(2);
      valor_adc_lectura_1 = read_adc();

      voltajedc = (valor_adc_lectura_1*5.0)/1023.0;    //calcular DC voltaje
     
      voltajeac = voltajedc*(res1+res2)/res2;   //aplica el divisor resistevo ( NO TENGO IDEA PARA QUE ES)
      voltajeac = voltajeac+1.4;                //suma caida en el puente rectificador ( NO TENGO IDEA PARA QUE ES)
      voltajeac = voltajeac/1.4142;             //saca RMS ( NO TENGO IDEA PARA QUE ES)
     
      if(voltajedc > 2){ //condicional de 2V
         output_high(PIN_B2); //led encendido
      }else{
         output_low(PIN_B2);  //led apagado
      }
     
      lcd_clear();
      lcd_gotoxy(1,1);
      //printf(lcd_putc, "ADC: %Lu", valor_adc_lectura_1);
      printf(lcd_putc, "AC: %0.2f", voltajeac);
      printf(lcd_putc, "V");
      lcd_gotoxy(1,2);
      printf(lcd_putc, "DC : %0.2f", voltajedc);
      printf(lcd_putc, "V");
      delay_ms(100);
      //output_high(PIN_B0); //led encendido
      //delay_ms(1000);
      //output_low(PIN_B0);
      //delay_ms(1000);
         
   }

}

Pero ahora quiero pasar ese voltaje que se muestra en pantalla porque lo estoy mostrando en una lcd i2c el voltaje DC
pero la idea original es pasar de corriente AC a DC y monstrar en pantalla la corriente AC me faltan son formulas y como aplicar lo alguien me puede ayudar ? en el codigo en () una linea dicen ( NO TENGO IDEA PARA QUE ES)
lo de las formulas no lo entiendo del todo como hago

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:comparador de voltaje y amperaje con el pic18f2550
« Respuesta #3 en: 16 de Octubre de 2022, 13:28:07 »
pero la idea original es pasar de corriente AC a DC y monstrar en pantalla la corriente AC me faltan son formulas y como aplicar lo alguien me puede ayudar ? en el codigo en () una linea dicen ( NO TENGO IDEA PARA QUE ES)
lo de las formulas no lo entiendo del todo como hago


Esto de aquí parece un divisor de voltaje de dos resistencias puestas en serie:

Código: C
  1. voltajeac = voltajedc*(res1+res2)/res2;   //aplica el divisor resistevo ( NO TENGO IDEA PARA QUE ES)

Corrección del desplazamiento u offset por los diodos rectificadores

Código: C
  1. voltajeac = voltajeac+1.4;

Voltaje RMS de una onda sinusoidal es el valor pico dividido para la raíz cuadrada de 2.

Código: C
  1. voltajeac = voltajeac/1.4142;             //saca RMS ( NO TENGO IDEA PARA QUE ES)

Lo que veo es que estás tomando el código de alguien mas y tratas de implementarlo.

1. Deberías compartir el esquemático.

2. ¿Tienes una idea de que realmente quieres mostrar en el display? Cuando mencionas corriente AC, me parece que desear medir el voltaje de dicha señal.  A lo que me refiero es que sabes que es ¿RMS, Divisor de tensión, desplazamiento u offset, caída de tensión en un diodo rectificador?




Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado jotana240

  • PIC10
  • *
  • Mensajes: 16
Re:comparador de voltaje y amperaje con el pic18f2550
« Respuesta #4 en: 16 de Octubre de 2022, 19:36:48 »



Desconectado jotana240

  • PIC10
  • *
  • Mensajes: 16
Re:comparador de voltaje y amperaje con el pic18f2550
« Respuesta #5 en: 16 de Octubre de 2022, 19:40:30 »
de donde saque el codigo del circuito de conversión de CORRIENTE AC A DC Es el siguiente.
uso este o el que mostré en la imagen anterior ?

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:comparador de voltaje y amperaje con el pic18f2550
« Respuesta #6 en: 16 de Octubre de 2022, 19:44:14 »




Ahí tienes la respuesta, tienes un puente rectificador conformado con 4 diodos, cada semi ciclo de la onda senoidal, pasa por dos diodos, y en cada diodo se asume una caída de 0.7 v (1.4 V), que es lo que se compensa.

Luego, no puedes poner todo ese voltaje a la entrada del ADC, porque el máximo voltaje es 5V, es por eso que con las resistencias 12, 12, 13 y 14 y el potenciómetro creas un divisor de tensión para obtener una muestra de voltaje (Me imagino que colocan varias resistencias para una mejor "precisión"))

Finalmente, lo que mide un voltímetro de AC, es el valor rms o eficaz, lo cual es el valor pico o máximo dividido para la raíz cuadrada de dos.



Ahora le pregunta es ¿Conoces todos esos conceptos de electricidad y electrónica básica?



Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:comparador de voltaje y amperaje con el pic18f2550
« Respuesta #7 en: 16 de Octubre de 2022, 19:50:10 »
de donde saque el codigo del circuito de conversión de CORRIENTE AC A DC Es el siguiente.
uso este o el que mostré en la imagen anterior ?


No es conversión de corriente, es conversión de voltaje.
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado jotana240

  • PIC10
  • *
  • Mensajes: 16
Re:comparador de voltaje y amperaje con el pic18f2550
« Respuesta #8 en: 16 de Octubre de 2022, 20:06:16 »
sinceramente estoy aprendiendo bajo la marcha compre todo para cuando termine la simulación en proteus pasar lo a lo físico, si entiendo no lo básico pero si por encima el diodo zener es para la protección del pin del microcontrolador pic, pero me come mucho las formulas y como aplicar las a lo que ya tengo. me disculpas mi ignorancia me respondiste muchas duda  ((:-))

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:comparador de voltaje y amperaje con el pic18f2550
« Respuesta #9 en: 16 de Octubre de 2022, 20:15:43 »
sinceramente estoy aprendiendo bajo la marcha compre todo para cuando termine la simulación en proteus pasar lo a lo físico, si entiendo no lo básico pero si por encima el diodo zener es para la protección del pin del microcontrolador pic, pero me come mucho las formulas y como aplicar las a lo que ya tengo. me disculpas mi ignorancia me respondiste muchas duda  ((:-))

Pues tienes que comprender esos conceptos porque caso contrario te puedes quedar varado en alguna parte o dañar alguna parte del hardware.

En cierta manera, como afirmas el zener evita que te sobrepases un rango determinado de tensión, pero ante un incremento muy rápido del voltaje por digamos por una EMI, el zener no te va ayudar, para eso está el varistor antes de la entrada del puente rectificador.

También, es un circuito para aprendizaje, la manera correcta de "medir" el voltaje AC es mediante amplificadores operaciones, ya que como tu dices tiene tantas cosas que a la final el resultado nunca es preciso, sólo aproximado.

 

Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado jotana240

  • PIC10
  • *
  • Mensajes: 16
Re:comparador de voltaje y amperaje con el pic18f2550
« Respuesta #10 en: 16 de Octubre de 2022, 21:26:23 »
OK entendido ahora mi pregunta es como hago si en el osciloscopio no me muestra ninguna onda para aplicar la formula :/

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:comparador de voltaje y amperaje con el pic18f2550
« Respuesta #11 en: 16 de Octubre de 2022, 22:06:23 »
OK entendido ahora mi pregunta es como hago si en el osciloscopio no me muestra ninguna onda para aplicar la formula :/



Ese simulador suele ser mediocre a la hora de usar el osciloscopio.

Pero según se ve, el canal A esta eliminando la componente DC, y sólo estas viendo la componente de AC. (opción AC).



Si estas analizando una señal de voltaje DC, vas a ver 0 voltios de AC.

Nuevamente conocimientos básicos de electricidad y electrónica básica.
« Última modificación: 16 de Octubre de 2022, 22:11:14 por DominusDRR »
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado jotana240

  • PIC10
  • *
  • Mensajes: 16
Re:comparador de voltaje y amperaje con el pic18f2550
« Respuesta #12 en: 17 de Octubre de 2022, 00:32:46 »

si que pena me di cuenta y ya habías respondido

Desconectado Robert76

  • PIC24F
  • *****
  • Mensajes: 577
Re:comparador de voltaje y amperaje con el pic18f2550
« Respuesta #13 en: 17 de Octubre de 2022, 07:40:25 »
de donde saque el codigo del circuito de conversión de CORRIENTE AC A DC Es el siguiente.
uso este o el que mostré en la imagen anterior ?


No es conversión de corriente, es conversión de voltaje.
Tratándose de un 18F2550, yo utilizaría el ADC, en lugar de los comparadores.
Por otro lado, esa combinación de R1 de 330k y el diodo Zener, va a generar un decaimiento en la tensión en función se aproxime a la tensión de Zener, es decir, que NO va a haber una tensión lineal para comparar.
Para ello debe usarse un op-amp de colector abierto en modo detector de umbral.

Desconectado uZYNQ

  • PIC16
  • ***
  • Mensajes: 123
Re:comparador de voltaje y amperaje con el pic18f2550
« Respuesta #14 en: 17 de Octubre de 2022, 13:37:10 »

 Además yo no veo la necesidad de poner el zener, ya que las entradas del PIC ya tienen diodos clamping que limitan el voltaje.

 

* Input.png
(26.16 kB, 894x292 - visto 346 veces)