Uploaded by Javier C. Mendoza

MOTOR DC

advertisement
CONTROL DE MOTOR DC
I.
MOTOR DC
Un motor DC convencional consiste básicamente de dos partes, el cuerpo estacionario del motor llamado el
estator y la parte interior que gira llamada rotor.
La velocidad de rotación se determina por el voltaje de DC aplicado y su torque de salida está determinado
por la corriente que fluye a través de los devanados del motor.
La velocidad de rotación de cualquier motor de corriente continua se puede variar desde unas pocas
revoluciones por minuto (rpm) a muchos miles de revoluciones por minuto.
Mediante la conexión a cajas de engranajes la velocidad de salida puede ser disminuida y el torque
incrementado.
Existen tres tipos de motores DC disponibles:
Motor cepillado (Brushed motor) - Este tipo de motor produce un campo magnético en un rotor bobinado
(la parte que gira) haciendo pasar una corriente eléctrica a través de un conjunto acumulador de carbono y
cepillas, de ahí el término "brushed". Los estatores producen un campo magnético mediante el uso de
imanes permanentes. Este tipo de motores son baratos, pequeños y fáciles de controlar.
Motor sin escobillas (Brushless Motor) - Este tipo de motor produce un campo magnético en el rotor
mediante el uso de imanes permanentes y la conmutación se logra electrónicamente. Son generalmente más
pequeños, pero más caros que los motores de cepillados. Tienen mejores características de torque /
velocidad, son más eficientes y tienen una vida útil más larga que los motores cepillados.
Servo Motor - Este tipo de motor es básicamente un motor DC cepillado con alguna forma de control de
realimentación de posición conectado al eje de rotor. Son controlados por PWM y se utilizan principalmente
en los sistemas de control de posición y modelos de radio control.
II.
MODULACION POR ANCHO DE PULSO (PWM)
La modulación de ancho de pulso (PWM) es una técnica utilizada para controlar la energía suplida a
dispositivos eléctricos. Esta energía se controla encendiendo y apagando la alimentación de voltaje a una
alta frecuencia. PWM se puede utilizar para variar la velocidad de un motor, variar la brillantez de una
lámpara o LED, entre otros.
Elementos básicos de una señal PWM:




PeriodoPWM = TON + TOFF
FrecuenciaPWM=1/PeriodoPWM
Duty cycle (Ciclo de trabajo) = TON/ PeriodoPWM * 100
Ejemplos de distintos porcentajes de Ciclos de trabajo a una misma FrecuenciaPWM :
Ejemplos de voltaje promedio Vp en función a distintos Ciclos de trabajo:
III.
FUNCIONES DE LA LIBRERÍA PWM LIBRARY DE MIKROC
El microcontrolador PIC16F877A posee dos salidas PWM1 y PWM2 en los pines del puerto PORTC: RC.2
(CCP1) y RC.1 (CCP2).
PWM1_Init
Inicializa la modulación PWM con la frecuencia deseada. El valor mínimo de la
frecuencia cuando usamos un oscilador externo de 4 Mhz es de 245 Hz.
PWM1_Set_Duty
Establece el Ciclo de trabajo. Se mide en términos de porcentaje sobre una escala
que varía entre 0 y 255, donde 255 equivale al 100% del ciclo de trabajo
PWM1_Start
Inicia PWM
PWM1_Stop
Detiene PWM
IV.
DIAGRAMA ESQUEMATICO
R4
R5
R6
R7
R8
10k
10k
10k
10k
10k
HORARIO
ANTIHORARIO
CONTROL DE MOTOR DC
2
C1
VEL +
22pF
X1
1
22pF
+5v
R1
10k
13
14
2
3
4
5
6
7
8
9
10
1
RESET
OSC1/CLKIN
OSC2/CLKOUT
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
RA0/AN0
RA1/AN1
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF+
RA4/T0CKI/C1OUT
RA5/AN4/SS/C2OUT
RC0/T1OSO/T1CKI
RE0/AN5/RD
RC1/T1OSI/CCP2
RE1/AN6/WR
RC2/CCP1
RE2/AN7/CS
RC3/SCK/SCL
RC4/SDI/SDA
MCLR/Vpp/THV
RC5/SDO
RC6/TX/CK
RC7/RX/DT
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7
PIC16F877A
33
34
35
36
37
38
39
40
+5v
15
16
17
18
23
24
25
26
19
20
21
22
27
28
29
30
+12v
16
2
7
1
IN1
IN2
EN1
VSS
U2
8
VS OUT1
OUT2
EN2
IN3
IN4
OUT3
OUT4
B
C
CODIGO FUENTE MIKROC (CONTROL DE MOTOR DC CON PWM)
1: char ciclo=128;
2: void main() {
3: TRISB=0b11111111;
4: PORTC=0;
5: TRISC=0b11111000;
6: PWM1_Init(5000);
7: PWM1_Set_Duty(ciclo);
8: while(1)
9: {
10: if(PORTB.B0==0)
11
14
L293D
A
D
V.
3
6
+88.8
9
10
15
GND
4MHZ
C2
VEL -
U1
//Valor inicial del ciclo de trabajo
//el puerto RB como entrada
//limpiar el puerto RC
//tres bits bajos de RC como salida
//inicializar PWM1
//setear ciclo de trabajo
//aumento de velocidad
MOTOR DC
STOP
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
VI.
{
delay_ms(40);
ciclo=ciclo+8;
PWM1_Set_Duty(ciclo);
}
if(PORTB.B1==0)
{
delay_ms(40);
ciclo=ciclo-8;
PWM1_Set_Duty(ciclo);
}
if(PORTB.B2==0)
{
PORTC.B0=0;
PORTC.B1=1;
PWM1_Start();
}
if(PORTB.B3==0)
{
PORTC.B0=1;
PORTC.B1=0;
PWM1_Start();
}
if(PORTB.B4==0)
{
PORTC.B0=0;
PORTC.B1=0;
PWM1_Stop();
}
}
}
//eliminar rebotes
//incrementar ciclo de trabajo
//reducir velocidad
//eliminar rebotes
//decrementar ciclo de trabajo
//horario
//antihorario
//stop
CODIGO FUENTE MIKROC (PASO DE TORQUE ELEVADO)
Download