Está en la página 1de 68

Proyecto de Ingeniera Electrnica I y II

Sonda Rover

Alumnos: Alberto E. Neria Aguirre 96220283 Jos Jess Rivera Barrera 96323856 Jos A. Hernndez Peralta 97215844 Yeimi Jurez Hernndez 98217548

Asesor: Dr. Fausto Casco Snchez

Diciembre 2005

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

P ndice
Capitulo I
1.1 Justificacin ...........5 1.2 Objetivo ........6 1.3 Descripcin del proyecto ..........7 1.4 Como esta conformado el bus del puerto paralelo.....8 1.5Acceso directo al puerto .............10 1.6 Registro de estado (S) ...11 1.7 Registro de control (C) ..........11 1.8 Bit de puerto bidireccional .............12

Capitulo II
2.1 Programacin del puerto paralelo 2.2 Obtencin del puerto ...12 2.3 Acceso a los puertos ..........14 2.4 Deteccin del tipo de puerto .......15 2.5 Puertos extendidos .....16

Capitulo III
3.1 EL SERVO MOTOR .....19 3.2 Como trabaja un servo? ........20 3.3 Cmo se debe comunicar el ngulo al cual el servo debe posicionarse? ...21 3.4Caractersticas generales ....21 3.5 Control ................22 3.6 Supongamos que queremos mover el servo a 30 grados ........22 3.7Circuito controlador del Servo ....23 3.8 Pero cual CABLE es cual? .......24 3.9 Suministro de Voltaje ..24

Capitulo IV
4.1 Motores de corriente continua ....25 4.2 Contenido del motor de DC ...26

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

4.3 Ejemplos de control para los motores D.C. Control mediante H-Bridge con regulador de velocidad ..........29 4.4 Control mediante microrelevadores .......30

Capitulo V
5.1 Sensores en Robtica .....32 5.2 Introduccin ..........32 5.3 Valores de salida de los sensores .......32 5.4 Conversin Analgica/Digital .....34 5.5 Sensores Analgicos ms frecuentes .......36 5.6 Fotorresistencia ...36 5.7Potencimetros .................37 5.8 Sensores Digitales de uso general ......38 5.9 Switchs o llaves ........38 5.10 Microswitch ......38 5.11 Sensores infrarrojos optoacoplados ........39 5.12 Sensor de Efecto Hall ......41

Capitulo VI
6.0.Pruebas y conclusiones ......42 6.1 Cmo funciona nuestro robot? ....42 6.2 Etapa de potencia . ........42 6.3 Periscopio ....45 6.4 Direccin de las ruedas frontales ....45 6.5 Brazo mecnico ......45 6.6 Quin controla todo esto? .......45 6.7 Vistas en 3d .......45 6.8 Placa para la conexin de motores .47 6.9 Tabla de movimientos ..48 6.10 Circuitos diseados ......53 6.11 Conclusiones 62 6.12 Perspectivas ...64 6.13 Bibliografa ..65

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

Capitulo I
1.1 Justificacin.
Desde que en 1917 el escritor Karel Capek1 usara el trmino robot para referirse a unas mquinas en forma de humanoide, han tenido que aparecer numerosos avances tecnolgicos y pasar ms de medio siglo, para que este proyecto se pudiera realizar, un robot articulado en un espacio de tiempo relativamente corto y con un presupuesto reducido. En el libro Robtica Industrial Fundamentos y aplicaciones2 se define la robtica como una ciencia aplicada que surge de la combinacin de la tecnologa de las mquinas-herramienta y de la informtica. Y en el ao de 1979 el Robot Institute of America lo defina cmo un manipulador reprogramable y multifuncional diseado para transportar materiales, piezas, herramientas o aparatos especficos a travs de una serie de movimientos programados para llevar a cabo dichas tareas. Casi treinta aos mas tarde, la Encarta de Microsoft da la siguiente definicin: Mquina controlada por computadora y programada para moverse, manipular objetos y realizar trabajos a la vez que interacciona con su entorno. Los robots son capaces de realizar tareas repetitivas de forma ms rpida, barata y precisa que los seres humanos. Una mquina-herramienta se define como una mquina que efecta cualquier trabajo manual, y la informtica como la ciencia del tratamiento automtico y racional de la informacin (Ibid Robtica industrial Fundamentos y aplicaciones). Uniendo ambos conceptos la robtica surge al automatizar de manera racional las mquinas-herramienta, es decir al permitir que un programa informtico controle las operaciones que antes realizaba un operario. Ligado a la robtica aparece el robot, si lo primero es la ciencia lo segundo es el objeto. Para que un robot se considere como un ser inteligente autnomo debe de cumplir con dos cosas:

Karel Capek utiliz en su obra teatral Rossums Universal Robots la palabra robota, que en checo significa trabajador forzado o siervo.. Cuando este libro se tradujo al ingls apareci el trmino ROBOT. ROBTICA INDUSTRIAL. FUNDAMENTOS Y APLICACIONES. Arantxa Rentera Bilbao; Mara Rivas Ardisana (Editorial McGraw-Hill). Primera edicin 2000.cap I pag 17
2

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

o Autonoma: el sistema de navegacin debe de estar en la misma mquina, interna o externamente sin contar con ninguna conexin a equipos secundarios. o Inteligencia: el robot posee capacidad de razonar hasta el punto de ser capaz de tomar sus propias decisiones y de seleccionar, fusionar e integrar las medidas de todos sus sensores. Hoy en da los avances tecnolgicos en el campo de la electrnica marcan el grado de desarrollo en el que se puede encontrar cualquier pas del orbe; Mxico no puede ser la excepcin y por lo tanto no puede quedar marginado del desarrollo tecnolgico, por tal motivo, es sumamente importante que en los centros de investigacin del pas se produzca tecnologa de punta capaz de competir con la de otros pases y sea capaz de revolucionar el desarrollo tecnolgico del pas. Es por esto que las universidades tienen un papel preponderante en la educacin de sus estudiantes para que al egresar sean capaces de volcar todo el conocimiento tcnico obtenido en las aulas y traducirlo en la produccin, innovacin o investigacin tecnolgica ms barata y rentable. Al hacer esto se logra que Mxico sea capaz de producir su propia tecnologa y cada vez dependa menos tecnolgicamente de otros pases mayor desarrollados y con tecnologa ms avanzada.

1.2 Objetivo.
Los robots son maquinas dotadas de un sistema computacional que le permite percibir el entorno e interactuar con el mismo en funcin del programa que le introducimos y que podemos modificar segn nuestras necesidades. En las ltimas dcadas del siglo pasado, particularmente despus de la segunda guerra mundial se empieza a introducir a los robots en la industria como respuesta a la necesidad de automatizar el proceso de produccin. Los robots manipuladores eran capaces de realizar tareas repetitivas mucho ms rpido que los seres humanos y con mayor precisin. Sin embargo, se requiere automatizar tareas que requieren que el mismo robot se desplace solo. As empiezan a surgir los primeros vehculos guiados automticamente, de esta manera empieza la era de la robtica. La gama de aplicaciones que podra cubrir la robtica con sus modelos tridimensionales es bastante amplia, tales como: -Automatizacin de la industria -Clasificaciones de reas peligrosas para el ser humano -Control de calidad _Identificacin de piezas, partculas de material peligroso.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

Adems tambin puede resultar til en el campo de la medicina, biomdica, astronoma (en la investigacin de otros planetas), en lugares de difcil acceso para el ser humano o donde se pone en riesgo su integridad fsica (tales como cavernas, en construcciones despus de un siniestro como terremoto o en la lucha armamentista). El presente proyecto pretende colaborar en el estudio del control automatizado mediante la construccin del similar del robot espacial que viajo al planeta Marte para su investigacin, la sonda espacial Rover, el presente trabajo no pretende competir con este robot pues primeramente los accesorios con los que cuenta el robot original son innecesarios en muchas reas, solo pretendemos emular el proyecto con tecnologa mexicana. Para el presente proyecto se han fijado los siguientes objetivos. Disear la carcaza del robot calculando que sea capaz de soportar aproximadamente 25 kgs, esto debido al peso de una laptop, motores, batera, fotoceldas y otros accesorios. Buscar y acoplar motores de DC y ruedas capaces de soportar tal peso y tener la fuerza suficiente para la traccin. Acoplar las ruedas a los motores seleccionados haciendo uso de engranes, cadenas o lo que sea necesario. Acoplar un brazo mecnico al cuerpo del robot Acoplar un periscopio al cuerpo del robot y en la parte superior adaptar una cmara web inalmbrica configurada a la laptop de a bordo. Disear los circuitos electrnicos para el control de todos los motoresmotores de traccin (4), direccin (2), periscopio(3), cmara web (1), brazo (3) Disear los circuitos electrnicos para el control de los sensores que controlarn la posicin de los motores del periscopio, brazo mecnico, y motores de direccin. Alimentar los circuitos con paneles de energa solar conectados a una batera de motocicleta para mantener el voltaje adecuado.

1.3 Descripcin del proyecto.


Es indispensable conocer el funcionamiento del puerto paralelo ya que haremos uso de este dispositivo para transmitir las rdenes al robot tales como movimientos de las ruedas de traccin, direccin, periscopio y brazo, todas estas rdenes sern enviadas por un programa grfico y despus las directivas tendrn que ser ejecutadas en tiempo real por los mecanismos y dispositivos electrnicos contenidos dentro del cuerpo del robot. Cabe aclarar que dentro del robot estar contenida una Laptop con caractersticas adecuadas para el buen funcionamiento del robot, tales como la cantidad de memoria RAM en este caso es de 256MB y una tarjeta de video adecuada para el envo de imgenes en tiempo real, esta

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

