Buenos días foreros,
Soy Ingeniero Civil y para mi tesis de Master he decidido llevar a cabo unos experimentos, basados en arduino, en un laboratorio de la universidad. Ha sido dificil ya que este es mi primer contacto con Arduino, la electrónica y la programación pero el resultado ha merecido la pena.
El proyecto consiste en un Arduino Mega, conectado a cuatro ADS1115, un módulo de 8 relés y una shield de RTC+SD. De esta forma, mido cada 2 segundos 8 sensores (lecturas diferenciales) y almaceno estos datos en la SD con fecha y hora. Los relés se usan como interruptores para el accionamiento de unos mecanismos.
Acabé el proyecto hace tres semanas y para probar su funcionamiento a medio plazo lo dejé conectado con un cargador de telefonos móviles por el puerto serie durante una semana en casa. Resultado: Todo OK.
Lo traslade al laboratorio para empezar los ensayos y comence a notar que el arduino se "colgaba" cuando le venia en gana . Tras revisar el código y romperme la cabeza contra la pared, me dí cuenta de que el reloj en un intevalor que iba de 0 a 2 minutos, ofrecía un valor ilógico que detenía el proceso:
2165/165/165 165:165:85
El "cuelgue", por tanto, era debido a que el siguiente loop intentaba ejecutarse 2 segundos despues de esta fecha. Además, antes del "cuelgue" los valores registrados por los ADS1115 oscilaban demasiado.
Esto solo sucedía en el laboratorio y entonces me dí cuenta de que estaba conectando el arduino a una regleta donde había dos bombas peristálticas trifásicas con su variador de frecuencia. A partir de ahí, y para aislar el problema he probado varias cosas:
1.- Arduino conectado al ordenador y este sin enchufar (solo con batería). FUNCIONAMIENTO OK.
2.- Arduino conectado al ordenador y este enchufado en la regleta donde estan las bombas. DESASTRE.
3.- Arduino conectado al ordenador y este enchufado tan lejos como se puede de las bombas. FUNCIONAMIENTO REGULAR (estable 1-2 días, hasta que vuelve a aparecer el valor ilógico "2165/165/165 165:165:85".
Supongo que el problema es debido al siempre malnombrado ruido electromagnético. El tema me supera un poco ya que mi formación en electronica se reduce a 0. Me gustaría saber si existe una solución razonable para evitar estos problemas y poder garantizar un funcionamiento estable a largo plazo del Arduino.
Espero haberme hecho entender, si no es así hacedmelo saber.
Muchas gracias de antemano y un saludo a tod@s.