PWM y Optoacoplador

Hola a todos

Tengo el siguiente caso: con un Arduino controlo a través de una señal PWM un motor DC. Como uso dos alimentaciones con las masas separadas, tengo que utilizar un optoacoplador. Necesito que la señal PWM de la salida del Arduino este igual de clara y perfecta en el "otro" lado del optoacoplador.

Tal como se ve en la imagen adjunta he usado el 4N35 que tiene un CTR del 100%. La resistencia del led es de 330 ohmios para proporcionar una If=10mA. En el transistor del optoacoplador lo he polarizado en colector común con una resistencia del emisor a masa. En la base del transistor he colocado una resistencia de 2M2 para mejorar la velocidad de conmutación. En la salida he colocado dos inversores HFC4069 para mejorar el señal saliente del optoacoplador y también para volver a invertir el señal.

A parte de hacer los cálculos también lo he comprobado midiendo con un osciloscopio para ver el señal PWM saliente como respondía. El problema es que si ponía la R del emisor alta (10K, 4K7 o 1K) obtengo una señal PWM mal. Es decir, con los inversores conseguía una onda cuadrada perfecta pero tanto el inicio como el final del PWM se lo "comía". Por ejemplo cuando el señal PWM directo del Arduino estaba al 25%, en la salida del optoacoplador aún estaba a 0. Y cuando en la salida del optoacoplador el PWM estava al 100% en realidad el PWM original del Arduino estava al 80%.
Haciendo varias pruebas, he comprobado que la R del emisor tiene que ser muy baja (220 ohmios en este caso) para que el señal PWM sea lo más perfecto posible al PWM original del Arduino. El problema es que la Ic es bastante elevada (32mA), aunque el 4N35 puede aguantar hasta 100mA.

Mi duda es si hay alguna otra alternativa de configuración o polarización del optoacoplador para poder transmitir a la perfección un PWM.

Gracias
 

Adjuntos

  • opto.jpg
    opto.jpg
    63.1 KB · Visitas: 186
Lo que se me ocurre es tomar la salida por colector. Emisor del opto a tierra sin resistencia de carga, resistencia de pull-up en colector y tomar la salida del colector.
 
Cual es el periodo de tu PWM? Yo hice pruebas teoricas (simulaciones con LTSpice) con 1kHz, con un 4n25 con resistencia de LED de 270 Ohm, tension de excitacion de 5V en el PWM , resistencia de base de 200K con capacitor en paralelo de 47pF, y resistencia de colector de 2K y los resultados son buenos.
 
La frecuencia del PWM es de 15KHz. En las simulaciones es normal que la señal este bien, a mi también me sale bien. Pero a la practica, comprobando con el osciloscopio la señal es mala. Solo con resistencia de muy bajo valor en la salida se consigue la señal perfecta. No sé si en este caso se tendría que usar algún otro modelo de optoacoplador.
 
Igual con 15Khz se puede llegar a escuchar el tipico chillido de la conmutación. Por otro lado ten en cuenta que al aumentar la frecuencia de conmutación sobre las bobinas del motor acarrea una sobre elevación de tensión mayor que a una frecuencia más baja, lo cual driver tendra que ser capaz de soportar esos picos de tensión.
 
He probado con esta frecuencia i no se escucha nada. Con frecuencias más bajas si que se escucha. El tema del driver ja lo tengo controlado el tema de la conmutación.
 
Lo que no entiendo es que si el 4N35 tiene un CTR de 100% cuando If=10mA, ¿porque tengo Ic=32mA?¿No tendría que ser la relación 1:1 o es que la resistencia de base a masa de 2M2 lo provoca?
 
y como resolviste los problemas que tenias?

La resistencia de base no mejora el CTR, al contrario, lo empeora porque "roba" parte de la corriente de base. Los numeros que decis son un poco raros, como estas midiendo?
 
Yo armaria el circuito de la siguiente manera. Inclusive haste se podria evitar de colocar un CD4049 reemplazando la compuerta por un simple transistor BC548 para usarlo como inversor.
 

Adjuntos

  • opto.jpg
    opto.jpg
    77 KB · Visitas: 126
Si ya lo he probado de esta manera, pero el problema que tengo es que el PWM no se transmite exactamente como sale del pin Arduino como he expuesto antes. La única manera es con el circuito que he adjuntado en el primer mensaje, o sea, con una resistencia en el emisor de 220 ohmios. De esta manera consigo una señal PWM perfecta, al contrario que otros diseños como por ejemplo el tuyo (cosa que no entiendo porque en teoría tendría que ir bien también, pero a la practica no).

Pero mi duda esta en porque teniendo una If=10mA con un CTR de 100%, tengo una Ic=32mA. Esto lo he medido con un amperimetro en la practica. Claro que lo que provoca este alto consumo es sobretodo la resistencia de 220 ohmios del emisor que polariza el transistor. Pero no entiendo el dato del CTR.

Si alguien lo entiende por favor que me lo explique.
 
Pues, segun la hoja de datos las curvas son para If vs Ic, y tu estas saliendo por la pata de emisor. Prueba de cambiar el arreglo de manera de obtener una salida por colector y no por emisor, y verifica nuevamente la corriente. Si persiste la diferencia, prueba de cambiarlo y probar con otro.
 
Del mismo tipo si y lo mismo. Otro modelo diferente no. La R de base en teoría ayuda a la velocidad de conmutación.

Si en realidad este circuito me va perfecto para lo que quiero, es simplemente que no acabo de entender lo del CTR del datasheet, ya que no me coincide nada.

Otro dato que he medido con el tester es la caída de voltaje entre colector-emisor del transistor del opto, que de es 5V. Y la Ic=32mA cuando el PWM está al 100%.
 
El CTR cuando se encuentra al 100% significa que la corriente del diodo debe ser igual a la del colector, por lo que si tienes If=10mA, deberias tener lo mismo a la salida
 
Atrás
Arriba