Vous êtes sur la page 1sur 50

CENTRO UNIVERSITARIO DE LA COSTA SUR

DEPARTAMENTO DE INGENIERIAS
INGENIERIA MECATRONICA
Servoactuadores

“DISEÑO E IMPLEMENTACION DE UN SISTEMA DE CONTROL


DIGITAL PARA UN MOTOR DE DC CON CONTROLADOR PID”
PROFESOR: Dr. Alfredo Chávez Plascencia

Luis Felipe Sandoval Castillo

Luis Jorge Pelayo Torres

Julio Cesar Arechiga Guerrero

Damian Ramírez Navarro

Edmundo Daniel Guzmán Meza

Néstor Corona Velasco

AUTLAN DE NAVARRO, 14 DE DICIEMBRE DEL 2009


TABLA DE CONTENIDOS
Prefacio ----------------------------------------------------------------- 3
Introducción ------------------------------------------------------------ 5
Marco Teórico --------------------------------------------------------- 6
Modelo Matemático -------------------------------------------------- 8
Simulación en Simulink --------------------------------------------- 11
Implementacion -------------------------------------------------------17
Apéndice A: Controlador PID-------------------------------------- 38
Apéndice B: Modulación por Ancho de Pulsos PWM ------- 41
Apéndice C: Transformada de Laplace------------------------- 42
Apéndice D: Función de Transferencia ------------------------ 44
Apéndice E: PIC 16F877A ---------------------------------------- 46
Apéndice F: Puente H ---------------------------------------------- 47
Conclusión ----------------- ------------------------------------------- 49
Bibliografía ------------------------------------------------------------- 50

Universidad de Guadalajara 2
Ingeniería Mecatrónica
PREFACIO
Este proyecto tratamos de hacer autómata este pequeño robot pro medio de un
micro-controlador y entre otros dispositivos que son necesarios para su movilidad
y su etapa de potencia o de alimentación. Esto no se trata solo de una física y
eléctrica si no también necesitamos saber acerca de todas las variables que
intervienen, así como son el momento de torque del motor, de inercia, las
ganancias del PID, así como la reducción de error en este dispositivo. Es
necesario saber también acerca de la programación y del software para ello lo cual
son MPLAB y el lenguaje C ya que es necesario hacerlo en un lenguaje de alto
nivel para hacer las funciones necesarias las cuales son: derivativas e integrativas
de las señales que necesitan controlarse. También es necesario saber las
funciones de transferencia de este circuito para poder realizar su modelo
matemático del mismo.

Es necesario que el lector tenga por lo menos conocimientos básicos sobre


integrales, diferenciales y funciones de transferencia así como conocimientos
sobre lenguaje c.

Las complicaciones más frecuentes acerca de este proyecto recaen en la


obtención de los dispositivo y así como es la configuración del micro-controlador
(PIC). Es necesario recalcar que se necesita el grabador para poder insertar el
programa.

Universidad de Guadalajara 3
Ingeniería Mecatrónica
OBJETIVO GENERAL

Diseñar e implementar un sistema de control digital de velocidad para un motor


DC, utilizando el microcontrolador PIC16F877A y un control.

OBJETIVOS ESPECIFICOS

 Reconocimiento y Análisis del sistema


 Establecer el modelo matemático del sistema
 Simular el sistema modelado diseñando el controlador PID para una
respuesta especifica
 Implementación del sistema a un robot

Universidad de Guadalajara 4
Ingeniería Mecatrónica
INTRODUCCION
Uno de los objetivos para el proyecto que se quiere realizar el lograr mantener la
velocidad del motor DC, para que así, el error de estado estacionario de la
velocidad del motor sea cero; además se desea que el error de estado
estacionario debido a una perturbación también sea nulo.

Otro requerimiento es que el motor mantenga la velocidad. En este caso, se desea


disminuir el tiempo de establecimiento para que sea mínimo y tenga un sobrepaso
considerable. Para lograr esto, dispondremos de un microcontrolador PIC que
incorpora todas las funciones necesarias para realizar el diseño y control.

La eficiencia del sistema va ligada a los parámetros de la planta, debido a que


nuestro sistema es retroalimentado, es necesario diseñar un controlador digital de
tal forma que el sistema se estabilice y se llegue a tener la velocidad deseada y en
el menor tiempo posible.

La retroalimentación se hará por medio de un encoder incremental acoplado al eje


de los motores, el cual enviara constantemente códigos digitales al
microcontrolador indicándole la velocidad. Ante estos códigos el microcontrolador
tomara una decisión relacionando la velocidad actual con el Set Point o valor de
referencia, enviando pulso digitales a un integrado (SN754410NE) para hacer girar
el motor a la velocidad deseada y en el sentido indicado.

Requerimientos

 Algebra
 Calculo
 Conocimientos básicos en electrónica digital
 Programación en lenguaje C

Limitaciones

Para la realización de este proyecto existe una limitación muy grande puesto que
los conocimientos que tenemos en electrónica digital son muy pobres y nos cuesta
mucho comprender la parte electrónica.

Universidad de Guadalajara 5
Ingeniería Mecatrónica
MARCO TEORICO
Motores de Corriente Directa (DC)

Se utilizan en casos en los que es de importancia el poder regular continuamente


la velocidad del eje y en aquellos casos en los que se necesita de un toque de
arranque elevado.

Además, utilizan en aquellos casos en los que es imprescindible utilizar corriente


continua, como es el caso de trenes y automóviles eléctricos, motores para utilizar
en el arranque y en los controles de automóviles, motores accionados a pilas o
baterías, etc.

Para funcionar, el motor de corriente continúa o directa precisa de dos circuitos


eléctricos distintos: el circuito de campo magnético y el circuito de la armadura.

El campo (básicamente un imán o un electroimán) permite la transformación de


energía eléctrica recibida por la armadura en energía mecánica entregada a través
del eje. La energía eléctrica que recibe el campo se consume totalmente en la
resistencia externa con la cual se regula la corriente del campo magnético. Es
decir ninguna parte de la energía eléctrica recibida por el circuito del campo, es
transformada en energía mecánica. El campo magnético actúa como una especie
de catalizador que permite la transformación de energía en la armadura.

La armadura consiste en un grupo de bobinados alojados en el rotor y en un


ingenioso dispositivo denominado colector mediante el cual se recibe corriente
continua desde una fuente exterior y se convierte la correspondiente energía
eléctrica en energía mecánica que se entrega a través del eje del motor. En la
transformación se pierde un pequeño porcentaje de energía en los carbones del
colector, en el cobre de los bobinados, en el hierro (por corrientes parásitas e
histéresis), en los rodamientos del eje y la fricción del rotor por el aire.

Universidad de Guadalajara 6
Ingeniería Mecatrónica
Conceptos Relacionados Con El Control

Señal de salida: es la variable que se desea controlar (posición, velocidad,


presión, temperatura, etc.). También se denomina variable controlada.

Señal de referencia: es el valor que se desea que alcance la señal de salida.


Error: es la diferencia entre la señal de referencia y la señal de salida real.

Señal de control: es la señal que produce el controlador para modificar la variable


controlada de tal forma que se disminuya, o elimine, el error.

Señal análoga: es una señal continua en el tiempo.

Señal digital: es una señal que solo toma valores de 1 y 0. El PC solo envía y/o
recibe señales digitales.

Conversor análogo/digital: es un dispositivo que convierte una señal analógica en


una señal digital (1 y 0).

Conversor digital/análogo: es un dispositivo que convierte una señal digital en una


señal analógica (corriente o voltaje).

Planta: es el elemento físico que se desea controlar. Planta puede ser: un motor,
un horno, un sistema de disparo, un sistema de navegación, un tanque de
combustible, etc.

Perturbación: es una señal que tiende a afectar la salida del sistema, desviándola
del valor deseado.
Sensor: es un dispositivo que convierte el valor de una magnitud física (presión,
flujo, temperatura, etc.) en una señal eléctrica codificada ya sea en forma
analógica o digital. También es llamado transductor. Los sensores, o
transductores, analógicos envían, por lo regular, señales normalizadas de 0 a 5
voltios, 0 a 10 voltios o 4 a 20 mA.
Sistema de control en lazo cerrado: es aquel en el cual continuamente se está
monitoreando la señal de salida para compararla con la señal de referencia y
calcular la señal de error, la cual a su vez es aplicada al controlador para generar
la señal de control y tratar de llevar la señal de salida al valor deseado. También
es llamado control realimentado.
Sistema de control en lazo abierto: en estos sistemas de control la señal de salida
no es monitoreada para generar una señal de control.

Universidad de Guadalajara 7
Ingeniería Mecatrónica
Modelo Matemático De La Planta

Diagrama esquemático de un motor DC

Considerando que nuestro motor tiene un eje rígido, por medio de sus ecuaciones
eléctricas y matemáticas, al relacionarlas, podemos obtener el modelo del motor
en el cual la entrada es el voltaje aplicado y la salida es la velocidad rotacional del
eje, para esto es necesario conocer los diferentes parámetros de los que se
encuentra compuesto:

 𝐽 = momento de inercia del rotor


 𝑏 = coeficiente de amortiguamiento del sistema mecánico
 𝐾 = 𝐾𝑒 = 𝐾𝑡 = constante de fuerza electromotriz
 𝑅 = resistencia eléctrica
 𝐿 = inductancia eléctrica
 𝑉 = fuente de tensión (entrada)
 𝑊 = velocidad rotacional del eje (salida)

Sistema de Ecuaciones

El par de torsión del motor está relacionado con la corriente 𝑖, de la armadura, por
𝐾 de par constante:

𝑇 = 𝐾𝑖 (1)

La tensión generada, 𝑒𝑎 , es relativa a la velocidad angular:

𝑑𝜃
𝑒𝑎 = 𝐾𝑊𝑚 = 𝐾 (2)
𝑑𝑡
Del diagrama del sistema podemos escribir las siguientes ecuaciones basadas en
las leyes de Kirchoff.
Universidad de Guadalajara 8
Ingeniería Mecatrónica
𝑑 2𝜃 𝑑𝜃
𝐽 +𝑏 = 𝐾𝑖 (3)
𝑑𝑡2 𝑑𝑡

𝑑𝑖 𝑑𝜃
𝐿 + 𝑅𝑖 = 𝑉 − 𝐾 (4)
𝑑𝑡 𝑑𝑡
Función de Transferencia

Usando la transformada de Laplace, las ecuaciones (3) y (4) se pueden escribir de


la siguiente manera:

𝐽𝑠 2 𝜃 𝑠 + 𝑏𝑠 𝜃 𝑠 = 𝐾𝐼(𝑠) (5)
𝐿𝑠𝐼 𝑠 + 𝑅𝐼 𝑠 = 𝑉 𝑠 − 𝐾𝑠𝜃(𝑠) (6)
Donde 𝑠 denota el operador de Laplace. De (6) podemos expresar que

𝑉 𝑠 − 𝐾𝑠𝜃 (𝑠)
𝐼 𝑠 = (7)
𝑅+𝐿𝑠
Y sustituir en (5) para obtener

𝐾(𝑉 𝑠 − 𝑘𝑠𝜃 (𝑠))


𝐽𝑠 2 𝜃 𝑠 + 𝑏𝑠𝜃 𝑠 = (8)
𝑅+𝐿𝑠
Esta es la ecuación para el motor de corriente directa del diagrama de bloques
que se muestra a continuación

Universidad de Guadalajara 9
Ingeniería Mecatrónica
T(s) 𝜔(𝑠) ϴ(s)
V(s) I(s)

1/(Ls+R) K 1/(Js+b) 1/s

Figura.1 Sistema de circuito cerrado que representa el modelo matemático


de un motor de Corriente Continua.

De la ecuación (8) la función de transferencia de la tensión de entrada, V(s), al


ángulo es la siguiente:

𝜃 (𝑠) 𝐾
𝐺𝑎 𝑠 = = (9)
𝑉(𝑠) {𝑠[ 𝑅+𝐿𝑠 𝐽𝑠 +𝑏 +𝐾 2 ]}

Y de la figura anterior podemos obtener la función de transferencia de nuestra


planta.

𝜔 (𝑠) 𝐾
𝐺𝑣 𝑠 = = (10)
𝑉(𝑠) {[ 𝑅+𝐿𝑠 𝐽𝑠 +𝑏 +𝐾 2 ]}

Universidad de Guadalajara 10
Ingeniería Mecatrónica
EXPERIMENTOS

Simulación En Simulink (Matlab)

Una vez obtenido el modelo matemático pasaremos a ver la simulación echa en


Simulink.

Puesto que Simulink es un entorno gráfico de Matlab decidimos realizar la


simulación del proyecto en este entorno, ya que todas las partes que componen el
sistema de control lo podemos dividir en bloques y esto facilitara su estudio y
observación.

En la siguiente imagen se muestra como se estructura todo nuestro sistema