computadora cuenta con una tarjeta de red inalmbrica de acceso a Internet que estar enviando datos para que sean controlados todos los movimientos del robot de manera externa, es decir, la laptop se comportar como servidor de Internet y se podr interactuar con ella desde otra computadora con acceso a Internet. Los programas se encuentran disponibles en la seccin de anexos al final del documento El puerto paralelo3 es ideal para el control de movimiento de equipos tales como robots en donde es necesario controlar los movimientos de manera independiente sin verse afectadas otras funciones implementadas. Este puerto contiene un bus de 8 bits adems de otras seales de control de entrada o de salida que tambin pueden ser habilitadas y usadas segn nuestros requerimientos. Para programar el puerto paralelo4 en un programa de computadora, nicamente se requiere conocer la direccin hexadecimal donde se encuentra mapeado el puerto paralelo, en este caso la direccin es igual a 0x378 (888 en decimal), en caso de que la computadora no reconozca esta direccin se tiene que manipular el bios de la computadora y corregir el problema, esto es escribiendo la direccin arriba mencionada en donde aparece la leyenda de LPT1 en caso de existir otra direccin modificarla y en caso de que no se pueda manipular el bios o no se tenga la experiencia necesaria, es recomendable modificar el programa de reconocimiento del puerto paralelo que mas adelante se lista.

1.4 Como esta conformado el bus del puerto paralelo.


En la siguiente figura se describe de manera bastante somera la distribucin del puerto paralelo, los bits de informacin van de la pata 2 a la pata 8 del conector DB25 hembra, mientras que los dems pines son seales de control.

http://www.lvr.com/parprtib.htm#Chapter1 Parallel port complete: Programming, interfacing, and using the PCs parallel printer port Jan Axelson. 1996, Lakeview Research.
4

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

Imagen tomada de http://www.rafal.waw.pl/wynalazki/porty/

Si deseamos escribir un dato en el bus de salida de datos (pin 2 a 9) solo debemos escribir el byte correspondiente en la direccin hexadecimal 0X378 (888 en decimal) cuando trabajamos con el LPT1. Los distintos pins (bits) de salida correspondientes al bus de datos no pueden ser escritos en forma independiente, por lo que siempre que se desee modificar uno se debern escribir los ocho bits nuevamente. Para leer el estado de los pins de entrada (10, 12, 13 y 15) se debe realizar una lectura a la direccin hexadecimal 0x379 (889 en decimal) si trabajamos con el LPT1. La lectura ser devuelta en un byte en donde el bit 6 corresponde al pin 10, el bit 5 corresponde al pin 12, el bit 4 corresponde al pin 13 y el bit 3 corresponde al pin 15. En la siguiente tabla se puede ver lo antedicho en una forma ms grfica: Escritura: Salida de Datos Escritura en direccin 0x378 (LPT1) o 0x278 (LPT2) DATO DB25 CN5 CN4 BIT 7 Pin 9 TTL 7 BIT 6 Pin 8 TTL 6 BIT 5 Pin 7 TTL 5 HP 5 BIT 4 Pin 6 TTL 4 HP 4 BIT 3 Pin 5 TTL 3 HP 3 BIT 2 Pin 4 TTL 2 HP 2 BIT 1 Pin 3 TTL 1 HP 1 BIT 0 Pin2 TTL 0 HP 0

No usar HP 6

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

10

Lectura: Entrada de Datos Lectura en direccin 0x379 (LPT1) o 0x279 (LPT2) DATO BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 DB 25 CN6 No usar No usar Pin 10 Pin 12 Pin 13 Pin 15 No usar No usar No usar No usar No usar

Input Input Input Input No 3 2 1 0 usar

Desde el punto de vista del software, el puerto paralelo son tres registros de 8 bits cada uno, ocupando tres direcciones de I/O consecutivas de la arquitectura x86. Desde el punto de vista de hardware, el puerto es un conector hembra DB25 con doce salidas latcheadas (que tienen memoria/buffer intermedio) y cinco entradas, con 8 lneas de tierra. La funcin normal es transferir datos a una impresora a travs de las 8 lneas de datos, usando las seales restantes como control de flujo.

1.5 Acceso directo al puerto


El puerto, como se mencion antes, consiste de tres registros de 8 bits ubicados en direcciones adyacentes del espacio de I/O de la PC. Los registros se definen relativos a la direccin de I/O base (variable IOBase) y son: IOBase+0 : registro de datos IOBase+1 : registro de estado IOBase+2 : registro de control En el puerto paralelo se puede leer y escribir, esto se hace mediante lenguajes de programacin, al escribir un dato en el registro causa que el mismo aparezca en los pines 2 al 9 del conector del puerto. Leyendo el registro, se lee el ltimo dato escrito (NO lee el estado de los pines; para ello hay que usar un puerto bidireccional).
Nro.Bit 7 6 5 4 3 2 1 0 Descripcin x . . . . . . . D7 (pin 9), 1=Alto, 0=Bajo . x . . . . . . D6 (pin 8), 1=Alto, 0=Bajo . . x . . . . . D5 (pin 7), 1=Alto, 0=Bajo . . . x . . . . D4 (pin 6), 1=Alto, 0=Bajo . . . . x . . . D3 (pin 5), 1=Alto, 0=Bajo . . . . . x . . D2 (pin 4), 1=Alto, 0=Bajo . . . . . . x . D1 (pin 3), 1=Alto, 0=Bajo . . . . . . . x D0 (pin 2), 1=Alto, 0=Bajo

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

11

Cuando se indica Alto o Bajo se refiere a la tensin de salida (5V para el 1 fsico y 0V para el 0 fsico, respectivamente). Esto es porque la lgica puede ser positiva (un 1 lgico equivale a Alto o 5V) o negada (un 0 lgico equivale a Bajo o 0V). Con respecto a esto debemos decir que para negar algo le anteponemos el carcter / (representando la barra que se coloca encima). El estndar es que las salidas sean LS TTL (low schottky TTL), aunque las hay que son de tipo OC (colector abierto). La corriente que pueden entregar (source) es de 2.6mA mximo y pueden absorber (sink) un mximo de 24mA. En el puerto original de IBM hay condensadores de 2.2nF a tierra. Las tensiones para el nivel bajo son entre 0 y 0,8V y el nivel alto entre 2,4V y 5V.

1.6 Registro de estado (S)


El registro de estado est en IOBase+1. Es de slo lectura (las escrituras sern ignoradas). La lectura da el estado de los cinco pines de entrada al momento de la lectura. En la tabla siguiente los nombres de los pines se dejaron en ingls porque es como generalmente se identifican.

Nro.Bit 7 6 5 4 3 2 1 0 Descripcin x . . . . . . . S7 : Busy (pin 11), 0=Alto, 1=Bajo . x . . . . . . S6 : Ack (pin 10), 1=Alto, 0=Bajo . . x . . . . . S5 : No paper (pin 12), 1=Alto, 0=Bajo . . . x . . . . S4 : Selected (pin 13), 1=Alto, 0=Bajo . . . . x . . . S3 : Error (pin 15), 1=Alto, 0=Bajo . . . . . x x x Sin definir

La lnea Busy tiene, generalmente, una resistencia de pull-up interna. El estndar es que sean entradas tipo LS TTL.

1.7 Registro de control (C)


El registro de control se encuentra en IOBase+2. Es de lectura/escritura.
Nro.Bit 7 6 5 4 3 2 1 0 x x . . . . . . Sin usar . . x . . . . . C5 : Control puerto bidireccional . . . x . . . . C4 : Interrupt control, 1=enable, 0=disable . . . . x . . . C3 : Select (pin 17), 1=Bajo, 0=Alto . . . . . x . . C2 : Initialize (pin 16), 1=Alto, 0=Bajo . . . . . . x . C1 : Auto Feed (pin 14), 1=Bajo, 0=Alto . . . . . . . x C0 : Strobe (pin 01), 1=Bajo, 0=Alto

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

12

Los cuatro bits inferiores son salidas. La lectura devuelve lo ltimo que se escribi a dichos bits. Son TTL a colector abierto con resistencias de pull-up de 4700 ohms, por lo que un dispositivo externo puede forzar el estado de los pines sin daar el driver. Esto permite utilizar estas cuatro lneas como entradas. Para ello, ponemos en alto las cuatro salidas (escribiendo 0000100b en IOBase+2) lo que hace que las salidas floten. Ahora, un dispositivo externo puede forzar a bajo alguna de las salidas con lo que, leyendo el puerto, sabemos si esto sucedi o no. Es posible realizar esta tcnica en salidas totem-pole (como D0-D7) pero no recomendamos su uso porque habra que tener un conocimiento preciso de la corriente ya que se pueden sobrecargar los transistores de salida, daando el driver (especialmente en puertos integrados LSI).

1.8 Bit de puerto bidireccional (compatible PS/2)


El bit C5, est disponible slo si se trata de un puerto bidireccional; en los puertos comunes acta como los bits C6 y C7. Si C5=1, el buffer de los datos de salida se pone en alta impedancia, desconectando dicho buffer de los pines 2 a 9 del conector del puerto (D0 a D7). Si se escribe al registro de datos, se escribe al buffer pero no a la salida. Esto permite que al leer el puerto, se lea el estado de las entradas y no lo que hay en buffer. En las computadoras IBM PS/2, para habilitar el puerto paralelo bidireccional, adems de lo antes descrito, se debe poner a 1 el bit 7 del registro del puerto 102h (opciones de configuracin). En computadoras que no tengan puerto paralelo bidireccional compatible PS/2 hay que modificar uno o ms bits de algn puerto especfico correspondiente al chipset de la placa. A veces se habilita por setup o por jumper en la placa del puerto.

Capitulo II
2.1Programacin del puerto paralelo5.
2.2 Obtencin del puerto
Las direcciones de I/O de los puertos paralelo se almacenan en una tabla ubicada en 40h:8h (0h:408h). Entonces, ste sera un mtodo de obtener las direcciones. A continuacin se muestra como obtener dichas direcciones en distintos lenguajes. Ensamblador ;en SI tengo la direccin de memoria:
Programming the Parallel Port: Interfacing the PC for Data Acquisition & Process Control.by Dhananjay V. Gadre.1998, CMP Books 308 pagesIncludes source code in C for DOS and Linux.
5

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

13

