Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Objetivo.
Que el alumno sea capaz de configurar el modulo Temporizador
Modulador de Pulso (TPM) del Microcontrolador.
Procedimiento.
El alumno realizara los programas recomendados.
Equipo a Utilizar.
1. PC.
2. CodeWarrior para la familia de MCU HC(S)08.
3. Protoboard con la Implementacin del Diagrama.
Marco Terico.
1. Modulacin de Ancho de Pulso.
La Modulacin de Ancho de Pulso o PWM (Pulse Width Modulator)
es una tcnica para variar la potencia entregada a un elemento
elctrico/electrnico. Su funcionamiento se basa en variar el tiempo que
una seal cuadrada de determinado periodo se mantiene en un valor alto.
Algunas de sus principales aplicaciones son la de variacin de la
velocidad de motores elctricos, tambin se utiliza en las pantallas de
computadoras y celulares para variar la luminosidad del mismo.
Consider la siguiente grfica. El periodo (T) de la seal es de un
segundo, y el ciclo de trabajo (CT) es de medio segundo que equivale a un
50%. Lo importante de esta tcnica es que el ciclo de trabajo pudiera variar
desde 0% hasta un 100%.
T
(V)
CT
0
0.5s
1s
1.5s
2 s (t)
TIMER PULSE
TPM1SC
TPM1CNTH:TPM1CNTL
TPM1MODH:TPM1MODL
TPM2SC
TPM2CNTH:TPM2CNTL
TPM2MODH:TPM2MODL
TPM1C0SC
TPM1C0VH:TPM1C0VL
Pin 26
TPM1C1SC
TPM1C1VH:TPM1C1VL
Pin 25
TPM2C0SC
TPM2C0VH:TPM2C0VL
Pin 12
Cada modulo tiene cinco registros y cada canal a su vez tiene tres
registros mas. En configuracin de PWM, el resultado final ser un 0
durante una fraccin del periodo y un 1 en la fraccin restante, que se
presentar en el pin del canal en uso.
TOF:
Bandera de Sobre flujo.
CPWMS: Alineacin del Pulso Modulado.
CLKS[B:A]: Seleccin de Reloj del Contador.
PS[2:0]:
Selector de Factor de Precalentamiento.
CHNF:
Deteccin de Evento.
CHNIE:
Interrupciones Habilitadas.
MSN[B:A]: Modo de Operacin.
ELSN[B:A]: Seleccin de Nivel.
Recuerde en cuanto al modo de operacin y la deteccin de evento,
que el PWM es una de varias funciones y en cuanto a la seleccin de nivel
que puede ser alto o bajo. Se recomienda leer el capitulo del Modulo TMP
del Manual de Referencia.
E. Registro de Valor de Canal. TPMXCNVH: TPMXCNVL.
Al configurar estos registros realizan la funcin de que al compararse
con el valor del contador, de ser iguales, el nivel lgico del pin de salida
cambiar de 0 a 1 o 1 a 0 (segn la configuracin) activando la bandera de
evento detectado CHNF y se reiniciar cuando se presente un sobre flujo.
4. Ejemplo.
Planteamiento. Con el modulo TPM del microcontrolador gener
una seal de ancho modulado con un periodo de 1 segundo y un ciclo de
trabajo del 50% (0.5 segundos). Conecte un LED al pin apropiado para
visualizar el comportamiento de la seal de salida.
Solucin. La frecuencia de trabajo del CPU del microcontrolador es
de 20 MHz. Y la del reloj de transporte (Clock Bus) es de 10 MHz. El
modulo tiene un divisor fijo de 2, es decir la frecuencia mxima es de 5
MHz. Si seleccionamos un divisor de 128 (Registro TPM1SC)
obtendramos una frecuencia de:
CICLO1:
feed_watchdog
BRA CICLO1
CICLO2:
MOV #$0F, TPM1SC
MOV #$98, TPM1MODH
MOV #$96, TPM1MODL
MOV #$28, TPM1C0SC
MOV #$4C, TPM1C0VH
MOV #$4B, TPM1C0VL
RTS
NOP
BRA
feed_watchdog
mainLoop
5. Reporte.
Como reporte de la presente practica, genere una seal cuadrada de
periodo de un segundo, y un periodo variable usando el convertidor
analgico - digital y un potencimetro. Usar un LED para visualizar el
comportamiento de la seal.
En el reporte escrito incluya:
1. La explicacin del funcionamiento del programa.
2. El cdigo fuente.
3. El diagrama.
Presente de igual manera la implementacin en la tablilla de prototipos.
Explicacion:
Est circuito es muy simple, lo que tenemos es la asignacin de los
puertos y la programacin de los registros de TMP y del ADC. Para poder
variar el PWM con el pot asignamos que el valor del TPM1COVH sea
dependiente del valor del ADCRL que varia con el potencimetro.
mainLoop:
BSR
CICLO1:
LICOCO:
CICLO2:
PROG_PORT:
PROG_PORT
PROG_AD
feed_watchdog
BRCLR 7,ADCSC1,CICLO1
BRSET 7,ADCSC1,CICLO2
BCLR
7,ADCSC1
BRA
CICLO1
BSR
MOV
MOV
MOV
MOV
MOV
MOV
MOV
BRA
NOP
#$0F, TPM1SC
#$98, TPM1MODH
#$96, TPM1MODL
#$28, TPM1C0SC
ADCRL, TPM1C0VH
#$00, TPM1C0VL
LICOCO
#$FF,PTCDD
RTS
PROG_AD:
BRA
MOV
MOV
MOV
RTS
BRA
#$71,ADCCFG
#$00,ADCSC2
#$26,ADCSC1
mainLoop
feed_watchdog
mainLoop
DIAGRAMA: