Vous êtes sur la page 1sur 20

UNIVERSIDAD MILITAR NUEVA GRANADA Facultad de Ingeniera Ingeniera Mecatronica

DISEO DE UN SERVOMECANISMO MANEJADO POR CONTROL AUTOMATIZADO

Presentado por: David Felipe Valbuena Acero Cod:1801740 Danilo Adolfo Cepeda Cod:1801668 Juan Sebastian Useche Cod:1801739

Bogota D.C

2012 Tabla de contenidos: 1.Problema. 2. Objetivos 2.1 objetivos generales. 2.2 objetivos especficos. 3. justificacin. 4. marco terico. 4.1 controlo automatizado. 4.2 Sensor. 4.2.1 Sensor de sonido. 4.2.2 sensor de luz. 4.2.3 sensor de fuerza. 4.3 servomecanismo. 5. Bibliografa.

PROBLEMA 3 ingenieros mecatronicos en un centro de investigacin de biomedicina se les solicita la implementacin de un servo mecanismo que simule el movimiento de un brazo, este tiene que realizar las siguientes acciones: -Regular la velocidad de movimiento del brazo. -Lograr agarrar objetos con determinada fuerza y lograr trasladarlos de un lugar a otro de manera segura y ptima. Para lograr la implementacin de este servomecanismo se van a utilizar 3 sensores de distinto tipo para lograr los objetivos propuestos, en un primer paso se implementara un sensor de presin que ira superpuesto en la pinza para saber con cuanta fuerza la pinza deber de cerrar para lograr agarrar un objeto, luego de este se utilizara un sensor de sonido que nos indicara si en el momento en que objeto este en la pinza y se produzca algn tipo de ruido el sistema se detendr para verificar que no halla tropezado con algn otro objeto y por ltimo se implementara un sensor de luz que permitir al servomecanismo de no chocar con cualquier obstculo que se le presente a este durante el recorrido que realizara con el objeto.

OBJETIVOS Objetivos Generales: -Construir un servo mecanismo que simule el movimiento de un brazo. -El brazo pueda realizar el desplazamiento de un determinado objeto de un lugar a otro con el mximo cuidado.

Objetivos especficos: -El servo mecanismo tenga cierta autonoma para realizar la accin descrita previamente mediante la implementacin de 3 distintos sensores que logren ayudarle a cumplir con su objetivo. -Realizar la implementacin de las distintas tcnicas vistas en la clase de Mtodos matemticos para lograr el control total del servomecanismo. -Lograr un control absoluto sobre el movimiento de los motores para mejorar cada uno de los movimientos del servomecanismo.

JUSTIFICACION: Este proyecto se lleva a cabo para introducirnos en el tema de control robtico por medio de las distintas tcnicas vistas en clase, adems de que con este proyecto lograremos aplicar la mayora de los conocimientos obtenidos en asignaturas anteriores, introducindonos en gran parte con lo que trabajaremos en futuras ctedras, como lo es el control automatizado de un servo mecanismo. Con la realizacin de este proyecto nos beneficiaremos en gran parte ya que estamos incursionando en el control automatizado a travs de tcnicas matemticas que nos permitirn obtener un control mayor en cada uno de los recursos utilizados en este proyecto.

MARCO TEORICO Control automatizado. Podemos definir el control automtico de procesos como: La elaboracin o captacin de un proceso industrial a travs de varias etapas, con el uso libre de los equipos necesarios para ahorrar tiempo manual y esfuerzo mental .Tal como se ha dicho, el control automtico de procesos hace un uso exhaustivo del control electrnico, valindose de ste para completar su esquema clsico, basado en el concepto de lazo o bucle de control de realimentacin, cuya presencia en los distintos niveles del control automtico es normal, tal como aparece reflejado tambin en la figura.

El significado de los bloques dibujados en esta ltima figura es:

- CAPTACIN: En control de procesos, esto equivale a captar la variable a travs de un elemento de medida (sensor/transductor, instrumento de medida). La captacin est normalmente formada por Componentes locales, es decir, prximos al lugar fsico donde se producen los datos de inters.

- EVALUACIN: Consiste en atribuir la importancia adecuada a la captacin hecha, de acuerdo con el algoritmo de control del proceso, es decir, por comparacin entre la variable de proceso captada y el valor deseado o punto de consigna. A partir de aqu, se obtendr una seal de correccin.

