DISEÑO
MICRORROBOTS
Seminario de Diseño y Construcción de Microrrobots
D. Julio Pastor Mendoza ([email protected])Profesor del Departamento de Electrónica (UAH)
DepartamentoElectrónica
SISTEMA DE CONTROL
Microcontroladores
DISEÑO
MICRORROBOTS
Introducción a los Microrrobots
COMPONENTES DE UN MICRORROBOT
ACTUADORESSISTEMA DECONTROL
SISTEMA DEALIMENTACIÓN
SENSORES
DISEÑO
MICRORROBOTS
Necesidades del Sistema de Control
¿Qué debe ser capaz de hacer el sistema de control?– Leer información de los sensores– Decidir qué hacer– Actuar sobre los motores
¿Qué implica esto?– Es necesario un control con un sistema programado (basado
en microprocesador)– Capacidad para trabajar con entradas y salidas digitales– Capacidad para medir tiempos y generar señales
temporizadas.– Capacidad de comunicación
DISEÑO
MICRORROBOTS
Necesidades del Sistema de Control
Sistema digital basado en Microprocesador
CPUOscilador(MHz)
MEMORIAPrograma
MEMORIADatos
PERIFÉRICOSEntrada/Salida
DISEÑO
MICRORROBOTS
Necesidades del Sistema de Control
Sistema digital basado en Microprocesador
CPUOscilador(MHz)
MEMORIAPrograma
MEMORIADatos
PERIFÉRICOSEntrada/Salida
Memoria de Programa- Almacena el programa- Memoria no volátil
EPROM – EEPROM – FLASH4K – 32K – 64K
- ProgramaciónEnsamblador - Lenguaje C
DISEÑO
MICRORROBOTS
Necesidades del Sistema de Control
Sistema digital basado en Microprocesador
CPUOscilador(MHz)
MEMORIAPrograma
MEMORIADatos
PERIFÉRICOSEntrada/Salida
Memoria de Datos- Almacena datos temporales (variables)- Memoria de lectura – escritura- RAM estática (volátil)
256 bytes, 1K, 4K
DISEÑO
MICRORROBOTS
Necesidades del Sistema de Control
Sistema digital basado en Microprocesador
CPUOscilador(MHz)
MEMORIAPrograma
MEMORIADatos
PERIFÉRICOSEntrada/Salida
Periféricos de Entrada/Salida- Puertos de E/S digital- Unidades de temporización- Unidades de comunicación- …
DISEÑO
MICRORROBOTS
MICROCONTROLADOR
CPUOscilador(MHz)
MEMORIAPrograma
MEMORIADatos
PERIFÉRICOSEntrada/Salida
SISTEMA DIGITAL BASADO EN MICROPROCSADOR
MICROCONTROLADOR- CPU + MEMORIA + E/S- Unidades para medir tiempos (captura)- Unidades generar tiempos (comparación)- Subsistemas de comunicación
- Con PC- Con otros dispositivos
DISEÑO
MICRORROBOTS
Necesidades del Sistema de Control
Puertos de Entrada– Nos permiten leer el estado de entradas digitales
Entrada DigitalP1.0
5V
10K
DISEÑO
MICRORROBOTS
Necesidades del Sistema de Control
Entrada DigitalP1.0
5V
10K
94 9320
if (P1.0 = = 0){
….}else{
….}
Puertos de Entrada– Nos permiten leer el estado de entradas digitales
DISEÑO
MICRORROBOTS
Necesidades del Sistema de Control
P1.0 = 0;P1.0 = 1; Vmotor 5V Vmotor
Salida DigitalP1.0
5V
Puertos de Salida– Nos permiten cambiar el estado de las salidas digitales
DISEÑO
MICRORROBOTS
Necesidades del Sistema de Control
Puertos de Salida– Nos permiten cambiar el estado de las salidas digitales
DISEÑO
MICRORROBOTS
Ejemplo de control de un Rastreador
Ejemplo de control de un rastreadorSeñales de entrada
- S_IZQUIERDA- S_DERECHA(1 – negro y 0 blanco)
Señales de salida- M_DERECHA- M_IZQUIERDA(1 – ON y 0 – OFF)
S_DERECHAS_IZQUIERDA
M_IZQUIERDA M_DERECHA
DISEÑO
MICRORROBOTS
Si detecta línea con los dos sensores sigue recto
Lo que ve el robot
Las órdenes paralos motores
Izquierdo Derecho
Vista posterior
Componentes: sistema de control
DISEÑO
MICRORROBOTS
Si detecta línea con los dos sensores sigue recto
Lo que ve el robot
Las órdenes paralos motores
Izquierdo Derecho
Vista posterior
Componentes: sistema de control
DISEÑO
MICRORROBOTS
Si línea sólo a la derecha, gira a la derecha
Lo que ve el robot
Las órdenes paralos motores
Izquierdo Derecho
Vista posterior
Componentes: sistema de control
DISEÑO
MICRORROBOTS
Lo que ve el robot
Las órdenes paralos motores
Izquierdo Derecho
Vista posterior
Si línea sólo a la derecha, gira a la derecha
Componentes: sistema de control
DISEÑO
MICRORROBOTS
Si detecta línea con los dos sensores sigue recto
Lo que ve el robot
Las órdenes paralos motores
Izquierdo Derecho
Vista posterior
Componentes: sistema de control
DISEÑO
MICRORROBOTS
Lo que ve el robot
Las órdenes paralos motores
Izquierdo Derecho
Vista posterior
Si línea sólo a la izquierda, gira a la izquierda
Componentes: sistema de control
DISEÑO
MICRORROBOTS
Necesidades del Sistema de Control
Ejemplo de control de un rastreadorSeñales de entrada
- S_IZQUIERDA- S_DERECHA(1 – negro y 0 blanco)
Señales de salida- M_DERECHA- M_IZQUIERDA(1 – ON y 0 – OFF)
if (S_DERECHA && S_IZQUIERDA ){ // Línea centrada
M_DERECHA = 1;M_IZQUIERDA = 1;
}
While (1){
LeerSensores();
}
else if (S_DERECHA) //Línea a la derecha{
M_DERECHA = 0;M_IZQUIERDA = 1;
} else
else if (S_IZQUIERDA) //Línea a la izquierda{
M_DERECHA = 1;M_IZQUIERDA = 0;
}// Si no línea sigo como estaba
DISEÑO
MICRORROBOTS
Necesidades del Sistema de Control
Generación de señales temporizadas– Señales periódicas donde controlar la frecuencia o el ciclo de trabajo– Es necesario una base de tiempos– Una base de tiempos es un contador que incrementa su valor de
forma periódica (reloj digital)
Contador
Valor de la cuentaSi 16 bits: de 0 a 65535
Cuando termina comienza de nuevo y notifica el desbordamiento
DISEÑO
MICRORROBOTS
Necesidades del Sistema de Control
Generación de señales temporizadas– Se utilizan circuitos que funcionan como un despertador. Se
programa una hora en la alarma. Suena cuando coincide el reloj con la hora programada.
– Cuando suena una alarma se genera una interrupción.
Contador
Valor de la cuentaSi 16 bits: de 0 a 65535
Orden de ejecución de una función de interrupción
Comparador
Valor programado
DISEÑO
MICRORROBOTS
Necesidades del Sistema de Control
Si queremos hacer una tarea periódica. ¿Cómo lo hacemos?• Programamos la alarma del despertador• Cuando suena, le programamos una nueva hora (dentro de un
tiempo)• Hacemos la tarea.
Si la tarea consiste en conmutar un interruptor cada 10 minutos• Tenemos una luz encendida 10 min. y apagada 10 min.
Si la tarea consiste en conmutar un pin de salida cada 500us• Tenemos una señal cuadrada de 1KHz
Generación de señales temporizadas– Se utilizan circuitos que funcionan como un despertador. Se
programa una hora en la alarma. Suena cuando coincide el reloj con la hora programada.
– Cuando suena una alarma se genera una interrupción.
DISEÑO
MICRORROBOTS
Necesidades del Sistema de Control
Generación de PWM– Para controlar la velocidad de un motor
Contador
Valor de la cuentaSi 16 bits: de 0 a 65535
Seña PWMComparador
Valor constante
DISEÑO
MICRORROBOTS
Necesidades del Sistema de Control
Medida de tiempos– Se utilizan circuitos que responden a un evento externo guardando el
valor del temporizador.– Si queremos medir el tiempo que está una luz encendida, miramos la
hora cuando se enciende y volvemos a mirar la hora cuando se apaga.– Si hubiera un sistema que estuviera pendiente de la luz y que cada
vez que cambiara nos avisara, no tendríamos que estar pendientestodo el rato.
Contador
EventoRegistro
Valor registrado
Flanco de subidaFlanco de bajadaCualquier flanco
Aviso de evento (interrupción)
DISEÑO
MICRORROBOTS
Necesidades del Sistema de Control
Medida de tiempos– Ejemplo: medida de distancia con sensor de ultrasonidos– El ancho del pulso está relacionado con la distancia– Cuando detecta flanco de subida almacena tiempo– Cuando detecta flanco de bajada almacena tiempo y lo resta del anterior
DISEÑO
MICRORROBOTS
Necesidades del Sistema de Control
Conversión Analógica-Digital– Algunos microcontroladores tienen entradas analógicas– Normalmente tienen un conversor que es precedido de un multiplexor
analógico.– Para realizar una conversión:
• Hay que seleccionar el canal del multiplexor.• Se inicia la conversión• Cuando la conversión finaliza genera una interrupción en la que leemos el dato.
– Hay conversores de 8, 12 o 16 bits de diferentes velocidades– Son útiles para leer información de sensores analógicos.
DISEÑO
MICRORROBOTS
Necesidades del Sistema de Control
Capacidad de comunicaciónNecesidad
- Comunicación con un ordenador para intercambio de datos- Comunicación con otros procesadores- Comunicación con otros dispositivos para expansión de los recursos
Comunicación serie asíncrona (RS-232)- Protocolo de comunicación muy utilizado para comunicación serie.- Casi todos los ordenadores tienen uno o dos puertos RS232 (módem, ratón,
…)- Antiguamente se utilizaba para conectar terminales a un ordenador Host- Se envían datos de 7, 8 o 9 bits- La velocidad se mide en baudios (bits/segundo)- Sólo son necesarios dos cables, uno de transmisión y otro de recepción.
Comunicación serie síncrona- Con cada bit se envía un pulso de reloj para validarlo- Se consiguen velocidades más rápidas- Protocolo SPI- Protocolo I2C
DISEÑO
MICRORROBOTS
Necesidades del Sistema de Control
Comunicación serie asíncrona (RS-232)– Comunicación asíncrona -> Sólo se transmiten datos (no se transmite
reloj– Los microcontroladores suelen tener uno o varios puertos serie que
se pueden utilizar para cargar el programa y para que el micro-controlador envíe información al exterior.
– El estándar RS-232 maneja tensiones del orden de +/- 10 V• Un ‘1’ lógico son -10V y un ‘0’ lógico son +10V• La transformación de niveles la realiza un transceiver (MAX232)
– Los ordenadores de sobremesa suelen tener dos puertos serie peroúltimamente los portátiles no. Se puede usar un conversor USB –RS232
– Para visualizar información proveniente de los sensores se sueleutilizar el hyperterminal de Windows
DISEÑO
MICRORROBOTS
Necesidades del Sistema de Control
Protocolo I2C– Permite conectar varios dispositivos entre
sí mediante dos hilos (SDA y ACL)– Muy utilizado para intercambiar datos
entre un procesador y periféricos.
Microcontrolador
Dispositivos
Bus I2C
DISEÑO
MICRORROBOTS
MICROCONTROLADORES
Microcontroladores– Solución con pocos chips.– Coste moderado.– Capacidad de procesado media/baja.– Recursos moderados. – Familias más extendidas:
• HC08/HC11/HC12/HC16. (Freescale)• PIC: 16F, 18F, DSPIC (Microchip)• MCS51 (Intel, Philips, Altmel, Dallas, Silicon Laboratories, …)• AVR8 (Atmel)
DISEÑO
MICRORROBOTS
MICROCONTROLADORES
Características de los MicrocontroladoresCPU
- Capacidad de procesamiento (8, 16, 32 bits)- Velocidad de procesamiento
Memoria- Capacidad de memoria de datos y de programa
Periféricos- Puertos de Entrada / Salida- Temporizadores- Comunicación serie
Otros- Modos de bajo consumo- …
DISEÑO
MICRORROBOTS
MICROCONTROLADORES
P89C51RD2 - PHILIPS– 64K FLASH– 1K – RAM– 4 Puertos E/S– USART– 3 Timers– 5 unidades de
• Captura• Comparación• PWM
– Velocidad 33MHz
DISEÑO
MICRORROBOTS
MICROCONTROLADORES
Familia MC68HC08– Frecuencia de bus interna (DC - 8MHz)– Memoria de programa (EEPROM) 32KBytes – Memoria de datos volátil (RAM) 512 Bytes– 4 Puertos de E/S de 8 bits– 1 Temporizador que genera una interrupción periódica TBM– 2 Temporizadores– 2 Unidades de Captura / Comparación por cada temporizador– 8 Canales de conversión Analógico / Digital– 1 Puerto de comunicación serie asíncrona SCI– Controlador de bus síncrono SPI– Modos de funcionamiento de bajo consumo– Etc.
DISEÑO
MICRORROBOTS
MICROCONTROLADORES
Familia PIC 18Fxxx (PIC18F452)– Frecuencia de reloj (DC - 40MHz)– Memoria de programa (FLASH) 32KBytes (16K Instrucciones de
ensamblador)– Memoria de datos volátil (RAM) 1,5KBytes– Memoria de datos no volátil (EEPROM) 256 Bytes– CPU con arquitectura con bus de datos e instrucciones separados
(más eficiencia)– 5 Puertos de E/S de 8 bits– 4 Temporizadores– 2 Unidades de Captura / Comparación / PWM– 8 Canales de conversión Analógico / Digital– 1 Puerto de comunicación serie asíncrona– Controlador de buses síncronos SPI e I2C– Modos de funcionamiento de bajo consumo– Etc.
DISEÑO
MICRORROBOTS
MICROCONTROLADORES
HERRAMIENTAS DE DESARROLLO– Entornos de compilación cruzada– Los programas se escriben en C (o ensamblador) en un PC, se compilan y
se cargan al microcontrolador.– Edición + Compilación + Linkado + Simulación + Depuración on chip
DISEÑO
MICRORROBOTS
ConclusionesConclusiones
– Los microcontroladores son dispositivos especialmente pensados para tareas de control.
– Incluyen todo lo necesario para controlar un microrrobot.
Direcciones de Interés– Asignaturas del Departamento de Electrónica – (UAH)
http://www.depeca.uah.es• Sistemas Electrónicos Digitales (3º IT)• Sistemas Digitales II y Laboratorio (2º ITT-SE)• Microprocesadores y Microcontroladores (1º IE)
– Asignaturas del Departamento de Automática• Informática Industrial y Laboratorio (2º ITI-EI)