Sie sind auf Seite 1von 5

ELECTRONICA DIGITAL, OCTUBRE DEL 2019 1

Control de motor con microcontrolador


Sebastián Guerrero, Sebastian Castañeda, Diana Martinez
lguerrero26@unisalle.edu.co,jcastaneda82@unisalle.edu.co,dmartinez59@unisalle.edu.co
Universidad de La Salle
Ingenierı́a Electrica

Resumen—La siguiente practica tiene como objetivo realizar microcontrolador el cual fue adquirido con anterioridad. En lo
la programación de un motor DC haciendo uso de microcontro- que sigue del informe se presenta el objetivo de la práctica, en
ladores, se implementará un programa que permitirá el control el cual se encontrarán los criterios usados para la realización de
de la velocidad, arranque, parada e inversión de giro del motor
desde un computador. Se emplearán los conceptos vistos en clase la práctica, en la sección 3 se presentan los aspectos teóricos en
de electrónica digital, aplicados a la solución de problemas. el cual esta los conocimientos teóricos para tener en cuenta del
informe, en la sección 4 se etablece la metodologia a utiliar,
Index Terms—Motor, PWM, Comunicación serial, Microcon-
troladores, Pogramación. en la seccion 5 se presenta la parte experimental donde se
muestra la práctica y también se encontrará el análisis de la
misma, en la sección 6 se presentan las conclusiones obtenidas
I. O BJETIVOS luego de la realización del laboratorio por ultimo en la sección
I-A. Objetivo general 7 se presentan las referencias.
La presente practica tiene como objetivo instruir a los
estudiantes en el uso de microcontroladores aplicados a III. M ARCO TEORICO
la solucion de problemas empleando los conceptos vistos III-A. Microcontrolador
en electronica digital. Es un circuito integrado programable que realiza las ordenes
establecidas en su memoria. Tiene 3 unidades principales
I-B. Objetivos Especificos Unidad central de procesamiento
Configurar las entradas y salidas digitales del microcon- Memoria
trolador para adquirir informacion y visualizar estados Periferios de entrada y salida
logicos. Tambien las partes de un microcontrolador son:
Configurar el puerto serial UART del microcontrolador Modulos
para implementar un canal de comunicacion con un CPU
computador Memotria de datos RAM
Comprender la sintaxis del lenguaje de programación Puertos de entrada y salida
C++ a la hora de definir variables, asignar valores e Memoria del programa
implementar funciones software. Memoria EEPROM de datos
Configurar los puertos ADC (Conversion analogica a
digital) para adquirir senales analogicas externas y tomar
decisiones software. III-B. C++
Configurar los puertos PWM (Modulacion de ancho Es un lenguaje de programacion el cual tiene como objetivo
de pulso) para generar senales cuadradas de ciclo util expandir el lenguaje de programacion de C mecanismos para
variable. la manipulacion de objetos
Configurar las interrupcciones hardware para determinar
las acciones a ejecutar sobre el motor. III-C. Motor paso a paso
Es un dispositivo electromecanico que onvierte una serie de
II. I NTRODUCCION impulsos electricos en desplazamientos angulares discretos, lo
La siguiente practica busca entender de una mejor manera que es significa esto es que es capaz de girar una cantidad de
el concepto de microcontroladores, se observará el uso que grados dependiendo de las entradas de control
se le puede dar y sus múltiples aplicaciones. Dada la estruc-
tura que estos dispositivos contienen, permiten que se pueda III-D. PWM
programar de tal manera que puedan facilitar los procesos.
En esta práctica se requiere controlar un motor paso a paso La modulación por ancho de pulsos de una señal o fuente de
desde un computador, para esto se utilizará un puerto de energı́a es una técnica en la que se modifica el ciclo de trabajo
comunicación serial y para poder lograr esto se utilizarán un de una señal periódica, ya sea para transmitir información
a través de un canal de comunicaciones o para controlar la
cantidad de energı́a que se envı́a a una carga.
ELECTRONICA DIGITAL, OCTUBRE DEL 2019 2

III-E. Comunicación serial necesarias para lograr este objetivo, utilizando el teclado del
Es el proceso de envı́o de datos de un bit a la vez, de forma computador.
secuencial, sobre un canal de comunicación o un bus
IV-B. Diagrama de flujo
III-F. Circuito integrado L293B
Un motor de continua determina su dirección de giro En la figura 2, se observa el diagrama de flujo que des-
en función de la tensión entre sus terminales, es decir si cribe la metodologı́a para conseguir el control de motor con
conectamos el termina 1 del motor al Positivo de la pila y microcontrolador.
el terminal 2 del motor al Negativo de la pila, obtendremos
un sentido de giro determinado, si lo conectamos en forma
opuesta obtendremos el sentido de giro contrario.
Para lograr este cambio controlado de polaridad nos apoya-
mos en un circuito integrado conocido como Puente H(es una
disposición circuital de transistores y diodos que nos permite
controlar la polaridad de dos terminales de salida en función
de unas entradas lógicas), como caso particular hablare del
Puente H L293B.
Es importante tener en cuenta que este integrado se alimenta
con dos niveles de tensión diferente, uno corresponde a la
alimentación propia de integrado, que no debe ser superior a
7V(VSS) y otra es la tensión con la que alimentaremos los
motores, pudiendo en este ultimo hacerlo con hasta 36V(VC).

[scale=0.4]
Figura 1. Conexión L293B [
Figura 2. Diagrama de flujo
IV. M ETODOLOGIA
IV-A. Configuración del motor
En el desarrollo de esta práctica se implementó un IV-C. Diagrama de Bloques
algoritmo para controlar el motor desde el microcontrolador. Se presenta la figura 3 la cual representa el diagrama de
Se generó una señal PWM de frecuencia de 1kHz y ciclo útil bloques utilizado, en donde se tienen 27 estados, los cuales
variable, en donde el efecto deseado es que el ciclo útil debe son importantes para definir la cantidad de bits. Ası́ siendo 27
aumentar desde 10 % hasta el 90 % en base a la posición de la un valor a por medio de 2n = a, n representa el número de
perilla del potenciómetro. Dicho ciclo útil provocó un aumento bits. Despejando esta, se obtiene n = 5. Para el desarrollo de
o disminución de la velocidad de giro del motor. la maquina se trabaja con 5 bits. Se cuenta con 6 entradas
Para la configuración del motor se realizó el montaje con las cuales están ubicadas en las transiciones del diagrama
el integrado L293B, se configuró una entrada digital del de estados. l, p, a, d y g son entradas que son configuradas
microcontrolador para determinar el sentido de giro del motor, por medio del teclado del computador, cada una teniendo una
de tal forma que cuando se presione una tecla, el micro función actuando en el momento de reconocer un ”1” lógico.
controlador deberá frenar el motor y posteriormente invertir Finalmente, se tienen dos salidas las cuales son dos PWM que
el sentido de giro. Se configuraron cinco salidas digitales cumplen la función de incrementar o decrementar la velocidad,
ELECTRONICA DIGITAL, OCTUBRE DEL 2019 3

ası́ mismo, según el primer PWM que se encienda es el sentido Cuadro II


de giro del motor. TABLA L ÓGICA DE ESTADO SIGUIENTE

estados
S0= pwm 1 y 2=0
S1= derecha 20ms Alto 1
S2=derecha 40ms Alto 2
S3=derecha 60ms Alto 3
S4=derecha 80ms Alto 4
S5=derecha 100ms Alto 5
S1’= izquierda 20ms Alto 1’
S2’=izquierda 40ms Alto 2’
S3’=izquierda 60ms Alto 3’
S4’=izquierda 80ms Alto 4’

Figura 3. Diagrama de bloques

IV-E. Tabla de verdad, lógica de salida


IV-D. Tabla de verdad, lógica de estado siguiente
Para el desarrollo de la tabla de verdad de la lógica de estado
siguiente se presenta los cuadros I y II. Realizando el análisis
de cada tecla ´que se accione (entradas) en cada estado, el cual
se cada tecla tiene una acción diferente y de esta manera lleva Se realiza la tabla de verdad de la lógica de salida teniendo
a diferente estado o simplemente permanece en el estado que en cuenta las salidas que se muestran en el diagrama de
se encuentra. bloques de la figura 2. Estas se hacen con los 27 estados,
el cual según como se definió el estado S1 arranca el motor
Cuadro I girando a la izquierda, y el estado S1’ gira a la derecha al
TABLA L ÓGICA DE ESTADO SIGUIENTE momento de arrancar el motor. La tabla es presentada en el
cuadro III
RST l p a d g Estado actual Estado siguiente
0 0 0 0 0 0 S0 S0
0 1 0 0 0 0 S0 S1
0 0 1 0 0 0 S1 S1’
0 0 0 0 1 0 S1 S2
0 0 0 0 1 0 S2 S3
0 0 0 1 0 0 S3 S2
Cuadro III
0 0 1 0 0 0 S2 S2’
TABLA L ÓGICA DE SALIDA
0 0 0 0 0 1 X STOP X
0 1 0 0 0 0 S2’ S2’ Estado actual Salidas
0 0 1 0 0 0 S2’ S2 PWM1 PMW2 Velocidad (ms)
0 0 0 0 1 0 S2’ S3’ S0 0 0 0
0 0 0 1 0 0 S3’ S2’ S1 1 0 20
0 1 0 0 0 0 S3’ S3’ S1’ 0 1 20
0 0 0 0 1 0 S3’ S4’ ALTO1 0 0 20
0 0 0 1 0 0 S4’ S3’ ALTO1’ 0 0 20
0 0 1 0 0 0 S4’ S4 S2 1 0 40
0 0 0 0 1 0 S4 S5 S2 ’ 0 1 40
0 0 1 0 0 0 S5 S5’ ALTO2 0 0 40
0 1 0 0 0 0 S5’ S5’ ALTO2 ’ 0 0 40
0 0 0 0 1 0 S1’ S2’ S3 1 0 60
0 0 0 1 0 0 S2’ S1’ S3 ’ 0 1 60
0 0 1 0 0 0 S1’ S1 ALTO3 0 0 60
0 0 0 1 0 0 S5’ S4’ ALTO3 ’ 0 0 60
0 0 0 0 1 0 S3 S4 S4 1 0 80
0 0 1 0 0 0 S3 S3’ S4 ’ 0 1 80
0 0 0 0 1 0 S4’ S5’ ALTO4 0 0 80
0 0 0 1 0 0 S2 S1 ALTO4 ’ 0 0 80
0 0 1 0 0 0 S3’ S3 S5 1 0 100
0 0 1 0 0 0 S4 S4’ S5 ’ 0 1 100
0 0 1 0 0 0 S5’ S5 ALTO5 0 0 100
0 1 0 0 0 0 STOP X X ALTO5 ’ 0 0 100
0 0 0 1 0 0 S5 S4
0 0 0 1 0 0 S4 S3
1 X X X X X X S0
ELECTRONICA DIGITAL, OCTUBRE DEL 2019 4

V. D ESARROLLO DE LA PRACTICA En el caso a, para aumentar velocidad, se estableció un


V-A. Código implementado incremento de 0.05f, para la derecha y de lo contrario para la
izquierda, de igual forma se hizo para el caso d pero con una
disminución de velocidad de 0.05f.

Figura 6. Código implementado


Figura 4. Código implementado

En la figura 4 se presenta la primer parte del código utilizado La inversión de giro caso g, se establece de tal forma que
para realizar el proceso del problema planteado, se establecen al ser giro a la derecha 0 y giro a la izquierda mayor a 0,
las salidas pwm, izquierda y derecha, serial pc(USBTX / este presentara un giro a la izquierda y de lo contrario a la
USBRX) que representa los pines que se dirigen al puerto derecha, con un tiempo de espera de inversión de 0.5f.
serie USB de la interfaz para que pueda comunicarse a el
computador. Se establece un periodo de 0.00003333, para
controlar el pwm y las variables de salida para observar el
control y función de cada letra establecida. V-B. Montaje
Se plantea la lógica de estado teniendo en cuenta las
especificaciones de la figura 2, se plantea una condición while,
que se ejecuta mientras la condición se evalúa como verdadera.
Se presenta el caso ı̈”, implementado para arrancar el motor,
se establece un arranque hacia la derecha con un incremento
de 0.4 en la frecuencia.

Figura 7. Montaje

Se utilizó un motor DC, el cual estaba alimentado con


una fuente de voltaje a 12 V, también en el circuito se
utilizó una tierra lógica la cual provenı́a de la tarjeta, al igual
que una entrada lógica la cual tenı́a un voltaje de 3.3 V, se
utilizaron diodos para poder proteger el motor, en dado caso
si se presentaba una anomalı́a, también se utilizó el circuito
Figura 5. Código implementado integrado para desarrollar la práctica, se realizó el uso del
driver para poder realizar la presente práctica. Ya realizada la
En la figura 5 se presentan el caso p para detener, en él se debida conexión, se procede a realiza la comprobación con
indica que al ser de igual valor la frecuencia de giro hacia la el software TERMITE, el cual permitı́a realizar el control del
derecha e izquierda, este se va a detener. motor con su respectiva programación.
ELECTRONICA DIGITAL, OCTUBRE DEL 2019 5

[4] Karnopp, D y Rosenberg, Introduction yo Physi-


cal System Dynamics, Mc. Graw Hill, New York, 1983.
[5]http://www.alegsa.com.ar/Dic/se

Figura 8. Termite

Para poder desarrollar la práctica se realizó un código en


MBED, para poder generar el código se tenı́a que hacer de
tal manera que se pudiera controlar el motor en TERMITE,
el cual fue programado con I(Inicio) haciendo que el motor
girara hacia la izquierda, se colocó P(Parar) para detener
el motor, G(Girar) para hacer que el motor cambiara su
dirección y conservara la velocidad que este llevaba, también
se programó A(Aumentar) y D(Disminuir) para controlar la
velocidad del motor. Finalmente también se programó el motor
de tal manera que a medida que se disminuyera su velocidad
no se llegara a menos cero ya que esto no es permitido y
podrı́a afectar el resultado que se quiere tener, para esto se
puso en el código una lı́nea la cual permitı́a llegar hasta un
mı́nimo la velocidad del motor.

VI. C ONCLUSIONES
Por medio del microcontrolador se logró identificar la
información correspondiente por medio de los estados lógicos,
que permitieron visualizar las transiciones respectivas entre
cada estado, permitiendo ası́ obtener diferente información a
la salida de cada uno de los estados. Se desarrolló el lenguaje
de programación de C++ por medio de un software MED que
permite realizar códigos por medio de plantillas predetermi-
nadas con el fin de realizar la programación, de igual forma
basándose en bibliotecas donde se conocı́an los diferentes
comandos de programación. Se realizó la configuración de los
puertos PWM por medio de una programación en C++, que
permitió transformar un pulso análogo de un potenciómetro
a una señal cuadrada vista en un osciloscopio, obteniendo
ası́ una variación del ancho de la señal, al momento de variar
el potenciómetro, ya sea para ´ampliar y reducir la señal.

VII. R EFERENCIAS
[1] Thomas L. Floyd, 9na Edición; Fundamentos de Siste-
mas Digitales.
[2] Pendino, C, Fundamentos de Control, Instituto Politecnico,
2002.
[3] https://es.slideshare.net/Luisaregino/sistemas-mecnicos.

Das könnte Ihnen auch gefallen