;LPT1 = 0408h ;LPT2 = 0408h + 2h = 040Ah ;LPT3 = 040Ah + 2h = 040Ch mov si,0408h ;SI = 0408h xor ax,ax ;AX = 0 push ds ;Mete DS en la pila mov ds,ax ;DS = AX = 0 mov ax,word ptr [SI] ;AX = [0h:SI] pop ds ;recupero DS de la pila ;ahora en AX tengo la direccin base C /* En portnum debo guardar el nmero de puerto (1,2,3). En la variable lptadr, tipo unsigned, obtengo la direccin.*/ portnum--; lptadr = peek(0x0040,0x0008+portnum*2); Windows En entorno Windows, se complica un poco ya que tenemos varios mtodos. 1- Verificar en las direcciones estndar que el puerto tenga retencin de datos escritos en l. Es armar la tabla que realiza la BIOS por nosotros mismos. Este mtodo falla si el puerto es bidireccional (o ECP o EPP), si algn controlador prohbe el acceso, si estamos bajo WinNT o si el puerto est en una direccin no estndar. Ver la seccin Acceso a los puertos para ms detalles y vase la seccin Deteccin del tipo de puerto, para buscar por uno mismo las direcciones (y de paso detectar que tipo de puerto es). Ahora lo nico que podra hacer fallar la prueba es si algn controlador de dispositivo prohbe el acceso (o WinNT, claro). 2- Tener la posibilidad de leer la tabla que la BIOS genera cuando arranca la mquina. Debemos contar con alguna funcin que nos permita leer una direccin de memoria como si estuviramos en modo real de la CPU. En entornos de 16 bit esto se facilita. En otros lenguajes desconozco, pero para Visual Basic hay una DLL (Vbasm.dll), que tiene la funcin Peek como en QuickBasic. 3- Bajo WinNT, podemos obtener (mediante las funciones de la API, RegOpenKey y RegQueryValue) la informacin del registro de: [HKEY_LOCAL_MACHINE\Enum\Root\ [HKEY_LOCAL_MACHINE\Enum\BIOS\ [HKEY_DYN_DATA\Config Manager\Enum\

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

14

4- En Win9x,Me, podemos hacer el enfoque de la opcin 2, pero con la API de Windows. Utilizamos la funcin de la API Toolhelp32ReadProcessMemory (que reside en Kernel32 y que no se encuentra en NT). A continuacin se muestra un fragmento de cdigo escrito por Bill McCarthy: Declare Function Toolhelp32ReadProcessMemory Lib "KERNEL32" (ByVal th32ProcessID As Long, ByVal lpBaseAddress As Long, lpBuffer As Any, ByVal cbRead As Long, ByRef lpNumberOfBytesRead As Long) As Long Sub Main() Dim i As Long, rtn As Long Dim portAddresses(3) As Integer Dim cbLen As Long cbLen = 8 rtn = Toolhelp32ReadProcessMemory(0&,&H408&,portAddresses(0),8,cbLen) 'Debug.Print rtn, cbLen For i = 0 To 3 If portAddresses(i) = 0 Then Exit For Debug.Print "port address " & i & " = &H" & Hex$(portAddresses(i)) Next i End Sub

2.3 Acceso a los puertos.


A continuacin se darn las funciones a utilizar para leer y escribir puertos en distintos lenguajes de programacin. En Ms-Dos no tenemos ningn tipo de restriccin de acceder a los puertos. En Windows 3.x, 9x y Me tampoco hay restricciones (a no ser que el puerto est bajo el control de un controlador de dispositivo virtual). En Windows NT, el sistema operativo tiene control total sobre la mquina por lo que hay que pedir un permiso que se hace mediante un driver.

Ensamblador
Los opcodes IN y OUT permiten leer y escribir, respectivamente, datos a un puerto cualquiera. La secuencia a seguir para leer podra ser: mov dx,Puerto DX = Puerto (puede ser cte. o ref. de memoria si es variable.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

15

in al,dx Leo del puerto DX y lo guardo en AL Y para escribir: mov dx,Puerto DX = Puerto (puede ser cte. o ref. de memoria si es variable. out dx,al Manda AL al puerto DX C Se utilizan las funciones outportb() e inportb().

2.4 Deteccin del tipo de puerto


En esta seccin indicaremos los pasos a seguir para detectar si el puerto es SPP (comn), bidireccional compatible PS/2, ECP o EPP. Para una referencia acerca de los puertos EPP y ECP. Describiremos los pasos generales; luego se tendr que adaptar al lenguaje en uso. Se testea en orden descendente de complejidad, es decir primero ECP, luego EPP, bidireccional y finalmente SPP (esto se debe realizar as para no fallar en la deteccin).

Detectando ECP
Este es el mtodo que recomienda Microsoft: Leer el control de registro extendido (ECR) en Base+402h. Base se refiere a la direccin inicial donde se comienza a mapear el puerto (03BCh,0378h y 0278h). Verificar que el bit 0 sea 1 (FIFO vaca) y que el bit 1 sea 0 (FIFO no est llena). Estos bits podran ser distintos a los bits correspondientes en el puerto de control (Base+2h). Para verificar esto, cambiamos el estado de algn bit del puerto Base+2h y verificamos que no haya cambiado en Base+402h. Una prueba adicional es escribir 34h al ECR y leerlo. Los bits 0 y 1 son de slo lectura, por lo tanto, si leemos 35h, es probable que tengamos un puerto ECP.

Detectando EPP
Adems de los tres registros de un puerto SPP, un puerto EPP tiene cinco registros ms mapeados desde Base+3h a Base+7h. Estos registros adicionales proveen una manera de probar la presencia de un EPP, escribiendo ciertos valores y leyendo el resultado (de la misma manera que se testea un puerto SPP). Al igual que al detectar puertos SPP, se recomienda escribir un par de valores y leerlos. Dichos valores podran ser 55h y AAh. Hay que asegurarse de poner S0 a 0 (EPP timeout), antes de leer o escribir a estas

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

16

direcciones extendidas. Otro dato importante es que no existen puertos EPP en la direccin base 03BCh.

Detectando SPP
Para detectar si es SPP, hacemos el procedimiento que realiza la BIOS al arranque. Verificamos la retencin del puerto, que ser posible en un puerto SPP. Para ello escribimos un par de valores (55h y AAh) a las direcciones base (03BCh,0378h y 0278h) y leemos el registro verificando que sean los mismo valores escritos.

Detectando puerto bidireccional (PS/2)


Aqu debemos habilitar el puerto bidireccional (con C5=1) y hacer la misma prueba que para un SPP para verificar que no haya retencin.

2.5 Puertos extendidos


Puerto bidireccional (compatible PS/2)
Vase la seccin Bit de puerto bidireccional. Puerto EPP (Enhanced Parallel Port) Pueden leer y escribir datos a la velocidad del bus ISA. Este tipo de puerto se define por el estndar EPP 1.7. Son tan rpidos como el bus del sistema y pueden alcanzar transferencias por encima de 1 Mbyte/seg. El EPP fue desarrollado por Intel, Xircom y Zenith. Otros fabricantes comenzaron a introducir EPP que no eran del todo compatibles con el introducido por Intel. De ah que se form un comit para estandarizar el puerto, formando el estndar EPP 1.7. Luego se mezcl con el estndar IEEE 1284 que describe puertos bidireccionales de alta velocidad para impresoras. Pero no se acept el EPP 1.7 original por lo que se modific y ahora se llama IEEE 1284 EPP, teniendo ahora dos estndares. Un puerto paralelo estilo IEEE 1284 soporta mltiples modos. Es decir que tenemos en un nico puerto, los modos SPP, bidireccional PS/2, EPP (versin 1.7 y/o 1284) y ECP. EPP se mapea por encima de las direcciones estndar, en cinco registros (de Base+3h a Base+7h). No hay EPP en la direccin estndar 03BCh (ya que se traslapa con las direcciones dedicadas a video):
Base + Descripcin 0 puerto de datos (como SPP) 1 puerto de estado (como SPP) 2 puerto de control (como SPP)

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

17

3 address strobe 4 data strobe 0 4 data strobe 1 4 data strobe 2 4 data strobe 3

Puerto ECP (Enhanced Capability Port)


Pueden, como EPP, leer y escribir a la velocidad del bus. Fue desarrollado por Microsoft y Hewlett Packard. Se distinguen por poseer capacidad de DMA, FIFO y compresin de datos. La velocidad puede superar fcilmente el Mbyte/seg. y en el futuro se ampliar. La ventaja de estos puertos es que tienen la emulacin de otros modos como SPP y bidireccional PS/2. En la especificacin original no est contemplado EPP, pero los fabricantes utilizan algn bit no utilizado por ECP para poder configurar como EPP. El uso externo de ECP est definido en IEEE 1284 como el modo ECP de 1284. El puerto se mapea en Base+400h. En Base+402h tenemos el registro ECR (Extended Control Register). Con este registro podemos configurar los distintos modos. La siguiente tabla muestra el significado de cada bit:

Bit(s) Descripcin 7-5 ECP mode 000 ISA-compatible (SPP) 001 PS/2-compatible (bidirectional port) 010 ISA-compatible FIFO (fast centronics) 011 ECP 100 reserved (EPP) 101 reserved 110 test 111 configuration 4 disable ERROR interrupts 3 enable DMA when bit 3 set and bit 2 clear, an interrupt is generated on the DMA terminal-count condition; this bit must be cleared to reset the TC interrupt 2 disable FIFO/TerminalCount service interrupts 1 (read-only) FIFO is full 0 (read-only) FIFO is empty

Notas: Si estamos en el modo 000 o 001, podemos cambiar a otro modo. Si estamos en otro modo distinto de 000 o 001, debemos cambiar al modo 000 o 001 y luego

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

18

cambiar al modo deseado. Si actualmente estamos en el modo 010 a 111 y el bit de direccin est a cero, debemos esperar a que la FIFO se borre antes de cambiar a los modos 000 o 001. En el modo 111, la direccin Base+400h ser el registro de configuracin A y la direccin Base+401h ser el registro de configuracin B. A continuacin se describen: Configuracin A de ECP: Bit(s) Descripcin 7-4 (read-only) implementation identification bit 7: ISA-style interrupt bit 4: eight-bit implementation 3-0 reserved Configuracin B de ECP: Bit(s) Descripcin 7 reserved (0) 6 IRQ status (refleja el valor actual ya sea en IRQ5 o IRQ7; se usa para chequear conflictos de interrupciones) 5-0 reserved (0) Nota: C4 debe valer 0 antes de que el bit 6 muestre el estado de la interrupcin.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

19

Capitulo III
3.1 EL SERVO MOTOR6

Imagen de un servo marca futaba

Un Servo es un dispositivo pequeo que tiene un eje de rendimiento controlado. Este puede ser llevado a posiciones angulares especficas al enviar una seal codificada. Con tal de que una seal codificada exista en la lnea de entrada, el servo mantendr la posicin angular del engranaje. Cuando la seal codificada cambia, la posicin angular de los piones cambia. En la prctica, se usan servos para posicionar superficies de control como el movimiento de palancas, pequeos ascensores y timones. Ellos tambin se usan en radio control, tteres, y por supuesto, en robots. Los Servos son sumamente tiles en robtica. Los motores son pequeos, cuando usted observa la foto de arriba, tiene internamente una circuitera de control interna y es sumamente poderoso para su tamao. Un servo normal o Standard como el HS-300 de Hitec tiene 42 onzas por pulgada o mejor dicho3kg por cm. de torque que es bastante fuerte para su tamao. Tambin potencia proporcional para cargas mecnicas. Un servo, por consiguiente, no consume mucha energa. Se muestra la composicin interna de un servo motor en el cuadro de abajo. Podr observar la circuitera de control, el motor, un juego de piones, y la caja. Tambin puede ver los 3 alambres de conexin externa. Uno es para alimentacin Vcc (+5volts), conexin a tierra GND y el alambre blanco es el alambre de control.

Imgenes de servo marca futaba

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

20

Un servo desmontado.(marca Futaba)

3.2 Como trabaja un servo?


El motor del servo tiene algunos circuitos de control y un potencimetro (una resistencia variable) esta es conectada al eje central del servo motor. En la figura se puede observar al lado derecho del circuito. Este potencimetro permite a la circuitera de control, supervisar el ngulo actual del servo motor. Si el eje est en el ngulo correcto, entonces el motor est apagado. Si el circuito chequea que el ngulo no es el correcto, el motor girar en la direccin adecuada hasta llegar al ngulo correcto. El eje del servo es capaz de llegar alrededor de los 180 grados. Normalmente, en algunos llega a los 210 grados, pero vara segn el fabricante. Un servo normal se usa para controlar un movimiento angular de entre 0 y 180 grados. Un servo normal no es mecnicamente capaz de retornar a su lugar, si hay un mayor peso que el sugerido por las especificaciones del fabricante.

La cantidad de voltaje aplicado al motor es proporcional a la distancia que ste necesita viajar. As, si el eje necesita regresar una distancia grande, el motor regresar a toda velocidad. Si este necesita regresar slo una pequea cantidad, el motor correr a una velocidad ms lenta. A esto se le llama control proporcional.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

21

3.3 Cmo se debe comunicar el ngulo al cual el servo debe posicionarse?


El cable de control se usa para comunicar el ngulo. El ngulo est determinado por la duracin de un pulso que se aplica al alambre de control. A esto se le llama PCM Modulacin codificada de Pulsos. El servo espera ver un pulso cada 20 milisegundos (.02 segundos). La longitud del pulso determinar los giros de motor. Un pulso de 1.5ms., por ejemplo, har que el motor se torne a la posicin de 90 grados (llamado la posicin neutra). Si el pulso es menor de 1.5ms., entonces el motor se acercar a los 0 grados. Si el pulso es mayor de 1.5ms, el eje se acercar a los 180 grados.

Como se observa en la figura, la duracin del pulso indica o dictamina el ngulo del eje (mostrado como un crculo verde con flecha). Ntese que las ilustraciones y los tiempos reales dependen del fabricante de motor. El principio, sin embargo, es el mismo. Para los Hitec: 0.50ms = 0 grados, 1.50ms = 90 grados y 2.5ms = 180 grados.

3.4 Caractersticas generales:


Esta parte del documento trata acerca del control de servos. Estos servos tienen un amplificador, servo motor, Pionera de reduccin y un potencimetro de realimentacin; todo incorporado en el mismo conjunto. Esto es un servo de posicin (lo cual significa que uno le indica a qu posicin debe ir), con un rango de aproximadamente 180 grados. Ellos tienen tres cables de conexin elctrica; Vcc, GND, y entrada de control.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

22

3.5 Control
Para controlar un servo, usted le ordena un cierto ngulo, medido desde 0 grados. Usted le enva una serie de pulsos. En un tiempo ON de pulso indica el ngulo al que debe posicionarse; 1ms = 0 grados, 2.0ms = mx. grado (cerca de 120) y algn valor entre ellos da un ngulo de salida proporcional. Generalmente se considera que en 1.5ms est el "centro." Entre lmites de 1 ~ 2ms son las recomendaciones de los fabricantes; usted normalmente puede usar un rango mayor de 1.5ms para obtener un ngulo mayor e incluso de 2ms para un ngulo de rendimiento de 180 grados o ms. El factor limitante es el tope del potencimetro y los lmites mecnicos construidos en el servo. Un sonido de zumbido normalmente indica que usted est forzando por encima al servo, entonces debe disminuir un poco. El tiempo de OFF en el servo no es crtico; puede estar alrededor de los 20ms. Hemos usado entre 10ms y 30ms. Esto No tiene que ser de sta manera, puede variar de un pulso a otro. Los pulsos que ocurren frecuentemente en el tiempo de OFF pueden interferir con el sincronismo interno del servo y podra escucharse un sonido de zumbido o alguna vibracin en el eje. Si el espacio del pulso es mayor de 50ms (depende del fabricante), entonces el servo podra estar en modo SLEEP entre los pulsos. Entrara a funcionar en pasos pequeos y el rendimiento no sera el ptimo. Este es un ejemplo de la seal que debera tener el servo: El tiempo de OFF est variando, como se puede observar. Esto no tiene efectos adversos con tal de que est entre 10 ~ 30ms. El tiempo de ON determina la posicin del brazo de salida. Tenga mucho cuidado que hay servos viejos que usan polaridad de pulso invertido (es decir donde tiempo de OFF es importante). Ellos son difciles de conseguir en estos das. Tambin, hay algunos servos que tienen el "centro" en posicin diferente y rangos de tiempo diferentes. No es comn. Pero si usted llega a tener uno de estos servos, todo lo que tiene que hacer es cambiar su tiempo de pulso o polaridad! El resto es lo mismo.

3.6 Supongamos que queremos mover el servo a 30 grados


Para controlarlo a 30 grados; se debe calcular la longitud (ancho) del pulso: En 0 grados =1ms, 120 grados = 2ms => 30 grados =1.16ms. Relacin lineal. As, si seguimos envindole pulsos de 1.16ms, incrementaremos su posicin en 30 grados. Si hay una fuerza externa que intenta bloquearlo, el servo intentar resistir activamente (es decir, s el brazo se mueve externamente, el servo dar entradas al motor para corregir el error).

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

23

Tambin es posible dejar de enviar pulsos despus que el servo se ha movido a su posicin. Si dejamos de enviar pulsos por ms de 50ms (dependiendo del servo), este podra caerse. Esto significa, que este no estara aplicando ninguna entrada al motor, o activamente resistiendo fuerzas externas; solamente la friccin sostendr el brazo (del servo) en su lugar.

3.7 Circuito controlador del Servo


Esta es una versin. Puede usarse para jugar con servos, para verificar que ellos funcionen, o para conectarle servos a un Robot. Lo primero para este Driver es encontrar los pulsos requeridos con un osciloscopio para programarlo en un microcontrolador.

Circuito activador del servo.

Este usa un IC TIMER 555. El nombre usual es NE555 o LM555, casi todos los fabricantes de ICs lo han hecho. El circuito esquemtico lo encuentra en las hojas de datos de los manuales ECG, National, Motorola u otros, con los valores de resistor/capacitor calculados por los fabricantes. La nica diferencia es la presencia del potencimetro P1, el cual cambia el tiempo constantemente como usted lo mueva. La seal de salida del IC (pin3) tiene mala polaridad. Para Invertir esta, es necesario el transistor. El transistor se conecta en configuracin "colector comn" y se usa en modo de saturacin (esto significa APAGADO ENCENDIDO), as podra usar cualquier transistor npn para trabajar sin problemas (en nuestro caso usamos un C1959Y). En caso de que usted no pueda leer los valores, aqu est una lista de las partes: R1: 220K

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

24

R2: 15K R3: 10K R4: 10K P1: 10K C1: 100nF C2: 100nF V1: 4~6V Pilas o bateras 4 AA usar una fuente de voltaje a 5 Voltios. Cualquier transistor npn de baja seal.

3.8 Pero cual CABLE es cual?


Los cables del servo son normalmente codificados en colores como en el esquemtico. Hitec, Futaba y Hobbico usan la misma convencin. JR y Graupner tienen el control de color Naranja(Pero el orden de la instalacin elctrica es igual que Futaba). Otros como Sanwa (Airtronics) tienen la lnea de GND azul. Otros Sanwa tienen todos los cables negros, con la raya roja a un lado. El alambre rayado es Vcc, el siguiente es GND y el ltimo es la seal de control (clasificacin diferente que Futaba). Los Hitec, Futaba o Hobbico tienen esta distribucin: Seal de control (Amarillo o Blanco) Vcc (Rojo) GND (Negro). Los nmeros y las posiciones de los cables en el esquemtico son arbitrarias, verifique su propio servo antes de conectarlo. Una seal de voltaje mal polarizada puede daar el servo.

3.9 Suministro de Voltaje


El voltaje nominal es el que proporcionan unas pilas de 4x1.2V de NiCd puede dar; 4.8V. En la prctica, esto puede variar significativamente. Algunas compaas de Servos producen paquetes de pilas de 5 unidades de NiCd, con un voltaje nominal de 6.0V, pero tienen entre 6.5 ~ 7V cuando estn recin cargadas. Futaba da especificaciones de Servo velocidad/torque para 6V Consideremos 7V como un mximo seguro. Tambin supongamos que los servos trabajan con un paquete de pilas NiCd de 4 unidades, a 4.4V. Pero la respuesta sera algo lenta. As que se puede trabajar entre 4.4 V y 7.0 V,. Eso lo decide cada cual. Recomendamos usar 5V sin problemas. Se puede usar una fuente de voltaje de 5V, incluso usar integrados reguladores, como el 7805; no slo alimenta el protoboard o su circuito impreso con un buen desempeo, sino que tambin puede alimentar dos servos. La

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

25

corriente que requiere depende del tamao del servo. Normalmente el fabricante indica cual es la corriente que consume el Servo. Eso no significa mucho si todos los servos van a estar movindose todo el tiempo. La corriente depende principalmente del torque usado por el servo motor y puede exceder ms de un amperio si el servo est enclavado. Es mejor medir las especificaciones del servo.

Capitulo IV
4.1 Motores de corriente continua (DC)7

En la imagen anterior se pueden observar algunos motores de DC (Direct Current) o tambin llamados CC (corriente continua) este tipo de motores son usados generalmente en robtica. Los hay de distintos tamaos, formas y potencias, pero todos se basan en el mismo principio de funcionamiento. Para poner a funcionar un motor DC es muy simple y solo se necesita aplicar una tensin de alimentacin entre sus bornes, esta tensin puede variar dependiendo del tipo de motor, y la velocidad que necesitemos. Para invertir el sentido de giro basta con invertir la polaridad de la alimentacin y el motor comenzar a girar en sentido opuesto. A diferencia de los motores paso a paso y los servomecanismos, los motores DC no pueden ser posicionados y/o enclavados en una posicin especfica. Estos simplemente giran a la mxima velocidad y en el sentido que la alimentacin aplicada se los permite.

http://pdf.rincondelvago.com/motores-de-corriente-continua.html

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

26

El motor de corriente continua est compuesto de 2 piezas fundamentales: Rotor Estator

Dentro de stas se ubican los dems componentes como: Escobillas y porta escobillas Colector Eje Ncleo y devanado del rotor Imn Permanente Armazn Tapas o campanas

4.2 Contenido del motor de DC


La siguiente tabla muestra la distribucin de las piezas del motor:

Rotor Constituye la parte mvil del motor, proporciona el torque para mover a la carga. Est formado por: Eje: Formado por una barra de acero fresada. Imparte la rotacin al ncleo, devanado y al colector. Ncleo: Se localiza sobre el eje. Fabricado con capas laminadas de acero, su funcin es proporcionar un trayecto magntico entre los polos para que el flujo magntico del devanado circule. Las laminaciones tienen por

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

27

objeto reducir las corrientes parsitas en el ncleo. El acero del ncleo debe ser capaz de mantener bajas las prdidas por histresis. Este ncleo laminado contiene ranuras a lo largo de su superficie para albergar al devanado de la armadura (bobinado). Devanado: Consta de bobinas aisladas entre s y entre el ncleo de la armadura. Estas bobinas estn alojadas en las ranuras, y estn conectadas elctricamente con el colector, el cual debido a su movimiento rotatorio, proporciona un camino de conduccin conmutado. Colector: Denominado tambin conmutador, est constituido de lminas de material conductor (delgadas), separadas entre s y del centro del eje por un material aislante, para evitar cortocircuito con dichos elementos. El colector se encuentra sobre uno de los extremos del eje del rotor, de modo que gira con ste y est en contacto con las escobillas. La funcin del colector es recoger la tensin producida por el devanado inducido, transmitindola al circuito por medio de las escobillas (llamadas tambin cepillos)

Estator Constituye la parte fija de la mquina. Su funcin es suministrar el flujo magntico que ser usado por el bobinado del rotor para realizar su movimiento giratorio. Est formado por: Armazn: Denominado tambin yugo, tiene dos funciones primordiales: servir como soporte y proporcionar una trayectoria de retorno al flujo

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

28

magntico del rotor y del imn permanente, para completar el circuito magntico.

Imn permanente: Compuesto de material ferromagntico altamente remanente, se encuentra fijado al armazn o carcaza del estator. Su funcin es proporcionar un campo magntico uniforme al devanado del rotor o armadura, de modo que interacte con el campo formado por el bobinado, y se origine el movimiento del rotor como resultado de la interaccin de estos campos.

Escobillas: Las escobillas estn fabricadas de carbn, y poseen una dureza menor que la del colector, para evitar que ste se desgaste rpidamente. Se encuentran albergadas por los porta escobillas. Ambos, escobillas y porta escobillas, se encuentran en una de las tapas del estator. La funcin de las escobillas es transmitir la tensin y corriente de la fuente de alimentacin hacia el colector y, por consiguiente, al bobinado del rotor. La funcin del

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

29

porta escobillas es mantener a las escobillas en su posicin de contacto firme con los segmentos del colector. Esta funcin se realiza por medio de resortes, los cuales hacen una presin moderada sobre las escobillas contra el colector. Esta presin debe mantenerse en un nivel intermedio pues, de ser excesiva, la friccin desgastara tanto a las escobillas como al colector; por otro lado, de ser mnima esta presin, se producira lo que se denomina "chisporroteo", que es cuando aparecen chispas entre las superficies del colector y las escobillas, debido a que no existe un buen contacto.

4.3 Ejemplos de control para los motores D.C. Control mediante HBridge con regulador de velocidad:
En la siguiente figura podemos apreciar un circuito basado en el uso de dos HBridge BA6286 de Rohm para controlar dos motores DC.

Circuito tomado de las hojas de especificaciones del fabricante en el sitio de Internet http://pdf.alldatasheet.co.kr/datasheet-pdf/view/36081/ROHM/BA6286.html

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

30

Como podemos apreciar en el diagrama anterior, este circuito posee dos resistencias variables (preset) denominadas RV1 y RV2, que se utilizan para variar en forma independiente la velocidad de los motores izquierdo y derecho respectivamente. VM es la tensin que alimenta los motores, el valor de VM depende de los motores usados, en general debe ser un poco ms alta para compensar la cada de tensin producida en el HBridge. Por otro lado variando RV1 y RV2, se vara la tensin real que es aplicada a los motores, con lo cual se regula su velocidad de giro. La tensin de alimentacin VCC es una tensin TTL clsica de 5v, la cual sera tambin usada para el resto de la lgica de control que se agregase a este circuito. El BA6286 soporta una carga mxima de 1A, por lo que se debe tener en consideracin al momento de seleccionar los motores a usar.

4.4 Control mediante micro relevadores.


En el siguiente circuito podemos apreciar otra alternativa de control para dos motores DC.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

31

Diagrama tomado de la hoja de especificaciones del circuito ULN2003 descargado del sitio http://pdf.alldatasheet.co.kr/datasheet-pdf/view/25575/STMICROELECTRONICS/ULN2003.html

En este caso el sentido de giro es controlado por dos micro relevadores del tipo doble inversor (RL2 y RL3). Y combinado a otro micro relevador simple (RL1), se obtiene el control total de los motores. Los relevadores son accionados mediante un arreglo de transistores Darlington (ULN2003), el cual amplifica los pulsos de control generados por la etapa lgica, en este caso realizada con compuertas OR (74HC32). Este mtodo posee la ventaja de no producir cadas de tensin, por lo que VM en este caso se puede usar dentro del rango de tensin soportada por los motores. VCC, al igual que en el mtodo anterior, debe ser un valor TTL vlido (5v). Es recomendable conseguir micro relevadores cuyas bobinas se activen con 5v, de esta manera pueden ser accionados directamente por VCC, evitando as trabajar con tantas tensiones distintas. Si los relevadores a usar son de 12v, entonces el pin 9 del ULN2003 deber ser conectado a 12v, as como tambin el extremo libre de la bobina de los relevadores (en el circuito anterior conectados a VCC). Cabe aclarar que este mtodo puede resultar ms econmico y hasta ms simple de comprender, pero su desventaja radica en la imposibilidad de regular la velocidad (excepto que se agregue un circuito adicional para este fin tipo PWM). Por otro lado al trabajar con elementos mecnicos (que es el caso de un relevador) los riesgos de fallas aumentan y la vida til del circuito disminuye.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

32

Capitulo V
5.1 Sensores en Robtica
5.2 Introduccin.
Una parte importante a la hora de construir un robot es la incorporacin de sensores. Los sensores trasladan la informacin desde el mundo real al mundo abstracto de los microcontroladores. En esta parte del documento se explican los conceptos fundamentales de los sensores mas comnmente usados.

5.3 Valores de salida de los sensores:


Los sensores ayudan a trasladar los atributos del mundo fsico en valores que la controladora de un robot puede usar. En general, la mayora de los sensores pueden ser divididos en dos grandes grupos: 1. Sensores analgicos 2. Sensores Digitales Un sensor analgico es aquel que puede entregar una salida variable dentro de un determinado rango (ver figura 1). Un Sensor analgico, como por ejemplo una Fotorresistencia (estos componentes miden intensidad de luz), puede ser cableado en un circuito que pueda interpretar sus variaciones y entregar una salida variable con valores entre 0 y 5 volts.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

33

Figura 1

Un sensor digital es aquel que entrega una salida del tipo discreta (ver figura 2). Es decir, que el sensor posee una salida que vara dentro de un determinado rango de valores, pero a diferencia de los sensores analgicos, esta seal vara a pequeos pasos pre-establecidos.

Figura 2

Por ejemplo consideremos un botn pulsador, el cual es uno de los sensores ms bsicos. Posee una salida discreta de tan solo dos valores, estos pueden ser abierto o cerrado. Otros sensores discretos pueden entregar una salida del tipo binario, como es el caso de un conversor Analgico/Digital, el cual entrega una salida de 8 bits capaz de subdividir las variaciones de la entrada en hasta 256 escalones. Los sensores discretos mas comnmente usados en robtica entregan una salida del tipo binaria las cuales poseen dos estados posibles (0 y 1). De aqu en adelante asumiremos que una salida digital es una salida del tipo binaria. La distincin entre analgico y digital es muy importante a la hora de tomar la decisin para determinar que sensores se usarn. Esta decisin depende en gran medida de la capacidad y caractersticas de la controladora que se usar.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

34

5.4 Conversin Analgica/Digital:


Los microcontroladores generalmente operan con valores discretos. Los controladores como el Motorola 68HC11, el PIC 16F84, etc., trabajan con valores binarios de 8 bits. Una parte importante a la hora de trabajar con seales analgica es la posibilidad de transformar las mismas en seales digitales mediante el uso de un conversor A/D (analgico/digital) y entregar su salida sobre un bus de 8 bits (1 Byte). Esto permitir al microcontrolador poder tomar decisiones en base a la lectura obtenida. Cabe destacar que en la actualidad existen microcontroladores que ya poseen este conversor integrado en si mismos, lo que permite ahorrar espacio y simplificar el diseo. En la siguiente figura se puede ver un ejemplo de como se comportara un conversor A/D (analgico/digital):

Podemos ver como para distintos rangos de valores de entrada, se obtiene un valor de salida binario. Si nuestro rango de entrada est entre 0 y 5 volts, un conversor A/D de 8 bits podr dividir la tensin de entrada en 256 valores binarios. Esto resulta en un escaln de 0.0195 volts. Esto se puede ver claramente en la tabla anterior, si bien solo estn representados los primeros cinco niveles.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

35

El grfico anterior muestra el resultado de una conversin A/D para 14 muestreos. El nmero del muestreo es mostrado en el eje X en la parte inferior. El lado izquierdo del eje Y indica el voltaje de la entrada analgica que est siendo muestreada. Sobre el lado derecho del eje Y podemos ver el valor digital de 8 bits asignado a cada punto del muestreo. (Visto en formato decimal). Existen una gran variedad de conversores A/D en el mercado. Los de 8 bits se usan comnmente con microcontroladores, pero tambin existen de 10 bits, capaces de tomar hasta 1024 muestras. Y de 12 bits, capaces de tomar hasta 65356 muestras.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

36

A mayor cantidad de muestras mayor ser la precisin obtenida, por lo que la eleccin del conversor A/D adecuado depender de que tan exacto deber ser nuestra lectura del sensor.

5.5 Sensores Analgicos ms frecuentes:


Recuerde que para usar con xito un sensor analgico, deber poseer alguna forma de convertir la salida generada por este en una seal digital capaz de ser interpretada por un sistema microcontrolado. Todos los circuitos mostrados en esta seccin estn pensados para ser usados conectndolos a un conversor A/D. Recuerde que muchos microcontroladores ya traen integrado estos conversores, en caso contrario se deber agregar externamente uno como por ejemplo el ADC0801 de National Semiconductores (http://www.national.com/) o similares.

5.6 Fotorresistencia:
Estos fotorresistores (tambin llamados LDR) poseen la capacidad de variar su valor acorde a la cantidad de luz que incide sobre ellos. El LDR mostrado como P1 en el diagrama siguiente posee una resistencia de 10K operando con una iluminacin intermedia. Junto con R1 que tambin es de 10K, producen un divisor resistivo. La tensin medida en el punto medio de este divisor variar segn vare la luz que incida sobre el LDR. Debido a que el valor resistivo del LDR decrece a medida que la luz aumenta, en consecuencia la tensin en el punto medio disminuir tambin a medida que la luz aumente y viceversa.

A modo de ejemplo supongamos que hay suficiente iluminacin para llevar el valor del LDR a 2K. En este caso la tensin medida en el punto medio (considerando VCC=5v) sera: V= P1*(VCC/(P1+R1)) Entonces V=2K*(5/(2K+10K))= 0.83v

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

37

Si la salida del punto medio la transformramos a Digital mediante el Conversor A/D comentado anteriormente obtendramos una lectura aproximadamente igual a 42 (valor digital) en decimal (2A Hexadecimal). Lo cual podra ser perfectamente interpretado por un sistema microcontrolado y de esta forma poder medir la intensidad de luz presente.

5.7 Potencimetros:
Otro sensor muy comnmente usado y que a veces no se le considera es el clsico potencimetro. Estos son muy tiles para medir movimientos y determinar la posicin de un mecanismo determinado como por ejemplo el eje de una articulacin de un brazo mecnico. Debido a que los potencimetros poseen un ngulo de giro de aproximadamente 270, no es posible usarlos en mecanismos que deben realizar un giro completo o bien mas de una vuelta sobre su eje. Como se aprecia en el diagrama, la forma de conexin es similar al caso del LDR, con la simple diferencia que en este caso el Potencimetro es un divisor resistivo en si mismo y R3 se usa como simple limitador de corriente. Los valores son a modo de ejemplo y pueden usarse cualquier valor dentro de rangos aceptables. No muy bajos para no provocar un elevado consumo (10K es lo mas bajo recomendable) y no muy elevado ya que la corriente sera demasiado baja (no mas de 1.5M).

Existen dos tipos de potencimetros en el mercado: Lineares y Logartmicos (estos ltimos usados normalmente en audio). Los del tipo linear varan su valor en forma constante (linealmente), los del tipo logartmicos poseen una curva de variacin del tipo logartmica, esto es decir que

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

38

su valor aumenta lentamente en los extremos y luego los valores cambian cada vez ms rpidamente. Los mas recomendados a la hora de sensar posiciones de mecanismos son los del tipo linear.

5.8 Sensores Digitales de uso general:


Existe una gran variedad de sensores digitales. Muchos de ellos se conectan en forma similar, la cual es haciendo uso de una resistencia de Pull-Up conectada a VCC para mantener la entrada forzada a nivel alto, con lo cual el sensor la forzara a nivel bajo cuando se active.

5.9 Switchs o llaves


Uno de los sensores ms bsicos son los switchs (llaves o pulsadores). En la siguiente figura se puede apreciar el conexionado clsico de un switch a una entrada digital:

Para evitar pulsos de rebote al accionar el switch se puede usar un capacitor de bajo valor (0.1uF a 1uF) en paralelo con los bornes del switch.

5.10 Microswitch:
Un tipo de switch muy til en robtica es el microswitch como el que se puede apreciar en la siguiente figura:

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

39

Al presionar la lmina, el borne comn C pasa a conectarse con el borne activado A. Si la lmina no est presionada, el borne C est unido con R (reposo). En la prctica el borne R viene identificado como NC (normal closed) y el borne A viene identificado como NO (normal open). La forma de conectar un microswitch a una entrada digital es la misma usada para todo tipo de switch (ver punto anterior). En la siguiente figura podemos ver uno de los usos caractersticos de estos microswitch:

En este ejemplo se los utiliza para la deteccin de obstculos en un pequeo robot.

5.11 Sensores infrarrojos optoacoplados:


Existen dos tipos de sensores infrarrojos: reflectivo y de ranura. En ambos casos estos se basan en un conjunto formado por un fototransistor (transistor activado por luz) y un LED infrarrojo.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

40

Reflectivo: Este tipo de sensor presenta una cara frontal en la cual se encuentran tanto el LED como el Fototransistor. Debido que no estn colocados en forma enfrentada, la nica forma posible para que la luz generada por el LED active el Fototransistor es haciendo reflejar esta luz en una superficie reflectiva. Teniendo en cuenta esto, estos sensores son muy tiles para detectar por ejemplo una lnea negra sobre una superficie blanca o viceversa. Debido a que el fototransistor es afectado no solo por la luz del diodo sino por la luz ambiental, se deben desarrollar circuitos de filtrado para evitar una falsa activacin debido a la luz ambiente.

De Ranura: En este tipo de sensor, ambos elementos (LED y Fototransistor) se encuentran alineados a la misma altura enfrentados a travs de la ranura. El fototransistor se encontrar activado siempre que no se introduzca ningn elemento que obture la ranura.

En la figura de abajo se aprecia un uso clsico para este tipo de sensores.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

41

El motor posee un disco ranurado acoplado a su eje. De esta forma podemos detectar el movimiento del motor, ya que al girar ir obturando y liberando el haz de luz entre el LED y el Fototransistor. En la siguiente figura se aprecia un conexionado tpico para este tipo de sensores. En el caso del reflectivo se debera adems modular el encendido del LED para luego poder realizar el filtrado necesario para evitar la activacin por luz ambiente.

5.12 Sensor de Efecto Hall:


Otro sensor muy til y simple de usar es el de efecto Hall. Se trata de un semiconductor que acta como detector de proximidad al enfrentarse al polo sur de un imn. Utilizando el efecto Hall para proporcionar una conmutacin sin rebotes.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

42

La distancia a la que produce la conmutacin el campo magntico del imn es de alrededor de 2mm (dependiendo del modelo usado). Son muy usados en circuitos lgicos en donde se precisa conmutar sin que se produzcan rebotes, o en donde se quiera evitar el contacto mecnico. Como por ejemplo es posible realizar un circuito que mida las revoluciones a las que est girando una rueda.

Capitulo VI
6.1 Pruebas y conclusiones
6.2 Cmo funciona nuestro robot? 6.3 Etapa de potencia.
Para la etapa de potencia hemos implementado el circuito integrado L298N que soporta una corriente de hasta 4A y para nuestro propsito tiene un margen muy grande con respecto a la corriente que consumen nuestros motores; la mxima corriente que requiere manejar cada integrado es de 1.4A, este consumo se lleva a cabo en la etapa de traccin, debido a que, un solo integrado controla 4 motores, este arreglo se simplific debido a que los 4 motores eran requeridos para llevar a cabo la misma instruccin, es decir, nicamente tienen 2 opciones hacia delante o hacia atrs y requieren llevar a cabo al mismo tiempo la misma opcin. A continuacin se presenta la tabla de verdad que utiliza este tipo de circuito

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

43

integrado y enseguida se presenta el circuito que hemos usado para la etapa de traccin, cabe hacer la aclaracin que dentro del recuadro que emula al circuito integrado se encuentra la leyenda L298N, esto lo nico que nos quiere decir, es que como nicamente esta controlando un motor, utiliza nicamente la mitad del circuito integrado; es por eso que nosotros hemos hecho 2 figuras para controlar 2 motores y la unin de ambas representa un solo circuito integrado. La informacin dada fue tomada de hojas tcnicas de ST Semiconductors y se encuentra disponible en la pgina electrnica del fabricante, este tipo de circuito tambin es fabricado por otras empresas como National Semiconductors o Motorola.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

44

Diagrama de conexin del L298N para controlar las cuatro ruedas de traccin

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

45

6.4 Periscopio.
Para la parte del movimiento de la cmara web y del brazo mecnico se han usado el mismo tipo de circuito y su conexin es similar. La diferencia de esta parte con la parte de traccin motriz es que aqu se cuenta con sensores para conocer la ubicacin del motor a cada momento y nos sirve para que los motores no sigan avanzando y provoquen dao a la cmara debido a que el periscopio girara sin ningn control.

6.5 Direccin de las ruedas frontales.


Para la etapa de direccin se usan 2 servomotores con un ngulo mximo de 30 hacia la izquierda y 30 hacia la derecha, es decir un ngulo total de 60. Estos servos estn controlados por el un microcontrolador, el 68HC11. Los motores son alimentados por pulsos directos del microcontrolador.

6.6 Brazo mecnico.


Esta parte del proyecto intenta emular la condicin de un brazo humano con todas las limitantes como son presin que ejerce una mano, giro mximo del codo en una sola dimensin, y ngulo mximo del hombro, para lograr esto en el robot se ha dotado de sensores infrarrojos de ranura para evitar que los movimientos continen sin control y de esta manera lograr un ngulo adecuado. Esta parte del proyecto utiliza drivers L298N

6.7 Quin controla todo esto?


Para controlar todo esto se hace uso de una LapTop que cuenta con un puerto paralelo mediante el cual se enviarn los datos u rdenes a ejecutar de las opciones que nos presenta un programa hecho en lenguaje C y con un ambiente grfico que nos ofrece diversas opciones de movimiento y con diferentes grados de libertad para el robot.

6.8 Vistas en 3d.


A continuacin se presentan algunos isomtricos del robot para una comprensin ms amplia.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

46

En esta vista lateral en 3D se ilustran el nmero de ruedas, tambin cuenta con un periscopio conteniendo en la parte superior una cmara web inalmbrica. El periscopio cuenta con 3 tipos de movimiento, horizontal al piso, vertical para subir o bajar la cmara y la cmara cuenta tambin con un motor que la hace girar en modo vertical al piso. Imagen creada con el software K3D.

En esta vista frontal en 3d se aprecia de frente un brazo articulado con tres movimientos asemejando un hombro humano, cuenta con un movimiento de hombro, codo y contiene una pequea mano al frente que hace capaz al robot de tomar cosas pequeas. El brazo tambin cuenta con sensores para que al llegar a cierto lmite en sus movimientos el motor se detiene evitando posibles riesgos tales como la descomposicin de los motores. Imagen creada con el software K3D

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

47

En esta vista trasera se puede apreciar el brazo mecnico y la cmara web adaptada en la parte superior del periscopio. Imagen creada con el software K3D

6.9 Placa para la conexin de motores


En seguida se muestra la forma de conexin de los motores a una tabla de fibra de vidrio para circuitos. No. Pin 12 34 46 78 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Cdigo MA1 MA2 MA3 MA4 MB1 MB2 MB3 MC1 MC2 Descripcin motor 1 traccin (avance y retroceso del spirit) motor 2 traccin (avance y retroceso del spirit) motor 3 traccin (avance y retroceso del spirit) motor 4 traccin (avance y retroceso del spirit) Libre Motor brazo 1 (soporte brazo) Motor brazo 2 (extensin brazo) Motor brazo 3 (manita) Libre Motor cmara (giro cmara) Motor periscopio (arriba abajo)

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

48

23 24 25 26 27 28 29 30

MC3 MD1 MD2

Motor periscopio (derecha - izquierda) Libre Motor direccin 1 (giro izquierda- derecha) Motor direccin 2 (giro izquierda- derecha)

Para una mejor comprensin se muestran todas las posibles opciones de movimiento para el robot en la siguiente tabla con sus respectivos valores en binario y hexadecimal. Tambin se incluyen los sensores y una breve descripcin del sitio en que fueron colocados.

6.10 Tabla de movimientos

ENTRADAS PUERTO A D7 D6 D5 PA7 PA6 PA5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1


49 Universidad Autnoma Metropolitana Iztapalapa Proyecto D3 Terminal I y II Emulacin de la Sonda Rover D4 D2 D1 D0 PA4 PA3 PA2 PA1 PA0 HEX OBSERVACION 0 0 0 0 0 00 Standby 0 0 0 0 1 01 Movimiento de Carro hacia delante 0 0 0 1 0 02 Movimiento de Carro hacia Atrs 0 0 0 1 1 03 Llantas de direccin giran derecha 0 0 1 0 0 04 Llantas de direccin giran izquierda 0 0 1 0 1 05 Llantas al centro (Alineacin ) 0 0 1 1 0 06 Indefinido 0 0 1 1 1 07 Indefinido 0 1 0 0 0 08 Movimiento de Hombro Abajo 0 1 0 0 1 09 Movimiento de Hombro Arriba 0 1 0 1 0 0A Movimiento de codo Abajo 0 1 0 1 1 0B Movimiento de codo Arriba 0 1 1 0 0 0C Movimiento de mano Abajo 0 1 1 0 1 0D Movimiento de mano Arriba 0 1 1 1 0 0E Indefinido 0 1 1 1 1 0F Indefinido 1 0 0 0 0 10 Movimiento de Periscopio Abajo 1 0 0 0 1 11 Movimiento de Periscopio Arriba Movimiento de Periscopio giro 1 0 0 1 0 12 izquierda 1 0 0 1 1 13 Movimiento de Periscopio giro derecha 1 0 1 0 0 14 Movimiento Cmara abajo 1 0 1 0 1 15 Movimiento Cmara arriba 1 0 1 1 0 16 Indefinido 1 0 1 1 1 17 Indefinido 1 1 0 0 0 18 Retrocede carro y giro izquierdo 1 1 0 0 1 19 Retrocede carro y giro derecho 1 1 0 1 0 1A Avance carro y giro izquierdo 1 1 0 1 1 1B Avance carro y giro derecho *Retrocede carro y alineacin de 1 1 1 0 0 1C llantas *Avanza carro y alineacin de 1 1 1 0 1 1D llantas 1 1 1 1 0 1E Abajo hombro y abajo codo 1 1 1 1 1 1F Abajo hombro y arriba codo 0 0 0 0 0 20 Arriba hombro y abajo codo 0 0 0 0 1 21 Arriba hombro y arriba codo 0 0 0 1 0 22 Abajo hombro y abajo mano 0 0 0 1 1 23 Abajo hombro y arriba mano 0 0 1 0 0 24 Arriba hombro y abajo mano 0 0 1 0 1 25 Arriba hombro y arriba mano 0 0 1 1 0 26 Abajo codo y abajo mano 0 0 1 1 1 27 Abajo codo y arriba mano 0 1 0 0 0 28 Arriba codo y abajo mano 0 1 0 0 1 29 Arriba codo y arriba mano 0 1 0 1 0 2A Abajo periscopio y abajo cmara 0 1 0 1 1 2B Abajo periscopio y arriba cmara 0 1 1 0 0 2C Arriba periscopio y abajo cmara

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

50

SALIDAS PUERTO F M4B M4A M3B M3A M2B M2A M1B M1A PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 HEX OBSERVACION 0 0 0 0 0 0 0 0 00 Sin movimiento Movimiento de Carro hacia 0 0 0 0 0 0 0 1 01 Adelante Movimiento de Carro hacia 0 0 0 0 0 0 1 0 02 Atrs Llantas de direccin giran 0 0 0 0 0 1 0 0 04 derecha Llantas de direccin giran 0 0 0 0 1 0 0 0 08 izquierda Llantas de direccin se 0 0 0 0 1 1 0 0 0C alinean al centro Movimiento de Hombro 0 0 0 1 0 0 0 0 10 Arriba Movimiento de Hombro 0 0 1 0 0 0 0 0 20 Abajo 0 1 0 0 0 0 0 0 40 Movimiento de codo Arriba 1 0 0 0 0 0 0 0 80 Movimiento de codo Abajo 1 0 1 0 0 0 0 0 A0 Motores indicados se mueven

PUERTO B M8B M8A PF7 PF6 0 0 0 0 0 0 0 0 0 0 0 0 0 0

M7B PF5 0 0 0 0 0 0 1

M7A PF4 0 0 0 0 0 1 0

M6B PF3 0 0 0 0 1 0 0

M6A PF2 0 0 0 1 0 0 0

M5B PF1 0 0 1 0 0 0 0

M5A PF0 0 1 0 0 0 0 0

HEX 00 01 02 04 08 10 20

OBSERVACION Sin movimiento Hacia la derecha mano Hacia la izquierda mano Movimiento de Periscopio Arriba Movimiento de Periscopio Abajo Movimiento de Periscopio giro derecha Movimiento de Periscopio giro izquierda

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

51

0 1 1

1 0 0

0 0 1

0 0 0

0 0 1

0 0 0

0 0 0

0 0 0

40 80 A8

Movimiento Cmara arriba Movimiento Cmara abajo Motores indicados se mueven

PUERTO D PD7 PD6 PD5 PD4 PD3 PD2 PD1 PD0 HEX OBSERVACION 0 0 0 0 0 0 0 0 00 Sin movimiento Habilitacin de motores de 0 0 0 0 0 0 1 1 01 avance

Despus de resolver el problema de cual o cuales movimientos desebamos que ejecutara el robot procedimos a realizar un diagrama para una comprensin rpida de cmo deba de estructurarse el robot. Esto fue hecho para ms tarde avocarse a la solucin e implementacin electrnica, sin duda que antes de hacer circuitos siempre es bueno y una buena costumbre realizar un diagrama previo para conocer el problema a fondo y la solucin resultar ms fcil.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

52

Vale dar una breve descripcin del diagrama, empezando por la parte superior encontramos una laptop conteniendo un puerto paralelo, como este puerto paralelo entrega poca corriente es necesario colocar unos optoacopladores un optoacoplador por cada bit de salida- despus nos encontramos con un microprocesador el 68HC11F1 que es el encargado del control total de los dispositivos perifricos tales como sensores, drivers para los motores y direccin, tambin nos encontramos con el control de los servomotores que son utilizados por la direccin, el control se logra mediante un pic; el 16F628 controlado por el micro mediante solo 2 bits de control solo tiene 3 opciones derecha, izquierda o centro- nuevamente encontramos optoacopladores para evitar que el micro sufra daos debido a que los drivers consumen hasta 1A de corriente .los reguladores de voltaje son del tipo variable, el LM317 , mientras que para surtir energa cuenta con paneles solares colocados en arreglos que surten 12V a la batera que es una de las usadas en motocicletas, esta a su vez cuenta con un circuito indicador de voltaje cuando el voltaje desciende hasta 8V, suena una chicharra avisadora o se enciende un led como es este caso, para que la batera se recargue, esto debido a

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

53

que los paneles solares no surten la corriente necesaria para el buen funcionamiento del robot.

6.11 Circuitos diseados

Circuito interfaz para el puerto paralelo que fue usado en el proyecto.

En la figura anterior se muestra el circuito interfaz para el puerto paralelo, a veces es necesario colocar optoacopladores para proyectos grandes que dependan del puerto paralelotas salidas de corriente del uln2003 nos proveen hasta 0.5A capaz de mover motores grandes, mientras que la parte de abajo del circuito con el 74ls245 es ideal para controlar servomotores.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

54

Para la conexin de los drivers se dise el siguiente circuito, cuenta con un microprocesador el 68HC11F1 dedicado al control total de los dispositivos, tambin se muestra la imagen lista para ser impresa en una tabla de circuitos en tamao real. En el diseo de circuitos se utiliz el software Tagle, en la bibliografa se indica el sitio de Internet donde usted puede conseguir el software.

Circuito de control de los motores totales del robot

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

55

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

56

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

57

Para el circuito indicador de batera baja se dise el siguiente circuito, usando un Op Amp 741 como comparador y con el potencimetro de 100k decidimos el

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

58

nivel de bajo voltaje, cuando la batera llega a este voltaje se enciende el led o suena el buzzer, dependiendo que se haya conectado.

Circuito indicador de batera baja.

Fotografas del robot en tamao natural

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

59

Fotografa de frente del robot.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

60

Fotografa parte trasera del robot

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

61

En plena construccin del robot.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

62

6.12 Conclusiones
Es mucho lo que se ha hecho en el rea de la programacin para la robtica; sin embargo an no existe un lenguaje ideal para la programacin de los robots. Son muchos los lenguajes creados hasta ahora, en parte las causas principales de esta amplia gama de lenguajes inadecuados o poco efectivos son: 1. Cada lenguaje se ha diseado tomando como base un robot diseado especficamente para que realice determinada tarea, lo que anula su universalidad y la posibilidad de emplearlo en modelos diferentes. 2. Los lenguajes, en muchos casos, se dirigen hacia aplicaciones diferentes, lo que limita grandemente su utilizacin para la programacin de otras tareas. Hoy en el mundo existe un inters general para lograr un sistema de percepcin del entorno cada vez ms avanzado. Para esto se hace necesaria la ampliacin de la Inteligencia Artificial, que interviene en la valoracin del espacio exterior o entorno y determina los planes de accin alternativos o lo que es lo mismo la respuesta a la interaccin con ese medio. Por otra parte, cada vez ms vemos mquinas interactuando en nuestro medio de vida como por ejemplo robots automatizando la produccin industrial, o nos enteramos que se llevan a cabo actividades de manera remota como las operaciones quirrgicas, por lo que no debe de sorprendernos que en un futuro no muy lejano encontremos robots capaces de realizar actividades por s mismos sin la necesidad de que los humanos los programen. Los lmites de la robtica actual se pueden apreciar en contraste con las expectativas previstas por Joseph Engelberger8 para la robtica de los ochenta: a) Seis articulaciones de precisin entre la base del robot y el extremo de un manipulador. b) Programacin sencilla e intuitiva. c) Adaptacin al medio mediante estmulos sensoriales. d) Margen de movimientos de 0.3mm. e) Capacidad de manipular pesos de hasta 150 Kg. f) Control de movimiento punto a punto y de seguimiento de trayectorias. g) Sincronizacin con blancos mviles. h) Compatibilidad con ordenadores personales. i) Alta fiabilidad (durante al menos 400 horas de trabajo). j) Visin artificial que incluya al menos capacidad de orientacin y reconocimiento. k) Sensores tctiles. l) Coordinacin de las distintas partes de la unidad.
Joseph Engelberg fue el primero en presentar un brazo mecnico, anteriormente haba creado la primera empresa de robots junto con George Devil.
8

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

