Está en la página 1de 8

IESTP JOSE PARDO

ELECTRÓNICA INDUSTRIAL
CONTROL ELECTRONICO DE MOTORES
INDUSTRIALES
PRACTICA DE LAB: CONTROL ELECTRONICO DE MOTORES MPAP UNIPOLAR

INTRODUCCION
Objetivo
Implementar un algoritmo de control que permita la puesta en marcha de un motor
paso a paso Unipolar con sus respectivas configuraciones.

Marco Teórico
El motor paso a paso es un motor que funciona con corriente continua que permite alta
precisión, baja velocidad y alto torque.

Los motores paso a paso se encuentran tanto unipolares como bipolares. Los motores paso a
paso cuentan con 8, 6, 5 y 4 terminales dependiendo del encapsulado y los puntos comunes que
posea el motor.

El motor paso a paso cuenta con múltiples configuraciones para su funcionamiento; para esta
guía se utilizará medio paso, simple paso y doble torque.

Los motores paso a paso cuentan con los siguientes cálculos:


- Angulo por paso: avance angular por impulso de excitación.

360° /Np = Angulo por paso

Numero de pulsos por vuelta(Np):

360°/ Angulo por paso = Np


L293D – Controlador de motores
CI. L293D

El circuito integrado L293D es un controlador de motores. Esta construido con 4


mitades de puente-H. En este tutorial aprenderás su uso.

El L293D esta construido con partes de puentes-H, como ya se había mencionado. Está
característica nos permite controlar distintas cantidades de motores. Por ejemplo,
puede controlar 4 motores de DC uni-direccionalmente ó 2 motores-dc en ambas
direcciones. También podría controlador un motor a pasos de bi-polar. Como puedes
ver, tiene varias aplicaciones para diferentes motores. 

Una de las principales ventajas del controlador, es que permite una alimentación
independiente para los motores. Por ejemplo, se pueden controlar motores desde los
4.5 Vdc hasta 36 Vdc. Es importante mencionar, que para cuando se manejan potencias
mayores a 5 watts ( P = V*I), se necesita un buen disipador. El voltaje lógico de control
es de 5 Vdc. A pesar de esta restricción, podría ser controlado con lógica de 3.3 V. La
desventaja de usar lógica de 3.3 V es que aún requeriría una fuente de 5 VDC
conectada al pin 16.

Conexiones
A continuación, veremos un poco de las conexiones. Para mayor referencia revisar la
hoja de datos. Las conexiones básicas del L293D dependen de la cantidad de motores
que se usarán. Existen principalmente tres arreglos: 4 motores-dc, 2 motores-dc y 1
motor a pasos uni-polar. En cualquier caso la descripción de los pines se encuentra en
la Figura-1.

Figura-1. Diagrama de pines del controlador de motores L293D.


-Frecuencia de paso máximo: Es el número de pasos por segundo que puede recibir el motor
funcionando adecuadamente.
-Momento de inercia del rotor: Es el torque asociado al motor que se expresa en Kg/cm 2.
-Diagrama de conexiones y tablas de creación

Diagrama de pasos del motor paso a paso


Simple Paso

Medio paso

Doble torque

Materiales
- Arduino1
- Motor paso a paso
- Protoboart
- Fuente DC
- Voltimetro
- ULN2803
- 4 LED
- 2 pulsadores
- 7 resistencias 4.7K
- 4 resistencias 300 ohm
Procedimiento
1) Simulación del movimiento de un motor paso a paso utilizando simple paso, medio paso y
doble torque.
2) Utilizar el programa proteus para probar el algoritmo de control realizado en el lenguaje
arduino.
3) Implementar en una Protoboart el diagrama propuesto y probar el correcto funcionamiento
del algoritmo de control.

1.-Practica de Laboratorio: Motor Paso a Paso Unipolar con Led

#include <Stepper.h>

const int stepsPerRevolution = 300;


Stepper myStepper(stepsPerRevolution, 3, 4, 5, 6);

int stepCount = 0;
void setup() {

void loop() {

int leituraPotenciometro = analogRead(A0);

int velocidadeMotor = map(leituraPotenciometro, 0, 1023, 0, 150);

if (velocidadeMotor > 0) {
myStepper.setSpeed(velocidadeMotor);
myStepper.step(1);
delay(1500);
}
}

2.- Practica de Laboratorio MPAP UNIPOLAR con L293D


#include <Stepper.h>
#define STEPS 200 //Ponemos el número de pasos que necesita para dar una vuelta. 200 en
nuestro caso

// Ponemos nombre al motor, el número de pasos y los pins de control


Stepper stepper(STEPS, 6, 9, 10, 11); //Stepper nombre motor (número de pasos por
vuelta, pins de control)

void setup()
{
// Velocidad del motor en RPM
stepper.setSpeed(100);
}

void loop()
{
//Girar una vuelta entera en un sentido
stepper.step(200);
delay(500); //Pequeña pausa

//Girar una vuelta entera en sentido contrario


stepper.step(-200);
delay(500); //Pequeña pausa
}

3.- Practica de Laboratorio MPAP UNIPOLAR con LCD


#include <LiquidCrystal.h>

LiquidCrystal lcd(6, 7, 8, 9, 10, 11);

#define M1 4
#define M2 3
#define Control 5
#define Pot A0
#define Encoder 2

int vel;
volatile unsigned int ripple,
TRipple = 0;
unsigned long tempo,
THEWORLD=1000;
float RPM;

void HAMON(){
ripple++;
}
void setup()
{
Serial.begin(9600);
pinMode(M1, OUTPUT);
pinMode(M2, OUTPUT);
pinMode(Control, OUTPUT);
pinMode(Encoder, INPUT);
pinMode(Pot, INPUT);

lcd.begin(16,2);
lcd.print("Velocidade:");
lcd.setCursor(13, 1);
lcd.print("RPM");

attachInterrupt(digitalPinToInterrupt(2), HAMON, RISING);


tempo = 0;
}

void loop()
{
vel = map(analogRead(Pot), 0, 1023, 0, 255);

analogWrite(Control, vel);
digitalWrite(M1, 1);
digitalWrite(M2, 0);
delay(20);

if (millis() - tempo > THEWORLD) {


detachInterrupt(0);

lcd.setCursor(0, 1);
lcd.print(ripple);
Serial.println(ripple);

TRipple = TRipple + ripple;


ripple = 0;
tempo = millis();
attachInterrupt(0, HAMON, RISING);

lcd.setCursor(0, 1);
ripple = 0;
delay(200);

RPM = ripple * 6.25;


lcd.print(RPM);

}
}

También podría gustarte