Академический Документы
Профессиональный Документы
Культура Документы
PIC
ELECTRNICA PRCTICA
CON MICROCONTROLADORES PIC
Santiago Corrales V.
Profesor de Microcontroladores PIC
Director de Investigacin
Gerente de la empresa S.C. PIC
1
S .C. PIC
Ttulo Original:
ELECTRNICA PRCTICA CON MICROCONTROLADORES PIC
DERECHOS RESERVADOS
IMPRESO EN ECUADOR
2
S .C. PIC
CONTENIDO
PROLOGO...7
Manejo de secuencias....25
Estudio de subrutinas.29
Variables32
Cambio de nombre a los puertos33
Instrucciones mltiples..33
Instruccin FOR NEXT..34
Pulsadores y switch35
Instruccin IF ELSE ENDIF36
Instruccin SELECT CASE40
3
S .C. PIC
4
S .C. PIC
Instruccin POT...126
6. MANEJO DE MOTORES
5
S .C. PIC
6
S .C. PIC
PROLOGO
En la actualidad los microcontroladores son la herramienta fundamental para el desarrollo
cientfico y tecnolgico, saber sobre estas mini computadoras es muy importante ya que
se encuentran en nuestro trabajo, nuestro hogar, en los computadores, en proyectos
aeroespaciales, etc.
Todas estas reas de aplicacin me han motivado a realizar este libro en el cual he puesto
todos mis conocimientos adquiridos por estudio y por experiencia.
Los diferentes temas que se encontrar en el libro son exclusivamente trabajados con
microcontroladores PIC por ser ms econmicos y muy fciles de encontrarlos en las
tiendas electrnicas. En el capitulo1 se encuentran conocimientos bsicos que el lector
debe conocer para introducirse en el manejo de estos dispositivos electrnicos, el capitulo
2 trata sobre la programacin para el microcontrolador, para explicar las instrucciones del
lenguaje BASIC para PIC se ha elegido el 16F628A por varias ventajas que las ir
conociendo en el transcurso del libro. El capitulo 3 aprender a manejar comunicacin
con el computador, entre microcontroladores, y monitoreo con LABVIEW. En el capitulo
4 se encuentra el manejo de dos dispositivos de radio frecuencia, con los cuales podr
introducirse en la era inalmbrica que est gobernando el mundo entero. En el capitulo 5
se detalla el funcionamiento de dos microcontroladores ms por ser de gran ayuda a la
hora de realizar un proyecto. Y en el captulo 6 el lector aprender a manejar diversos
motores para realizar proyectos de robtica.
7
S .C. PIC
8
S .C. PIC
MICROCONTROLADORES PIC
CONOCIMIENTOS BASICOS
INTRODUCCION A LOS MICROCONTROLADORES
Microchip es una empresa que est liderando las ventas de este dispositivo, por su bajo
costo, por tener una gran variedad de modelos, y por su programacin muy sencilla, la
que hace que el microcontrolador PIC se est estudiando en diversas universidades de
gran prestigio a nivel mundial.
MICROCONTROLADOR PIC
9
S .C. PIC
En la figura se puede observar la estructura interna de un microcontrolador, y como se
puede apreciar posee un circuito externo de reloj, el cual indica al micro la velocidad a la
que debe trabajar. Este circuito, que se conoce como oscilador o reloj, es muy simple
pero de vital importancia para el buen funcionamiento del sistema, ya que sin l no
podramos ejecutar las rdenes o las lneas de instruccin que se encuentran programadas
en el mismo.
Vc c
R
MICROCONTROLADOR PIC
OSC1
OSC2
C
XT. Cristal.
MICROCONTROLADOR PIC
22pF
OSC1
4 Mhz 22pF
OSC2
10
S .C. PIC
Arquitectura Von Neumann Dispone de una sola memoria principal donde se
almacenan datos e instrucciones de forma indistinta. A dicha memoria se accede a travs
de un sistema de buses nico (direcciones, datos y control).
Arquitectura Harvard Dispone de dos memorias independientes, una que contiene slo
instrucciones, y otra que contiene slo datos. Ambas disponen de sus respectivos sistemas
de buses de acceso y es posible realizar operaciones de acceso (lectura o escritura)
simultneamente en ambas memorias, sta es la estructura para los PIC's.
Memoria de programa
Esta vendra a ser la memoria de instrucciones, aqu es donde almacenaremos nuestro
programa o cdigo que el micro debe ejecutar. No hay posibilidad de utilizar memorias
externas de ampliacin.
Memorias EEPROM. (Electrical Erasable Programmable Read Only Memory -
Memoria de slo lectura Programable y borrable elctricamente).- sta tarea se hace a
travs de un circuito grabador y bajo el control de un PC (IC-PROG). El nmero de veces
que puede grabarse y borrarse una memoria EEPROM es finito aproximadamente 1000
veces.
Memorias FLASH. Posee las mismas caractersticas que la EEPROM, pero sta
tiene menor consumo de energa y mayor capacidad de almacenamiento, por ello
est sustituyendo a la memoria EEPROM.
11
S .C. PIC
Memoria de datos
1. RAM esttica SRAM: donde residen los Registros Especficos (SFR) con 24
posiciones de tamao byte, aunque dos de ellas no son operativas y los Registros de
Propsito General (GPR) con 68 posiciones.
12
S .C. PIC
13
S .C. PIC
1. 31,25 KHz
2. 125 KHz
3. 250 KHz
4. 500 KHz
5. 1 MHz
6. 2 MHz
7. 4 MHz
8. 8 MHz
14
S .C. PIC
Adems de ello posee 8 Conversores Anlogo - Digital A/D, una de las principales
diferencias frente a los otros pic estudiados anteriormente es la capacidad que posee, y
por esta razn es el ms utilizado en proyectos avanzados que requieren mayor numero
de entradas y/o salidas, como automatizacin de procesos industriales, alarmas
residenciales, etc. Una desventaja es que debe ser conectado con un cristal externo, ya
que no tiene incorporado el mismo y necesita tambin en el Master Clear una resistencia
Pull Up, ya que no hay forma de deshabilitar esta opcin.
15
S .C. PIC
Detalle de las partes ms importantes del MicroCode Studio y del PicBasic Pro.
16
S .C. PIC
17
S .C. PIC
genera 4 archivos que son: .ASM, .MAC, .PBP y .HEX, siendo este ltimo el ms
importante ya que ste sirve para grabar el microcontrolador PIC.
18
S .C. PIC
.- Por medio de
la ventana abrir, buscamos la carpeta donde se haya hecho el programa, y seleccionamos
el archivo .HEX que deseamos cargar en el PIC.
19
S .C. PIC
Al cargar el programa .HEX, cambian los valores de direccin, por otros distintos a
3FFF, as podremos darnos cuenta que el programa a sido cargado en el programador.
20
S .C. PIC
Siguiendo estos pasos no tendr ningn problema a la hora de realizar sus proyectos.
Puede ser por dos motivos. El primero es que no se encuentra bien habilitado el Hardware
a utilizar, o el segundo es que el microcontrolador que est utilizando est en mal estado,
por lo que siempre debemos tener mucho cuidado con los micros porque stos son de
tecnologa CMOS, y son muy vulnerables a la esttica, por lo que se aconseja manejarlos
con pinzas para evitar el contacto directo con las manos.
21
S .C. PIC
Proteus es una herramienta fundamental para las personas que estn readicionadas con el
mundo de los microcontroladores, ya que sta permite realizar simulaciones de los
proyectos montados, es decir no hace falta: probar en protoboard el proyecto, comprar
materiales, quemar los microcontroladores, etc. Simplemente necesitamos seleccionar
cada uno de los elementos a utilizar, ya que esta poderosa herramienta contiene:
Microcontroladores PIC, LCDs, Rels, Leds, Displays, etc.
22
S .C. PIC
1. Escribir para el caso de una resistencia de 330 ohmios, escribir RES 330R y
seleccionar la MINIRES 330R.
2. Para el caso de una resistencia de 4,7K debe escribir RES 4K7, y seleccionar la
MINIRES 4K7.
23
S .C. PIC
Para realizar la programacin lo nico que se debe hacer es seleccionar el rea donde se
debe ubicar el microcontrolador y proceder a grabarlo mediante el software IC PROG
que ya se ha detallado anteriormente.
24
S .C. PIC
PROGRAMANDO EL PIC
16F628A
En s la programacin de los microcontroladores PIC en lenguaje Basic, es la misma, lo
nico que los diferencia unos de otros es la definicin de los puertos, y ciertas ventajas
que poseen.
El PIC 16F628A consta de 2 puertos el A y el B, los cuales trabajan a 8 bits cada uno, es
decir se divide el puerto A y B en 8 bits de entrada o salida as:
PUERTO A
PUERTO B
MANEJO DE SECUENCIAS
Iniciaremos las secuencias aprendiendo a utilizar las instrucciones: PORT, HIGH, LOW,
PAUSE.
PORT.- Esta instruccin nos permite indicar que puerto se va a ocupar, y por lo general
va acompaado de otra instruccin. Su sintaxis es la siguiente:
HIGH.- Permite sacar 5 Vcc o 1 Lgico por un puerto del microcontrolador, y a la vez lo
convierte en salida. Ejemplo:
PAUSE.- Detiene el programa por un perodo en milisegundos as: PAUSE 1000; realiza
una pausa en el programa de 1000 ms equivalente a 1 segundo.
25
S .C. PIC
Un perodo tiene 16 bits, por lo que se podr colocar una pausa hasta de 65535
milisegundos, es decir 1,09 minutos equivalentes a 65,5 segundos.
Una vez estudiadas stas instrucciones podremos empezar con nuestro primer proyecto el
cual realizar la funcin de un 555 como un oscilador monoestable.
Oscilador Monoestable.PBP
0 1 2 3 4 5 6 7 8 9 10 t [seg]
26
S .C. PIC
Damos un clic derecho en cualquier parte del componente que se desee seleccionar y se
pintar de color rojo, eso quiere decir que se ha seleccionado correctamente, si se realiza
doble clic derecho, el componente se borrar.
27
S .C. PIC
Damos un clic derecho en cualquier parte de la pantalla para deshabilitar la seleccin del
componente y corremos el programa digitando F12 desde el teclado del computador.
Apagado el LED
Estos pasos se seguirn para realizar cada uno de los proyectos que se encuentran en el
libro, o si prefieren pueden utilizar el simulador de un entrenador el cual posee todos los
elementos que se necesitarn para cada uno de los proyectos. ste se encuentra en el CD
con el nombre de Entrenador PIC 16F628A.
A continuacin presentamos la figura del Entrenador diseado para realizar los proyectos
con el Microcontrolador PIC 16F628A, el cual posee 8 Leds, 1 Display, 1 LCD, 3
pulsadores, 1 teclado y 1 rel.
28
S .C. PIC
ESTUDIO DE SUBRUTINAS
Las subrutinas permiten realizar una llamada a cierta parte del programa, para que realice
una funcin especfica. En el compilador PicBasic Pro existen dos tipos de subrutinas la
GOTO y la GOSUB, las que detallaremos a continuacin:
GOTO.- Permite apuntar a cierta parte del programa donde se le haya asignado una
etiqueta, y continuar con las lneas de programacin despus de la misma.
Para poder entender mejor la instruccin GOTO vamos a desarrollar nuestro siguiente
proyecto, el cual realizar la funcin de un 555 pero esta vez como un oscilador astable el
cual estar en nivel alto durante 1 segundo y en nivel bajo durante segundo.
Su forma de onda sera:
Vcc [V]
0 1 2 3 4 5 6 7 8 9 10 t [seg]
29
S .C. PIC
Oscilador Astable.PBP
GOSUB.- Es similar a la subrutina GOTO, apunta a cierta parte del programa donde est
asignada la etiqueta, guardando su direccin de retorno, es decir cumple con la subrutina
y regresa a la siguiente lnea donde se qued. Para entender esta instruccin realizaremos
un programa de un led intermitente.
Led Intermitente.PBP
Como se puede observar hemos sustituido la pausa con una subrutina denominada timer,
la que detiene el programa durante 1 segundo. As ahorramos espacio en el Pic ya que la
instruccin PAUSE se la realiza una sola vez.
30
S .C. PIC
TRIS.- Realiza la funcin de colocar los pines seleccionados como entrada (0L) o salida
(1L) dependiendo de la aplicacin a utilizar.
TRISB=%00000000 con esta instruccin colocamos todos los pines del puerto B como
salida, o bien se puede utilizar TRISB=0 que realiza la misma funcin.
TRISB=%11111111 colocamos todos los pines del puerto B como entrada, o se puede
ocupar TRISB=1.
Cada bit puede ser manejado individualmente de la misma manera es decir pueden ser
entrada o salida.
TRISA=%11110000 con esta instruccin hacemos que los bits menos significativos del
puerto A sean salidas y los mas significativos sean entradas.
Una vez definido cuales son los puertos de entrada o salida, procedemos a encender o
apagar los puertos as:
SEMAFORO DIGITAL
31
S .C. PIC
VARIABLES
Una variable es un nombre identificador en el cual guardamos datos de forma temporal.
El compilador PIC BASIC PRO posee tres tipos de variable que son:
BIT 21 0-1
BYTE 28 0 - 255
32
S .C. PIC
Donde X, Y, Z son nombres identificadores para la variable, los cuales pueden ser
distintos de acuerdo al usuario.
INSTRUCCIONES MULTIPLES
Otra de las herramientas fundamentales del PIC BASIC PRO son los comandos mltiples
que permite escribir varias instrucciones en la misma lnea simplemente separados por
( : ).
33
S .C. PIC
Donde R es una variable asignada con el valor de 1 hasta 5. Es decir realizar 5 veces Lo
que contenga el cuerpo del programa. Ejemplo:
Como se haba estudiado anteriormente el PIC BASIC PRO no permite realizar una
pausa mayor a 65,5 segundos. Por esa razn si se desea incrementar la pausa se utilizar
el lazo FOR estudiado. As:
34
S .C. PIC
PULSADORES Y SWITCH
Existen 2 tipos de conexin para el manejo de pulsadores o switch. La primera es la
conexin a 1L y la segunda la conexin a 0L. A continuacin los diagramas de conexin
por cada uno de los casos.
CONEXIN A 1L.-
Se la conoce como 1L porque
Vcc se encuentra conectado a
travs de una resistencia al
microcontrolador PIC, y el
pulsador generar 0L cuando
este sea presionado.
CONEXIN A 0L.-
Contraria a la anterior, sta
permite ingresar 0L a travs de
una resistencia al
microcontrolador, y en el
momento que el pulsador es
digitado generar 1L.
Igualmente la resistencia
permite bajar la corriente a la
requerida por el PIC para evitar
daos o errores al ingresar los
pulsos.
35
S .C. PIC
Para el control de los pulsadores o switch debemos utilizar una instruccin que nos
permita realizar preguntas.
ELSE
ENDIF
36
S .C. PIC
Recuerden que estos proyectos pueden probar en el simulador de un entrenador que viene
adjunto en el CD. Como habrn notado al inicio del programa utilice una instruccin
llamada CMCON=7, y si analizaron un poquito ms se habrn dado cuenta que utilice esa
instruccin porque manej el puerto A. Lo que quiere decir que esta instruccin apaga los
comparadores de voltaje y digitaliza el puerto, en otras palabras me permite ocupar el
puerto A.
Se refiere a que no se ha
seleccionado el microcontrolador
PIC 16F628A. Por esta razn
siempre antes de realizar
cualquier programa debemos
fijarnos que PIC vamos a utilizar.
El bit A.4 del puerto A es de colector abierto, lo que quiere decir que para utilizarlo
debemos conectarlo por medio de una resistencia de 100 ohmios a Vcc.
37
S .C. PIC
En la figura se puede observar que los puertos RA7, RA6 y RA5 son para conectar el
oscilador y el master clear respectivamente, lo que provoca que estos bits no se prendan
si programamos una secuencia en el puerto A. Para solucionar este problema debemos
indicar en la programacin que vamos a ocupar el oscilador y el master clear interno que
posee el microcontrolador PIC 16F628A, de la siguiente manera:
38
S .C. PIC
Como se puede observar en la figura solamente el bit A.4 del puerto A se encuentra
conectado a travs de una resistencia de 100 ohmios a Vcc.
39
S .C. PIC
Su sintaxis es:
SELECT CASE var
CASE expr1 {, expr...}
statements
CASE expr2 {, expr...}
statements
{CASE ELSE statements}
END SELECT
A continuacin realizaremos un ejemplo con esta instruccin, que consistir en prender y
apagar un led de acuerdo al valor que se le haya asignado en la variable.
40
S .C. PIC
41
S .C. PIC
42
S .C. PIC
Proyecto2_Luces_Velocidad_Variable. PBP
Desplazamientos. PBP
43
S .C. PIC
44
S .C. PIC
45
S .C. PIC
Una matriz es una tabla rectangular de nmeros, ordenados por filas y columnas. Para
nuestro caso tenemos una matriz con lgica binaria, es decir los datos de la matriz pueden
variar entre 0L y 1L.
0 0 0 0
0 0 0 0
4*4
0 0 0 0
0 0
0 0
A continuacin se presenta una tabla con el nombre de cada uno de los pulsadores del
teclado y sus coordenadas correspondientes a la matriz 4 * 4.
Como podemos apreciar, para cada uno de los dgitos del teclado se tiene su respectiva
coordenada, la cual ocuparemos al momento de realizar la parte del control con los
microcontroladores PIC.
46
S .C. PIC
47
S .C. PIC
48
S .C. PIC
Tambin se puede notar que el antirebote para el teclado se forma con las 4 columnas del
mismo, obteniendo datos exactos.
DISPLAY s
Una de las aplicaciones de los leds se encuentra en los displays, que son dispositivos
electrnicos que permiten visualizar datos en forma de nmeros, letras o palabras si se los
coloca uno tras otro, permitiendo al usuario identificar lugares, contar equipos, etc.
Existen displays en el mercado de varios tipos: displays 7*5, displays de 7 segmentos
tipo nodo o ctodo comn, entre otros. En este caso empezaremos estudiando los
displays de 7 segmentos.
Un display de 7 segmentos quiere decir que consta de 7 leds internos los cuales se
encuentran conectados de tal manera que permiten al usuario visualizar nmeros. Cada
uno de los segmentos tiene su respectivo nombre As:
49
S .C. PIC
Realizaremos una prctica que permita visualizar los nmeros del 0 al 9 en un display de
7 segmentos tipo nodo comn. Lo primero que se debe hacer es generar una tabla para
identificar cual es la lgica binaria para encender cada uno de los segmentos que
identificar cada nmero.
Nmero Nmero g f e d c b a
Decimal Binario
Cero 0000 1 0 0 0 0 0 0
Uno 0001 1 1 1 1 0 0 1
Dos 0010 0 1 0 0 1 0 0
Tres 0011 0 1 1 0 0 0 0
Cuatro 0100 0 0 1 1 0 0 1
Cinco 0101 0 0 1 0 0 1 0
Seis 0110 0 0 0 0 0 1 1
Siete 0111 1 1 1 1 0 0 0
Ocho 1000 0 0 0 0 0 0 0
Nueve 1001 0 0 1 1 0 0 0
Como se puede apreciar en la tabla los segmentos se encendern con niveles de voltaje
bajos es decir con 0L por que estamos usando un display tipo nodo comn.
50
S .C. PIC
Las resistencias que se ocupa son de 330 ohmios igual como se ocupaba en los leds, ya
que stas sirven para evitar que superen el voltaje permitido y sufran daos.
Lo nico que se ha realizado en el programa es copiar el cdigo para cada uno de los
nmeros decimales que se realiz anteriormente.
51
S .C. PIC
52
S .C. PIC
En el diagrama se puede apreciar que se est manejando todos los bits del puerto B para
el teclado y los 4 primeros bits del puerto A para el display, por lo que la programacin
sera la siguiente:
53
S .C. PIC
Proyecto1_teclados_display.PBP
54
S .C. PIC
55
S .C. PIC
56
S .C. PIC
RELES DE 12V
Los rels permiten al usuario conectar varios equipos de potencia, como son motores de
corriente alterna, bombas de agua, focos de 110V, etc. Es decir podemos controlar
circuitos de alta potencia, iniciando la automatizacin de diferentes procesos a nivel
Industrial.
Para cargar un rel a la hoja del proteus debemos introducir la palabra RELAY en la
parte de elementos, teniendo en cuenta que se debe seleccionar el rel que dice active
para poder realizar la simulacin. La manera de conectar un rel a un microcontrolador es
la siguiente:
Como se puede apreciar el rel que estamos ocupando es un rel de 12V, por lo que
necesariamente necesita una fuente de 12V para poder funcionar. A ms de ello se est
colocando un led, en el mismo puerto de salida para el rel, que permitir visualizar si el
Rel se encuentra activado o no, ya que en la realidad no vamos a visualizar como en la
simulacin que los contactos cambian de estado. Sino se escuchar un sonido alertando el
cambio de estado de los mismos.
57
S .C. PIC
Continuando con la conexin del rel, se puede apreciar que se est colocando un diodo
1N4007, el cual permite proteger al microcontrolador. Adems de ello se ocupa un
transistor 2N3904 el cual funciona en corte y saturacin, permitiendo energizar o no
energizar la bobina del rel de 12V.
58
S .C. PIC
Manejo_Rel. PBP
59
S .C. PIC
LISTA DE MATERIALES
- 16 Resistencias de 4,7K A W.
- 16 Resistencias de 330 ohmios
- 8 leds de alto brillo color rojo para las entradas
- 8 leds de alto brillo color azul para las salidas
- 8 borneras de 3 entradas para las salidas del PLC
- 4 borneras de 3 entradas para las entradas del PLC
- 8 diodos 1N4007
- 8 transistores 2N3904
- 1 PIC 16F628A
- Placa de circuito impreso de S.C. PIC PLC 23-02
60
S .C. PIC
DIAGRAMA DE CONEXIN
Noten tambin que se ha suprimido los diodos 1N4007 que se deben conectar en la
entrada de polarizacin de cada rel, esto se debe a que en simulacin no existe el
problema que se pueda quemar el microcontrolador, pero en la realidad es totalmente
necesario utilizar este diodo de proteccin.
Ahora realizaremos una aplicacin con este dispositivo, que consistir en lo siguiente:
Por medio de una entrada del PLC se accionen todas las salidas, pase un tiempo de 10
segundos y empiece a accionar los rels uno por uno hacia abajo.
61
S .C. PIC
Aplicacin PLC-01.PBP
62
S .C. PIC
La Memoria flash es una forma evolucionada de la memoria EEPROM que permite que
mltiples posiciones de memoria sean escritas o borradas en una misma operacin de
programacin mediante impulsos elctricos, frente a las anteriores que slo permite
escribir o borrar una nica celda cada vez. Por ello, flash permite funcionar a velocidades
muy superiores cuando los sistemas emplean lectura y escritura en diferentes puntos de
esta memoria al mismo tiempo.
Las memorias flash son de tipo no voltil, esto es, la informacin que almacena no se
pierde en cuanto se desconecta de la corriente, una caracterstica muy valorada para la
multitud de usos en los que se emplea este tipo de memoria.
63
S .C. PIC
64
S .C. PIC
65
S .C. PIC
Este sistema tiene asignada la clave [5, 2, 6, 9], la cual al ser digitada por el usuario,
accionar al rel de 12V, el que permanecer energizado durante 5 segundos, si en caso
de que la clave ingresada sea incorrecta el sistema realizar un destello de un LED 10
veces alertando al usuario que la clave no es la correcta.
66
S .C. PIC
El segundo proyecto consiste en realizar una cerradura electrnica con una clave que se
guardar en la memoria RAM que posee el microcontrolador PIC 16F628A y a su vez
esta clave la cambiar el usuario de acuerdo a sus necesidades.
Una memoria RAM (Random Access Memory), memoria de acceso aleatorio, es donde el
microcontrolador guarda los datos que est utilizando en el momento presente; la cual permite
grabarlos en variables definidas por el usuario, pero necesita que la energa suministrada
al dispositivo no se la retire, para evitar que stos se pierdan.
Para simular esta prctica se puede utilizar el mismo diagrama esquemtico (Cerradura
Digital MEMORIA FLASH. Schematic Design) visto anteriormente.
67
S .C. PIC
68
S .C. PIC
69
S .C. PIC
Al ejecutar el programa, debemos asignar la Clave de fbrica para que la puerta (RELE)
se abra, el sistema accionar el rel y esperar 5 segundos para retornar a sus valores
iniciales, si el usuario desea cambiar la clave de fbrica lo que debe hacer es ejecutar los
3 primeros dgitos de la clave y digitar el signo + del teclado, el que prender un LED y
se mantendr prendido hasta que se ejecute la nueva clave, que se asignar en la memoria
RAM del microcontrolador PIC, una vez digitados los cuatro nuevos nmeros, observar
que el LED se apago, indicando que su clave se grab exitosamente. Y para accionar
nuevamente el rel lo que deber realizar es digitar la nueva clave que guard.
En caso de que la clave ingresada sea errnea, el sistema realizar el destello de un LED
10 veces, el que indicar que la clave ingresada no es la correcta. En caso de olvidarse el
nmero de la clave debe resetear el sistema (Deshabilitando la energa y l habilitndola
nuevamente), as el sistema accionar la clave de fbrica.
70
S .C. PIC
El tercer proyecto consiste en realizar una cerradura electrnica con una clave que se
guardar en la memoria EEPROM que posee el microcontrolador PIC 16F628A y a su
vez esta clave la cambiar el usuario de acuerdo a sus necesidades, con la finalidad de
que si desconecta el suministro de energa al sistema esta permanezca con la misma clave
utilizada.
EEPROM.- Esta instruccin permite grabar datos en la memoria que lleva el mismo
nombre, los cuales se irn posicionando en cada una de las celdas del microcontrolador,
cabe destacar que el PIC 16F628A, posee 128 celdas para grabar datos, las cuales
manejan 1 BYTE cada una, que significa que podremos guardar un nmero hasta de 255
La sintaxis de manejo es la siguiente:
READ.- Esta instruccin permite leer los datos que se encuentran en la memoria
EEPROM, y guardar el contenido de las celdas en una variable previamente definida por
el usuario, su sintaxis es:
71
S .C. PIC
72
S .C. PIC
73
S .C. PIC
74
S .C. PIC
Y por ltimo, es aconsejable anotar la nueva clave que se le asigne al sistema, ya que si
nos la olvidamos no se va poder abrir la puerta (Energizar el rel), sino esta funcin la
tendremos que realizar leyendo el microcontrolador PIC con el IC-PROG y observando
los datos asignados en la Direccin de datos EEPROM.
75
S .C. PIC
76
S .C. PIC
En el mercado existe gran variedad de mdulos LCD, los que permiten realizar grficos,
los alfanumricos 16*2, 16*4, 8*2, , con backlight, sin backlight, etc.
LCD alfanumrico 16 * 2.- Este tipo de LCD, permite visualizar datos de hasta 16
caracteres por 2 lneas, cada carcter est compuesto por una matriz de leds 7*5,
permitiendo formar cualquier letra que se le asigne desde el microcontrolador.
El backlight es el color de fondo que va a tener el LCD, entre ellos se encuentran los de
color azul, amarillo, blanco, naranja, rojo. Y de acuerdo a estos colores varan su precio
en el mercado. No es indispensable que un LCD tenga luz de fondo o backlight, ya que si
el usuario lo desea no lo conecta, ahorrando energa y consumo de corriente.
LCD alfanumrico 8 * 2.- Este tipo de LCD, permite visualizar datos de hasta 8
caracteres por 2 lneas, siendo esta la nica diferencia en comparacin con el LCD 16*2.
Y de acuerdo a la aplicacin que realice el usuario debe seleccionar el LCD a utilizar.
77
S .C. PIC
El LCD consta de 14 pines, para realizar el manejo o el control del mdulo y 2 pines
adicionales para controlar el backlight que posee, en LCDs que no poseen la funcin de
backlight o que no poseen luz de fondo, solamente poseen 14 pines para utilizarlos en la
parte de control.
A continuacin presentamos una tabla correspondiente a las funciones que realizan cada
uno de los pines del LCD.
Como se puede apreciar en la tabla, Los bits que permiten controlar el LCD son 8, lo cual
representa una gran velocidad en visualizacin de datos. Pero una pequea desventaja es
que debemos conectar varios cables a nuestro sistema, y ocupar todo un puerto completo
para transmisin de los mismos. Por esta razn los fabricantes de LCDs, permiten al
usuario trabajar solamente con 4 Bits para transmisin de datos, lo que significa que se
enviarn grupos de 4 bits, primero los ms altos y luego los ms bajos, la velocidad de
transmisin sera menor pero no representara problemas porque el LCD trabaja en el
orden de microsegundos.
Conocida la disposicin de pines del mdulo LCD, pasaremos a estudiar las instrucciones
que permiten al usuario controlarlos y manejarlos de acuerdo a sus necesidades.
78
S .C. PIC
NOTA: Se aconseja utilizar siempre todas las definiciones en un solo puerto, es decir
escoger el puerto B, o el puerto A en el caso del PIC 16F628A. Para evitar que los
datos sean incorrectos.
COMANDO OPERACION
$FE, 1 Limpia el visor del LCD
$FE, 2 Vuelve al inicio del LCD
79
S .C. PIC
Practica con
Microcontrolador
Y la programacin sera:
80
S .C. PIC
NOTA: En el simulador Proteus no existe el LCD 8*2, pero las conexiones son las
mismas, la nica diferencia es que acepta hasta 8 caracteres, por lo que se debe
simular ocupando solo 8 caracteres.
Si se desea visualizar en un mdulo LCD algn nmero decimal de una variable lo que se
debe realizar es lo siguiente:
Que significa: Limpie el visor del LCD, ubique el cursor al comienzo de la primera lnea,
y visualice el decimal de lo que contenga la variable datos.
81
S .C. PIC
Que significa: Limpie el visor del LCD, ubique el cursor al comienzo de la primera lnea,
y visualice con 2 decimales lo que contenga la variable datos.
Que significa: Limpie el visor del LCD, ubique el cursor al comienzo de la primera lnea,
y visualice: X= y el decimal de lo que contenga la variable datos, es decir si datos tiene
un valor de 245 entonces el usuario observar:
82
S .C. PIC
83
S .C. PIC
84
S .C. PIC
INSTRUCCIN LOOKUP
Puede ser usado para obtener valores de una tabla de constantes de 8 bits, permite obtener
un carcter de letras o nmeros de una cadena y guardarlos en una variable asignada por
el usuario. Su sintaxis de manejo es:
85
S .C. PIC
Y su programacin ser:
86
S .C. PIC
INSTRUCCIN SOUND
Esta instruccin permite generar sonido, trabaja a 8 bits, y el ruido generado va en un
rango de 0 a 255.
Que quiere decir saque por el puerto B el tono 110, mantngalo durante 10 milisegundos,
y saque el tono 100 durante 20 milisegundos.
87
S .C. PIC
INSTRUCCIN FREQOUT
Permite al usuario sacar frecuencias por un PIN, las cuales pueden estar entre 0 a 32767
Hz, y su sintaxis de manejo es:
88
S .C. PIC
INSTRUCCIN DTMFOUT
Lo que se realiz en el programa anterior es generar los tonos de telfono para un nmero
celular, obteniendo cambios de frecuencia cada 50 milisegundos. Ahora con el estudio de
la instruccin DTMFOUT podremos sacar los mismos tonos de celular de una manera
ms sencilla, es decir simplemente escribiendo el nmero de telfono a llamar.
Que significa saque por el BIT B.0 las frecuencias correspondientes a digitar los nmeros
de telfono 0, 9, 7, 0, 8, 7, 9, 9, 9
Para realizar la prueba de esta instruccin generaremos una llamada telefnica al nmero
2 506 145, la cual se escuchar en un parlante de 8 ohmios. La simulacin de esta
prctica se puede realizar en el mismo circuito anterior. (Instruccin SOUND. Schematic
Design)
La programacin ser:
Para realizar una llamada telefnica con el microcontrolador se debe accionar un rel
para indicarle a la entrada de la lnea telefnica que se descolg el auricular y proceder a
enviar los tonos correspondientes al nmero que se desee llamar. El siguiente diagrama
de conexin permite realizar esta funcin:
89
S .C. PIC
En el programa se energiza el rel de 12V, para simular la accin del levantamiento del
auricular en un telfono convencional.
90
S .C. PIC
Un cable de comunicacin serial permite que dos dispositivos se comuniquen uno con
otro enviando y recibiendo datos por una lnea de transmisin y otra lnea de recepcin.
Los datos enviados por esta lnea, se enviarn en grupos de 8 bits, utilizando un formato
de envo denominado cdigo ASCII.
00 00 00 00 00 (nulo)
00 11 00 00 30 0
00 11 00 01 31 1
01 00 00 01 41 a
01 10 00 01 61 A
01 11 10 10 7B {
ASCII son las siglas de American Standard Code for Information Interchange o Cdigo
Estndar Americano para el Intercambio de informacin.
El formato ASCII es reconocido por todas las computadoras y se puede utilizar para
comunicarse con el microcontrolador. Como se pudo ver de la tabla del ejemplo, un
conjunto de bits representa cada carcter. Una forma ms compacta de representar un
conjunto de bits, es mediante la representacin Hexadecimal. Esta representacin toma 4
bits y los representa por un nmero o una letra que va del 0 al F.
Se llama comunicacin serial, porque los cdigos se reciben uno detrs de otro o en
serie. Existen 2 tipos de comunicacin serial, la sincrnica y la asincrnica, la nica
diferencia entre los dos es: La comunicacin sincrnica necesita una seal de reloj para
compararlos con la lnea de envo de datos y garantizar que los datos enviados sean los
correctos.
91
S .C. PIC
En cambio la comunicacin serial asincrnica enva datos sin necesidad de una seal de
reloj, en su reemplazo ocupa un mecanismo como referencia tierra (norma RS232), o
voltajes referenciales (norma RS422/485).
BIT DE PARADA
BIT DE INICIO
011000 0 1
+5V
0V
Nmero enviado
Las computadoras poseen la norma RS232 para realizar comunicacin serial, la cual
utiliza lgica inversa para realizar la comunicacin serial, que significa que 5V = 0L y 0V
= 1L, la manera de transmisin de datos para la letra A, en esta norma ser:
BIT DE PARADA
BIT DE INICIO
011000 0 1
+5V
0V
Nmero enviado
92
S .C. PIC
Las velocidades para transmisin de datos van desde los 300 hasta los 9600 bits por
segundo en el modo de comunicacin serial, pero hay que tener presente si son
velocidades de datos verdaderos, o datos invertidos. A continuacin presentaremos una
tabla con las velocidades para cada uno de stos casos:
Para utilizar estas instrucciones es necesario incluir los modos de comunicacin mediante
la siguiente instruccin:
Que significa: Recepte el dato serial por el BIT B.0 del puerto B a una velocidad de 2400
bits por segundo y guarde en la variable DATOS.
SEROUT.- Mediante esta instruccin se enviarn datos seriales por un pin del
microcontrolador, su sintaxis es:
Que significa: Enve el dato A en cdigo ASCII a una velocidad de 2400 bits por
segundo por el BIT B.0 del puerto B.
93
S .C. PIC
Transmisor. PBP
94
S .C. PIC
Receptor. PBP
En cuanto al tratamiento de los datos, que se le debe dar a este tipo de comunicacin
serial, es igual al estudiado anteriormente, lo que quiere decir que en lugar del cable que
se ocup para comunicar el primer dispositivo con el otro, se utilizar un diodo LED
infrarrojo transmisor y un diodo LED infrarrojo receptor los que enviarn y recibirn
datos respectivamente. Y la programacin ser la misma.
95
S .C. PIC
96
S .C. PIC
Ciertas computadoras utilizan este conector para colocar perifricos de entrada como el
mouse, PLCs, entre otros. Cada uno de los pines del puerto serial est dedicado a un
propsito especfico, que fue determinado cuando se elabor el estndar RS232. A
continuacin se presenta una tabla con cada una de las funciones que realiza este puerto.
1 Tierra de chasis
5 Tierra de seal
Como se puede apreciar en la tabla, los pines 2 y 3 son los ms importantes para nosotros
ya que permiten recibir y transmitir datos respectivamente.
97
S .C. PIC
Por defecto aparece la aplicacin EXE estndar que es la que necesitamos para realizar el
control computarizado de proyectos electrnicos con microcontroladores mediante
comunicacin serial.
98
S .C. PIC
Esta pantalla contiene una seccin que se llama Form1, la cual permite al usuario generar
el Formulario, es decir permite visualizar como va a quedar nuestro proyecto con los
elementos que necesite para su proyecto.
99
S .C. PIC
Para realizar comunicacin serial con este software es necesario agregar a la ventana de
herramientas el modo de comunicaciones realizando un clic derecho en la parte inferior
de la ventana de herramientas, seleccionamos componentes.
100
S .C. PIC
101
S .C. PIC
Para realizar esta prctica debemos adicionar al formulario los siguientes componentes:
- Un botn (CommandButton)
- Un reloj (Timer), que permitir monitorear el LED si se encuentra
encendido o apagado.
- Modo de comunicaciones
- Un crculo, simulando un LED
Para sacar el crculo se debe escoger la herramienta shape que permite dibujar
rectngulos, cuadrados, valos, crculos, etc. Para nuestro caso ocuparemos un crculo,
pero hay que tener en cuenta que por defecto visual Basic carga al shape con un
rectngulo, lo que significa que en las propiedades del objeto shape se debe cambiar a
crculo as:
102
S .C. PIC
Para seleccionar un color plomo al crculo hay que seleccionar en propiedades del
elemento, FillColor y escoger el color a usar, y en FillStyle seleccionar SOLID, para que
el color se fije en todo el crculo.
103
S .C. PIC
Para esto dar clic derecho con el mouse en el componente similar a un telfono y
seleccionar propiedades, donde aparecer una pantalla como la siguiente:
104
S .C. PIC
Donde indica los valores para la comunicacin serial. Que se encuentran establecidos en:
9600,n,8,1 que significa: Envo de 8 bits de datos seriales, sin paridad y con un bit de
parada a una velocidad de 9600 bits por segundo.
Ahora lo nico que falta es realizar la programacin para este proyecto que ser la
siguiente: Como se ha dicho anteriormente que visual Basic es una herramienta orientada
a objetos, empezaremos a programar el objeto formulario. Dando doble clic en cualquier
parte del formulario que no contenga ningn elemento. Aparecer una ventana similar a:
Esta parte del programa lo nico que realiza es enviar el dato serial de P para que el
microcontrolador recepte este dato y encienda el LED.
105
S .C. PIC
Ahora lo nico que hace falta es programar el timer, para que realice el monitoreo del
LED.
Si se encuentra encendido, cambiar el color del crculo a rojo; caso contrario cambiar el
color del crculo a plomo, monitoreando de esta manera el encendido y apagado de un
LED.
Para cumplir con este objetivo hay que dar doble clic en el componente timer que es
similar a un reloj, en donde aparecer la siguiente ventana:
106
S .C. PIC
Como se puede apreciar el Pin transmisor del conector DB9 est conectado con el Pin
que actuar como receptor en el microcontrolador, y viceversa.
107
S .C. PIC
108
S .C. PIC
109
S .C. PIC
Es en esta pantalla es donde se encontrarn los elementos que el usuario vaya a utilizar.
Para visualizar la tabla de controles dar clic derecho en cualquier parte de la pantalla y
aparecer una ventana similar a:
110
S .C. PIC
Donde se encuentran botones, switch, leds controles numricos, indicadores grficos, etc.
111
S .C. PIC
LOS DATOS: Como el algoritmo maneja datos, requiere de un espacio en memoria para
estos, lo que hace tomar en cuenta que el computador usado debe tener la memoria
suficiente para manejarlos. Por ejemplo, cuando se usan grandes matrices en clculos se
puede requerir de mucho espacio.
Pausa el programa
Ejecuta el programa una sola vez, por esta razn se debe tomar en cuenta
que si no se realiza un lazo repetitivo, el usuario no podr observar el
funcionamiento del programa, debido a que el programa se ejecutar muy
rpido.
112
S .C. PIC
Para la realizacin de esta prctica en la ventana de LabView seleccionar una hoja virtual
en blanco, as:
113
S .C. PIC
Noten que al presionar CTRL + E aparece la pantalla del diagrama de bloques con los
dos objetos seleccionados en el panel frontal. Ahora simplemente hay que ejecutar el
programa para visualizar el proyecto.
NOTA: Tener en cuenta que si se desea observar el funcionamiento hay que correr el
programa con el icono que ejecuta el programa repetitivamente, ya que no se le ha
asignado ningn lazo repetitivo al proyecto.
114
S .C. PIC
En el diagrama de bloques dar clic derecho en cualquier parte de la pantalla y se tiene una
nueva ventana con diferentes herramientas:
En esta ventana se tiene varios elementos, los cuales permiten realizar funciones de
comparacin, suma, resta, entrada de datos, salida de datos, etc. Para nuestro caso se
seleccionar en Exec Ctrl para seleccionar un lazo While Loop que permite realizar
repeticiones en el sistema.
Para que este lazo funcione en la prctica que estamos realizando se lo debe adicionar
dentro de los elementos que se est utilizando de la siguiente manera:
115
S .C. PIC
Y como se puede apreciar al colocar este lazo se gener un nuevo elemento denominado
STOP, el que permitir parar el sistema en cualquier momento durante su ejecucin.
Para ejecutar el programa basta con dar un clic en el icono , el que ejecutar el
programa repetidamente gracias al lazo While Loop que se ha adicionado al sistema.
116
S .C. PIC
Para comparar si el estado del pulsador es alto o bajo es necesario ingresar en el diagrama
de bloques la funcin Case Structure, la cual permitir obtener un dato verdadero si se
digit el pulsador y un dato falso si no se lo presion.
117
S .C. PIC
Cuando el dato sea verdadero, el sistema permitir el ingreso de datos seriales, caso
contrario el sistema no aceptar el ingreso de los mismos.
118
S .C. PIC
Noten que en esta tabla, se encuentra la configuracin del puerto serial, el que contiene:
Modo para lectura, modo para escritura, modo para cerrar el puerto de comunicacin
serial, entre otros.
Los que necesitamos para el presente proyecto son: Los modos de configuracin, lectura
y cerrar que posee el puerto serial.
119
S .C. PIC
120
S .C. PIC
121
S .C. PIC
122
S .C. PIC
MANEJO DE MODULOS DE
RADIO FRECUENCIA
La RADIO FRECUENCIA, permite al usuario comunicarse entre dos equipos, a travs
de dispositivos de transmisin y recepcin de datos, sin necesidad que los equipos se
encuentren alineados, y en algunos casos, no necesitan que se encuentren en lnea de
vista, es decir puede estar un equipo en una habitacin y otro equipo en otra habitacin.
En algunos casos estos mdulos no son muy costosos, como los mdulos de transmisin
y recepcin de datos de FUTURLEC.
Cada uno de estos mdulos necesita circuitos integrados que permitan codificar la seal
que estn enviando y recibiendo, en el caso del transmisor de radio frecuencia necesita
el circuito integrado HT12D, y el receptor utiliza el HT12E.
El fabricante de ste tipo de mdulos, trabaja con modulaciones de tipo ASK, por su bajo
costo y alto desempeo a la hora de transmitir y recibir datos. Poseen 2 tipos de
frecuencia, la de 315 MHz y la de 433.92 MHz.
El manejo de estos mdulos de RF, es muy sencilla, ya que estos circuitos integrados
tienen la ventaja de asignar un cdigo para transmisin de datos, el cual debe ser el
mismo en el receptor para que el sistema pueda funcionar. Los circuitos integrados
HT12D y HT12E, operan hasta 4 bits, si se desea mayor capacidad para el trabajo se debe
utilizar los circuitos HT648L en el caso del receptor y HT640 para el transmisor.
123
S .C. PIC
Noten que la entrada de datos se la realiza por el PIN 14 del HT12D, y el cdigo se lo
asigna del PIN 1 hasta el PIN A7, en este caso el cdigo ser: 00000000 para recibir
datos.
124
S .C. PIC
El manejo de estos mdulos de radio frecuencia no es muy complejo, ya que lo nico que
se debe realizar es medir la variacin del potencimetro que posee el transmisor y de
acuerdo a ese dato proceder a realizar una funcin especfica. A ms de estos mdulos es
necesario tener un microcontrolador, el cual medir la variacin del potencimetro. Por
esta razn es necesario estudiar la instruccin POT, la cual permite medir la variacin de
un potencimetro de 5K hasta 50K de acuerdo a la carga y descarga de un capacitor
conectado en serie. El diagrama esquemtico para esta funcin ser:
125
S .C. PIC
INSTRUCCIN POT
La sintaxis de esta instruccin es:
Que significa: Tome el dato del potencimetro a 8bits y gurdelo en la variable DATO.
De esta manera se podr leer el mdulo de radio frecuencia conectando el PIN RA3 del
receptor en la entrada del PIN RB0 del microcontrolador PIC y de acuerdo a ese dato de
8bits, realizar cualquier tipo de aplicacin, como el monitoreo de una plataforma para la
alineacin de vehculos.
126
S .C. PIC
PROGRAMANDO EL PIC
16F819 Y EL 16F877A
MICROCONTROLADOR PIC 16F819
La programacin para los microcontroladores en general es la misma, lo que difiere unos
de otros es la capacidad que poseen, y ciertas ventajas ms como la de tener conversores
anlogo digital.
INSTRUCCIN ADCIN
Los bits del puerto A, que permiten realizar la funcin de conversores anlogo digital
son el A.0, A.1, A.2, A.3 y A.4, los que detectan el nivel de voltaje que ingresa por el
PIN, y si trabajamos a 8 bits, el nivel de voltaje los dividir en 256 segmentos que irn
desde 0 a 255.
Que significa lea el canal cero, y guarde el resultado obtenido en la variable DATOS.
Si recordamos. Para apagar los comparadores de voltaje del puerto A que posee el
microcontrolador PIC 16F628A y convertirlos a digitales, se realizaba mediante la
instruccin CMCON=7. Para este tipo de microcontrolador la instruccin que permite
realizar esta funcin es: ADCON1=7.
127
S .C. PIC
A continuacin se presenta un programa el cual permite leer los niveles de voltaje que
ingresan por el pin que acta como conversor anlogo digital que posee el
microcontrolador PIC 16F819. El potencimetro debe ser de 5K hasta 50K.
128
S .C. PIC
Uno de los proyectos mas utilizados con este tipo de microcontrolador PIC es un
termmetro digital utilizando el sensor de temperatura LM 35, el cual presenta en su pin
de salida una variacin de 10 mV por cada grado centgrado que haya censado. La
alimentacin para este censor vara entre 4 a 30 voltios, para nuestro caso lo
alimentaremos con 5 Vcc.
129
S .C. PIC
130
S .C. PIC
Y en los bits de configuracin se puede deshabilitar la opcin del MCRL, para no ocupar
el Master clear. Ahora si seleccionamos en el IC-PROG el PIC 16F877A, nos daremos
cuenta que estas opciones no se las encuentra, indicando al usuario que no posee master
clear programable ni oscilador interno.
131
S .C. PIC
Por esta razn para que el PIC 16F877A funcione es necesaria la siguiente conexin:
132
S .C. PIC
133
S .C. PIC
134
S .C. PIC
MANEJO DE MOTORES
Los motores son una herramienta fundamental para realizar procesos industriales, como
el transportar un producto de una estacin a otra, se utiliza tambin en proyectos de
robtica, mecatrnica, entre otros.
Existen 2 tipos de motores paso paso, los bipolares y los unipolares, la diferencia entre
ellos es que los motores bipolares poseen 2 bobinas y son de 4 hilos, en cambio los
motores unipolares poseen mayor nmero de bobinas facilitando el manejo al usuario, y
poseen desde 5 hasta 8 hilos para su manejo.
En el proteus podemos encontrar los 2 tipos de motores paso paso, digitando en la parte
de elementos la palabra motor.
135
S .C. PIC
Para manejar el motor paso paso bipolar se requiere de un circuito integrado L298 que
dispone de 2 puentes H (H Bridge) o por lo menos debemos hacer un arreglo de 8
transistores, (4 NPN y 4 PNP). Tambin se necesita el circuito integrado L297
En cuanto al voltaje de alimentacin que se requiere para los 2 tipos de motores, varan
entre 1.3V, 1,9V, 4,5V, 5V, 12V y 24V, y la corriente que consume un motor puede estar
desde 300mA hasta 3, dependiendo del torque que ste se encuentre manejando.
El nico inconveniente que se tiene es poder identificar las 4 bobinas principales (A, B,
C, D). A continuacin se presenta una gama de colores con la que se las puede
identificar:
BOBINA COLOR
A Amarillo
B Naranja
C Negro
D Caf
Y los dems hilos sern los comunes, los cuales se los conecta a la entrada del voltaje de
operacin.
En las especificaciones del motor viene dado el grado de precisin, entre algunos de ellos
tenemos de 0.72, 1.8, 3.75, 7.5, 15, 90 etc. Y de acuerdo al grado que gire el motor
por impulso, se debe dar un nmero de pasos para que este gire una vuelta completa, por
ejemplo:
Para un motor que el grado de giro sea 90, el nmero de pasos que debe dar para dar una
vuelta completa ser de 4, para un motor de 1,8 el nmero de pasos ser 200.
Para manejar este tipo de motor es necesario un circuito integrado buffer ULN2003, el
cual es de muy bajo costo y posee toda la circuitera interna para manejar este tipo de
motores. Por lo tanto el diagrama de conexin es:
136
S .C. PIC
WAVE DRIVE
FULL STEP
137
S .C. PIC
138
S .C. PIC
139
S .C. PIC
Los circuitos integrados L297, y L298 permiten generar las secuencias necesarias para
energizar las bobinas del motor bipolar. Por lo tanto la programacin para este tipo de
motor es:
140
S .C. PIC
MANEJO DE SERVOMOTORES
Los servos son un tipo especial de motor que se caracterizan por su capacidad para
posicionarse de forma inmediata en cualquier posicin dentro de su rango de operacin.
Para ello, el servo espera un tren de pulsos que se corresponden con el movimiento a
realizar. Estn generalmente formados por un amplificador, un motor, la reduccin de
engranaje y la realimentacin, todo en una misma caja de pequeas dimensiones. El
resultado es un servo de posicin con un margen de operacin de 180 aproximadamente.
Como se puede apreciar en la figura, posee tres cables. El rojo es alimentacin (+5V), el
negro es tierra (GND) y el cable amarillo es el que permite realizar el control. El motor
interno que posee, es de corriente directa, el cual posee una tarjeta controladora la cual le
indica cuantas vueltas debe girar para acomodar el engranaje.
La posicin deseada se determina por medio de pulsos, siendo la duracin del pulso la
que indica el ngulo de giro por esta razn cada servomotor tiene sus mrgenes de
operacin que corresponden al ancho de pulso ya sea mximo o mnimo.
El intervalo de tiempo con los que opera el servomotor est dado entre 10 y 30
milisegundos, para que un servomotor se mantenga en la misma posicin durante un
cierto tiempo es necesario enviarle continuamente el pulso correspondiente al ngulo en
el que se encuentra.
141
S .C. PIC
En este libro se estudiar el servomotor HITEC HS 311, por ser ms econmico y tener
un torque de salida de 3.0Kg.cm, suficiente para proyectos de robtica.
142
S .C. PIC
INSTRUCCIN PWM
PULSE WIDTH MODULATION, modulacin por ancho de pulso, esta instruccin
permite enviar un tren de pulsos modulado por ancho a un PIN. Cada ciclo de PWM est
compuesto de 256 pasos. Su sintaxis es:
Que quiere decir, saque 3 pulsos al 50% en alto por el BIT B.0 del puerto B.
Cada ciclo depende de la frecuencia del oscilador, para un cristal de 4 MHZ cada ciclo
ser de 5 milisegundos de largo, para un cristal de 20 MHz cada ciclo ser
aproximadamente de 1 milisegundo.
143
S .C. PIC
SERVOMOTOR. PBP
144
S .C. PIC
Con estos conocimientos podr realizar un robot como el que se muestra a continuacin.
En el CD encontrar una simulacin con el movimiento que debe realizar las patas del
ROBOT para que no existan atascos en el avance del mismo.
145