Download Chapter 4: The Microcontroller Cuando usamos un

Document related concepts
no text concepts found
Transcript
Chapter 4:
The Microcontroller
Cuando usamos un microcontrolador en un circuito,
comenzamos a ver infinitas posibilidades de interactuar
con el circuito. Para esto es necesario aclarar ciertos
términos.
Input, es una entrada de información al circuito. El output
es básicamente la salida de la información desde el
circuito al microcontrolador u otro.
Pins del microcontrolador:
Cada microcontrolador tendrá pins para conectarlo al poder (positivo) y a la tierra (negativo), pins
para programar el chip y pins de Input-Output (I/O). Algunos microcontroladores tienen otros pins
para funciones especiales.
Dependiendo del microcontrolador los Pins I/O podrán tener diferentes funciones, para eso
debes decidir que instrucción quieres que el pin siga. Las funciones mas básicas son digital Input
y output. Algunos pins también son capaces de recibir inputs análogos.
La numeración de los pins sigue una forma de U a lo largo del microprocesador. Comenzando
por la esquina izquierda. La mayoría de los microprocesadores (stamp-like, como estampillas)
poseen 24 pins.
Los primeros cuatro pins de la izquierda se usan para programar el chip, los primeros cuatro de
la derecha se usan para dar energía y resetear el chip, y los restantes 16 pins se usan en
general como I/O.
En el PIC (es un tipo de microprocesador), los pins que corresponden al poder y la tierra se
encuentran cercanos al centro del chip y los I/O pins se encuentran repartidos desde el centro al
resto del chip. Algunos I/O pins también funcionan para programar.
Además existen dos pin, CLKIN y CLKOUT, que son para un cristal externo que funciona como
el reloj sincronizador del PIC.
Microcontroladores de bajo nivel: Reloj Externo
Cada microprocesador necesita regular el pulso del voltaje para lo cual es necesario el reloj. Este
reloj genera millones de pulsaciones en un segundo.
Un Cristal esta diseñado para generar pulsaciones a una velocidad especifica cuando se le
suministra energía. Posee dos pins intercambiables. Cuando se conecta a los pins CLKIN y
CLKOUT y a tierra mediante un capacitador de 22-pF, el cristal vibra a una frecuencia
determinada dándole un reloj al PIC.
Programando el Chip:
Los microcontroladores que se nombran en el libro pueden ser programados reiteradas veces.
Sin embargo no todos los microprocesadores tienen esta característica. Algunos solo se pueden
programa una sola vez, por lo tanto una vez programaos quedan así de por vida. Estos chips son
mucho mas baratos y en general se utilizan para producciones en masa, no se recomiendan
para proyectos individuales o para desarrollar nuevos artefactos, ya que en general esto requiere
de mucho ensayo y error en el proceso.
En general hay dos componentes que son comunes a todos los microcontroladores: Una
conexión para el hardware entre el computador y el microprocesador y una serie de programas
multimedia en el computador para programar, compilar el programa y descargarlo desde el pc al
chip. Algunos también incluyen la posibilidad de enviar mensajes desde el pc al microcontrolador
mientras el programa esta corriendo. Siempre que se cargue una nueva programación en el chip,
la programación anterior será borrada.
Es importante saber que no se puede obtener la programación desde el chip a un PC en un
lenguaje entendible para el humano. Por lo tanto recuerda siempre salvar cada programación
que realices en tu computador.
Programando módulos del tipo estampilla (Stamp-like Modules):
En estos módulos el editor, compilador, el sistema de descarga y el sistema para hacer correr un
programa vienen en una aplicación. Usan un programa simple para programar llamado BASIC.
Los cuatro primeros pins son de puerto serial y se conectan a través de un cable con el puerto
serial RS-232 de tu computador. Para la conexión busca en la parte de atrás de tu computador
un puerto con nueve pins hembra para hacer la conexión (DB9) el cual esta rotulado como
0/0/01. Hoy en día muchos equipos como MAC y PC están solo equipados con puertos USB,
para ellos tendrás que conseguir un cable USB con adaptador a RS-232.
EL Software para programar:
Si estas usando el BASIC Stamp 2, usaras la variación de pBasic del lenguaje BASIC. Para el
Atom Pro24 usaras la variación mBasic y para el BX-24 usaras BX BASIC.
Es importante entender que todas estas variaciones del lenguaje de programación BASIC
funcionan con la misma lógica sin embargo utilizan diferentes comandos para una misma
instrucción.
Para un microcontrolador estampilla BASIC, usaras un programa en el que escribirás los códigos
para programar el chip, elegirás la versión del chip con el que estas trabajando en la barra de
herramientas (por ejemplo BS-2 stamp), luego escogerás la versión de lenguaje para programar
que usaras, finalmente escribirás los códigos, compilarás el programa y lo descargarás al
microprocesador. El paso siguientes es desconectar tu cable y el programa empezara a correr
por si solo. Solo queda guardar tu programa para mantener los comandos usados en ese código.
Para el Basic Atom Pro, el software de programación es similar al del Basic stamp, con la
diferencia de que no debes seleccionar la versión del chip que utilizaras o el lenguaje. Una vez
que ingresaste tu código solo debes hacer click para compilar y descargar el programa al chip.
Para el BasicX hay dos partes, una ventana para descargar y una ventana para editar. Cuando
abres el programa solo aparecerá la ventana para descargar, debes hacer click en el icono de
edición para que se abra la otra ventana. Una vez abierta haz click en nuevo proyecto para
comenzar un nuevo proyecto y dales a ambos el mismo nombre. El programa por si solo cargara
unos textos para comenzar. Bórralos e introduce tu propio texto o código, luego compila y
descarga tu programa para hacerlo correr en el chip. Cuando guardes el proyecto verás que se
crearán varios archivos agrupados bajo el nombre del proyecto, todos poseen el mismo nombre
sin embargo tienen diferente extensión, el archivo con la extensión “.bas” es el que contiene el
código (texto). El archivo con la extensión “.bxb” es el código binario que se ingresa al chip.
El hardware para programar.
La mayor diferencia entre módulos de mediano nivel y de bajo nivel es el hardware para
programar. Este dispositivo se conecta al puerto paralelo o puerto serial de tu PC y carga el
programa en el PIC.
Software de programación para módulos de bajo nivel:
Como ya mencionamos poseen software de tres piezas, un editor de texto, un compilador y uno
para descargar. En los ejemplos de este capitulo usaremos para editar el “MicroCode Studio
Lite”, para compilar el “PicBasic Pro” y para descargar el “EPIC Plus software”. También
necesitaras un compilador extra llamado MPASMWIN para el microchip.
Cuando trabajamos con PIC, debes adjuntar el programador EPIC Plus al puerto paralelo del PC
y asegurarte de que reciba energía. Luego abre el MicroCode Studio e introduce el código. Has
click para compilar y programar, al hacer esto el software llamara a los software PicBasic Pro y
MPASMWIN para compilar el programa. El compilador generará una serie de archivos con el
mismo nombre pero diferentes extensiones, tal como vimos que sucedía anteriormente para el
BX-24. El archivo con la extensión “3bas” contiene el texto del código y el archivo “.hex” contiene
el código binario que se descargara al chip. Una vez compilado, el Microcode Studio abrirá el
EPIC Plus software para la descarga. Primero debes adjuntar el pin 40 ZIF adaptor al
programador EPIC (ver figura). Luego conecta PIC al Pc, escoge la configuración del programa y
configura el PIC.
Errores comunes:
Es necesario partir de la base de que nada funcionara bien a la primera, por lo que hay una serie
de errores comunes que puedes revisar para encontrar la falla.
1) revisa si al circuito le esta llegando
energía
2) revisa si el pin mencionado en el software
es el mismo que se esta usando en el circuito.
3) Revisa si el componente que estas
utilizando funciona, por ejemplo un LED, un
sensor etc…
4) Revisa si el resistor que estas usando es
el de valor adecuado.
5) Revisa si el circuito esta conectado al
puerto serial de forma correcta.
6) Revisa si el software esta configurado
para usar el mismo puerto serial que se esta
usando.
7) Revisa si alguna otra aplicación tiene
incidencia en el puerto serial.