de control del motor dc utilizado en este proyecto el cual consta de una función de
transferencia y un controlador PID.

La función de transferencia está representada mediante un bloque el cual


recibe la señal modelada de salida de nuestro controlador PID. A la salida de esta
tenemos una señal de entrada o excitación la cual sirve para retro alimentar
nuestro circuito. En la siguiente gráfica se muestra nuestra la gráfica resultante de

Universidad de Guadalajara 11
Ingeniería Mecatrónica
todo nuestro proceso de control en la cual podemos visual dos señales la primera
(color rosa) es nuestra señal de referencia que en este caso es de 6 Volts y la
segunda (color amarillo) viene siendo la señal de error que emite nuestra función
de transferencia.

En a las siguiente dos gráficas a preciaremos por separado como se


visualizan estas dos señales, en la primera se observa la señal de referencia y en
la segunda la de error.

Universidad de Guadalajara 12
Ingeniería Mecatrónica
Volviendo a nuestro diagrama de control encontramos que nuestra función
de transferencia es alimentada por el controlador el cual recibe la señal de
referencia sumada a su vez por la emitida por la función de transferencia. El
controlador está compuesto por un subsistema el cual está compuesto por una
serie de ganancias de las cuales la ganancia proporcional ( kp ) es la parte
proporcional y consiste en el producto entre la señal de error y la constante
proporcional como para que hagan que el error en estado estacionario sea casi

Universidad de Guadalajara 13
Ingeniería Mecatrónica
nulo, la ganancia derivativa ( kd ) se manifiesta cuando hay un cambio en el valor
absoluto del error; (si el error es constante, solamente actúan los modos
proporcional e integral), y por último la ganancia intregrativa ( ki ) esta tiene como
propósito disminuir y eliminar el error en estado estacionario, provocado por el
modo proporcional; por ultimo estas tres señal resultantes de nuestras ganancias
son sumadas y generan una sola señal modelada la cual viene siendo la salida de
nuestro controlador.

Para calcular los valores de nuestras ganancias existen dos maneras


utilizando el método de Nichols Bode el cual consiste en un sistema realimentado
compuesto principalmente por seis elementos, cada elemento está representado
por una ecuación, combinando estas ecuaciones se obtiene la relación de mando
o función del sistema. Pero debido a la complejidad del método decidimos utilizar
uno más sencillo de utilizar se aplica manual mente, ya que consiste un poner
todos nuestras ganancias en un valor inicial (en nuestro caso 0), e ir las variando
hasta que nuestra señal de error sea lo más semejante posible a la de referencia.
En nuestro caso nuestras ganancias nos quedaron con los siguientes valores; kp =
10000, kd = 2500 y ki = 5000.

La estructura de nuestro subsistema la podemos apreciar en la imagen que


se visualiza a continuación. Como podemos observar aquí se muestran nuestras
tres ganancias, nuestra propiedad derivativa, la integradora y como se suman
nuestras tres señales resultantes para formar y sola.

Universidad de Guadalajara 14
Ingeniería Mecatrónica
Por último en la gráfica que se muestra a continuación se puede observar la
señal modulada resultante de sumar nuestra ganancia proporcional, la derivativa y
la integradora.

Si recordamos todos los sistemas de control mencionamos que consta


básicamente de seis parámetros, para determinar los valores de estos parámetros
realizamos los siguientes procedimientos. Como primera instancia tenemos el
motor gira a una velocidad N = 320 rpm, una corriente i = 0.008 A, produce una
resistencia R = 0.750, una inductancia L = 0.375; todos estos valores fueron
obtenidos de las especificaciones del motor, y a este le suministrados una fuente
de voltaje Vt = 6 Volts. Ahora ya teniendo estos datos ya solo nos queda
determinas los parámetro K que es una constante de torque y el amortiguamiento
b.

Ahora bien para determinar K tenemos:

𝑉𝑡 2∗𝜋∗𝑁
𝑊𝑀 = =
𝐾 60
Entonces

2 ∗ 𝜋 ∗ 320
𝑤𝑚 =
60
Sustituyendo los valores

Universidad de Guadalajara 15
Ingeniería Mecatrónica
2010.624
𝑤𝑚 =
60
Haciendo los cálculos correspondientes

𝑤𝑚 = 33.5104

Teniendo la velocidad angular ahora si podemos determinar k

𝑉𝑡
𝐾=
𝑤𝑚

Sustituyendo los valores

6
𝐾=
33.5104
𝐾 = 0.1790

Determinado el valor de k lo que procede es obtener el de b

0 = 𝐾𝑖 − 𝑏𝑤𝑚

𝐾𝑖
𝑏=
𝑤𝑚

Sustituyendo los valores

0.1790 ∗ 0.008
𝑏=
33.51
Haciendo los cálculos correspondiente

𝑏 = 0.00004273

Bien ahora ya tenemos todos nuestros parámetros definidos de la siguiente


manera:

Vt = 6 Volts

R = 0.750 Ω

L = 0.375 henrio

J = 0.01

K = 0.1790

b = 0.00004273

Universidad de Guadalajara 16
Ingeniería Mecatrónica
Implementacion

El proyecto se fundamenta en el diseño de un controlador de velocidad de un


motor DC basado en un PIC 16F877A, en el cual se programaran, las siguientes
aplicaciones:

MP-Lab

MPLAB es una herramienta para escribir y desarrollar código en lenguaje


ensamblador para los microcontroladores PIC. MPLAB incorpora todas las
herramientas necesarias para la realización de cualquier proyecto, ya que además
de un editor de textos cuenta con un simulador en el que se puede ejecutar el
código paso a paso para ver así su evolución y el estado en el que se encuentran
sus registros en cada momento.

A continuación un pequeña introducción.

Hacemos click en Siguiente, luego se mostrará una ventana donde debemos


escoger el PIC que se vaya a usar, en la lista que aparece seleccionamos
PIC16F877 y damos click en Siguiente.

Universidad de Guadalajara 17
Ingeniería Mecatrónica
El siguiente paso es definir el programa de lenguaje que será usado. En nuestro
caso el lenguaje es C así que seleccionamos la
opción mostrada en la siguiente imagen y de nuevo hacemos click en Siguiente.

