TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: jotana240 en 07 de Octubre de 2022, 02:44:38

Título: comparador de voltaje y amperaje con el pic18f2550
Publicado por: jotana240 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);
   }
}

(https://i.ibb.co/5WSdZdH/image.png)
Título: Re:comparador de voltaje y amperaje con el pic18f2550
Publicado por: DominusDRR 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);
   }
}

(https://i.ibb.co/5WSdZdH/image.png)
.
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.
Título: Re:comparador de voltaje y amperaje con el pic18f2550
Publicado por: jotana240 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
Título: Re:comparador de voltaje y amperaje con el pic18f2550
Publicado por: DominusDRR 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?




Título: Re:comparador de voltaje y amperaje con el pic18f2550
Publicado por: jotana240 en 16 de Octubre de 2022, 19:36:48
(https://i.ibb.co/B4SjgfS/Captura.png)

(https://i.ibb.co/Ssskzvg/Captura1.png)
Título: Re:comparador de voltaje y amperaje con el pic18f2550
Publicado por: jotana240 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 ?
(https://i.ibb.co/W5BMf9z/Captura3.png)
Título: Re:comparador de voltaje y amperaje con el pic18f2550
Publicado por: DominusDRR en 16 de Octubre de 2022, 19:44:14
(https://i.ibb.co/B4SjgfS/Captura.png)

(https://i.ibb.co/Ssskzvg/Captura1.png)

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.

(https://www.kew-ltd.co.jp/files/customer_support/TrueRmsValue.gif)

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



Título: Re:comparador de voltaje y amperaje con el pic18f2550
Publicado por: DominusDRR 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 ?
(https://i.ibb.co/W5BMf9z/Captura3.png)

No es conversión de corriente, es conversión de voltaje.
Título: Re:comparador de voltaje y amperaje con el pic18f2550
Publicado por: jotana240 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  ((:-))
Título: Re:comparador de voltaje y amperaje con el pic18f2550
Publicado por: DominusDRR 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.

 

Título: Re:comparador de voltaje y amperaje con el pic18f2550
Publicado por: jotana240 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 :/
(https://i.ibb.co/DCH7txT/Captura4.png)
Título: Re:comparador de voltaje y amperaje con el pic18f2550
Publicado por: DominusDRR 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 :/
(https://i.ibb.co/DCH7txT/Captura4.png)


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.
Título: Re:comparador de voltaje y amperaje con el pic18f2550
Publicado por: jotana240 en 17 de Octubre de 2022, 00:32:46
(https://i.ibb.co/6mrWsMY/Captura5.png)
si que pena me di cuenta y ya habías respondido
Título: Re:comparador de voltaje y amperaje con el pic18f2550
Publicado por: Robert76 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 ?
(https://i.ibb.co/W5BMf9z/Captura3.png)

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.
Título: Re:comparador de voltaje y amperaje con el pic18f2550
Publicado por: uZYNQ 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.

  - Tienes que ingresar para ver archivos adjuntos -  
Título: Re:comparador de voltaje y amperaje con el pic18f2550
Publicado por: DominusDRR en 17 de Octubre de 2022, 13:59:03

 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.

  - Tienes que ingresar para ver archivos adjuntos -


Cuando se sobre pasa el voltaje máximo en el pin, la corriente de esos diodos sobrepasa el máximo permitido y se dañan permanentemente en cortocircuito quedando el terminal del pin en 1 lógico o en 0 lógico para siempre.

Si deseas usar esos diodos para proteger de un sobre voltaje, debes colocar una resistencia, pero esta puede afectar en el tiempo de adquisición del ADC. Por lo que la utilidad de dichos diodos es mejor cuando se utiliza el terminal como entrada digital.
Título: Re:comparador de voltaje y amperaje con el pic18f2550
Publicado por: uZYNQ en 18 de Octubre de 2022, 04:01:05
  Se tiene que superar la corriente de entrada que según veo son 20ma. Ahora hay que ver la resistencia equivalente del circuito para ver si la supera. Si se hace el equivalente thevenin se puede ver que es bastante alta.
 
  - Tienes que ingresar para ver archivos adjuntos -  
Título: Re:comparador de voltaje y amperaje con el pic18f2550
Publicado por: DominusDRR en 18 de Octubre de 2022, 09:30:32
  Se tiene que superar la corriente de entrada que según veo son 20ma. Ahora hay que ver la resistencia equivalente del circuito para ver si la supera. Si se hace el equivalente thevenin se puede ver que es bastante alta.
 
  - Tienes que ingresar para ver archivos adjuntos -

Había olvidado que existían las resistencias que están en serie al potenciómetro podrían limitar la corriente del diodo interno y de esa manera evitaría un sobre voltaje en la entrada sin recurrir al diodo zener.