1 INTRODUCCIÓN A LA ROBÓTICA MÓVILCurso de Extensión INTRODUCCIÓN A LA ROBÓTICA MÓVIL
2 Tema 3 ELECTRÓNICA DEL ROBOTCurso de Introducción a la Robótica Móvil Tema 3 ELECTRÓNICA DEL ROBOT
3 La Materia (1) Todos los elementos que nos rodean están constituídos por materia, que está compuesta de partículas llamadas moléculas, siendo ellas la agrupación de una determinada cantidad de átomos. A su vez, el átomo consta de un núcleo (formado por neutrones y protones) que está rodeado de electrones, que describen órbitas alrededor del mismo. Por convenio se dice que la carga del electrón es negativa, y la del protón positiva, siendo la del neutrón de carácter neutro. La carga negativa de un electrón es de igual magnitud que la carga positiva del protón. Por lo tanto, si el número de ambos es idéntica, el átomo es eléctricamente neutro.-
4 La Materia (2)
5 Conductores y Aisladores (1)Los electrones giran en diferentes órbitas (denominadas capas) alrededor del núcleo, siendo el número de órbitas que se pueden situar los electrones igual a 7, las que se denominan (de adentro hacia fuera) de la siguiente manera: K, L, M, N, O, P y Q. Cada una de ellas admite un número determinado de electrones, y no siempre están totalmente completas. Por ejemplo, el Carbono (C) tiene un total de 6 electrones, los que se encuentran distribuídos de la siguiente manera: 2 electrones en la primera capa (más cercana al núcleo) y los 4 restantes en la segunda capa. Mientras que el Aluminio (Al) tiene distribuídos sus electrones de la siguiente manera: 2, 8 y 3. -
6 Conductores y Aisladores (2)Los electrones que se encuentran en la última capa (la más alejada del núcleo) y si ésta se encuentra incompleta, son los que más facilidad tienen de abandonar el átomo. Estos electrones se denominan electrones libres. Los conductores son aquellos que permiten el paso de electrones a través suyo, ya que los electrones de la última órbita se separan fácilmente pues ésta se encuentra incompleta, pudiendo moverse libremente por ellos, como por ejemplo el Cobre. Los aisladores son aquellos que no permiten el paso de cargas a través suyo, pues tienen los electrones de la última órbita fuertemente ligados al núcleo y no permiten desprenderse de ninguno de ellos y por lo tanto, de mover carga. En un aislador como el Carbono, no hay electrones libres.-
7 La Electricidad (1) Corriente Eléctrica Si por un conductor se desplazan cargas eléctricas de un punto a otro, se dice que circula una “corriente eléctrica”. Se llama “intensidad” (I) de la corriente eléctrica a la cantidad de cargas que circulan por un punto en un determinado tiempo. La unidad de medida de la intensidad de corriente es el “Ampere” (A).- Diferencia de Potencial La “diferencia de potencial” (d.d.p.) por un conductor es el trabajo necesario para desplazar las cargas eléctricas de un punto a otro. La unidad de medida de la diferencia de potencial es el “Volt” (V).-
8 La Electricidad (2) Fuerza Electromotriz Un generador eléctrico (pila, batería, acumulador, dínamo, etc.) se caracteriza por su “fuerza electromotriz” (f.e.m.) que se define como la energía que permite mover las cargas eléctricas desde puntos de menor potencial a puntos de mayor potencial. La f.e.m. se mide por la d.d.p. entre los bornes del generador cuando se encuentra en circuito abierto, es decir, cuando no entrega corriente eléctrica.- Resistencia Eléctrica Todo conductor opone una “resistencia” al paso de una corriente eléctrica, y esta es una propiedad que depende de las dimensiones geométricas del conductor, del material que esté constituído y de la temperatura. La resistencia eléctrica determina la intensidad de corriente producida por una diferencia de potencial dada. La unidad de medida de la resistencia eléctrica es el “Ohm” (Ω).-
9 Ley de Ohm “La intensidad I [Ampére] de la corriente eléctrica que circula por un conductor, es igual a la diferencia de potencial V [Volt] entre sus extremos dividida por la resistencia R [Ohm] del conductor”. Por ejemplo, en el siguiente circuito, si la batería V es de 12 Volts y la resistencia R del circuito es igual a 6 Ohms (Ω), entonces la corriente que circula por el mismo tendrá un valor igual a I = V/R = 12 Volts/6 Ohms = 2 Amperes.-
10 Leyes de Kirchhoff Ley de los Nodos (1ra Ley) La suma de las corrientes que llegan a un nodo (punto de unión), es igual a la suma de las corrientes que salen de él.- Ley de las Mallas (2da Ley) En una malla (circuito cerrado), la suma algebraica de las fuerzas electromotrices (f.e.m.) es igual a la suma de las caídas de tensión en cada resistencia.-
11 Código de Colores de ResistenciasEl valor de la resistencia se codifica utilizando una serie de bandas de colores pintados alrededor del cuerpo de la resistencia, y ubicados en uno de los extremos de la misma, estando cada color asociado a un número. Por ejemplo, a una resistencia con colores: AZUL – VERDE – AMARILLO – PLATA le corresponderá el valor: 65 x ± 10% que es igual a (650 ± 65) KΩ.-
12 Condensador (1) También denominado capacitor, es un elemento que puede almacenar cargas eléctricas. Está compuesto por dos placas conductoras iguales enfrentadas, y separadas entre ellas por un dieléctrico (un aislante como el aire, por ejemplo). La diferencia de potencial V entre los conductores es proporcional a la carga almacenada Q, por lo tanto la carga que puede almacenar un condensador dependerá de la tensión aplicada y de la capacidad C del condensador. La unidad en que se mide la capacidad es el Faradio, pero como ésta es una unidad muy grande, se usan unidades prácticas como el microFaradio ( μF), el nanoFaradio (nF) y el picoFaradio (pF).-
13 Condensador (2)
14 Los Semiconductores (1)El término semiconductor nos da una idea de sus características, esto es, un material que posee un nivel de conductividad en un valor intermedio entre un conductor y un aislante. Las propiedades eléctricas de los semiconductores están definidas por su estructura atómica. En un semiconductor puro como el Germanio (Ge) o el Silicio (Si), cada átomo tiene cuatro electrones en su última capa, los cuales se encuentran unidos con los electrones del átomo vecino, completando de esa manera su última capa. Por lo tanto al no tener los electrones libertad de movimiento, a bajas temperaturas y en estado cristalino puro, el semiconductor actúa como un aislante.-
15 Los Semiconductores (2)
16 Semiconductores tipo N y tipo P (1)Si un material semiconductor es “contaminado” con un elemento que tiene cinco electrones en la última capa, como el Fósforo (P) o el Arsénico (As), de esos electrones que aporta la impureza “donante”, cuatro se unirán con los restantes electrones, mientras que un electrón quedará libre en la última capa (Semiconductor tipo N).- En cambio si un semiconductor es “dopado” con un elemento que tiene tres electrones en la última capa, como el Boro (B) o el Galio (Ga), esos electrones se unirán con los electrones del semiconductor, generándose de esa manera un “hueco” (ausencia de electrón) en la última capa. Debido a sus propiedades y comportamiento, se lo equipara con una carga positiva, si bien el hueco no tiene estrictamente una naturaleza real (Semiconductor tipo P).-
17 Semiconductores tipo N y tipo P (2)
18 Diodo Rectificador Un diodo rectificador es uno de los dispositivos semiconductores más sencillos. El nombre diodo “rectificador” procede de su aplicación, la cual consiste en separar los ciclos positivos de una señal de corriente alterna. Si se aplica al diodo una tensión de corriente alterna durante los medios ciclos positivos, se polariza en forma directa; de esta manera, permite el paso de la corriente eléctrica. Pero durante los medios ciclos negativos, el diodo se polariza de manera inversa; con ello, evita el paso de la corriente en tal sentido.-
19 Diodo Emisor de Luz (LED)Es un tipo de diodo que emite luz, y que contiene Arseniuro de Galio. Dependiendo de la proporción de éste componente, puede emitir cinco frecuencias distintas de radiación, que se corresponden con los colores Rojo, Naranja, Amarillo, Verde y Azul. La intensidad de luz que emite depende de la intensidad de corriente que circule por el diodo, siendo la mínima la que se tiene que tener para que encienda el LED; y dependiendo del color de cada LED, se tiene una caída de tensión VD que está especificada en la siguiente tabla:
20 La Capa Física: Diseño ElectrónicoEtapa de Control Etapa de Potencia Etapa de Alimentación
21 Etapa de Control Está compuesta por un microcontrolador (µC), que es un Circuito Integrado Programable con todos los componentes de una computadora: unidades de control, de almacenamiento y de entrada/salida; como así también dispone de un reloj, que se encarga de “marcar el paso” a los circuitos del µC.-
22 El Microcontrolador Los μCs responden a la arquitectura Harvard, en donde la memoria de datos y la memoria de instrucciones son independientes, lo que permite optimizar sus características y propiciar el paralelismo. También están basados en la arquitectura RISC, que se caracteriza por tener un repertorio de instrucciones pequeño y simple, de forma que la mayor parte de las instrucciones se ejecuta en un solo ciclo de instrucción.
23 Elección del MicrocontroladorPara la elección del μC a utilizar en el diseño de esta etapa, se deberán tener en cuenta los siguientes requerimientos: Operar a una frecuencia de reloj relativamente alta para poder procesar la información de un determinado número de sensores, mientras controla simultáneamente otras tareas.- Poseer el suficiente espacio de memoria, para almacenar el programa que define el comportamiento del robot.- Tener la suficiente cantidad de entradas y salidas, para controlar los distintos sensores y actuadores del robot.-
24 Microcontroladores PICCaracterística 16F28A 16F876 16F88 Memoria de Programa 2K 8K 7K SRAM (datos) 224 Bytes 368 Bytes EEPROM (datos) 128 Bytes 256 Bytes PWM 1 Comparadores 2 Oscilador Interno 4 MHz 20 MHz 8 MHz Pines de E/S 16 22 Cantidad de Pines 18 28
25 Microcontrolador PIC 16F876
26 Configuración de los Puertos de E/SCada μC posee registros de E/S, denominados PORTA, PORTB, etc. que tienen asociados unos registros de configuración TRISA, TRISB, etc. que de acuerdo al diseño, definen cuáles bits serán utilizados como entradas y cuáles como salida. Por ejemplo:
27 Programación del Microcontrolador
28 El Lenguaje mikroPASCAL (1)Para la programación del μC hemos elegimos el lenguaje mikroPASCAL, cuya versión limitada (2K en cuanto al tamaño máximo de los programas que podemos escribir) y toda la documentación sobre el mismo puede descargarse gratuitamente desde la siguiente dirección de Internet: La elección del lenguaje PASCAL se basa en que al ser un lenguaje ampliamente difundido, de ventajas educativas sobradamente demostradas a lo largo del tiempo y se adapta perfectamente a los objetivos del kit educativo que estamos desarrollando.-
29 El Lenguaje mikroPASCAL (2)
30 Palabras Reservadas en mikroPASCALabsolute do mod record and downto not shl array else or shr asm end org step begin for otherwise string boolean function print then break goto procedure to case if program type char implementation real unit continue interrupt read uses const in var div label repeat while
31 Procedimientos y Funciones (1)Los procedimientos y funciones predefinidos en mikroPASCAL son: SetBit(reg, n): Procedimiento que asigna el valor 1 al n-ésimo bit del registro reg, con 0 ≤ n ≤ 7 . Por ejemplo: SetBit(PORTA, 3); // RA3 ← 1 ClearBit(reg, n) : Procedimiento que asigna el valor 0 al n-ésimo bit del registro reg, con 0 ≤ n ≤ 7 . Por ejemplo: ClearBit(PORTB, 2); // RA2 ← 0
32 Procedimientos y Funciones (2)TestBit(reg, n): Función que evalúa el valor del n-ésimo bit del registro reg, con 0 ≤ n ≤ 7 . Si el bit está en 1, entonces devuelve un 1; en caso contrario devuelve un 0. Por ejemplo: band := TestBit(PORTA, 6); // band ← PORTA.6 Strcmp(s1, s2): Función que compara las cadenas de caracteres s1 y s2 y devuelve los valores numéricos: 0 (cero) si son iguales, un valor (>0) si s1 > s2 y un valor (<0) si s1 < s2 (desde el punto lexicográfico). Por ejemplo: IF Strcmp(s, ‘MARGOT’) THEN c := 0;
33 Procedimientos y Funciones (3)Pwm_Init(frec): Inicializa la unidad de PWM con una frecuencia igual a frec Hertz, y un ciclo de trabajo (CT) igual a cero. Por ejemplo: Pwm_Init(1000) // Inicializa la PWM en 1 KHz Pwm_Start(): Pone en funcionamiento la unidad de PWM. – Pwm_Change_Duty(CT): Cambia el ciclo de trabajo al valor CT, con 0 ≤ CT ≤ 255. Pwm_Change_Duty(204) // Cambia el CT a un 80%
34 Procedimientos y Funciones (4)Pwm_Stop(): Detiene el funcionamiento de la unidad de PWM.- Delay_ms(t): Procedimiento que produce una pausa (ó retardo) de un tiempo t (constante), medido en milisegundos (ms). Por ejemplo: Delay_ms(1000) // Pausa de 1 segundo Vdelay_ms(t): Procedimiento que produce una pasua de un tiempo t (variable) medido en milisegundos. Por ejemplo: t := 5000; Vdelay_ms(t) // Pausa de 5 segundos
35 Creación de un Programa mikroPASCALPrimeramente debemos poner en ejecución el Entorno Integrado de Desarrollo (IDE en inglés). A continuación seleccionamos: Project > New Project Luego de darle un nombre a nuestro nuevo proyecto, debemos seleccionar el μC a utilizar (PIC 16F876), la velocidad del reloj (4MHz) y definir los bits de configuración (Device Flags). Aparece en este momento el Editor de Código, para escribir nuestro programa y luego compilarlo con: Project > Build Como resultado de este proceso, obtendremos los siguientes cuatro archivos: .asm, .lst, .mcl y .hex siendo este último el que será cargado en el microcontrolador.-
36 Destellador Diseñar el software y el hardware de un circuito que encienda un LED durante 2 segundos, y luego lo mantenga apagado durante 1 segundo.-
37 Destellador (Software)El programa de control en mikroPASCAL es: program Destellador; begin TRISB := % ; while (true) do PORTB.1 := 1; Delay_ms(2000); ClearBit(PORTB,1); Delay_ms(1000) end end.
38 Destellador (Hardware)Componentes ISIS: PIC16F876, RES y LED-BLUE.-
39 Interruptor Diseñar el software y el hardware de un circuito que encienda un LED durante 1 segundo, cuando se presione una llave interruptora SW.-
40 Interruptor (Software)El programa de control en mikroPASCAL es: program Interruptor; begin TRISB := % ; PORTB.1 := 1; while (true) do if TestBit(PORTB,5) = 1 then PORTB.1 := 0; Delay_ms(1000); SetBit(PORTB,1); end end.
41 Interruptor (Hardware)Componentes ISIS: PIC16F876, RES, LED-YELLOW y BUTTON .-
42 Interrupción Diseñar el software y el hardware de un circuito que encienda un LED durante 1 segundo, cuando se produzca una interrupción producida por la pulsación de la llave SW.-
43 Interrupción (Software - 1)El programa de control en mikroPASCAL es: program Interrupcion; procedure interrupt; begin PORTB.1 := 0; Delay_ms(1000); SetBit(PORTB,1); ClearBit(INTCON,INTF); end; begin {principal} end.
44 Interrupción (Software - 2)El programa de control en mikroPASCAL es: begin {principal} TRISB := % ; PORTB.1 := 1; SetBit(INTCON,INTE); SetBit(INTCON,GIE); ClearBit(OPTION_REG,INTEDG); while (true) do begin nop; end end.
45 Interrupción (Software - 3)Una interrupción obliga al μC a dejar lo que está haciendo, y a atender el proceso indicado por la interrupción, Cuando termina este proceso, el μC continúa con lo que estaba haciendo. Existen diversos mecanismos de interrupción, siendo el más usado la interrupción externa por el pin RBO/INT. También existe un registro especial denominado INTCON que controla las interrupciones. Con el bit 4 (INTE) habilitamos la interrupción externa INT y con el bit 7 (GIE) habilitamos todos los tipos de interrupción. Luego de atender una interrupción INT, debemos borrar el bit 1 (INTF), porque en caso contrario el μC asume que se ha producido de nuevo la interrupción. También debemos elegir si la interrupción INT se producirá por un flanco ascendente (bit en 0) o por un flanco descendente (bit en 1) del bit 6 (INTEDG) del registro OPTION_REG.-
46 Interrupción (Hardware)Componentes ISIS: PIC16F876, RES, LED-YELLOW y BUTTON .-
47 Etapa de Potencia Control de Sentido de Giro de los MotoresControl de la Velocidad de los Motores Control de la Distancia Recorrida por los Motores
48 Sentido de Giro de los Motores (1)El circuito más adecuado de lograr que el motor del robot gire en un sentido u otro estos es mediante un "puente H", que conceptualmente tiene la siguiente forma:
49 Sentido de Giro de los Motores (2)ESTADO 1 ↑ ↓ ─ Prohibido
50 Controlador del Motor (1)Existen CI diseñados específicamente para actuar como un controlador (driver) del motor, como el L293D. Internamente implementan el puente H visto anteriormente, como así también amplifican la corriente que alimenta al motor M, permitiendo de esta manera controlarlo con sólo dos señales de entrada (X, Y). También poseen una entrada de habilitación (E), que habilita o deshabilita el control del motor y una entrada de alimentación (V), que provee de energía al motor para su funcionamiento.
51 Controlador del Motor (2)X Y M ─ 1 ↑ ↓
52 Controlador de los MotoresMOVIMIENTO X1 Y1 X2 Y2 1 avanza retrocede derecha izquierda pivotDerecha1 pivotDerecha2 pivotIzquierda1 pivotIzquierda2 alto
53 Velocidad de los Motores (1)Se utiliza la técnica denominada Modulación del Ancho del Pulso (la abreviatura en inglés es PWM: Pulse Width Modulation), que consiste en “recortar” la alimentación que reciben los motores durante un tiempo t2, generándose una onda cuadrada que entregará mayor o menor energía a los motores, de acuerdo a la relación que exista entre la parte alta (durante el tiempo t1, con tensión) y la parte baja (durante el tiempo t2, sin tensión) de la onda cuadrada. Controlando esa relación, denominada Ciclo de Trabajo (CT), se logrará variar la tensión promedio Vp que reciben los motores, y de esa manera se puede controlar la velocidad de ellos de una manera aceptable.
54 Velocidad de los Motores (2)
55 Control de la Distancia Recorrida (1)Para saber la distancia recorrida por el robot en cada una de las órdenes de movimiento existen diferentes posibilidades, siendo una de ellas la de hacer girar los motores durante una cantidad N de pulsos, que serán contados con un encoder. Éste es un dispositivo que produce como salida un tren de pulsos eléctricos, en función de las vueltas dadas por un disco que posee franjas blancas y negras dispuestas de manera alternada.-
56 Control de la Distancia Recorrida (2)Para poder implementar la cuenta de los pulsos generados por el giro de la rueda, deberemos colocar enfrentados un sensor óptico-reflexivo y un disco con franjas negras y blancas alternadas en cada una de las ruedas motrices del robot, y de esta manera dividiremos (con más o menos exactitud dependiendo del número S de sectores circulares negros) una vuelta de rueda en una serie de intervalos o pasos (conviene que S sea una potencia de dos).-
57 Diseño Electrónico del Robot