Electronica
Electronica
Electronica
ASESORES:
DR. ALBERTO SORIA LOPEZ
DR. FLORIBERTO ORTIZ RODRIGUEZ
M. EN C. ERASMO VALVERDE TRUJILLO
AGRADECIMIENTOS
INDICE
AGRADECIMIENTOS: ..I
INDICE: II
CAPITULO I: OBJETIVOS, INTRODUCCION DE TERMINOS, ANTECEDENTES,
JUSTIFICACION Y MARCO REFERENCIAL ..........1
I.1.- Objetivos .....1
I.2.- Introduccin de trminos ..3
I.3.- Antecedentes .....4
I.4.- Justificacin ........8
I.5,- Marco referencial ..11
I.6.- Organizacin del reporte .18
CAPITULO II: ELEMENTOS DE LA PLATAFORMA .20
II.1.- El puerto paralelo en modo EPP ..20
II.2.- El puerto serie RS232C ..25
II.3.- El DSC dsPIC30F4012 ...28
II.4.- Plataforma de programacin para control en tiempo real
Matlab-Simulink-Ardence RTX-Wincon ....30
II.5.- Funciones S en Simulink .....32
II.6.- El MPLAB IDE y el compilador C30 ..32
CAPITULO III: DESARROLLO DE LA PLATAFORMA ..35
III.1.- Circuitera .35
III.1.1.- Servomotor ...35
III.1.2.- Electrnica de potencia ..36
III.1.3.- Fuentes de alimentacin ....37
III.1.4.- Trasladador de niveles ...38
III.1.5.- Tarjeta principal con el dsPIC30F4012 ...40
III.2.- Programacin en cdigo y configuracin ...42
III.2.1.- Programacin del dsPIC 43
III.2.1.1.- Configuracin general ....45
III.2.1.2.- Comunicacin serie ....46
III.2.1.3.- Generacin de la seal de control por
modulacin en ancho de pulso .49
III.2.1.4.- Medicin de la posicin angular ...51
III.2.1.5.- Medicin de la corriente en el servomotor .....54
III.2.1.6.- Rutinas de atencin a interrupciones ...57
III.2.2.- Programacin de la funcin S para Simulink ......58
III.2.3.- Apertura del puerto serie en Windows XP ..60
II
III
I.3.- Objetivos:
El presente trabajo de tesis tiene como objetivo general contribuir a la solucin
de dos problemas fundamentales en la enseanza del control automtico. El
primero se refiere al enfoque puramente abstracto que se le da a dicha enseanza
en la mayora de las escuelas de nivel licenciatura y centros de investigacin,
donde se estudia el control automtico y sus reas de aplicacin. El segundo
problema tiene que ver con la falta de recursos econmicos para la instalacin de
laboratorios que permitan proporcionar soporte experimental y concrecin prctica
a los conceptos tericos.
Para tal efecto, se pretende disear, integrar, construir y probar el equipo que
se reporta en el presente trabajo, este dispositivo ha sido denominado; plataforma
de prototipaje rpido y de bajo costo para la enseanza experimental del control
automtico.
Entenderemos como parte de nuestra plataforma a toda la circuitera y la
programacin que nos permita realizar el control en tiempo real de un
servomecanismo de C.D.
En este contexto, el trabajo tiene varios objetivos especficos que se fueron
desarrollando en el orden requerido para cumplir con el objetivo general de este
trabajo.
Captulo I: Introduccin, Antecedentes, Objetivos, Justificacin y Marco referencial
1.- Definir los alcances y caractersticas que debera tener la plataforma: Para
esto se decidi que sera suficiente, por el momento, con poder cerrar un lazo de
control principal, y poder cerrar un lazo interno de control en corriente para tener la
opcin de trabajar el servomecanismo en modo par. Tambin se decidi que la
comunicacin entre la tarjeta principal y la computadora personal sera por el
puerto serie. Con estas definiciones se pas a seleccionar el dsPIC adecuado.
2.- Seleccionar el motor adecuado, en concordancia con las caractersticas del
amplificador de potencia: Con estos dos aspectos definidos y con el dsPIC
seleccionado, se procedi a hacer el diseo de circuito electrnico completo de la
tarjeta principal, as como del circuito impreso correspondiente. Tambin se
decidi el montaje mecnico del motor, y que tipo de codificador de posicin ptico
sera usado, considerando que este debera ser acoplado a la flecha del motor.
3.- Armar varias tarjetas impresas.
4.- Disear y construir las fuentes de alimentacin y los trasladadores de nivel
para la comunicacin por el puerto serie. Hasta aqu podemos decir que se
cumpli con la etapa de contar con el hardware necesario.
5.- Programar el dsPIC: Esta parte se decidi hacerla en lenguaje C y
utilizando las libreras disponibles para cubrir nuestros requerimientos. Esto
implic la instalacin del compilador C30, as como el conocimiento exhaustivo de
los mdulos del dsPIC a ser programados, el manejo de interrupciones, y la
depuracin de los programas incluidos en el proyecto.
6.- Programar y probar la funcin S o driver para la comunicacin entre
Simulink y el dsPIC: Para esto fue necesario conocer que es una funcin S y
manejar a nivel de registros la forma de configurar el puerto serie de la
computadora personal. Adems se requiri de abrir el puerto en Windows XP
mediante la aplicacin Ardence-RTX.
7.- Programar el modelo del controlador en Simulink y depurarlo.
8.- Integrar todos los elementos de la plataforma y probarlos.
9.- Observar el desempeo de la plataforma controlando diferentes variables y
con distintas leyes de control, para obtener y analizar los resultados y deducir
conclusiones.
Captulo I: Introduccin, Antecedentes, Objetivos, Justificacin y Marco referencial
I.2.- Antecedentes:
Desde la creacin de la Seccin de Control Automtico del Departamento de
Ingeniera Elctrica del Centro de Investigacin y de Estudios Avanzados del
Instituto Politcnico Nacional (CINVESTAV), hace ya ms de 30 aos, sta se
acompa de un Laboratorio donde se pudieran probar algunas de las diferentes
leyes y estrategias de control que se venan investigando. Para tal efecto fue
indispensable contar con diferentes equipos, tarjetas de adquisicin de datos,
plataformas de programacin, sensores, etc. para realizar el control en tiempo real
de dichos equipos.
Con el paso del tiempo la Seccin de Control Automtico se convirti en
Departamento y su Laboratorio en el Centro de Servicios Experimentales. Con
esta nueva estructura organizativa, se tuvo la acertada idea de contar con un
Laboratorio de Enseanza, donde los estudiantes de postgrado pudieran recibir la
parte prctica que se requiere como complemento a una necesaria formacin
terica.
I.2.- Justificacin:
Dado que una de los objetivos del presente trabajo es la reduccin del costo
de la plataforma de enseanza original que se describi en el apartado de
antecedentes, en la siguiente tabla 1 mostramos los costos estimado de las
componentes de la plataforma original mencionada.
No. CANTIDAD
1
1
2
3
1
1
4
5
1
1
6
7
1
2
DESCRIPCION
Tarjeta de adquisicin de datos
Servotogo II
Aislamiento analgico galvnico
Servo amplificador de potencia
PWM Copley Controls
Motor de C.D.
Sensor de posicin ptico
incremental
Convertidor de frecuencia a voltaje
Computadoras personales
COSTO
15,000.00
COSTO TOTAL:
60,500.00
2,000.00
10,000.00
2,000.00
4,000.00
3,500.00
24,000.00
10
No. CANTIDAD
1
1
2
1
3
1
4
1
5
6
7
1
1
1
DESCRIPCION
Motor de CD Dynetic Systems
Sensor de posicin ptico
DsPIC30F4012
Amplificador tipo puente H
LMD18200
Circuitera electrnica y PCB
Computador personal
Transceptor MAX232
COSTO
360.00
720.00
50.00
100.00
400.00
12,000.00
100.00
11
COSTO TOTAL:
13,730.00
12
13
14
15
16
17
18
19
20
21
Cuando usamos el modo EPP, a diferencias del SPP original, se asigna una
coleccin de diferentes funciones y direcciones a cada una de las lneas
disponibles del conector estndar DB25, las que se muestran en la siguiente tabla.
LINEA
1
SEAL EPP
Read/Write
ENTRADA/SALIDA
Salida
2-9
10
Datos 0-7
Interrupt
Ent./Sal.
Entrada
11
Wait
Entrada
12
13
14
Spare
Spare
Data Strobe
In
in
Salida
15
16
17
Spare
Reset
Address
Strobe
Ground
In
Out
Salida
18-25
GND
FUNCIN
Un estado bajo en esta lnea
indica una escritura, un alto
una lectura
Bus de datos bidireccional
Lnea de interrupcin, ocurre
en el flanco positivo (subida)
Usada para protocolo. Un ciclo
EPP puede ser iniciado
cuando est en bajo, y
terminado cuando est en alto
No usada en el modo EPP
No usada en el modo EPP
Cuando est en bajo indica
transferencia de datos
No usada en el modo EPP
Activa en bajo
Cuando est en bajo indica
transferencia de direcciones
Tierra
22
7o
8o
La lnea Wait debe ser colocada en bajo nuevamente, por el
perifrico, para permitir que el prximo ciclo pueda comenzar.
23
5o
El anfitrin (PC) espera hasta reconocer que la lnea Wait sea
colocada en alto para finalizar el ciclo, esto indica que el perifrico ha tomado el
dato.
6o
7o
8o
La lnea Wait debe ser colocada en bajo nuevamente, por el
perifrico, para permitir que el prximo ciclo pueda comenzar.
24
25
DIRECCIN
Base + 0
Base + 1
Base + 2
Base + 3
Base + 4
LECTURA / ESCRITURA
Escritura
Lectura
Escritura
Lectura / Escritura
Lectura / Escritura
26
NO.DE TERM.
SEAL
DESCRIPCIN
DCD (Data Carrier detect)
1
*2
RX
Recepcin
*3
TX
Transmisin
DTR(Data Terminal Ready)
4
*5
GND
Tierra
DSR (Data Sheet Ready)
6
RTS (Request to send)
7
CTS (Clear to send)
8
RI (Ring Indicator)
9
27
Divisor
DLL
DLM
50
2,304
0x00
0x09
300
384
0x80
0x01
1,200
96
0x60
0x00
2,400
48
0x30
0x00
4,800
24
0x18
0x00
9,600
12
0x0C
0x00
19,200
0x06
0x00
38,400
0x03
0x00
57,600
0x02
0x00
28
115,200
0x01
0x00
Figura 10.- Diagrama a bloques del adaptador de nivel para la conexin serie PCMicrocontrolador.
La direccin base, por defecto, del puerto serie 1 (COM1) en una
computadora personal es la 0x3F8, aunque se utilizan las siguientes direcciones
para configuracin, hasta la 0x3FF.
29
30
II.4.- Plataforma de programacin para control en tiempo real con MatlabSimulink-Ardence RTX-Wincon:
La plataforma de programacin para realizar el control en tiempo real del
servomecanismo, est basada en una computadora personal corriendo bajo
Windows XP con Matlab (R2007), incluyendo la tollbox de Simulink Control
Design 2.1, adems del ncleo o kernel de tiempo real de Ardence RTX 7.0, con
Wincon 5.2.
Con esta plataforma de desarrollo, la programacin del controlador del
prototipo ya no se realiza en modo texto, sino de manera grfica con los bloques
de Simulink.
Ardence RTX y Wincon son en conjunto una aplicacin para realizar control
en tiempo real bajo el sistema operativo Windows XP. Nos permiten correr, en
tiempo real y en la misma computadora, o de manera separada, en una
computadora local (servidor) y en una remota (cliente), el cdigo generado por un
diagrama de Simulink. De tal manera que el software Wincon consiste de dos
Captulo II: Elementos de la plataforma
31
32
33
34
35
36
37
38
39
tpico de 1.3 v y una histresis tpica de de 0.5 v., y puede aceptar 30v. en las
entradas. La figura siguiente muestra el diagrama propuesto por el fabricante para
el adaptador de niveles MAX232, dicho diagrama incluye el doblador de voltaje
capacitivo para obtener valores de -10 a 10v. para la comunicacin con la PC.
40
41
42
5VL
30V
dsPIC30F4012
(11)-
GNDL
VSS/GNDL(3)
TX
D5(14)-RD1
LMD18200
22nf
VDD(5)
(6)
D7(12)-RX
5VP
AVDD(28)
5VL
VDD(20)
$PIN0
VDD/5VL(2)
4N37
VDD(13)
PUERTO SERIE
C1
BOOTSTRAP1(1)
PWM-RE4(22)
PWM-IN(1)
PWM-OUT(4)
OUTPUT1(2)
TX(4)
D4(4)-RB2
RX(5)
D3(23)-RE3
GND(2)
PWM(5)
GNDL
D2(24)-RE2
Opto aislador
D1(25)-RE4
5VP
SIGNO(3)BOOTSTRAP2(11)
WAIT(3)-RB1
RD/WR(2)-RB0
SIGNO-RE5(21)
SIGNO-IN(1)
SIGNO-OUT(4)
IP(8)
22nf
BRAKE(5)
VDD(5)
C2
OUTPUT2(10)
GND(7)
4N37
D0(26)-RE0
THERMAL FLAG(9)
Conector
ADDSTR(15)-RD0
DATASTR(16)-RE8
GND(2)
5VL
VSS(19)
PGC(18)
VSS(8)
PGD(17)
1k
AVSS(27)
AN3-RB3-IP(5)
R1
SW1
GNDL
MCLR(1)
Opto aislador
QEB(5)
Corriente sensada
QEA(6)
ENCODER
GNDL
SW
Microcontrolador
PROGRAMADOR
B(1)
GNDL
Vpp/MCLR(1)
5VL
5VL
5VL(2)
A(3)
VDD/5VL(2)
NC(4)
VSS/GNDL(3)
GNDL
GNDL
GND(5)
PGD(4)
PGC(5)
Conector
Conector
C I N V E S T A V
DCA
Title
Document Number
Rev
1.0 D
Sheet
of
43
44
Figura 20.- Inicio del programa principal main() del dsPIC, llamando a cuatro
funciones para inicializar los mdulos utilizados.
La primera funcin es IniPWM(), con ella configuramos la salida PWM, le
deshabilitamos interrupciones, fijamos la frecuencia de la seal PWM,
seleccionamos el modo de operacin, habilitamos el puerto, y enviamos un
comando de prueba para que se mueva el servomotor un tiempo pequeo en
ambos sentidos.
Despus se llama a la funcin de retardo MsDelay(700), la cual no es tan
importante.
La tercera funcin IniADC4012Old() nos permite configurar la terminal 5 del
dsPIC como entrada analgica(AN3). Esta entrada se utiliza para sensar la
corriente en el servomotor. Primero de define la lnea I/O como entrada, se apaga
el convertidor, se definen las entradas negativas y positivas para las entradas A y
B que se van a muestrear; ya que estn multiplexadas seis entradas en cuatro
canales muestreadores-retenedores, con un solo convertidor A/D. Se deshabilitan
las interrupciones, se selecciona la lnea como entrada analgica, tambin se
seleccionan el formato como se entregar la palabra digital de 10 bits (que es el
resultado de la conversin), el voltaje de referencia, el reloj de disparo de la
conversin, el tipo de muestreo, el reloj de la conversin.
Captulo III: Desarrollo de la plataforma
45
46
47
48
Los bits de control PDSEL <1:0> en el registro U1MODE son utilizados para
seleccionar la longitud de los datos y la paridad utilizada en la transmisin, la
longitud de los datos puede ser de 8 bits con paridad par, impar o sin paridad, o 9
bits sin paridad. El bit STSEL determina si se utilizarn uno o dos bits de paro
durante la transmisin de datos. Estos valor por defecto ( Power-on ) del UART
son: 8 bits, sin paridad, 1 bit de parada ( normalmente representado como 8,N,1).
La bandera de interrupcin por recepcin (U1RXIF) puede ser leda en el
registro correspondiente. La condicin para recibir la interrupcin depende de la
configuracin especificada en los bits de control UR1ISEL <1:0> (U1STA <7:6>).
Si URXISEL <1:0> = 00 o 01, una interrupcin es generada cada vez que una
palabra de datos se transfiere desde el registro de movimiento de recepcin
(U1RSR) al bufer de recepcin. Puede haber uno o ms caracteres en el bufer de
recepcin.
El UART tiene un generador de baud rate de 16 bits para permitir una
flexibilidad mxima en la generacin de la velocidad de comunicacin, el registro
generador de la tasa de baudios (U1BRG) es de lectura y de escritura, la
velocidad de comunicacin se calcula como sigue:
Despejando
y calculando para un
(si
= 0), y
49
50
funcin se utiliza para congurar las interrupciones del modulo PWM, el parmetro
cong puede tomar el valor de una serie de etiquetas correspondientes a bits; con
los cuales, en nuestro caso, deshabilitamos las interrupciones del mdulo PWM ya
que no sern utilizadas, ni la normal ni la de bit de falla, tambin les asignamos
una prioridad de 0, la cual es la menos importante. Esto ltimo es necesario
realizarlo ya que el espacio no puede quedar vaco en la funcin.
Posteriormente se usa la funcin de biblioteca OpenMCPWM(), la cual
inicializa el mdulo y es la encargada de escribir los valores a los registros de
conguracin PTPER , SEVTCMP, PTCON, PWMCON1 y PWMCON2.
Para el caso en que trabajemos en el modo de corrida libre, el primer valor nos
permite definir la base de tiempo de la seal PWM, la cual, en trminos del periodo
del PWM se calcula con la siguiente frmula.
El segundo dato es el disparo por algn valor o evento especial, este dato no
lo utilizamos, por lo que se coloca en cero.
El siguiente parmetro de esta funcin es Cong1, este contiene los datos que
sern cargados en el registro PTCON; los que realizan varias funciones, habilitan
la base de tiempo del PWM, denen que siga funcionando el PWM cuando el
dsPIC entre en modo de espera. El preescalador y el postescalador se colocan en
1:1, con lo cual quedan prcticamente deshabilitados. Al final denimos que el
modulo PWM est trabajando en el modo de corrida libre.
El siguiente parmetro es cong2, este contiene los datos que sern cargados
en el registro PWMCON, con este conguramos el modulo 3 PWM bajo para que
trabaje de manera independiente, deshabilitamos los mdulos 1 y 2, altos y bajos,
y el modulo 3 alto. Es decir solamente habilitamos el modulo 3 bajo, para obtener
Captulo III: Desarrollo de la plataforma
51
52
53
54
Proponiendo
y calculando tenemos:
55
Si proponemos;
siguiente:
, y despejamos
56
57
58
y termina.
En el mismo periodo de muestreo, la computadora enva ahora otro comando,
lo cual hace que se ejecute nuevamente la rutina de atencin a interrupciones,
indicndole que le va a enviar la seal de control en dos bytes, el dsPIC los lee,
borra la bandera de interrupciones y termina.
De antemano, en la configuracin del puerto serie se program la interrupcin
por recepcin de un byte y se le fij una prioridad intermedia (4).
Como se explic en los apartados anteriores, existen otra fuente de
interrupcin; la de sobreflujo o bajoflujo en el conteo de pulsos del sensor de
posicin. Para este caso, se program la rutina de atencin correspondiente.
59
60
Esta funcin S, una vez compilada dentro de Matlab, podr usarse como un
bloque mas en el modelo de control de Simulink, permitindonos el contacto con el
servomotor, a travs del puerto serie y del dsPIC.
61
62
63
Donde:
es la velocidad angular y
64
65
Por lo tanto:
66
Por otra parte la ecuacin para el par desarrollado por la mquina de C.D. es:
Sustituyendo
de la ecuacin
, tenemos:
Sustituyendo
de la ecuacin
, nos queda:
67
Despejando
, nos
es pequea, el
el
68
Va
Km
La .s+Ra
KiI
Ka
Jt.s+Bm
1
s
Ke
Figura 28.- Modelo del servomotor en lazo abierto, solo con un lazo interno
de control en corriente.
69
Donde;
KaKpI .s+KaKiI
La .s+Ra
Km
1
Jt.s+Bm
w
1
s
s
Ke
KaKpI .s+KaKiI
Servo motor de corriente directa
Figura 29.- Primera simplificacin del modelo del servomotor en lazo abierto,
con un lazo interno de control en corriente.
Normalmente el valor del polo
mucho mayor que el polo
, quedando12.
70
Lazo PI en corriente
Kc
Ia
KaKpI .s+KaKiI
La .s+Ra
Va
T
Km
1
Jt.s+Bm
w
1
s
Ke
KiI
Servo motor de corriente directa
Figura 30.- Segunda simplificacin del modelo del servomotor en lazo abierto,
solo con un lazo interno de control en corriente.
Resolviendo primero la parte del lazo interno de corriente y denominndolo
como
tenemos:
, la funcin de transferencia
71
Va
Ia
Kc
Jt.s+Bm
w
1
s
Ke
KiI
Figura 31.- Tercera simplificacin del modelo del servomotor en lazo abierto,
solo con un lazo interno de control en corriente.
Ia
1
Va
1
s
KcJt.s+KcBm
Ke
KiI
Figura 32.- Cuarta simplificacin del modelo del servomotor en lazo abierto,
solo con un lazo interno de control en corriente.
Resolviendo ahora el modelo hasta la salida en velocidad y denominando a la
funcin de transferencia como
, nos queda:
72
Considerando que
podemos aproximarlo a:
, el trmino
, y nos queda de la
s(s + a )
Figura 33.- Simplificacin final del modelo del servomotor en lazo abierto, solo
con un lazo interno de control en corriente.
Representando el modelo obtenido en ecuaciones diferenciales tenemos:
Captulo IV: Modelado y simulacin del motor de c.d.
73
Se observa tambin que el sistema tiene dos polos, uno en el origen del plano
complejo y otro del lado izquierdo, por lo que es marginalmente estable debido al
polo que se encuentra en el origen. La demostracin se puede realizar, de manera
detallada, utilizando algn mtodo como el de Routh-Hurwitz2 o el de Nyquist3, sin
embargo, por el momento, no es el objetivo.
74
Ki
Va
b
Kp
s+a
1
s
Kd
Figura 34.- Modelo del servomotor en lazo cerrado con un controlador PID, y
con un lazo interno de control de corriente.
Resolviendo el lazo interno
Multiplicando por
tenemos que:
nos queda:
75
Ki
Va
b
Kp
s2 +(a+bKd )s
Figura 35.- Primera simplificacin del modelo del servomotor en lazo cerrado
con un controlador PID, y con un lazo interno de control en corriente.
Continuando con la simplificacin de los bloques del controlador PI, junto con
el bloque
. Nos queda el denominamos
.
Va
bKp.s+(bKi )
s3 +(a+bKd)s2
76
77
, lo cual es
casi infinitamente grande
IV.3.- Simulacin:
En el siguiente apartado se presenta la simulacin del modelo matemtico
encontrado para el sistema del servomecanismo. Para esto se utiliz MatlabSimulink y se procedi de la siguiente manera.
Los valores de las constantes
y , se sustituyeron en el modelo, por los
identificados y estimados
y
y se procedi a hacer la simulacin,
cerrando el lazo con un controlador PID, para una entrada de referencia tipo
escaln positivo y negativo.
El control en esta simulacin se llev a cabo en posicin a la salida contra
voltaje de entrada en la armadura del servomotor, tal como se realiz el modelo.
La sintonizacin de las ganancias del controlador que proporcion una mejor
respuesta fue con:
.
1
0.1
Va
w
100
7
s+2.5
Signal
Generator
1
s
Ref /Sal
Kp
Kd
0.5
Figura 37.- Modelo del servomotor en lazo cerrado con un controlador PID, y
con un lazo interno de control en corriente, para simulacin.
78
Amplitud (volts)
0.5
-0.5
-1
2988
2990
2992
2994
2996
2998 3000
Tiempo
3002
3004
3006
3008
Figura 38.- Grfica de simulacin del modelo del servomotor en lazo cerrado
con un controlador PID en posicin, y con un lazo interno de control en corriente.
79
80
81
1
y
300s
300
s+300
s+300
1
yp
82
83
84
85
Figura 46.- Grfica en tiempo real de la referencia contra la salida en posicin del
brazo robtico, utilizando un controlador PID.
Tambin de manera detallada, en la siguiente figura 41 se muestra la
grfica del error entre la seal deseada en posicin y la salida real del sistema,
aqu se observa que prcticamente solo existe error cuando cambia la seal de
referencia, es decir en el estado transitorio, y que en el estado estacionario el error
es prcticamente cero.
86
Figura 48.- Grafica del seguimiento de una seal senoidal con un controlador PID.
Se puede verificar tambin el desempeo de la plataforma y del controlador
en la siguiente figura 43, donde se muestra el error en el seguimiento.
87
V.5.- Conclusiones:
En la parte de hardware de la plataforma de enseanza podemos concluir
que la utilizacin del DSC (dsPIC30F4012) nos permite reducir la cantidad de
circuitos y por lo tanto el tamao de la tarjeta electrnica principal. De esta manera
el problema de diseo de la plataforma se traslada a un problema de
programacin, como es la tendencia en la actualidad y debemos tenerlo presente.
La plataforma tiene integrado tambin, en un espacio muy reducido, el
servomotor y el amplificador de potencia para moverlo, as como los aislamientos
de la etapa digital del microcontrolador con la etapa de potencia, lo cual la hace
ver como un producto muy pequeo, modular y completo.
Este DSC es adems de la serie motor control (MC), por lo que cuenta con
mdulos especializados para el control de motores, como el lector de
codificadores de posicin pticos y las salidas de control PWM, lo cual le permite
hacer las veces de una mini tarjeta de adquisicin de datos, permitindonos
prescindir de ella para poder realizar el control en tiempo real, como lo podemos
constatar a partir de los resultados mostrados en el captulo anterior.
Se comprob tambin que el DSC corriendo a 29.49 MIPS realiza de
manera holgada y sin ningn problema todas las tareas que se le han
programado, cumpliendo con el periodo de muestreo que el controlador le
requiere. La limitacin que se tendra en este sentido, sera debida a la velocidad
mxima de comunicacin del puerto serie de la computadora personal.
Captulo V: Control en tiempo real
88
89
90
91
Anexo A:
Diagrama elctrico de la fuente de alimentacin:
6
3
SI1
D11
CP1004
32V. SERVOMOTOR
J1
2
1
+ 1
3 -
C1
5000 uF
50v .
C2
0.1 uF +
50v .
R1
3.3k. 1/4w.
D14
LED
TRANSFORMADOR
127VCA - 9VCA, 300 mamp.
1
T2
5
6
5v . dsPIC
+ 1
3 -
C3
0.1 uF
35v .
J2
U4
LM7805/TO
VIN
VOUT
2
C4
2200 uF
35v .
C3
0.1 uF +
35v .
R1
470 1/4w.
D15
D12
2W005M
2
1
T1
PUENTE DE DIODOS
LED
TRANSFORMADOR
127VCA - 9VCA, 300 mamp.
5
6
4
5v . Puente "H"
D13
2W005M
+ 1
3 -
C5
0.1 uF
35v
J3
U5
LM7805/TO
VIN
VOUT
2
C6
2200 uF
35v
C3
0.1 uF +
35v .
R2
470 1/4w.
D16
T3
2
1
GND
TRANSFORMADOR
127VCA - 24VCA, 2 amp.
JP1
SWITCH 127VAC 10 amp.
GND
J1
CONECTOR AC
PUENTE DE DIODOS
LED
C I N V E S T A V
Title
Document Number
Rev
1.0
Sheet
of
92
Anexo B:
Diagrama electrnico de la tarjeta principal con el dsPIC30F4012:
2
1
J2
GND, 30v . POT
2
1
1
2
3
4
5
JP2
DEPURADOR
10nf .
1
2
3
4
5
JP1
CODIFICADOR DE POS.
1
2
3
4
5
J1
GND, 5v . PIC
JP3
PUERTO SERIE
PGC
5V
R1 10K.
1
2
3
4
5
6
7
8
9
10
11
C5
C3
0.1 uf .
C4
5V
1200 uf .
R2
5V
U3
4.7K.
SW1
1
2
3
4
5
6
7
33 pf .
7.37MHz
C1
9
10
11
C2
33 pf .
12
5V
13
14
MCLR/Vpp
EMUD3
AVdd
AVss
EMUC3
PWM1L
AN2
PWM1H
AN3
PWM2L
AN4
PWM2H
AN5
PWM3L
Vss
PWM3H
OSC1
Vdd
OSC2
Vss
U1ATX
PGC
U1ARX
PGD
Vdd
FLTA
EMUD2
EMUC2
28
5V
C6
10nf .
27
R3
1K.
U2
BOOTSTRAP 1
OUTPUT 1
DIR. INPUT
BRAKE INPUT
PWM INPUT
Vs POWER S.
GROUND
CURRENT SENSE OUT.
THERMAL FLAG OUT.
OUTPUT 2
BOOTSTRAP 2
26
25
4 uf .
24
23
22
21
20
19
J3
5 V C8
2
1
0.1 uf .
SALIDA MOTOR
18
17
16
15
dsPIC30F4012
C I N V E S T A V
Title
ENTREFAZ SERIAL dsPIC-PC con Puente H para Plataforma de Eseanza
Size
A
Date:
Document Number
Rev
1.0 D
Sheet
of
93
Anexo C:
Circuito impreso de la tarjeta electrnica principal, lado componentes.
Anexo D:
Costos del Software de la plataforma:
Los precios de las licencias que se presentan a continuacin son grupales y
para uso acadmico, el grupo es de 25 usuarios. Exceptuando la de Visual Studio
que es por mquina.
PARTIDA
PRODUCTO
1
Suite
Matlab,Simulink,
Symbolic Math Toolbox
2
Real-Time Workshop
3
WinCon 5.2
4
Ardence 7.0
5
Visual Studio 2008
TERMINO
Perpetua
Perpetua
Perpetua
Perpetua
Anual
Total
PRECIO ($USD)
1,375
750
500
500
38
3,163
94
Anexo E:
Parmetros y caractersticas del DSC dsPIC30F4012:
Parameter Name
Architecture
CPU Speed (MIPS)
Memory Type
Program Memory (KB)
RAM Bytes
Temperature Range C
Operating Voltage Range (V)
I/O Pins
Pin Count
System Management Features
Internal Oscillator
nanoWatt Features
Digital Communication Peripherals
Analog Peripherals
CAN (#, type)
Capture/Compare/PWM Peripherals
Motor Control PWM Channels
Quatrature Encoder Interface (QEI)
Timers
Parallel Port
Hardware RTCC
DMA
Value
16-bit
30
Flash
48
2,048
-40 to 125
2.5 to 5.5
20
28
PBOR, LVD
7.37 MHz, 512 kHz
Fast Wake/Fast Control
1-UART, 1-SPI, 1-I2C
1-A/D 6x10-bit @ 1000(ksps)
1 CAN
4/2
6
1
5 x 16-bit 2 x 32-bit
GPIO
No
0
Features:
High-Performance Modified RISC CPU:
Modified Harvard architecture
C compiler optimized instruction set architecture
84 base instructions with flexible addressing modes
24-bit wide instructions, 16-bit wide data path
16 x 16-bit working register array
Up to 30 MIPs operation:
- DC to 40 MHz external clock input
- 4 MHz-10 MHz oscillator input with PLL active (4x,
8x, 16x)
Peripheral and External interrupt sources
8 user selectable priority levels for each interrupt
95
4 processor exceptions and software traps
Primary and Alternate interrupt Vector Tables
DSP Engine Features:
Modulo and Bit-Reversed Addressing modes
Two, 40-bit wide accumulators with optional saturation
logic
17-bit x 17-bit single cycle hardware fractional/ integer
multiplier
Single cycle Multiply-Accumulate (MAC) operation
40-stage Barrel Shifter
Dual data fetch
Peripheral Features:
High current sink/source I/O pins: 25 mA/25 mA
Optionally pair up 16-bit timers into 32-bit timer modules
3-wire SPI modules (supports 4 Frame modes)
I2C module supports Multi-Master/Slave mode and 7-bit/10bit addressing
Addressable UART modules with FIFO buffers
Motor Control PWM Module Features:
Complementary or Independent Output modes
Edge and Center Aligned modes
Multiple duty cycle generators
Dedicated time base with 4 modes
Programmable output polarity
Dead time control for Complementary mode
Manual output control
Trigger for synchronized A/D conversions
Quadrature Encoder Interface Module Features:
Phase A, Phase B and Index Pulse input
16-bit up/down position counter
Count direction status
Position Measurement (x2 and x4) mode
Programmable digital noise filters on inputs
Alternate 16-bit Timer/Counter mode
Interrupt on position counter rollover/underflow
Analog Features:
10-bit 1 Msps Analog-to-Digital Converter (A/D)
A/D Conversion available during Sleep and Idle
4 Sample/Hold Channels
Multiple Conversion Sequencing Options
Special Microcontroller Features:
Enhanced Flash program memory:
- 10,000 erase/write cycle (min.) for industrial
temperature range, 100K (typical)
Data EEPROM memory:
- 100,000 erase/write cycle (min.) for industrial
temperature range, 1M (typical)
Self-reprogrammable under software control
Power-on Reset (POR), Power-up Timer (PWRT) and Oscillator
Start-up Timer (OST)
Flexible Watchdog Timer (WDT) with on-chip low power RC
96
oscillator for reliable operation
Fail-Safe clock monitor operation
Detects clock failure and switches to on-chip low power RC
oscillator
Programmable code protection
In-Circuit Serial Programming (ICSP)
Programmable Brown-out Detection and Reset generation
Selectable Power Management modes
- Sleep, Idle and Alternate Clock modes
CMOS Technology:
Low power, high speed Flash technology
Wide operating voltage range (2.5V to 5.5V)
Industrial and Extended temperature ranges
Low power consumption