Ruido electrico motor paso a paso

Hola buenas tardes.

Estoy montando una pequeña maquina de comprobación que lee la información de un sensor (5Vcd) mientras estoy accionando un motor paso a paso.El sistema es sencillo,el sensor altera su valor cuando se gira y por tanto utilizo el motor paso a paso para girarlo.

Mi conexionado es el siguiente;Conecto tanto mi sensor como el motor paso a paso a una fuente de tensión externa de 5V y conecto las masas del arduino,motor paso a paso,sensor y arduino juntas.

Mi problema viene a la hora de conectar el motor paso a paso (modelo 28BYJ-48) y su CI ULN2003A.Si hago pruebas sin conectar el motor,el sensor me hace medidas correctas y con el multimetro compruebo que la tensión en el sistema es estable.En el momento que conecto el Motor,la tensión del sistema comienza a variar y esto provoca que la medida del sensor también varíe y sea incorrecta.

He probado a meter un condensador de 100pF a las entradas Vcc y GND del CI para comprobar si se podia desacoplar ruido del sistema pero sigue con el mismo problema.

Supongo que puede ser que el motor genera ruido a mi sistema (o posiblemente este confundido y se deba a otro problema)

Espero por si podeis darme una solucion.Os adjunto el codigo por si acaso quereis echarle un vistazo.

#define IN1  8
#define IN2  9
#define IN3  10
#define IN4  11

long int contador=0;
float data;
// Secuencia de pasos (par máximo)
int paso [8][4] =
{
  {1, 0, 0, 0},
  {1, 1, 0, 0},
  {0, 1, 0, 0},
  {0, 1, 1, 0},
  {0, 0, 1, 0},
  {0, 0, 1, 1},
  {0, 0, 0, 1},
  {1, 0, 0, 1}
};
 
void setup()
{
  Serial.begin(9600);
  // Todos los pines en modo salida
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
  pinMode(A4, INPUT);
}
 
 
 
void loop()
{ 
    for (int i = 0; i < 8; i++)
    {
      digitalWrite(IN1, paso[i][0]);
      digitalWrite(IN2, paso[i][1]);
      digitalWrite(IN3, paso[i][2]);
      digitalWrite(IN4, paso[i][3]);
      delay(1);
      contador++;
      if (contador==4096){
        //delay(250);
float m= analogRead(A4);
data = 5.00 * ( m/ 1023.00);
Serial.print("valor del sensor:");
Serial.println(data);
//delay(500);
        
        contador=0;
      }
      }
    }

Hola PKcm,

A parte del condensador de bypass, coloca otro condensador en la entrada donde mides el sensor para filtrar el ruido que pueda ocasionar el motor sobre la entrada del sensor.

Si con esto no se reduce lo que se me ocurre es que coloques optoacopladores en el control al motor para aislar totalmente el motor del arduíno.

un saludo!

Hola Danicap.

Gracias por las respuestas.El colocar un condensador a la entrada del sensor ya lo realicé y sigue en las mimas.

Sobre el optocoplador,estuve valorándolo en su momento antes de postear. El problema es que creo que seguiría igual puesto que aunque yo gobierne con el arduino cuando alimentar o cuando no para que el motor comience a funcionar,este me seguiria incidiendo ruido en el sistema.Aún así intentare probar con un optocoplador por si solucionara el problema.

Releyendo tu comentario, me surge una duda, lo que te sucede es que te varía la tensión de linea de alimentación? y al variar esta tensión se desvirtúan los valores medidos por el sensor?
Si es así, te había entendido mal antes, el optoacoplador desde el control del arduíno al motor no tengo claro que funcione ya que la alimentación del motor y la del sensor es la misma, y el problema viene dado en la alimentación y no en las señales que llegan al arduíno.
Supongo que si tienes hecho el montaje así el sensor no podrás alimentarlo desde el arduíno y no desde la fuente externa no?
Es posible que la fuente sea pequeña y cuando demanda intensidad el motor sea demasiada para la fuente y cause esas fluctuaciones?

Un saludo!

Hola Danicap.

Si,puede que yo no me haya explicado bien.El motor paso a paso esta funcionando continuamente,yo no quiero controlar con entradas y salidas cuando debe o no encender y apagar,por ello que no he pensado en la idea del Optocoplador.

Sobre la fuente,estoy utilizando una de laboratorio y la he limitado a 1 A.El arduino está conectado al USB del ordenador y el sensor que estoy utilizando consume 0.041A,por tanto dudo que haya problemas de potencia.

He estado probando,cuando conecto solo el sensor,puedo mover la manguera de cables del sensor y la medición sigue estable,en cuanto conecto el motor paso a paso,si muevo la manguera del sensor empieza toda la alimentación del sistema a variar considerablemente,lo que me hace pensar que es problema de ruido del motor.