-ACTUACIN: Va dirigida al elemento final de control, siempre y cuando dicha actuacin sea requerida. El elemento final o actuador estar en consonancia con el tipo de proceso a controlar: motor, vlvula, calefactor, etc. Tanto la evaluacin como la actuacin, suelen llevarse a cabo mediante los componentes de panel del sistema de control y que actualmente vienen integrados en un equipo informtico, sirviendo la pantalla como elemento de presentacin (evaluacin) y el teclado/puntero como introductor de rdenes de actuacin. En muchas ocasiones la actuacin como consecuencia de una evaluacin es proporcionada automticamente por el ordenador situado en el nivel correspondiente dentro de la jerarqua del control automtico del proceso.

SENSOR Son dispositivos diseados para recibir informacin de una magnitud del exterior y transformarla en otra magnitud, normalmente elctrica, que seamos capaces de cuantificar y manipular. Normalmente estos dispositivos se encuentran realizados mediante la utilizacin de componentes pasivos (resistencias variables, PTC, NTC, LDR, etc... todos aquellos componentes que varan su magnitud en funcin de alguna variable), y la utilizacin de componentes activos. SENSOR DE SONIDO Micrfono electret: es una variante del micrfono de condensador que utiliza un electrodo (fluorocarbonato o policarbonato de fluor) lamina de plstico que al estar polarizado no necesita alimentacin. Que las placas estn polarizadas significa que estn cargadas permanentemente desde su fabricacin (se polarizan una sola vez y pueden durar muchos aos). El cual tiene una respuesta a la frecuencia:

Y al aplicar una escala de sonidos producidos por un equipo ya conocido que posee su propia escala obtenemos:

El cual posee la ecuacin caracterstica

SENSOR DE LUZ Celda fotovoltaica: Una celda fotovoltaica tiene como funcin primordial convertir la energa captada por el sol en electricidad a un nivel atmico; muchas de ellas cuentan con una propiedad conocida como efecto fotoelctrico lo cual hace que los fotones de luz sean absorbidos para luego irradiar electrones; cuando dichos electrones libres son capturados el resultado que obtenemos es una corriente elctrica que luego, mediante su conversin, es empleada como electricidad En este caso vamos a usar una celda de 8cm x 8 cm con una capacidad mxima de potencia de 300mV aproximadamente Para la linealizacion observamos como la celda responda a la misma luz produca por una linterna de alta intensidad pero a diferentes distancias de esta, del siguiente experimento obtuvimos la siguiente tabla y grafica.

Ttulo del grfico


300 200 100 0 0,5 1 2 3 4 5 6 7

X (cm) 0,5 1 2 3 4 5 6 7

V (mV) 285 280 230 170 113 63 46 34

Como se puede observar las celdas tienden a ser elementos lienalizados cuando se mira la luz que entra respecto al voltaje que produce, por eso mismo su alto costo ya que tienen una fabricacin bastante elaborada. Por eso mismo se va a conseguir la funcin que exprese el voltaje en funcin de la distancia de la luz como la grafica tiende a una recta en su mayor parte se va a utilizar el mtodo de mnimos cuadrados para conseguir la funcin lineal. A= -43.2945 B=306.86 Y= 306.86 - 43.2945 X Y= V (mV) voltaje en mili voltios X= distancia en cm V(x)= 306.86 43.2945 X

SENSOR DE PRESICION Linealizacion del sensor de presin S320255 El datasheet de este sensor nos entrega una grfica en la cual se indica los valores tomados por el sensor dependiendo de la fuerza que se le aplica, como se puede observar esta grafica no describe completamente una lnea recta por lo cual se va a linealizar utilizando el mtodo de mnimos cuadrados tomando los datos directamente de la grfica.

X y Dnde:

200 3.75

300 2.5

400 2.085

500 1.55

600 1.25

700 2.2

800 1.67

900 2.8

1000 1.36

X= fuerza aplicada al sensor dada en gramos-fuerza. Y=resistencia dada en K. Regresin lineal: para la regresin lineal utilizamos la tcnica vista en clase en la cual se calcula lo valores de la ecuacin que describe la grfica por medio de la funcin reg de la calculadora, para utilizar este mtodo se debe de ingresar los datos de X,Y de la tabla en la memoria de la calculadora y posteriormente esta har el clculo de los coeficientes de la ecuacin de la recta. Los valores que la calculadora entrega son: A=3804.44 B=-2.7916 R=0.9545 Donde A= es el punto de corte de la grfica con el eje Y. B=es la pendiente de la recta.

