Reducir el ruido de un sensor de efecto Hall

6

Actualmente estoy trabajando en un proyecto de levitación magnética utilizando un sensor de efecto Hall para medir la distancia. Conduzco la bobina utilizando dos baterías de automóvil de 12 V en serie para formar una fuente de 24 V CC, un MOSFET y una señal PWM de 3900 Hz de mi Arduino .

Aquí está mi circuito:

Tengoqueasignarlaintensidaddecampo(-512a511)creadaporlabobinaalaseñaldeentrada(0a255).Esperabaqueestofueraunarelaciónlineal,peromislecturaseranbastanteruidosas:

Lo reduje mucho agregando un condensador de derivación a la salida del sensor de efecto Hall (C1):

Sinembargo,nocreoqueestélosuficientementelimpiocomoparaobtenerunalevitaciónmagnéticaestable.

Mispreguntasson:

  1. ¿Porquélaseñalsecomportaasí?¿Eselruidodemedición,oeselcampogeneradoporlabobinadesordenada?

  2. ¿Cómopuedomejoraresto?

Aquíestáelcódigoqueutilizoparalasmedidas:

intfield[256];intval;voidsetup(){setPwmFrequency(MAGNET_PIN,8);//SetsthePWMfrequencyto3900HzSerial.begin(9600);Serial.print('[');for(inti=0;i<256;i++){analogWrite(MAGNET_PIN,i);delay(50);val=analogRead(SENSOR_PIN)-512;field[i]=val;Serial.print(val);Serial.print(", ");
    }
    analogWrite(MAGNET_PIN, 0);
    Serial.println(']');
}

void loop() {

}

Aquí hay algunas fotos de mi configuración, según lo solicitado:

Aquíhayunaimagendelaseñaldespuésdeagregarunaresistenciade240OhmiosalLED:

Más tarde hoy me encontré con un nuevo problema. La salida ahora se ve así:

Estoy un poco confundido, porque realmente no he hecho ningún cambio. ¿Podría ser que mis baterías se están agotando?

    
pregunta Torben

2 respuestas

7

Hay varios problemas, algunos de los cuales se mencionan en otras respuestas. Los reiteraré por el bien de la integridad:

  1. La salida de Arduino está cargada con la capacitancia de la puerta del mosfet. Eso puede ser varios nF. Dado que las salidas de Arduino cambian en ~ 10ns, entonces estás creando grandes picos de corriente con esa carga. La ruta de esos picos no está controlada y contamina el resto de su circuito.

  2. La entrada de la puerta está sujeta a la tensión directa del LED. Es posible que el mosfet no esté completamente encendido.

  3. Es probable que el controlador del pin de salida conduzca su corriente de salida completa al LED. Dado que es muy probable que esa corriente comparta muchos circuitos con la señal de referencia analógica, está corrompiendo el voltaje de referencia de su ADC.

  4. La batería del automóvil puede empujar cientos de amperios a través de su circuito. Sin fusible, quemarás tu laboratorio / casa.

  5. Es probable que el inductor necesite un amortiguador para minimizar la EMI.

  6. No tiene control de velocidad de respuesta para el encendido / apagado de mosfet. Probablemente estás cambiando el mosfet demasiado rápido. Debe intercambiar algo de disipación de calor para mejorar la compatibilidad electromagnética.

  7. La ruta de la corriente de PWM de conmutación rápida debe mantenerse lo más corta posible: debe aislar el bucle del interruptor inductor de la batería y del resto del circuito.

  8. Puede haber un acoplamiento capacitivo entre el inductor y el sensor Hall.

A continuación se muestra un intento de abordar todas las deficiencias.

Digamos que queremos mantener los tiempos de conmutación de mosfet aproximadamente en un 2% del período PWM. El mosfet debe cambiar en aproximadamente 2.5us. El filtro de paso bajo formado por la resistencia de activación de la puerta y la capacitancia de la puerta deben tener una constante de tiempo, por ejemplo, la mitad de ese valor. Por lo tanto, suponiendo una capacitancia de compuerta de 1nF, necesitamos una resistencia equivalente de la serie de 200 ohmios en el circuito de control de compuerta.

Asegúrese de que el bucle de corriente de conmutación rápida, dibujado en línea gruesa, se mantenga lo más corto posible. El desacoplamiento C1 debe ser un electrolítico de baja ESR. El amortiguador C2 / R3 se puede diseñar siguiendo este procedimiento . El buffer U2 puede ser 74HC1G125 o similar. Debe tener su fuente de alimentación desconectada con un condensador de 47 nF y tener su salida habilitada (OE # entrada baja). U2 necesita estar cerca de M1. Para asegurar un apagado más rápido, el D2 / D3 es un par de Zeners de 27 V consecutivos. F1 debe dimensionarse para adaptarse al consumo de energía de L1. La GND de U2 debe estar vinculada al punto de estrella en el drenaje de M1. Idealmente, también tendría perlas de ferrita entre el VCC de U2 y el riel de suministro de 3.3 V, así como entre el punto de la estrella en la parte superior de L1 y la salida del fusible. El FB1 es un cordón de ferrita: elija la impedancia más grande que pueda encontrar para manejar 100 mA.

simular este circuito : esquema creado usando CircuitLab

Para minimizar el acoplamiento capacitivo del sensor Hall al inductor, debe haber un escudo conductor no magnético a su alrededor. No le hará daño hacer un filtro de paso bajo explícito en la salida del sensor, así como desacoplar cualquier contenido de alta frecuencia con un cordón de ferrita FB2. Elija la impedancia más grande que pueda encontrar que maneje 15 mA.

simular este circuito

He añadido una representación de cómo se verá el circuito en una placa de pruebas. He prestado especial atención a minimizar el área de bucle del circuito de la bobina. He utilizado los inversores 74HC14 como búfer, y estoy en paralelo con las salidas que controlan el LED y la puerta.

Debido a las limitaciones de los circuitos de 123D, tuve que:

  • Representa la batería de 24 V y el fusible con un soporte de batería AA y una resistencia.

  • Represente el sensor Hall mediante un potenciómetro.

  • Representa FB1 por un inductor pequeño.

    
respondido por el Kuba Ober
9

No estoy seguro de qué hay en el Arduino en esa salida PWM, pero parece muy extraño que aparentemente no haya una resistencia de compuerta en un MOSFET, y no haya una resistencia de límite de corriente en el LED.

En el punto en que comienzas a encender el MOSFET, tienes un cortocircuito a tierra en la forma de la capacitancia de la compuerta: en un gran MOSFET es bastante capacitancia, y mientras está cargando, el Arduino funciona muy Es realmente difícil suministrar esa corriente.

Una vez que la capacitancia de la puerta se carga lo suficiente como para alcanzar el voltaje directo (Vf) del LED, se enciende y representa un cortocircuito a Vf.

No puedo decir si alguna de estas cosas está causando ruido en la entrada analógica, pero es poco probable que ayuden, ya que probablemente están causando mucho ruido en el Arduino.

Por separado, y no sé si ya está haciendo esto, pero en este tipo de sistema, por lo general, trato de tomar la medida analógica de forma síncrona con la PWM, para evitar el ruido constante. La conmutación de la carga. Si está muestreando de forma asíncrona al PWM, esa puede ser la causa de grandes picos ocasionales.

    
respondido por el user1844

Lea otras preguntas en las etiquetas