{"id":196,"date":"2014-12-09T23:43:05","date_gmt":"2014-12-09T23:43:05","guid":{"rendered":"http:\/\/robots-argentina.com.ar\/didactica\/?p=196"},"modified":"2014-12-11T01:20:47","modified_gmt":"2014-12-11T01:20:47","slug":"el-microcontrolador-cerebro-del-robot-programable-basico","status":"publish","type":"post","link":"https:\/\/robots-argentina.com.ar\/didactica\/el-microcontrolador-cerebro-del-robot-programable-basico\/","title":{"rendered":"El microcontrolador "cerebro" del robot programable (b\u00e1sico)"},"content":{"rendered":"

Como se puede observar en el art\u00edculo sobre el diagrama b\u00e1sico del robot programable<\/a>, utilizamos como unidad central de control un microcontrolador PIC16F876A<\/a> de Microchip<\/a>, en encapsulado DIP<\/a> de 28 patas.<\/p>\n

PIC16F876A<\/b><\/small>\"pic16f876\"<\/center><\/p>\n

Caracter\u00edsticas de los microcontroladores PIC16F87xA<\/strong><\/p>\n

PIC16F87xA<\/a> es una familia de 4 microcontroladores de Microchip: PIC16F873A, PIC16F874A, PIC16F876A y PIC16F877A. Se diferencian entre ellos por la cantidad de memoria disponible y la cantidad de conexiones al exterior, que dependen del modelo de su encapsulado, b\u00e1sicamente dos modelos en formato DIP<\/a> (Dual In Line Package) los de 28 patas y los de 40 patas. Tambi\u00e9n hay formatos de montaje de superficie: los de 28 en SOIC<\/a> y SSOP<\/a>, y los de 40 QFP<\/a> (Quad Flat Package), de 44 patas, y PLCC<\/a> (Plastic Leaded Chip Carrier), de 40 patas, con las mismas prestaciones que en el caso de c\u00e1psula DIP de 40.<\/p>\n

Encapsulados<\/b><\/small>\"C\u00e1psulas\"<\/center><\/p>\n

En la tabla que sigue, donde est\u00e1 remarcado el microcontrolador que controla en este momento el robot programable, podemos observar los siguientes datos:<\/p>\n

FAMILIA<\/b><\/small>\"Familia\"<\/center><\/p>\n

La primera columna (Micro controlador<\/strong>) lista los microcontroladores que componen esta familia.<\/p>\n

Las columnas segunda (Progr bytes<\/strong>) y tercera (Progr words<\/strong>) indican los bytes de memoria de programa y la cantidad de words equivalentes (palabras de 14 bits en la arquitectura de estos microcontroladores, tama\u00f1o que ocupa cada instrucci\u00f3n de programa) que posee el microcontrolador para alojar el programa de usuario.<\/p>\n

La columna (RAM bytes<\/strong>) indica el espacio de memoria RAM (memoria de acceso aleatorio) disponible.<\/p>\n

La columna (EEPROM<\/strong>) indica el espacio de memoria EEPROM (memoria de s\u00f3lo lectura modificable el\u00e9ctricamente) disponible.<\/p>\n

La columna (E\/S<\/strong>) indica la cantidad de Entradas y Salidas de ese microcontrolador.<\/p>\n

La columna (ADC 10bit<\/strong>) indica la cantidad de entradas al convertidor anal\u00f3gico digital de 10 bits de resoluci\u00f3n.<\/p>\n

La columna (CCP<\/strong>) indica la cantidad de m\u00f3dulos para comparar y capturar pulsos.<\/p>\n

La columna (SPI<\/strong>) indica si existe un m\u00f3dulo de interfaz serie para perif\u00e9ricos.<\/p>\n

La columna (I2C<\/strong>) indica si existe un m\u00f3dulo de interfaz serie inter-integrados.<\/p>\n

La columna (USART<\/strong>) indica si existe un m\u00f3dulo universal de recepci\u00f3n\/transmisi\u00f3n serie asincr\u00f3nica.<\/p>\n

La columna (TIMER 8\/16<\/strong>) indica la cantidad de temporizadores de 8 y de 16 bits.<\/p>\n

La columna (Comp<\/strong>) indica la cantidad de comparadores.<\/p>\n

Los microcontroladores PIC16F87x<\/strong> de Microchip pertenecen a una gran familia de microcontroladores con un bus de datos de 8 bits, que tienen las siguientes caracter\u00edsticas generales que los distinguen de otras familias:<\/p>\n

Arquitectura Harvard<\/a>
\n–
Tecnolog\u00eda RISC<\/a>
\n–
Tecnolog\u00eda CMOS<\/a>
\n– S\u00f3lo posee 35 instrucciones que aprender
\n– Todas las instrucciones se ejecutan en un
ciclo de reloj<\/a>, excepto los saltos, que requieren dos ciclos
\n– Frecuencia de operaci\u00f3n de 0 a 20 MHz (desde CC a 200 ns de
ciclo de instrucci\u00f3n<\/a>)
\n– Hasta 8K x 14 bits de
memoria FLASH<\/a> para el programa
\n– Hasta 368 bytes de memoria de datos de acceso aleatorio (
RAM<\/a>)
\n– Hasta 256 bytes de memoria de datos
EEPROM<\/a>
\n– Hasta 14 fuentes de
interrupci\u00f3n<\/a> en los de 28 patas y 15 en los de 40 patas
\n–
Pila<\/a> (Stack) de hardware de 8 niveles
\n– Reset de encendido (POR)
\n– Temporizador de encendido (PWRT)
\n– Temporizador de arranque del oscilador (OST)
\n– Sistema de vigilancia
Watchdog Timer<\/a> (temporizador \u00abdespertador\u00bb).
\n– Se puede programar una protecci\u00f3n de c\u00f3digo
\n– Modo SLEEP (dormido) de bajo consumo de energ\u00eda
\n– Diversas opciones para el oscilador
\n– Programaci\u00f3n y depuraci\u00f3n serie (ICSP, In Circuit Serial Programming = Programaci\u00f3n Serie En Circuito) a trav\u00e9s de dos patas
\n– El CPU puede realizar lectura\/escritura de la memoria FLASH de programa
\n– Rango de voltaje de operaci\u00f3n de 2,0 a 5,5 volts
\n– Puede entregar alta corriente en una pata de salida: 25 mA
\n– Rangos de temperatura: Comercial, Industrial y Extendido
\n– Bajo consumo de potencia:
\n    . Menos de 0,6 mA a 3 V, 4 MHz
\n    . 20 \u00b5A a 3 V, 32 KHz
\n    . Menos de 1\u00b5A de corriente en estado latente (stand by).<\/p>\n

Estas caracter\u00edsticas se conjugan para lograr un dispositivo altamente eficiente en el uso de la memoria de datos y programa, y por lo tanto en la velocidad de ejecuci\u00f3n.<\/p>\n

El PIC16F876<\/strong>, utilizado en el robot programable, maneja hasta 14 posibles fuentes de interrupci\u00f3n. <\/p>\n

Los m\u00f3dulos CCP<\/strong> pueden comparar y capturar la duraci\u00f3n de pulsos. La captura se efect\u00faa con una precisi\u00f3n de 12,5 ns y una resoluci\u00f3n de 16 bits, mientras que la comparaci\u00f3n con igual resoluci\u00f3n alcanza una precisi\u00f3n de 200 ns. Adem\u00e1s, la secci\u00f3n PWM<\/strong> var\u00eda el ancho de los pulsos<\/a> con una resoluci\u00f3n m\u00e1xima de 10 bits, t\u00e9cnica muy empleada en la regulaci\u00f3n de los motores de CC (corriente continua).<\/p>\n

La USART<\/a><\/strong> est\u00e1 orientada a la comunicaci\u00f3n entre s\u00ed de subsistemas o m\u00e1quinas (RS-232), y el MSSP<\/strong> (Master Synchronous Serial Port = Puerto Sincr\u00f3nico Serie Maestro; el m\u00f3dulo que implementa la comunicaci\u00f3n I2C y SPI) est\u00e1 destinado a la comunicaci\u00f3n entre diversos circuitos integrados, admitiendo los protocolos I2C y SPI.<\/p>\n

En los PIC de esta familia con 40 patas (16F874 y 16F877) est\u00e1 disponible el protocolo PSP<\/strong> (Parallel Slave Port, o Puerto Paralelo Esclavo), que es m\u00e1s veloz que la comunicaci\u00f3n serie pero consume muchas l\u00edneas de E\/S: 8 del puerto D y 3 de control del puerto E. Sin embargo, es muy importante su existencia porque estos puertos permiten comunicarse con memorias y perif\u00e9ricos de acceso paralelo utilizados ampliamente en el mundo de los microprocesadores.<\/p>\n

En todos los PIC 16F87X existe un conversor A\/D<\/a> de 10 bits, con 5 canales de entrada en los de 28 patas y 8 canales en los de 40.<\/p>\n


\n