El control de 2 motores con el TB6612FNG + ArduinoDescripción completa
Pasos y reparacion de motores a gasolina.pdfDescripción completa
Pasos y reparacion de motores a gasolina.pdfFull description
Full description
MÉTODO DE CONTROL DE MOTORES CON RELEVADORES TEMPORIZADORES
Descripción completa
Descripción: d
Este programa genera 2 señales de reloj de diferentes frecuenciasDescripción completa
Guía básica para realizar reportes en proyectos de Visual Studio con aplicaciones Winforms utilizando Crystal Report
simulacion en c++ de numeros aleatoriosDescripción completa
Descripción completa
Usar arduino uno para programar microcontroladores avrDescripción completa
en esta practica se representa la rutina de 2 semáforos utilizando el microcontrolador ATmega8, esto con la finalidad de enrolarse en la programación con avrDescripción completa
MXN
Su pedido está VA CIO. Buscar BUSCAR
HeTPro
R egistro Re
Siguenos!!
Tienda
Tutoriales
C ursos
Contacto
Servicios
CONTROL DE MOTORES A PAS OS CON EL ATMEGA AVR EN C
Escrito por Rolando Ramirez rez Miércoles 06 de Marzo de 2013 18:26 CONTROL CONTROL DE MOTOR MOTOR A PASOS EN PASO SIMPLE Y PASO COMPLETO
Los motores motores a pasos pasos tienen cuatro bobinas bobinas y avanzan avanzan o retroceden solo solo un pequeño ángulo de giro giro o ángulo de paso, paso, por cada combina aplicado en las bobinas. Para mantener la marcha del motor es necesario cambiar periódicamente la combinación de voltajes en sus termin Con 4 bobinas bobinas un motor motor a pasos puede tener hasta 8 terminales terminales,, dos por cada cada bobina. bobina. Las terminales terminales se se pueden unir interna nterna o externam dos tipos de motores, Unipolares y los Bipolares. Los motores a pasos bipolares ares cada bobina na debe ser polariz polarizada ada en ambas ambas direcciones. recciones. Esto es equivalente equivalente a hacer hacer girar girar un motor motor DC en a para esto se requiere un circuito llamado Puente – H. Los motores a pasos unipolar unipolares es son más fáciles les de controlar por el hardware hardware requerido. En estos moto res las las bobinas se se polarizan zan en una s que basta un switch o transistor por cada bobina para energizarla. Para controlar este tipo de motores las bobinas deben ser polarizadas s acuerdo con la dirección que se quiera girar. En los moto moto res a pasos unipolares unipolares las las bobinas no debe n ser polarizadas polarizadas las 4 bobinas al mismo mismo tiempo por que gen eraría un campo magnét rotor no sabría sabría a donde girar. girar. A partir partir de esto se deduce que existen existen hasta tres modos de hacer girar girar un motor motor a pasos unipolar; ar; Paso sisi Medio paso. Paso completo: eto: Es cuando las bobinas se polariz polarizan an de dos en dos. En la sigui siguiente ente t abla se muestra muestra la secuencia secuencia en que se energizan energizan las las bo girar el rotor hacia un sentido, para que gire en sentido contrario solo hay que invertir el orden de polarización de las bobinas. Tabla 1. Secuencia de polarización las bobinas de paso completo. L1 L2 L3 L4 He x 1 0 0 1 0x09 1 1 0 0 0x0C 0 1 1 0 0x06 0 0 1 1 0x03
Medio paso: Es Es cuando cuando las las bobinas n as se se polari polarizan z an de a una y de a dos intercal intercaladamente. a damente. En la la sigui g uiente e nte tabla se se muestra muestra la la secuenci secuenciaa de pol bobinas en modo medio paso. Tabla 2. Secuencia de polarización las bobinas de medio paso. L1 L2 L3 L4 He x 1 0 0 1 0 x0 9 1 1 0 1 0 x0 D 1 1 0 0 0 x0 C 1 1 1 0 0 x0 E 0 1 1 0 0 x0 6 0 1 1 1 0 x0 7 0 0 1 1 0 x0 3 1 0 1 1 0 x0 B Paso simple: Es cuando las bobinas se polarizan de una en una. En la siguiente tabla se muestra la secuencia de polarización de las bobinas Tabla 3. Secuencia de polarización las bobinas de paso simple. L1 L2 L3 L4 He x 0 0 0 1 0x01
INGRESAR
¿Perdió su contraseña?
0 1
¿Olvidó su usuario?
Lista de materiales (Puedes encontrarlos en la t ienda virtual HeTPro http://www.hetpro-store.com )
¿Todavía no está registrado?
-
Registrarse
Who's Online Tenemos 19 invitados conectado
1 0
0 0
0 0
0x04 0x08
Programador USBasp V3.0 Microcontrolador AT MEGA8535 Tarjeta controladora de motores Motor Shield L298 Moto r a pasos Push- bott on Fuente de 5V Potenciómetro de 10KΩ
Diagrama Esquemático
Imagenes
A co ntinuacion se muestran imagenes func ionando de la tarjeta con troladora de moto res L298
A co ntinuación t enemos e l programa en lenguaje C, fue desarrollado en AVR St udio y compilado con WinAV R. Este có digo se ut ilizó para de giro y velocidad del motor a pasos, la velocidad es controlada con un potenciómetro el cual es leído por el ADC7 del microcontrolador mediante los valores del ADC se da el tiempo de retardo en los bits de salida del puerto en el que se conecta a la tarjeta controladora de Los botones sirven para seleccionar el tipo de paso y la dirección de giro del motor, como se puede ver en la sección del código tenemos simple y paso completo para diferentes combinaciones de los primeros 2 bits del puerto C. Programa en C
#include avr/io.h //Librería necesaria para las entradas y salidas #include util/delay.h //Librería para usar los ret ardos de t iempo #include avr/interrupt.h // Int errupciones #define Clock 8000000 //Frecue ncia de t rabajo del Microcontro lador //Configuración-ADC... void InicializarADC (void); // Inicialización ADC void IniciarConversionADC(void); // Iniciar conversión ADC unsigned int ConversionADC; //Variable sin signo unsigned int Ret; // V ariable sin signo para los Retardos int main(void) { DDRA = 0x0F; //Se declara el Puerto A co mo salida PORTA =0x01; //Se pone un 1 e n Puert o A DDRD = 0x00; //Se declara el puerto D como e ntrada sei(); //Inte rrupción Global InicializarADC(); //Inicializa el ADC IniciarConversionADC(); //Inicia conversión del ADC for(;;); //Ciclo FOR infinito } ISR(ADC_vect) //V ect or de Int errupción de l ADC { volatile unsigned char ConversionADCL=ADCL; volatile unsigned char ConversionADCH=ADCH; ConversionADC=(ConversionADCH* 256)+ConversionADCL; Ret= ConversionADC; // Se cuenc ia de Polarización de las bobinas en Mo do Paso Simple if (PIND == 0x00) //Giro a la Derecha { PORTA = 0x01; _delay_ms(Ret) ; PORTA = 0x02; _delay_ms(Ret) ; PORTA = 0x04; _delay_ms(Ret) ; PORTA = 0x08; _delay_ms(Ret) ; } else if (PIND == 0x01) //Giro a la Izquierda { PORTA = 0x08; _delay_ms(Ret) ;
PORTA = 0x04; _delay_ms(Ret) ; PORTA = 0x02; _delay_ms(Ret) ; PORTA = 0x01; _delay_ms(Ret) ; } // Se cuenc ia de Polarización de las bobinas en Mo do Paso Complet o else if (PIND == 0x02) //Giro a la derecha { PORTA = 0x09; _delay_ms(Ret) ; PORTA = 0x0C; _delay_ms(Ret) ; PORTA = 0x06; _delay_ms(Ret) ; PORTA = 0x03; _delay_ms(Ret) ; } else if (PIND == 0x03) //Giro a la Izquierda { PORTA = 0x03; _delay_ms(Ret) ; PORTA = 0x06; _delay_ms(Ret) ; PORTA = 0x0C; _delay_ms(Ret) ; PORTA = 0x09; _delay_ms(Ret) ; } IniciarConversionADC (); } // Conf iguración-ADC... void InicializarADC (void) { ADCSRA|=(1<< ADEN)|(1<< ADIE)|(1<< ADPS2) |(1<< ADPS1 )|(1<< ADPS0 ); // Habilitar ADC, interrupción y prescalador(4) ADMUX|=(0<
He TPro