Los controladores embebidos están presentes en nuestra vida diaria cada vez más. Los podemos encontrar en muchos de los dispositivos electrónicos que usamos en nuestro hogar, lugar de trabajo o estudio. Un controlador embebido es una micro computadora que controla el comportamiento de algún dispositivo o sistema en el cual se encuentra incrustado (embebido).
Estas micro computadoras además de contar con las unidades funcionales de una computadora (procesador, memoria y dispositivos de entrada y salida) cuentan con todos los recursos necesarios para llevar a cabo el monitoreo y control de los procesos para los que fueron diseñados, Los periféricos que tienen estos dispositivos son puertos paralelos de E/S de datos digitales, módulos de comunicación (I2C, USART, SPI, USB), convertidores de señales analógicas a digitales y digitales a analógicas, temporizadores, entre otros.
A estas microcomputadoras embebidas se les llama microcontroladores, se encargan de tareas específicas y generalmente sin intervención de un operador humano, a diferencia de una computadora personal que está diseñada para realizar múltiples tareas y generalmente con intervención de una persona.
En sistemas complejos podemos tener varios sistemas embebidos que se encargan de controlar funciones o subprocesos de un sistema más grande y complejo. Como ejemplo tenemos el ratón de una computadora, éste tiene una controlador embebido que se encarga de sensar los movimientos del ratón sobre el mouse pad, la microcomputadora envía los datos de desplazamiento a la computadora personal que se encarga de calcular la posición del cursor en la pantalla y así nos facilita el uso de los entornos gráficos.
Otro ejemplo es un automóvil, en donde tenemos una gran cantidad de controladores embebidos controlando el funcionamiento del automóvil, por ejemplo el sistema del aire acondicionado, el sistema de entretenimiento, el sistema de frenos ABS, etc.
En la figura anterior, se muestra un diagrama simplificado del sistema de frenos ABS. El deslizamiento de un auto sobre la superficie de rodamiento sin tracción en las llantas, resulta muy peligroso ya que el automóvil no puede reaccionar a los movimientos del volante. El sistema ABS funciona en conjunto con el sistema de frenado tradicional (disco y caliper), pero se incorpora un sistema compuesto por una bomba y electro válvulas a los circuitos del líquido de freno, además de un conjunto de sensores que miden las revoluciones de las ruedas, todo esto monitoreado y controlado por una micro computadora.
Si en una frenada brusca algunas de las llantas reduce su velocidad drásticamente y el auto sigue en movimiento, el sistema ABS lo detecta e interpreta que las ruedas están a punto de quedar bloqueadas sin que el vehículo se haya detenido. Para que esto no ocurra, al detectar esta situación a través de los sensores, la microcomputadora, reduce la presión realizada sobre los frenos manipulando el sistema compuesto por las bombas y electroválvulas, sin que intervenga en ésto el conductor.
Cuando la situación se ha normalizado y las ruedas giran de nuevo correctamente, el sistema deja el control nuevamente al conductor. En el caso de que este sistema intervenga, el procedimiento se repite de forma muy rápida, unas 50 a 100 veces por segundo, lo que se traduce en que el conductor percibe una vibración en el pedal del freno.
En esta liga se muestra un video de cómo el sistema de frenos ABS hace más segura la conducción de un automóvil.
ABS by Bosch
Este es un ejemplo de cómo un sistema de control embebido participa en nuestras vidas coadyuvando a que sean más seguras, en muchos de los casos no somos consientes siquiera que un sistema de este tipo está tomando el control por nosotros. Así existen diversos ejemplos en donde estamos interactuando con estos sistemas, los podemos encontrar en cafeteras programables, hornos convencionales y de microondas, televisores, reproductores de audio y video, etc.
Este blog está dedicado al aprendizaje de sistemas embebidos y desarrollo de proyectos utilizando microcontroladores PIC, la mayoría de los ejemplos y proyectos están desarrollados en lenguaje ensamblador, ya que el objetivo es identificar las características de la arquitectura interna de los microcontroladores y experimentar en el desarrollo de sistemas eficientes en cuanto a uso de memoria y velocidad de cálculo.
Para programar en ensamblador es necesario conocer la arquitectura interna del microcontrolador, su set de instrucciones, los registros específicos y de propósito general, etc. Esto puede parecer tedioso o relativamente complicado pero permite controlar con detalle la operación de la microcomputadora, escribir código más limpio, y en consecuencia más veloz. Lo cual es muy importante para el desarrollo de sistemas profesionales. Algunos proyectos también se programarán en lenguaje C utilizando el compilador XC8.
Microcontroladores PIC y Arquitectura de la familia PIC16Fxx
Modos de direccionamiento de la familia PIC16
Selección de bancos de memoria de la familia PIC16
Direccionamiento Indirecto familia PIC16
Puertos paralelos
Interrupciones
Proyecto1: Generador de función senoidal
Proyecto 2
Uso del Watcho Dog Timer
Proyecto 3
Lenguaje C para microcontroladores PIC
Proyecto 4
Proyecto 5
Si en una frenada brusca algunas de las llantas reduce su velocidad drásticamente y el auto sigue en movimiento, el sistema ABS lo detecta e interpreta que las ruedas están a punto de quedar bloqueadas sin que el vehículo se haya detenido. Para que esto no ocurra, al detectar esta situación a través de los sensores, la microcomputadora, reduce la presión realizada sobre los frenos manipulando el sistema compuesto por las bombas y electroválvulas, sin que intervenga en ésto el conductor.
Cuando la situación se ha normalizado y las ruedas giran de nuevo correctamente, el sistema deja el control nuevamente al conductor. En el caso de que este sistema intervenga, el procedimiento se repite de forma muy rápida, unas 50 a 100 veces por segundo, lo que se traduce en que el conductor percibe una vibración en el pedal del freno.
En esta liga se muestra un video de cómo el sistema de frenos ABS hace más segura la conducción de un automóvil.
ABS by Bosch
Este es un ejemplo de cómo un sistema de control embebido participa en nuestras vidas coadyuvando a que sean más seguras, en muchos de los casos no somos consientes siquiera que un sistema de este tipo está tomando el control por nosotros. Así existen diversos ejemplos en donde estamos interactuando con estos sistemas, los podemos encontrar en cafeteras programables, hornos convencionales y de microondas, televisores, reproductores de audio y video, etc.
Este blog está dedicado al aprendizaje de sistemas embebidos y desarrollo de proyectos utilizando microcontroladores PIC, la mayoría de los ejemplos y proyectos están desarrollados en lenguaje ensamblador, ya que el objetivo es identificar las características de la arquitectura interna de los microcontroladores y experimentar en el desarrollo de sistemas eficientes en cuanto a uso de memoria y velocidad de cálculo.
Para programar en ensamblador es necesario conocer la arquitectura interna del microcontrolador, su set de instrucciones, los registros específicos y de propósito general, etc. Esto puede parecer tedioso o relativamente complicado pero permite controlar con detalle la operación de la microcomputadora, escribir código más limpio, y en consecuencia más veloz. Lo cual es muy importante para el desarrollo de sistemas profesionales. Algunos proyectos también se programarán en lenguaje C utilizando el compilador XC8.
Temas.
Microcontroladores PIC y Arquitectura de la familia PIC16Fxx
Modos de direccionamiento de la familia PIC16
Selección de bancos de memoria de la familia PIC16
Direccionamiento Indirecto familia PIC16
Puertos paralelos
Interrupciones
Proyecto1: Generador de función senoidal
Proyecto 2
Uso del Watcho Dog Timer
Proyecto 3
Lenguaje C para microcontroladores PIC
Proyecto 4
Proyecto 5
No hay comentarios:
Publicar un comentario