Universidad de Guadalajara 18
Ingeniería Mecatrónica
En la siguiente ventana tenemos que darle un nombre al proyecto y escoger el
directorio en el que se guardará. Es recomendable que la ruta de la carpeta
donde se guarda el proyecto no sea muy
larga ya que al compilarlo MPLAB marca un error, es por eso que en
el ejemplo la ruta escogida
se encuentra cerca de la raíz del disco duro, así que recomiendo
crear una carpeta directamente en el disco
“C:\” o en cualquiera que se use, pero que sea en la raíz del disco. Para este caso
la ruta escogida fue C:\Users\Luis-Felipe\Desktop\MyProject\Contorlador pero
sientan la libertad de escoger cualquier otro nombre para la carpeta.

Una vez dado el nombre al proyecto al hacer click en Siguiente se abrirá una
nueva ventana que nos pedirá agregar archivos existentes al proyecto, como aún
no hemos escrito ningún archivo simplemente damos click en Siguiente y para
terminar en la última ventana hacemos click en Finalizar.

Universidad de Guadalajara 19
Ingeniería Mecatrónica
Ya que creamos el proyecto y habiendo dado click a Finalizar en la ventana
anterior debemos ver la ventana del MPLAB más o menos con este aspecto.

Y ahora si empieza lo bueno, una vez creado el proyecto es hora de crear un


archivo y empezar a escribir el código. Lo que hacemos es crear un nuevo archivo

Universidad de Guadalajara 20
Ingeniería Mecatrónica
y guardarlo con extensión .c en la carpeta donde tenemos nuestro proyecto, para
crear un archivo damos click en File -> New, después y antes de escribir en el
archivo hacemos click en File -> Save As. En la ventana que se abra le damos un
nombre a nuestro archivo y nos aseguramos de que el tipo de archivo
seleccionado sea en C.

Ahora el archivo creado tiene extensión .c pero para el proyecto eso no nos sirve,
tenemos que agregar el archivo al proyecto y después comenzar a trabajar en el
así que en la ventana del proyecto hacemos click derecho en Source Files y
después seleccionamos Add File.

Universidad de Guadalajara 21
Ingeniería Mecatrónica
Posteriormente se abrirá una ventana donde debemos seleccionar el archivo que
queremos agregar al proyecto. Por defecto se abrirá la carpeta del proyecto que
acabamos de crear así que seleccionamos el archivo (en este caso controlador.c)
y hacemos click en Abrir. Hecho eso la ventana del proyecto debe verse así:

Universidad de Guadalajara 22
Ingeniería Mecatrónica
Editando el código

Una vez agregado el archivo .c al proyecto pasamos a la etapa de editar el código


en lenguaje de Alto Nivel C y salvamos el archivo.

Universidad de Guadalajara 23
Ingeniería Mecatrónica
Compilando el Código

Una vez escrito el programa pasamos a compilarlo para esto usaremos el


compilador CCS C Compiler; la razón por la que se opto por este compilador fue
que los demás compiladores no se pudo hacer que interactúan de forma eficiente
por la situación de que varios de esos compiladores son solo de versión de prueba
y no incluyen todas las librerías necesarias para una compilación satisfactoria.

A continuación se explicara paso a paso como se hace la compilación del


archivo.c

Del menú Project elegimos la opción Select Languaje Toolsuite y elegimos el


compilador CCS C Compiler for pic 10/12/14/16/18/24 dsPIC30/ dsPIC33

Seguidamente seleccionamos el archivo.c con click derecho y seleccionamos la


opción Compile

Y en el Output nos apareceré el mensaje de error o de satisfacción

Universidad de Guadalajara 24
Ingeniería Mecatrónica
Error

Buena Compilación

Y listo el código queda compilado y listo para ser cargado en el PIC.

Universidad de Guadalajara 25
Ingeniería Mecatrónica
Cargar el programa al PIC

Para esto necesitamos de un grabador, en este caso vamos a utilizar el Picstart


Plus, lo habilitamos en MPLAB

Este software también necesita un hardware

Posteriormente activamos el programador en el menú Programmer>Enable, y


cargamos el programa al PIC Programmer>Program.

Universidad de Guadalajara 26
Ingeniería Mecatrónica
Controlador PID:

/********************************************
* robot_pid.c *
**
* v. 1.0 *
**
* Este programa controla la *
* velocidad de dos motores *
* usando un control PID *
**
**
*********************************************/
// Definiciones PIC
#include <16f877.h>
#device ADC=8
#include <stdlib.h>
#fuses HS,NOPROTECT
#use delay(clock=12000000)
#use rs232(baud=19200, xmit=PIN_C6, rcv=PIN_C7)
#org 0x1FFF, 0x1FFF void loader16F877(void){}
// Definicion de Constantes
#define CNT_T2 3
#define NUM_TIMES_T2 64*CNT_T2
#define NUM_SECOND 80/CNT_T2
#define SIZE_DATA 50
#define ADELANTE 0x0a
// Constantes de acondicionamiento motor izquierdo
#define Kci 0.2
#define Kci1 Kci*2.7
#define Kci2 Kci*2.2
#define Kci3 Kci*2.0
#define Kci4 Kci*1.6
#define Kci5 Kci*1.2
// Constantes de acondicionamiento motor derecho
#define Kcd 0.18
#define Kcd1 Kcd*2.7
#define Kcd2 Kcd*2.2
#define Kcd3 Kcd*2.0
#define Kcd4 Kcd*1.6
#define Kcd5 Kcd*1.2
// Constantes del control PID
#define Kp 0.7 //1.7
#define Ki 0.0 //0.35
#define Kd 0.000 //0.005
//Variables Globales
long CntRight=0,CntLeft=0;

