Beruflich Dokumente
Kultur Dokumente
Electrnica Digital
Proyecto
Generacin seal PWM para controlar
y medir las vueltas de un motor de CD
Grupo: 6CV1
Gmez Martnez Daniel
Vargas Rodrguez Jos
Contenido
Tablas y figuras .........................................................................................................................................................3
Objetivos...................................................................................................................................................................5
Objetivo general ...................................................................................................................................................5
Objetivo especfico ...............................................................................................................................................5
Introduccin .............................................................................................................................................................6
Marco terico ...........................................................................................................................................................7
Desarrollo .............................................................................................................................................................. 11
Conclusiones .......................................................................................................................................................... 20
Bibliografa ............................................................................................................................................................. 20
Tablas y figuras
Objetivos
Objetivo general
Generar una seal PWM para controlar la velocidad de un motor de CD.
Objetivo especfico
A travs de la interrupcin externa del PIC 18F4550 realizar un circuito que cuente las vueltas de
un motor y adems que a travs de un switch cambie las velocidades del mismo, dicha interrupcin
estar conectada en RB0 del pic, al igual que una rutina de servicio de interrupcin que reconozca
las interrupciones.
Introduccin
La electrnica digital es la rama de la electrnica ms moderna y que evoluciona ms rpidamente. Se encarga de
sistemas electrnicos en los que la informacin est codificada en estados discretos, a diferencia de los sistemas
analgicos donde la informacin toma un rango continuo de valores.
En la mayora de sistemas digitales, el nmero de estados discretos es tan solo de dos y se les denomina niveles
lgicos. Estos niveles se representan por un par de valores de voltaje, uno cercano al valor de referencia del
circuito (normalmente 0 voltios, tierra o "GND"), y otro cercano al valor dado por la fuente de alimentacin del
circuito. Estos dos estados discretos reciben muchas parejas de nombres en libros de electrnica y otros textos
especializados, siendo los ms comunes "0" y "1", "false" y "true", "off" y "on" o "bajo" y "alto" entre otros. Tener
solo estos dos valores nos permite usar el lgebra booleana y cdigos binarios, los que nos proporciona
herramientas muy potentes para realizar clculo sobre las seales de entrada.
Al hablar de electrnica digital estamos en presencia del mayor avance en cuanto a ciencia electrnica se refiere.
Al principio los mecanismos interactuaban entre s por movimientos y secuencia preconcebidas para obtener un
mismo resultado, la invencin de las vlvulas, luego los transistores, los chips y por ltimo los microprocesadores
as como los micro-controladores han llevado a esta ciencia a posicionarse como una de las ms precisas en lo que
a procesamiento de datos, imagen y vdeo podamos hablar.
Los ms complejos sistemas digitales, aplicados y tiles hoy en da son posibles gracias a la integracin de los
componentes, herramientas, equipos y subsistemas electrnicos, informticos y mecnicos. En tiempos modernos
es tan fcil tocar una pantalla con nuestras manos (pantalla tctil), ejecutar un comando de voz y cambiar un canal
o abrir una ventana, apagar y encender una bombilla; todo gracias a la electrnica digital. Como su nombre lo
indica ella se sustenta en su propio lenguaje, el lenguaje de cdigo binario "1" y "0", se crean ciclos de palabras,
password, secuencias de bit y byte y se hace realidad lo que nunca se pens poder monitorear en tiempo real un
proceso a miles de kilmetros de distancia. Todas las dems ciencias hoy en da se deben a la invencin de los
sistemas digitales, es difcil pensar en cocinar algo, llamar a un pariente lejano o ir al cine sin dejar a un lado la
electrnica digital.
Por eso podemos decir que ella misma contempla los mejores avances y conducen la vida al futuro, claro
complementada por las telecomunicaciones y por las ciencias exactas, la informtica, la mecatrnica, la ciencia
mdica con aplicaciones de prtesis, chips cerebrales, los mismos juegos de realidad virtual y videojuegos
infantiles y los no tan infantiles. En conclusin los desarrollos tecnolgicos gestados en laboratorios, instalaciones
militares, los avances y ayudas humanitarias a pases y personas en sitios an hoy en da remotos e inhspitos, no
fueran posible sin esta rama de la ingeniera la electrnica pero principalmente la digital, la cual es hoy en da una
de las ms importantes, verstil y sigue en avance y crecimiento en tiempos globalizados.
Marco terico
El Pic 18F4550 posee una arquitectura tipo Hardvard, ya que dispone de diferentes buses para acceder a la
memoria de programa o a la memoria de datos. Esto nos da la opcin de acceder a la memoria de datos para
ejecutar una instruccin, mientras se lee de la memoria de programa la siguiente instruccin. Es decir,
podemos acceder de forma simultnea a ambas memorias.
El Bus de memoria de programa: Est formado por 21 lneas de direccin,16 lineas para instrucciones y 8 lineas
para datos.
Dentro del datasheet del dispositivo podemos encontrar un diagrama de bloques que nos explica la
arquitectura interna que tiene el Pic 18F4550.
Como podemos ver en la imagen este modelo de Pic es bastante completo, cuenta con una serie de elementos
como: la memoria de programa, memoria de datos,contadores, puertos I/O, latch de direccin, datos...
Organizacin de la memoria
La memoria del Pic se divide en: Memoria RAM de datos, memoria de programa, memoria EEprom de datos, la
pila y memoria de configuracin
Memoria de datos
Cuenta con una memoria de RAM de datos de 2048 bytes, (8 de los bancos de 256 bytes).
Tambin cuenta con 160 bytes dedicados a los SFR's(Registros de funcin especial) los cuales se encuentran en
la parte alta del banco 15.
Como se puede ver en la imagen la memoria RAM de datos se compone por GPR's o registros
de propsito general y SFR's o registros de funcin especial.
Para acceder a un Byte de la memoria de datos en primer lugar seleccionaremos el banco mediante el
BSR(Bank Selector Register) y a continuacin se disecciona el byte dentro del banco.
Memoria de programa
El Pic 18F4550 cuenta con una memoria de programa de 32K (32768 bytes). Es una memoria tipo Flash.
La pila o Stack
Es un bloque de memoria RAM independiente de 31 palabras de 21 bits en la cual se almacena de una forma
temporal el valor del Contador de Programa (Program Counter) cuando se produce una llamada a subrutina o
interrupcin.
Memoria de configuracin
Bits de configuracin. Contenidos en 12 bytes de memoria flash donde se almacenan varias opciones
de configuracin: opciones del oscilador, reset, watchdog, circuiteria de depuracin y
programacin... Estos bits pueden ser modificados.
Registros de identificacin. Contienen informacin del modelo y revisin del dispositivo. Son registros
de lectura
Principales caractersticas del Pic 18F4550
Microcontrolador con mdulo USB 2.0. Soporta Low speed 1.5Mb/s y full speed 12Mb/s.
Opciones de oscilador dual permiten que la velocidad de la CPU y del mdulo USB sean diferentes
Tecnologa nanoWatt que brinda caractersticas y funciones de bajo consumo y ahorro de energa
2 mdulos de captura/comparacin/PWM
Power-on Reset
PIC 18F4550
Motor de CD
2 74LS48
TIP 121(Darlington)
Desarrollo
Este proyecto fue pensado usando la electrnica digital, es decir los unos y ceros para generar un seal PWM a
partir de un microprocesador, armamos el siguiente circuito:
Elaboramos un programa que encienda un motor conectado en la lnea PA.1 del puerto PORTA y cuya
velocidad este controlada a travs de los cuatro bits ms significativos del puerto PORTB.
El nmero de vueltas se desplegar a travs de dos indicadores numricos conectados en los ocho bits
del puerto PORTD.
Una rutina de servicio de interrupcin que se ejecutar al momento en que el sistema detecte
un pulso en la lnea de interrupcin INT0. El pulso es generado cada vez que el motor realiza una
vuelta completa.
INICIO
Programa principal:
Cpuertos
Hace el llamado a la subrutina encargada de la programacin de puertos y
configuracin del timer.
Declara dos variables RH y RL para determinar los tiempos en estado alto y en RH 0x00
estado bajo de la funcin PWM y dos variables Rdec y Runi para el despliegue
de la cuenta de vueltas del motor.
RL 0x10
Hace llamado a las subrutinas LEER y PWM
Rdec 0x00
Runi 0x00
LEER
PWM
Subrutina Cpuertos Cpuertos
Carga los registros auxiliares Rtmrh, Rtmrl y T0CON con los valores apropiados
para generar un intervalo de un milisegundo con una escala 1:1 empleando 16 TRISA 0x00
bits. Encargada de la configuracin de puertos, del temporizador TMR0 y la
habilitacin de la interrupcin INT0.
TRISB 0xFF
PORTA: ocho lneas de salida.
PORTB: ocho lneas de entrada TRISD 0X00
PORTD: ocho lneas de salida
INTCON: Habilitacin de la Interrupcin INT0
Rtmrh 0XD1
Rtmrl 0X20
LEER
INTCON 0X90
W PORTB
SI RETURN
W=0
NO
RH W
RH RH
Subrutina LEER:
Lee los cuatro bits ms significativos del Puerto PORTB y a partir del dato ledo,
W RH establece en los registros RL y RH la cantidad de milisegundos en estado bajo y en
estado alto para la modulacin de ancho de pulso.
RL RL - W
RETURN
PWM Subrutina PWM.
RH RH - 1
NO
RH = 0
SI
PA.1 0
RL RL - 1 UNmseg
NO
RL = 0
SI
RL 0x10 RETURN
Vector de INTERRUPCION:
RSI
Establece la ejecucin de la rutina de servicio CUENTA para la
interrupcin INTO.
Cuenta
Ilustracin 1 Variables a usar adems del vector de prioridad
Bibliografa
Predko M., Programming and customizing PICmicro microcontrollers. Second Edition. Ed. McGraw Hill, 2000.
Electrnica aplicada
Antonio Hermosa