Universidad Antonio Nariño


Aplicación Industrial de Micros
Código: 444405


   CAPITULO 5
Experimentos de hardware



5.4 Regulación de velocidad de motor D.C.


Por medio de la presente práctica se pretende hacer la variación de la velocidad a un motor DC aplicando un voltaje variable a este por medio del método de modulación por ancho de pulso o PWM.

 

Onda rectangular y sus características

 

El método de modulación por ancho de pulso está basado en la obtención de un voltaje DC variable a partir de una onda rectangular de frecuencia constante y ciclo útil variable, de tal manera que:

Vdc = (Ciclo útil) * Vm

ó

Vdc = (ton/T) * Vm

Siendo:
ton el tiempo en alto de la onda cuadrada
T el periodo de la onda rectangular (T = ton + toff )
Vm el voltaje máximo de la onda

 

Se puede concluir a partir de esta simple ecuación que sí hacemos variar el ciclo útil de la onda rectangular obtendremos una variación en el voltaje promedio y sí este es aplicado como alimentación del motor DC, el efecto será el de la variación de la velocidad.

 


Para la aplicación de este principio nos basamos en el siguiente circuito:

 

El programa que comanda sobre este Hardware funciona basado en el pulsador S1 como control de 10 pasos discretos de velocidad los cuales son indicados sobre el display 7 segmentos (0 a 9) y cuyo efecto final se observa directamente en la velocidad del motor M1.


Listado del programa

LIST P= 16F84

#INCLUDE<P16F84.INC>

DIG EQU 0CH

VROFF EQU 0DH

VRON EQU 0EH

CONT1 EQU 0FH

CONT2 EQU 10H

X EQU .250

Y EQU .12

;*************************************************************************

INICIO

BSF STATUS,RP0 ; PROGRAMACIÓN DEL SENTIDO DE PUERTOS

CLRF TRISB

MOVLW B'11100001'

MOVWF TRISA

BCF STATUS,RP0

MOVLW 00H

MOVWF DIG

BCF PORTA,4

DIS_LOOP:

CALL DISPLAY ; VISUALIZACIÓN DE DIGITO

BTFSC PORTA,0 ; LA TECLA ESTA OPRIMIDA?

GOTO RMOTOR

CALL RETAR ; TIEMPOS DE ANTIREBOTE

CALL RETAR

CALL RETAR

CALL RETAR

CALL RETAR

CALL RETAR

CALL RETAR

CALL RETAR

CALL RETAR

CALL RETAR

CALL RETAR

INCF DIG,1

MOVLW .11

XORWF DIG,0

BNZ RMOTOR

CLRF DIG

RMOTOR

CALL MOTOR

GOTO DIS_LOOP

;*************************************************************************

DISPLAY

MOVF DIG,0

CALL TABLA

MOVWF PORTB

RETURN

;*************************************************************************

TABLA: ; TABLA DE DATOS PARA DECODIFICACIÓN A SIETE SEGMENTOS

ADDWF PCL,1

RETLW 0x3F

RETLW 0x06

RETLW 0x5B

RETLW 0x4F

RETLW 0x66

RETLW 0x6D

RETLW 0x7D

RETLW 0x07

RETLW 0x7F

RETLW 0x6F

RETLW 0x77

;**************************************************************************

MOTOR: ; ACTIVA MOTOR CON TIEMPOS: Ton Y Toff

MOVF DIG,0

SUBLW .10

MOVWF VROFF

CLRW

XORWF DIG,0

BZ OFFMOTOR

MOVF DIG,0

MOVWF VRON

BSF PORTA,4 ; ENCIENDE EL MOTOR

MOTOR1:

CALL RETAR

DECFSZ VRON,1

GOTO MOTOR1

OFFMOTOR

BCF PORTA,4 ; APAGA MOTOR

MOVF DIG,0

XORLW .10

BZ MOTOR3

MOTOR2

CALL RETAR

DECFSZ VROFF,1

GOTO MOTOR2

MOTOR3

RETURN

;***************************************************************************

RETAR

MOVLW X

MOVWF CONT1

CICLO1

MOVLW Y

MOVWF CONT2

CICLO2

DECFSZ CONT2,1

GOTO CICLO2

DECFSZ CONT1,1

GOTO CICLO1

RETURN

;****************************************************************************

END



  índice de capítulo