Está en la página 1de 7

1

ódigo de arduino105
2

Primer laboratorio control


Bryan David Rosas Rojas - 97071908228
Camilo Antonio Suarez
Carlos Alfredo Martı́nez Hernández - 1020824649

Resumen—In this document, we show the characterization and


usage of a DC brushed motor from LEGO NXT. We start by
describing the mathematical model which describes the motor
and then deduce the numerical values needed. We then proceed
to show the encoder’s output when the motor is running. We
use this information to find the relationship between cuadrature
frequency and angular velocity of the motor. We end by proposing
a simple sequential logic circuit to decode rotation direction from
the quadrature signals.

Figura 2: Módelo circuital de un motor DC con escobillas


Objetivos
Un motor de CC con escobillas con bobinado en dereivación
1. Comprender todos los mecanismos que están involucra-
tiene las bobinas de campo del rotor y el estator conectadas
dos en el control del motor DC con escobillas. 2. A través del
en paralelo y funciona a una velocidad constante indepen-
entorno de desarrollo arduino NANO controlar la velocidad
dientemente de la carga.Ésta autoregulación se utiliza con
de un moto con el concepto de PWM.
mucha frecuencia en procesos industriales que requieran de
ésta caracteristica.
Los parámetros fı́sicos del motor son:
I. INTRODUCCI ÓN
J: momento de iniercia del motor.
ke : constante de la fuerza electromotriz.
En el siguiente informe se puede ver como resultado la
kt : constante de torque del motor.
familiarización de los instrumentos de trabajo que ayudarán
L: inductancia eléctrica.
al desarrollo de posteriores prácticas y ser utilizados en el
R: resistencia eléctrica.
proyecto final. Ası́, se trabajó con el motor de escobillas LEGO
Mindstorms NXT y la tarjeta de desarrollo arduino NANO con Se asume que Ke y Kt son iguales.Para poder obtener
el fin de controlar la velocidad del motor mediante el uso del un modelo dinámico completo del motor con escobillas es
PWM por medio del arduino. necesario aplicar dos leyes fundamentales: La segunda Ley
de Newton y las leyes de Kirchoff. De ésta manera, las
ecuaciones eléctricas y mecánicas quedarı́an de la siguiente
manera:
II. MARCO TE ÓRICO
di(t)
u(t) = Ri(t) + L + Kf ∗ ω(t)
Modelo dinámico de un motor de escobillas dt
y
d2 ω dω
Kt i = J 2
+B
dt dt
Las cuáles, pasándolos al dominio de Laplace se obtiene:
U (s) = (R + sL)I(s) + Kf ∗ ω(s)
y
Kt i = Js2 ω + Bsω
. Dónde cada una de las expresiones representan lo siguiente:
u(t) : F uentedelaentradadelsistema.
Ri(t) : Latensiónenlaresistenciadelmotor.
L di(t)
dt : Tensión en la bobina del motor.
ω(t)Kf : La fuerza electromotriz que es inducida por una
corriente en el rotor, la cual es generada por una tensión
Figura 1: Módelo tı́pico de un motor DC con escobillas u(t) en el motor.
3

sumarle el momento polar de inercia del eje de aluminio.


Primero debemos encontrar la masa de los dos cuerpos y luego
se procede a calcular de forma directa J.

Figura 3: Datos fabricante V1 = πr1 2 h1 − πr2 2 h1 = 6,068 ∗ 10− 6


kg
m1 = V1 ∗ 8050 = 0,04885
m3
Kt i: Torque electromagnñetico debido al campo
magnético en el estator. J1 = 2,4973 ∗ 10− 6
B: Es el torque debido a la fricción que se genera en el
rotor dependiendo de la velocidad con que este gira.
2 V2 = πr2 2 h2 = 2,12 ∗ 10− 7
J dω
dt2 : Es el torque generado debido a la fricción entre
el motor y la carga. kg
m2 = V1 ∗ 2700 = 5,724 ∗ 10− 4
A partir de las ecuaciones obtenidas en el dominio de Laplace, m3
se calcula la función de transferencia H(s) como la razón entre J2 = 6,4395 ∗ 10− 10
ω(s) y U (s), llegando a la siguiente expresión:
ω(s) Kt
H(s) =
U (s)
= 2
(s + sB)(R + Ls) + Kf Kt S J = 2,49797 ∗ 10− 6

Para calcular cada una de las constantes se siguen varios La inductancia se puede asumir como 1mH.
procedimientos:
Se tienen en cuenta los siguientes parámetros del fabricante, En un procedimiento similar para obtener la función de
Para el cálculo del momento de inercia debido a la unión entre transferencia entre la velocidad y la tensión en el motor, se
el motor y la carga se tiene la expresión: halla la funciñon de transferencia para la salida de la velocidad
1 considerando la entrada como el torque:
J= mR12
2
Si se asumenq ue el eje es completamente de aluminio y su ω(s) v(s)
= 2
volumen es aproximado a 0,212cm3 y la densidad del aluminio T (s) i(s)((s + sB)(R + Ls) + (Kf Kt )s)
es 2,7g/cm3 entonces la masa será de 0,572g y J: Con ayuda del software MATLAB y simulink se construye
1 el diagrama de bloque y la respuesta al impulso.
J = (0,572g)(0,15cm)2 = 6,435 ∗ 10−3 g ∗ cm2
2
De dónde si se utiliza la relación entre el actuador y motor se
pueden obtener:
τ = 0,0164N m
V elocidadenvacı́o = 607,2rad/s
Para el cálculo de R se tiene en cuenta las especificaciones
del fabricante. Como el motor trabaja a 7V y a ésta tensión
tiene un a corriente de 1,573A entonces R se calcula como: Figura 4: Diagrama de bloques para la función de transferencia
obtenido con simulink
7V
R= = 4,45Ω
1,573A
Para el cálculo de la constante Kt se tiene en cuenta que la
corriente del motor en paro es 1,573A , es decir, mientras su
velocidad angular es cero utilizando la relación:

τ = Kt ∗ i(t)
ası́, la constante tiene el siguiente valor:
τ 0,0164
Kt = = = 10,4 ∗ 10−6
i(t) 1,573
Para el cálculo de b contamos con la siguiente expresión:
Kt ∗ i
B= = 2,58 ∗ 10−6
ω
Para obtener el momento polar de inercia debemos primero
calcular el momento polar de inercia del rotor de acero y Figura 5: Gráfica de la respusta al impulso
4

Consulte qué es la plataforma Arduino, cuáles son sus ventajas precauciones para evitar accidentes, serı́a fijar muy bien el
y desventajas y de qué se compone. Se debe revisar en qué punto y la conexión a tierra del circuito.
microcontrolador está basado, los periféricos con los que
cuenta y las caracterı́sticas del procesador.
Arduino es una plataforma de hardware y software abier-
tos. Está diseñada para facilitar la programación de sistemas
embebidos basados en microcontroladores y consiste en una
placa con un microcontrolador AVR, el hardware, y una IDE
en la cuál se desarrolla el software. Juntos permiten desarrollar
proyectos que requieran el uso de microcontroladores de forma
más sencilla que si se hiciera de forma tradicional.
La principal ventaja de Arduino es ser software libre. Gracias
a esta razón se encuentran códigos para distintas aplicaciones Figura 6: Diagrama de funcionamiento del puente H
realizados por otros usuarios de Arduino. Esto también signi-
fica que existen gran cantidad de librerı́as que simplifican la Consulte qué es la modulación PWM, formas de implemen-
labor de interactuar con otros periféricos, como por ejemplo tarlas en un puente H?,
matrices LED, servomotores, entre otros. Es conocida como la modulación por ancho de pulsos, que
Su principal desventaja viene dada por las limitaciones de es la traducción de ”pulse width modulation”, es una técnica
la plataforma. Arduino está basado en microcontroladores en la que se modifica el ciclo de trabajo de una señal periódica,
de 8bits, por lo que carecen de la potencia de computación sirve para controlar la cantidad de energı́a que se envı́a a una
para realizar tareas demandantes. Por otro lado, ya que en carga.
términos de software está pensado para ser un lenguaje de La opción más conveniente consiste en darle diferentes valores
alto nivel, se pierde la capacidad de trabajar estrechamente (0 y 1) a los 4 nodos del puente H para poder controlar el
con el hardware si fuera necesario. En estas ocaciones seguirı́a sentido de giro, teniendo cuidado cual de los nodos deben ser
siendo obligatorio utilizar C o Assembly para programar el alimentados para evitar riesgos.
microcontrolador.
Como se dijo antes, Arduino utiliza un microcontrolador
Consulte los tipos de encoders que se utilizan, ¿cuál se usa
AVR de 8 bits, con una velocidad de reloj de 16MHz. Esto
para qué y por qué?, ¿Cuál usarı́a si desea hacer control de
quiere decir que es capaz de ejecutar diecisein millones de
velocidad y de posición?
instrucciones por segundo. Además de esto cuenta con una
memoria de programa de 32KB, que permite el desarrollo de Encoder óptico: Se trata del tipo de encoder más usado
programas bastante grandes. y está compuesto por una fuente emisora de luz, un disco
El ATmega328 con el que cuentan las placas Arduinos cuenta giratorio y una detector de luz “foto detector”.
con una EEPROM de 1KB; comunicación digital por medio Encoder Lineal: Es un dispositivo o sensor que cuenta
de UART, SPI e I2C; un módulo de captura y generación de con una escala graduada para determinar su posición. Los
PWM, dos timers de 8 bits, un timer de 16 bits, un comparador sensores en el encoder leen la escala para después convertir
análogo y 22 puertos I/O digitales. su posición codificada en una señal digital que puede ser
interpretada por un controlador de movimiento electrónico.

-A. Puente H Encoder absoluto: Los encoders absolutos ofrecen un códi-


go único para cada posición y se dividen en dos grupos:
¿Qué es?: Es un circuito electrónico que le da la facilidad los encoders de un solo giro y los encoders absolutos de
a un motor DC girar en ambos sentidos, avance y retroceso. giro múltiple. Su tamaño es pequeño, lo que permite una
¿De qué se compone?: El elemento más destacable son los integración más simple.
4 transistores que lo componen, algunos diodos rectificadores Encoder incremental: Se trata de un tipo de encoder óptico,
y resistencias. También, pueden estar compuestos por relés. que determina el ángulo de posición a raı́z de realizar cuentas
¿Qué precauciones deben tenerse a la hora de implemen- incrementales, donde cada posición es completamente única.
tarlo?, ¿requiere esto una lógica adicional?: Tener mucho Encoder de cuadratura: Es un tipo de encoder rotativo
cuidado al momento de energizarlo, debido que si es conectado incremental el cual tiene la capacidad para indicar la posición,
de la forma incorrecta el + con el - se podrı́a generar un corto dirección y velocidad del movimiento.
y quemarı́a el puente. En relación a sus aplicaciones, podemos encontrarlos en
¿Qué implicaciones tiene el fallo de alguna rama de in- muchos productos eléctricos de consumo y en una infinidad
terruptores?, ¿existen precauciones para tomar en caso de de aplicaciones comerciales. Entre sus principales ventajas
fallo?: Podrı́a pasar que al no haber el accionamiento del destaca su flexibilidad, sencillez y durabilidad.
interruptor, no se cerrarı́a el circuito de alimentación del
motor, por tal motivo el motor no arrancarı́a. También podrı́a El encoder que vamos a utilizar para realizar el laboratorio
ocurrir que si el interruptor no se abre el motor estarı́a en es el encoder de cuadratura, ya que da la facilidad de obtener
funcionamiento ya que el circuito estarı́a cerrado. Una de las la velocidad en la que opera el motor.
5

III. METODOLOG ÍA


V. AN ÁLISIS DE RESULTADOS
El motor del kit lego es alimentado directamente por una
fuente DC, la salida de la fuente DC se variará sin superar
los 7V. Para alimentar el motor se utilizan los pines negro y
blanco del motor. Al arduino se conecta el pin verde a 3,3V
y el pin rojo a tierra, cada canal del osciloscopio se conectará
al pin azul y amarillo.

Comportamiento del motor


Por medio del osciloscopio, se obtuvieron las señales del
encoder del motor. De esta forma, se logró determinar la
secuencia del encoder según la dirección de giro. Como se
puede ver en las siguientes imagenes:

Figura 9: Señal salida encoder con una secuencia en avance

Para determinar si el motor está avanzando, tenemos que


tener en cuenta que cuando la señal A cambia de flaco, de 1
a 0, la señal B está en 1 sin aún realizar el cambio de flanco.

Implementación PWM

Figura 7: Señal salida encoder

Figura 10: Ejemplo FADE de arduino IDE

Para realizar las pruebas con el PWM, se utilizó el ejemplo


”FADE”. La salida de dicho código es el pin 9 y debe ser
conectado a la entrada del puente H. Es una señal cuadrada
que aumenta su ancho de 0 hasta 25 que va aumentando 5
Figura 8: Señal salida encoder con una secuencia en retroceso cada loop.
El código del ejemplo varı́a en el analogWrite, al brightness
Para determinar si el motor está retrocediendo, tenemos que se le da diferentes valores de 0 a 100 % dando la posibilidad
tener en cuenta que cuando la señal A cambia de flaco, de 1 de variar el ciclo útil de la señal, siendo 255 el 100 %. Ası́,
a 0, la señal B está en 0 sin aún dar el cambio de flanco. la resolución del PWM obtenido desde arduino Nano es de
6

8bits. Para variar la señal se multiplica por el factor deseado


de 0 a 1. Al realizar una variación en su ciclo util, se obtuvo:

Figura 13

Figura 11: PWM antes del driver

Figura 12 Figura 14
7

Figura 17: Salida en adelanto

Figura 15

Figura 18: Salida en atraso


Decodificador de Cuadratura
V. CONCLUSIONES
Por último, para encontrar el sentido de giro a partir de la 1. Se comprendió el funcionamiento del puente H y su
cuadratura obtenida, proponemos el uso de un solo registro utilidad para ser implementando en el control de un motor
flip-flop tipo D, el cuál recibe como entrada de reloj una de DC con escobillas.
las señales de cuadratura, y la otra señal como entrada en 2. Las señales controladas por PWM a través del arduino nos
D. Esto hace que el registro siempre registre si una de las dan una precisión suficiente para poder controlar el motor a
señales está en atraso o en adelanto con respecto a la otra, lo la velocidad que se necesite o desee.
que significa que la salida será cero cuando el motor gire en 3. La comprensión de las leyes básicas permiten aplicarse a
una dirección y será 1 cuando gire en la otra. A continuación la teorı́a de control para poder diseñar sistemas y modificar
mostramos el esquemático y las simulaciones correspondientes parámetros a la hora de realizar un proceso de control.
que demuestran que el circuito cumple su objetivo.
R EFERENCIAS
[1] C.-T. Chen, Analog and digital control system design : transfer-function,
state-space, and algebraic methods. Oxford University Press, 1993.
[2] M. F. Golnaraghi, B. C. Kuo, and M. F. Golnaraghi, Automatic control
systems. Wiley, 2010.
[3] P. Biswas Deb, O. Saha, S. Saha, S. Paul, Dynamic Model Analysis
of a DC Motor in MATLAB https://www.ijser.org/researchpaper/Dynamic-
Model-Analysis-of-a-DC-Motor-in-MATLAB.pdf

Figura 16: Circuito secuancial

A partir de 16 se obtiene:

También podría gustarte