Aprender a Programar Microcontroladores Es Muy Facil

5

Click here to load reader

description

microcontroladores

Transcript of Aprender a Programar Microcontroladores Es Muy Facil

Page 1: Aprender a Programar Microcontroladores Es Muy Facil

Formación

MARZO/ABRIL 2002 MICRO/BIT 1

AprAprAprAprAprender a prender a prender a prender a prender a progogogogogrrrrramaramaramaramaramarmicrmicrmicrmicrmicrocontrocontrocontrocontrocontroladoroladoroladoroladoroladores es muy fes es muy fes es muy fes es muy fes es muy fácilácilácilácilácil

micrmicrmicrmicrmicro/bito/bito/bito/bito/bit

EDICIONES TÉCNICEDICIONES TÉCNICEDICIONES TÉCNICEDICIONES TÉCNICEDICIONES TÉCNICAS REDEAS REDEAS REDEAS REDEAS REDE

Page 2: Aprender a Programar Microcontroladores Es Muy Facil

Formación

2 MICRO/BIT MARZO/ABRIL 2002

Aprender a programarmicrocontroladores es muy fácilGarcía e Ibón Ruiz Oleagordia

La necesidad de optimizar los tiem-pos de desarrollo de los proyectosque realizaban basados en microcon-troladores impulsó a dos ingenierosamericanos en la década de los 80del siglo pasado a construirse unmódulo hardware que simplificase eldesarrollo electrónico y un lenguajede programación que se adaptara asus diseños y fuese asequible paratodos los operarios, aún con escasosconocimientos técnicos. Mejoraron la

productividad hasta tal punto quetuvieron la idea de comercializar lasherramientas que habían ideado. Yen 1992 Parallax comercializó losmódulos BASIC Stamp (ver figura 1)que adquirieron tal éxito de ventasque pasaron a erigirse como el pro-ducto estrella de la empresa.

La gran aportación de los módulosBASIC Stamp reside en la conjunciónde un hardware seguro, completo ylisto para acoplarle los dispositivos acontrolar y un software accesible acualquier técnico al estar basado enel lenguaje más fácil del mundo, elBASIC. El lenguaje PBASIC es una ver-sión sencilla, de pocas instruccionesy adaptadas a las características de laaplicación y del microcontrolador. Almezclarse estos dos ingredientescon una política comercial de abso-luta información y libre disposiciónde manuales, tutoriales y software demanejo, una excelente asistencia téc-nica y una red de distribuidores pro-fesionales en todo el mundo consi-

guen erigirse como el mejor sistemapara iniciarse y desarrollar comercial-mente este apasionante trabajo deldiseño de proyectos con microcon-trolador que va a precisar la colabo-ración de muchos proyectistas.

La filosofía delinvento

El lenguaje PBASIC es muy fácilde aprender y emplear pues no re-quiere conocimientos especializadosen Electrónica ni Informática. Se eje-cuta mediante un Intérprete PBASICque está grabado de forma perma-nente en la memoria de código delPIC16C57 del módulo OEM BS2-IC.El programa de aplicación que hayque ejecutar se edita en la pantalladel PC con el software libre que pue-de bajarse por Internet o existe en elCD de la empresa. Una vez confec-cionado el programa se manda através del puerto serie al módulo Pa-rallax y se deposita sobre una me-

Figura 1. Fotografía del

módulo OEM BS2-IC,

basado en un PIC16C57.

Figura 2. Esquema

electrónico del módulo

OEM BS2-IC. El PIC

tiene grabado el Intérprete

BASIC y la EEPROM

almacena el programa de

aplicación.

Page 3: Aprender a Programar Microcontroladores Es Muy Facil

Formación

MARZO/ABRIL 2002 MICRO/BIT 3

moria EEPROM independiente de 2K Bytes y con capacidad para guar-dar hasta 500 líneas de PBASIC. Lue-go las instrucciones del programavan pasando de una en una desdela EEPROM al PIC en donde se deco-difican y se ejecutan. La tarjeta dis-pone de toda la circuitería para quesólo baste con conectar los periféri-cos a gobernar para completar elprototipo (ver esquema teórico en lafigura 2).

Un kit didácticoexcepcional

Para demostrar la sencillez y lasprestaciones de los productos BASICStamp el fabricante facilita libremen-te en Internet cinco tutoriales conexperimentos, tres de los cuales es-tán en castellano, traducidos por elconsultor Arístides Alvarez. Para fa-cilitar su distribuidor en España Inge-niería de Microsistemas ProgramadosS.L. (Microsystems Engineering) haeditado el de más interés: ¿Qué es unmicrocontrolador?, que se comercia-liza a precio de coste.

Además, los lectores de esta re-vista conocen por anteriores artícu-los las cualidades didácticas y profe-sionales del laboratorio Universal Tra-iner (ver figura 3) en cuyo diseño hanparticipado varios profesores del De-partamento de Arquitectura de Com-putadores de la universidad de Deus-to. Una de sus finalidades es la en-señanza práctica de la Microelectró-nica moderna. Para conseguirlo exis-ten una serie de módulos opcionalesdestinados a cubrir cada uno unatecnología clave

Módulo 1: Electrónica digitalMódulo 2: SemiconductoresMódulo 3: Electrónica analógicaMódulo 4: Microcontroladores I

(PIC16F84)- Lenguaje EnsambladorMódulo 5: Microcontroladores II

(PIC16F87X)- EnsambladorMódulo 6: Microcontroladores III

(PARALLAX)- Lenguaje PBASIC

las prácticas como motor, altavoz,sensores, etc.

Un proyecto básico:Control de motores

