fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

Optoacoplar una continua

9 Respuestas
4 Usuarios
0 Reactions
3,276 Visitas
ranganok
Respuestas: 3875
Topic starter
(@ranganok)
Ardero
Registrado: hace 19 años

Hola,

El caso es que quiero aislar dos circuitos uno de potencia (que no irá conectado a tierra) y uno de control de la potencia (que sí irá conectado a tierra y a un PC mediante USB).

El caso es que tengo que medir tensiones continuas (o de muy baja variación) en el circuito de potencia y pasarle esa media al de control y estoy planteando varias soluciones a ver cuál sería mejor. Busco ideas nuevas a ver si a alguien se le ocurren.

Tengo varias:

- Optoaislar el USB: de esta forma el circuito de control no tendría que ir a tierra y podría medir las tensiones directamente con el micro. Sin embargo el chip que lo hace (¿alguien tiene una referencia?) vale mucha pasta.
- Medir con un AD externo y optoaislar el bus intermedio: generalmente estos buses son I2C o SPI entre el AD externo y el micro. La contra es que en el caso del I2C necesitaría un opto doble (los datos van en dos sentidos) y tendrian que ser optos muy rápidos (sobretodo en el caso del SPI) para que no hubiera desajuste de la sincronización (¿alguna referencia de optos rápidos?).
- Convertir las señales a frecuencia (V/F o V/PWM): podría usar una frecuencia manejable por el opto y además sería en una única dirección. El problema es que necesito una buena resolución (>10bits) y no se si estos circuitos me la dan (¿alguna referencia?); además en el micro suelo tener más canales A/D que timers de entrada por lo que tendría que volver a convertir lo que aumentaría el error.

¿Alguna idea más?

S2

Ranganok Schahzaman

Responder
8 respuestas
beamspot
Respuestas: 1132
(@beamspot)
Noble Member
Registrado: hace 17 años

Olimex vende aisladores de USB 1.1 o 2.0 a 12Mbps. Hay también transmisores de USB 2.0 a 480Mbps por fibra óptica. Pero en ningún caso, el USB es Industrial, que es donde trabajo yo ahora, haciendo sistemas automáticos de test, con HW y SW propio.

No hace mucho, desarrollé un sistema basado en USB, sin micro, para usar desde el PC, totalmente controlado desde el Windows. Este sistema se ha puesto en cinco líneas de producción, que están empezando ahora a producir preseries. En cuatro de ellas tuvimos muchos problemas de comunicación a 480Mbps, pero eran debidos a una rótula (es decir, el dispositivo USB giraba 'infinitamente', mientras que el PC estaba fijo, y el elemento que permite la conexión eléctrica, llamado rótula, no permitía tasas tan elevadas de comunicación). Solucionamos el problema poniendo cable directo del PC al dispositivo, y restringiendo el giro a 350º.

Pero en la quinta línea tenemos más problemas. Por no sabemos que motivo, los USB's se resetean todos, no sólo mi dispositivo, si no otros equipos industriales (léase, por ejemplo, equipos de Vector). Y por tanto el programa que estaba usándolos se queda colgado. Al reiniciarse sólo el USB, la manija (handler) que usaba el programa no se le puede asignar al dispositivo, al estar ocupada por un programa colgado. Y por tanto, no se restablece la comunicación, y también hay que resetear el programa. Y eso implica parada de línea, cosa sacrosanta en producción.

Y eso, por no comentar los problemas que me he encontrado con corrientes de masa y caminos 'insospechados' de corrientes de ida o retorno, con algún que otro relé quemado, pistas volatilizadas, problemas de alimentación, imprecisiones de media de 7-8 V, etc.

La mejor solución que hemos encontrado ha sido 'reconvertir' el dispositivo USB a Ethernet mediante una IGEP V2, que nos ha dado buenos resultados a la par que nos ha abierto otras puertas del estilo 'programación distribuida', etc.

Volviendo al hilo del tema, creo que Maese Heli ha dado perfectamente en el clavo. En mi caso, el ADC del micro lo uso para medir ciertas cosas, en concreto hasta 16 entradas analógicas, referenciadas a una masa, la del DUT. El multímetro que controla el mismo micro, puede medir tensiones o corrientes flotantes, así que debe estar aislado. Y el equipo tiene que estar aislado del control (PC industrial), así que la comunicación también se debe aislar. Por tanto, uso un DC-DC para alimentar el micro, otro para alimentar el multímetro analógico, y el USB mismo para alimentar el FTDI (de momento, pero preveo usar o CAN o RS-485). De esta manera, en el retorno de masa (punto de referencia) del micro con el DUT no tiene caída de tensión al no circular corriente (apenas), ni interferencias debido a corrientes parásitas con el USB o sistema de comunicación, masa, tierra (la eléctrica), chasis, etc.

Responder
garrocha
Respuestas: 1110
(@garrocha)
Ardero
Registrado: hace 20 años

Puedes usar un optoacoplador lineal, la entrada a la parte a medir, y la salida al ADC, y a partir de ahi, ya ningun problema:
http://www.clare.com/Products/LinearOpt.htm " onclick="window.open(this.href);return false;
http://www.google.com/search?q=linear+optocoupler " onclick="window.open(this.href);return false;

Responder
ranganok
Respuestas: 3875
Topic starter
(@ranganok)
Ardero
Registrado: hace 19 años

Tambien podría usar un amplificador de aislamiento, pero como he dicho antes se va de precio.

Creo que lo más sencillo será optoacoplar un SPI o un I2C y el micro alimentado a parte.

Gracias a todos por las respuestas.

S2

Ranganok schahzaman

Responder
beamspot
Respuestas: 1132
(@beamspot)
Noble Member
Registrado: hace 17 años

El I2C es complicado de optoaislar. El SPI es mucho más sencillo y con los ADuM es 'coser y cantar'. De hecho, he aislado ambos buses con dichos aisladores, y prefiero el SPI.

Responder
Página 2 / 2
Compartir: