Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

CONTROL DE MOTORES DE CORRIENTE DIRECTA CON UN ARDUINO DUEMILANOVE

Este proyecto consiste en controlar un motor cd mediante programaciòn del ardino duemilanove.
by

José Luis Pinto C.

on 4 January 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of CONTROL DE MOTORES DE CORRIENTE DIRECTA CON UN ARDUINO DUEMILANOVE

CONTROL DE MOTOR CD CON ARDUINO Proyecto realizado por:

Manuel Calderón
Moisés Guerrero
José Luis Pinto
Omar Salazar Y eso es todo por este cuatrimestre 
¿Alguna duda?  Esquema de conexión  Programa en Arduino CON L293D Proyecto Final con Arduino SEÑAL PWM
Podemos ver como la anchura del pulso modifica el valor medio de la tensión de la señal  Control de motores de corriente continua: PWM Después, pondremos una entrada a HIGH o a LOW y haremos PWM en la otra. Conmutaremos las funciones para cambiar de sentido de giro. Lo primero será activar el ENABLE del puente que vamos a utilizar Vamos a aprovecharlo para controlar nuestro L293D. La función AnalogWrite de arduino no da valores puramente analógicos, sino PWM. Proyecto con Arduino: código Permite controlar la velocidad, invertir el giro y frenar el motor Consiste en 4 interruptores conectados en parejas  El puente en H No debe cambiarse bruscamente el sentido de giro de un motor cargado, es mejor frenarlo primero Al desconectar un motor, colapsa el campo magnético de las bobinas y se produce un pico de tensión de polaridad opuesta El motor puede tener frenado pasivo, reostático o regenerativo Para invertir sentido el giro hay que invertir la polaridad  Inversión del sentido de giro y frenado  ¿Qué es un motor? Cada ENABLE activa uno de los puentes Las entradas controlan las salidas según la siguiente tabla: Consta de 4 entradas y 4 salidas + 2 ENABLE  Uso del L293D Al arrancar no existe fcem, por tanto la corriente queda limitada por la resistencia del bobinado ¡¡Hay que prestar atención a esos picos de corriente!!  Arranque del motor La velocidad depende generalmente de la tensión aplicada Requieren de conmutadores rotativos para generar el campo magnético adecuado  Motores de corriente continua con escobillas Aprenderemos a controlar
motores con Arduino Sabremos qué es y cómo hacer funcionar un servomotor Veremos qué es un motor eléctrico y sus características  En esta clase… Existen varios chips que pueden suministrar más o menos potencia, a la vez de tener otras características similares > Transistores bipolares > Hasta 600mA continuos, 1.2A de pico > Incluye diodos para absorber la fcem al desconectar > Consta de dos puentes en H completos (4 medios puentes)  Puente en H de nuestro proyecto: el L293D // Control de Motor con driver L293D
int valor = 0; // variable que contiene el valor
int motorAvance = 3; // Avance motor --> PIN 3
int motorRetroceso = 5; // Retroceso motor --> PIN 5
void setup() { } // No es necesario
void loop() {
analogWrite(motorRetroceso, 0); // Motor hacia delante ... sube la velocidad
for(valor = 0 ; valor <= 255; valor+=5) {
analogWrite(motorAvance, valor);
delay(30);
}
for(valor = 255; valor >=0; valor-=5) { // Motor hacia delante ... baja la velocidad
analogWrite(motorAvance, valor);
delay(30);
}
analogWrite(motorAvance, 0); // Motor hacia detrás ... sube la velocidad
for(valor = 0 ; valor <= 255; valor+=5) {
analogWrite(motorRetroceso, valor);
delay(30);
}
for(valor = 255; valor >=0; valor-=5) { // Motor hacia detrás ... baja la velocidad
analogWrite(motorRetroceso, valor);
delay(30);
}
}
Full transcript