Autor Tema: De transformador de corriente a nivel de tensión  (Leído 2490 veces)

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

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
De transformador de corriente a nivel de tensión
« en: 05 de Noviembre de 2021, 04:10:02 »
Hola amigos, necesito diseñar una etapa que me permita leer una tensión continua con el ADC, cuyo nivel sea proporcional a la corriente detectada por un transformador de corriente SCT013 de 100A.

Este transformador entrega 50mA como máximo, por lo que con una resistencia burden de 50ohm me entregaría una señal alterna de amplitud máxima de -2.5V a +2.5V.
Pero ahora necesito transformar esa amplitud máxima en un nivel de tensión estable entre 0V y 5V para leerlo con el ADC, ya que no quiero estar sampleando continuamente con el ADC para calcularla desde el micro.

¿Qué me aconsejáis?

Gracias

Desconectado Robert76

  • PIC24F
  • *****
  • Mensajes: 577
Re:De transformador de corriente a nivel de tensión
« Respuesta #1 en: 05 de Noviembre de 2021, 06:56:37 »
Hola, bueno, una opción simple es hacer un detector de envolvente, con un diodo y un filtro RC.
Dicho filtro lo calculas en función del período de la señal.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:De transformador de corriente a nivel de tensión
« Respuesta #2 en: 05 de Noviembre de 2021, 07:10:46 »
Creo que todos vamos a ir por el mismo objetivo... Rectificar/Filtrar la señal.
Ojo que mirando el datasheet dice lo siguiente:
https://www.mcielectronics.cl/website_MCI/static/documents/Datasheet_SCT013.pdf

El de 100A tiene una salida de 0 a 1V y arriba dice: (voltage output type built-in sampling resistor )
Es decir tendría la resistencia incluida para esa salida. Y lo que tendrias es una señal 0 a 1V

Volviendo al tema:

Lo mas simple, un diodo y un filtro RC (creo que es obvio que con una salida de 0 a 1V esto se vuelve poco probable.
Mas complejo y no queres pensar en la caída que ofrece el diodo, etc. Usa un IC con 2AO y te creas un rectificador de precisión.
Mas complejidad y usas un IC con 4 AO y le agregas un seguidor de emisor (especialmente para el ADC) y/o un detector de pico (filtro y/o amplificador).

Todo lo que logres rectificar vas a tener una ventaja y una desventaja. La ventaja es la continua. La desventaja es que vas a tener que ajustar los filtros para poder detectar en el tiempo que vos consideres correcto los cambios. Para que se entienda lo que quiero decir: Si quiero detectar cosas que pasan en 2ms, no puedo tener un filtro que me haga continua la señal por 10ms, tapándome cualquier movimiento. De todas formas, lo de AC generalmente son tiempos grandes.
« Última modificación: 05 de Noviembre de 2021, 07:15:12 por KILLERJC »

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re:De transformador de corriente a nivel de tensión
« Respuesta #3 en: 05 de Noviembre de 2021, 07:22:56 »
Gracias por vuestra ayuda amigos.

Si no entiendo mal la datasheet, el de 100A es el único que NO tiene la resistencia incorporada, y su salida es de corriente de 0 a 50mA.

Había pensado en un rectificador pero con diodos no me sirve porque se me cae la tensión en el diodo.
Hablas de un rectificador de precisión con 2AO, ¿me puedes enlazar algún esquema?

Gracias de nuevo

Desconectado Eduardo2

  • PIC24H
  • ******
  • Mensajes: 1004
Re:De transformador de corriente a nivel de tensión
« Respuesta #4 en: 05 de Noviembre de 2021, 10:12:47 »
Si no entiendo mal la datasheet, el de 100A es el único que NO tiene la resistencia incorporada, y su salida es de corriente de 0 a 50mA.
Había pensado en un rectificador pero con diodos no me sirve porque se me cae la tensión en el diodo.
Los transformadores de corriente están pensados para trabajar con una resistencia baja en el secundario, caso contrario el núcleo podría ir entrando en zona de saturación perdiendo linealidad la lectura.

Citar
Hablas de un rectificador de precisión con 2AO, ¿me puedes enlazar algún esquema?
Googleando vas a encontrar montones.  Lo que tenés que tener en cuenta es que hay circuitos demasiado "para ejemplo", donde al operacional con los diodos no le han puesto un miserable capacitor para limitar la ganancia en alta frecuencia.
Si no los tiene o lo ensayás en una protoboard lo mas probable es que oscile a lo bestia -->  La lectura va a ser cualquier cosa y no vas a entender por qué.

Desconectado Robert76

  • PIC24F
  • *****
  • Mensajes: 577
Re:De transformador de corriente a nivel de tensión
« Respuesta #5 en: 05 de Noviembre de 2021, 13:35:41 »
Para solucionar el problema de la caída de tensión en el diodo se utiliza una tensión de offset, de al menos 0.7V, luego ingresando la señal a un op-amp con ganancia 10 o más, ya lo tienes servido para usar en cualquier cosa

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:De transformador de corriente a nivel de tensión
« Respuesta #6 en: 05 de Noviembre de 2021, 14:14:03 »
Hola amigos, necesito diseñar una etapa que me permita leer una tensión continua con el ADC, cuyo nivel sea proporcional a la corriente detectada por un transformador de corriente SCT013 de 100A.

Este transformador entrega 50mA como máximo, por lo que con una resistencia burden de 50ohm me entregaría una señal alterna de amplitud máxima de -2.5V a +2.5V.
Pero ahora necesito transformar esa amplitud máxima en un nivel de tensión estable entre 0V y 5V para leerlo con el ADC, ya que no quiero estar sampleando continuamente con el ADC para calcularla desde el micro.

¿Qué me aconsejáis?

Gracias





Ahí tienes un circuito, faltaría un filtro pasa bajos antes de la entrada del ADC.

« Última modificación: 20 de Noviembre de 2021, 16:14:38 por DominusDRR »
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re:De transformador de corriente a nivel de tensión
« Respuesta #7 en: 05 de Noviembre de 2021, 14:44:49 »
Con ese circuito que has dibujado Dominus la salida seguiría siendo alterna, ¿verdad?

La señal es de 50Hz y necesito obtener un nivel de contínua.

Probaré subiéndola a un offset de 2.5V como indica Robert para que no se vea afectada por la caída del diodo.

Gracias compañeros

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:De transformador de corriente a nivel de tensión
« Respuesta #8 en: 05 de Noviembre de 2021, 14:59:50 »
Con ese circuito que has dibujado Dominus la salida seguiría siendo alterna, ¿verdad?

La señal es de 50Hz y necesito obtener un nivel de contínua.

Probaré subiéndola a un offset de 2.5V como indica Robert para que no se vea afectada por la caída del diodo.

Gracias compañeros

Toda señal que sea periódica es alterna, en este caso variará de 0 a -5 V (necesitaras un inversor adicional, me cabo de dar cuenta), o se podría usar un sumador no inversor.

Podrías hacer un filtro de ganancia uno e inversor para matar dos pájaros de un tiro.
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:De transformador de corriente a nivel de tensión
« Respuesta #9 en: 05 de Noviembre de 2021, 17:18:38 »
Si no entiendo mal la datasheet, el de 100A es el único que NO tiene la resistencia incorporada, y su salida es de corriente de 0 a 50mA.

Si perdon, existen 2 de 100A, el SCT-013-000 y el SCT-013-000V (como vi que aumentaba segui la logica y fui al ultimo que era el de salida de voltaje)

Uno salida corriente y otro Voltaje.

Citar
Toda señal que sea periódica es alterna,

No comparto esa afirmacion, periodico quiere decir que se repite, una onda cuadrada de 0 a 5V es periodico, pero no es alterno. Alterno se refiere que al valor de referencia su potencial va de positivo a negativo. Podes suponer que tu "referencia" se encuentra en 2.5V y ahi si seria alterna esa señal cuadrada que di de ejemplo.


--------------------------------------

El tema de la caida de tension del diodo es que suponemos que es 0.7V fijo, y no es asi. Si esto no causa mayores problemas en la lectura, entonces dale para adelante.
Si consideras montarla encima de una señal de 2.5V, tambien necesitas asegurarte que siempre sea 2.5V incluso con variaciones de VCC.
Si esto tampoco te molesta entonces para adelante. Siempre es un tire y afloje entre la necesidad y la complejidad.
« Última modificación: 05 de Noviembre de 2021, 17:30:35 por KILLERJC »

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:De transformador de corriente a nivel de tensión
« Respuesta #10 en: 05 de Noviembre de 2021, 18:49:21 »
Si no entiendo mal la datasheet, el de 100A es el único que NO tiene la resistencia incorporada, y su salida es de corriente de 0 a 50mA.

Si perdon, existen 2 de 100A, el SCT-013-000 y el SCT-013-000V (como vi que aumentaba segui la logica y fui al ultimo que era el de salida de voltaje)

Uno salida corriente y otro Voltaje.

Citar
Toda señal que sea periódica es alterna,





No comparto esa afirmacion, periodico quiere decir que se repite, una onda cuadrada de 0 a 5V es periodico, pero no es alterno. Alterno se refiere que al valor de referencia su potencial va de positivo a negativo. Podes suponer que tu "referencia" se encuentra en 2.5V y ahi si seria alterna esa señal cuadrada que di de ejemplo.


--------------------------------------

El tema de la caida de tension del diodo es que suponemos que es 0.7V fijo, y no es asi. Si esto no causa mayores problemas en la lectura, entonces dale para adelante.
Si consideras montarla encima de una señal de 2.5V, tambien necesitas asegurarte que siempre sea 2.5V incluso con variaciones de VCC.
Si esto tampoco te molesta entonces para adelante. Siempre es un tire y afloje entre la necesidad y la complejidad.

M'expresé mal, quise decir que toda señal periódica posee una señal de CC y una de alterna.

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

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re:De transformador de corriente a nivel de tensión
« Respuesta #11 en: 20 de Noviembre de 2021, 16:08:15 »
Al final he optado por muestrear la señal alterna que viene de mi SCT013 con un PIC y hacer los cálculos para determinar la corriente.

El SCT013 lo tengo conectado a la entrada analógica del PIC, en paralelo con una R de 323ohms y teniendo su otro extremo a un divisor de tensión entre 0V y 5V (con dos R de 10K).

Con este código leo la onda senoidal que llega al ADC, calculo la amplitud restando la lectura mínima a la lectura máxima y aplico el cálculo para pasar de V pico a RMS.
He añadido un bucle que haga varias lecturas para promediarlas y hacer que los resultados sean más estables.

El resultado que obtengo se parece bastante a lo que me da un medidor profesional. En las pruebas que he hecho, metiendo un calentador de 660W me está marcando unos 650W.

Código: C
  1. #include <18F1320.h>
  2. #device ADC=8
  3.  
  4. #FUSES NOWDT                    //No Watch Dog Timer
  5.  
  6. #use delay(internal=8MHz)
  7. #use rs232(baud=115200,parity=N,bits=8,stream=PORT1,xmit=PIN_B1)
  8.  
  9. #define FrecuenciaRed      50    // Hz
  10. #define LecturasOnda       100
  11. #define PeriodoLecturas    1000000/(FrecuenciaRed * LecturasOnda)   // us
  12.  
  13. #define NumeroMuestras     10
  14. #define R                  323.0
  15. #define adc_multiplicador  5.0/255.0
  16. #define raizde2            0.70710678118
  17. #define TensiondeRed       235.0
  18.  
  19. void main()
  20. {
  21.    int8 i, j, v, min, max;
  22.    float Amplitud;
  23.    
  24.    setup_adc_ports(sAN0, VSS_VDD);
  25.    setup_adc(ADC_CLOCK_INTERNAL | ADC_TAD_MUL_0);
  26.    printf ("ADC2SERIE\n=========\n\n");
  27.    while(TRUE)
  28.    {
  29.       Amplitud=0;
  30.       for (j=0;j<NumeroMuestras;j++) {
  31.          min=255;
  32.          max=0;
  33.          for (i=0; i<LecturasOnda; i++) {
  34.             v = read_adc();
  35.             if (min>v) min=v;
  36.             if (max<v) max=v;
  37.             delay_us(PeriodoLecturas);
  38.          }
  39.          Amplitud = Amplitud + max - min;
  40.       }
  41.       Amplitud = Amplitud / NumeroMuestras;
  42.  
  43.       if (Amplitud==1) Amplitud = 0;      // ruido adc
  44.       printf ("%4.0f\n", Amplitud*adc_multiplicador*raizde2/R*TensiondeRed*1000);
  45.    }
  46. }
  47. }


 

anything