Pages: [1]   Go Down
Author Topic: Ruido electrico  (Read 3723 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 78
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buenos días.

De nuevo después de leer y releer información buscando por la Red (pedazo biblioteca!!!), creo que tengo algún problema de "ruido electrico" que he mejorado muuucho pero no lo he erradicado totalmente.

Sigo tratado de mejorar mi proyecto de controlador de acuario (ya bastante avanzado, control luces, agua, temp, manda datos via WIFI etc etc...ph), tuve batantes problemas con la medición de PH ya que flutuaba mucho y sin mucho sentido (debe medir rangos de PH entre 8 - 8.4 , y variaba entre 6-10 una barbaridad..)

Tras volverme loco haciendo mil pruebas he leido en un foro americano de un controlador de acuarios comercial basado en Arduino (REEFANGEL) que los drivers de Led (BuckPuck) crean mucho ruido y lo filtran a GND (ellos también tuvieron bastantes problemas para detectarlo) http://forum.reefangel.com/viewtopic.php?f=2&t=574&p=4807&hilit=buckpuck#p4807

EL PROBLEMA...que me enrrollo más que las persianas.... smiley-razz, cuando conecto la pantalla de leds (a una regleta cercana a la toma de corriente de arduino (pero sin ningún cable conectado físicamente entre la pantalla de leds y arduino)la lectura de PH pasa de 8.4 a 7.2 LO CURIOSO....sin tocar nada y entre 60-90 minutos vuelve a 8.4 y se queda estable todo el día hasta que apago la pantalla de leds que ocurre lo mismo de 8.4 a 7.2 (+/-) y a la hora , hora y media otra vez a su valor real y estable.....

¿Qué os parece? A mi se me escapa de las manos....algún condensador que en ese intervalo se cargue/vacie ?¿?¿ Me parece muy curioso que tarde tanto en volver a su valor, porque cuando actúo reles desde arduino tengo un falso valor en la lectura, pero dura unos segundos y vuelve a su valor bueno, pero que tarde tanto?¿?¿?¿

No se si se os ocurre algo yo desde luego estoy aprendiendo un montón jejeje pero esto se me escapa.......GRACIAS!!!!

Logged

Málaga, Spain
Offline Offline
Edison Member
*
Karma: 37
Posts: 2172
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Uffff, pues no estás preguntando tu poca cosa...

Efectivamente, como he comentado en alguna ocasión se te está colando ruido en el bloque analógico. Esto es debido a los cambios de corriente que hay en el circuito. El mundo analógico es muy sensible a cambios bruscos de corriente. También existen otros fenómenos que influyen sobre las pistas: ringing y "cross talk".

Lo importante para hacer un circuito mixto es separar muy bien las masas del mundo digital y del analógico. De buenas a primeras, los arduino standard son una castaña. Ahora con la placa Leonardo lo han mejorado pero no tienen un plano de tierra dedicado a tal fin.

Para evitar estos problemas hay muchas técnicas, muchas de las cuales pasan por hacer un diseño de PCB específico para cada aplicación. Cubrirlos todos en este hilo sería inabordable.

Sin ver un esquemático de tu montaje y sin ver cómo tienes todo conectado es imposible ver que toses tiene tu montaje pero...

De buenas a primeras, lo que puedes hacer es:
0. El más importante, todas las alimentaciones con sus correspondientes desacoplos (0.1uF de Vcc a GND), es posible que haya que poner otro de 1uF en paralelo si estás conmutando mucha carga.
1. Poner un pequeño choque en la alimentación (+5V) de la placa del sensor de pH.
2. Utilizar un pin de tierra diferente al de los reles y/o driver de los LEDs.
3. Usar un cable apantallado para llevar la señal analógica del sensor a la placa.

El tema es que el sensor de pH tiene un amplificador que aumenta los niveles de la señal a valores dentro del rango del AVR (0V y 5V) con lo que si tienes mucho ruido, por encima de la señal, lo que vas a conseguir es amplificar el ruido.

En el foro que indicas utilizan una fuente conmutada para controlar los LEDs. No tengo ni idea de cómo tienes la tuya.
Logged

   

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 78
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bueno FM, lo primero de todo agradecerte que siempre estés ahí ayudando al personal (que como sean todos tan zoquetes como yo!! jejeje).

Ya me temía yo que lo que exponía no era "moco de pavo" y ya es algo que habría que ver detenidamente....

No os quería poner un tocho de mi proyecto porque seguro que os aburro (bueno quizás os echéis a reír, soy un neófito aprendiz) pero la verdad es que pensándolo bien os voy a poner algunas fotos y así me podéis "acribillar" y yo aprender de los errores cometidos.

Voy a tratar de ser breve.
Controlador de acuario , 2 cajas de control.
A: Arduino Mega , pcb shield (casera) para conexiones, pantalla LCD, 2 botones, Buzzer, WiflyGSX, Placa PH Phidgets.
B: Placa reles (5v), pcb para conectores, regleta 220v

La caja A se conecta con la B a través de un DB15 apantallado)¿por cierto la pantalla la tengo conectada a GND en caja B y he leído que sería mejor conectarla a GND de arduino?

Caja A alimentada a 5V (desde Fuente ATX) directamente a pines 5V / GND
Caja B alimentada a 12V (desde Fuente ATX)

Foto caja A:


Foto caja B:


Esquema A:


Esquema B:


Foto acabado shields:


La fuente que utilizo para los leds se enciende a través de uno de los relés de la placa de relés controlada por arduino.
Es de este tipo:


Después de leer el tema de separar la tierras puse un cable de alimentación desde la fuente ATX a la caja A y otro a la caja B independientes , no se si así es suficiente.

Lo que comentas de las alimentaciones....(hace también falta si se alimenta con una fuente estabilizada? no lleva ya Arduino estos desacoplos? La verdad es que no lo he comprobado en la placa de ph ni en la de reles (voy a revisar el datasheet). Y lo del choque ¿te refieres a un choke?Algo así?:



Muchiiiiisimas gracias!!
« Last Edit: May 27, 2012, 12:43:23 pm by JorgeM » Logged

Málaga, Spain
Offline Offline
Edison Member
*
Karma: 37
Posts: 2172
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Nadie es un zoquete hombre! Mi abuela solía decir que nadie, hasta donde ella sabía, había nacido aprendido. Con estas cosas, es exactamente igual y hay cosas que llevan su tiempo. Por otro lado, el ensamble que has integrado es relativamente complejo y no es fácil, ni evidente, tener en cuenta algunas cosas. Sobre todo si no se ven porque van por un cable o por el aire.

Uff, para revisar esto voy a necesitar un poco de tiempo y una caña.

Primer comentario, intenta ordenar los cables, agrúpalos por funcionalidad y sobre todo, cualquier cosa que huela a analógico por separado.

Por otro lado, todos los relés deberían llevar su correspondiente diodo. He visto un ULN290 que aunque lleve sus diodos internos, nunca me fio, siempre se cascan pasado un tiempo. Al ventilador, ponle un diodo también entre los extremos con el cátodo al + del ventilador y ánodo al -.

La alimentación de los LEDs, un condensador de 1uF y 0.1uF entre la alimentación y masa no le vendría nada mal.

Por lo general, en todas las alimentaciones de cada chisme que conectes, debería tener su desacoplo de 0.1uF.

Como no veo un esquemático tal cual (esquema teórico) es complicado seguir las pistas y ver dónde diantres van y cómo están conectadas.

A la wifi, le pondría un par de desacoplos de 10uF y de 0.1uF.

A todo lo que huela a analógico un desacoplo en la alimentación: sensor de temperatura, sensore de pH...

Si tuviese que apostar mi pasta la pondría en:
- el amasijo de cables y cómo estos interfieren con la sonda del pH y seguramente sensores de temperatura.
- el motor, suele ser una fuente inagotable de ruido.
- los relés al conmutar
- el pwm de los LEDs.
- la wifi y cómo esta está conectada.

El chocke es lo que has puesto, efectivamente.

Espero que esta primera tanda te ayude un poquillo.
« Last Edit: July 13, 2012, 03:54:20 pm by fm » Logged

   

Offline Offline
Full Member
***
Karma: 0
Posts: 174
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

En mi caso te animo a que cuelgues tu proyecto porqué estoy haciendo el mismo que tú. Pero complicandome bastante más la vida.
Logged


0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 78
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Señores y señoras........ smiley-eek smiley-eek smiley-eek.........es para darme un buen tirón de orejas

Después de varias semanas peleándome con los "ruidos" , condensadores, fuentes de alimentación etc etc......el problema era muuucho más simple que todo estoy "provocado" por mi  smiley-eek-blue

Resulta que al hacer el soporte de la pantalla de leds rosque varios tornillos a los disipadores , hice un mecanizado para sacar la pantalla lcd y otro para el conector DB15. Pues bien, el propio armazón ha hecho de "autopista" para GND , generandome ruidos o lo que sea que hacía que las lecturas de ph oscilaran muchísimo.

He desmontado la "electronica" separándola de la pantalla de leds a una caja externa ¡¡¡de plastico!!! y ahora todo funciona perfectamente.

Gracias a todos por vuestra ayuda!!!!
PD: De todo se aprende....

Salu2
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 78
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Pues no se si cortarme las venas o dejarmelas largas.... jajajajaja smiley-mr-green

Tras cantar victoria hace unos días pensando que habia porfin descubierto el causante de mi problema (variaciones grandes en la lectura de una sonda de ph) , al encontrar que estaba "derivando" a gnd los disipadores de la pantalla LED que ilumina el acuario....desmonte toda la electronica que compartia en la misma pantalla de leds y monté todo en una caja estanca de plastico lejos de la pantalla de leds.

Parecía que todo iba bien....buen CASI perfecto ya que cuando se activaba el ventilador para refrigerar el agua (trabaja a 10v y 500ma y se activa mediante un pin de arduino y un ULN2803) tenía una bajada de 0.2 en la lectura hasta que se paraba el ventilador que volví a asu sitio correcto (una cosa que estaba investigando, ya que no es un "pico" que pudiera se producido por un ruido en el momento de la activación del ventilador, sino que durnate el tiempo que está el ventilador activo la lectura de la entrada analogica es -0.2 ?¿?¿ es como si cambiara los 5v de referencia de arduino ?¿?¿?¿ (no se si estoy diciendo una burrada...(esta todo alimentado con una fuente de 12v y 3 amp)

Se ve perfectamente en las graficas que a creando el controlador (cuando la temp sube de 26,7 se activa el ventilador, lo que provoca una sub-meseta en el ph hasta que se para el ventilador y la lectura de ph vuelve a su sitio..)



A parte de esto jejeje, todo parecía que iba sobre ruedas, incluso cuando se activaban los reles de 220v la lectura no variaba...genial...
Pues bien, esta mañana a las 9 cataplof!!! Bajon en la lectura (mirar la gráfica) , y a estas horas continua bajando lo voy a dejar así para ver que ocurre en las siguientes horas....he de decir que no he tocado nada en absoluto desde hace 5 días.....no entiendo a que pueden ser debídas estas variaciones....

La modificación que hice en el montaje fue quitar todo lo que tenia en la pantalla de leds y ponerlo en la misma caja de plastico donde tenía los reles (quitando el cable largo db15 y la placa intermedia de conexiones).

Leyendo y leyendo creo entender que cuando se hace un analogRead , Arduino compara la lectura del pin analógico con el valor del pin Aref ..... sería posible que el pin Aref este "fallando" o por lo que sea internamente el voltaje de referencia analógico de Arduino tenga variaciones?

Creo que voy a tratar de poner un voltaje de referencia externo (5v al pin Aref con una resistencia de 5K , y configurando analogReference(EXTERNAL); eso he leido ..)

Entonces me corto las venas o no? jajajajaja


Muchas gracias por vuestro tiempo!!!!
Un saludo!!!
« Last Edit: June 11, 2012, 09:40:57 am by JorgeM » Logged

Malaga
Offline Offline
Sr. Member
****
Karma: 6
Posts: 319
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

No sé si te podré ser de mucha ayuda; tampoco soy un experto ni mucho menos, pero si puedo aportar alguna que otra idea, y te sirven, pues genial.

Por lo que cuentas, yo también pienso que se está produciendo algún tipo de acoplamiento entre acoplamiento entre la parte analógica de lectura y la parte de potencia de conmutación (ya sea del ventilador, o de los leds). Tanto un controlador de LEDs como un motor DC generan cierto "ripple" (oscilaciones) en las lineas de alimentación. El tema es ver como aislar y/o filtrar ese ruido para que no llegue a las partes sensibles del circuito.
La mejor manera es, siempre, usar "lineas" (o fuentes) de alimentación diferentes para la parte de conmutación y la parte analógica (y ya si me pones, la parte digital también a parte :-). Así el ripple generado por, digamos el ventilador, no le afecta a la alimentación del microcontrolador, etc.

¿Cuantas lineas de alimentación (tensiones) tienes en tu circuito? ¿12V y 5V? ¿Cómo están estas estabilizadas?

Una cosa sencilla que puede probar es a usar reguladores de tensión lineales, tipo 7805, separados para la parte del medidor de PH y para la parte del microcontrolador.

¿Cómo es el circuito / controlador de medida de PH? ¿cual estás usando? ¿a cuanto está alimentado? ¿con quien comparte alimentación?

Y otra pregunta: ¿cómo estás alimentando la patilla de tensión de referencia?

La verdad es que sin un esquemático es muy difícil hacerse una idea de los distintos acoplamientos que pueden existir en tu circuito, pero bueno, si con estos comentarios te puedo ayudar de alguna manera, o al menos empezar a entender mejor tu diseño ...

Animo!
Logged

Vinciduino rocks!

Offline Offline
Newbie
*
Karma: 0
Posts: 11
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola, supongo que usas cable apantallado, pero.. por las fotos que he visto estás trabajando con cajas "desprotegidas contra el ruido" y por mucho cable apantallado que tengas si la caja que aparece justo al lado de un multienchufe de 220 en la foto no tiene protección contra el ruido electrico.. los cables o incluso la propia placa son propensos a recibir ruido.

Mi recomendación es que utilices cajas siempre metálicas, y el tema que ya te han dicho sobre los chokes es vital.
Suerte con ello y recuerda, un cable de calidad bien apantallado no sirve de nada si termina en una caja de plástico jeje.
Logged

Pages: [1]   Go Up
Jump to: