Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Función de transferencia Motor Encoder, Apuntes de Microcontroladores

Encontrar la función de transferencia del motor Encoder mG30

Tipo: Apuntes

2020/2021
En oferta
30 Puntos
Discount

Oferta a tiempo limitado


Subido el 02/05/2021

jonnathan-capon
jonnathan-capon 🇪🇨

5

(2)

3 documentos

1 / 6

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
FACULTAD DE INGENIERÍA
MICROCONTROLADORES
Motor Encoder EMG30
Capón Chicaiza Jonnathan Xavier
xavier.capon@ucuenca.edu.ec
RESUMEN
El presente trabajo tiene como finalidad obtener
la simulación de transferencia del motor
EMG30, además simular en el programa
Simulink, así como controlar su velocidad
utilizando el programa Arduino.
I. OBJETIVOS
-Obtener la función de transferencia
del motor EMG30.
-Realizar la simulación en Simulink
de la función obtenida.
-Controlar la velocidad del motor
mediante un controlador PI, y
realizar la simulación en Proteus.
II. INTRODUCCIÓN
El motor de corriente continua es una máquina
que convierte la energía eléctrica en mecánica,
provocando un movimiento rotatorio. Esta
máquina de corriente continua es una de las más
versátiles en la industria. Su fácil control de
posición, paro y velocidad la han convertido en
una de las mejores opciones en aplicaciones de
control y automatización de procesos. A pesar de
esto los motores de corriente continua se siguen
utilizando en muchas aplicaciones de potencia
(trenes y tranvías) o de precisión (máquinas etc.)
La principal característica del motor de corriente
continua es la posibilidad de regular la velocidad
desde vacío a plena carga.
Figura 1. Motor EMG30
En la figura 1 se muestra un motor de corriente
continua EMG30 es de 12V y 170 revoluciones
que se caracteriza por incluir un Encoder o
codificador de cuadrante que
manda un tren de impulsos cuando gira el eje del
motor, permitiendo así que un circuito externo
pueda saber la velocidad real a la que está
girando el eje y cuantas vueltas da. El Encoder
está formado por dos sensores de efecto hall que
proporcionan un total de 360 pulsos por cada
vuelta completa del rotor. El motor cuenta con
condensadores internos de filtro que ayudan a
minimizar el ruido y los parásitos generados por
el motor al girar.
III. FUNCIÓN DE TRANSFERENCIA
Para determinar su modelo matemático nos
basamos en la figura 2, la cual muestro un
modelo matemático equivalente del motor.
Figura 2. Dinámico de un sistema electromecánico con Motor
DC
El modelo matemático ha sido basado en la
teoría de máquinas eléctricas 5ta edición de
Jesús Fraile Mora.
Partimos de la siguiente ecuación diferencia:
Rai
(
t
)
+La di
dt +e
(
t
)
=V
(
t
)
ecuación1
El torque del motor vendrá dado por:
Jm dw(t)
dt =Tm
(
t
)
Bw
(
t
)
ecuación2
Donde:
Jm=momento de inercia
B=Coeficiente de fricción dinámico
1
pf3
pf4
pf5
Discount

En oferta

Vista previa parcial del texto

¡Descarga Función de transferencia Motor Encoder y más Apuntes en PDF de Microcontroladores solo en Docsity!

MICROCONTROLADORES

Motor Encoder EMG

Capón Chicaiza Jonnathan Xavier xavier.capon@ucuenca.edu.ec RESUMEN El presente trabajo tiene como finalidad obtener la simulación de transferencia del motor EMG30, además simular en el programa Simulink, así como controlar su velocidad utilizando el programa Arduino.

I. OBJETIVOS

- Obtener la función de transferencia del motor EMG30. - Realizar la simulación en Simulink de la función obtenida. - Controlar la velocidad del motor mediante un controlador PI, y realizar la simulación en Proteus.

II. INTRODUCCIÓN

El motor de corriente continua es una máquina que convierte la energía eléctrica en mecánica, provocando un movimiento rotatorio. Esta máquina de corriente continua es una de las más versátiles en la industria. Su fácil control de posición, paro y velocidad la han convertido en una de las mejores opciones en aplicaciones de control y automatización de procesos. A pesar de esto los motores de corriente continua se siguen utilizando en muchas aplicaciones de potencia (trenes y tranvías) o de precisión (máquinas etc.) La principal característica del motor de corriente continua es la posibilidad de regular la velocidad desde vacío a plena carga. Figura 1. Motor EMG En la figura 1 se muestra un motor de corriente continua EMG30 es de 12V y 170 revoluciones que se caracteriza por incluir un Encoder o codificador de cuadrante que manda un tren de impulsos cuando gira el eje del motor, permitiendo así que un circuito externo pueda saber la velocidad real a la que está girando el eje y cuantas vueltas da. El Encoder está formado por dos sensores de efecto hall que proporcionan un total de 360 pulsos por cada vuelta completa del rotor. El motor cuenta con condensadores internos de filtro que ayudan a minimizar el ruido y los parásitos generados por el motor al girar.

III. FUNCIÓN DE TRANSFERENCIA

