Sistema de Control - alcabot.com · Oscilador CPU (MHz) MEMORIA Programa MEMORIA Datos PERIFÉRICOS...

42
D I S E Ñ O M I C R O R R O B O T S Seminario de Diseño y Construcción de Microrrobots D. Julio Pastor Mendoza ([email protected]) Profesor del Departamento de Electrónica (UAH) Departamento Electrónica SISTEMA DE CONTROL Microcontroladores

Transcript of Sistema de Control - alcabot.com · Oscilador CPU (MHz) MEMORIA Programa MEMORIA Datos PERIFÉRICOS...

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

Familia MCS-51

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

P89C51RD2 - PHILIPS

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

MC68HC08GP32

DISEÑO

MICRORROBOTS

MICROCONTROLADORES

Familia MC68HC11

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

Familia PIC 18Fxxx– PIC18F452

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)