[SOLVED] Servo empieza a menearse en cuanto el módulo GSM se pone a enviar datos

Hola a todos,

tengo entre manos un proyecto que me estaba volviendo loco, hasta que me dieron una posible solución

Mi proyecto tiene un modulo GSM que se conecta a la red.

Tiene una fuente de energía regulada que le hice con un LM350.
Esta fuente tiene otro regulador, pero L7805 para encender el servo.
Ambos reguladores regulan la misma batería.

Ya sé que no es aconsejable usar estos reguladores lineales con baterías LiPo, pero es lo que tengo de momento y espero mejorar el hardware pronto.

El caso es que cuando el módulo GSM se pone a enviar datos, el servo se menea solo.

Me han dicho que los picos del módulo, son interpretados como pulsos al servo.
Por tanto me han ofrecido colocar condensadores en las salidas del servo y el módulo.

Me recomiendan 1000uF para el servo y varios grandes para el módulo.

He puesto uno de 1000uF en el servo, y varios en el módulo.
Concretamente he puesto 2232uF en este. Porque puse varios de varios tamaños: 220+22+470+330+330+100+100+220+220+220 = 2232uF

Pero no noto mejoría. Hubo un momento que sí, pero fue en otra prueba.
Y por eso me centré en el módulo una vez puse el de 1000uF en el servo.

Sabéis si este método, al que llaman: "decoupling" funciona así bien?
Es que ya no sé qué ponerle... mañana me traen condensadores de 1000, 2200 y 3300 uF de placas base de ordenador viejo para hacer la prueba con más capacidad.

Pero... funcionará? me gustaría saber más o menos cuanto necesito poner y si es un buen método.

A lo mejor estoy poniendo mal los condensadores, yo ya no sé...

Bueno, espero vuestra ayuda, gracias de antemano y espero que no os sea molestia comentar.

Gracias.
Abel.

Tienes uno de esos problemas que no son facilmente resolubles.
Mi recomendacion es que separes los circuitos, arduino y control de motor por un lado y placa GSM alimentada con una fuente apropiada pero buscate un regulador LDO

Ahora respecto de los capacitores que estas poniendo hay una forma de calcular la capacidad necesaria pero se de antemano que dará un valor bajo, el problema es que seguramente estas usando capacitores electrolíticos y no son realmente buenos para estos problemas.
Vamos con el calculo
si mal recuerdo
Un capacitor cambia su tensión a razón de 1 Volts por Faradio por Amper por 1 segundo. Si lo pongo en terminos

V = t x i / C ... (1)

C = t x I / V ... (2)

  1. esto te dice cuan "bajo" será un pico de tensión.
  2. dice cuanta capacidad necesitamos para tener no mas de cierta perdida de tensión para una dada corriente en un tiempo determinado.
    Ahora hay elementos que debemos conocer o proponer

V = caida aceptable = 0.5 Volt
I = pico de corriente = 2A
t = duracion del pico en 10 useg

C = t x I / V = 10E-6 s x 2A / 0.5 V = 40E-6 Farad = 40 microfarad = 40 uF.
o sea que usaste capacitores de mucho mayores y aun asi el problema no despareció? Entonces que ocurre?
Aca debo hacer la suposicion de que esta todo armado en cascada, o sea, placa de arduino como base, luego placa de motor y luego placa GSM.
En este caso no queda otra camino que pensar que el regulador de ARDUINO obviamente no puede sostener las 3 placas.

Ya sugerí separar los circuitos pero ademas voy a sugerir que el capacitor sea con esta prioridad

de Aluminio Solido
electrolitco como ultima alternativa.
los de Tantalio son super peroooo cuidado, si se supera la tensión de trabajo con un pico, se muere y para peor con una venganza. de ruido, y olor.

Hola!

Gracias por tu respuesta!

La verdad es que estuve 1 semana larga intentando solucionar el problema.

Primero me dijeron que tenia que darle búfer al servo con un cap bastante grande (1000uF o más).
Y meterle filtrado a la alimentación del módulo GSM. Pensaban que era a causa de acomplamiento de RFI en la corriente contínua.

Después descubrí que era una EMI en el servo.

Finalmente, tras no poder solucionar ni con caps ni con toroides, ferritas y demás, me sugirieron que posiblemente la EMI la tenía sobretodo en el integrado Mega 2560.
Lo pude comprobar alejando el módulo, el servo tenía menos movimiento y si acercaba el arduino se pronunciaba...

Entonces, me sugirieron crear una pequeña jaula de Faraday para el Mega2560.

Yo sabiendo que todo el hardware estaba siendo interferido, metí en una caja de cartón el 2560 y le puse papel de aluminio a la caja y a los cables del servo y al servo. Este papel lo conecté a GND.

Felizmente la EMI desapareció.

Simplemente, estos módulos tienen mucha potencia de emisión regulada según lo difícil que sea alcanzar el repetidor, y por tanto en días como los de hoy, (con lluvias, frío, humedad, etc.) es fácil que ocurra esto y sea muy difícil de solucionar.

En fin,

gracias por tu apoyo. Simplemente una pequeña jaula para todo el circuito y a ser posible poner una antena con cable de 50ohm fuera del circuito y la jaula, con cable coaxial. Y me atrevo a decir que incluso puedes meter el módulo GSM dentro de la jaula y funcionaría todo bien.

Un saludo!

Abel.

Igualmente mas alla de que me fui por la tangente, muy interesante la solución que encontraste y me sirve tu comentario.
Ponle solucionado al titulo para que sirva a los demás este tópico.
Gracias.
Luego cuenta mas de tu proyecto que todo ayuda a que otro no cometa los mismos errores.

Lo siento pero he tenido que poner "solucionado" en inglés porque no me cabe en español... jajajaja.

Qué hable más? básicamente mi robot se controla mediante un smartphone con una aplicación Android que he hecho. Utilizando el "magnetometer" del móvil.

El control se realiza mediante la tecnología 2G disponible en los módulos GSM más comunes.

Una recomendación propia por experiencia, sería utilizar la tecnología 3G en vez de la 2G, ya que la latencia baja a la mitad, y para el control remoto en tiempo real es aconsejable.

Otra recomendación es hacer que el programa Arduino sea bueno, en lo que respecta a la transmisión y recepción de datos, estableciendo tiempos adecuados, para no saturar ni el módulo, ni el teléfono, ni la red y acabar rápido con los datos (lo que llamamos "megas" del internet móvil).

Finalmente, requiere mucha preparación y programación realizar esto con éxito. Así que no lo recomiendo hacer desde cero.

Pero sí recomiendo comprar una emisora... jajaja. Sinceramente, es muy económico, ya que un smartphone lo dispone todo el mundo hoy en día, y un módulo 3G es más barato que una emisora, y por supuesto, es rango de transferencia es a nivel mundial...

Poco más, ;D

Un saludo!