motores a paso con arduino

  • Upload
    crysew

  • View
    57

  • Download
    2

Embed Size (px)

DESCRIPTION

una breve descripcion de como controlar motores a pasos con la plataforma arduino facil y rapido

Citation preview

Motor paso a paso BipolarEn esta pgina se muestran dos ejemplos de como controlar un motor paso a paso bipolar. Estos motores se pueden encontrar en unidades de diskette y son fciles de controlar. El que nosotros usaremos es uno con 5 cables de los cuales uno es alimentacin y los otros cuatros son usados para controlar el motor enviando seales sncronas.El primer ejemplo corresponde a el cdigo bsico para hacer que el motor gire en una direccin. Est orientado para aquellos que no poseen conocimientos sobre el control de motores paso a paso. El segundo ejemplo posee un cdigo un poco ms complejo que permite hacer girar el motor con diferentes velocidades, en ambas direcciones y siendo controlado mediante un potencimetro.En la placa de prototipado se ha aadido un potencimetro de 10K que conectamos a una entrada analgica, y un integrado ULN2003A. Este integrado posee varios transistores en un mismo encapsulado. Permite la conexin de dispositivos y componentes que necesitan mucha ms corriente de lo que nuestra placa Arduino puede ofrecer.Foto de una protoboard con el chip ULN2003A y un potencimetroEjemplo 1: Ejemplo simple/* Paso a paso Copal * ------------* * Programa para controlar un motor paso a paso que proviene de una disquetera de 5,25. * de acuerdo con la documentacin que he encontrado, este motor paso apaso: "[...] * hecho por Copal Electronics, con 1.8 grados por paso y 96 ohmios * por devanado, con el punto central de los devanados conectados a uno de los terminales exteriores [...]" * [http://www.cs.uiowa.edu/~jones/step/example.html] * * Es un motor bipolar con 5 terminales: * * - rojo: conector de alimentacin, lo he conectado a 5V y funciona bien. * - naranja y negro: bobina 1 * - marrn y amarillo: bobina 2 * * (cleft) 2005 DojoDave para K3 * http://www.0j0.org | http://arduino.berlios.de * * @autor: David Cuartielles * @fecha: 20 Oct. 2005 */int motorPin1 = 8; int motorPin2 = 9; int motorPin3 = 10; int motorPin4 = 11; int delayTime = 500;void setup() { pinMode(motorPin1, OUTPUT);pinMode(motorPin2, OUTPUT); pinMode(motorPin3, OUTPUT); pinMode(motorPin4, OUTPUT); }void loop() { digitalWrite(motorPin1, HIGH); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, LOW); delay(delayTime); digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, HIGH); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, LOW); delay(delayTime); digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, HIGH); digitalWrite(motorPin4, LOW); delay(delayTime); digitalWrite(motorPin1, LOW); digitalWrite(motorPin2, LOW); digitalWrite(motorPin3, LOW); digitalWrite(motorPin4, HIGH); delay(delayTime);}