Federico Villarreal
Profesionales formando profesionales
Facultad de Ingeniería Electrónica e Informática
Escuela de Ingeniería Electrónica
“DISEÑO Y MONTAJE DE UN
CONTROL DE VELOCIDAD
DE MOTORES DE CORRIENTE
ALTERNA APLICADO PARA
AUTOMÓVILES”
Presentado por:
Jorge Luis Hernández Maturrano
Bachiller en Ingeniería Electrónica – UNFV
Asesor de Tesis:
Dra. Mónica Romero Valencia
Resumen…………………………………………………………………………………… 03
Introducción………………………………………………………………………………… 05
1.3 Objetivos……………………………………………………………………… 10
1.4 Justificación…………………………………………………………………… 11
CONCLUSIONES……………………………………….……………………………… 69
RECOMENDACIONES………………………………………………………………… 70
BIBLIOGRAFÍA…………………………………………………………………………. 71
ANEXOS…………………………………………………………………………………. 72
Resumen
El Bloque inversor de Potencia hacia el motor eléctrico necesita un circuito previo que
permita la excitación en la entrada de los conmutadores electrónicos y permita el trabajo
de los mismos. Aquel bloque se ubicará entre los optoaisladores y el puente inversor con
una fuente flotante.
A la Salida del puente inversor, y como medida de seguridad, tenemos un filtro L–C que
su función es reducir los armónicos producidos por la conmutación de dichos
componentes a fin de no ver afectado el rendimiento del motor y las vibraciones como
resultado del mismo.
Abstract
Over this investigation is presented a design about a one phase inverter unipolar (CD-CA
converter) based in Sinusoidal Pulse Width Modulation. The main object around this
converter is to generate a voltage AC through a DC Voltage.
On this design is made with the minimal quantity of electronic components for reducing of
physical dimensions on this, without it loses efficiency and was accessible for students
that learn this field on the theory.
So, its implementation certain needs knowledge about electronic areas such as Power
Electronic, microcontrollers, assembler language, Basic fundamentals in semiconductor
circuits and optoacoplers.
The SPWM Theory will implemented in the microcontroller own memory. This also has
PWM blocks that will be used by each half bridge of inverter. Furthermore, the Power
Block is necessary isolated by optoacoplers as a protection media to the Control Block in
case of any eventually.
The inverter block or Power block to the electric motor needs a previous circuit that
permit an adequate voltage and current for the excitation on the electronic semiconductor
gate pins, what it ask the work on components selves. It is found between the
optoacoplers and the power block with a float power supply.
To the output of inverter, I have put an L–C filter as an extra function for harmonic
reducing produced in the commutation of electronic semiconductors. As a result, the
motor has not vibration and its efficiency is maximized what it is favourable for the
timeline increasing.
Introducción
Los aportes tecnológicos de los últimos años están siendo impulsados por la necesidad
de optar por soluciones alternativas que conlleven a la preservación del Medio Ambiente,
como por ejemplo la Capa de Ozono. Por ende, para reducir los efectos adversos que
agravan la salud de la población humana, se han diversificado tendencias energéticas
con la finalidad de utilizar de manera eficiente y ecológica la aplicación del nuevo
concepto que involucra al automóvil del mañana.
Con ello, en parte a la solución, surge la necesidad de manipular sus variables, el tipo de
motor a utilizar con prestaciones que garanticen la eficiencia dentro de la aplicación, y
por supuesto, el control adecuado que satisfaga el desplazamiento adecuado de fuerza y
velocidad en los motores. Y por el cual, haremos una serie de experiencias con un
diseño de control prototipo que cargue los diferentes tipos de controles y simule una
llanta en varios cambios de velocidad. A fin de reflejar en hechos cada control a estudiar.
Que tengan conversiones mecánicas para poder controlar la tracción que tendrá el
coche, así como también revisar bibliografía referente a la mecánica del coche para el
acople hacia la transmisión en las llantas. Revisaremos bibliografías referentes a las
propiedades que se deben tomar en cuenta para el motor eléctrico y sus capacidades
para brindar la autonomía esperada en las pruebas de carga.
Capítulo 1
Planteamiento del Problema
El automóvil con motor a combustión ha estado presente desde los inicios del siglo
pasado hasta la actualidad, siendo de gran utilidad para el hombre en cada aspecto de
su vida. Como un juguete para los más pequeños así como un medio de transporte para
el comercio y el de nosotros mismos, por supuesto.
Sin embargo, las necesidades de hoy en día han cambiado con las bajas reservas de
Petróleo a nivel mundial, éste mineral pasa por un proceso llamado refinación para la
obtención de derivados como la gasolina, o el diésel, que son el combustible para los
motores a combustión en el auto. Estamos frente a un recurso limitado, sobreexplotado y
con una demanda en crecimiento y que tiene que ser satisfecho con alternativas
tecnológicas actuales que visualicen al nuevo vehículo del mañana.
Tales nuevas características deben ser enfocadas a la realidad actual que se está
viviendo. El Medio Ambiente ha sido afectado de manera irreversible en algunos lugares
del mundo. En nuestro país la contaminación en zonas urbanas va en aumento a medida
que aumenta el parque automotor y la salud entre los niños empeora dado que las
emisiones hacia el aire contaminan día tras día.
Tabla 1.1: Estándares Nacionales para la Calidad del Aire. Valores expresados en
microgramos por metros cúbicos en el DS N° 074-2001 PCM.
Tabla 1.2: Estándares adicionales para la Calidad del Aire. Valores expresados en
microgramos por metros cúbicos en el DS N° 003-2008 MINAM.
4 01-EN-2010
Benceno Anual Media aritmética Cromatografía de Gases
2 01-EN-2014
(HT) expresado Ionización de la llama
24 horas 100000 01-EN-2010 Media aritmética
como hexano de Hidrógeno
24 horas 50 01-EN-2010 Media aritmética Separación inercial/
PM2.5
24 horas 25 01-EN-2014 Media aritmética filtración (Gravimetría)
Hidrógeno Fluorescencia UV
24 horas 150 01-EN-2009 Media aritmética
Sulfurado (método automático)
La emisión de los gases residuales expulsados por los tubos de escape, después de la
combustión interna, es considerada uno de los principales causantes del aumento de
SO2 y CO en el aire (Guías para la Calidad del Aire, OMS, 2000). Según informes de
Lima Metropolitana la cantidad de partículas tóxicas en el aire ha aumentado agravando
problemas cardiopulmonares en la población.
Los resultados para el SO2, tabla 1.3, no superan los niveles establecidos por el D.S. N°
074-2001 PCM para la calidad del aire, 80 ug/m3 anual. No obstante, observamos un
incremento paulatino entre 2011-2013, lo que sugiere mayores concentraciones de dicho
contaminante para los próximos años si no se plantean planes de acción para su control.
Este nuevo “combustible” deberá alimentar a un nuevo tipo de motor. Pero, éste
nuevo motor tendrá sus propias variables para su funcionamiento, nuevas variables
que deberán ser controladas de alguna manera, cumpliendo con el mismo
funcionamiento que con el anterior, de modo que su alimentación no sea a base de
combustible.
Para este nuevo motor a utilizar en el funcionamiento del automóvil, con variables
intrínsecas propias, surge ahora el tema de entender estas nuevas variables y su
comportamiento como base en un nuevo control a usar, donde sea capaz de
manipular dichas variables que lo gobiernan, para la buena operación y manejo del
mismo.
Con este nuevo controlador a usar en la aplicación obliga a ser estudiado los puntos
críticos descritos anteriormente, con miras a un diseño a proponer, proyectándose
con la tecnología adecuada actual en el mercado local para su montaje, donde
maneje las variables del nuevo motor tomando los datos necesarios para su mejor
desempeño en la realidad.
¿Cuál será la tecnología ideal que nos permita realizar un controlador electrónico
para la aplicación de vehículos, que sea de fácil acceso en el mercado local y que
pueda ser montado en base a un diseño a proponer?
¿Qué clase de motor eléctrico será el más adecuado, de peso ligero y flexible en su
mantenimiento, que pueda ser gobernado por las variables de voltaje y frecuencia
provenientes del control electrónico?
1.3 OBJETIVOS
1.4 JUSTIFICACIÓN
Además de la contaminación de las zonas urbanas emitidas por los residuos de gas
después de la combustión por medio del tubo de escape, se ha pronosticado que
dentro de un futuro próximo no habrá petróleo (Agencia Internacional del
Petróleo), si es que no ha comenzado ahora. Por lo cual estamos en la necesidad
de buscar y experimentar energías alternativas que sean renovables y de menor
impacto hacia el medio ambiente.
En vista de los últimos acontecimientos y de la gran historia que tiene nuestro país
como productor de petróleo acumulada en poco más de 100 años con grandes
inversiones tanto nacional como extranjera podemos llegar a la conclusión de que no
somos un país petrolero como tal.
Con el cambio de motor, además de no usar combustible, por uno que funcione con
corriente eléctrica reduce un peso considerable en el vehículo. Como resultado, hay
menor consumo de energía por cada tramo recorrido. Adicionalmente, el
mantenimiento se verá también reducido debido a que el diseño del nuevo motor
requiere un mínimo de piezas mecánicas para su ensamble.
1.5.1 ALCANCES
Este tipo de diseño beneficiará también a los alumnos que escojan temas
similares para su titulación profesional.
1.5.2 LIMITACIONES
CARACTERÍSTICAS BÁSICAS
V0
i0
INVERSORES MONOFÁSICOS
PUENTE COMPLETO
Esta técnica de modulación hace que los interruptores sean controlados
por parejas, (TA+ y TB-) y (TA- y TB+), con un desfase entre ellos de 180o.
= − =+
Cuando:
=+
á : 2
=−
(2. 1)
2
= − =−
=−
á : 2
=+
(2. 2)
!
2
= ∙ ∙ = (2. 3)
4
" # $% = ∙ = 1.273 ∙
'
(2. 4)
4
" # $, = ∙
'∙ℎ
(2. 5)
-1
-2
-3
-4
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04
180° − 2 2
expresión:
.= = 90° −
2 2
(2. 6)
4 8
" # $, = ∙ ∙ cos ℎ ∙ 7 ∙ ∙ 7∙
' (2. 7)
4
" # $, = ∙ ∙ sin ℎ ∙ .
ℎ∙'
(2. 8)
→ ℎ = 1,3,5,7 ⋯ (2. 9)
PUENTE COMPLETO
1
Cuando:
? → =+ ∙
2 @ = − =+
1
? → =− ∙
(2. 10)
2
1
Cuando:
? → =− ∙
2 @ = − =−
1
? → =+ ∙
(2. 11)
2
> DEH ; ? =
Rama A:
ABCDEBF J
< DEH ; ? =0
(2. 12)
ABCDEBF J (2. 13)
− > DEH ; ? =
Rama B:
ABCDEBF J
− < DEH ; ? = 0
(2. 14)
ABCDEBF J (2. 15)
Fig. 2.6: (a) -Vcontrol color amarillo, Vcontrol color azul y Vtri color verde.
(b) VAN = VD en color azul.
fg
Fig. 2.7: (a) VBN = VD color naranja. (b) Gráfica V0(t) = VAB color rosa.
1 ?: J = ; J = 0 ; =
2 ?: = 0 ; = ; =−
(2. 16)
J J
3 ?: = ; = ; =0
(2. 17)
J J
4 ?: = 0 ; = 0 ; =0
(2. 18)
J J (2. 19)
V0 varía entre 0 y VD, o entre 0 y – VD, por lo que hay una conmutación
de tensión unipolar en todo momento.
INVERSORES TRIFÁSICOS
Otra solución, mucho más empleada, se puede obtener utilizando tres ramas
de un inversor monofásico de medio puente, con 6 elementos
semiconductores controlables y 6 diodos, sin necesidad de usar
transformador.
VAN
VD
VBN
VD
TB+ TB-
VCN
VD
TC- TC+
π 2π
Intervalo 1: 0 ≤ 7 ∙ ≤
M
N
OPQ = O + = ∙ O
R N
2
(2. 20)
S% = = ∙
OPQ 3 O (2. 21)
O
= = S% ∙
=
T
2 3
(2. 22)
2
= −S% ∙ O = − ∙
3
(2. 23)
≤7∙ ≤
M M
N N
Intervalo 2:
OPQ = O + = ∙ O
R N
2
(2. 24)
S = = ∙
OPQ 3 O (2. 25)
2
=S ∙O = ∙
3
(2. 26)
O
= = −SF ∙ =−
T
2 3
(2. 27)
≤7∙ ≤'
M
N
Intervalo 3:
OPQ = O + = ∙ O
R N
2
(2. 28)
SN = = ∙
OPQ 3 O (2. 29)
O
= = SN ∙
=
2 3
(2. 30)
2
= −SN ∙ O = − ∙
T
3
(2. 31)
Con carga inductiva, la Intensidad de Salida del Inversor que circula por la
Línea, queda retrasada con respecto a la Tensión. Este retraso dependerá
del factor de potencia de carga.
Las formas de onda de VAN, VBN, VCN, así como VAB y de la tensión VAN,
para una carga resistiva conectada en estrella se observa en la figura
siguiente y son válidas también para cargas conectadas en triangulo.
Intervalo 1: 0 ≤ 7 ∙ ≤ ;
M
N
=+
UV
(2. 32)
=−
2
(2. 33)
T = 0 (2. 34)
≤7∙ ≤ ;
M M
Intervalo 2:
N N T
=+
UV
= 0
(2. 35)
(2. 36)
=−
T
2
(2. 37)
≤ 7 ∙ ≤ ';
M
Intervalo 3:
N T
= 0 (2. 38)
=+
2
(2. 39)
=−
T
2
(2. 40)
> DEH → ? ; =
(2. 42)
ABCDEBF, J
< DEH → ? ; =0
(2. 43)
ABCDEBF, J
> DEH → T ? ; =
(2. 44)
ABCDEBF,T TJ
< DEH → T ? ; =0
(2. 45)
ABCDEBF,T TJ (2. 46)
" # $% = WX ∙
2
(2. 47)
√3
= ∙ WX ∙ ≈ 0.612 ∙ WX ∙
2√2
YYZ (2. 48)
√3 4
0.612 ∙ WX ∙ < < ∙ ∙ ≈ 0.78 ∙
√2 ' 2
YYZ (2. 49)
POSIBLES APLICACIONES
Corriente Eléctrica.- Flujo de carga eléctrica por unidad de tiempo que recorre
sobre un material. Su unidad de medida es el amperio. El instrumento usado para
medir la intensidad de la corriente eléctrica es el galvanómetro que, calibrado en
amperios, se llama amperímetro, colocado en serie con el conductor cuya intensidad
se desea medir.
_
relación con el período. Expresado matemáticamente:
^= (2. 50)
D, es el ciclo de trabajo.
Dónde:
- T, es el período de la función.
T
V(t)
τ t
Snubber.- Son una parte esencial en muchos de los circuitos electrónicos para la
fase de potencia. Básicamente, podemos considerarlo como un conjunto de
componentes (pasivos y/o activos) que se incorporan al circuito de potencia para
reducir en el dispositivo semiconductor el estrés eléctrico durante las conmutaciones
y asegurar un régimen de trabajo seguro. Además, provee una ruta alternativa de
descarga que le permite al elemento inductivo descargarse de manera controlada.
3.1.2 DISEÑO
3.1.3 SIMULACIÓN
Con estos componentes, el inversor puede trabajar con una Potencia máxima
de 4200 Watts. Esto define una tensión nominal de trabajo del puente y así
tener un margen de seguridad adecuado.
Cada una de las fases del inversor está compuesta de los rectángulos de
aluminio como el descrito, de 3 cm. x 7,5 cm. Estos perfiles, están unidos
mediante separadores aislantes de baquelita de 3 cm. x 3 cm. para
mantenerlos eléctricamente aislados. Sobre cada disipador se fueron
montando los transistores MOSFET según se explicará más adelante.
Se sabe que cada rama del inversor consta de medio puente “H” conectados
en serie. A su vez, cada rama de medio puente “H” está formado por un
circuito de disparo, capaz de controlar S1 y S3. Lo anteriormente expuesto se
ilustra en la Figura 3.5.
Estos “drivers” tienen una notable característica, pues pueden alimentar dos
MOSFET’s o dos IGBT’s de un mismo brazo o fase, desde una referencia
común. El IR2110 permite al par de MOSFET´s (o IGBT´s) trabajar con
tensiones de alimentación continua de hasta 600Vdc.Debido a lo anterior, se
tuvo que agregar al circuito driver, un sistema de aislamiento mediante
optoacopladores.
Así se tiene un sistema para los drivers, con tierras independientes entre el
control y los MOSFETs, como se muestra en la Figura 3.6. Esta aislación
óptica se realiza con el optoacoplador digital modelo 6N137.
Una vez definido el circuito de la Figura 3.6, se hizo el diseño del circuito
impreso con ayuda del mencionado programa “Altium Designer 2010”. La
tarjeta de disparo desarrollado para un solo brazo del puente “H” se muestra
en la Figura 3.7.
Como se dijo anteriormente, para esta topología y los valores entre ellos, es
excesivamente grande, es necesario hacer fuentes independientes para los 5
y 15 Volts para el circuito de disparo. De acuerdo con los voltajes elegidos
para este diseño preliminar del puente monofásico, los reguladores elegidos
para tales efectos se resumen en la Tabla 3.1:
Fig. 3.16: Corriente de Salida del Inversor con carga (a) inductiva (b) resistiva.
La potencia de cada uno de los puentes “H”, tiene la misma forma de onda
que la figura 3.19 con la diferencia que la corriente está amplificada por un
valor constante, que corresponde al valor de la fuente de alimentación DC del
puente respectivo. Se puede demostrar que las potencias de los puentes “H”
cambian de forma con la carga, pero los porcentajes de participación de cada
puente sobre la potencia total no.
La Figura 3.17 presenta una comparación del voltaje de salida con respecto a
la señal de Línea Doméstica ideal. La curva de voltaje de color rojo,
corresponde al inversor PWM y la azul a la Línea doméstica ideal.
Como se mostró en la Figura 3.16, se comparan las corrientes para una carga
R-L del inversor PWM más el filtrado con el motor. Se aprecia una obvia
diferencia en la calidad de la corriente generada por el inversor, la cual
aparece a la vista como una sinusoide casi perfecta. Con este tipo de
corriente, se elimina el torque pulsante de un motor, mejorando su eficiencia y
evitando su desgaste. En la simulación, el inversor PWM trabaja con una
frecuencia de la onda portadora de 5 kHz.
Fig. 3.18: Modelo del motor de inducción utilizado para las simulaciones.
8 Diseño del Inversor en Alta Potencia 7 días 13/04/2014 09:00 04/05/2014 18:00 7
- IR2110. - PIC18F4550.
- IRF740LC. - CD4094BE.
- 1N637. - LCD 20x4, etc.
Instrumentación de Laboratorio
Plataforma de Trabajo
Libro (Digital) Máquinas Eléctricas 1 S/. 50.00 S/. 50.00 S/. 0.00 S/. 0.00 S/. 0.00
ALTERNA APLICADO PARA AUTOMÓVILES
VELOCIDAD DE MOTORES DE CORRIENTE
DISEÑO Y MONTAJE DE UN CONTROL DE
Jorge L. Hernández Maturrano – Ingeniería Electrónica
P. GASTO GASTO
NOMBRE DE TAREA CANT. INVERSIÓN DIFERENCIA
UNITARIO INCIAL MENSUAL
Diseño de la Propuesta 0 S/. 0.00 S/. 0.00 S/. 175.00 S/. 58.33 S/. 2,121.50
Diseño de Controlador en base a Teoría
0 S/. 0.00 S/. 0.00 S/. 50.00 S/. 16.67 S/. 2,246.50
PWM Sinusoidal
Tesista 1 S/. 0.00 S/. 0.00 S/. 0.00 S/. 0.00 S/. 0.00
Uso de Energía 1 S/. 50.00 S/. 50.00 S/. 0.00 S/. 0.00 S/. 0.00
PC estándar 1 S/. 0.00 S/. 0.00 S/. 0.00 S/. 0.00 S/. 0.00
Software MPLAB 1 S/. 0.00 S/. 0.00 S/. 0.00 S/. 0.00 S/. 0.00
Movilidad 1 S/. 0.00 S/. 0.00 S/. 0.00 S/. 0.00 S/. 0.00
Diseño del Inversor en Alta Potencia 0 S/. 0.00 S/. 0.00 S/. 50.00 S/. 16.67 S/. 2,196.50
Tesista 1 S/. 0.00 S/. 0.00 S/. 0.00 S/. 0.00 S/. 0.00
Uso de Energía 1 S/. 50.00 S/. 50.00 S/. 0.00 S/. 0.00 S/. 0.00
PC estándar 1 S/. 0.00 S/. 0.00 S/. 0.00 S/. 0.00 S/. 0.00
Software Altium Designer 1 S/. 0.00 S/. 0.00 S/. 0.00 S/. 0.00 S/. 0.00
Jorge L. Hernández Maturrano – Ingeniería Electrónica
Punto de Control 0 S/. 0.00 S/. 0.00 S/. 25.00 S/. 25.00 S/. 1,946.50
Jorge L. Hernández Maturrano – Ingeniería Electrónica
Bomba de Desoldadura 1 S/. 10.00 S/. 10.00 S/. 0.00 S/. 0.00 S/. 0.00
ALTERNA APLICADO PARA AUTOMÓVILES
VELOCIDAD DE MOTORES DE CORRIENTE
DISEÑO Y MONTAJE DE UN CONTROL DE
Jorge L. Hernández Maturrano – Ingeniería Electrónica
A. CARGA RESISTIVA
Para esta prueba se utilizaron 3 pares de focos de 150W cada uno, conectado en
configuración estrella la carga. El voltaje de alimentación de CD se fijó a 150 V. En la
Figura 4.1 se muestra la salida de voltaje y corriente para un índice de modulación
M=1 y fo=60 Hz., y en Figura 4.2 se reduce el índice de modulación a
aproximadamente 50% (M=0.5).
B. CARGA RESISTIVA-INDUCTIVA
Para nuestro caso las características del motor a controlar son las siguientes:
CTOTAL INVERSIÓN = S/. 4,141.50 + S/. 9,720.00 = S/. 13,861.50 (4. 14)
CSEMANAL ≈ S/ 259.20.
(4. 17)
(4. 18)
AÑO 0 1 2 3 4
S/. 0.00 S/. 10,358.40 S/. 10,358.40 S/. 10,358.40 S/. 10,358.40
GASTOS S/. -13,861.50 S/. - 2,000.00 S/. - 2,000.00 S/. - 2,000.00 S/. - 2,000.00
INVERSION INVERSION AHORRO AHORRO AHORRO
S/. -13,861.50 S/. 8,358.40 S/. 8,358.40 S/. 8,358.40 S/. 8,358.40
• www.unicauca.edu.co/ai/publicaciones/ISAShow_Diaz.pdf
• http://www.irf.com/
• http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC18F4550
• https://www.wikipedia.org/
pág. 74
+5V
C1
150pF U1 C2 R1
1 7 100nF 100R
22R
100nF 1N5402
DISEÑO Y MONTAJE DE UN CONTROL DE
U2D
GND 9 8 VCC P1
+5V 1
SN74HCT14N GND 2
+15V 3
GND_PWR 4
+300V 5
OUT_1 6
Output
P2
REF 1
L_IN_1 2
H_IN_1 3
INPUT
Anexos
pág. 75
Fig. A.3: Esquema electrónico Fuente 5V para Driver.
Bateria +12 +5
P1 U1 P2
R1 L1
1
P4 +12
2
Chasis Chasis Chasis Neutro GND GND GND GND GND GND
1 3
2 Bateria
Header 3
3
GND
Header 3 C10 D4
Chasis
250V 1N4148
4.7 nF
Chasis Neutro Neutro GND
Anexos
pág. 76
Fig. A.4: Esquema electrónico Controlador PIC18F4550.
+5
15
N5
U16 14 R37
N6
VCC +5 13 2 13 1K
OSC1 OSC1/CLKI RA0/AN0 DATO N7
3 12
RA1/AN1 CLK N8 R38
4 U18 11
RA2/AN2/VREF-/CVREF STB N9 ICSP_VPP
18 5 10 100R
VUSB RA3/AN3/VREF+ RA3 N10
P23 P24 P19 +5 6 EN_SENSOR 9 7
RA4/T0CKI/C1OUT/RCV N13
11 7 6
1 GND 1 GND 1 GND +5 VDD RA5/AN4/SS/HLVDIN/C2OUT IGN N12 S1
32 14 5
2 +5 2 +5 2 +5 R32 VDD OSC2/CLKO/RA6 OSC2 N11 RESET
VEE 4
3 VEE 3 VEE 3 1K N4
12 33 3
4 RS 4 RS 4 RS GND VSS RB0/AN12/INT0/FLT0/SDI/SDA SDA N3
31 34 2
5 RW 5 RW 5 RW VSS RB1/AN10/INT1/SCK/SCL SCL N2
14 D7 14 D7 14 RD7/SPP7/P1D RC1/T1OSI/CCP2/UOE +5 2
ALTERNA APLICADO PARA AUTOMÓVILES
17 C15 C16
DISEÑO Y MONTAJE DE UN CONTROL DE
+5 +5 +5 +5
U17
PROG INC DEC OK
16
VCC +5
S2 P25 R33 R34 R35 R36
3 9 1K 1K 1K 1K
GND GNN S3 S4 S5 S6 OK 1 CLK CLK QS
ON - OFF 2 10 P20
PROG INC DEC OK DEC 2 DATO DATA Q'S
1 4
INC 3 STB STB Q1 OK 1
15 5
PROG 4 +5 OE Q2 S6 DEC 2
6
GNN 5 Q3 S5 INC 3
7
Q4 S4 PROG 4
Header 5 14
Q5 S3 GNN 5
GNN GNN GNN GNN 13
Q6 S2 6
12
Q7 S1
8 11 Header 6
GND GND Q8 S0
GND
HCC4094BF
DISEÑO Y MONTAJE DE UN CONTROL DE
VELOCIDAD DE MOTORES DE CORRIENTE
ALTERNA APLICADO PARA AUTOMÓVILES Anexos
//=====================================================================================
// ARCHIVOS DE CABECERA
//=====================================================================================
#include <p18f4550.h>
#include <delays.h>
#include <xlcd.h>
#include <i2c.h>
#include <EEP.h>
#include "DS1307.h"
#include <capture.h>
//=====================================================================================
// CONFIGURACION DE FUSIBLES
//=====================================================================================
//=====================================================================================
// DEFINIR VARIABLES HARDWARE
//=====================================================================================
#define EN LATAbits.LATA3
#define CHASIS LATAbits.LATA4
#define IGN LATAbits.LATA5
//=====================================================================================
// DEFINIR VECTORES Y VARIABLES SOFTWARE
//=====================================================================================
//=====================================================================================
// ASIGNANDO BANCOS DE MEMORIA
//=====================================================================================
void high_isr(void);
void low_isr(void);
//=====================================================================================
// RETARDOS LCD
//=====================================================================================
//=====================================================================================
// FUNCIONES
//=====================================================================================
void ingrese_contrasena(void);
void cargar_periodo_T(void);
void carga_caracter(void);
void velocidad_motor(void);
void parar_motor(void);
void desplaza_dato(unsigned char fila);
void preg_dentro_rango2(unsigned char i,unsigned char k,unsigned char j);
void preg_dentro_rango(unsigned char i,unsigned char k,unsigned char j);
void preg_dentro_rango11(unsigned char i,unsigned char k,unsigned char j);
void preg_dentro_rango22(unsigned char i,unsigned char k,unsigned char j);
void mostrar2digitosLCD(unsigned char);
unsigned char bcd_decimal(unsigned char a);
unsigned char decimal_bcd(unsigned char a);
void Mostrar_LCD(unsigned short long caracter);
void mostrar_dia_lcd(unsigned char i); //
//=====================================================================================
// PROGRAMA PRINCIPAL
//=====================================================================================
TRISA=0XF0;
TRISB=0XFF;
CHASIS=CHASIS;
IGN=IGN;
PORTB=PORTB;
TRISD=0X00;
LATD=0X00;
Delay1KTCYx(156);
OpenXLCD(FOUR_BIT & LINES_5X7);
// comandXLCD(0x06 & 0x0C & CURSOR_OFF);
comandXLCD(0x06);
comandXLCD(0x0C);
comandXLCD(CURSOR_OFF);
desfase_alfa=0;
T1=0;
T2=0;
contador=0;
i=0;
carga_caracter();
for(y=0;y<4;y++)
{
gotoxyXLCD(i+1,y+1);
// dataXLCD(caracter[i][0]);
for(x=0;x<20;x++)
{
gotoxyXLCD(x+1,y+1);
dataXLCD(caracter[x][y]);
}
}
while(1)
{
fin=1;
while(fin)
{
T_medio=20000; // Semiperiodo de Freq. deseada entre 100 us. Freq=0.5Hz;
if(INC==0)
{
Delay_10uSeg(1);
desfase_alfa=desfase_alfa+10;
if(desfase_alfa>90) { desfase_alfa=90; }
cargar_periodo_T();
while(INC==0) { velocidad_motor(); }
}
if(DEC==0)
{
Delay_10uSeg(1);
desfase_alfa=desfase_alfa-10;
if(PROG==0)
{
Delay_10uSeg(1);
parar_motor();
fin=0;
while(INC==1);
}
velocidad_motor();
}
}
}
void carga_caracter(void)
{
caracter[0][0]='U'; caracter[0][1]=' '; caracter[0][2]=' '; caracter[0][3]='F';
caracter[1][0]='N'; caracter[1][1]=' '; caracter[1][2]=' '; caracter[1][3]=':';
caracter[2][0]='F'; caracter[2][1]='R'; caracter[2][2]=' '; caracter[2][3]=' ';
caracter[3][0]='V'; caracter[3][1]='P'; caracter[3][2]=' '; caracter[3][3]=' ';
caracter[4][0]='-'; caracter[4][1]='C'; caracter[4][2]=' '; caracter[4][3]=',';
caracter[5][0]='I'; caracter[5][1]=':'; caracter[5][2]=' '; caracter[5][3]=' ';
caracter[6][0]='n'; caracter[6][1]=' '; caracter[6][2]=' '; caracter[6][3]='T';
caracter[7][0]='g'; caracter[7][1]='9'; caracter[7][2]=' '; caracter[7][3]='1';
caracter[8][0]=' '; caracter[8][1]='8'; caracter[8][2]=' '; caracter[8][3]=':';
for(i=8;i>0;i--)
{
if((fila & 0X80)== 0X80) { DATO=1; }
else { DATO=0; }
Nop(); Nop();
CLK=1;
Nop(); Nop();
CLK=0;
Nop(); Nop();
fila <<= 1;
}
}
void cargar_periodo_T()
{
if(desfase_alfa==0)
{
T1 = 0;
T2 = 0;
while(INC==1);
}
else
{
T1 = desfase_alfa*T_medio;
T1 = T1/100;
T2 = T_medio-T1;
}
gotoxyXLCD(3,4);
Mostrar_LCD(desfase_alfa*0.6);
gotoxyXLCD(10,4);
Mostrar_LCD(T1/10);
gotoxyXLCD(18,4);
Mostrar_LCD(T2/10);
}
void velocidad_motor()
{
if(desfase_alfa==0)
{
desplaza_dato(0x0A);
STB=1; Nop();Nop();
STB=0;
}
else
{ if(contador<10)
{
//=========================================================
// Pulso Completo
//=========================================================
desplaza_dato(0x08);
STB=1; Nop();Nop();
Delay_mSeg(200);
STB=0;
//=========================================================
desplaza_dato(0x09);
STB=1; Nop();Nop();
Delay_10uSeg(9*T_medio);
STB=0;
//=========================================================
// APAGADO DE MOSFET
//=========================================================
desplaza_dato(0x08);
STB=1; Nop();Nop();
Delay_mSeg(200);
STB=0;
//=========================================================
desplaza_dato(0x0A);
STB=1; Nop();Nop();
Delay_10uSeg(T_medio);
STB=0;
//=========================================================
// APAGADO DE MOSFET
//=========================================================
desplaza_dato(0x02);
STB=1; Nop();Nop();
Delay_mSeg(200);
STB=0;
//=========================================================
desplaza_dato(0x06);
STB=1; Nop();Nop();
Delay_10uSeg(9*T_medio);
STB=0;
//=========================================================
// APAGADO DE MOSFET
//=========================================================
desplaza_dato(0x02);
STB=1; Nop();Nop();
Delay_mSeg(200);
STB=0;
//=========================================================
desplaza_dato(0x0A);
STB=1; Nop();Nop();
Delay_10uSeg(T_medio);
STB=0;
contador++;
}
else
{//=========================================================
// APAGADO DEL MOSFET
//=========================================================
desplaza_dato(0x08);
STB=1; Nop();Nop();
Delay_mSeg(50);
STB=0;
//=========================================================
desplaza_dato(0x09);
STB=1; Nop();Nop();
Delay_10uSeg(10*T1);
STB=0;
//=========================================================
// APAGADO DE MOSFET
//=========================================================
desplaza_dato(0x08);
STB=1; Nop();Nop();
Delay_mSeg(50);
STB=0;
//=========================================================
desplaza_dato(0x0A);
STB=1; Nop();Nop();
Delay_10uSeg(10*T2);
STB=0;
//=========================================================
// APAGADO DE MOSFET
//=========================================================
desplaza_dato(0x02);
STB=1; Nop();Nop();
Delay_mSeg(50);
STB=0;
//=========================================================
desplaza_dato(0x06);
STB=1; Nop();Nop();
Delay_10uSeg(10*T1);
STB=0;
//=========================================================
// APAGADO DE MOSFET
//=========================================================
desplaza_dato(0x02);
STB=1; Nop();Nop();
Delay_mSeg(50);
STB=0;
//=========================================================
desplaza_dato(0x0A);
STB=1; Nop();Nop();
Delay_10uSeg(10*T2);
STB=0;
}
}
}
void parar_motor()
{
unsigned char f;
unsigned char rep;
/* f=Freq/5;
while(f>0)
{
for(rep=0;rep<Freq;rep++)
{
velocidad_motor();
}
f=f-5;
}
*/
}
void Mostrar_LCD(unsigned short long caracter)
{
// unsigned char unidad_millon;
// unsigned char centena_millar;
// unsigned char decena_millar;
unsigned char unidad_millar;
unsigned char centena;
unsigned char decena;
/* unidad_millon = caracter/1000000;
if(unidad_millon==0)
{
unidad_millon=unidad_millon|0x11;
dataXLCD(unidad_millon);
centena_millar = caracter/100000;
if(centena_millar==0)
{
centena_millar=centena_millar|0x11;
dataXLCD(centena_millar);
decena_millar=caracter/10000;
if(decena_millar==0)
{
decena_millar=decena_millar|0x11;
dataXLCD(decena_millar);
unidad_millar=caracter/1000;
if(unidad_millar==0)
{
unidad_millar=unidad_millar|0x11;
dataXLCD(unidad_millar);
centena=caracter/100;
if(centena==0)
{
centena=centena|0x11;
dataXLCD(centena);
decena=caracter/10;
if(decena==0) { decena=decena|0x11; }
else { decena=decena|0x30; }
dataXLCD(decena);
caracter=caracter%10;
caracter=caracter|0x30;
dataXLCD(caracter);
}
else
{ centena=centena|0x30;
dataXLCD(centena);
decena = (caracter%100)/10;
caracter= (caracter%100)%10;
decena=decena|0x30;
}
}
else
{ unidad_millar=unidad_millar|0x30;
dataXLCD(unidad_millar);
centena = (caracter%1000)/100;
decena = ((caracter%1000)%100)/10;
caracter= ((caracter%1000)%100)%10;
centena=centena|0x30;
dataXLCD(centena);
decena=decena|0x30;
}
}
else
{ decena_millar=decena_millar|0x30;
dataXLCD(decena_millar);
unidad_millar= (caracter%10000)/1000;
centena = ((caracter%10000)%1000)/100;
decena = (((caracter%10000)%1000)%100)/10;
caracter = (((caracter%10000)%1000)%100)%10;
unidad_millar=unidad_millar|0x30;
dataXLCD(unidad_millar);
centena=centena|0x30;
dataXLCD(centena);
decena=decena|0x30;
}
}
else
{ centena_millar=centena_millar|0x30;
dataXLCD(centena_millar);
decena_millar= (caracter%100000)/10000;
unidad_millar= ((caracter%100000)%10000)/1000;
centena = (((caracter%100000)%10000)%1000)/100;
decena = ((((caracter%100000)%10000)%1000)%100)/10;
caracter = ((((caracter%100000)%10000)%1000)%100)%10;
decena_millar=decena_millar|0x30;
dataXLCD(decena_millar);
unidad_millar=unidad_millar|0x30;
dataXLCD(unidad_millar);
centena=centena|0x30;
dataXLCD(centena);
decena=decena|0x30;
}
}
else
{ if(unidad_millon>9)
{
caracter=caracter%10000000;
unidad_millon=unidad_millon%10;
}
unidad_millon=unidad_millon|0x30;
dataXLCD(unidad_millon);
centena_millar= (caracter%1000000)/100000;
decena_millar = ((caracter%1000000)%100000)/10000;
unidad_millar = (((caracter%1000000)%100000)%10000)/1000;
centena = ((((caracter%1000000)%100000)%10000)%1000)/100;
decena = (((((caracter%1000000)%100000)%10000)%1000)%100)/10;
caracter = (((((caracter%1000000)%100000)%10000)%1000)%100)%10;
centena_millar=centena_millar|0x30;
dataXLCD(centena_millar);
decena_millar=decena_millar|0x30;
dataXLCD(decena_millar);
unidad_millar=unidad_millar|0x30;
dataXLCD(unidad_millar);
centena=centena|0x30;
dataXLCD(centena);
decena=decena|0x30;
}
dataXLCD(decena);
caracter=caracter|0x30;
dataXLCD(caracter);
*/ unidad_millar=caracter/1000;
if(unidad_millar==0)
{
unidad_millar=unidad_millar|0x11;
dataXLCD(unidad_millar);
centena=caracter/100;
if(centena==0)
{
centena=centena|0x11;
dataXLCD(centena);
decena=caracter/10;
caracter=caracter%10;
if(decena==0) { decena=decena|0x11; }
else { decena=decena|0x30; }
}
else
{
centena=centena|0x30;
dataXLCD(centena);
decena = (caracter%100)/10;
caracter= (caracter%100)%10;
decena=decena|0x30;
}
}
else
{
if(unidad_millar>9)
{
caracter=caracter%10000;
unidad_millar=unidad_millar%10;
}
unidad_millar=unidad_millar|0x30;
dataXLCD(unidad_millar);
centena = (caracter%1000)/100;
decena = ((caracter%1000)%100)/10;
caracter= ((caracter%1000)%100)%10;
centena=centena|0x30;
dataXLCD(centena);
decena=decena|0x30;
}
dataXLCD(decena);
caracter=caracter|0x30;
dataXLCD(caracter);
/*
centena = caracter/100;
if(centena==0)
{
centena=centena|0x11;
dataXLCD(centena);
decena = caracter/10;
caracter= caracter%10;
if(decena==0) { decena=decena|0x11; }
else { decena=decena|0x30; }
}
else
{
if(centena>9)
{
caracter=caracter%1000;
centena=centena%10;
}
centena=centena|0x30;
dataXLCD(centena);
decena = (caracter%100)/10;
caracter= (caracter%100)%10;
decena=decena|0x30;
}
dataXLCD(decena);
caracter=caracter|0x30;
dataXLCD(caracter);
*/
}
Por otro lado, la potencia disipada total es igual a la potencia disipada por
conducción y la potencia disipada en el diodo. Según los datos técnicos (Data
Sheet) que se acompañan en el Anexo y asumiendo una potencia media de
1.000 W con las fuentes provisorias actuales, se desprende un valor de potencia
de pérdidas de 24 W.
El material elegido como disipador fue el perfil de aluminio de 3 cm. x 7,5 cm. x
1,5 cm. Se tuvo en cuenta, según diseño, que cada rama tiene dos MOSFETS
con Drenador y Surtidor común (Figura 3.3). Como la carcasa de cada MOSFET
está eléctricamente conectada al Drenador y cada par de MOSFET se diseñó de
manera individual, se optó por dejar los perfiles cortados por la mitad para cada
MOSFET, unidos entre sí con separadores aislantes de baquelita para evitar
cortocircuitos.