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;
}
}
}