Para ofrecer una idea al lector dela estructura de los proyectos del mó-dulo MICROCONTROLADORES III deIngeniería de Microsistemas Progra-mados S.L. se describe en forma re-sumida el número 8 destinado alcontrol de un motor de corrientecontinua.

Todos los proyectos tienen elmismo contenido, dividido en los si-guientes apartados:

• Objetivos: Donde se expone la fi-nalidad de la experiencia.• Fundamentos básicos y nuevas ins-trucciones: Se describen los aspectosteóricos y las nuevas instruccionesque se introducen en la práctica• Esquema electrónico• Materiales necesarios• Desarrollo de la práctica y ejecu-ción del programa• Trabajo personal: Se propone unamodificación ó ampliación para querealice el lector.

Figura 3. Fotografía del

laboratorio UniversaL

Trainer con la tarjeta OEM

BS2-IC adaptada para

desarrollar los proyectos en

PBASIC.

Módulo 7: Circuitos programa-bles (PLD)

El objetivo de estos móduloses enseñar mediante prácticas, ex-periencias, proyectos y programasel tema al que se dedica cada uno.Estos módulos constan de una co-lección de fichas de los proyectosa todo color y explicadas con tododetalle, kit de materiales para de-sarrollar todos los proyectos en elUniversal Trainer y soporte infor-mático con programas e informa-ción.

Para el aprendizaje de los micro-controladores hay tres módulos. Elprimero utiliza el lenguaje Ensambla-dor para implementar proyectos so-bre el PIC16F84. El segundo empleael mismo lenguaje pero para proyec-tos más complejos basados en losPIC16F87X. Finalmente el tercero dis-pone de un módulo Parallax paradesarrollar las experiencias con el len-guaje PBASIC.

Microcontroladores III consta deuna colección de fichas de proyectos,un CD con el software preciso e in-formación técnica y un lote de ma-teriales en el que destaca una tarje-ta OEM BS2-IC adaptada al UniversalTrainer junto a periféricos usados en

Page 4: Aprender a Programar Microcontroladores Es Muy Facil

Formación

4 MICRO/BIT MARZO/ABRIL 2002

Objetivos

Con esta práctica se va a apren-der a controlar la velocidad y direc-ción de giro de un motor de corrien-te continua con el BS2-IC/MSE. Lainstrucción que se va a usar es PWM(modulación de anchura de pulsos).Esta nueva instrucción genera un

Figura 4. Señal modulada

en anchura de pulso

(PWM).

tren de pulsos por la patita especifi-cada y con una anchura (duty) deter-minada. El valor de duty se pasacomo una variable que previamentese habrá cargado con el valor pre-sente en el puerto de entrada (P0-P7). El sentido de giro del motor ven-drá determinado por el estado de lapatita P8.

Fundamentos teóricos básicosy nuevas instrucciones

En la figura 4 se muestra la for-ma de onda típica en una señalPWM. Se trata de un tren de pulsosdonde la anchura varía dentro de unperiodo constante. Con esto se pre-tende suministrar una potencia a lacarga que es directamente proporcio-nal a esa anchura, puesto que a ma-yor anchura mayor es el tiempo quela carga (en este caso el motor) per-manece activa. De esta manera seconsigue controlar la velocidad delmotor. En la figura 5 se indica el co-nexionado entre el driver y el motorde corriente continua. En esta aplica-ción se maneja la instrucción espe-cífica indicada en el cuadro 1.

Esquema electrónico

En la figura 6 se muestra el co-nexionado del módulo con los peri-féricos.

Materiales necesarios

• Entrenador Universal Trainer• Módulo OEM BS2-IC/MSE• Cable serie para conexión a PC• Cables de conexión• CI driver L293B o equivalente• Motor de corriente continua

Desarrollo de la práctica y ejecucióndel programa

Como se ha definido al comien-zo de la práctica la velocidad delmotor se va a controlar desde los

Figura 5. Esquema de

conexionado del driver y el

motor de corriente

continua.

Figura 6. Conexionado de

los periféricos al módulo

OEM BS2-IC/MSE.

Cuadro 1

Page 5: Aprender a Programar Microcontroladores Es Muy Facil

Formación

MARZO/ABRIL 2002 MICRO/BIT 5

conmutadores de la Universal Traineral igual que el sentido de giro. Paraello se define una variable de tama-ño byte en la cual se almacena el va-lor presente en el puerto P0-P7. Acontinuación se debe averiguar elsentido de giro del rotor para lo cualbasta con testear la patita P8 y conla ayuda de una condicional (IF) con-figurar las salidas de la forma opor-tuna en cada caso. Para que se invier-ta el sentido de giro del rotor hay queinvertir la polarización de este. El pro-grama propuesto se indica en el cua-dro 2.

Trabajo personal

Se propone realizar otro progra-ma en el que añadiendo un encoder(disco con muesca y optoacoplador)al eje del motor podamos medir suvelocidad capturando el pulso gene-rado haciendo uso de la instrucciónPULSIN.

Bibliografía

- Parallax: www.parallaxinc.com- Ingeniería de Microsistemas Progra-mados S.L.: www.microcontrolado-res.com- Módulo 6 : Microcontroladores III(Parallax) de Ingeniería de Microsiste-mas Programados S.L.- ¿Qué es un microcontrolador? Tu-torial de Parallax en castellano. Inge-niería de Microsistemas ProgramadosS.L.- - - - - “Microcontroladores PIC. DiseñoPráctico de Aplicaciones”, Mc Graw-Hill.- “Microcontroladores PIC: La solu-ción en un chip”, Paraninfo.

Cuadro 2