Universidad de Guadalajara 27
Ingeniería Mecatrónica
int flag=0;
long wi=0,wd=0;
float fCntRight,fCntLeft;
// Control PID
mv_pid(){
long rni=0,rnd=0;
float frni=0.0,frnd=0.0;
float ewi=0,ewd=0;
static float prev_rni=0,prev_rnd=0,prev_ewi=0,prev_ewd=0;
static float prev2_ewi=0,prev2_ewd=0;
float cntder,cntizq;
//Acondiciona los valores de las entradas (encoders)
if(wd<=62)cntder=wd*Kcd1;
else if(wd<125)cntder=wd*Kcd2;
else if(wd<250)cntder=wd*Kcd3;
else if(wd<350)cntder=wd*Kcd4;
else cntder=wd*Kcd5;
if(wi<=62)cntizq=wi*Kci1;
else if(wi<125)cntizq=wi*Kci2;
else if(wi<250)cntizq=wi*Kci3;
else if(wi<350)cntizq=wi*Kci4;
else cntizq=wi*Kci5;
cntizq=cntizq/1024.0;
cntder=cntder/1024.0;
// Calcula el error
ewd=cntder-fCntRight;
ewi=cntizq-fCntLeft;
// Calcula el control para cada motor
frni= prev_rni + Kp*(ewi-prev_ewi)+ Ki*(ewi-prev_ewi)+
Kd*(ewi-2*prev_ewi+prev2_ewi);
frnd= prev_rnd + Kp*(ewd-prev_ewd)+ Ki*(ewd-prev_ewd)+
Kd*(ewd-2*prev_ewd+prev2_ewd);
// Guarda valores para la siguiente iteracion
prev_rni=frni;
prev_rnd=frnd;
prev_ewi=ewi;
prev_ewd=ewd;
//Acondiciona los valores de las salidas
if(frni<0)frni=0;
else if(frni>1.0)frni=1.0;
if(frnd<0)frnd=0;
else if(frnd>1.0)rnd=1.0;
rni=2048.0*frni;
rnd=2048.0*frnd;
// Coloca los valores para generar los PWM
set_pwm1_duty(rni);
set_pwm2_duty(rnd);
Universidad de Guadalajara 28
Ingeniería Mecatrónica
}
// Rutina para la interrupcion del TIMER2.
#INT_TIMER2
void wave_timer2() {
static long k=0;
static int i=0;
k++;
if(k>NUM_TIMES_T2){
k=0;
CntLeft=get_timer0();
CntRight=get_timer1();
fCntRight=CntRight/1024.0;
fCntLeft=CntLeft/1024.0;
// Muestra los datos
if(flag==1){
i++;
if(i > SIZE_DATA)flag=0;
printf("%f %f\n\r",fCntLeft,fCntRight);
}
else i=0;
// Ejecuta el algoritmo de control PID
mv_pid();
// Inicializan los contadores de los temporizadores de nuevo
set_timer0(0);
set_timer1(0);
}
}
/* Inicializa puertos */
inicializa_puertos(){
// Se inicializan los pines para generar los pwms
setup_ccp1(CCP_PWM);
setup_ccp2(CCP_PWM);
// Se indica la dirrecion de los motores
output_d(ADELANTE);
}
// Inicializa interrupciones y temporizadores
inicializa_interrupciones(){
// Se inicializan los temporizadores 0 y 1 como encoders
set_timer1(0);
setup_timer_1(T1_EXTERNAL|T1_DIV_BY_1);
set_timer0(0);
setup_timer_0(RTCC_DIV_1|RTCC_EXT_L_TO_H);
// Se inicializa el temporizador 2 para generar el PWM
setup_timer_2(T2_DIV_BY_1, 127, 10);
// Se habilitan las salidas
enable_interrupts(INT_TIMER2);
enable_interrupts(GLOBAL);
Universidad de Guadalajara 29
Ingeniería Mecatrónica
}
/* Programa principal */
void main(){
char linea[5];
inicializa_interrupciones();
inicializa_puertos();
while(TRUE){
// lee las velocidades de los motores
gets(linea);
wi=atol(linea);
flag=1;
gets(linea);
wd=atol(linea);
flag=1;
}
}

Universidad de Guadalajara 30
Ingeniería Mecatrónica
Generación de Modulación por Ancho de Pulso “PWM”:

#include <16f877.h>
#device ADC=8
#include <stdlib.h>
#fuses HS,NOPROTECT
#use delay(clock=12000000)
#use rs232(baud=19200,xmit=PIN_C6, rcv=PIN_C7)
#org 0x1F00, 0x1FFF
void loader16F877(void){}
// Inicializa puertos
inicializa_puertos(){
setup_ccp1(CCP_PWM);
setup_ccp2(CCP_PWM);
}
// Inicializa interrupciones
inicializa_temporizadores(){
// The cycle time will be (1/clock)*4*t2div*(period+1)
// In this program clock=10000000 and period=127 (below)
setup_timer_2(T2_DIV_BY_1, 127, 10);
}
// Se indica el ancho del periodo positivo del PWM
mv(long duty){
// Se indica la direccion de movimiento de las llantas
output_d(0x0a);
// Se indican los tiempos del pwm
set_pwm1_duty(duty);
set_pwm2_duty(duty);
}
// Programa principal
void main(){
char linea[20];
long duty;
// Se inicializan las interrupciones
inicializa_temporizadores();
// Se inicializan los puertos
inicializa_puertos();
// Loop infinito
while(TRUE){
// Se lee el valor del periodo positivo
printf("\n\r-> ");
gets(linea);
duty=atol(linea);
// Actualiza el ciclo de trabajo
mv(duty);
}
}

Universidad de Guadalajara 31
Ingeniería Mecatrónica
Conversor analógico digital ADC Converter

#include<16f877.h>
#include<reg.h>
#fuses HS, NOWDT,NOPROTECT,NOPUT,NOBROWNOUT,NOLVP
#use delay(clock=12000000)
void inicia_AD(void);
void selecciona_AD(unsigned num);
void arranca_AD(void);
void leer_AD(void);
main()
{
unsigned canal;
unsigned long resultado;
inicia_AD(); //llamamos a la función inicia_AD
while(1)
{
canal=0b00000001; //indicamos el canal de entrada
selecciona_AD(canal); //llamamos a la función selecciona_AD dandole como
parametro el canal
arranca_AD(); //llamamos a dicha función
resultado=leer_AD(); //leer_AD nos devuelve el valor de la conversión y lo
guarda en resultado
}
}
//Conversor Analógico Digital del PIC16F877

void inicia_AD(void)
{
ADCON0=0b10000001; //Fosc/32 ; channel 0
ADCON1=0b10000101; // 4 ultimos bits dependiendo de la tabla 1
}
void selecciona_AD(unsigned num)
{
char aux;
aux=ADCON0 & 0b11000111; //pongo a 0 el canal de conversion
ADCON0=aux | (num<<3); //activamos el canal que se pasa
}
void arranca_AD(void)
{
ADGO=1; //ponemos en marcha el conversor
}
void leer_AD(void)
{
char alto,bajo;
long total;
while (ADGO); //aquí esperamos a que acabe de convertir

Universidad de Guadalajara 32
Ingeniería Mecatrónica
bajo= ADRESL;
alto = ADRESH;
total= (long)alto<<8 | bajo; //Hacemos una or de bajo y de alto convertido a long y
desplazado 8 bits.
return(total);
}

Universidad de Guadalajara 33
Ingeniería Mecatrónica
RUTINA PARA ROBOT SEGUIDOR DE LINEA

Código propuesto para que el robot siga una línea.

#include "16f877.h"

