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