R= es el factor de correlacin de la regresin lineal como podemos observar su valor se acerca bastante a 1 lo que indica que la regresin lineal se realiz lo ms acertadamente posible. La ecuacin obtenida que rige el comportamiento del sensor es:

Lo que se puede deducir de la ecuacin es que la pendiente es negativa lo cual es lgico ya que entre ms carga se le aplique a la resistencia esta disminuye su valor resistivo, adems de ver que el punto de corte con el eje Y (resistencia) es un valor alto ya que el sensor en estado de reposo tiene un valor de resistivo alto. Con la ecuacin que rige el funcionamiento del sensor podemos por medio del programa ir adquiriendo el valor arrogado por este durante el funcionamiento del sensor e irlo visualizando y por medio del control automatizado controlar la fuerza ejercida por la pinza sobre el objeto que se desea coger y as evitar que se dae por cogerlo con demasiada fuerza o que no lo logre coger por ejercer una presin menor a la requerida.

SERVOMECANISMO Es un trmino servomecanismo es compuesto, que viene de servus (siervo) y mecanismo (mquina) y hace referencia a ciertas mquinas que sirven de ayuda a otras ms complejas es su sentido ms literal. Para ser claro un servomecanismo es una mquina que pude tomar ciertas decisiones al realizar un trabajo, claro que condicionado a un grupo pequeo de variables. Es muy comn pensar que un robot es un servomecanismo pero no es as, un robot est compuesto por una serie de servomecanismos que en conjunto le dan forma. As los famosos brazos robots que se usan en las fbricas de automviles son en realidad servomecanismos.

CIRCUITO ELCTRICO

3 Sensores anlogos para la conversin de ADC (presin, luz, sonido) 3 Motores reductores para los 3 grados de libertad del brazo 1 Puerto USB conexin con la interfaz a PC 1 P18F4500

PROGRAMA DEL MICROCONTROLADOR P18F4550 #include <18F4550.h> #device adc=8 //micro a usar //Usa resolucin de 8 bits //fusibles del micro

#fuses NOMCLR,HSPLL,NOWDT,NOPROTECT,NOLVP #use delay(clock=4000000) int z=0,a=200000; . #define USB_HID_DEVICE //velocidad interna

NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,NOPBADEN //fusibles del micro #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) //configuracin serial //(z)variable de control de envi y (a) variable de tiempo de activacin de los motores FALSE //deshabilitamos el uso de las directivas HID //prender EP1(EndPoint1) para entrada

#define USB_EP1_TX_ENABLE USB_ENABLE_BULK #define USB_EP1_TX_SIZE #define USB_EP1_RX_SIZE #include <pic18_usb.h> #include "usb_desc_scope.h" #include <usb.c> #use fast_io(d) void main(void) { int8 recibe[2]; int8 envia[1]; output_d(0x00); set_tris_d(0x00); set_tris_a(0xff); setup_adc (adc_clock_div_32); set_adc_channel (0); usb_init(); usb_task(); usb_wait_for_enumeration(); while (1) { if(usb_enumerated()) { if (usb_kbhit(1)) { output_d(0x00); usb_get_packet(1, recibe, 2); if(recibe[0] == 0xff){ output_d(recibe[1]); delay_us(a); } 1 3

#define USB_EP1_RX_ENABLE USB_ENABLE_BULK //prender EP1(EndPoint1) para salida //configuracin de transmisin //configuracin de recepcin //librera driver de usb pic //Configuracin del USB //librera de funciones //configuracin del puerto d //declaramos variables //puerto d en 0 //define puerto d como salida //Todo puerto a de entrada //Enciende ADC //3 puertos y canales de conversin ADC //Selecciona canal a medir //Inicializamos el USB //Habilita perifrico usb e interrupciones //Esperamos hasta que el USB sea configurado por el host

setup_adc_ports(AN0_TO_AN2_ANALOG);

//si el PicUSB est configurado //si el endpoint de salida contiene datos del host

//recibe el paquete de recepcin y envi //si el paquete es 0xff se recibe dato //se prende el motor que fue indicado por la interfaz

if(recibe[0]==0x00) { if(z==0){

//si el paquete es 0x00 se envan las conversiones

set_adc_channel (0);delay_us(20); envia[0]=read_adc ();delay_us(20); delay_us(10);z++;} else if(z==1){ set_adc_channel (1);delay_us(20); envia[0]=read_adc ();delay_us(20);

//selecciona el canal a medir y espera conversin // lee el canal y lo guarda en el paquete de envi //con el incremento de z se pasa a leer el otro sensor

usb_put_packet(1, envia, 1, USB_DTS_TOGGLE); //enva paquete con la conversin

usb_put_packet(1, envia, 1, USB_DTS_TOGGLE); delay_us(10);z++;} else if(z==2){ set_adc_channel (2);delay_us(20); envia[0]=read_adc ();delay_us(20); usb_put_packet(1, envia, 1, USB_DTS_TOGGLE); delay_us(10);z=0; if(envia[0]>4){a=20000;} Velocidad de los motores else if(envia[0]>2){a=10000;} else if(envia[0]>1){a=5000;} else{a=2500;} } } } } } } //dependiendo del valor de la conversin se maneja la .

else if(envia[0]>3){a=15000;} // rango es de 0 a 5 voltios

INTERFAZ

Los botones de A,B,C son las direcciones de los motores controlados por medio del computador El botn de secuencia hace que el brazo haga unos movimientos predefinidos Mostrar conecta el PIC y el PC PROGRAMA DE LA INTERFAZ namespace USB { public partial class USB : Form { //Instancia un objeto de la clase PicUSBAPI PicUSBAPI usbapi = new PicUSBAPI(); //Salida a enviar por puerto byte salida = 0x00; int a=0,t=0; string r; public USB() { InitializeComponent(); } //PROGRAMACION DE LOS BOTONES private void button1_Click(object sender, EventArgs e) { this.Close(); } private void button1_Click_1(object sender, EventArgs e) { if (t == 0) { timer1.Enabled = true; t++; } //active el timer para la recepcion de datos else if (t == 1) { timer1.Enabled = false; t = 0; } //desactiva el timer } //cierra interfaz //inicializacin de la interfaz //bit de salida al micro para la activacin de los motores // variables de control //variable auxiliar para el manejo de los text box

private void A1_Click(object sender, EventArgs e) { salida = 0x01; //da el valor a la variable a enviar 0x01 motor 1 adelante usbapi.Puerto(salida); //envio del dato System.Threading.Thread.Sleep(1000);//tiempo muerto } private void A0_Click(object sender, EventArgs e) { salida = 0x02; //da el valor a la variable a enviar 0x02 motor 1 atras usbapi.Puerto(salida); System.Threading.Thread.Sleep(1000); } private void B1_Click(object sender, EventArgs e) { salida = 0x04; //da el valor a la variable a enviar 0x04 motor 2 adelante usbapi.Puerto(salida); System.Threading.Thread.Sleep(1000); } private void B0_Click(object sender, EventArgs e) { salida = 0x08; //da el valor a la variable a enviar 0x08 motor 2 atras usbapi.Puerto(salida); System.Threading.Thread.Sleep(1000); } private void C1_Click(object sender, EventArgs e) { salida = 0x10; //da el valor a la variable a enviar 0x10 motor 3 adelante usbapi.Puerto(salida); System.Threading.Thread.Sleep(1000); } private void C0_Click(object sender, EventArgs e) { salida = 0x20; //da el valor a la variable a enviar 0x01 motor 3 atras usbapi.Puerto(salida); System.Threading.Thread.Sleep(1000); }

//PROGRAMACION DEL TIMER

private void timer1_Tick(object sender, EventArgs e) { double lectura; lectura=(int)usbapi.LeeADC(); if(a==0){adctxt.Text = lectura.ToString();a=1;} conversin //variable auxiliar //lee el ADC del pic cada 100ms //escribe en los text box los valores de la .

else if(a==1){textBox1.Text=lectura.ToString();a=2;} else if (a == 2) { textBox2.Text = lectura.ToString(); a=0; } } } }

BIBLIOGRAFIA. Ingenieria de Control Moderna, Katsuhiko Ogata, 4 edicion, editorial Pearson http://www.superrobotica.com/download/S320255/fsrguide.pdf http://www.datasheetcatalog.org/datasheet/microchip/39617a.pdf

http://www.dt.fee.unicamp.br/~geromel/Proj_estado.pdf http://www.dt.fee.unicamp.br/~geromel/Proj_estado.pdf

Vous aimerez peut-être aussi