#include<reg.h>

#fuses HS, NOWDT,NOPROTECT,NOPUT,NOBROWNOUT,NOLVP


#use delay(clock=20000000)

void timer0(char j);


void PWM(unsigned char,unsigned char);
static void interrupt isr(void);
unsigned char siga=1,cont=0;;

void main()
{
unsigned char i,BAND=0;
unsigned char conta;
TRISA=0x1F;
TRISB=0x00;
OPTION=0x02;
GIE=1;
T0IE=1;

DIR1=ADELANTE; DIR2=ADELANTE; /* CONTINUA*/


PWM1=PWM2=TRUE;
FRENO1=FRENO2=FALSE;/*SIN FRENO*/

while(1)
{
if (SENSOR1==TRUE & SENSOR2==TRUE) /* 2 SENSORES EN LA LINEA */
{
PWM(90,90);
}

if (SENSOR1==FALSE & SENSOR2==TRUE) /* SENSORES EN LA ORILLA*/


{
PWM(90,45);
BAND=0;
}

Universidad de Guadalajara 34
Ingeniería Mecatrónica
if (SENSOR1==TRUE & SENSOR2==FALSE) /* SENSORES AFUERA*/
{
PWM(45,90);
BAND=1;
}
if (SENSOR1==FALSE & SENSOR2==FALSE)/* SENSORES AFUERA*/
{
if(BAND==1)
{
PWM(20,70);
}

else if(BAND==0)
{
PWM(70,20);
}
}
}
}

void timer0(char x){


TMR0=x;
while(siga);
siga=1;
}

static void interrupt isr(void){


if(T0IF==1){
siga=0;
T0IF=0;
}
}
void PWM(unsigned char x, unsigned char y){
unsigned char i;
PWM1=PWM2=TRUE;
if(x<y){
for(i=0;i<x;i++)
timer0(0XFF);
PWM1=FALSE;
for(i=0;i<y-x;i++)
Universidad de Guadalajara 35
Ingeniería Mecatrónica
timer0(0XFF);
PWM2=FALSE;
for(i=0;i<100-y;i++)
timer0(0XFF);
}
if(y<x){
for(i=0;i<y;i++)
timer0(0XFF);
PWM2=FALSE;
for(i=0;i<x-y;i++)
timer0(0XFF);
PWM1=FALSE;
for(i=0;i<100-x;i++)
timer0(0XFF);
}
if(x==y){
for(i=0;i<x;i++)
timer0(0XFF);
PWM1=PWM2=FALSE;
for(i=0;i<100-y;i++)
timer0(0XFF);
}
}

Universidad de Guadalajara 36
Ingeniería Mecatrónica
Implementacion Física

Para la implementación física se requiere obtener los siguientes componentes:

 2 Motores de Dc de metal con caja reductora


 1 LS293 o su equivalente SN754410NE (Puente H)
 2 Sensores ópticos reflectivos (CNY70)
 1 PIC16F877A
 1 Grabador de PICS (Picstart Plus)
 1 Display doble 7 segmentos
 1 Cristal de 12 MHz
 Otros componentes
 1 Protoboard
 1 Pila de 9v

Para esta parte se pretendía analizar la forma en cómo tendrían que ir


acomodados todos los componentes para el correcto funcionamiento del robot. Al
iniciar con esta parte del proyecto nos encontramos con un sinfín de dudas que
nos fue difícil resolverlas. Es por esta razón que esta sección del reporte queda
pendiente.

Universidad de Guadalajara 37
Ingeniería Mecatrónica
Apéndice A
Controlador PID

En este sección veremos la familia de controladores PID, que mostraron ser


robustos en muchas aplicaciones y son los que más se utilizan en la industria. La
estructura de un controlador PID es simple, aunque su simpleza es también su
debilidad, dado que limita el rango de plantas donde pueden controlar en forma
satisfactoria (existe un grupo de plantas inestables que no pueden estabilizadas
con ningún miembro de la familia PID). En esta sección estudiaremos los enfoques
tradicionales al diseño de controladores PID.

Estructura del PID


Consideremos un lazo de control de una entrada y una salida (SISO) de un grado
de libertad:

Los miembros de la familia de controladores PID, incluyen tres acciones:


proporcional (P), integral (I) y derivativa (D). Estos controladores son los
denominados P, I, PI, PD y PID.

 P: acción de control proporcional, da una salida del controlador que es


proporcional al error, es decir: u(t) = KP*e(t),que descrita desde su función
transferencia queda:
𝐶𝑝 𝑠 = 𝐾𝑝
donde Kp es una ganancia proporcional ajustable. Un controlador proporcional
puede controlar cualquier planta estable, pero posee desempeño limitado y error
en régimen permanente.

 I: acción de control integral: da una salida del controlador que es


proporcional al error acumulado, lo que implica que es un modo de controlar
lento.
𝑡 𝐾
𝑢 𝑡 = 𝐾𝑡 0 𝑒 𝑡 𝑑𝑡 𝐶𝑡 𝑠 = 𝑡
𝑠

Universidad de Guadalajara 38
Ingeniería Mecatrónica
La señal de control u(t) tiene un valor diferente de cero cuando la señal de error
e(t) es cero. Por lo que se concluye que dada una referencia constante, o
perturbaciones, el error en régimen permanente es cero.

 PI: acción de control proporcional-integral, se define mediante:

𝐾𝑝 𝑡
𝑢 𝑡 = 𝐾𝑝 𝑒 𝑡 + 𝑒 𝑡 𝑑𝑡
𝑇𝑖 0

donde Ti se denomina tiempo integral y es quien ajusta la acción integral. La


función de transferencia resulta:

1
𝐶𝑃𝐼 𝑠 = 𝐾𝑝 1 +
𝑇𝑖 𝑠
Con un control proporcional, es necesario que exista error para tener una acción
de control distinta de cero. Con acción integral, un error pequeño positivo siempre
nos dará una acción de control creciente, y si fuera negativa la señal de control
será decreciente. Este razonamiento sencillo nos muestra que el error en régimen
permanente será siempre cero. Muchos controladores industriales tienen solo
acción PI. Se puede demostrar que un control PI es adecuado para todos los
procesos donde la dinámica es esencialmente de primer orden. Lo que puede
demostrarse en forma sencilla, por ejemplo, mediante un ensayo al escalón.

 PD: acción de control proporcional-derivativa, se define mediante:


