Sie sind auf Seite 1von 20

INSTITUTO POLITCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERIA MECNICA Y ELCTRICA


UNIDAD ZACATENCO
INGENIERA EN COMUNICACIONES Y ELECTRNICA

Electrnica Digital
Proyecto
Generacin seal PWM para controlar
y medir las vueltas de un motor de CD

PROFESOR: Cruz Guerra Constantina

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

Arquitectura del Pic

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.

El Bus de memoria de datos: Compuesto por 12 lneas de direccin y 8 lneas de datos.

Estructura Interna del Pic

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.

Es la encargada de almacenar datos de forma temporal durante la ejecucin del programa.

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.

Esta memoria es la que se encarga de almacenar las instrucciones, constantes y datos.

La podemos escribir o leer con un programador externo o en ejecucin.


Memoria EEprom de datos

Es una memoria no volatil en la que se almacenan los datos en ausencia de tensin.

Cuatro SFR son usados para la escritura y lectura de la EEPROM:

EECON1 y EECON2(controlan el acceso a los datos de la memoria EEPROM).

EEDATA y EEADR(ordenan la escritura/lectura y la direccin).

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

Es un bloque de memoria situado a partir de la posicin 30000H en la memoria de programa donde se


almacenan:

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.

1kB de memoria de doble acceso va USB

35 pines I/O disponibles

Memoria de programa flash de 32 kB

RAM de 2048 Bytes

EEPROM de datos de 256 Bytes

Velocidad de la CPU 12 MIPS

Oscilador externo de dos modos hasta 48 MHz

Oscilador interno selecionable entre 8 frecuencias desde 31kHz hasta 8MHz

Oscilador secundario con Timer 1 de hasta 32kHz

Opciones de oscilador dual permiten que la velocidad de la CPU y del mdulo USB sean diferentes

ADC de 10 bits y 13 canales

Tecnologa nanoWatt que brinda caractersticas y funciones de bajo consumo y ahorro de energa

Voltaje de operacin 4.2V a 5.5V

4 Timer(desde Timer0 a Timer3). Uno de 8 bits y 3 de 16 bits

2 mdulos de captura/comparacin/PWM

EUSART, SPP, SPI, IC.

20 fuentes de interrupciones (3 externas)

Resistencias de pull-ups en el puerto B programables

Funcin del pin MCLR opcional

Brown-out Reset de valor programable

Power-on Reset

Power-up Timer y Oscillator Start-up Timer

Soporta 100,000 ciclos de borrado/escritura en memoria flash

Soporta 1,000,000 ciclos de borrado/escritura en memoria EEPROM

Retencin de datos mayor a 40 aos

Proteccin de cdigo y datos programable

Encapsulado DIP de 40 pines


Materiales

PIC 18F4550

Sensor ptico (de herradura)

Motor de CD

2 display de nodo comn

2 74LS48

TIP 121(Darlington)

Resistencias de 10,100,1k y 10k

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.

El sistema contemplar la siguiente estructura:

Un programa principal encargado de manejar las siguientes subrutinas:

a) Cpuertos.- para la configuracin de puertos, interrupcin y el temporizador.


b) LEER.- para la lectura de parmetros de velocidad del motor.
c) PWM.- para la generar la seal PWM
d) UNmseg.- para generar intervalos de un milisegundo utilizando el TMR0

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.

Los diagramas de flujo propuestos se muestran a continuacin:

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

W W 0xF0 PA.1 0 T0CON 0X08

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.

Genera la modulacin de ancho de pulso,


empleando los valores contenidos en los
PA.1 1
registros RH y RL para determinar el tiempo en
estado alto y en estado bajo hacienda uso de la
rutina de tiempo UNmseg.
UNmseg

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

Ilustracin 2 Programa principal y subrutina Cpuertos


Ilustracin 3Subrutinas leer ,PWM y unmseg

Ilustracin 4 Rutina de servicio de interrupcin


Ilustracin 5 Circuito con una entrada de 0011

Ilustracin 6 Cambio de los valores en display


Ilustracin 7 Conteo de decenas y unidades con una entrada de 0011
Conclusiones
La electrnica digital es una parte de la electrnica que se encarga del estudio de sistemas electrnicos en los
cuales la informacin est codificada en dos nicos estados. A dichos estados se les puede llamar "verdadero" o
"falso", o ms comnmente 1 y 0. Electrnicamente se les asigna a cada uno un voltaje o rango de voltaje
determinado, a los que se les denomina niveles lgicos, tpicos en toda seal digital. Se diferencia de la electrnica
analgica en que, para la electrnica digital un valor de voltaje codifica uno de estos dos estados, mientras que
para la electrnica analgica hay una infinidad de estados de informacin que codificar segn el valor del voltaje.
Esta particularidad permite que usando lgebra de Boole y un sistema de numeracin binario se puedan realizar
complejas operaciones lgicas o aritmticas sobre las seales de entrada, muy costosas de hacer empleando
mtodos analgicos. La electrnica digital ha alcanzado una gran importancia debido a que es utilizada para
realizar autmatas y por ser la piedra angular de los sistemas microprogramados como son los ordenadores o
computadoras.

Los dispositivos PIC18F2455/2550/4455/4550 tienen fuentes mltiples de interrupcin y una prioridad de


interrupcin que permite que cada fuente de interrupcin se le asigne un nivel prioritario o un nivel bajo de
prioridad. El puntero de alta prioridad est en 000008h y el puntero de interrupcin de baja prioridad est en
000018h. Las interrupciones permiten a cualquier suceso interior o exterior interrumpir la ejecucin del programa
principal en cualquier momento. En el momento de producirse la interrupcin, el pic ejecuta un salto, a la rutina
de atencin a la interrupcin, previamente definida por el programador, donde se atender a la demanda de la
interrupcin.

Bibliografa

Predko M., Programming and customizing PICmicro microcontrollers. Second Edition. Ed. McGraw Hill, 2000.

C. CERRADA, V. FELIU. Estructura y Tecnologa de Computadores I. UNED, 1993.

F.G. McCABE. High-Level Programmers Guide to the 68000. Prentice-Hall, 1992.

Anlisis bsico de circuitos elctricos y electrnicos


Txelo Ruiz Vzquez

Electrnica aplicada
Antonio Hermosa

Das könnte Ihnen auch gefallen