Propuesta_mppBipolar
-
Upload
manuel-hidalgo -
Category
Documents
-
view
15 -
download
0
Transcript of Propuesta_mppBipolar
CONTROL ELECTRÓNICO DE MOTORES
PROPUESTA DE TRABAJO
CONTROL DEL MOTOR PASO A PASO BIPOLAR
TECNOLOGÍA ELECTRÓNICA
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA, ELECTRÓNICA, AUTOMÁTICA Y COMUNICACIONES.
Control electrónico de motores-curso 2009/2010 pag 2 de 7
CONTROL DE VELOCIDAD Y SENTIDO DE GIRO DEL MOTOR PASO A PASO BIPOLAR
OBJETIVO Controlar los diferentes modos de funcionamiento de un motor paso a paso. ESQUEMA ELECTRÓNICO.
El siguiente esquema representa la conexión de un C.I. de
potencia L298 y un motor paso a paso bipolar.
Para el control del motor paso a paso (1.8º) se propone utilizar
un dispositivo programable y el C.I. 74LS245, entre el dispositivo programable y el driver de potencia L298.
Control electrónico de motores-curso 2009/2010 pag 3 de 7
Puntos a desarrollar en el trabajo: 1.-Dibuja el esquema electrónico completo con todos sus
dispositivos. 2.- Realiza el diagrama de flujo o pseudocódigo de los
siguientes programas de control del motor: 1.- A paso completo. 2.- A medio paso. 3.- Añadir a los programas anteriores la posibilidad de cambio
de sentido del giro.
Control electrónico de motores-curso 2009/2010 pag 4 de 7
INFORMACIÓN COMPLEMENTARIA
Control electrónico de motores-curso 2009/2010 pag 5 de 7
Control electrónico de motores-curso 2009/2010 pag 6 de 7
L298
74LS245
Control electrónico de motores-curso 2009/2010 pag 7 de 7
El siguiente programa es un ejemplo de control del motor paso a paso utilizando el puerto paralelo de un PC. Realiza la secuencia a paso completo de media vuelta del eje del motor.
PROGRAMA /* CONTROL ELECTRONICO DE MOTORES CURSO 2005/06 */ /* CONTROL DE MOTOR PASO A PASO */ /*prog01.c – media vuelta a paso completo*/ #include <stdio.h> #include <stdlib.h> #include <conio.h> #include<dos.h> int retardo = 50; void main(void) { unsigned char paso, enable, unenable; int i; enable = 0x10; /* 0001 0000 */ outport (0x378 , enable); for (i=0; i<=25; i++) { paso = 0x19; /* 0001 1001 */ outport (0x378 , paso); delay(retardo); paso = 0x1A; /* 0001 1010 */ outport (0x378 , paso); delay(retardo); paso = 0x16; /* 0001 0110 */ outport (0x378 , paso); delay(retardo); paso = 0x15; /* 0001 0101 */ outport (0x378 , paso); delay(retardo); } unenable = 0x0; /* 0000 0000 */ outport (0x378 , unenable); }