𝑑𝑒(𝑡)
𝑢 𝑡 = 𝐾𝑝 𝑒 𝑡 + 𝐾𝑝 𝑇𝑑
𝑑𝑡
donde Td es una constante de denominada tiempo derivativo. Esta acción tiene
carácter de previsión, lo que hace mas rápida la acción de control, aunque tiene la
desventaja importante que amplifica las señales de ruido y puede provocar
saturación en el actuador.
La acción de control derivativa nunca se utiliza por sí sola, debido a que solo es
eficaz durante períodos transitorios. La función transferencia de un controlador PD
resulta:

𝐶𝑃𝐷 𝑠 = 𝐾𝑝 + 𝑠𝐾𝑝 𝑇𝑑
Cuando una acción de control derivativa se agrega a un controlador proporcional,
permite obtener un controlador de alta sensibilidad, es decir que responde a la

Universidad de Guadalajara 39
Ingeniería Mecatrónica
velocidad del cambio del error y produce una corrección significativa antes de que
la magnitud del error se vuelva demasiado grande. Aunque el control derivativo no
afecta en forma directa al error ea estado estacionario, añade amortiguamiento al
sistema y, por tanto, permite un valor más grande que la ganancia K, lo cual
provoca una mejora en la precisión en estado estable.

 PID: acción de control proporcional-integral-derivativa, esta acción


combinada reúne las ventajas de cada una de las tres acciones de control
individuales. La ecuación de un controlador con esta acción combinada se
obtiene mediante:

𝐾𝑝 𝑡
𝑑𝑒(𝑡)
𝑢 𝑡 = 𝐾𝑝 𝑒 𝑡 + 𝑒 𝑡 𝑑𝑡 + 𝐾𝑝 𝑇𝑑
𝑇𝑖 0 𝑑𝑡
Y su función de transferencia resulta:

1
𝐶𝑃𝐼𝐷 = 𝐾𝑝 (1 + + 𝑇𝑑 𝑠)
𝑇𝑖 𝑠

Universidad de Guadalajara 40
Ingeniería Mecatrónica
Apéndice B

Modulación por ancho de pulsos PWM

Fig.: una señal de onda cuadrada de amplitud acotada (ymin,ymax) mostrando el


ciclo de trabajo D.

La modulación por ancho de pulsos (MAP o PWM, siglas del inglés Pulse-Width
Modulation) de una señal o fuente de energía es una técnica en la que se modifica
el ciclo de trabajo de una señal periódica (una sinusoidal o una cuadrada, por
ejemplo), 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.

El ciclo de trabajo de una señal periódica es el ancho relativo de su parte positiva


en relación con el período. Expresado matemáticamente:

D es el ciclo de trabajo
τ es el tiempo en que la función es positiva (ancho del pulso)
T es el período de la función

La construcción típica de un circuito PWM se lleva a cabo mediante un


comparador con dos entradas y una salida. Una de las entradas se conecta a un
oscilador de onda dientes de sierra, mientras que la otra queda disponible para la
señal moduladora. En la salida la frecuencia es generalmente igual a la de la señal
dientes de sierra, y el ciclo de trabajo está en función de la portadora.

La principal desventaja que presentan los circuitos PWM es la posibilidad de que


haya interferencias generadas por radiofrecuencia. Éstas pueden minimizarse
ubicando el controlador cerca de la carga y realizando un filtrado de la fuente de
alimentación.

Universidad de Guadalajara 41
Ingeniería Mecatrónica
Apéndice C
Transformada de Laplace

La Transformada de Laplace es una técnica Matemática que forma parte de


ciertas transformadas integrales como la transformada de Fourier, la transformada
de Hilbert, y la transformada de Mellin entre otras. Estas transformadas están
definidas por medio de una integral impropia y cambian una función en una
variable de entrada en otra función en otra variable. La transformada de Laplace
puede ser usada para resolver Ecuaciones Diferenciales Lineales y Ecuaciones
Integrales. Aunque se pueden resolver algún tipo de ED con coeficientes
variables, en general se aplica a problemas con coeficientes constantes. Un
requisito adicional es el conocimiento de las condiciones iniciales a la misma ED.
Su mayor ventaja sale a relucir cuando la función en la variable independiente que
aparece en la ED es una función seccionada.

Cuando se resuelven ED usando la técnica de la transformada, se cambia una


ecuación diferencial en un problema algebraico. La metodología consiste en
aplicar la transformada a la ED y posteriormente usar las propiedades de la
transformada. El problema de ahora consiste en encontrar una función en la
variable independiente tenga una cierta expresión como transformada.

Definición de la Transformada
Sea f una función definida para , la transformada de Laplace de f(t) se
define como:

cuando tal integral converge

Notas

1. La letra s representa una nueva variable, que para el proceso de


integracion se considera constante
2. La transformada de Laplace convierte una funcion en t en una funcion en la
variable s
3. Condiciones para la existencia de la transformada de una función:
1. De orden exponencial
2. Continua a trozos

Universidad de Guadalajara 42
Ingeniería Mecatrónica
Definición de la Transformada Inversa
La Transformada inversa de una función en s, digamos F(s) es una función de t
cuya transformada es precisamente F(s), es decir

si es que acaso

Esta definición obliga a que se cumpla:

Universidad de Guadalajara 43
Ingeniería Mecatrónica
Apéndice D
Función de Transferencia

Una función de transferencia es un modelo matemático que a través de un


cociente relaciona la respuesta de un sistema (modelada) a una señal de entrada
o excitación (también modelada).

El cociente formado por los modelos de la señal de salida respecto de la señal de


entrada, permite encontrar los ceros y los polos, respectivamente. Y que
representan las raíces en las que cada uno de los modelos del cociente se iguala
a cero. Es decir, representa la región frontera a la que no debe llegar ya sea la
respuesta del sistema o la excitación al mismo; ya que de lo contrario llegará ya
sea a la región nula o se irá al infinito, respectivamente.

Considerando la temporalidad; es decir, que la excitación al sistema tarda un


tiempo en generar sus efectos en el sistema en cuestión y que éste tarda otro
tiempo en dar respuesta. Esta condición es vista a través de un proceso de
convolución, formado por la excitación de entrada convolucionada con el sistema
considerado, dando como resultado, la respuesta dentro de un intervalo de tiempo.
Ahora, en ese sentido (el de la convolución), se tiene que observar que la función
de transferencia está formada por la deconvolución entre la señal de entrada con
el sistema. Dando como resultado la descripción externa de la operación del
sistema considerado. De forma que el proceso de contar con la función de
transferencia del sistema a través de la deconvolución, se logra de forma matrcial
o vectorial, considerando la pseudoinversa de la matriz o vector de entrada
multiplicado por el vector de salida, para describir el comportamiento del sistema
dentro de un intervalo dado. Pareciera un proceso complicado, aunque solo baste
ver que la convolución discreta es representada por un producto de una vector o
matriz fija respecto de una matriz o vector móvil, o que en forma tradicional se
observa como una sumatoria.

