Control de velocidad de motor
Enviado por afsiljdnkak • 29 de Agosto de 2018 • Tutorial • 830 Palabras (4 Páginas) • 86 Visitas
30/05/2018 | ||||||||||||||||||||
Control de velocidad y de sentido en motor DC [Escriba el subtítulo del documento] | ||||||||||||||||||||
Control de velocidad y de sentido en motor DC
Introducción.
En esta práctica se realizara el control de tres motores dc, su funcionamiento será empezar por el primer motor aumentando su velocidad lentamente, hasta llegar a su punto más alto y después de llegar se activara el segundo, el proceso del segundo será igual al primero pero este estará activando el tercer motor, cuando los tres lleguen a su velocidad máxima estos empezaran a descender lentamente hasta llegar a apagarse, al llegar a este punto harán el mismo proceso pero al sentido contrario.
Material utilizado.
- Un motor DC
- Arduino UNO
- Motor Shield v2.3 de Adafruit
- Conectores hembra para Arduino UNO
Especificaciones.
Adafruit Motor Shield
- Comunicación I2C con la placa de Arduino. Solo ocuparía dos pines con la posibilidad de conectar más componentes con comunicación I2C.
- Posibilidad de conectar hasta 32 shields en serie.
- 2 conexiones para servos de 5V.
- Puede mover motores desde 4,5V a 13,5V.
- Se pueden conectar 4 motores DC con movimiento adelante y atrás y control de velocidad de 8-bit, más o menos el 0,5% de giro de resolución.
- Hasta 2 motores pasó a paso (unipolar o bipolar).
- Posibilidad de separar las fuentes de alimentación de la lógica (Arduino) y los motores (Motor Shield). Muy importante para eliminar el ruido.
- Compatible con Arduino UNO, Leonardo, Mega, Diecimila y Duemilanove.
- Existe una librería muy fácil de usar para Arduino.
- Es compatible con los niveles lógicos de 5V y 3,3V.
[pic 1]
Arduino.
Arduino Uno es una placa electrónica basada en el microcontrolador ATmega328. Cuenta con 14 entradas/salidas digitales, de las cuales 6 se pueden utilizar como salidas PWM (Modulación por ancho de pulsos) y otras 6 son entradas analógicas. Además, incluye un resonador cerámico de 16 MHz, un conector USB, un conector de alimentación, una cabecera ICSP y un botón de reseteado. La placa incluye todo lo necesario para que el microcontrolador haga su trabajo, basta conectarla a un ordenador con un cable USB o a la corriente eléctrica a través de un transformador.
Características técnicas de Arduino Uno r3
- Microcontrolador: ATmega328
- Voltage: 5V
- Voltage entrada (recomendado): 7-12V
- Voltage entrada (limites): 6-20V
- Digital I/O Pins: 14 (de los cuales 6 son salida PWM)
- Entradas Analogicas: 6
- DC Current per I/O Pin: 40 mA
- DC Current parar 3.3V Pin: 50 mA
- Flash Memory: 32 KB (ATmega328) de los cuales 0.5 KB son utilizados para el arranque
- SRAM: 2 KB (ATmega328)
- EEPROM: 1 KB (ATmega328)
- Clock Speed: 16 MHz
[pic 2]
Motor DC.
- Motor DC de imán permante y escobillas
- Voltaje de operación nominal: 5 V
- Rango de voltaje de operación: 1 V a 7 V
- Velocidad de operación: < 15000 rpm
- Velocidad con carga: 11600 rpm
- Carga recomendada: 0.49 mN·m
- Rango de cargas de operación: 0.1 mN·m a 0.98 mN·m
- Corriente con carga: (@ 5 V, 0.49 mN·m): 270 mA máx.
- Corriente sin carga: (@ 5 V): 120 mA máx.
- Corriente de arranque (@ 5 V, 0.49 mN·m, método de los 2 puntos): 1300 mA (1.3 A) máx.
- Resistencia terminal (@ 20 °C, posición del rotor a 2R/3): : 4.4 Ω ±10%
- Dirección de rotación en ambos sentidos
- Diámetro: 1.56 cm (0.614")
- Peso aprox: 10 g
- Cumple directivas RoHS
[pic 3]
Diagrama eléctrico,
El motor shield debe ir montado sobre el Arduino.
[pic 4]
Programación.
#include
#include
Adafruit_MotorShield AFMS = Adafruit_MotorShield();
Adafruit_DCMotor *M1 = AFMS.getMotor(1);
Adafruit_DCMotor *M2 = AFMS.getMotor(2);
Adafruit_DCMotor *M3 = AFMS.getMotor(3);
void setup() {
Serial.begin(9600);
AFMS.begin();
M1->setSpeed(150);
M2->setSpeed(150);
M3->setSpeed(150);
M1->run(FORWARD);
M2->run(FORWARD);
M3->run(FORWARD);
...