63

m) n) o) p) q) r)

Capacidad de correccin de trayectorias en lnea. Movilidad. Optimizacin de movimiento. Conservacin de la energa. Partes de propsito general. Comunicacin por voz.

Engelberger aseguraba que los primeros diez puntos ya se haban conseguido a principios de los ochenta. Los sistemas sensoriales por visin y tacto, si bien existen, se limitan a aplicaciones muy bsicas y especficas con bajo nivel de detalle debido a la enorme carga computacional inherente al procesado de imagen. En lo que respecta al movimiento, se progresa, aunque con menor precisin de la deseable debido a imperfecciones, deslizamiento y problemas mecnicos en general. La energa necesaria para operar una unidad robtica ha disminuido mucho desde los aos 70, y se han conseguido unidades capaces de funcionar con bateras solares. No obstante debe seguirse trabajando en este punto, especialmente en robots destinados a desplazarse en exteriores y entornos hostiles, donde la autonoma del agente es un factor crtico. Respecto a la comunicacin por voz, en tanto que existe la compatibilidad con ordenadores personales y estos soportan paquetes de reconocimiento de voz distribuidos de forma comercial, es un problema resuelto de forma cada vez ms satisfactoria. Para lograr que este proyecto llegara a feliz trmino debimos de superar varios obstculos que se fueron presentando en el transcurso del diseo y ejecucin del proyecto, como por ejemplo que actualmente y debido al poco inters para crear robots es muy difcil conseguir motores de DC adecuados, por el momento se debe de echar mano del ingenio y la habilidad para lograr una buena adaptacin de este tipo de materiales, por otra parte para conseguir engranajes que cumplieran con las expectativas formadas para el robot fue sumamente complicado debido a que casi no los hacen y mandarlos a hacer representa un gasto bastante elevado, probablemente uno de los problemas por resolver a futuro sea el disear este tipo de piezas para hacer que los costos bajen, para lograr acoplar todas las partes que usaban este tipo de dispositivos, utilizamos engranes de casi cualquier cosa, desde engranes de aluminio que contienen las copiadoras hasta engranes de tefln usados por las impresoras antiguas. Otro problema que debimos de resolver fue la utilizacin de los servomotores ya que los que existen actualmente son muy pequeos y demasiado caros es por esto que usamos motores de DC adaptados con los circuitos de los servomotores y ya nicamente fue conocer el tiempo de los pulsos que eran enviados por el microntrolador 68HC11 para saber que ngulo nos daran y modificarlos segn nuestras necesidades.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

64

Actualmente las soluciones para producir energa elctrica de manera alternativa mantienen un costo elevado y esto representa un problema a la hora de disear circuitos alimentados con energa solar tal como sucedi en la elaboracin de este proyecto donde debido al alto costo de paneles solares de alta eficiencia nos vimos obligados a utilizar celdas solares de kits educativos diseados para convertir energa solar a energa elctrica con una baja eficiencia.

6.13 Perspectivas
Las perspectivas para equipos robticos son impresionantes, ya que su desarrollo acompaa el Progreso de equipos de computacin, las exigencias de la exploracin espacial y muchas otras aplicaciones de gran riesgo para el hombre o directamente imposibles para l. Es ah donde los robots del siglo XXI, podrn mostrar su capacidad operativa y su condicin de imprescindibles en el actual desarrollo de la civilizacin humana.

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

65

6.14 Bibliografa
Pginas de Internet visitadas para la realizacin de este documento. http://www.futaba-rc.com/ http://www.motorola.com/ http://www.hitecrcd.com/ http://www.hobbico.com/ http://www.national.com/ http://www.alldatasheets.com http://www.lvr.com/parprtib.htm#Chapter1 http://www.x-robotics.com/sensores.htm http://www.superrobotica.com/Sensores.htm http://www.superrobotica.com/Sensores.htm http://www.micropik.com/provisional/pag_sensores.htm http://www.thetech.org/robotics/universal/page02.html http://www.microrobotna.com/discription/hexapod.htm http://www.parallaxinc.com http://www.stampsenclase.com http://www.mundobot.com

Libros usados en el presente trabajo Maquinas y accionamientos elctricos. Roberto Faure Benito. Primera Edicin. 2000 ROBTICA INDUSTRIAL. FUNDAMENTOS Y APLICACIONES. Arantxa Rentera Bilbao; Mara Rivas Ardisana (Editorial McGraw-Hill). Primera edicin 2000. COIFFET, P.: Elementos de robtica. Editorial Revolucionaria. ANGULO, J. M.: Curso de robtica. Editorial Revolucionaria. DUEAS, F. A.: La Robtica. www.monografias.com FGL "Robtica: Control, Deteccin, Visin e Inteligencia", K.S. Fu, R.C. Gonzlez, C.S.G. Lee. McGraw-Hill, ISBN 84-7615-214-0

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

66

GWNO "Robtica Industrial: Tecnologa, programacin y aplicaciones", M. P. Groover, M. Weiss, R. N. Nagel, N. G. Odrey, McGraw-Hill, ISBN 0-07-024989-X Tay "Control Robtico", P. M. Taylor, Eds. Ceac, ISBN 0-333043821-3 Min "Robtica: La ltima frontera de la alta tecnologa", M. Minsky et al., Ed. Planeta, ISBN 84-320-7885-9 Oll "Evolucin y perspectivas de la Robtica", A. Olero, Sec. de publicaciones Univ. de Mlaga, ISBN 84-7496-216-1 The ultimate palm robot. Kevin Mukhar, Dave Jhonson. McGraw Hill.2003. PDA Robotics. Douglas H. Williams. Mc Graw Hill. 2003 CANDELAS, S.(UNAM) : Lenguajes de programacin de los Robots http://www.monografias.com Parallel Port Complete: Programming, interfacing, and using the PCs parallel printer port Jan Axelson. 1996, Lakeview Research. Programming the Parallel Port: Interfacing the PC for Data Acquisition & Process Control.by Dhananjay V. Gadre.1998, CMP Books 308 pagesIncludes source code in C for DOS and Linux.

Software utilizado en la realizacin de este trabajo. Diseo grfico. K3D http://k3d.org Solid Edge http://www.solidedge.com/

Diseo de circuitos

Universidad Autnoma Metropolitana Iztapalapa


Proyecto Terminal I y II Emulacin de la Sonda Rover

67

Eagle www.cadsoft.de

Otros Apuntes Universidad La Salle Ing. Ciberntica Universidad de Valencia. Robtica

También podría gustarte