Uno de los primeros matemáticos en describir estos modelos fue Laplace, a través
de su transformación matemática.

Por definición una función de transferencia se puede determinar según la


expresión:

donde H (s) es la función de transferencia (también notada como G (s) ); Y (s) es


la transformada de Laplace de la respuesta y U (s) es la transformada de Laplace
de la señal de entrada.

Universidad de Guadalajara 44
Ingeniería Mecatrónica
La función de transferencia también puede considerarse como la respuesta de un
sistema inicialmente inerte a un impulso como señal de entrada:

La salida o respuesta en frecuencia del sistema se halla entonces de

y la respuesta como función del tiempo se halla con la transformada de Laplace


inversa de Y(s):

Cualquier sistema físico (mecánico, eléctrico, etc.) se puede traducir a una serie
de valores matemáticos a través de los cuales se conoce el comportamiento de
estos sistemas frente a valores concretos.

Por ejemplo, en análisis de circuitos eléctricos, la función de transferencia se


representa como:

Universidad de Guadalajara 45
Ingeniería Mecatrónica
Apéndice E
PIC 16F877A

El microcontrolador PIC16F877A de Microchip pertenece a una gran familia de


microcontroladores de 8 bits (bus de datos) que tienen las siguientes
características generales que los distinguen de otras familias:

- Arquitectura Harvard
- Tecnología RISC
- Tecnología CMOS

Estas características se conjugan para lograr un dispositivo altamente eficiente en


el uso de la memoria de datos y programa y por lo tanto en la velocidad de
ejecución.

Microchip ha dividido sus microcontroladores en tres grandes subfamilias de


acuerdo al número de bits de su bus de instrucciones:

Variantes principales
Los microcontroladores que produce Microchip cubren una amplio rango de
dispositivos cuyas características pueden variar como sigue:

- Empaquetado (desde 8 patitas hasta 68 patitas)


- Tecnología de la memoria incluída (EPROM, ROM, Flash)
- Voltajes de operación (desde 2.5 v. Hasta 6v)
- Frecuencia de operación (Hasta 20 Mhz)

Universidad de Guadalajara 46
Ingeniería Mecatrónica
Apéndice F
Puente H

Un Puente H o Puente en H es un circuito electrónico que permite a un motor


eléctrico DC girar en ambos sentidos, avance y retroceso. Son ampliamente
usados en robótica y como convertidores de potencia. Los puentes H están
disponibles como circuitos integrados, pero también pueden construirse a partir de
componentes discretos.

Estructura de un puente H (marcado en rojo)

Los 2 estados básicos del circuito.

El término "puente H" proviene de la típica representación gráfica del circuito. Un


puente H se construye con 4 interruptores (mecánicos o mediante transistores).
Cuando los interruptores S1 y S4 (ver primera figura) están cerrados (y S2 y S3
abiertos) se aplica una tensión positiva en el motor, haciéndolo girar en un sentido.
Abriendo los interruptores S1 y S4 (y cerrando S2 y S3), el voltaje se invierte,
permitiendo el giro en sentido inverso del motor.

Con la nomenclatura que estamos usando, los interruptores S1 y S2 nunca podrán


estar cerrados al mismo tiempo, porque esto cortocircuitaría la fuente de tensión.
Lo mismo sucede con S3 y S4.

Universidad de Guadalajara 47
Ingeniería Mecatrónica
Aplicaciones

Como hemos dicho el puente H se usa para invertir el giro de un motor, pero
también puede usarse para frenarlo (de manera brusca), al hacer un corto entre
las bornbas del motor, o incluso puede usarse para permitir que el motor frene
bajo su propia inercia, cuando desconectamos el motor de la fuente que lo
alimenta. En el siguiente cuadro se resumen las diferentes acciones.

S1 S2 S3 S4 Resultado

1 0 0 1 El motor gira en avance

0 1 1 0 El motor gira en retroceso

0 0 0 0 El motor se detiene bajo su inercia

0 1 0 1 El motor frena (fast-stop)

Universidad de Guadalajara 48
Ingeniería Mecatrónica
CONCLUSION
En este proyecto pudimos aprender los verdadero fundamentos matemáticos que
son necesarios para poder entender un como es controlado un robot autómata y
cual son las variables que necesitan ser controladas tanto mecánicamente como
lógica y eléctricamente uno de los mayores problemas acerca de este proyecto fue
el poder grabarlo y llevar a cabo todas sus operaciones pertinentes, así como fue
la obtención de los dispositivos los cuales son bastante escasos y generalmente
son manejados por empresas no muy comerciales.

Una de las cosas que pudimos observar es que realmente se necesita un lenguaje
de alto nivel para poder hacer las operaciones necesarias ya que en lenguajes
más bajos como ensamblador se tornarían bastante difíciles.

Nos dimos cuenta también acerca de los errores que podían tener nuestro circuito
y de que muchas cosas podrían salir mal, como por ejemplo; desde el grabador
hasta las señales de referencia y de erros hasta el programa en sí. Se necesita ser
bastante cuidadoso en el manejo y la conexión de estos dispositivos ya que son
afectados por simple estática.

En general es un buen proyecto pero es lo bastante pesado como para pensar en


que se necesita tiempo y dedicación.

Universidad de Guadalajara 49
Ingeniería Mecatrónica
BIBLIOGRAFIA
 Ingeniería de control moderno OGATA tercera edición
 Control Automático de procesos Teoría y Práctica Carlos A. Smith
University of South Florida Armando B. Corripio Louisiana State University
 Wikipedia.com
 www.fi.uba.ar/laboratorios/lscm/hidraulica3.pdf
 http://www.monografias.com/trabajos11/valvus/valvus.shtml
 F. Franklin. Feedback Control of Dynamic Systems. Addison Wesley, 1994.
W. P. Aung.
 Analysis on Modeling and Simulink of DC Motor and its Driving System
Used for Wheeled Mobile Robot. World Academy of Science, 2007
 http://www.societyofrobots.com/actuators_dcmotors.shtml
 http://www.societyofrobots.com/programming_differentialdrive.shtml

Universidad de Guadalajara 50
Ingeniería Mecatrónica

Vous aimerez peut-être aussi