Академический Документы
Профессиональный Документы
Культура Документы
Departamento de
Elctrica y Electrnica
Control Digital
ING. RODOLFO GORDILLO
4. Rodrguez Diego
1. Tema:
Sistema de control de velocidad de un motor DC mediante Arduino y Matlab
2. Objetivos:
2.1.
-
2.2.
-
Objetivo General:
Implementar un controlador digital de un motor de voltaje DC mediante el
microcontrolador Arduino y en software de Matlab
Objetivos Especificos:
Obtener mediante el microcontrolador Arduino la planta del sistema de control de
un motor DC.
Realizar los calculos del controlador necesario para control de velocidad del motor
DC y traducirlo mediante el software de Matlab.
Evaluar los resultados obtenidos del sistema de control y verificar si el controlador
es adecuado para el motor DC.
3. Marco Teorico
3.1.
Donde Kp y Ti son parmetros que se pueden modificar segn las necesidades del
sistema. Si Ti es grande la pendiente de la rampa, correspondiente al efecto integral ser
pequea y, su efecto ser atenuado, y viceversa.
Respuesta temporal de un regulador PI.
3.2.
CONTROLADOR PI DISCRETO
Para obtener el modelo de funcin de transferencia G(s) que represente las variaciones
de salida por efecto de las variaciones de entrada de la planta, se aplica en lazo abierto
una seal constante de entrada que estabilice la salida de la planta en una tensin que
equivale al punto de operacin de salida de 3 voltios.
Luego se producen cambios de entrada para que la salida vare alrededor de ese punto
de operacin. Se han registrado mediante un sistema de adquisicin de datos los datos
de entrada y salida de la planta.
Toda la ganacia obtenida del error es determinado por un rango de porcentaje que
determina el cambio de la salida de error que esta expresada de 0 a 100%. En el
computador el error DE puede ser expresado por:
3.3.
3.4.
3.5.
ENCODER
4. Procedimiento de Diseno:
4.1.
Identificacin De La Planta.
Como primer paso se escogi un motor DC de 5 voltios. El cual se acopl un encoder con 16
huecos y para leer los pulsos se coloc un sensor ptico que lee un bit positivo cuando es
negro y un bit negativo cuando es transparente.
Se realiz un pequeo programa en Matlab que inicia el motor con 40 bits (rango de 0 a 255) a
travs de la salida PWM de la tarjeta Arduino MEGA necesario para romper la inercia del
motor. Despus de un tiempo sube a su mxima velocidad es decir con 255 bits.
Los datos que se obtienen en esa transicin son guardados en un vector el cual permitir
obtener la funcin de transferencia.
Se obtuvieron los siguientes resultados en MATLAB:
Debido a que existen demasiados picos de voltaje por cada muestra se decidi modificar la
planta fsicamente y cambiar de sensor.
Esta vez se realiz un pequeo programa en Matlab que inicia el motor con 60 bits (rango de 0
a 255) a travs de la salida PWM de la tarjeta Arduino MEGA necesario para romper la inercia
del motor, en este caso es mayor debido a que el acople es mas pesado que el encoder
anterior. Despus de un tiempo sube a su mxima velocidad es decir con 255 bits.
Los datos que se obtienen en esa transicin son guardados en un vector el cual permitir
obtener la funcin de transferencia.
Se obtuvieron los siguientes resultados en MATLAB:
La figura de la esquina superior derecha son los datos obtenidos directamente del motor. Son
150 muestras con su respectivo valor de voltaje. Mientras que la figura de la esquina inferior
derecha es el mismo vector de arriba pero filtrado, es decir se toma la media en cada muestra
para disminuir los picos. Este ser el vector con el cual se obtendr la funcin de trasferencia
de la planta y el sensor por medio de la funcin IDENT de Matlab.
A continuacin se muestra la funcin de transferencia de la plata con el sensor obtenido con
sus respectivas ganancias.
4.2.
Para el diseo del controlador se va a utilizar un PI. Mediante el cual se va a imponer un polo
en -10 para que haya mejor tiempo de estabilizacin. A continuacin se muestra el cdigo de
un script de Matlab que nos permitir simular el funcionamiento del controlador con sus valor
de kp y ki:
Se obtuvo la siguiente grafica que indica la respuesta del controlador en tiempo discreto:
Las sentencias del controlador se muestran en el siguiente script ya con los valores de setpoint,
kp, ki, t, y:
En la respuesta en tiempo discreto tambin se simul una perturbacin la cual nos permite ver
el tiempo de restablecimiento del sistema:
4.3.
Implementacin
4.4.
SetPoint
Sobreimpulso
Perturbacin
Perturbacin
Frenado del
motor
5. Conclusiones:
-
6. Recomendaciones:
-
7. Bibliografa:
[1] Bollinger, John G., Duffie, Neil A. Computer Control of Machines and Processes, AddisonWesley, USA, 1988.
[2] CATEDU, e.-d. (17 de 06 de 2004). Gobierno de Aragon. Obtenido de http://educativa.catedu.es/44700165/aula/archivos/repositorio//4750/4926/html/13_control
ador_de_accin_proporcional_e_integral_pi.html
[3] Johnson, C. D. (2000). Process Control Instrumentation Technology. Columbus, Ohio: Sixth.
Sites, G. (30 de 01 de 2009). Robotica. Obtenido de
https://sites.google.com/site/proyectosroboticos/encoder