Para determinar su modelo matemático nos basamos en la figura 2, la cual muestro un modelo matemático equivalente del motor. Figura 2. Dinámico de un sistema electromecánico con Motor DC El modelo matemático ha sido basado en la teoría de máquinas eléctricas 5ta edición de Jesús Fraile Mora. Partimos de la siguiente ecuación diferencia: Rai ( t ) + La di dt

  • e ( t )= V ( t ) ecuación 1 El torque del motor vendrá dado por: Jm dw ( t ) dt = Tm ( t ) − Bw ( t ) ecuación 2 Donde: Jm = momento de inercia B = Coeficiente de fricción dinámico

MICROCONTROLADORES

La tensión de armadura viene dada por: e ( t )= Kbw ( t ) ecuación 3 Donde: Kb = Constante de la fuerza contra electromotriz El torque mecánico de igual manera se relaciona como: Tm ( t )= Kii ( t ) ecuación 4 Donde: Ki = C onstante del motor ( torquecorriente ) Aplicando la transformada de Laplace a cada una de las ecuaciones se tiene que: ecuación 5 V ( s )= Lasi ( s ) + Rai ( s )+ Ea ( s ) ecuación 6 Jsw ( s )= Tm ( s ) − Bw ( s ) ecuación 7 e ( S )= Kbw ( s ) ecuación 8 Tm ( s ) = Kii ( S ) Reemplazando la ecuación 8 en la ecuación 6 se tiene que: Jmsw ( s )= Kii ( s )− Bw ( s ) Despejando i(s) se tiene que ecuación 9 i ( s )= ( Jmsw^ (^ s^ )+ Bw^ (^ s^ )) ki Reemplazando la ecuación 7 en la ecuación 5 se tiene que: ecuación 10 V ( s )= Lasi ( s ) + Rai ( s )+ Kbw ( s ) Relacionando la ecuación 9 y la ecuación 10 se tiene: V ( s )= Las ∗( Jmsw ( s ) + Bw ( s ) (^) ) ki

  • Ra ∗( Jmsw ( s ) + Bw ( s ) (^) ) ki
  • Kbw ( s ) Vki = w ( JmLas 2
  • BLas + RaJms + BRa + kbk W ( s ) V ( s )

ki JmLas^2 + ( BLa + RaJm ) s + BRa + kbki En la figura 3 se muestra cada uno de los parámetros del motor EMG30. Figura 3. Parámetros del Motor EMG ecuación 11 Función de transferencia que relaciona la entrada voltaje con la salida velocidad angular del eje en la carga mecánica. W ( s ) V ( s )

19.28 x 1 0 − 6 s 2

  • 40.27 x 1 0 − 3 s + 265.7 x 1 0 − 3

IV. SIMULACIÓN

A continuación, se realiza la simulación del modelo matemático obtenido en Simulink. En la Figura 4 se puede observar cada uno de los bloques utilizados para la simulación.

MICROCONTROLADORES

lcd.begin(16, 2); } void loop() { lcd.setCursor(0, 0); lcd.print("Count: "); lcd.setCursor(7, 0); lcd.print(counter); if (digitalRead(button) == LOW) { counter = 50; } segundovalor_a= digitalRead(outputA); // Reads the "current" state of the outputA // If the previous and the current state of the outputA are different, that means a Pulse has occured if (segundovalor_a != primervalor_a) { // If the outputB state is different to the outputA state, that means the encoder is rotating clockwise if (digitalRead(outputB) != segundovalor_a) { counter ++; } else { counter --; } if (counter >= 100) { counter = 0; } if (counter < 0) { counter = 99; } } primervalor_a = segundovalor_a; // Updates the previous state of the outputA with the current stat }

MICROCONTROLADORES

Simulación en Proteus En la figura 8 se muestra la simulación realizada en Proteus, la cual consta de un LCD, que nos permita mostrar los pulsos que recibe, además cuenta con el Encoder que nos permitirá observar su funcionamiento. Figura 7. Simulación Encoder Proteus Controlador PI A continuación, se muestra el código a implementar para realizar un control PI, el cual nos permitirá realizar un control continuo de la velocidad del motor, básicamente su función es reducir el error en estado estable y obtener una respuesta rápida ante variaciones de velocidad. // Asignaciones pins const int PIN_INPUT = A0; const int PIN_OUTPUT = 3; // Constantes del controlador double Kp=2, Ki=5, Kd=1; // variables externas del controlador double Input, Output, Setpoint; // variables internas del controlador unsigned long currentTime, previousTime; double elapsedTime; double error, lastError, cumError, rateError; void setup () { Input = analogRead(PIN_INPUT); Setpoint = 100; } void loop () { pidController.Compute(); Input = analogRead(PIN_INPUT); // leer una entrada del controlador Output = computePID(Input); // calcular el controlador Delay (100); analogWrite (PIN_OUTPUT, Output); // escribir la salida del controlador } double computePID double inp) { currentTime = millis (); // obtener el tiempo actual elapsedTime = (double) (currentTime - previousTime); // calcular el tiempo transcurrido error = Setpoint - Input; // determinar el error entre la consigna y la medición cumError += error * elapsedTime; // calcular la integral del error rateError = (error - lastError) / elapsedTime; // calcular la derivada del error double output = kperror + kicumError + kd*rateError; // calcular la salida del PID lastError = error; // almacenar error anterior previousTime = currentTime; // almacenar el tiempo anterior return output;