Motor paso a paso activado con detector inductivo

Hola a todos, soy bastante nuevo en esto de Arduino, pero ya he conseguido automatizar en gran parte mi aviario, con bebederos que se vacían, se enjuagan y se llenan solos.

El siguiente paso consiste en hacer unas trampillas que se cierran y se abren solas cuando un detector inductivo es activado.

He usado la librería Stepper para practicar. Aquí está el código:

#include <Stepper.h>

Stepper motor1 (2048, 2, 4, 3, 5);
int pin=41;  // Pin entrada detector inductivo.


void setup(){
motor1.setSpeed(3);   //  en RPM, (Valores entre 1, 2 y 3 para este motor)
pinMode(pin,INPUT);
Serial.begin(9600);

}

void loop(){
if (digitalRead(41)==HIGH)

motor1.step(512);  // cantidad de pasos (cuarto de vuelta)

digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
}

Después de hacer el giro de cuarto de vuelta, he añadido las 4 últimas líneas, porque se quedaban energizadas dos de las bobinas del motor, a la espera de volver a activarse con el detector. Así las desenergizo, y el motor se queda totalmente en reposo.

Y hasta aquí he llegado…

Os comento lo que quiero conseguir, a ver si alguien me puede ayudar.

La secuencia consistiría en:

  • Detector lee una leva y activa el motor.
  • Motor gira un cuarto de vuelta.
  • Desenergizamos las bobinas del motor. (Hasta aquí es lo que he conseguido)
  • El motor gira un cuarto de vuelta en sentido contrario, volviendo a su posición original.
  • Desenergizamos las bobinas del motor, y éste queda en reposo hasta que el detector lo vuelva a activar.

Por ahora tengo la mitad, ¿algún consejo?

Muchas gracias!

Creo ,si te he entendido, que podrías utilizar un servo. ¿No?
Es ideal para mover una trampilla,yo tengo uno con 20kg/cm de fuerza y funciona a 4.8v.
Y son simpáticos de usar con la librería servo.
¿Por qué un motor paso a paso?
Si no buscas que el motor de más de 3/4 de vuelta...Entonces servo al canto!
Puedes abrir y cerrar con mucha precisión, y midiendo la intensidad que "chupa" puedes deducir su fuerza. (Detectar atasco por ejemplo o un pollo aventurero...). Y hacer movimientos para liberarse de manera fácil.
Hay servos lineales también...
¿Va por ahí?

Vaya, pues no lo había pensado!.

Pero el caso es que puse un cuarto de vuelta como ejemplo, de hecho hasta que no lo tenga montado todo no sabré cuantas vueltas exactas tendrá que dar para conseguir el resultado. Aun así, con lo del servo, creo que podría adecuar el tamaño de la polea para conseguirlo. Muchas gracias, seguiré investigando con el motor paso a paso, que ya lo tengo comprado, mientras pienso lo del servo.

Pones un final de carrera (pulsador) al limite cerrado, y otro final e carrera al limite abierto.
Al motor pap le dices que gire hasta que la propia trampilla accione el final de carrera (un pulsador que "toca" la propia trampilla) y diga al motor que pare.
Si un final de carrera esta activado ya te dice hacia donde sera el siguiente movimiento.
Es el montaje típico para movimientos "hasta donde se quiera".

Y el motor te servirá y quedara más pro que con un servo.... creo...

Pero en teoría, la gracia de un motor paso a paso, es que no necesitas finales de carrera...le dices los pasos que quieres y él te los hace, no?

Por favor, edita tu post inicial de acuerdo a las normas del foro.[/color]

Bueno la verdad es que si, pero no tienes manera de saber donde se encuentra en cada momento.
Las impresoras 2d y3d los usan por que puedes controlarlos con mucha precisión pero siempre al inicio se mueven hasta un final de carrera que les dice que están a cero.
El motor paso a paso es para ejes de precisión y siempre incluyen finales de carrera en al menos un extremo.
Su uso esta pensado para movimientos de altísima precisión,(no es tu caso ¿no?) y claro que se pueden usar para mover trampillas, pero un fallo de alimentación, o un pollo vacilón que lo mueve y ya no sabrá donde está.
La teoría mola y es...Pero en la realidad te dará mil fallos sin finales de carrera.
Todos los usos que conozco de los motores pap, lo primero que hacen es "buscar el 0"
Fíjate cuando conectas la impresora normal de casa como lo buscan.
Ademas son engorrosos... 01001100110101101 ffffff
Salut i gas!

Muchas gracias, seguiré investigando lo del servomotor.

Saludos