Você está na página 1de 246

ESCUELA SUPERIOR POLITCNICA DEL LITORAL

FACULTAD DE INGENIERA EN ELECTRICIDAD Y COMPUTACIN

Diseo de tarjetas para el desarrollo de aplicaciones con dsPIC

TESIS DE GRADO

Previa la obtencin del Ttulo de:

INGENIERO EN ELECTRICIDAD

ESPECIALIDAD EN ELECTRNICA Y AUTOMATIZACIN INDUSTRIAL

Presentado por:

Orlando Xavier Barcia Rosero

Roger Alfredo Calle Chez

GUAYAQUIL ECUADOR

AO 2008
AGRADECIMIENTO

A Dios.

A los amigos.

A todas las personas que


contribuyeron en el desarrollo de este
trabajo.

A todos quienes apuestan por el


desarrollo tecnolgico en Ecuador.
DEDICATORIA

A Dios que siempre nos ha


acompaado, siendo su amor la
fuente de energa para alcanzar
nuestras metas.

A nuestros padres, por su


comprensin y ayuda incondicional,
quienes siempre nos inculcaron
perseverancia con valores ticos,
permitindonos iniciar nuestra vida
profesional, y a nuestros hermanos
que siempre han apoyado nuestras
decisiones y retos.
TRIBUNAL DE GRADUACIN

Ing. Holger Cevallos U. Ing. Carlos Valdivieso A.


Presidente del Tribunal Director de Tesis

Ing. Efrn Herrera Ing. Carlos Salazar


Miembro Principal Miembro Principal
DECLARACIN EXPRESA

La responsabilidad del contenido de este trabajo, nos corresponde

exclusivamente; y el patrimonio intelectual del mismo a la ESCUELA

SUPERIOR POLITCNICA DEL LITORAL.

(Reglamento de exmenes y ttulos profesionales de la ESPOL)

Orlando Xavier Barcia Rosero

Roger Alfredo Calle Chez


RESUMEN

El presente proyecto de tpico tiene como finalidad el diseo y construccin

de tarjetas para el desarrollo de diferentes aplicaciones con dsPIC. La

implementacin de las dos tarjetas se ha realizado sobre placa de fibra de

vidrio a doble capa y el dsPIC30F4011 es la unidad de control implementada

en dos tarjetas.

La tarjeta de entrenamiento tiene implementado diversos perifricos y salidas

por conectores que podrn ser usados para diferentes aplicaciones y sern

controladas segn el cdigo del programa desarrollado por el usuario y que

ha sido grabado en el dsPIC30F4011 de la respectiva tarjeta logrando operar

los perifricos, tambin es posible realizar sobre la misma tarjeta el manejo

de tres tipos de motores (servomotor, de pasos, DC); con respecto a la

tarjeta para aplicaciones bsicas viene provista de conectores apropiados

para salidas de las seales de control para diferentes aplicaciones.


Para poder trabajar con la tarjeta de entrenamiento primero se debe

configurar adecuadamente los puentes de habilitacin para los perifricos

que requiera usarse, lo anterior es muy ventajoso porque posibilita la

implementacin de varios perifricos en la tarjeta con una misma seal del

controlador, en la tarjeta de aplicaciones bsicas los perifricos deben ser

implementados externamente y las seales del dsPIC llegan a travs de los

conectores disponibles en la misma.

En ambas tarjetas se ha tratado de aprovechar la mayor parte de los

recursos del dsPIC con la finalidad de disponer de un modelo para

entrenamiento muy til y que contribuya con futuras investigaciones basadas

en este tipo de controladores.


NDICE GENERAL

RESUMEN ..................................................................................................... VI

NDICE GENERAL....................................................................................... VIII

ABREVIATURAS .......................................................................................... VII

SIMBOLOGA .............................................................................................. VIII

NDICE DE FIGURAS ................................................................................... XII

NDICE DE TABLAS ....................................................................................XIV

INTRODUCCIN ............................................................................................ 1

1. GENERALIDADES Y ARQUITECTURA DE LOS dsPIC ............................ 3

1.1 Antecedentes ..................................................................................... 3

1.2 Especificaciones tcnicas del sistema a implementarse......................... 5

1.2.1 Caractersticas tcnicas de la tarjeta ........................................... 5

1.2.2 Entradas y salidas de los mdulos............................................... 7


1.2.3 Fuentes de alimentacin ............................................................ 10

1.2.4 Diagrama de bloques ................................................................. 11

1.3 Revisin histrica de los PIC y dsPIC .............................................. 13

1.3.1 Generalidades de los microcontroladores .................................. 13

1.3.2 Por qu el dsPIC? .................................................................... 14

1.3.3 Familias de dsPIC ...................................................................... 16

1.4 Estructura de los dispositivos ........................................................... 20

1.4.1 Motor DSP ................................................................................. 24

1.4.2 Temporizadores ......................................................................... 25

1.4.3 Mdulo de captura de entrada. .................................................. 25

1.4.4 Mdulo de comparacin de salidas............................................ 26

1.4.5 Conversor Analgico Digital de 10 bits ...................................... 26

1.4.6 Mdulos de comunicacin UART, SPI, I2C, CAN. ..................... 27

1.4.7 Mdulo encoder de cuadratura .................................................. 30

1.4.8 Mdulo control de motor PWM................................................... 30

1.5 Campos de aplicacin ...................................................................... 31


1.5.1 Generalidades............................................................................ 31

1.5.2 Codificador de encoder de cuadratura ....................................... 33

1.5.3 Control de motores DC mediante PWM ..................................... 34

1.6 Entornos de desarrollo ..................................................................... 36

1.6.1 Eleccin del compilador ............................................................. 36

1.6.2 Entorno del compilador elegido.................................................. 38

1.7 Adquisicin de datos por LabVIEW .................................................. 42

1.7.1 Generalidades de LabVIEW....................................................... 42

1.7.2 Principios de la comunicacin con LabVIEW ............................. 42

1.7.3 Comunicacin y adquisicin de datos con RS-232 .................... 43

2. DISEO DE LA TARJETA DESARROLLADORA .................................... 45

2.1 Consideracin de diseo .................................................................. 45

2.2 Especificaciones de hardware .......................................................... 46

2.2.1 Unidad de programacin ............................................................ 46

2.2.2 Fuentes de entradas analgicas y digitales ............................... 48

2.2.3 Barra de 10 diodos emisores de luz........................................... 49


2.2.4 Visualizador mltiple de 7 segmentos ........................................ 49

2.2.5 Teclado matricial y minidin PS/2 ................................................ 50

2.2.6 Pantalla de cristal lquido ........................................................... 51

2.2.7 Motores de uso comn .............................................................. 51

2.3 Diseo de controladores para motores ............................................ 55

2.3.1 Manejador de motores ............................................................... 55

2.3.2 Estrategias para el manejo de motor DC ................................... 55

2.3.3 Estrategias para el manejo de motor de paso............................ 57

2.3.4 Estrategias para el manejo del servomotor ................................ 59

2.3.5 Elemento de conmutacin ......................................................... 62

2.3.6 Redes snubber RC .................................................................... 62

2.3.7 Etapa de acoplamiento .............................................................. 63

2.4 Esquemticos ................................................................................... 64

2.5 Diseo del PCB usando herramientas CAD ..................................... 77

2.5.1 Antecedentes de diseo de PCB ............................................... 77

2.5.2 Descripcin de PROTEL99 para diseo de placas PCB ............ 78


2.5.3 Clculo del ancho de la pista de una placa de circuito impreso 80

2.5.4 Circuito impreso de las tarjetas .................................................. 82

3. IMPLEMENTACIN DE LAS TARJETAS PARA EL ENTORNO DE LA

PLATAFORMA DE DESARROLLO .............................................................. 85

3.1 Consideraciones generales .............................................................. 85

3.2 Detalles de construccin .................................................................. 86

3.2.1 Base aislante de la placa de circuito impreso ............................ 86

3.2.2 Dimetro y metalizado de los agujeros del PCB ........................ 88

3.2.3 Proteccin con mscara antisoldante ........................................ 90

3.2.4 Tcnica de serigrafa sobre las tarjetas ..................................... 90

3.2.5 Montaje de los componentes sobre la tarjeta de circuito impreso..

................................................................................................... 91

3.3 Seales y conectores ....................................................................... 98

3.4 Interfases de comunicacin disponible........................................... 105

3.5 Anlisis de costos........................................................................... 107

3.5.1 Costos de recursos por hardware ............................................ 108


3.5.2 Costos de recursos por software ............................................. 110

3.5.3 Costos por recursos humanos ................................................. 111

3.5.4 Costo total del proyecto ........................................................... 113

3.5.5 Estudio del costo de la tarjeta de entrenamiento con

dsPIC30F4011 en el mercado. ............................................................. 113

4. PROGRAMACIN Y APLICACIONES ................................................... 119

4.1 Ejemplos bsicos para el uso de la tarjeta de desarrollo con dsPICs ..

....................................................................................................... 119

4.2 Desarrollo de programas para el control de motores con dsPICs .. 124

4.3 Manejo de motores de paso utilizados en la plataforma de desarrollo .

....................................................................................................... 133

4.4 Manejo de servo motores ............................................................... 138

4.5 Ejemplos de comunicacin ............................................................. 141

5. DATOS EXPERIMENTALES .................................................................. 144

5.1 Pruebas realizadas......................................................................... 144

5.1.1 Operacin del ciclo de trabajo de los motores ........................ 144

5.1.2 Comportamiento del voltaje y corriente de los motores ........... 145


5.1.3 Operacin del motor DC usando controlador PI ...................... 146

5.2 Datos obtenidos ............................................................................. 147

5.2.1 Curvas de operacin del ciclo de trabajo de los motores ......... 147

5.2.2 Curvas de comportamiento del voltaje y corriente de los motores .

................................................................................................. 150

5.2.3 Curvas de operacin del motor DC usando controlador PI ...... 151

5.3 Anlisis de resultados .................................................................... 153

5.3.1 Anlisis de operacin del ciclo de trabajo y voltaje en los motores

................................................................................................. 153

5.3.2 Anlisis de comportamiento de la corriente en los motores ..... 153

5.3.3 Anlisis operacin del motor DC usando controlador PI .......... 157

CONCLUSIONES Y RECOMENDACIONES .............................................. 159

ANEXOS ..................................................................................................... 156

BIBLIOGRAFA ........................................................................................... 216


ABREVIATURAS

ADCONx Registro de control x del bloque analgico digital.


ADCHS Registro de seleccin de canal de entrada.
ADPCFG Puerto de configuracin de registros.
ADCSSL Registro de seleccin para el anlisis.
AGU Unidad generadora de direcciones.
ALU Unidad lgica aritmtica.
ANSI Instituto estadounidense de estndares nacionales.
ASCII Cdigo estadounidense estndar para el intercambio de
informacin.
BCD Decimal codificado en binario.
Bit Unidad de medida de informacin equivalente a la
eleccin entre dos posibilidades igualmente probables.
Born. Exter Bornera externa.
CAD Diseo asistido por computadora.
CANT Cantidad.
CF Costos fijos.
CM Costo de material.
CODEC Codificador decodificador.
CPU Unidad central de proceso.
CT Costos totales.
CV Costos variables.
DC Corriente directa.
DSC Controlador digital de seales.
DSP Procesador digital de seales.
dsPIC Dispositivo con soporte para procesamiento de seales.
H Horas.
HEX Fichero en hexagecimal de un programa para la carga.
ICD2 Depurador en circuito.
ICx Pin de entrada del mdulo de captura del canal x.
IDE Entorno integrado de desarrollo.
INT Interrupcin.
IT Ingresos totales.
I2C Protocolo de comunicacin entre integrados.
kHz Kilo hertz.
kOhm Kilo ohmio.
LCD Pantalla de cristal lquido.
Led Diodo emisor de luz.
MCU Microcontrolador producido por Microchip.
MHz Mega hertz.
MSPS Millones de muestras por segundo
NI National Instrument.
OCx Canal x del mdulo de comparacin de salida.
Ohm Ohmio.
PC Computador personal.
PCB Tarjeta con circuito impreso.
PDCx Registro asociado al ciclo de trabajo de la seal PWM.
PGC Pin de envo de pulsos de reloj (ICD2).
PGD Pin de envo serial de datos (ICD2).
PIC Microcontrolador de Microchip.
PID Proporcional, integral y derivativo.
PRx Registro para perodo del temporizador x.
PVT Precio de venta total.
PWM Modulacin de ancho de pulso.
PWM xL Seal PWM en bajo del canal x.
PWM xH Seal PWM en alto del canal x.
Qx Transistor x tipo mosfet de canal N.
Rx Seal de recepcin del mdulo de comunicacin serial.
RBx Pin x del puerto B del dsPIC.
RCx Pin x del puerto C del dsPIC.
RDx Pin x del puerto D del dsPIC.
REx Pin x del puerto D del dsPIC.
RFx Pin x del puerto F del dsPIC.
RISC Conjunto de instrucciones reducidas.
RPM Revoluciones por minuto.
RS-232 Estndar recomendado 232 para comunicacin serial.
SAR Registros de Aproximacin Sucesiva.
SCADA Control para supervisin y adquisicin de datos.
SCK Reloj de comunicacin serial (SPI).
SCL Reloj serial sincrnico (I2C).
SDA Dato seriales asincrnico (I2C).
SDI Entrada serial de datos (SPI).
SDO Salida serial de datos (SPI).
SPI Protocolo de interfase serial entre perifricos.
Temp Temperatura.
THD Montaje a travs de agujeros.
TMRx Registro de contador para temporizador x.
TxCON Registro de control del temporizador x.
Tx Seal de transmisin del mdulo de comunicacin serial.
TxIE Bits de habilitacin de interrupcin para temporizador x.
TxIF Bits de bandera de interrupcin para temporizador x.
TxIP Bits de prioridad de interrupcin para temporizador x.
UART Transmisin serial asincrnica.
UAII Ingresos de la utilidad.
UART Unidad de transmisin recepcin serial asincrnica.
UNE Unin de normas europeas.
UPS Sistemas de alimentacin ininterrumpidas.
USB Bus serial universal.
UxTX Pin de transmisin del mdulo UARTx.
UxRX Pin de recepcin del mdulo UARTx.
U1ATx Pin de transmisin del mdulo UART1 alternativo.
U1ARx Pin de recepcin del mdulo UART1 alternativo.
U2Tx Pin de transmisin del mdulo UART2.
U2Rx Pin de recepcin del mdulo UART2.
VDC Voltaje de alimentacin continuo.
VI Instrumento virtual.
Visualiz Segx Segmento x del visualizador de 7 segmentos.
Visualiz Punto Punto del visualizador de 7 segmentos.
SIMBOLOGA

A/D Analgico a digital.


AC Corriente alterna.
A Amperio.
Ci Capacitancia intrnseca.
cm Centmetro.
C Grado Celsius.
DB9 Conector de nueve pines para comunicacin serial.
E/S Entradas y salidas.
Li Inductancia intrnseca.
uF Micro Faradios.
uH Micro Henrios.
pF Pico Faradios.
Vcc Voltaje de control.
Vin Voltaje de entrada.
Vmotor Voltaje de alimentacin para motor DC.
Vo Voltaje de salida.
V Voltio.
0 Frecuencia de resonancia.
x2 Modo para medicin de posicin con encoder.
x4 Modo para medicin de posicin con encoder .
Z Impedancia.
$ Dlares.
NDICE DE FIGURAS

Figura 1.1 Diagrama de bloques del mdulo de entrenamiento ........... 12

Figura 1.2 Aplicaciones DSP ............................................................. 15

Figura 1.3 Disposicin de los pines del dsPIC30F4011 ....................... 21

Figura 1.4 Esquema de la arquitectura Hardware del dsPIC ............... 23

Figura 1.5 PWM modo complementario controlando motor trifsico AC32

Figura 1.6 Valor eficaz de potencia entregada al motor ...................... 35

Figura 1.7 Esquema del ciclo de trabajo del PWM .............................. 36

Figura 2.1 Motor DC .......................................................................... 52

Figura 2.2 Motor de paso a paso bipolar ............................................ 53

Figura 2.3 Servo motor y su control interno de lazo cerrado ............... 54


Figura 2.4 Esquema para manejo de motor DC .................................. 56

Figura 2.5 Esquema para manejo de motor de paso ........................... 57

Figura 2.6 Seales de pulso de onda cuadrada y posicin del

servomotor ........................................................................................ 60

Figura 2.7 Esquema del circuito de acoplamiento para el manejador del

motor ................................................................................................ 64

Figura 2.8 Esquemtico de la tarjeta bsica para aplicaciones con

dsPIC30F4011 .................................................................................. 66

Figura 2.9 Esquemtico de fuentes para el circuito de control y

alimentacin de los motores .............................................................. 67

Figura 2.10 Esquemtico de la unidad de control de la tarjeta ............ 68

Figura 2.11 Esquemtico de conectores externos de la tarjeta para

acceso al puerto ................................................................................ 69

Figura 2.12 Esquemtico de la unidad de comunicacin ..................... 70

Figura 2.13 Esquemtico de unidad de visualizacin .......................... 71

Figura 2.14 Esquemtico de la unidad de seales digitales y analgicas

......................................................................................................... 72

Figura 2.15 Esquemtico de la unidad de manejo de motores ............. 75


Figura 2.16 Esquemtico de la tarjeta para manejo de motores DC .... 76

Figura 2.17 Diagrama del PCB de la tarjeta bsica para aplicaciones

con dsPIC ......................................................................................... 82

Figura 2.18 Diagrama del PCB de la tarjeta de entrenamiento con dsPIC ........ 83

Figura 2.19 Diagrama del PCB del manejador de motores .................. 84

Figura 3.1 Niveles de fabricacin de placas de circuito impreso .......... 87

Figura 3.2 Montaje THD sobre el circuito impreso .............................. 91

Figura 3.3 Esquema de conexin del puente para perifricos de

visualizacin ..................................................................................... 99

Figura 3.4 Esquema de conexin de los puentes para perifricos del

puerto RB ....................................................................................... 101

Figura 3.5 Esquema de conexin de los puentes para pulsadores con

lgica configurable .......................................................................... 102

Figura 4.1 Panel frontal para interfaz del control de motor ............... 142

Figura 4.2 Diagrama de bloques para interfaz del control de motor .. 143

Figura 5.1 CT al 50% para el motor imn permanente ...................... 147

Figura 5.2 CT al 31% para el motor imn permanente ...................... 147


Figura 5.3 CT al 68% para el motor imn permanente ...................... 148

Figura 5.4 CT al 50% para el motor bobinado en serie ..................... 148

Figura 5.5 CT al 31% para el motor bobinado en serie ..................... 149

Figura 5.6 CT al 68% para el motor bobinado en serie ..................... 149

Figura 5.7 Voltaje y corriente del motor de imn permanente ............ 150

Figura 5.8 Voltaje y corriente del motor serie ................................... 150

Figura 5.9 Respuesta del motor a inadecuados parmetros de kp y ki

....................................................................................................... 151

Figura 5.10 Respuesta del motor al controlador kp=10 ..................... 152

Figura 5.11 Respuesta del motor al controlador kp=2 y ki=5 ............. 152

Figura 5.12 Voltaje y corriente en el motor ....................................... 155

Figura 5.13 Direccin de corriente durante intervalo t1-t2 ................. 155

Figura 5.14 Direccin de corriente durante intervalo t2-t3 ................. 156

Figura 5.15 Direccin de corriente durante intervalo t3-t4 ................. 156

Figura 5.16 Direccin de corriente durante intervalo t4-t5 ................. 156


NDICE DE TABLAS

Tabla 1.1 Distribucin de pines de los perifricos ................................. 9

Tabla 1.2 Tipos dsPIC de propsito general ....................................... 17

Tabla 1.3 Tipos dsPIC para control de motores .................................. 18

Tabla 1.4 Caractersticas de los tipos de mdulos PWM de dsPIC ...... 19

Tabla 1.5 Tipos dsPIC para control de sensores ................................ 20

Tabla 1.6 Caractersticas del dsPIC30F4011 ...................................... 22

Tabla 1.7 Caractersticas del mdulo UART del dsPIC30F4011 .......... 28

Tabla 1.8 Declaracin de identificadores en MikroBasic ..................... 40

Tabla 2.1 Secuencia normal de encendido de bobinas ....................... 58

Tabla 2.2 Secuencia de bajo consumo encendido de bobina .............. 58


Tabla 2.3 Secuencia de medio paso de encendido de bobinas ........... 59

Tabla 2.4 Tiempos de la seal de la onda cuadrada para el

posicionamiento del servomotor ......................................................... 61

Tabla 2.5 Parmetros de las pistas de control .................................... 81

Tabla 2.6 Parmetros de las pistas de fuerza ..................................... 81

Tabla 3.1 Dimensiones del PCB de las tarjetas ................................. 88

Tabla 3.2 Dimetros para agujeros metalizados ................................. 88

Tabla 3.3 Dimetros del PAD de soldadura del PCB ........................... 89

Tabla 3.4 Resistencias y potencimetros utilizados en la tarjeta de

entrenamiento con dsPIC30F4011 ..................................................... 92

Tabla 3.5 Diodos utilizados en la tarjeta de entrenamiento con

dsPIC30F4011 .................................................................................. 93

Tabla 3.6 Capacitores utilizados en la tarjeta de entrenamiento con

dsPIC30F4011 .................................................................................. 94

Tabla 3.7 Conectores, y borneras utilizados en la tarjeta de

entrenamiento con dsPIC30F4011 ..................................................... 95

Tabla 3.8 Integrados, zcalos y otros dispositivos utilizados en la tarjeta de

entrenamiento con dsPIC30F4011........................................................... 96


Tabla 3.9 Interruptores, botones y teclados utilizados en la tarjeta de

entrenamiento con dsPIC30F4011 ..................................................... 97

Tabla 3.10 Alimentacin de la fuente de control ................................. 98

Tabla 3.11 Posicin del puente para perifricos de visualizacin ........ 99

Tabla 3.12 Posiciones del puente para habilitacin del perifrico en el

puerto RB ....................................................................................... 100

Tabla 3.13 Posicin de los puentes para pulsadores con lgica

configurable .................................................................................... 102

Tabla 3.14 Posiciones del puente para habilitacin del perifrico en el

puerto RE8,RF0,RF1, y F6 .............................................................. 103

Tabla 3.15 Configuracin para el manejo de los motores DC y paso ........ 104

Tabla 3.16 Conectores para encoder, motores dc, paso, y servo motores ........... 104

Tabla 3.17 Conexin de elementos adicionales ................................ 105

Tabla 3.18 Caractersticas del ordenador personal ........................... 108

Tabla 3.19 Costo por recursos de hardware ..................................... 109

Tabla 3.20 Costos de amortizacin del computador .......................... 110

Tabla 3.21 Costo por recursos de software ...................................... 110


Tabla 3.22 Costos de amortizacin de Altium designer ..................... 111

Tabla 3.23 Salarios por hora del personal ........................................ 112

Tabla 3.24 Costo por tarea del ingeniero ......................................... 112

Tabla 3.25 Costo por tarea del tcnico ............................................. 112

Tabla 3.26 Costo por recursos humanos .......................................... 112

Tabla 3.27 Costo total del proyecto .................................................. 113

Tabla 3.28 Costo de materiales para implementacin de la tarjeta de

entrenamiento segn las unidades producidas ................................. 115

Tabla 3.29 Costo por el nmero de unidades producidas .................. 117


INTRODUCCIN

El presente documento corresponde a un proyecto final del tpico de

graduacin Plataforma para el desarrollo de proyectos con dsPICs y visin

robtica con LabVIEW, este proyecto consiste en el Diseo de tarjetas para

el desarrollo de aplicaciones con dsPIC.

El primer captulo describe el alcance de las especificaciones tcnicas del

sistema a implementarse el cual esta constituido por tres tarjetas de

entrenamiento, las caractersticas del dispositivo de control, y el software

utilizado para la implementacin del proyecto.

El captulo dos explica las consideraciones para el diseo de las tarjetas

entrenamiento, tambin hace referencia a la distribucin de los diferentes

perifricos implementados sobre la tarjeta de entrenamiento, para finalizar

este captulo se describe el fundamento terico sobre el diseo de placas de

circuito impreso indicando los parmetros requeridos para el clculo del

ancho de las pistas de cobre para la fabricacin de las tarjetas.


2

El tercer captulo expone los detalles de construccin de las placas de

circuito impreso, adems ensea la correcta configuracin de los puentes

que habilitan a los perifricos implementados y los tipos de comunicacin

disponibles sobre la tarjeta de entrenamiento con dsPIC30F4011, en este

captulo tambin se realiza un anlisis econmico de los costos de

produccin de la tarjeta de entrenamiento.

El captulo cuatro presenta ejemplos para el manejo de los perifricos,

motores, y de comunicacin serial, que podrn implementarse en las tarjetas.

En el capitulo cinco se presenta las pruebas realizadas para el manejo de un

motor de corriente continua y su comportamiento cuando se realiza un

control PI.

Para finalizar la descripcin del documento, se expondrn las conclusiones y

recomendaciones, adquiridas durante la implementacin del proyecto.


CAPTULO 1

1. GENERALIDADES Y ARQUITECTURA DE LOS DSPIC

1.1 Antecedentes

El estudio de las tarjetas desarrolladoras para sistemas basados en

microcontroladores es parte fundamental de la formacin de los

estudiosos de la materia, debido a las grandes ventajas que ofrecen,

permitiendo el trabajo con mltiples perifricos e interfases de forma fcil y

sencilla.

El problema que se plantea en este proyecto final de tpico es el de

encontrar un entorno de desarrollo, especficamente tarjetas que

permitan el estudio de circuitos e interfases con dsPICs. Existen

mltiples soluciones para este problema pero cada fabricante pone

nfasis en sus propias caractersticas con el objeto de lograr inducir al

cliente en el uso de sus desarrolladores que funcionan con ciertos

dispositivos y generalmente utilizando programas propietarios. El


4

objetivo de este proyecto es desarrollar una tarjeta principal que

permita el empleo de programas de uso comn que pueden obtenerse

con facilidad y evitar los hardwares y softwares propietarios que limitan

el desarrollo amplio y sin fronteras de aplicaciones. Una tarjeta a

disearse es la tarjeta de aplicaciones con dsPIC30F4011, est

permite acoplar otros mdulos con aplicaciones especficas, tal como

es el caso del manejador de motores DC, que se utilizarn en la

Plataforma de Desarrollo.

La tarjeta desarrolladora a implementarse tiene como objeto principal

servir de soporte tcnico y experimentacin al diseador de proyectos

en donde principalmente se necesita velocidad de procesamiento y

precisin en los resultados obtenidos, tomando en cuenta que estos

dispositivos microcontroladores dsPIC, facilitan el manejo de estos

parmetros teniendo como plataforma de programacin los mismos

entornos usados para la programacin de los microcontroladores

MCU comunes.

En el mercado existen tarjetas de desarrollo que proporcionan

prestaciones bsicas que no permiten utilizar la mayora de funciones

que ofrece el dsPIC como elemento de desarrollo. Considerando que

para la ejecucin de proyectos el diseador muchas veces se ve en la

necesidad aadir sobre la marcha nuevas prestaciones al prototipo,


5

el mismo que debe de contar con una plataforma que le permita

disponer de una amplia gama de funciones, es decir contar con una

herramienta de apoyo que satisfaga las principales necesidades del

diseador. Siendo muy importante que esta herramienta nos permita

manejar los campos de las aplicaciones ms comunes pertinentes a

la arquitectura de los dsPICs las cuales muy difcilmente podran

implementarse con los MCUs comunes y en ciertos casos sera una

tarea prcticamente imposible.

Aprender a manejar y aplicar los microcontroladores slo se consigue

desarrollando prcticamente diseos reales, an ms cuando no se

cuenta con simuladores disponibles como en los microcontroladores

clsicos, esto es prioritario en la concepcin de un proyecto en

laboratorio. Por lo tanto la tarjeta de desarrollo se convertir en una

herramienta invalorable para el diseador con dsPICs.

1.2 Especificaciones tcnicas del sistema a implementarse

1.2.1 Caractersticas tcnicas de la tarjeta

Este proyecto consiste en el diseo e implementacin de dos

mdulos de entrenamiento basado en dsPIC, y una tarjeta

manejadora de motores DC.


6

A continuacin se describe en forma general los beneficios de

los mdulos de entrenamiento basados en dsPIC, en la tarjeta

de entrenamiento con dsPIC30F4011 se encuentran

implementados perifricos de forma bien diferenciada para

fines educativos, adicionalmente una tarjeta bsica para

aplicaciones con dsPIC30F4011, til para desarrollo y control

de nuevas aplicaciones como el manejo de cuatro motores de

corriente continua los cuales podrn mover un sistemas de

bandas transportadoras. Tambin es posible usar las salidas

externas disponibles en los mdulos como elemento de partida

para el desarrollo de otras aplicaciones como el manejo de

sensores que podrn ser conectados de manera externa al

mdulo, previo su respectivo acondicionamiento, para tal

propsito el mdulo cuenta con salidas destinados para esta

funcin.

Para acceder de manera fcil al sistema desarrollado los

mdulos soportan aplicaciones tipo SCADA, las cuales podrn

ser desarrolladas en software destinados para este propsito

como LabVIEW. En la tarjeta de entrenamiento con

dsPIC30F4011, se podrn usar este tipo de aplicaciones como

el manejo de los motores de paso, corriente continua, y

servomotores; adems del uso de sensores implementados en


7

la misma. El mdulo de entrenamiento cuenta con varios

puertos de comunicacin, uno de esos es el puerto serial con

estndar RS-232, es el puerto de comunicacin usado entre el

computador que ejecuta la aplicacin SCADA y la tarjeta de

entrenamiento.

Con respecto a la tarjeta manejadora de motores DC, es un

mdulo que puede ser acoplado a cualquiera de las dos tarjetas

anteriormente descritos.

1.2.2 Entradas y salidas de los mdulos

La tarjeta bsica para aplicaciones con dsPIC30F4011, dispone

de borneras para conexiones de perifricos externos, estas

borneras estn asociadas directamente con los pines del dsPIC

en mencin, de tal forma poder usarlas como entradas o salidas,

permitiendo que el usuario configure por software los pines del

dsPIC ya sea como entradas digitales o analgicas, o como

salidas digitales.
8

En la tarjeta de entrenamiento con dsPIC30F4011, tambin se

debe configurar los pines del dsPIC, pero se debe de considerar

que existen perifricos conectados a travs de puentes e

interruptores a los pines de la unidad de control, considerando

esto se debe elegir de acuerdo al perifrico usado cuando un pin

es configurado como entrada, salida o ambos en algunos casos.

En la siguiente tabla se hace un bosquejo de la distribucin de los

perifricos conectados a los pines del dsPIC.


9

Tabla 1.1 Distribucin de pines de los perifricos


de la tarjeta de entrenamiento con dspic30f4011
PIN PUERT PERIFRICO
1 2 3
O
2 RB0 E/S Externa Diodo Led 1 --
3 RB1 E/S Externa Diodo Led 2 --
4 RB2 Rel Interruptor1 SPI-SS
5 RB3 Interruptor2 Teclado --
6 RB4 Encoder Interruptor3 --
Matricial
7 RB5 Interruptor4 --
8 RB6 Sensor Temp. Potenciometro2 --
9 RB7 Potenciometro1 Botn2 --
10 RB8 Led -- -- --
15 RC13 Visualiz SegA Barra de led1 U1ATx
16 RC14 Visualiz SegB Barra de led2 U1ARx
23 RD0 Visualiz SegC Barra de led3 --
LCD
18 RD1 Visualiz SegD Barra de led4 --
22 RD2 Visualiz SegE Barra de led5 --
19 RD3 Visualiz SegF Barra de led6 --
38 RE0 E/S Externa Visualiz SegG Barra de led7 --
37 RE1 E/S Externa Visualiz Punto Barra de led8 --
36 RE2 PWM 2L E/S Externa -- --
35 RE3 PWM 2H E/S Externa -- --
34 RE4 PWM 3L E/S Externa -- --
33 RE5 PWM 3H E/S Externa -- --
17 RE8 Pulsador INT E/S Externa -- --
30 RF0 E/S Externa -- --
PS/2
29 RF1 E/S Externa -- --
26 RF2 Habilitador Visualiz1 / ICD2-PGC / I2C-SDA / SPI-SDI / ES Externa
25 RF3 Habilitador Visualiz2 / ICD2-PGD / I2C-SCL / SPI-SDO / ES Externa
28 RF4 U2Rx -- -- --
27 RF5 U2Tx -- -- --
24 RF6 Bocina Botn1 SPI-SCK IO Externa
-- : No disponible
FUENTE: Personal
10

Se debe de recordar que la unidad de control es el dsPIC30F4011

y como tal maneja seales digitales tanto en la entrada como en

la salida, por lo cual su nivel voltaje en operacin normal es de 5

VDC mximo o de 0 VDC como valor mnimo. Siendo estos

valores interpretados como salidas o entradas lgicas que toman

los valores de uno y cero lgico respectivamente. Respecto a las

seales analgicas el dsPIC solo dispone de entradas analgicas,

dicha entrada es interpretada y codificada en el interior del dsPIC

a una conversin digital de 10 12 bits dentro de un determinado

rango que depender de los voltajes de referencia.

1.2.3 Fuentes de alimentacin

Se requieren dos niveles de tensin de voltaje continuo, uno

para la unidad de control y adicionalmente otro que suministre

tensin al bloque de motores. Respecto a la alimentacin del

circuito de control, esta se obtiene de una fuente DC con

capacidad de entregar de 4.5 a 5.5V y hasta 1 amperio en la

salida, los integrados usados para este propsito son el puente

rectificador W06M y el regulador de voltaje LM7805 que nos

permite obtener los parmetros de alimentacin requeridos para

el circuito de control y perifricos disponibles que manejan estos

niveles de tensin en la tarjeta.


11

En cuanto al suministro de energa para los motores esta se la

obtiene de una fuente externa que alimenta con un voltaje de

6 a 24V, hasta un mximo de 5 amperios.

1.2.4 Diagrama de bloques

El diagrama mostrado a continuacin detalla la distribucin de los

bloques que forman parte del proyecto, como bloque central se

encuentra implementado el dsPIC30F4011, este se encarga de las

funciones de control de los perifricos que se encuentran

implementados en la tarjeta de entrenamiento, este microcontrolador

tambin esta encargado de la comunicacin con la PC.


Figura 1.1 Diagrama de bloques del mdulo de entrenamiento

Programacin
Bootloader UART Banco de Interruptores

Programacin ICD2 SPI Teclado 4x4

I2C Teclado PS/2

Banco Interruptor
VUSB (4.5-5V)

Seales digitales
Vin (6 12 VDC) Botn de reset Diodo, Bocina, Rel

Regulador 7.37 MHz Seales


Potencimetro,
oscilador analgicas
Interruptor 2:1
Unidad de control
Vo (4.5-5 V) Habilitador dsPIC30F4011 E/S Externas

Encoder
Puentes 3:1 Servomotores

Visor de 7 Seg. Interruptor 2:1

Barra de diodos Motor DC


Vmotor (6-24VDC)
LCD Motor de Paso

FUENTE: Personal
13

1.3 Revisin histrica de los PIC y dsPIC

1.3.1 Generalidades de los microcontroladores

El mundo de los microcontroladores est basado en la

tecnologa de los circuitos integrados, permitiendo almacenar

miles de transistores dentro de un solo chip. Esto fue un

prerrequisito para la produccin de los microprocesadores. Las

primeras computadoras fueron construidas agregando

componentes externos como lo son: memorias, puertos de

salida y entrada, contadores de tiempo, entre otros. A diferencia

de los microprocesadores el microcontrolador es un circuito

integrado programable que contiene todos los componentes de

un computador, empleado para controlar un determinado

proceso, su reducido tamao facilita su instalacin en el

elemento a gobernar, esto se denomina controlador embebido.

Siendo un computador dedicado, solo gobierna una aplicacin

determinada programada en su memoria, sus entradas y

salidas soportan conexiones de sensores y actuadores.

En la actualidad los microcontroladores han solucionado un

gran nmero de problemas como en el hogar, industrias, y en

diversas reas de aplicacin.


14

Es notable la gran aceptacin en el mercado por parte del

microcontrolador, pero con el avance vertiginoso de la

tecnologa han surgido nuevas reas de aplicacin existiendo

problemas donde su eficiencia en precisin y velocidad se ve

limitada, siendo estos dos parmetros crticos al momento de su

implementacin, a pesar de que el PIC es considerado como un

computador completo.

1.3.2 Por qu el dsPIC?

Los DSP o Procesadores Digitales de Seales surgieron

cuando la tecnologa permiti su fabricacin y las aplicaciones

en el manejo de seales lo requirieron. Los DSP son

procesadores digitales cuyo diseo ha sido enfocado para

soportar las especificaciones del tratamiento de seales, que

por su implicacin en campos tecnolgicos ms demandados

recientemente, supone disponer de un dispositivo programable

con recursos fsicos y lgicos precisos para las exigencias de

dichas reas, como la telefona mvil, la electromedicina,

aplicaciones robticas, el procesamiento del sonido y la imagen,

internet, el control de motores, y la instrumentacin.


15

Figura 1.2 Aplicaciones DSP


Fotografa Area
Aviacin Compresin de datos
Anlisis de sensores inteligentes

Diagnsticos de imgenes.
Medicina Electrocardiogramas
Presentacin de Imgenes Mdicas

Compresin de sonido e imagen


Multimedia Efectos especiales de pelculas
Llamadas y video conferencia

DSP Compresin de datos y voz


Telefona Reduccin de eco
Multiplexacin y filtrado de seales

Radar, Sonar
Militar Seguridad de comunicacin
Ordenes Guiadas

Monitoreo y Control de procesos


Industrial CAD y herramientas de diseo

Adquisicin de datos
Ingeniera Anlisis Espectral
Simulacin y modelamiento

FUENTE: Instituto Tecnolgico de Puebla, Mxico

Los microprocesadores digitales y microcontroladores de 8,16 y

32 bits no tienen la capacidad de procesar eficientemente las

tareas que el procesamiento digital de seales exige,

procedindose a reforzar sus arquitecturas, se ampli el

repertorio de instrucciones y se les integr con numerosos

perifricos complementarios para dar lugar a los dsPIC.

La compaa Microchip Technology Inc., constituye uno de los

fabricantes que en los ltimos aos en la comercializacin de

los microcontroladores de 8 bits, actualmente tiene a la

disposicin de sus clientes unos nuevos componentes llamados


16

dsPIC, que les permite introducirse en las aplicaciones

contemporneas del proceso digital de seales de forma

sencilla basada en arquitecturas y repertorios de instrucciones

conocidos.

El dsPIC es un controlador digital de seales (DSC) que esta

basado en las caractersticas ms potentes de los

microcontroladores de 16 bits y que incorpora las principales

prestaciones de los DSP, lo que facilita enormemente la

transicin entre los diseos clsicos y los ms complejos y

propios del procesamiento digital de seales.

1.3.3 Familias de dsPIC

Microchip ha dividido los diferentes modelos de la serie

dsPIC30F en tres familias caracterizadas por su rea de

aplicacin, nombradas a continuacin:

Familia de dsPIC de propsito general

La familia de propsito general dsPIC30F utilizada en

aplicaciones embebidas que requieren un MCU de 16-bits.

Adems, las variantes con interfases para CODEC estn

especialmente indicadas para aplicaciones de audio. La tabla


17

mostrada a continuacin detalla las caractersticas de propsito

general de la familia dsPIC30F:

Tabla 1.2 Tipos dsPIC de propsito general


MEMORIA FLASH ENTRADAS
DISPOSITIVO PiN SRAM EEPROM MODO
BYTES INSTRUCC CAPTURA

dsPIC30F3014 40/44 24kB 8kB 2048 B 1024 B 2


dsPIC30F4013 40/44 48kB 16kB 2048 B 1024 B 4
dsPIC30F5011 64 66kB 22kB 4096 B 1024 B 8
dsPIC30F6011 64 132kB 44kB 6144 B 2048 B 8
dsPIC30F6012 64 144kB 48kB 8192 B 4096 B 8
dsPIC30F5013 80 66kB 22kB 4096 B 1024 B 8
dsPIC30F6013 80 132kB 44kB 6144 B 2048 B 8
dsPIC30F6014 80 144kB 48kB 8192 B 4096 B 8

SALIDA INTERFA A/D


DISPOSITIVO MODO UART SPI I2C CAN LINEAS
ZC 12-BIT
COMPARA E/S
DOR ODEC 100Ks
dsPIC30F3014 2 13 2 1 1 30
dsPIC30F4013 4 AC97,1 13 2 1 1 1 30
dsPIC30F5011 8 AC97,1 16 2 2 1 2 52
dsPIC30F6011 8 16 2 2 1 2 52
dsPIC30F6012 8 AC97,1 16 2 2 1 2 52
dsPIC30F5013 8 AC97,1 16 2 2 1 2 68
dsPIC30F6013 8 16 2 2 1 2 68
dsPIC30F6014 8 AC97,1 16 2 2 1 2 68
FUENTE: Hoja de datos dsPIC30F

Familias dsPIC para el control de motores

La familia de los dsPC30F rene siete modelos para soportar

aplicaciones de control de motores tanto de corriente continua,

de induccin monofsica y trifsica, pudiendo tambin ser

utilizados en sistemas de alimentacin ininterrumpidas (UPS),


18

fuentes de alimentacin conmutadas, inversores. Siendo

adecuado en aplicaciones donde el algoritmo para el control de

motores es de elevada complejidad.

Tabla 1.3 Tipos dsPIC para control de motores


MEMORIA FLASH SALIDA
ENTRADA
DISPOSITIVO PINES SRAM EEPROM MODO MODO
BYTE INSTRUCC CAPTURA COMPARA

dsPIC30F2010 28 12kB 4kB 512 B 1024 B 4 2


dsPIC30F3010 28 24kB 8kB 1024 B 1024 B 4 2
dsPIC30F4012 28 48kB 16kB 2048 B 1024 B 4 2
dsPIC30F3011 40/44 24kB 8kB 1024 B 1024 B 4 4
dsPIC30F4011 40/44 48kB 16kB 2048 B 1024 B 4 4
dsPIC30F5015 64 66kB 22kB 2048 B 1024 B 4 4
dsPIC30F6010 80 44kB 48kB 8192 B 1024 B 8 8
CUADRATURA
CODIFICADOR

LINEAS
UART

CAN
CONTROL A/D 12-BIT
SPI

E/S
DISPOSITIVO I2C
MOTORES 500Ksps

dsPIC30F2010 6 canales 6 canales S 1 1 1 20

dsPIC30F3010 6 canales 6 canales S 1 1 1 20

dsPIC30F4012 6 canales 6 canales S 1 1 1 1 20

dsPIC30F3011 6 canales 9 canales S 2 1 1 30

dsPIC30F4011 6 canales 9 canales S 2 1 1 1 30

dsPIC30F5015 6 canales 16 canales S 1 2 1 1 52

dsPIC30F6010 8 canales 16 canales S 2 2 1 2 68

FUENTE: Hoja de datos dsPIC30F


19

La familia de los dsPIC30 dispone de dos subfamilias para el

control de motores, una es de gama baja que incorpora

mdulos PWM de seis salidas, y otra de gama superior con 8

salidas. La siguiente tabla muestra las caractersticas de los

mdulos PWM de las dos subfamilias:

Tabla 1.4 Caractersticas de los tipos de mdulos PWM


de dsPIC
PWM 6
PWM 8 SALIDAS
CARACTERSTICAS SALIDAS
(gama alta)
(gama baja)
Pines E/S 6 8
Generadores PWM 3 4
Pines de fallo 1 2
Generadores de tiempo muerto 1 2
FUENTE: Hoja de datos dsPIC30F

Familia de dsPIC para el control de sensores

La familia de sensores dsPIC30F tiene caractersticas

diseadas para soportar aplicaciones embebidas de altas

prestaciones y de bajo costos. Los encapsulados de 18- y 28-

pines estn diseados para aplicaciones crticas en espacio.


20

Tabla 1.5 Tipos dsPIC para control de sensores


MEMORIA FLASH ENTRADAS
EEPRO
DISPOSITIVO PINES SRAM MODO
BYTES INSTRUCC M
CAPTURA
dsPIC30F2011 18 12kB 4kB 1024 B 2

dsPIC30F3012 18 24kB 8kB 2048 B 1024 B 2

dsPIC30F2012 28 12kB 4kB 1024 B 2

dsPIC30F3013 28 24kB 8kB 2048 B 1024 B 2

INTERFAZ
SALIDAS
CODEC

SPI

I2C
DISPOSITIVO MODO UART LINEAS E/S
A/D 12-BIT
COMPARADOR
100Ksps

dsPIC30F3011 2 8 canales 1 1 1 20

dsPIC30F3012 2 8 canales 1 1 1 20

dsPIC30F2012 2 10 canales 1 1 1 20

dsPIC30F3013 2 10 canales 2 1 1 20

FUENTE: Hoja de datos dsPIC30F

1.4 Estructura de los dispositivos

El principal componente del sistema de control es el microcontrolador

dsPIC30F4011, el cual tiene un ncleo RISC con arquitectura Harvard

modificada de 16 bits. Su estructura se puede separar en tres partes:

microprocesador, integracin del sistema y perifricos.


21

Figura 1.3 Disposicin de los pines del dsPIC30F4011

FUENTE: Hoja de datos Microcontrolador 30F4011

La CPU tiene palabras de instruccin de 24 bits con un campo variable

para el cdigo de operacin. Tiene adems 16 registros de trabajo que

junto con instrucciones tipo MCU y DSP realizables en un ciclo de

instruccin proveen una gran rapidez y complejidad de clculo.

La memoria de datos puede contener 32 mil palabras o 64 mil bytes que

se separan en dos bloques cada uno con su propia AGU (generadores

de direcciones). La arquitectura DSP contiene un multiplicador de 17

bits, una ALU, dos acumuladores de 40 bits, un registro de

desplazamiento bidireccional de 40 bits, todo esto permite realizar un

procesamiento de seales en tiempo real de manera ptima.

El dsPIC30F4011 forma parte de la familia dsPIC30F para el control de

motores en su arquitectura tiene potentes unidades internas que favorecen

esta funcin entre las que se encuentran: seis canales de PWM con salidas

independientes o complementarias con una base de tiempos dedicada,


22

posibilidad de controlar la polaridad de las salidas, generacin de tiempos

muertos, etc. Tambin se dispone de mdulo de deteccin de seales de

encoder en cuadratura con un contador interno de 16 bits.

Tabla 1.6 Caractersticas del dsPIC30F4011


CARACTERSTICAS CAPACIDAD
Frecuencia de operacin EC a 40 MHz
Memoria de Instruccin (Bytes) 16 K
Memoria de Programa FLASH 48 K
Memoria de Datos RAM (Bytes) 2K
Memoria EEPROM (Bytes) 1K
Fuentes de Interrupcin 30
Puertos de Entrada/Salida 5 (Puerto B,C,D,E,F)
Instrucciones Bsicas 83
Temporizadores de 16 bits 5
Adicionalmente timers de 32 bits 2
Mdulos de PWM 6
Comunicaciones Seriales SPI,I2C,UART,CAN
Canales de Conversin Analgica 9
Digital de 10 bits
Mdulo Encoder de Cuadratura de 16 bits 1
MOTOR DSP

Multiplicador rpido 17 X 17 bits.


Registro de desplazamiento de 40 bits.
Sumador restador de 40 bits.
Dos registros acumuladores de 40 bits.
Modos de operacin: redondeo y saturacin lgica.
Todas las instrucciones son de un solo ciclo.

FUENTE: Hoja de datos dsPIC30F4011

Todos los procesadores de los dsPIC incorporan en su procesador

las siguientes caractersticas:

a) Arquitectura Hardware: posee dos memorias una para datos y

otra para instrucciones.

b) Procesador RISC: posee un conjunto de instrucciones

optimizadas para soportar el lenguaje C.


23

c) Cauce segmentado: permitiendo elevar el rendimiento del

procesador, consiguiendo as que una instruccin empiece a

ejecutarse antes de que hayan terminado las anteriores y, por

tanto, que haya varias instrucciones procesndose

simultneamente.

d) Integracin de Recursos propios de DSP: el aporte ms

considerable es el motor DSP, facilitando la resolucin de

operaciones matemticas complejas, en los algoritmos para el

rpido procesamiento de seales.

Figura 1.4 Esquema de la arquitectura Hardware del dsPIC

FUENTE: Microcontroladores Avanzados, Mxico Autor Jos Mara Angulo


24

Se observa en el diagrama la divisin de dos grandes bloques de

memoria, la memoria de programa FLASH direccionada por el

contador de programa de PC, el segundo bloque formado por la

memoria RAM de datos subdividida en dos partes X y Y, controlados

por los generadores de direcciones AGU X y AGU Y. Tambin existe

un Banco de registros de 16 bits que alimenta al motor DSP.

A continuacin se revisan las caractersticas ms representativas de

cada uno de los elementos del microcontrolador dsPIC, los puertos de

entrada y salidas, adems de los perifricos complementarios al

procesador:

1.4.1 Motor DSP

El motor DSP es un bloque del hardware con recursos

matemticos que proporcionan al procesador la posibilidad de

realizar operaciones de gran velocidad, que generalmente se

emplean en el tratamiento se seales digitales. El motor DSP el

cual recibe los datos desde un arreglo de registros (W), los

mismos que direccionan el bloque ALU del microcontrolador.

Aunque no es posible un manejo simultneo de instrucciones

para la ALU y el motor DSP, el dsPIC puede resolver esto

mediante el manejo adecuado del juego de instrucciones.


25

1.4.2 Temporizadores

Los temporizadores incorporados en los dsPIC30F son de 16

bits, cuyos registros asociados son TMRx (contador), PRx

(perodo), y TxCON (registro de control). Adems los bits de

interrupciones asociados como TxIE (habilitacin de

interrupcin), TxIF (flag de interrupcin), TxIP (3 bits de

prioridad de la interrupcin).

Existen tres clasificaciones de tipos de temporizadores A, B y C

de 16 bits, algunos se pueden encadenar y formar 32 bits. Los

de tipo A (timer1) puede funcionar con el oscilador de bajo

consumo de 32kHz, de forma asncrona con un reloj externo. El

timer2 y 4 son de tipo B. mientras que el timer3 y 5

corresponden al de tipo C. nicamente los del tipo B y C se

pueden concatenar para formar los temporizadores de 32 bits.

1.4.3 Mdulo de captura de entrada.

El mdulo de captura de entrada del dsPIC30F4011 tiene cuatro

entradas para la captura IC1, IC2, IC7, IC8, siendo muy usado

en aplicaciones donde se necesite medir frecuencias o pulsos

de periodos de tiempo, tambin como una fuente adicional de

interrupcin externa, el funcionamiento de este mdulo se basa


26

en poner en marcha y leer el valor de un temporizador cuando

sucede un evento determinado en un pin de entrada, el tiempo

de lectura es controlado por los timer2 o timer3. Las

caractersticas operacionales principales son:

i. Modo simple de captura de eventos.

ii. Modo de eleccin del timer2 y timer3.

iii. Interrupcin provocada por evento de captura de entrada.

1.4.4 Mdulo de comparacin de salidas.

El mdulo de comparacin salida dispone de 4 canales,

pudiendo ser usados en aplicaciones donde se requieran

generacin de seales digitales con ancho de pulso variable,

en la actualidad se encuentran en desarrollo aplicaciones que

permitan mejorar los factores de potencia por medio del uso de

este mdulo. Entre las caractersticas operacin del mdulo de

comparacin del dsPIC30F4011 se encuentran: posibilidad de

usar temporizador 2 3, modo de comparacin simple, modo

de comparacin doble, modulacin por ancho de pulso.

1.4.5 Conversor Analgico Digital de 10 bits

El mdulo A/D esta constituido por 9 canales de entrada, con

convertidor de 10 bits analgico-digital (el dsPIC30F4011 no


27

dispone conversin con 12 bit), y una velocidad de conversin

de 500 Kbps, basado en arquitectura SAR (Registros de

Aproximacin Sucesiva).

Las entradas analgicas interiormente se encuentran

multiplexadas y conectadas a amplificadores, las salidas de los

amplificadores son conectadas como entradas del bloque

convertidor A/D, este ltimo es el encargado de generar

nuestro resultado final. El bloque convertidor A/D, posee seis

registros de 16 bits: tres registros de control (ADCONx), un

registro de seleccin de canal de entrada (ADCHS), puerto de

configuracin de registros (ADPCFG), y un registro de seleccin

para el anlisis (ADCSSL).

1.4.6 Mdulos de comunicacin UART, SPI, I2C, CAN.

Para poder comunicarse con otros dispositivos, adems de los puertos

de E/S los microcontroladores disponen de una serie de mdulos de

comunicaciones que le permiten conectarse a distintos buses o

canales de comunicaciones estndar: UART, SPI, I2C, y CAN.

El mdulo de Transmisin Recepcin Universal Asincrnico

(UART), es el mdulo serial bsico disponible en la familia de

los DsPIC30F, UART es sistema dplex asincrnico que puede


28

comunicarse con dispositivos perifricos as como interfaces

RS-232, y RS-485. Las principales caractersticas del mdulo

UART se describen en la siguiente tabla:

Tabla 1.7 Caractersticas del mdulo UART del


dsPIC30F4011
CARACTERSTICAS CAPACIDAD
Bidireccional a travs de UxTX y UxRX 8 9 bits de datos
Opciones de parida y no paridad (8avo bit) 1 bit
Bit de parada 1 2 bits
Generador Baud Rate preescalar 16 bits
Transmisin de datos en buffer 4-word
Recepcin de datos en buffer 4-word
Separacin de instrucciones Rx y Tx
Deteccin de error de paridad
FUENTE: Hoja de datos dsPIC30F4011

Otra opcin de comunicacin es la interfaz serial de perifricos

(SPI), es un mdulo de comunicacin serial sincrnico entre

dispositivos perifricos como otros microcontroladores,

registros, manejador de visualizadores, etc. La cantidad de

mdulos de SPI depende del modelo del dsPIC, el modelo

dsPIC30F4011 tiene un mdulo SPI.

Adicionalmente se dispone un bus de comunicaciones serial

sincrnica I2C (Interconexin de circuitos integrados). Utiliza

nicamente dos hilos para la transferencia de informacin entre los

elementos que se acoplan al bus que son: lnea bidireccional de

datos SDA (dato serial), y reloj de sincronizacin SCL (Reloj Serial).


29

El mdulo I2C del DsPIC 30F4011 provee un hardware que

permite trabajar en modo Esclavo y Multi-Master, con interface

de 16 Bits. Este mdulo posee las siguientes caractersticas:

a) El mdulo I2C, soporta operaciones de Maestro y Esclavo.

b) El modo I2C Esclavo, soporta direcciones de 7 y 10 bits.

c) El modo I2C Maestro, soporta direcciones de 7 y 10 bits.

d) El puerto I2C permite transferencia bi-direccional entre

Maestro y Esclavo.

El mdulo de comunicacin CAN, es una interfaz serial til para

permitir comunicaciones mltiples con otros mdulos CAN o

microcontroladores dentro de ambientes ruidosos, el protocolo

CAN 2.0A/B con especificaciones definidas por BOSCH, esta

conformado de un protocolo para motores y un buffer

mensaje/control, maneja motores mediante funciones para

recibir y transmitir mensajes. Durante la transmisin los

mensajes son cargados a un registro de datos la informacin

que se va a intercambiar se descompone en mensajes, a los

cuales se les asigna un identificador y se encapsulan en tramas

para su transmisin. Cada mensaje tiene un identificador nico

dentro de la red, con el cual los nodos deciden aceptar o no

dicho mensaje, se puede verificar el estado de los datos y


30

errores en la comunicacin mediante los registros destinados

para estos propsitos.

1.4.7 Mdulo encoder de cuadratura

Este mdulo nos ofrece una interfaz para manejo de un encoder

incremental, para obtener datos que determinan la posicin de un

mecanismo rotatorio. Entre las caractersticas del mdulo se encuentran:

a) Tres canales de entrada; dos son seales de fase y un

pulso para referencia de inicio de giro.

b) Contador de posicin incremental y decremental de 16 bits.

c) Medicin de posicin en modo x2 y x4.

d) Filtro digital programable para ruido.

e) Modo Timer/Counter de 16 bits.

1.4.8 Mdulo control de motor PWM

El mdulo PWM facilita la generacin y sincronizacin de

modulacin de ancho de pulso, en el dsPIC30F4011 permite

dos tipos de modulacin de ancho de pulso estas se encuentran

agrupadas en modulacin PWM de uso comn, y el PWM para

el control de motores, para el primer tipo utiliza canales de

comparacin de cuatro salidas PWM denotados por OCx, y el

siguiente dispone canales PWMxL y PWMxH, una caracterstica


31

particulares de este tipo de modulacin es el poder trabajar de

manera independiente o complementaria.

El ciclo de trabajo del PWM tiene tres registros de funciones

especiales de 16 bits, usados para especificar el valor del ancho

de pulso (PDCx), dicho registro esta asociado con los

generadores PWMxL y PWMxH. Este mdulo permite obtener

seales PWM para el control de motores a partir de formas de

ondas de dos tipos: triangulares y rampa, adems permite

actualizar continuamente el valor del registro de trabajo.

Opcionalmente se dispone de una salida PWM Override, esta

permite al usuario manejar las salidas PWM de manera manual

e independiente los estados lgicos de las mismas.

1.5 Campos de aplicacin

1.5.1 Generalidades

Los mdulos implementados cuentan con un potente

microcontrolador desarrollado especficamente para el control de

motores entre las ms interesantes aplicaciones se encuentran el

control de motores de induccin trifsico, sncronos de

reluctancia variable, corriente continua, por lo cual la tarjeta

dispone de salidas externas (ver tabla 1.1), las cuales podrn ser

usadas para la conexin de mdulos de control externo de los


32

motores antes mencionados. Un diseo bsico del control de un

motor de trifsico AC se muestra en la figura 1.5

Figura 1.5 PWM modo complementario controlando motor


trifsico AC

FUENTE: Microcontroladores Avanzados, Mxico Autor Jos Mara Angulo

Para el control de motores se har uso de la integracin de las

siguientes aplicaciones desarrolladas, una esta basada en el manejo

de un encoder de cuadratura muy til para conocer parmetros de

rotacin del motor, y la otra aplicacin esta basada en el control de

motores mediante modulacin PWM.


33

1.5.2 Codificador de encoder de cuadratura

Un encoder es un sensor electro-opto-mecnico que unido a un

eje, proporciona informacin de la posicin angular. Su fin, es

actuar como un dispositivo de realimentacin en sistemas de

control integrado, el encoder de tipo incremental es muy

utilizado para la deteccin de la posicin y la velocidad de

movimientos rotativos como en los motores. Este transductor

esta formado por una rueda ranurada en su perifrica,

conectada al eje del motor y un mdulo detector/emisor

formados por diodos leds y fotodiodos, los cuales reciben el haz

luminoso del led cuando entre el emisor y el receptor se cruza

una ranura del disco, estas seales llamadas fase A, fase B, y

una seal adicional llamada pulso Z, nos dan la informacin que

permite calcular la direccin del giro del eje y su velocidad. La

frecuencia de fase A, fase B depende de la velocidad de giro, y

el sentido se identifica observando el signo de la diferencia de

fases, es decir cuando la fase A adelanta la fase B, entonces la

direccin o giro del motor es positiva (hacia delante), si la fase

A esta atrasada de la fase B, entonces la direccin o giro del

motor es negativa (hacia atrs), mientras que la seal pulso Z


34

indica un pulso por revolucin. La principal limitacin de este

tipo de encoder es que despus de un corte de energa, la

posicin absoluta es desconocida.

1.5.3 Control de motores DC mediante PWM

El movimiento de motor elctrico se consigue mediante la

variacin continua de un campo elctrico o magntico,

dependiendo del tipo de motor, para obtener as un campo

rotatorio, esta variacin continua se consigue alimentando

adecuadamente los embobinados del rotor o del estator, segn

el tipo de motor, y variando dicha corriente de alimentacin se

consigue variar la velocidad del motor, un mtodo utilizado para

lograr este propsito es mediante PWM.

PWM son las siglas de pulse width modulation o modulacin

por anchura de pulsos, el dsPIC incorpora esta funcin

hardware que se puede utilizar para conseguir una salida

analgica a partir de un a partir de la variacin del valor eficaz

una seal digital, esto se consigue modulando la anchura de

pulso de un tren de onda cuadrada, (ver figura 1.6).


35

Figura 1.6 Valor eficaz de potencia entregada al motor


Periodo de Seal

Valormedio

Anchodepulso

FUENTE: Personal

Para un pulso ms ancho el valor eficaz de la seal es mayor

que para un pulso ms estrecho, por lo tanto variando la

anchura del tren de pulsos de la seal digital se puede

conseguir una seal cuyo valor eficaz (valor medio) vare de

forma deseada, es decir la regulacin de motores DC est

basada en el control de la alimentacin entregada al motor.

Mediante la modulacin PWM se controla la corriente de

alimentacin del motor, la energa que recibe el motor ser

proporcional a la relacin entre la parte alta (habilita corriente) y

baja (cero corriente) del ciclo de la onda cuadrada, es decir,

variando la anchura de pulso de la seal, vara la potencia

entregada al motor. Controlando esta relacin se logra variar la

velocidad del motor de una manera bastante aceptable.


36

Figura 1.7 Esquema del ciclo de trabajo del PWM

FUENTE: Personal

1.6 Entornos de desarrollo

1.6.1 Eleccin del compilador

En el mercado existen muchas alternativas para la

programacin de los microcontroladores, pudiendo contar con

herramientas de desarrollo y libreras compatibles con la

arquitectura de los dsPIC.

Empresas como Microchip, Hitech PICc, CCS, Mikroelectrnica

estn entre las compaas fabricantes ms conocidos

presentando cada una su gama de compiladores, en este

proyecto se escogi como compilador mikroBasic un producto

de Microelectrnica basado en lenguaje BASIC para


37

microcontroladores PIC y los dsPIC, que esta conquistando

cada vez a ms programadores y que lleva tiempo en el

mercado.

La empresa Mikroelectrnica distribuye una serie de

compiladores para microcontroladores, entre los que se

destacan el mikroC y mikroBasic. La caractersticas ms

destacadas de estos compiladores es la inclusin de un IDE

(entorno de desarrollo integrado o en ingls Integrated

Development Environment) que hace muy cmoda la

programacin, ya que resalta la sintaxis del lenguaje,

proporciona un acceso muy rpido a la excelente ayuda

incluida, estadsticas sobre el uso de recursos del

microcontrolador, y muchas ventajas adicionales.

Un recurso que nos ofrece Mikroelectrnica es que nos permite

descargar una versin gratuita del compilador, que a pesar de

estar limitado en la generacin de cdigo a 2Kb., es ms que

suficiente para muchos proyectos, y sobre todo, sirve

perfectamente para que podamos ejecutar nuestro proyecto de

tpico. Probablemente mikroBasic sea el entorno que soporta

ms modelos de micros y adems dispone de un enorme grupo

de libreras, divididas en comunicaciones RS-232, RS-485 e


38

I2C; teclados PS/2, conexiones USB, interfaz para pantalla de

cristal lquido, etc.

1.6.2 Entorno del compilador elegido

Respecto de la organizacin interna del programa, debemos saber

que es necesario que las partes que componen el programa

(funciones, rutinas, etc.) sigan ciertas reglas en su escritura. No es

necesario que todas estn presentes. Las secciones que son

obligatorias son program y el bloque main-end. Las dems

opciones, solo las usaremos si las necesitamos. A continuacin se

muestra la organizacin de un programa realizado en mikroBasic:


39

Program <Nombre del programa>

Incluye <Nombre de librerias>

'Declaraciones
'(globales, disponibles en todo el programa):

'Simbolos
symbol ...

'Variables
dim ...

'Constantes
const ...

'Procedimientos
sub procedure nombre_del_procedimiento(...)
...
end sub

'Funciones
sub function nombre_de_la_funcion(...)
<declaraciones locales>
end sub

'Programa principal:
main: 'Aqu escribimos nuestro cdigo
end.
40

Las instrucciones ms elementales de este programa son:

Comentarios: el cdigo usando el apostrofe ' . Estos pueden

ir solos en una lnea, o a continuacin de una instruccin. Su

utilidad es poder realizar una descripcin detallada de lo que

realiza determinadas instrucciones, por ejemplo:

ADPCFG=$FFFF 'Digitales RB15 a RB0

Identificadores: Son los nombres de nuestras variables,

procedimientos, funciones, constantes, etc. En mikroBasic los

nombres de identificadores pueden contener letras desde la a

hasta z y desde la A hasta Z, el guin bajo (_) y los dgitos

del 0 al 9, estas no son case-sensitive, es decir que Total,

total y TOTAL son nombres de la misma variable, y podemos

usar cualquiera de ellos por igual. El primer caracter no puede

ser un digito, adems, los nombres de los identificadores no

permiten palabras reservadas, por ejemplo

Tabla 1.8 Declaracin de identificadores en MikroBasic


Correctos Incorrectos
Temperatura1 1Temperatura 'Comienza con un digito
aux_12 Aux.12 'Contiene un punto
rele_on _on 'Comienza con un guin bajo
Humedad Humedad % 'Contiene un carcter invalido (%)
41

Variables: Las variables son objetos cuyo valor puede cambiar con la

ejecucin del programa. Cada variable tiene un nombre nico, que se

ajuste a las reglas definidas mas arriba para los identificadores. Deben

declararse con dim antes de ser usadas, y su mbito de validez vara

de acuerdo a la seccin en que se declaran. La sintaxis de dim es:

dim lista de variables as tipo

La lista de tipos disponibles incluyen: Byte / chart (8 bits, con

valores de 0 a 255), short (8 bits, con valores de -127 a 128),

Word (2 bytes, o 16 bits, con valores de 0 a 65535), integer (16

bits, con valores de -32768 a 32767), longword / dword (32 bits,

0 .. 4294967295), Longint ( 32bits con valores desde -

2147483648 a 2147483647), y float (32 bits con valores de

1.17549435082 x10-38 a 6.80564774407 x1038. Algunos

ejemplos validos de dim son:

dim i, j, k as byte

dim contar, temp as word

dim cadena as longint[100]

En el anexo B de describe la instalacin y creacin de un nuevo

proyecto en mikroBasic.
42

1.7 Adquisicin de datos por LabVIEW

1.7.1 Generalidades de LabVIEW

La plataforma de LabVIEW (Laboratory Virtual Instrument

Engineering Workbench) es una aplicacin para el desarrollo

de programas empleando un lenguaje de programacin grfico

(G) creando programas en forma de diagramas de bloques. Los

programas compilados en este tipo de ambiente son llamados

instrumentos virtuales (VI) porque en su apariencia y operacin

es similar a instrumento fsico real. Un VI se compone de dos

partes, ordenadas en pantallas diferentes, uno es el tablero

frontal (front panel) y el otro el diagrama de bloques (block

diagram). El tablero frontal, es la parte interactiva del programa

con el usuario final, personalizado utilizando controles e

indicadores tales como: perillas, botones, indicadores, pantallas

grficas y dispositivos de entrada. Despus de construir la

interfaz de usuario, se debe programar el diagrama de bloques,

usando los VI incorporados en las libreras LabVIEW, siendo

este diagrama de bloques el cdigo fuente del panel frontal.

1.7.2 Principios de la comunicacin con LabVIEW

LabVIEW posee herramientas para controlar la mayor parte de los

protocolos de comunicacin usados en las computadoras, como el


43

TCP, UDP, serial, paralelo, IrDA, Bluetooth o SMTP, su capacidad

para realizar transmisin de datos (distancia, voltaje y corriente de

salida) est limitada por las caractersticas propias del protocolo de

comunicacin usado, del tipo de puerto y del dispositivo de salida

conectado directamente a la computadora. Los datos pueden

introducirse usando el ratn o el teclado de la computadora en el

tablero frontal y los resultados del proceso pueden ser vistos en la

pantalla de la computadora.

1.7.3 Comunicacin y adquisicin de datos con RS-232

La tarjeta desarrolladora nos permite mediante comunicacin serial

la interaccin entre LabVIEW y datos provenientes del exterior, este

tipo de instrumentacin virtual aumenta la productividad y

disminuye los costos para aplicaciones de medicin dentro del

entorno industrial, siendo posible utilizar un VI en aplicaciones

donde se requiere del procesamiento de entradas, como visin,

comunicaciones con hardware industrial pudiendo controlar y

monitorear estos procesos, con ello es posible realizar adquisicin

de datos, analizar mediciones y generar reportes de los resultados

de sus aplicaciones por medio de la creacin de archivos, adems

es posible establecer comunicacin con dispositivos externos para

control conectados directamente al computador.


CAPTULO 2

2. DISEO DE LA TARJETA DESARROLLADORA

2.1 Consideracin de diseo

En este captulo se describir la estructura de la tarjeta

desarrolladora, los perifricos implementados en la misma, los tipos

de motores que se han usado para el desarrollo de prcticas basadas

en el control en lazo abierto mediante seales provenientes del

dsPIC para la regulacin de velocidad y giro en motores de corriente

continua, de paso, y servomotores, implementados en la tarjeta

desarrolladora. Se debe tambin recalcar que no solamente se

puede trabajar con motores de corriente continua sino que adems la

tarjeta dispone de salidas externas en las cuales se puede incorporar

un mdulo que permita trabajar con motores trifsico de corriente

alterna, esta una de las posibles aplicaciones a desarrollarse a futuro.


46

Respecto a la seleccin del microcontrolador a usarse en el desarrollo

de la tarjeta entrenadora se ha elegido el dsPIC30F4011 de gama

media, su encapsulado exterior luce como cualquier microcontrolador de

40 pines, sin embargo en su interior la historia es totalmente diferente,

este potente dispositivo que posee millones de circuitos elctricos

completamente estructurados ofrecindonos: velocidad, potencia,

manejo flexible de interrupciones, un amplio manejo de funciones

perifricas, adems de las prestaciones del DSP, esta diseado

especficamente para soportar aplicaciones de control de motores,

alcanzando un nivel de rendimiento muy cercano al de los

microcontroladores de 32 bits y a los DSP, siendo su precio muy

ventajoso, constituyndose en un nuevo comienzo del control embebido.

2.2 Especificaciones de hardware

2.2.1 Unidad de programacin

El microcontrolador seleccionado adems de ofrecer velocidad

de procesamiento y precisin de resultados, tiene la alternativa

de poder usar un programa de carga conocido como bootloader

que ocupa cierta posicin de la memoria de programa y cuyo

nico objetivo es el de permitir la carga de programas

ejecutables. De tal forma que un programador externo se

utilizar slo una vez para cargar el bootloader, luego de esto el


47

dsPIC es ubicado nuevamente en la tarjeta y el mtodo de

programacin del microcontrolador es a travs del puerto de

comunicacin serial (UART1 alternativo), quien de all en

adelante se encargar de las tareas de programacin, este

mtodo es una de las alternativas para la programacin del

dsPIC usado en las tarjetas.

El bootloader utilizado con el dsPIC30F4011 se ubica en las

ltimas posiciones de la memoria flash de programa del

microcontrolador y reposiciona los vectores de interrupcin

mediante punteros. Arranca cuando alimentamos el procesador

y espera un comando por un puerto de comunicacin si no lo

recibe contina con la ejecucin normal de nuestro programa. Si

lo recibe comienza a recibir el programa del usuario a travs del

puerto de comunicacin y a grabarlo en la memoria flash de

programa del microcontrolador de la tarjeta. Esta caracterstica

es especialmente importante en un laboratorio educativo donde

se tendra acceso directo a la disponibilidad de programacin

sin necesidad de extraer el microcontrolador de la tarjeta

desarrolladora a un mdulo dedicado nicamente a la

programacin, brindndole al diseador ms seguridad y

facilidad al momento de cambios en el programa, adems de

ser un ahorro econmico al momento de elegir la unidad


48

programadora del dsPIC, esto es un tpico problema en los

laboratorios de desarrollo porque muchas veces no se cuenta

con los programadores suficientes y necesarios donde un

mismo dispositivo dsPIC debe ser grabado una y otra vez para

la realizacin de pruebas, por no disponer de un software que

simule el proyecto que se realiza, el proceso de carga por

medio de bootloader se explica en el anexo A. Sin embargo de

presentarse la necesidad de realizar la programacin del

microcontrolador haciendo uso del programador externo Pickit2

se ha implementado en la tarjeta de entrenamiento con

dsPIC30F4011 la interfaz ICD2 quedando disponible un

conector RJ12 (6 pines) para su respectiva conexin.

2.2.2 Fuentes de entradas analgicas y digitales

La tarjeta dispone de entradas digitales y analgicas, estas

entradas comparten determinados pines de un mismo puerto

del dsPIC que puede ser configurado como digital o analgico.

Dado que comparten la misma entrada, es necesario disponer

de algn mecanismo que permita elegir una entrada o la otra, o

incluso ninguna en el caso de utilizar seales externas. Para

ello se han utilizado puentes que permiten elegir las tres

posibilidades: analgico, digital y desconectado. Hay 3 fuentes


49

internas de seales analgicas: dos de ellas son

potencimetros que permiten seleccionar cualquier tensin

entre 0 y 5 Voltios. La ltima fuente analgica disponible viene

de un sensor de temperatura, que entrega una salida lineal con

la temperatura. Con relacin a las fuentes digitales de entradas

se han implementado mediante 4 interruptores, y 3

micropulsadores.

2.2.3 Barra de 10 diodos emisores de luz

Se ha elegido una barra de diodos emisores de luz (leds) para

reducir el espacio en la tarjeta, la barra ofrece 10 salidas

digitales, y esta conectado un diodo por cada bit de un puerto.

2.2.4 Visualizador mltiple de 7 segmentos

Se dispone de cuatro visualizadores de 7 segmentos, existen

varias posibilidades de control de este tipo de visualizador

mltiple, pero se ha optado por la multiplexacin, ya que

permite introducir conceptos como la realizacin de

interrupciones de refresco, durante la ejecucin normal de un

programa.
50

2.2.5 Teclado matricial y minidin PS/2

Es importante disponer de entradas por medio de teclados, el de

tipo matricial esta normalmente codificado ubicando las teclas en

una matriz de filas y columnas. Todas las filas y columnas son

muestreadas peridicamente por un controlador a una frecuencia

suficientemente alta para poder percibir cualquier cambio en el

teclado.

Una de las alternativas que ofrece la tarjetade entrenamiento es el

manejo de teclado matricial, que ofrece 2*n teclas por cada n bits.

Tambin se encuentra disponible una entrada PS/2, en la cual se

tiene la posibilidad de conectar un teclado del mismo tipo.

El teclado 4x4 correspondiente a 16 teclas (de igual manera se

puede conectar un teclado 4x3), est conectado a un puerto del

microcontrolador. Los 4 bits ms significativos sern conectados

a las filas, y los 4 menos significativos a las columnas. En tanto

el teclado PS/2 nicamente utiliza dos pines del

microcontrolador, este dispone de 104 teclas para PC es un

dispositivo razonablemente inteligente. Esto quiere decir que l

mismo se encarga de la parte hardware del rastreo de teclas, de

evitar los insufribles rebotes y de transmitirlos, mediante una

trama perfectamente establecida, de los resultados de nuestras


51

manipulaciones sobre sus teclas. Al presionar una tecla, se

produce un contacto elctrico entre la fila y la columna, las

seales elctricas son transmitidas a un control interno del

teclado, que enva un cdigo (BCD, ASCII o Unicode) al dsPIC

describiendo el caracter que corresponde a dicha tecla.

2.2.6 Pantalla de cristal lquido

El ltimo paso hacia un visualizador de mediana complejidad lo

constituye la pantalla de cristal lquido. Hay otras pantallas ms

sofisticadas, pero hay pocas que sean tan verstiles, estndares,

econmicas, y fciles de usar. La pantalla de la tarjeta es de 16X2 y

est conectada a los puertos del microcontrolador, distribuyndose

entre ellos el bus de datos y las seales de control.

2.2.7 Motores de uso comn

Existen gran cantidad de mtodos para producir el movimiento

fsico de un mecanismo. Sistemas neumticos que trabajan a

partir de aire presurizado, los sistemas hidrulicos que utilizan

fluidos a presin y los sistemas elctricos que utilizan motores

para convertir la energa elctrica en energa mecnica

(movimiento). Los motores son mquinas capaces de transformar

la energa almacenada en combustibles, bateras u otras fuentes,


52

en energa mecnica capaz de realizar un trabajo. En este

proyecto final de tpico se usar motores de uso frecuente en

aplicaciones para microcontroladores: DC de imn permanente,

con bobinado en serie, el motor de pasos, y servomotor.

El motor DC o de corriente continua de pequeo tamao, son

ideales para nuestro caso; no slo por su reducido costo, sino

tambin, por su razonable eficiencia, versatilidad y gran

aplicabilidad a los procesos industriales. Los motores DC, son

ampliamente utilizados en aplicaciones tales como la robtica,

mecatrnica y en sistemas de control. Estos motores sern los

encargados del movimiento y control de direccin de las bandas

transportadoras usadas en l tpico, por lo que es necesario

controlar la velocidad y el sentido de giro.

Figura 2.1 Motor DC

FUENTE: Foto personal


53

El motor de pasos llamado tambin stepper motor, es un motor

alimentado con tensin continua (DC) y convierte los pulsos

elctricos aplicados en sus bobinas en movimientos

rotacionales discretos. Pueden girar continuamente o slo un

ngulo llamado paso. Debido a esto resultan muy precisos y

confiables, se emplean comnmente en aplicaciones donde el

posicionamiento mecnico resulta ser muy importante. Son

ideales cuando se tiene que girar un eje y detenerlo en cierta

posicin con una precisin de hasta centsimas de milmetros.

En sta posicin puede permanecer bloqueado, hasta recibir

una nueva orden de giro. Una de sus principales ventajas es

que no necesitan de sensores para determinar la posicin del

eje, ya que se conoce la posicin por la secuencia de pulsos

que se han enviado a las bobinas.

Figura 2.2 Motor de paso a paso bipolar

FUENTE: Foto personal


54

Un servomotor, es un motor de corriente continua (DC)

especializado, el cual, puede ser comandado para que gire a

una posicin determinada. Tiene un circuito de control

construido en su interior que se realimenta en todo momento

con la posicin de su rotor. De sta forma puede llevar a cabo

una auto-regulacin. En lugar de rotar continuamente como los

motores comunes de DC, un servomotor puede ser posicionado

enviando las seales apropiadas al servo a un punto especfico

y ste quedarse fijo en esa posicin.

Los servos poseen un conector para 3 cables: Uno de alimentacin,

uno de tierra y el cable de control. En el servomotor FUTABA

dispone de tres alambres son de color rojo, negro y blanco, dos de

los cuales son alimentacin (rojo y negro), que puede ir desde 4.8V

a 6.0V, en este caso se trabaja con un voltaje de 5V, el tercer

alambre (blanco) es de control conectado al dsPIC el mismo que

genera una seal necesaria para el funcionamiento del servo.

Figura 2.3 Servo motor y su control interno de lazo cerrado

FUENTE: Foto personal


55

2.3 Diseo de controladores para motores

2.3.1 Manejador de motores

Los manejadores para motores son usados en sistemas que

manejan pequeas cantidades de vatios hasta cientos de kilovatios,

existen varios mtodos para regular la velocidad de los motores

elctricos: regular tensin, intercalando resistencias, modulacin de

la tensin de alimentacin mediante el procedimiento de

modulacin por anchura de pulsos (PWM), en motores de corriente

alterna se puede actuar sobre la frecuencia. En este proyecto de

tpico se ha usado la modulacin por anchura de pulsos (PWM) a

travs de un puente H, debido a su rendimiento y control dinmico

que muchas veces superan a los manejadores comunes para

motores dc.

2.3.2 Estrategias para el manejo de motor DC

El circuito de control para el manejo del motor DC est basado

en un arreglo de un puente H" constituido por cuatro

transistores Q1, Q2, Q3, y Q4 de tipo mosfet canal N

controlados por el dsPIC30F4011 implementado en la tarjeta,

los transistores trabajan en pares. Los transistores que realizan

la conmutacin son habilitados por la compuerta, a travs de

una seal PWM que ha sido configurada en software para que


56

esta seal que entrega el dsPIC trabaje en modo independiente

es decir, los pines PWM2L y PWM2H del dsPIC, envan la

misma seal a los transistores Q1 y Q4, mientras que los

transistores Q2 y Q3 permanecen deshabilitados, haciendo que

el motor gire en sentido horario a una determinada velocidad

correspondiente al voltaje eficaz suministrado al motor, (ver

figura 1.6). De manera anloga al procedimiento anterior se

puede hacer girar el motor en sentido antihorario habilitando los

transistores Q2 y Q3, mientras los transistores Q1 y Q4

permanecen deshabilitados, en la figura 2.4 se ilustra el circuito

para el manejo de un motor DC.

Figura 2.4 Esquema para manejo de motor DC

MUR8100 MUR8100

MUR8100 MUR8100

FUENTE: Robot Builders Bonanza


57

2.3.3 Estrategias para el manejo de motor de paso

Para controlar el movimiento del motor de paso unipolar

empleado en el proyecto, se ha realizado un circuito de control

basado en transistores mosfet canal N, que ser el responsable

de convertir las seales de avance de un paso y sentido de giro

en la necesaria secuencia de energizacin de los bobinados

ubicados en el estator del motor, logrando producir el avance

por pasos del motor, si se invierte el orden de esta secuencia,

se logra que el motor gire en sentido opuesto, si los pulsos de

alimentacin no se proveen en el orden correcto, el motor no se

mover apropiadamente. La conmutacin de los transistores es

controlada externamente por el dsPIC30F4011, en la siguiente

figura se presenta el esquema utilizado para el motor de paso.

Figura 2.5 Esquema para manejo de motor de paso

FUENTE: Robot Builders Bonanza


58

Como se mencion al principio es necesario que el motor

reciban una determinada secuencia de energizacin de sus

bobinados, existiendo tres posibilidades para realizarlo:

secuencia normal, secuencia de bajo consumo de corriente,

secuencia de medio paso.

La tabla 2.1 muestra la secuencia normal, siendo esta la ms usada y

normalmente recomendada por el fabricante, debido a que siempre estn

encendidas dos bobinas se obtiene un alto torque de paso y de retencin.

Tabla 2.1 Secuencia normal de encendido de bobinas


PASO Bobina A Bobina B Bobina C Bobina
1 Encendido Encendido Apagado
D
Apagado
2 Apagado Encendido Encendido Apagado
3 Apagado Apagado Encendido Encendido
4 Encendido Apagado Apagado Encendido
FUENTE: Personal

En la siguiente secuencia mostrada en la tabla 2.2 se activa una

bobina a la vez, consumiendo menos corriente, aunque

tambin se obtiene un menor torque de paso y de retencin.

Tabla 2.2 Secuencia de bajo consumo encendido de


bobina
PASO Bobina A Bobina Bobina C Bobina D
1 Encendido
B
Apagado Apagado Apagado
2 Apagado Encendido Apagado Apagado
3 Apagado Apagado Encendido Apagado
4 Apagado Apagado Apagado Encendido
FUENTE: Personal
59

Por ltimo se puede usar la secuencia de medio paso en la cual

se activan las bobinas de tal forma se obtiene un movimiento

igual a la mitad del paso real, para ello se activan primero dos

bobinas y luego solo una y as sucesivamente. A diferencia de

las secuencias anteriores que nicamente ofrecen cuatro pasos,

esta consta de ocho pasos como se muestra en la tabla 2.3

Tabla 2.3 Secuencia de medio paso de encendido de


bobinas
PASO Bobina A Bobina B Bobina C Bobina D
1 Encendido Apagado Apagado Apagado
2 Encendido Encendido Apagado Apagado
3 Apagado Encendido Apagado Apagado
4 Apagado Encendido Encendido Apagado
5 Apagado Apagado Encendido Apagado
6 Apagado Apagado Encendido Encendido
7 Apagado Apagado Apagado Encendido
8 Encendido Apagado Apagado Encendido
FUENTE: Personal

2.3.4 Estrategias para el manejo del servomotor

Realizar el control de movimiento del servomotor usado en este

proyecto resulta una tarea que no requiere de un manejador adicional,

porque en su interior se encuentra el diseo electrnico necesario para

manejar este tipo de motores, es decir el control de su posicin se lo

hace enviando un pulso continuo de onda cuadrada proveniente del

dsPIC al motor a travs del cable de control, el tiempo que permanece

en alto este pulso indica la posicin en que el servomotor se ubicara, en


60

la tabla 2.4 se indica los tiempos en alto y en bajo que debe de tener la

seal cuadrada para que el servomotor se mueva a una determinada

posicin. Estos motores trabajan a una frecuencia constante de 50 Hz

es decir a un periodo de 20000us, por ejemplo si queremos posicionar

al servomotor a la posicin central (90), debemos enviar un pulso de

onda cuadrada de 1500 us en alto y de 18500 us en bajo, esta seal

debe ser peridica para mantener dicha posicin.

Si el ancho de pulso disminuye el movimiento del servomotor ser

antihorario, por ejemplo si el pulso en alto es de 500 us el servomotor se

posicionara en cero grados como se lo muestra en la figura 2.6, pero en

cambio si el ancho de pulso aumenta el movimiento ser horario.

Figura 2.6 Seales de pulso de onda cuadrada y posicin


del servomotor

FUENTE: http:// robots-argentina.com.ar


61

Tabla 2.4 Tiempos de la seal de la onda cuadrada para


el posicionamiento del servomotor
TIEMPOS DEL
GRADOS PULSO (us)
EN ALTO EN BAJO
0 500 19500
5 556 19444
10 611 19389
15 667 19333
20 722 19278
25 778 19222
30 833 19167
35 889 19111
40 944 19056
45 1000 19000
50 1056 18944
55 1111 18889
60 1167 18833
65 1222 18778
70 1278 18722
75 1333 18667
80 1389 18611
85 1444 18556
90 1500 18500
95 1556 18444
100 1611 18389
105 1667 18333
110 1722 18278
115 1778 18222
120 1833 18167
125 1889 18111
130 1944 18056
135 2000 18000
140 2056 17944
145 2111 17889
150 2167 17833
155 2222 17778
160 2278 17722
165 2333 17667
170 2389 17611
175 2444 17556
180 2500 17500
FUENTE: Personal
62

2.3.5 Elemento de conmutacin

El interruptor de potencia usado en la construccin del manejador

de la tarjeta de entrenamiento con dsPIC30F4011 es el transistor

mosfet IRF530 y el IRF3710 para la tarjeta complementaria

manejadora de motores DC, estos conmutadores electrnicos

tienen tres terminales identificadas como: compuerta, drenador y

surtidor, son dispositivos controlados por voltaje aplicado entre

compuerta y surtidor, la corriente que circula por la compuerta es

casi nula debido a que esta unida mediante un aislante por lo que

tendr una impedancia muy grande, sin embargo durante las

conmutaciones si existir circulacin de corriente por la compuerta.

La corriente que entrega el transistor mosfet depende del voltaje

aplicado entre compuerta y el surtidor, y no de la corriente que

circula por la compuerta como ocurre con los transistores bipolares.

Debido a sus caractersticas de construccin los mosfet nos

permiten que las conmutaciones se realicen en tiempos muy cortos.

2.3.6 Redes snubber RC

Las redes snubber son circuitos que absorben energa usados

para eliminar picos de voltajes causados por las inductancias de

los circuitos cuando estos conmutan, sean mecnicos o con un

transistor. El objetivo de esta red es proporcionar un camino


63

alterno para que la corriente fluya a travs de l. Existen

funciones importantes que realiza este circuito entre las cuales

se encuentran: crear un camino alterno durante la conmutacin

para mantener un modo seguro de operacin para el transistor,

remover la energa del transistor durante la conmutacin y

disiparla en una resistencia para reducir la temperatura de la

juntura.

En cuanto a la seleccin del capacitor y resistencia de la red se

debe elegir una resistencia no inductiva evitando aquellas que

estn formadas por espiras, una buena eleccin es un resistor

compuesto de carbn, una resistencia de este tipo es ideal para

el circuito. Se debe dimensionar el capacitor para soportar los

altos picos de corriente en el snubber, para valores de

capacitancia arriba de 0.1uF considerar capacitores de mica,

para valores altos de capacitancia considerar tipos

polipropileno. En anlisis de las dimensiones de la resistencia y

capacitor de la red snubber se explica en el anexo D.

2.3.7 Etapa de acoplamiento

Un manejador es un sistema capaz de gobernar eficazmente la

conduccin y no conduccin del interruptor de potencia (mosfet

IRF530,3710) partiendo de las ordenes que llegan del circuito


64

de control (dsPIC30F4011), debido a que los circuitos de

potencia y los circuitos de control no manejan los mismos

niveles de tensin y corriente, ser necesario utilizar una etapa

de acoplamiento de voltajes, corrientes e impedancias, para ello

se utiliz optoacopladores para que el microcontrolador y el

mosfet puedan interactuar.

Figura 2.7 Esquema del circuito de acoplamiento para el


manejador del motor

Salida de Salida del


control manejador
(sin potencia) (con potencia)

Circuito Circuito
de de
control excitacin
(manejador)

Fuente: Personal

2.4 Esquemticos

En la figura 2.8 tenemos el esquemtico de la tarjeta bsica para

aplicaciones con dsPIC, que tiene incorporado borneras externas

para acceder a los puertos del dsPIC con la finalidad de facilitar el

manejo de seales para el control de nuevas aplicaciones. Respecto

a los esquemticos de la tarjeta de entrenamiento con


65

dsPIC30F4011, se muestran desde la figura 2.9 hasta la figura 2.15

con la distribucin de los distintos perifricos y sus conexiones con el

microcontrolador, estos esquemticos describen los diferentes

mdulos que se encuentran integrados en la tarjeta de entrenamiento

como son: la fuentes para el circuito de control y alimentacin de los

motores, la unidad de control de la tarjeta, conectores externos de la

tarjeta para acceso al puerto de la unidad de control, el esquemtico

de la unidad de comunicaciones bsicas implementada en la tarjeta,

la unidad de visualizacin, la unidad de seales digitales y

analgicas, finalmente se mostrar la unidad para el manejo de los

motores aplicando una tcnica de troceador de voltaje que consiste

en mantener una diagonal permanentemente abierta, y

proporcionando un ciclo de trabajo a los otros dos interruptores

(abrindolos y cerrndolos a la vez), de esta manera se podra

cambiar velocidad del motor, y dependiendo de la diagonal utilizada

para el troceado de voltaje se cambiaria sentido de giro.

La figura 2.16 muestra el esquemtico del manejador de motores DC

que permite usar cualquier tcnica de troceo clase E, como por

ejemplo modulacin de ancho de pulso y conmutacin de voltaje

bipolar, unipolar, entre otras.


Figura 2.8 Esquemtico de la tarjeta bsica para aplicaciones con dsPIC30F4011
Figura 2.9 Esquemtico de fuentes para el circuito de control y alimentacin de los motores
Figura 2.10 Esquemtico de la unidad de control de la tarjeta
Figura 2.11 Esquemtico de conectores externos de la tarjeta para acceso al puerto
Figura 2.12 Esquemtico de la unidad de comunicacin
Figura 2.13 Esquemtico de unidad de visualizacin
Figura 2.14 Esquemtico de la unidad de seales digitales y analgicas
Figura 2.15 Esquemtico de la unidad de manejo de motores
Figura 2.16 Esquemtico de la tarjeta para manejo de motores DC
77

2.5 Diseo del PCB usando herramientas CAD

2.5.1 Antecedentes de diseo de PCB

El tradicional trazado de pistas de cobre se realiza empleando una

hoja cuadriculada transparente de gua, sobre la cual se colocaba

una cinta opaca con la que se trazan las pistas, el trabajo se lo

realiza al doble del tamao natural y luego se reduce por medios

fotogrficos, de esta forma cualquier error cometido en el trazado

queda tambin reducido, durante la elaboracin del trazado de las

pistas es muy comn usar mltiples hojas transparentes para las

diferentes capas del trabajo, como para el ruteado de las pistas de

cobre, las referencia de los componentes, los puntos de taladrado,

entre otros; este proceso hace difcil las correcciones posteriores

al diseo.

Actualmente la tecnologa nos ofrece programas de diseo

asistidos por computadora para la concepcin de este tipo de

trabajos, a diferencia de los mtodos manuales de diseo,

estas herramientas nos permiten distribuir e interconectar los

componentes adems de ir realizando pruebas y mejorando el

diseo, estos programas almacenan informacin relacionada

con el diseo, facilitando la edicin para su mejoramiento o

como punto de partida de un nuevo proyecto, para este


78

proyecto se escogi el programa PROTEL99 como herramienta

de diseo del PCB de las tarjetas de los mdulos a

implementarse.

2.5.2 Descripcin de PROTEL99 para diseo de placas PCB

El programa PROTEL99 se trata de un sistema de diseo

completo para el entorno Windows, que proporciona un

conjunto de herramientas formadas por un gestor de

documentos integrado, un capturador de esquemticos, un

simulador analgico basado en SPICE, un simulador digital

basado en CUPL (lenguaje similar a ORCAD/PLD), una

herramienta de diseo de placas de circuito impreso (PCB) y

muchas otras funciones que nos facilitan el diseo del PCB.

En este proyecto de final de tpico nicamente se utiliz la

herramienta de diseo de placas de circuito impreso, la parte

ms importante de esta herramienta de diseo es la librera de

componentes que puede ser sencilla o compleja de acuerdo a

las necesidades del diseador, para obtener el PCB de las

placas PROTEL99 hace uso de sus herramientas integradas

como el capturador de esquemticos con herramientas de

diseo de PCB, el cual tiene enlaces que definen como un

smbolo del esquemtico se relaciona con un smbolo de PCB,


79

esta herramienta realiza el procesamiento del esquemtico

generando un fichero de netlist en el que se encuentra toda la

informacin de los componentes que sern usados para crear el

PCB por medio del programa de ruteado. Despus de crear el

fichero netlist se debe definir el tamao de los exteriores de la

placa y los agujeros de montaje necesarios en el PCB, segn

los requerimientos del circuito elctrico y electrnico, luego se

procede a examinar el netlist, este proceso analiza los

componentes utilizados de las libreras y los coloca uno encima

de otros en el origen del dibujo posteriormente se procede a la

correcta ubicacin de los componentes, cuando se mueve un

componente a una zona libre de la placa, se observa las lneas

que lo unen a otros componentes, estas lneas sirven para

encontrar la disposicin ms adecuada con respecto a los

dems componentes. Finalizada la adecuada disposicin de los

componentes sobre el rea de la placa se procede a realizar el

ruteado automtico donde ser ubicado el cobre que conectara

los diferentes componentes.


80

2.5.3 Clculo del ancho de la pista de una placa de circuito

impreso

El clculo del ancho que debe tener una determinada pista de

un circuito impreso esta basado en la aplicacin del estndar

general para la fabricacin de circuitos impresos ANSI-ICP

2221 desarrollado por la IPC (Association connecting

electronics industries).

Para el clculo de una determinada pista se requiere conocer

tres parmetros relacionados con la pista: la corriente mxima

que soportara la pista ser representada en amperios, el

incremento mximo de temperatura arriba de la temperatura

ambiente que soportara la pista expresado en grados Celsius, el

grosor de la pista es decir la altura de la pista respecto a la base

de la placa y ser expresado en onzas por pie cuadrado. En las

tarjetas desarrolladas en el proyecto se ha considerado 1

amperio como corrientes mximas permisibles que circularn

sin daar las pistas de control, 5 amperios en la pistas de fuerza

para el caso de la tarjeta de entrenamiento con dsPIC, y un

mximo de 6.5 amperios en las pistas de la tarjeta manejadora

de motores DC, tambin se consider en el diseo de todas las

tarjetas que no se generar un incremento de temperatura


81

mayor a 10 C con respecto a la temperatura ambiente, por

ltimo el grosor de las pistas en las placas ser de 1 onza/pie2

35 micras. En el anexo C, se encuentran las ecuaciones

utilizadas para determinar los resultados mostrados en las

siguientes tablas.

Tabla 2.5 Parmetros de las pistas de control


Corriente 1 A
DATOS

Espesor del cobre 1 onza/pie2


Temperatura mxima 35 C
Temperatura ambiente 25 C
PISTA

Externa 0,2489 mm
ANCHO

Interna 1,0126 mm

Tabla 2.6 Parmetros de las pistas de fuerza


Corriente 5 6,5 A
DATOS

2
Espesor del cobre 1 1 onza/pie
Temperatura mxima 35 35 C
Temperatura ambiente 25 25 C
ANCHO PISTA

Externa 2,7182 4,01 mm

Interna 9,0476 12,92 mm


82

2.5.4 Circuito impreso de las tarjetas

Los circuitos impresos obtenidos estn diseados a doble cara,

es decir las pistas de cobre estarn distribuidas tanto en la parte

de arriba como de abajo de la tarjeta, en las siguientes figuras

se muestran los PCBs para la tarjeta bsica para aplicaciones

con dsPIC y de la tarjeta de entrenamiento con dsPIC30F4011.

Figura 2.17 Diagrama del PCB de la tarjeta bsica para


aplicaciones con dsPIC
83

Figura 2.18 Diagrama del PCB de la tarjeta de entrenamiento con dsPIC


84

Figura 2.19 Diagrama del PCB del manejador de motores


CAPTULO 3

3. IMPLEMENTACIN DE LAS TARJETAS PARA EL

ENTORNO DE LA PLATAFORMA DE DESARROLLO

3.1 Consideraciones generales

Como se mencion en los captulos anteriores el entorno del

desarrollo de los programas para la tarjeta se realizar a travs del

compilador IDE de mikroBasic para dsPIC y su programacin podr

ser realizada por medio del Pickit2 o con el bootloader. Respecto a la

comunicacin es a travs del estndar RS-232 y su interfaz ser

implementada con la versin estudiantil de LabVIEW, para la

ejecucin es prioritario disponer de una plataforma de desarrollo que

soporte los entornos antes mencionados, para suplir esta necesidad

se escogi el sistema operativo Windows XP de Microsoft.


86

En cuanto a las consideraciones de construccin de las tarjetas, cada

una qued montada sobre una placa de fibra de vidrio de doble capa

de cobre, agujeros metalizados, recubrimiento antisoldante, y

serigrafiado sobre las tarjetas, en ambas se utiliz criterios de las

normas UNE (europeas), y ANSI (Instituto nacional de estndar

americano), esto asegura un correcto funcionamiento de las mismas

con sus respectivas limitaciones mencionadas en los anteriores

captulos, a continuacin se menciona los pasos ms elementales del

proceso de construccin para ambas tarjetas.

3.2 Detalles de construccin

3.2.1 Base aislante de la placa de circuito impreso

Los niveles de fabricacin de los circuitos impresos depende de

la cantidad de lminas de cobre que se depositen sobre un

determinado nmero de bases aislantes, de esta forma se

podr disponer de placas de circuito impreso de simple, doble y

mltiples capas (ver figura 3.1), en Ecuador el mercado de

fabricacin de placas de circuito impreso nos ofrece nicamente

la opcin de construccin a nivel de simple y doble capa.


87

Figura 3.1 Niveles de fabricacin de placas de circuito


impreso

FUENTE: Personal

Las tarjetas de circuito impreso utilizadas en este proyecto final

de tpico son de doble capa constituidas de una base aislante

de fibra de vidrio, en ambas capas se coloca una fina lmina de

cobre sobre la cual se hace el trazado de las pistas conductoras

que realizan las conexiones entre los distintos componentes de

la tarjeta, el espesor de la base aislante pueden ser de 0.2, 0.5,

0.7, 0.8, 1.0, 1.2, 1.5, 1.6, 2.0, 2.4, 3.2, 6.4 mm. (UNE 20-621-

84/3), el espesor de la capa conductora puede ser de 1, 2, 3

onza/pie2, es decir 35, 70, 105 micras. En la siguiente tabla se

muestra las dimensiones, espesor de la base aislante y capa

conductora del circuito impreso de las tarjetas implementadas.


88

Tabla 3.1 Dimensiones del PCB de las tarjetas


ELEMENTO DIMENSIN
Base aislante del PCB 1,5 mm
Espesor
Capa conductora 1onz/pie2
Largo de la placa 95,76 mm
Tarjeta bsica
Ancho de la placa 59,94 mm
Tarjeta de Largo de la placa 197,61 mm
entrenamiento Ancho de la placa 210,06 mm
Manejador de Largo de la placa 101,86 mm
motores DC Ancho de placa 140,21 mm

3.2.2 Dimetro y metalizado de los agujeros del PCB

El tamao de los agujeros depende del componente que se

vaya a insertar en la tarjeta, la tabla 3.2 muestra los dimetros

nominal y mnimo para los agujeros tipo metalizados

recomendados de acuerdo a la norma UNE 20-621-84/3.

Tabla 3.2 Dimetros para agujeros metalizados


DIMETRO DIMETRO
NOMINAL MNIMO
(mm) (mm)
0,4 0,35
0,5 0,45
0,6 0,55
0,8 0,75
0,9 0,85
1,0 0,9
1,3 1,2
1,6 1,5
2,0 1,9
FUENTE: Norma UNE 20-621-84/3
89

Las tarjetas obedecen a un diseo a doble capa es decir que existirn

pistas de conexiones en ambos lados de la tarjeta, siendo necesario que

exista continuidad entre algunas pistas de la capa superior e inferior, por

tal motivo se ha optado por la metalizacin de los agujeros de la tarjeta.

Las etapas de este proceso consisten en depositar cobre por medio de

electrlisis en las perforaciones con la finalidad de que estas adquieran

conductividad, luego adquieren una segunda capa de estao para

hacerlas mas resistentes y proteger el cobre de alguna oxidacin y

brindar una mejor soldabilidad de los componentes.

Cada agujero metalizado de la tarjeta tiene asociado un pad de

soldadura cuyo tamao depende del dimetro del agujero metalizado

para la insercin del componente y de las exigencias de la soldadura,

en la tabla 3.3 se muestran algunos dimetros de agujeros y su

respectivo pad recomendado por la norma UNE20-552-75 .

Tabla 3.3 Dimetros del PAD de soldadura del PCB


DIMETRO DIMETRO
NOMINAL MNIMO
AGUJERO DEL PAD
(mm) (mm)
0,6 1,8
0,8 2,3
1,0 2,5
1,3 2,8
1,6 3,1
2,0 3,5

FUENTE: Norma UNE 20-555-75


90

3.2.3 Proteccin con mscara antisoldante

La mscara antisoldante es una capa de laca horneable de alta

resistencia mezclada con un tinte, la cual tiene la funcin de

proteger las pistas de cortocircuitos, evitar la corrosin y el sulfatado

de las pistas por efectos qumicos o ambientales, y permite que al

soldar la soldadura se extienda nicamente en el punto donde esta

el agujero en el cual entra el pin del componente dando una forma

redonda y uniforme a el punto de soldadura, evitando que la suelda

se disperse por las pistas. La aplicacin de la laca de alta

resistencia es a travs de una mscara de antisoldante que evita

que los pads de soldadura queden cubiertos por el aislante

obtenindose una resolucin de 0.3mm, quedando protegidas las

caras superior e inferior de las placas del circuito impreso.

3.2.4 Tcnica de serigrafa sobre las tarjetas

La serigrafa es una tcnica que combina procedimientos

fotogrficos que junto a tintas especiales permite imprimir sobre

el circuito impreso los smbolos, nombres e inscripciones,

configuracin de los interruptores referentes a los componentes

de la tarjeta, esta impresin puede realizarse en la capa inferior

o superior de la misma.
91

Las tarjetas de circuito impreso vienen con el serigrafiado sobre

la capa superior donde se indican diferentes distintivos que

sern de mucha utilidad al momento del ensamblaje,

configuracin y programacin de los diferentes perifricos, entre

los distintivos se encontrar nombres o capacidades de

elementos electrnicos, puentes y seales provenientes de la

unidad de control.

3.2.5 Montaje de los componentes sobre la tarjeta de circuito

impreso

La forma de conectar los componentes con las capas

conductoras es a travs de agujeros metalizados y su respectivo

pad de soldadura, este tipo de montaje de los componentes

sobre la tarjeta se denomina THD (las siglas del ingls through

hole device), es decir los pines de los componentes se acoplan a

los agujeros metalizados para su posterior soldado con la placa

de circuito impreso. (Ver figura 3.2)

Figura 3.2 Montaje THD sobre el circuito impreso

FUENTE: Personal
92

En las tablas mostradas a continuacin se detalla la referencia y

la correspondiente descripcin de cada componente usado en

la tarjeta de desarrollo y aplicaciones con dsPIC30F4011.

Tabla 3.4 Resistencias y potencimetros utilizados en la


tarjeta de entrenamiento con dsPIC30F4011
REFERENCIA DESCRIPCIN
Resistencia 470R 1/4W, para led D1 indicador de energizacin de la
R1
fuente de control
Resistencia 1K 1/4W, para led D4 indicador de energizacin de
R2
fuente de motores
R3 Resistencia 4,7K 1/4W, para botn de nReseteo
R5 Resistencia 470R 1/4W, para led D7
R6, R7 2 Resistencia 56R 1/4W, para proteccin de programacin por ICD2
R8 Potencimetro 10K 1/4W, para contraste de pantalla de cristal lquido
R9, R13,R14,
R15, R16, R17,
10 Resistencias 330R 1/4W (naranja-naranja-marn), para barra de leds
R18, R19, R20,
R21
R10 Resistencia 2.2R 1/4W, para pantalla de cristal lquido
R11, R12, R22, 2 Resistencias 47R 1/4W (amarillo-violeta-negro),para Q1, Q2, Q3, y
R23 Q4 -2N3906
R24 Resistencia 10K 1/4W, para 74LS138
2 Resistencia 10K 1/4W, para la dos ultimas posiciones del banco de
R25, R26
interruptores configurados en lgica negativa
R4, R27, R28,
4 Resistencia 4,7K 1/4W, para nBotn, Botn1, Botn2, Botn int-ext
R29
R30, R31, R32,
4 Resistencia 4,7K 1/4W, para teclado hexadecimal
R33
2 Resistencia 4,7K 1/4W, para la dos primeras posiciones del banco
R34, R35
de interruptores configurados en lgica positiva
R36, R41 Potencimetro tipo araa de 10K
R37, R42 Resistencia 1K 1/4W, para Q5 y Q6 -2N2222
R38, R39 2 Resistencia 10K 1/4W, para conector PS/2
R40 Resistencia 4,7K 1/4W, para DS18B20 pin2
R43, R48, R49,
4 Resistencia 560R 1/4W, para los PC817 U09, U10, U11, U12
R50
Resistencia 1K 1/4W, para LED D9 indicador de habilitacin de
R44
bornera de conexin del motor DC
Resistencia 1K 1/4W, para LED D10 indicador de habilitacin de
R45
bornera de conexin del motor PASO
R46, R51, R52,
4 Resistencia 4,7K 1/4W, para los PC817 U09, U10, U11, U12
R57
R47, R53, R54,
4 Resistencia 10R 1/4W, para PC817 U09, U10, U11, U12
R55
R56 Resistencia 5R 2W
FUENTE: Personal
93

Tabla 3.5 Diodos utilizados en la tarjeta de


entrenamiento con dsPIC30F4011

REFERENCIA DESCRIPCIN
D1 Led indicador de energizacin de fuente de alimentacin de control
D3 Diodo 1N4007 de proteccin para fuente de alimentacin de control

D4 Led indicador de energizacin de fuente de alimentacin de motores

D5 Diodo 1N4007 de proteccin para fuente de alimentacin de motores

Diodo schotty para proteccin del dsPIC30F4011 durante


D6
programacin por ICD2

D7 Diodo LED en lgica negativa conectado a pin10 del dsPIC30F4011

D8 Diodo para proteccin de rel J18

D9 Led indicador EN-DC de energizacin del motor DC

D10 Led indicador EN-PASO de energizacin del motor de paso

D11 Diodo de paso libre para bobina A del motor de paso

D12 Diodo D12 para proteccin de Q7-IRF530

D13 Diodo D13 para proteccin de Q8-IRF530

D14 Diodo de paso libre para bobina C del motor de paso

D15 Diodo de paso libre para bobina B del motor de paso

D16 Diodo D16 para proteccin de Q9-IRF530

D17 Diodo D17 para proteccin de Q10-IRF530

D18 Diodo de paso libre para bobina D del motor de paso

FUENTE: Personal
94

Tabla 3.6 Capacitores utilizados en la tarjeta de


entrenamiento con dsPIC30F4011
REFERENCIA DESCRIPCIN
C1 Capacitor de desacoplo 100nF para el regulador LM7805
C2 Capacitor electroltico 470uFpara el regulador LM7805
C3 Capacitor de desacoplo 100nF para el regulador LM7805
C4 Capacitor de desacoplo 100nF para el regulador LM7805
C5 Capacitor electroltico de 220uF para el regulador LM7805
Capacitor 100nF de estabilizacin del funcionamiento para el
C6
dsPIC30F4011
C7 Capacitor de desacoplo 100nF para el dsPIC30F4011
C8 Capacitor de desacoplo 100nF para el dsPIC30F4011
C9 Capacitor de desacoplo 100nF para el dsPIC30F4011
C10 Capacitor de desacoplo 100nF para el dsPIC30F4011
C11 Capacitor de 22pF para cristal de cuarzo
C12 Capacitor de 22pF para cristal de cuarzo
C13 Capacitor de desacoplo 100nF para el MAX232
C14 Capacitor electroltico de 1uF para el MAX232
C15 Capacitor electroltico de 1uF para el MAX232
C16 Capacitor electroltico de 1uF para el MAX232
C17 Capacitor electroltico de 1uF para el MAX232
C18 Capacitor electroltico de 1uF para el MAX232
C19 Capacitor de desacoplo 100nF para bornera externa J6
C20 Capacitor de desacoplo 100nF para bornera externa J10
C21 Capacitor de desacoplo 100nF para 74LS138
C22 Capacitor de desacoplo 100nF para PS/2
C23 Capacitor de desacoplo 100nF para encoder
C24 Capacitor de desacoplo 100nF para servomotor 1
C25 Capacitor de desacoplo 100nF para servomotor 2
C26 Capacitor de desacoplo 100nF para servomotor 3
C27 Capacitor de ?? RED SNUBBER
FUENTE: Personal
95

Tabla 3.7 Conectores, y borneras utilizados en la tarjeta de


entrenamiento con dsPIC30F4011
REFERENCIA DESCRIPCIN
J0 Bornera de salida de voltaje no regulado 8-12 VDC
J1 Adaptador de 8-12 V AC/DC
J2 Conector DB9 hembra para COM PC
J3 Conector DB9 hembra para bootloader
J4 Conector RJ12 para ICD2
J5 Conector polarizado para I2C/SPI
J6 Bornera de salida de voltaje regulado 5 VDC
J7 Bornera de conexin externa I/O para RB0 y RB1
J8 Bornera de conexin externa I/O para RE0 y RE1
J9 Bornera de conexin externa I/O para RF0 y RF1
J10 Bornera de salida de voltaje regulado 5 VDC
J11 Bornera de conexin externa I/O para RE2 y RE3
J12 Bornera de conexin externa I/O para RE4, RE5, y RE8
J13 Bornera de conexin externa I/O para RF2, RF3, y RF6
J18 Bornera de salida por rel
J19 Conector PS/2 para teclado de PC
J20 Bornera para conexin del encoder Seal Z, Fase A, y Fase B
J21 Bornera de salida de voltaje regulado 5 VDC
J22 Conector polarizado para servomotor 1
J23 Conector polarizado para servomotor 2
J24 Conector polarizado para servomotor 3
Conector simple tipo cabecera hembra x8 para teclado
U6
hexadecimal
Conector simple hembra maquinado x 3 para sensor de
U8
temperatura DS18B20
LCD1 Conector simple tipo cabecera hembra x18 para LCD
Y1 Zcalo simple hembra maquinado x 3 para cristal de cuarzo
M1 Bornera para conexin del motor de paso
MG1 Bornera para conexin del motor DC
BT1 Bornera de alimentacin para motores 6-24 VDC
JP1, JP2, JP3, JP4, JP5,
JP6, JP7, JP8, JP9, JP10
JP11, JP12, JP13, JP14,
JP15, JP16, JP17, JP18,
JP21, JP22, JP23, JP24, 38 Conector simple macho x 2 pines
JP25, JP26, JP28, JP29,
JP30, JP31, JP32, JP33,
JP34, JP35, JP36, JP37,
JP38, JP39, JP40, JP41
JP19, JP20, JP27, 3 Conector simple macho x 2 pines
JP1 a JP41 16 puentes*
* Para saber la descripcin del respectivo puente refirase a conectores y seales
FUENTE: Personal
96

Tabla 3.8 Integrados, zcalos y otros dispositivos utilizados


en la tarjeta de entrenamiento con dsPIC30F4011
REFERENCIA DESCRIPCIN
Zcalo maquinado de 20 pines para los 4 visualizadores 7 de
J14, J15, J16, segmentos
J17
4 visualizadores de 7 segmentos ctodo comn
Zcalo de 40 pines para dsPIC30F4011
U2
dsPIC30F4011
Zcalo de 16 pines para MAX232
U3
MAX232
Zcalo de 16 pines para decoder 74LS138
U4
74LS138
Porta fusible para la fuente de control
F1
Fusible de 1A
Porta fusible para la fuente de motores
F2
Fusible de 5A
Cristal de cuarzo de 7,3728MHz conectado entre pines 13 y 14 del
Y1
daPIC30F4011
U8 Sensor de temperatura DS18B20
LCD1 Pantalla de cristal lquido 16x2
Zcalo de 20 pines para barra de diodos emisores de luz (leds)
U5
Barra de diodos emisores de luz x 10
U6 Teclado matricial
U7 Bocina 5 VDC
RLY1 Rel simple de 5 VDC
F1 Fusibles de 1amperio
F2 Fusibles de 5 amperios
Q1 Transistor bipolar PNP 3906 para habilitar visualizador1
Q2 Transistor bipolar PNP 3906 para habilitar visualizador2
Q3 Transistor bipolar PNP 3906 para habilitar visualizador3
Q4 Transistor bipolar PNP 3906 para habilitar visualizador4
Q5 Transistor bipolar NPN 2N2222 para bocina
Q6 Transistor bipolar NPN 2N2222 para rel simple
Q7 Transistor mosfet IRF530 para manejo de motor DC y de paso
Q8 Transistor mosfet IRF530 para manejo de motor DC y de paso
Q9 Transistor mosfet IRF530 para manejo de motor DC y de paso
Q10 Transistor mosfet IRF530 para manejo de motor DC y de paso
U9 Optoacoplador de 1 canal PC817 para manejo de motor DC y de paso
U10 Optoacoplador de 1 canal PC817 para manejo de motor DC y de paso
U11 Optoacoplador de 1 canal PC817 para manejo de motor DC y de paso
U12 Optoacoplador de 1 canal PC817 para manejo de motor DC y de paso
D2 Puente rectificador 1 amperio para fuente de control
U1 Regulador de voltaje a 5 VDC para fuente de control
FUENTE: Personal
97

Tabla 3.9 Interruptores, botones y teclados utilizados en


la tarjeta de entrenamiento con dsPIC30F4011
REFERENCI
DESCRIPCIN
A
Interruptor de 2 posiciones para ON/OFF de fuente de
S1
alimentacin de control
S2 Interruptor de 2 posiciones para energizacin de los motores
S7 Banco de Interruptores x 4
S11 Interruptor de 3 posiciones para habilitacin de motor DC/NC/PASO
S12 Interruptor de 3 posiciones para habilitacin de motor DC/NC/PASO
S13 Interruptor de 3 posiciones para habilitacin de motor DC/NC/PASO
S14 Interruptor de 3 posiciones para habilitacin de motor DC/NC/PASO
S15 Interruptor de 3 posiciones para habilitacin de motor DC/NC/PASO
S16 Interruptor de 3 posiciones para habilitacin de motor DC/NC/PASO
S17 Interruptor de 3 posiciones para habilitacin de motor DC/NC/PASO
S18 Interruptor de 3 posiciones para habilitacin de motor DC/NC/PASO
S19 Interruptor de 3 posiciones para habilitacin de motor DC/NC/PASO
S3 Pulsador para nReset
S4 Pulsador con lgica negativa
Pulsador/Interruptor para alimentacin del dsPIC durante la
S5
programacin usando la fuente de control o del Pickit (USB)
S6 Pulsador/Interruptor para energizar pantalla de cristal lquido
S8 Pulsador con lgica negativa o positiva
S9 Pulsador con lgica negativa o positiva
S10 Pulsador con lgica negativa o positiva
FUENTE: Personal
98

3.3 Seales y conectores

Para empezar a utilizar la tarjeta de entrenamiento con dsPIC30F4011 es

conveniente colocar todos los interruptores y puentes de acuerdo con la

aplicacin requerida, las siguientes tablas muestran los ajustes previos

para utilizar las diferentes aplicaciones implementadas en la tarjeta.

La alimentacin para la fuente de control, se realiza a travs de un

conector cuyo voltaje de entrada es 8-12 V AC/DC, luego se debe

colocar en encendido el interruptor para la energizacin

obtenindose finalmente un voltaje regulado de 4.5-5.5 VDC y un

suministro de hasta mximo 1 amperio de corriente que energizarn a

la unidad de control de la tarjeta (ver tabla 3.10).

Tabla 3.10 Alimentacin de la fuente de control


CONECTOR ENTRADA
Conector de alimentacin para
fuente de control 8-12 V AC/DC
~

CONECTOR/INTERRUPTOR SALIDA
Interruptor de energizacin APAGADO ENCENDIDO
Bornera de VNR 0 VDC 8-12 VDC
Bornera de VR 0 VDC 4,5 - 5,5 VDC
FUENTE: Personal

Los perifricos de visualizacin quedarn habilitados de acuerdo a la

ubicacin del puente de este mdulo, para la posicin 1 se habilita la

pantalla de cristal lquido, en la posicin 2 se habilitan los ocho

primeros leds de la barra, y en la posicin 3 quedan habilitados los


99

visualizadores de siete segmentos, es decir solo quedara conectado

en una de las tres posiciones habilitando su respectivo perifrico

como se ilustra la en figura 3.3, de igual forma en la tabla 3.11 se

indica las posiciones en que se ubica el puente.

Figura 3.3 Esquema de conexin del puente para


perifricos de visualizacin

POSICIN: 123
LCD

LEDS
DISPLAY

FUENTE: Personal

Tabla 3.11 Posicin del puente para perifricos de visualizacin


POSICIN DEL PUENTE 1-2
PERIFRICO
1 2 3
Pantalla de cristal Habilitado Deshabilitado Deshabilitado
lquido
Barra de leds x 8 Deshabilitado Habilitado Deshabilitado
Visualizador 7SEG Deshabilitado Deshabilitado Habilitado
FUENTE: Personal

Cuando se encuentre habilitado la pantalla de cristal lquido

adicionalmente est disponible un interruptor para el encendido o

apagado y un potencimetro para variar el contraste de la pantalla.


100

En cuanto a los perifricos que trabajan con el puerto B, se utilizan

ocho puentes para habilitar las diferentes combinaciones de los

dispositivos que trabajan con ese puerto del dsPIC30F4011 segn su

posicin (tabla 3.12), para la posicin 1 todo el puerto B manejar un

teclado matricial (ver figura 3.4), mientras que en la posicin 2 el

puerto B maneja a cuatro perifricos, leds desde RB0 a RB1, banco

de interruptores desde RB2 a RB5, potencimetro para RB6, pulsador

para RB7, finalmente si los puente se ubican en la posicin 3 se

habilitar las seales RB0 y RB1 en borneras externas, el rel simple

para RB2, las seales del encoder para RB3,RB4,RB5, el sensor de

temperatura para RB6, potencimetro para RB7. Tambin es posible

realizar combinaciones de las ubicaciones de los puentes para el

manejo de los perifricos siempre que esto sea factible para su

respectivo funcionamiento.

Tabla 3.12 Posiciones del puente para habilitacin del perifrico


en el puerto RB
Posicin de los Puentes
Pin Puerto
1 2 3
2 RB0 TECLADO MAT Diodo led 1 Bornera externa RB0
3 RB1 TECLADO MAT Diodo led 2 Bornera externa RB1
4 RB2 TECLADO MAT BancoInterrup1 Rel
5 RB3 TECLADO MAT BancoInterrup2 Encoder Seal Z
6 RB4 TECLADO MAT BancoInterrup3 Encoder Fase A
7 RB5 TECLADO MAT BancoInterrup4 Encoder Fase B
8 RB6 TECLADO MAT Potencimetro 2 Sensor Temperatura
9 RB7 TECLADO MAT Botn pulsador 2 Potencimetro 1
FUENTE: Personal
101

Figura 3.4 Esquema de conexin de los puentes para


perifricos del puerto RB

RB0

RB1

RB2

RB3

RB4

RB5

RB6

RB7
POSICIN: 1 2 3

FUENTE: Personal

Las resistencias del teclado matricial son manejadas por un puente de

dos posiciones que las dejar conectadas a Vcc o Gnd.

La tarjeta de entrenamiento tambin dispone de tres pulsadores botn

uno, dos, e interrupcin externa, configurables en lgica positiva o

negativa mediante dos puentes de dos posiciones (figura 3.5), para la

configuracin de una lgica se debe ubicar ambos puentes en la

posicin 1-2 2-3 como se muestra en la tabla 3.13


102

Figura 3.5 Esquema de conexin de los puentes para


pulsadores con lgica configurable

1: Positiva
2
3: Negativa
Lgica

FUENTE: Personal

Tabla 3.13 Posicin de los puentes para pulsadores con lgica


configurable
Puente -3
PERIFRICO
Posicin 1-2 Posicin 2-3
Resistencia pull up a Resistencia pull
Teclado matricial
Vcc up a GND
Botn 1
Botn 2 Lgica positiva* Lgica negativa*
Botn INT EXT
*:Se configuran dos puente al mismo tiempo
FUENTE: Personal

Adicionalmente se encuentran implementados dos pulsadores nBoton

y nReseteo, ambos con lgica negativa, el primero comparte el puerto

RB8 del dsPIC con un diodo emisor de luz, obtenindose dos

perifricos adicionales, mientras que el segundo pulsador sirve como

seal de reseteo para el dspic30F4011.

La tabla 3.14 muestra donde debe colocarse los puentes para la

habilitar los perifricos conectados a RE8, RF0, RF1, y RF6 del

dsPIC30F4011, habr un puente en cada puerto habilitando

nicamente a un perifrico, por ejemplo para tener las cuatro

borneras externas se debe colocar los puentes en la posicin1, pero


103

para habilitar el resto de perifricos se debe de reubicar el puente(s),

en la posicin del perifrico requerido.

Tabla 3.14 Posiciones del puente para habilitacin del perifrico


en el puerto RE8,RF0,RF1, y F6
Posicin del puente-2
Pin Puerto
1 2 3 4
17 RE8 Born. Exter. RE8 Botn Interrup. -- --
30 RF0 Born. Exter. RF0 PS/2 - Reloj -- --
29 RF1 Born. Exter. RF1 PS/2 - Dato -- --
24 RF6 Born. Exter. RF6 Bocina Botn puls. 1 SPI SCK
-- : No disponible
FUENTE: Personal

Para el manejo de los motores de paso y de corriente continua es

necesario conectar una fuente de alimentacin externa en la bornera

destinada para este propsito, luego se habilita el suministro de

energa mediante el interruptor de alimentacin de dos posiciones

encendido/apagado, el encendido de un led indicar cuando el

interruptor est habilitado y el suministro de energa es correcto,

posteriormente se debe habilitar la configuracin del motor que se

utilizar, para esto se cuenta con un banco interruptores de tres

posiciones, seleccionando entre las configuraciones para el manejo

de motor dc, ningn motor conectado, o para manejar un motor de

paso (tabla 3.15), la conexin del motor seleccionado se realizar a

travs de borneras externas implementadas para estos motores.


104

Tabla 3.15 Configuracin para el manejo de los motores DC y paso


Entradas
Habilitador Salidas
Posicin Accin
Bornera de conexin de 1 Borne DC(+) --
fuente de motores 6-24V
(Batera +DC-) 2 Borne DC(-) --

encendido de Led encendido


1
Interruptor de alimentacin motores (VM)
(encendido/apagado VM)
apagado de Led apagado
2
motores (VM)
1 Motor DC Led encendido-DC
Banco de Interruptores de
2 NC Led apagado
fuerza S11 a S19
3 Motor Paso Led encendido-Paso
-- : No disponible
FUENTE: Personal

En la tabla 3.16 se indica la seal correspondiente a cada punto de

conexin de las borneras implementadas para conectar un encoder,

motor DC, motor de paso, y las borneras destinadas para la conexin

de hasta tres servomotores.

Tabla 3.16 Conectores para encoder, motores dc, paso, y servo motores
MOTOR
CONECTOR
Cable Alimentacin
1 Vcc
Encoder 2 Gnd
3 Seal Z 5VDC
J20, J21 4 Fase A
5 Fase B
Bornera del motor DC 1 M(+)
MG1 (MOTOR DC 2 M(-) 6-24 VDC
+MT-)
1 Fase 1
2 Comn A
Bornera del 3 Fase 3
motor de paso M1 6-24 VDC
(MOTOR-PASO) 4 Fase 4
5 Comn B
6 Fase 2
Conectores de servo 1 Control
motores J22, J23, J24 2 Vcc 5VDC
(SERVO x 3) 3 Gnd
FUENTE: Personal
105

En la tarjeta de entrenamiento existen otros conectores adicionales

que tienen vinculados su respectivo perifrico y/o funcin, por ejemplo

existen dos conectores DB9 hembra de los cuales uno esta destinado

para la carga del programa de bootloader al dsPIC, y el otro conector

servir como puerto de comunicacin entre el computador y el

microcontrolador, tambin existen conectores para manejo de otros

perifricos como teclados tipo PS/2, dispositivos para comunicacin

SPI, entre otros como se muestra en la tabla 3.17

Tabla 3.17 Conexin de elementos adicionales


CONECTOR FUNCIN
DB9 hembra Bootloader
DB9 hembra COM PC
Conector Polarizado x4 I2C / SPI
RJ12 ICD2
PS/2 Teclado PC
Conector hembra x3 Sensor de Temperatura
Bornera Rel
Sin conector Bocina

FUENTE: Personal

3.4 Interfases de comunicacin disponible

Se dispone de diferentes interfases de comunicacin siendo estos

protocolos reglas fundamentales para permitir el flujo de informacin

entre distintos perifricos conectados a las tarjetas y el computador

para el intercambio de datos. Los protocolos de la tarjeta bsica para


106

aplicaciones con dsPIC30F4011, pueden ser implementados de

manera externa a travs de las borneras disponibles para este

propsito, en cuanto a la tarjeta de entrenamiento con dsPIC30F4011

los protocolos disponibles se describirn a continuacin:

Comunicacin serial RS-232, es importante que una tarjeta de desarrollo

disponga de puertos de comunicaciones y transmisin de datos. Se ha

incorporado una interfaz para realizar la comunicacin serial mediante el

protocolo RS-232, para lo cual se ha hecho uso del UART2 del dsPIC,

teniendo como elemento final un conector DB9 hembra pudiendo ser

conectado a la mayora de ordenadores personales.

La tarjetas de entrenamiento dispone de dos tipos de comunicacin

SSP (puerto serial sincrnico), muy til para comunicacin con otros

microcontroladores, dispositivos o perifricos, por ejemplo: EEPROM

serie (almacenamiento de datos no voltiles), registros de

desplazamiento (expansin de entradas y/o salidas), manejadores de

visualizadores (reduccin de conexiones), conversores A/D

(digitalizacin externa de seales), entre otros.

Los modos de operacin posibles del mdulo SSP son: SPI (interfase

serial de perifricos) interfase de perifricos seriales, e I2C (entre

circuitos integrados).
107

La comunicacin SPI permite la transmisin y recepcin sincrnica

simultnea de datos seriales entre perifricos, debiendo existir un

dispositivo maestro (genera la seal de reloj) y uno varios esclavos

(reciben la seal de reloj) mediante la conexin de 3 pines asociados al

puerto SPI, descritos a continuacin: salida serial de datos (SDO-dato

serial de salida), entrada serial de datos (SDI- dato serial de entrada), y el

reloj de comunicacin serial (SCK-reloj serial), de manera adicional hay

una cuarta seal que se puede utilizar cuando el microcontrolador se

configura como dispositivo esclavo (SS-seleccin de esclavo).

El protocolo de bus I2C permite la transmisin de datos entre varios

circuitos integrados, usando tan solo dos hilos, descritos a

continuacin: reloj serial sincrnico (SCL-synchronous serial clock) y

la seal de datos seriales (SDA-synchronous serial data).

La simplicidad y facilidad de uso son slo algunas de las razones

para incluirlo en sistemas empotrados. La mayora de

microcontroladores modernos, disponen de interfases I2C y SPI.

3.5 Anlisis de costos

El siguiente anlisis estima el costo econmico del proyecto, para lo

cual se han dividido los gastos en varias etapas mostradas a

continuacin: recursos por hardware, por software, por componentes


108

de fabricacin del circuito impreso, y por recursos humanos. El total

de los costos es la suma de todos los costos anteriores mas el costo

del producto una vez puesto en el mercado.

3.5.1 Costos de recursos por hardware

Son los recursos necesarios para la concepcin final del

proyecto pero estos no forman parte de l. Entre los recursos de

hardware se encuentra un ordenador personal con las

siguientes caractersticas mostradas en la tabla 3.18

Tabla 3.18 Caractersticas del ordenador personal


DESCRIPCIN
Procesador Core 2 Duo de 3GHz
Memoria RAM de 2 Gb
Disco duro de 250 Gb
Monitor panormico de 20 LCD
Modem para Internet por cable
FUENTE: Personal

Adicionalmente se necesita como hardware un kit de soldadura

para el montaje de componentes sobre el circuito impreso,

multmetro digital, un programador para dsPIC, entre otros, en

la tabla 3.19 se detalla los costos de estos recursos.


109

El ordenador personal tiene un valor de 1000 dlares, pero ser

amortizado a un periodo de 4 aos, entonces el valor del

computador antes de la amortizacin sera de 20.83 $/mes, para

el anlisis de la amortizacin se ha considerado 8 horas diarias

de trabajo y suponiendo que el mes cuenta con 20 das

laborables se obtiene 160 h/mes que corresponden a las horas

de uso del computador durante un mes, respecto al tiempo

demandado por proyecto por parte del ingeniero es de 450 horas

de trabajo, finalmente se tendr el siguiente gasto mensual

amortizado del computador de 58.59 dlares (ver tabla 3.20).

20.83 $/mes
Amortizacin del computador = * 450 h = $ 58.59
160 h/mes

Tabla 3.19 Costo por recursos de hardware


DESCRIPCIN CANT VALOR
PC personal Core 2 Duo de 3GHz 1 $ 58,59*
PicKit2 - Grabador de dsPIC 1 $ 60,00
Kit Soldador de precisin Back & Decker 1 $ 35,00
Multmetro digital 1 $ 20,00
Pinza extraccin de integrados 1 2,80
Tableros de pruebas medianos 3 $ 25,00
TOTAL $201,39
FUENTE: Personal
110

Tabla 3.20 Costos de amortizacin del computador


DESCRIPCIN VALOR UNIDAD
PC personal Core 2 Duo de 3GHz 1000,00 dlares
Amortizacin del PC en 4 aos 48 meses
Costo por mes del PC 20,83 $/mes
Horas de uso del computador 160 h/mes
Horas de trabajo del ingeniero por proyecto 450 h
Amortizacin del computador 58,59 dlares

FUENTE: Personal

3.5.2 Costos de recursos por software

Los recursos por software usados para el proyecto estn

conformados por el sistema operativo Windows XP Profesional

SP3, el programa de diseo de placas de circuitos impresos

Altium Designer 6.0, el software mikroBasic para dsPIC 30/33,

para el desarrollo de aplicaciones con dsPIC, el programador

USB Pickit2 v2.50 (ver tabla 3.21).

Tabla 3.21 Costo por recursos de software


DESCRIPCIN CANT PVT
Microsoft Windows XP Profesional 1 $ 0,00
PicKit2 v2.50 Software(incluido en Kit) 1 $ 0,00
mikroBasic para dsPIC 30/33 1 $ 149,00
Altium Designer 6.0 1 $ 187,50
TOTAL $ 336,50

FUENTE: Personal

En cuanto a la herramienta de diseo de placas de circuito

impreso tiene un valor de 8000 dlares, pero al igual que el

computador ser amortizado en un periodo de 4 aos, entonces el


111

valor del software antes de la amortizacin sera de 166.67 $/mes,

para el anlisis de la amortizacin se ha considerado 160 horas

laborables en un mes, respecto al tiempo demandado por

diseo por parte del ingeniero es de 180 horas de trabajo,

finalmente se tendr el siguiente gasto mensual amortizado del

computador de 187.50 dlares (ver tabla 3.22).

166.67 $/mes
Amortizacin de herramienta de diseo = *180 h = $ 187.50
160 h/mes

Tabla 3.22 Costos de amortizacin de Altium designer


DESCRIPCIN VALOR UNIDAD
Altium Designer 6.0 1000.00 dlares
Amortizacin del Altium Designer en 4 aos 48 meses
Costo por mes del Altium Designer 166.67 $/mes
Horas de uso del PC 160 h/mes
Horas de trabajo del ingeniero por diseo 180 h
Amortizacin del Altium Designer 6.0 187.50 dlares

FUENTE: Personal

3.5.3 Costos por recursos humanos

Los costos por recursos humanos corresponden a los sueldos

hipotticos correspondientes al ingeniero a cargo de investigaciones

para diseo, experimentacin, e implementacin de nuevos

proyectos este sera de 550 $/mes; mientras que al tcnico

encargado del montaje, comprobacin y prueba de las tarjetas sera

de 250 $/mes, para este anlisis se considera que un mes tiene 160
112

horas hbiles entonces se obtiene los salarios por hora, para mayor

detalle refirase a las siguientes tablas.

Tabla 3.23 Salarios por hora del personal


DESCRIPCIN CANT
Ingeniero 3,44 $/h
Tcnico 1,56 $/h

FUENTE: Personal

Tabla 3.24 Costo por tarea del ingeniero


TAREA HORAS COSTO
Anlisis tcnico 40 137,50
Diseo 100 343,75
Implementacin 150 515,63
Experimentacin 80 275,00
TOTAL 370 1271,88

FUENTE: Personal

Tabla 3.25 Costo por tarea del tcnico


TAREA HORAS COSTO
Montaje 12 18,75
Comprobacin y prueba de la tarjeta 5 7,81
TOTAL 17 26,56

FUENTE: Personal

Tabla 3.26 Costo por recursos humanos


TAREA HORAS COSTO
Ingeniero 1 1271,88
Tcnicos 1 26,56
TOTAL 2 1298,44

FUENTE: Personal
113

3.5.4 Costo total del proyecto

En la siguiente tabla se muestra los valores de los gastos

correspondientes a cada etapa de realizacin del proyecto

como se mencion anteriormente.

Tabla 3.27 Costo total del proyecto


TAREA COSTO
Costo de recurso por hardware 210,51
Costo de recurso por software 253,17
Costo de componentes y fabricacin para la
289,19
tarjeta principal
Costo de componentes y fabricacin para la
37,79
tarjeta secundaria
Costo de recursos humanos 1298,44
TOTAL 2089,09
FUENTE: Personal

El presupuesto total para el desarrollo de los prototipos asciende a

la cantidad de dos mil ochenta y nueve 09/100 dlares.

3.5.5 Estudio del costo de la tarjeta de entrenamiento con

dsPIC30F4011 en el mercado.

Es muy importante conocer un valor referencial para la

comercializacin del kit de entrenamiento, dado este motivo es

importante identificar los diferentes tipos de gastos generados

para la produccin del producto, para determinar el costo de

cada unidad se deben considerar los siguientes parmetros:

costos fijos (CF), costos variables (CV), costos totales (CT),

ingresos totales (IT), utilidad (U), y el punto de equilibrio.


114

Se debe de tener en cuenta que los costos fijos son

independientes del nmero de unidades vendidas como los gastos

por recursos de software y hardware, mientras que aquellos

gastos que infieren de acuerdo a la produccin demandada se

llaman costos variables por ejemplo gastos en materiales, y costos

por recursos humanos formaran parte de este tipo de costo. El

costo total es la suma de los costos fijos con los costos variables.

CT = CF + CV = CF + CVUNIDAD * N UNIDADES

Los ingresos totales son obtenidos del nmero de unidades vendidas.

IT = PU * N UNIDADES CT

El punto de equilibrio se define como el nivel de ventas que

cubre todos los costos de operacin fijo y variables, es decir el

nivel en el cual las utilidad es cero, la ecuacin para la utilidad

antes de impuestos e intereses se describe a continuacin.

UAII = PU * N UNIDADES CF CVUNIDAD * N UNIDADES

Igualando la anterior ecuacin a cero se obtiene la siguiente

ecuacin para el clculo el punto de equilibrio:

CF
N UNIDADES =
PU CV
115

Los costos de los materiales para la tarjeta de entrenamiento

disminuyen de acuerdo a la cantidad de elementos comprados,

como el dsPIC, sensor de temperatura, transistores, entre otros

componentes de la tarjeta, entre los materiales no esta incluido la

pantalla de cristal lquido, motores, y encoder.

Tabla 3.28 Costo de materiales para implementacin de


la tarjeta de entrenamiento segn las unidades
producidas
UNIDADES COSTO DE
PROD. MATERIAL
1-5 173,44
6-25 170,18
26-50 123,12
51-100 110,67
101-500 106,42
501-1000 101,16
1001-5000 97,28
5001-10000 91,37
10000+ 88,36
FUENTE: http://www.electroavil-es.com/

Basndose en los datos de la tabla anterior se aproximar un

valor referencial de 250 dlares para la produccin de 1 a 25

unidades, pero si aumenta la demanda de la tarjeta de

entrenamiento implicara que el valor de venta disminuya a una

cantidad que cubra los costos totales de produccin y obtener

una utilidad considerable para el inversionista. Se debe

considerar que realizando una comparacin econmica entre

las tarjetas de entrenamiento disponibles en el exterior estas


116

tienen un valor aproximado incluidos costos de transporte e

impuestos de 230 dlares (precio en Ecuador), en cuanto al

aspecto tcnico la tarjeta de entrenamiento con dsPIC30F4011

dispone de una mayor variedad de funcionalidades en relacin

con las tarjetas ofertadas en el mercado exterior.

La tabla 3.28 muestra los costos en materiales de acuerdo a la

cantidad de unidades producidas, el costo de cada unidad

disminuye a medida que la produccin aumenta con el objetivo de

incentivar su compra y obtener ms beneficios. En cuanto al punto

de equilibrio este es la cantidad mnima que se debe de

producirse para vender a un determinado precio y cubrir los costos

totales de produccin es decir cuando la utilidad es igual a cero.

Por citar el caso donde la produccin asciende a 1001 unidades

los costos referentes a esta produccin permiten que el precio de

venta al pblico sea de 150 dlares, siendo su punto de equilibrio

de 40 unidades producidas y vendidas, obteniendo un ingreso

aproximado de 150 mil dlares cuando toda la produccin halla

sido vendida, con una utilidad de 51 mil dlares. Siendo el valor

de venta a este nivel de produccin un precio competitivo en el

mercado interno de tarjetas de entrenamiento (ver tabla 3.29).


Tabla 3.29 Costo por el nmero de unidades producidas
PUNTO DE
PRECIO INGRESO EQUILIBRIO
UNIDADES CF CM CV CT UAII
UNITARIO TOTAL
Unidades
1-5 1762,11 173,44 173,44 1935,55 250,00 250,00 -1685,55 23,02
6-25 1762,11 170,18 1021,08 2783,20 250,00 1500,00 -1283,20 22,08
26-50 1762,11 123,12 3201,02 4963,13 220,00 5720,00 756,87 18,19
51-100 1762,11 110,67 5644,00 7406,12 180,00 9180,00 1773,88 25,42
101-200 1762,11 106,42 10748,26 12510,37 180,00 18180,00 5669,63 23,95
201-500 1762,11 106,42 21390,10 23152,22 175,00 35175,00 12022,78 25,69
501-1.000 1762,11 101,16 50679,71 52441,82 175,00 87675,00 35233,18 23,86
1.001-5.000 1762,11 97,28 97377,45 99139,56 150,00 150150,00 51010,44 33,42
5.001-10.000 1762,11 91,37 456958,15 458720,27 150,00 750150,00 291429,73 30,06
10.001-100.000 1762,11 88,36 883654,89 885417,01 150,00 1500150,00 614732,99 28,59
100.001-1.000.000 1762,11 88,36 8835753,73 8837515,84 150,00 15000150,00 6162634,16 28,59
1.000.000+ 1762,11 88,36 88356653,73 88358415,84 150,00 150000000,00 61641584,16 28,59
Fuente: Personal
CAPTULO 4

4. PROGRAMACIN Y APLICACIONES

4.1 Ejemplos bsicos para el uso de la tarjeta de desarrollo con

dsPICs

En este captulo se describe varios programas desarrollados que

sern aplicaciones fundamentales muy tiles para empezar con el

manejo de algunos de los perifricos implementados en las tarjetas,

como se mencion en captulos anteriores el software para el

desarrollo de las aplicaciones es mikroBasic en su versin estudiantil

que puede ser descargada gratuitamente desde su sitio en internet de

Mikroelectronica con la limitacin respecto al tamao del programa,

pero ser suficiente para el desarrollo de los programas para la tarjeta

de entrenamiento, mientras que para la programacin del

dsPIC30F4011 se har uso del programador para dsPIC (PicKit2), o

alternativamente podr usarse el bootloader desarrollado por la

compaa Ingenia, este paquete es de libre uso y dedicado a la


120

familia de los dsPIC30F, el cual permitir descargar en el dsPIC los

programas desarrollados en mikroBasic a travs del puerto serial (Ver

anexo A).

Entre las aplicaciones bsicas desarrolladas se encuentran el manejo

de visualizadores de siete segmentos, una bocina, el uso de una

pantalla cristal lquido 16x2, un teclado matricial, conversin

analgica a digital de un potencimetro, entre otras aplicaciones.

El programa descrito a continuacin se refiere a la conversin analgica

a digital que ser mostrada a travs de una pantalla de cristal lquido.

'==========================================================
'| TTULO : CONVERSIN ADC |
'| AUTORES : O.XAVIER BARCIA R. -- ROGER A. CALLE C. |
'| ESCUELA : ESCUELA SUPERIOR POLITCNICA DEL LITORAL |
'| FECHA : Julio/2008 |
'| VERSIN : 1.0 |
'==========================================================
'|CONFIGURACIONES DE LOS PUENTES |
'| - LCD |
'| - Potencimetro uno en RB7 |
'|ACCIONAMIENTO |
'| - Encender el interruptor de alimentacin del control |
'| - Setear el potencimetro en una determinada posicin |
'==========================================================
program ADC
'======================================================
'DECLARACIONES GLOBALES DISPONIBLE EN TODO EL PROGRAMA
'======================================================
'Declaracion de Symbols
'-------------------------------------------------
symbol DELAY_medS = Delay_ms(500) 'Delay de 500 ms
symbol DELAY1S = Delay_ms(1000) 'Delay de 500 ms

'Declaracion de Variables
'-------------------------------------------------
dim i as byte
121

'======================================================
'P R O G R A M A P R I N C I P A L
'======================================================
main:
'Variables locales
dim adcRes as word
dim txt,txthex as string[20]
dim ADCVolt as float
ADPCFG=$FF7F 'Todas Digitales, excepto RB7 como
' analgica
TRISB = $80 'Se configura el puerto B como salida
TRISC = 0 ' TRISB.7 = 1 seteado como entrada
TRISD = 0 ' necesario para trabajar como ADC
TRISE = 0
TRISF = 0
PORTB.8 = 1 'Salidas del puerto B8 en alto
DELAY_medS 'Delay_ms(500)
Lcd_Init(PORTD, 3,2,1,0, PORTC, 13,12,14)
Lcd_Cmd(LCD_CURSOR_OFF)
Lcd_Out(1, 2, "Parpadeando LED!")
FOR i = 1 to 4
Lcd_Out(2, 2, ". ")
PORTB.8 = %0
Delay_ms(100) 'Espera para la inicializacin
Lcd_Out(2, 2, ".. ") ' del teclado
PORTB.8 = %1
Delay_ms(100) 'Espera para la inicializacin
Lcd_Out(2, 2, "...") ' del teclado
Delay_ms(100)
NEXT i
Lcd_Cmd(LCD_CLEAR)
Lcd_Out(1, 1, "ADC ==>")

while true
adcRes = Adc_Read(7) 'Valores max=0x03FF = 5 Voltios
'min=0 voltios
Delay_ms(50)
ADCVolt= adcRes * 5/1023

'sub function FloatToStr(dim fnum as real, dim byref


' str as string[20]) as byte
'0 if conversion was successful
FloatToStr(ADCVolt, txt)
WordToHex(adcRes, txthex)
Lcd_Out(1, 9,"Hex:")
Lcd_Out_Cp(txthex)
Lcd_Out(2, 1,"V=")
Lcd_Out_Cp(txt)
Lcd_Out_Cp("[V] ")
delay1s
wend
end.
122

El siguiente programa describe la rutina para el uso del teclado PS/2,

de tal manera que el valor de las teclas pulsadas se muestran en la

pantalla de cristal lquido, para escribir en la segunda fila de esta

pantalla se debe presionar la tecla enter.

'==========================================================
'| TTULO : USO DEL TECLADO PS/2 |
'| AUTORES : O.XAVIER BARCIA R. -- ROGER A. CALLE C. |
'| ESCUELA : ESCUELA SUPERIOR POLITCNICA DEL LITORAL |
'| FECHA : Julio/2008 |
'| VERSIN : 1.0 |
'==========================================================
'|CONFIGURACIONES |
'| - Configurar puestes para habilitar el Encoder |
'| - Conexin del encodes y motor en sus respectivas |
'| borneras |
'| - Configurar los interruptores en posicin MOTOR DC |
'| - Conectar el cable serial del pc a la tarjeta |
'|ACCIONAMIENTO |
'| - Encender el interruptor de alimentacin del motor |
'| y la del control. |
'| - Ejecutar la interfaz de LabVIEW, ingresando los |
'| parmetros de velocidad en RPM, Kp, Ki y presionar el |
'| botn de sentido de giro del motor |
'==========================================================
program TecladoPS2_LCD
'======================================================
'DECLARACIONES GLOBALES DISPONIBLE EN TODO EL PROGRAMA
'======================================================
'dim ? as short 'short : 8bit -> -127...128
'dim ? as word 'word :16bit -> 0...65535
'dim ? as integer 'integer :16bit -> -32768...32767
'longword,dword,longint
'dim ? as 'float :32bit -> 1,1754943x1038
...6,8056477x1038
dim i as byte 'bytes,char: 8bit-> 0...255
dim sw as byte
dim Key_capture, Key_valor, Key_especial, pressed as word

'======================================================
' DECLARACIONES DE PROCEDIMIENTOS Y FUNCIONES
'======================================================
sub procedure mostrar_caracter(dim Key_valor_p as word)
if (Key_valor_p=13) then
if sw=0 then
Lcd_Out(2, 1, "")
sw=1
123

else
Lcd_Cmd(LCD_CLEAR)
sw=0
end if
end if
if (Key_valor_p<>13) then
Lcd_Chr_Cp(Key_valor_p)
end if
end sub

'======================================================
' DECLARACIONES DE PROCEDIMIENTOS Y FUNCIONES
'======================================================
main:
'=> ADPCFG configura los pines del puerto como entrada
' analgicas o entradas/salidas digitales. Ejemplo:
' $00FF=%0000 0000 1111 1111
' ADPCFG=$00FF Analgico Rb15..RB8 Digital RB7...8;

'Configuraciones e inicializaciones
ADPCFG=$FFFF 'Digitales RB15...RB0
Key_valor = 0
Key_especial= 0
Pressed = 0
sw=0
'Ps2_Config(port,clkpin,datapin)
Ps2_Config(PORTF, 0, 1)
'Ps2_Init(PORTC)
Delay_ms(500) 'Espera inicializacin de teclado

TRISB = 0 'Se configura el puerto B como salida


PORTB = 0 '%11111111 Salidas del puerto B en bajo
PORTB.8 = 1
for i = 1 to 3
PORTB.0 = 1 'Se invierten la salidas del PORTB si
'estaban en alto se ponen en bajo y
'viceversa
delay_ms(500)
PORTB.0 = 0
delay_ms(500)
next i
PORTB.7 = 0
'Lcd_Init( byrport, db3,db2,db1,db0,ctrl_port,
' rs,ctrl_rw,enable)

Lcd_Init(PORTD, 3,2,1,0, PORTC, 13,12,14)

'Lcd_Out(1, 3, "Hello!")
'Lcd_Cmd(LCD_CURSOR_OFF)
'Lcd_Cmd(LCD_FIRST_ROW)
'Lcd_Out(2, 6, "Elektronika")
124

'Delay_ms(1000)
'Lcd_Cmd(LCD_CLEAR)
'Lcd_Out(1, 6, "Elektronika")
'Press Enter to continue:
while(1)
if (Ps2_Key_Read(Key_valor, Key_especial, pressed))
then Key_capture=Key_valor
while (Ps2_Key_Read(Key_valor, Key_especial, pressed)=0)
PORTB.7 = 1
wend
mostrar_caracter(Key_capture)
PORTB.8 = 0
delay_ms(100) '100ms
end if
PORTB.8 = 1
Delay_ms(1) ' debounce
wend

end.

4.2 Desarrollo de programas para el control de motores con dsPICs

Como fue explicado en captulos anteriores las caractersticas de

diseo del dsPIC utilizado en las tarjetas estn orientadas para el

manejo de motores, para esto se ha desarrollado un programa que

permitir controlar la direccin del giro de un motor de corriente

continua de imn permanente, el programa tambin incluye un control

de velocidad de lazo cerrado, la realimentacin de la velocidad del

motor proviene de un encoder incremental acoplado al eje del motor

las seales provenientes del sensor estn conectados en las

borneras implementadas para este propsito.

Para la implementacin del controlador se parti de la ecuacin

continua del controlador PID en el dominio del tiempo, se hall la


125

ecuacin del PID discreto para su programacin en el dsPIC30F4011

de la siguiente manera:

Kc t de(t )
u (t ) = K c * e(t ) +
Ti 0
e(t )dt + K C Td
dt
+ u0

Para discretizar esta ecuacin, se aproxima los trminos de la integral

y la derivada a valores que sean manipulables en el tiempo discreto.

e(t ) e(t ) e(t 1)



t TS

t t

e(t )t Ts e(i)
0 0

De esta forma el algoritmo del controlador PID discreto es:

K C TS t
K cTd [e(t ) e(t 1)]
u (t ) = K C * e(t ) +
Ti
e(i) +
i =0 TS
+ u0

t
u (t ) = K p * e(t ) + K i e(i ) + K d [e(t ) e(t 1)] + u 0
i =0

Para controlar la velocidad del motor se ha implementado a partir de

la ecuacin anterior un control en modo proporcional el cual ha sido

desarrollado y grabado en el dsPIC, el comportamiento del sistema

para un modo proporcional se expresa en la siguiente ecuacin.


126

u (t ) = K p * e(t ) = K p [ y (t ) R(t )]

Donde Kp es la constante de proporcionalidad, y(t) es la velocidad

actual del sistema, y R(t) es la velocidad de referencia del sistema,

estas ltimas medidas revoluciones por minuto (RPM).

El giro del motor es controlado a travs de los pulsadores que dispone la

tarjeta de aplicaciones bsicas con dsPIC30F4011, el valor de referencia

de la velocidad es establecido a travs de un potencimetro dicho valor

puede fijarse para obtener una velocidad entre 0 y 90 RPM, finalmente se

podr ingresar perturbaciones para comprobar la respuesta del sistema.

El programa descrito a continuacin est encargado de gobernar el

proceso anteriormente mencionado.

'==========================================================
'| TTULO : CONTROL PI PARA MOTOR DC USANDO LabVIEW |
'| AUTORES : O.XAVIER BARCIA R. -- ROGER A. CALLE C. |
'| ESCUELA : ESCUELA SUPERIOR POLITCNICA DEL LITORAL |
'| DESCRIPCIN: |
'| FECHA : Septiembre /2008 |
'| VERSIN : 1.0 |
'==========================================================
'|CONFIGURACIONES |
'| - Configurar puentes para habilitar el encoder |
'| - Conexin del encoder y motor en sus respectivas |
'| borneras |
'| - Cofigurar los interruptores en posicin del MOTOR DC |
'| - Conectar el cable serial del pc a la tarjeta |
'|ACCIONAMIENTO |
'| - Encender el interruptor de alimentacin del motor |
'| y la del control. |
'| - Ejecutar la interfaz de LabVIEW, ingresando los |
'| parmetros de velocidad en RPM, Kp, Ki y presionar el |
'| botn de sentido de giro del motor |
'==========================================================
127

'==========================================================
program Encoder_MotorDC
'==========================================================
symbol boton_derecha = PORTF.6
symbol boton_izquierda= PORTB.7 'PORTE.0
symbol boton_parar = PORTE.8
symbol Luz = PORTB.8
symbol Encender = 0
symbol Apagar = 1
symbol Frenando = Estado.0 'Frenando
symbol Detenido = Estado.1 'Detenido
symbol Izquierda = Estado.2 'Girando izquierda
symbol Derecha = Estado.3 'Girando derecha
symbol DatoListo = Estado.4 'Dato listo para enviar

'La multiplicacin por 100 es para que no quede valores < 1


'RPM=V*60/1024, sabiendo que en 1024 pasos se dan en 0.5 seg.

'Muestreo a 500ms
symbol Desp2RPM = 5.859375 '60/1024*100 = 60/(2048/2)*100
'Muestreo a 250ms
'symbol Desp2RPM = 11.718750 '60/512*100 = 60/(2048/4)* 100
'Muestreo a 200ms
'symbol Desp2RPM = 14.648438 '60/409.6*100 = 60/(2048/5)*100
'Muestreo a 25ms
'symbol Desp2RPM = 117.1875 '60/409.6*100 = 60/(2048/5)*100
'symbol Kp = 2
symbol VelocidadRefrescar = 250
symbol TiempoEspera = 10000

dim Estado as word


dim i, duty_50,duty_100,iDuty,ADCporcentaje as word
dim intADC as integer
dim txt,txthex,txtint,txtfloat as string[20]
dim vuelta,ADCRes,ADCword,iDuty_word as word
dim desplazamiento, posicion_anterior as word
dim RPMRef,iDuty_float,RPM as float
dim et, ut as float
dim yt as longint
dim VelocidadRefrescarContador as word
'Variables para el manejo del puerto serial
dim RecibirCaracter as word
dim utAux as longint

sub procedure Detener()


Frenando = 0
Izquierda = 0
Derecha = 0
Detenido = 1
Pwm_Mc_Set_Duty(0, 3)
Pwm_Mc_Set_Duty(0, 2)
end sub
128

sub procedure CalcularVelocidadActual()


dim posAux as word
dim xRPM as float
dim xTMR4 as word
xTMR4 = TMR4
'enceramos el timer
TMR4 = 0
'calculamos desplazamiento
posAux = POSCNT
if Izquierda = 1 then
desplazamiento = posicion_anterior - posAux
Detenido = 0
end if
if Derecha = 1 then
desplazamiento = posAux - posicion_anterior
Detenido = 0
end if
if Frenando = 1 then
if desplazamiento = 0 then
Detener()
end if
end if
posicion_anterior = posAux
'Calculamos el RPM basandose en el TMR4
'En medio segundo tenemos del TMR4 57598 pasos
'RPM=(x vueltas/t minutos)=
' (60*2*57598/2048)*(desplazamiento/xTMR4)
RPM = (3374.94140625*desplazamiento) / xTMR4
'Enviamos los RPM
xRPM = RPM * 100000
yt = xRPM
end sub
sub procedure Timer4Int org $3E
CalcularVelocidadActual()
IFS1.5 = 0 'Limpiamos la interrupcin
end sub

sub procedure Controlar()


dim xUno, xDos, xTres, xCuatro as word
dim xRetardo as word
CalcularVelocidadActual()
'Enviamos un nuevo valor de y(t)
'Uart2_Write_Char($FF)
Uart2_Write_Char(Highest(yt))
Uart2_Write_Char(Higher(yt))
Uart2_Write_Char(Hi(yt))
Uart2_Write_Char(Lo(yt))
xRetardo = 0
while (Uart2_Data_Ready() = 0)
xRetardo = xRetardo + 1
if xRetardo > TiempoEspera then
exit
129

end if
wend
'Esperamos el siguiente caracter
xUno = Uart2_Read_Char()
xRetardo = 0
while (Uart2_Data_Ready() = 0)
xRetardo = xRetardo + 1
if xRetardo > TiempoEspera then
exit
end if
wend 'Esperamos el siguiente caracter
xDos = Uart2_Read_Char()
xRetardo = 0
while (Uart2_Data_Ready() = 0)
xRetardo = xRetardo + 1
if xRetardo > TiempoEspera then
exit
end if
wend 'Esperamos el siguiente caracter
xTres = Uart2_Read_Char()
xRetardo = 0
while (Uart2_Data_Ready() = 0)
xRetardo = xRetardo + 1
if xRetardo > TiempoEspera then
exit
end if
wend 'Esperamos el siguiente caracter

xCuatro = Uart2_Read_Char()

'Unimos los segmentos del word


utAux = xUno
utAux = utAux << 8
utAux = utAux or xDos
utAux = utAux << 8
utAux = utAux or xTres
utAux = utAux << 8
utAux = utAux or xCuatro

ut = utAux / 100000
'Mostramos la correccin recibida
FloatToStr(ut, txtfloat)
Lcd_Out(2, 9,"ut : ")
Lcd_Out(2,13,txtfloat)
'control proporcional
'et = RPMRef - RPM 'Viene desde LabVIEW
'ut = Kp * et 'Viene desde LabVIEW
if Detenido = 0 then
iDuty_word = iDuty_word + ut
if Izquierda = 1 then
Pwm_Mc_Set_Duty(iDuty_word, 3)
end if
if Derecha = 1 then
130

Pwm_Mc_Set_Duty(iDuty_word, 2)
end if
end if
end sub

main:
'DESABILITACIN DE INTERRUPCIONES
IEC0 = 0 'Registro de control de habilitacin de
'interrupciones(IECx)
IEC1 = 0 'Desabilitacin de interrupciones
IEC2 = 0
'INICIALIZACION DE VARIABLES
Estado = 0
desplazamiento = 0
ut = 0
Derecha =0
Izquierda=0
Detenido = 1

'CONFIGURACIONES DE PUERTOS
'ADPCFG=$FFBF, todas digitales, excepto RB6 como analgica
ADPCFG=$FFFF
TRISB = $00F8 'C0 %010000000 'Salida: Led B8
'Entrada: potenciometro B6,
'IZQUIERDA B7
'TRISE = %100000000 'Entrada: botonera PARO E8
'TRISF = %001000000 'Entrada: botonera F6 DERECHA

'INICIALIZACIN DEL PUERTO SERIAL


Uart2_Init(19200)
PORTB.8 = 1
Delay_ms(100)

'CONFIGURACIN E INICIALIZACIN DEL ENCODER


POSCNT = 0
'QEICONbits.QEISIDL = 0 'Continuar en modo idle (0)
QEICON.13 = 0
'QEICON.QEIM = 0b100 'Resolucin 4x, modo de Reset
'por MAXCNT
QEICON.10 = 1
QEICON.9 = 1
QEICON.8 = 0
'QEICONbits.SWPAB = 0 'Phase-A y Phase-B pines
'originales
QEICON.7 = 0
'QEICONbits.PCDOUT = 1 'Activado el pin UPDN para
'informar el sentido de giro del encoder
QEICON.6 = 1
'QEICON.TQGATE = 0 'Timer gate apagado
QEICON.5 = 0
'QEICONbits.TQCKPS = 0 'Prescaler 1:1
QEICON.4= 0
QEICON.3= 0
131

'QEICONbits.POSRES = 0 'Un pulso en INDEX no hace un


'reset en POSCNT
QEICON.2 = 0
'QEICONbits.TQCS =0 'Usamos clock interno para el
'timer Tcy
QEICON.1 =0
'QEICONbits.UDSRC=1 'Phase-B indica direccin
QEICON.0=1
MAXCNT=1000
DFLTCON = 0x0000
'ACTIVACIN DE INTERRUPCIN
posicion_anterior = 0
TMR4 = 0
PR4 = 57599 'Muestreo de 500ms
'PR4 = 28799 'Muestreo de 250ms
'PR4 = 23039 'Muestreo de 200ms
'PR4 = 2880 'Muestreo de 25ms
IFS1.5 = 0 'Limpiamos la interrupcin
IEC1.5 = 1 'Activacin de interrupcin para Timer4
T4CON = $8030 'Habilitamos Timer4 y Prescaler 1:256
'T4CON = $8000 'Habilitamos Timer4 y Prescaler 1:1
'T4CON = $8010 'Habilitamos Timer4 y Prescaler 1:8
'T4CON = $8020 'Habilitamos Timer4 y Prescaler 1:64

'CONFIGURACIN E INICIALIZACIN DE LCD


Lcd_Init(PORTD, 3,2,1,0, PORTC, 13,12,14)
Lcd_Cmd(LCD_CURSOR_OFF)

'INICIALIZACIN FRECUENCIA DEL MOTOR A 50Hz


'sub function Pwm_Mc_Init(dim freq_hz,
'pair_output_mode,
'enable_output_x,
'clock_prescale_output_postscale as word) as word

'Pwm_Mc_Init retorna 50% del ciclo de trabajo


'f=3200 Hz y un presalador de 1:64 obtenemos =>
'duty_50= CicloTrabajo_50%=9215
duty_50 = Pwm_Mc_Init(3200,1,%01100110,0)
duty_100 =duty_50*2
PWMCON1=%111101100110 'Configuracin de pwm en modo
'independiente y habilitacin de
'PWM3H,PWM2H,PWM3L,y PWM2L
PTCON.3=1 'Configuracin de prescaladores
PTCON.2=1
Pwm_Mc_Set_Duty(0, 2) 'Pwm_Mc_Set_Duty(dim duty,
'channel as word)
Pwm_Mc_Set_Duty(0, 3)
Pwm_Mc_Start() 'Inicia el modulo PWM

'INDICADOR DE FUNCIONAMIENTO DEL dsPIC


FOR i = 1 to 3
PORTB.8 = 0
Delay_ms(100)
132

PORTB.8 = 1
Delay_ms(100)
NEXT i

iDuty_word = 0
while true
'Comandos que recibe la tarjeta
if Uart2_Data_Ready() = 1 then
RecibirCaracter = Uart2_Read_Char()
select case RecibirCaracter
case "I" 'Comando Izquierda
Izquierda = 1
case "D" 'Comando Derecha
Derecha = 1
case "P" 'Comando parar
Detener()
case "Y" 'Comando reportar salida
Controlar()
case "N"
Uart2_Write_Text("N15")
end select
end if
'ciclo de refrescado
VelocidadRefrescarContador = VelocidadRefrescarContador + 1
if VelocidadRefrescarContador > VelocidadRefrescar then
'Mostramos el duty calculado
'FloatToStr(RPMRef, txtfloat)
'Lcd_Out(2, 9,"RPM: ")
'Lcd_Out(2,13,txtfloat)
'Mostramos el DutyActual

wordToStr(iDuty_word, txtfloat)
Lcd_Out(1, 2,txtfloat)

'Posicion actual
wordToStr(POSCNT, txtfloat)
Lcd_Out(1,8,txtfloat)
'Muestra la velocidad real en RPM
FloatToStr(RPM, txtfloat)
txtfloat[5] = 0
Lcd_Out(2, 1,txtfloat)
'Indicamos la direccion
if (QEICON and $0800) then
Lcd_Out(1, 1,"D")
else
Lcd_Out(1, 1,"I")
end if
end if

wend
end.
133

4.3 Manejo de motores de paso utilizados en la plataforma de

desarrollo

La tarjeta de entrenamiento con dsPIC30F4011, puede ser

configurado para el manejo de motores de paso, para lo cual se ha

desarrollado el programa que permitir manejar esta clase de motor.

'==========================================================
'| TTULO : MANEJO DE MOTOR DE PASO UNIPOLAR |
'| AUTORES : O.XAVIER BARCIA R. -- ROGER A. CALLE C. |
'| ESCUELA : ESCUELA SUPERIOR POLITCNICA DEL LITORAL |
'| FECHA : Julio/2008 |
'| VERSIN : 1.0 |
'==========================================================
'|CONFIGURACIONES |
'| - No es necesario configura los puentes para en motor |
'| - Configurar los puentes para el teclado matricial y el |
'| LCD |
'|ACCIONAMIENTO |
'| - Encender el interruptor de alimentacin del motor |
'| y la del control. |
'| - Las teclas del 1 al 9 en el teclado matricial |
'| se usa para configurar la velocidad del motor |
'| - La tecla asterisco y numeral es para el giro del |
'| motor hacia la izquierda o derecha respectivamente |
'| - El pulsador de interrupcin es usado para el paro |
'| del motor |
'==========================================================
Program MotorPaso
'======================================================
'DECLARACIONES GLOBALES DISPONIBLE EN TODO EL PROGRAMA
'======================================================
'Declaracin de Symbols
'-------------------------------------------------
symbol nLED = PORTB.8
symbol Phase1 = PORTE.2
symbol Phase2 = PORTE.3
symbol Phase3 = PORTE.4
symbol Phase4 = PORTE.5
symbol MotorPaso = PORTE

'Declaracin de Variables
'-------------------------------------------------
dim SW_Derecha,SW_Izquierda as byte
dim SW_Velocidad,SW_Stop as byte
dim kp,Velocidad as word
134

dim kps as string[2]


dim kpss as string[5]
dim i as word
dim cpaso as integer
dim cnt as longint

'Declaracin de Constantes
'-------------------------------------------------
const Encender as byte = 1
const Apagar as byte = 0
const Npaso as byte =8
'Secuencia de MEDIO PASO 1 2 3 4 5 6 7 8
const paso as word [8]=
($0004,$000C,$0008,$0018,$0010,$0030,$0020,$0024)

'======================================================
' DECLARACIONES DE PROCEDIMIENTOS Y FUNCIONES
'======================================================
sub procedure nLed_blink ()
for i = 1 to 2
nLED = 0
delay_ms(500)
nLED = 1
delay_ms(500)
next i
end sub

sub procedure Config_ExtInt0 ()


INTCON2=$FFFE 'INTCON2<0>=INT0EP=0, Habilitacin por
'flanco positivo
IEC0=$0001 'IEC0 <0> =INTOIE=1, Habilitacin de
'interrupcin externa 0
IPC0=$7 'INTOIP<2:0>=$111 Prioridad alta para INT0
end sub

sub procedure ExternalInt0 org $94 'direccionar interrupcin


IFS0 = IFS0 and $FFFE 'Clear IFS0<0>=INT0IF
nLED = 0 'not PORTB.8
delay_ms(500)
nLED = 1
SW_Stop=1
Keypad_Init(PORTB)
Delay_ms(100)
'Lcd_Out(1, 13, "Stop")
Lcd_Out(1, 1, "VEL: ESTD:Stop")
'Lcd_Out(1, 5, " ")
end sub
135

sub function keyPulse_string (dim kpf as word) as string[2]


select case kpf
case 1 result = "1"
case 2 result = "2"
case 3 result = "3"
case 4 result = "A"
case 5 result = "4"
case 6 result = "5"
case 7 result = "6"
case 8 result = "B"
case 9 result = "7"
case 10 result = "8"
case 11 result = "9"
case 12 result = "C"
case 13 result = "*"
case 14 result = "0"
case 15 result = "#"
case 16 result = "D"
end select
end sub

sub procedure Velocidad_motor (dim Veloc as word)


select case veloc
case 1 delay_ms(800)
case 2 delay_ms(200)
case 3 delay_ms(50)
case 5 delay_us(12500)
case 6 delay_us(3125)
case 7 delay_us(881)
case 9 delay_us(100)
case 10 delay_us(25)
case 11 delay_us(1)
end select
end sub

sub procedure Giro_Derecha ()


cpaso=(cpaso+1) mod Npaso
MotorPaso=paso[cpaso]
inc(cnt)
WordToStr(cnt, kpss)
Lcd_Out(2, 8, kpss)
Velocidad_motor(Velocidad)
end sub

sub procedure Giro_Izquierda()


cpaso= (cpaso-1) mod Npaso
if cpaso = -1 then cpaso=7 end if
MotorPaso=paso[cpaso]
dec(cnt)
WordToStr(cnt, kpss)
Lcd_Out(2, 8, kpss)
136

Velocidad_motor(Velocidad)
end sub

'======================================================
'P R O G R A M A P R I N C I P A L
'======================================================
main:
ADPCFG= $FFFF 'Todas Digitales
TRISB = $000F 'Salida: nLed RB8 Entrada/salida:Teclado Hex <RB7:RB0>
TRISE = $0100 'Entrada: botn Int_Ext de parada
TRISF = $0040 'Entrada: botn de giro_derecha RF6
delay_ms(50)
nLED = 1
nLed_blink()
Delay_ms(50)
Config_ExtInt0()
Delay_ms(50)
Keypad_Init(PORTB)
Delay_ms(100)
Lcd_Init(PORTD, 3,2,1,0, PORTC, 13,12,14)
Lcd_Cmd(LCD_CURSOR_OFF)
SW_Derecha =0
SW_Izquierda=0
SW_Velocidad=0
SW_Stop=1
Keypad_Init(PORTB)
Delay_ms(100)
Lcd_Out(1, 2, "MOTOR DE PASO")
Lcd_Out(2, 5, "UNIPOLAR")
delay_ms(2000)
Lcd_Cmd(LCD_CLEAR)
Lcd_Out(1, 1, "VEL: ESTD:Stop")
Lcd_Out(2, 1, "#Pasos:")
kp = 0
cnt=0
cpaso=0
while true

if SW_Stop=1 then
SW_Stop=0
while (kp=0) or (kp=4) or (kp=8) or (kp>=12)
kp = Keypad_Key_Click()
delay_us(100)
wend
'WordToStr(kp, kps)
kps= keyPulse_string(kp)
Lcd_Out(1, 5, kps)
Velocidad= kp
kp=0
while (kp=0) or (kp<=12) or (kp=16)
kp = Keypad_Key_Click()
delay_us(100)
wend
137

select case kp
case 13
SW_Izquierda = 1
SW_Derecha = 0
Lcd_Out(1, 13, " Izq")
case 14
SW_pasoXpaso = 1
case 15
SW_Derecha = 1
SW_Izquierda = 0
Lcd_Out(1, 13, " Der")
end select
SW_Stop=0
end if

if (SW_Derecha=1) and (SW_Stop = 0) then


Giro_Derecha()
end if
if (SW_Izquierda=1)and (SW_Stop = 0) then
Giro_Izquierda()
end if
if cnt=0 then
SW_Stop = 1
Lcd_Out(1, 1, "VEL: ESTD:Stop")
end if
wend
end.
138

4.4 Manejo de servo motores

Para el manejo de servomotores la tarjeta de entrenamiento con

dsPIC30F4011 dispone de pines para su conexin, a continuacin se

muestra el programa desarrollado para ubicar en un determinado

ngulo este tipo de motor.

'==========================================================
'| TTULO : MANEJO DE SERVO MOTOR |
'| AUTORES : O.XAVIER BARCIA R. -- ROGER A. CALLE C. |
'| ESCUELA : ESCUELA SUPERIOR POLITCNICA DEL LITORAL |
'| DESCRIPCIN: |
'| FECHA : Julio/2008 |
'| VERSIN : 1.0 |
'==========================================================
'|CONFIGURACIONES DE LOS PUENTES |
'| - LCD |
'| - Teclado 4x3 |
'| - Conector del servo motor RE0 |
'| (no necesita confurar puente) |
'|ACCIONAMIENTO |
'| - Digitar tres dgitos a travs del teclado debe estar |
'| entre 0 a 180 grados seguidamente presionar el botn |
'| asterisco para ejecutar la accin, si necesitamos |
'| cambiar posicin debemos presionar la tecla numeral |
'==========================================================
program ServoMotor
'======================================================
'DECLARACIONES GLOBALES DISPONIBLE EN TODO EL PROGRAMA
'======================================================
'Declaracion de Symbols
'-------------------------------------------------
symbol nLED = PORTB.8

'Declaracion de Variables
'-------------------------------------------------
dim i, duty_50 as word
dim kp as word
dim kpi as integer
dim kpf,Direccion_f as float
dim kpf_MSB,kpf_ISB,kpf_LSB as float
dim kps_t as string[3]
dim txt as string[3]
dim grado_f as float
dim kps as string[2]
139

'======================================================
' DECLARACIONES DE PROCEDIMIENTOS Y FUNCIONES
'======================================================
sub procedure nLed_blink ()
for i = 1 to 2
nLED = 0
delay_ms(500)
nLED = 1
delay_ms(500)
next i
end sub

sub procedure init_fpwm_50Hz()


'sub function Pwm_Mc_Init(dim freq_hz,
'pair_output_mode, enable_output_x,
'clock_prescale_output_postscale as word) as word

'Pwm_Mc_Init retorna 50% del ciclo de trabajo


'f=3200 Hz y un presalador de 1:64 obtenemos =>
'duty_50= CicloTrabajo_50%=9215
duty_50 = Pwm_Mc_Init(3200,1, %00000001,$0)
PTCON.3=1
PTCON.2=1
Pwm_Mc_Start()
PORTE=0
end sub

sub procedure keyPulse (dim kp_pulse as word)


select case kp_pulse
case 1 kpf=1
kps = "1"
case 2 kpf=2
kps = "2"
case 3 kpf=3
kps = "3"
case 4 kps = "A"
case 5 kpf=4
kps = "4"
case 6 kpf=5
kps = "5"
case 7 kpf=6
kps = "6"
case 8 kps = "B"
case 9 kpf=7
kps = "7"
case 10 kpf=8
kps = "8"
case 11 kpf=9
kps = "9"
case 12 kps = "C"
case 13 kps = "*"
case 14 kpf=0
kps = "0"
140

case 15 kps = "#"


case 16 kps = "D"
end select
end sub

'======================================================
'P R O G R A M A P R I N C I P A L
'======================================================
main:
ADPCFG= $FFFF 'Todas Digitales RB
TRISB = $000F 'Salida: nLed RB8
'Entrada/salida:Teclado Hex <RB7:RB0>
delay_ms(50)
nLED = 1
nLed_blink()
Delay_ms(50)
Keypad_Init(PORTB)
Delay_ms(100)
PORTE=0
Lcd_Init(PORTD, 3,2,1,0, PORTC, 13,12,14)
Lcd_Cmd(LCD_CURSOR_OFF)
init_fpwm_50Hz()

Lcd_Out(1, 3,"SERVO MOTOR" )


delay_ms(2000)
Lcd_Out(1, 1, "S.MOTOR EST:Stop" )
Lcd_Out(2, 1, "Gr: Dty: ")
kp = 0
kps_t=" "
while true
kp=0
while (kp=0) or (kp=4) or (kp=8) or (kp=12) or (kp=13) or (kp>=15)
kp = Keypad_Key_Click()
delay_us(100)
wend
keyPulse(kp)
kpf_MSB=kpf
Lcd_Out(2, 4, kps)
kp=0
kpi=0
while (kp=0) or (kp=4) or (kp=8) or (kp=12) or (kp=13)
or (kp>=15)
kp = Keypad_Key_Click()
delay_us(100)
wend
keyPulse(kp)
kpf_ISB=kpf
Lcd_Out(2, 5, kps)
kp=0
kpi=0

while (kp=0) or (kp=4) or (kp=8) or (kp=12) or (kp=13)


or (kp>=15)
141

kp = Keypad_Key_Click()
delay_us(100)
wend
keyPulse(kp)
kpf_LSB=kpf
Lcd_Out(2, 6, kps)
kp=0
kpi=0
while (kp=0) or (kp<=12) or (kp=14) or (kp=16)
kp = Keypad_Key_Click()
delay_us(100)
wend
if kp=13 then
Lcd_Out(1, 13, "Actv")
grado_f= (100*kpf_MSB) + (10*kpf_ISB) + (kpf_LSB)
Direccion_f= 500 + 1600 * grado_f/180
FloatToStr(Direccion_f, txt)
Lcd_Out(2, 11, txt)
Lcd_Out(2, 15,"us")
Pwm_Mc_Set_Duty(Direccion_f, 1)
end if
while (kp=0) or (kp<=14) or (kp=16)
kp = Keypad_Key_Click()
delay_us(100)
wend
Lcd_Out(1, 1, "S.MOTOR EST:Camb" )
Lcd_Out(2, 1, "Gr: Dty: ")
wend
end.

4.5 Ejemplos de comunicacin

Para realizar aplicaciones con comunicacin se escogi el tipo serial

de tal manera que haciendo uso del conector DB9 disponible en las

tarjetas, se desarrollo una aplicacin con el programa LabVIEW, con

la finalidad de realizar una interfaz que permita gobernar un motor de

corriente continua conectado a los bornes de la tarjeta, la cual se

comportar como un mdulo de adquisicin de datos, debido a que la


142

tarjeta intercambiar datos con el computador, a travs del protocolo

de comunicacin serial RS-232.

La aplicacin desarrollada permite enviar rdenes para la velocidad,

direccionamiento, y el detenido del motor, mientras que el dsPIC de la

tarjeta contiene el programa que se encarga de ejecutar las rdenes

recibidas desde la aplicacin.

Figura 4.1 Panel frontal para interfaz del control de motor


143

Figura 4.2 Diagrama de bloques para interfaz del control de motor

En el anexo E se encontrar los diagramas de flujo de cada programa

presentado durante el desarrollo de este captulo, en cada diagrama

se bosquejara el programa principal y las subrutinas utilizadas por el

mismo.
CAPTULO 5

5. DATOS EXPERIMENTALES

5.1 Pruebas realizadas

5.1.1 Operacin del ciclo de trabajo de los motores

Para comprobar los parmetros de funcionamiento del puente

manejador para motores se prob la operacin de los mismos

con diferente modulacin por ancho de pulso y con dos tipos de

motores de corriente continua uno de imn permanente y otro

de bobinado en serie. En las pruebas realizadas se verific el

ciclo de trabajo en los motores, el voltaje mximo, mnimo y

promedio que estn manejando, as como la frecuencia de

operacin del mismo, y la curva de modulacin del voltaje que

recibe el motor.
145

La modulacin de ancho de pulso fue realizada utilizando

conmutacin de voltaje bipolar de los transistores, donde los

pares de mosfet Q1-Q4 y Q2-Q3, trabajan como un par de

interruptores; la conmutacin de cada pareja es

simultneamente realizada de manera complementaria, es decir

que mientras un par de mosfet recibe una determinada

modulacin el otro par recibe el complemento de seal antes

mencionada.

La frecuencia de las seales de conmutacin es generada por

el dsPIC, el cual internamente genera una onda triangular para

realizar una comparacin con el voltaje de control. Cuando

Vcontrol >Vonda triangular, entonces los mosfet Q1-Q4 son encendidos,

mientras que los transistores Q2-Q3 son apagados, caso

contrario se tiene un comportamiento de encendido para Q2-Q3

y apagado en Q1-Q4.

5.1.2 Comportamiento del voltaje y corriente de los motores

Para realizar esta prueba en ambos motores se fij a un ciclo de

trabajo de 32%, y una frecuencia de operacin de 200 hertz

para la obtencin de la curva de corriente se us una

resistencia prueba de 1 ohm en serie con el motor, mientras que

la curva de voltaje fue obtenida directamente entre las


146

terminales del motor. Otros parmetros obtenidos de esta

prueba son los valores mximo, mnimo y promedio para la

corriente y voltaje en los motores.

5.1.3 Operacin del motor DC usando controlador PI

Esta prueba tuvo como objetivo mejorar la respuesta de

estabilizacin de un motor de corriente continua, para observar

e interactuar el comportamiento de la respuesta del motor se

desarrollo una aplicacin en LabVIEW, permitiendo variar las

constantes del controlador PI, con la finalidad de escoger la

mejor respuesta, para obtener un correcto funcionamiento del

control implementado se ha integrado al sistema un sensor de

desplazamiento que como se menciono anteriormente es el

encoder, el controlador que gobierna a nuestro actuador es el

dsPIC30F4011, finalmente el manejador de motores

conformado por los transistores mosfet constituyen el actuador

que modificar al sistema segn sea el caso.


147

5.2 Datos obtenidos

5.2.1 Curvas de operacin del ciclo de trabajo de los motores

En las siguientes figuras se presenta las curvas obtenidas para

diferentes ciclos de trabajo.

Figura 5.1 CT al 50% para el motor imn permanente

FUENTE: Personal

Figura 5.2 CT al 31% para el motor imn permanente

FUENTE: Personal
148

Figura 5.3 CT al 68% para el motor imn permanente

FUENTE: Personal

Figura 5.4 CT al 50% para el motor bobinado en serie

FUENTE: Personal
149

Figura 5.5 CT al 31% para el motor bobinado en serie

FUENTE: Personal

Figura 5.6 CT al 68% para el motor bobinado en serie

FUENTE: Personal
150

5.2.2 Curvas de comportamiento del voltaje y corriente de los

motores

Figura 5.7 Voltaje y corriente del motor de imn permanente

FUENTE: Personal

Figura 5.8 Voltaje y corriente del motor serie

FUENTE: Personal
151

5.2.3 Curvas de operacin del motor DC usando controlador PI

Para la obtencin de estas curvas se hizo uso de la aplicacin

desarrollada y explicada la seccin 5.1.3, en las siguientes

figuras se muestran diferentes respuestas del motor, las cuales

obedecen al PI que realiza el control de acuerdo a las

constantes seleccionadas.

Figura 5.9 Respuesta del motor a inadecuados parmetros


de kp y ki
152

Figura 5.10 Respuesta del motor al controlador kp=10

Figura 5.11 Respuesta del motor al controlador kp=2 y ki=5


153

5.3 Anlisis de resultados

5.3.1 Anlisis de operacin del ciclo de trabajo y voltaje en los

motores

El proceso de esta prueba se explic en la seccin 5.1.1 y los

resultados se muestran en las figuras 5.1 al 5.6, en las cuales

se observa la curva de la seal de voltaje modulada que llega al

motor. Se puede observar cuando el motor recibe un ciclo de

trabajo del 50% este se puede considerar detenido con un

voltaje promedio de 370mV (ver figura 5.1 y 5.4), tambin se

observ que el giro del motor esta determinado por el

porcentaje de ciclo de trabajo, si se tiene un porcentaje mayor al

50% se obtendr un giro horario con un voltaje promedio

positivo, mientras que para un porcentaje menor al 50% se

tendr un giro antihorario con un voltaje promedio negativo.

5.3.2 Anlisis de comportamiento de la corriente en los motores

El proceso de esta prueba se explic en la seccin 5.1.2 y los

resultados se muestran en las figuras 5.7 y 5.8, estas figuras

muestran las curvas de las seales de voltaje en el canal 1 del


154

osciloscopio, mientras que el canal 2 se captura la seal de

corriente.

Durante esta prueba se verific el comportamiento de la

corriente en el puente manejador de motores, cuya respuesta

se divide en cuatro etapas como se muestra en la figura 5.12,

durante el intervalo de tiempo t1 a t2 los transistores Q1-Q4

estn encendidos y la corriente fluye a travs de ellos creciendo

positivamente hasta llegar a su mximo valor (figura 5.13), en

ese instante de tiempo t2 los transistores Q1-Q4 se apagan y se

encienden Q2-Q3, consecuentemente la corriente decrecer y

su polaridad ser la misma fluyendo a travs de los diodos D2-

D3 hasta llegar a cero en el tiempo t3 (figura 5.14), luego en el

intervalo de t3-t4 los transistores Q2-Q3 continan encendidos

pero la corriente que fluye a travs de ellos crece

negativamente con polaridad contraria los anteriores intervalos

(t1-t2 y t2-t3) hasta llegar a su mximo valor en el tiempo t4 (figura

5.15), en este instante los transistores Q2-Q3 se apagan y se

encienden Q1-Q4 subsecuentemente la corriente decrecer y

su polaridad ser la misma fluyendo a travs de los diodos D1-

D4 hasta llegar a cero en el tiempo t5 (figura 5.16), estas etapas

se repiten sucesivamente desde t1 a t5 obtenindose la curvas

mostradas en la seccin 5.2.2 .


155

Figura 5.12 Voltaje y corriente en el motor

FUENTE: Personal

Figura 5.13 Direccin de corriente durante intervalo t1-t2

FUENTE: Personal
156

Figura 5.14 Direccin de corriente durante intervalo t2-t3

FUENTE: Personal

Figura 5.15 Direccin de corriente durante intervalo t3-t4

FUENTE: Personal

Figura 5.16 Direccin de corriente durante intervalo t4-t5

FUENTE: Personal
157

5.3.3 Anlisis operacin del motor DC usando controlador PI

Los resultados de esta prueba se muestran en la seccin 5.2.3,

estas figuras muestran como la respuesta del motor depende

del tipo de controlador que se halla seleccionado, es decir

mucho influirn las constantes elegidas de tal manera que el

controlador PI se volver ms proporcional o ms integral segn

los valores que registren estas constantes, para el caso de la

figura 5.9, las constantes seleccionadas le atribuyen al sistema

una respuesta poco adecuada para el correcto funcionamiento

del motor presentado crestas y valles demasiados pronunciados

para alcanzar la estabilidad.

En la figura 5.10 se presenta un controlador totalmente

proporcional este tiene una constante de proporcionalidad igual

a diez, aunque para esta respuesta las oscilaciones disminuyen

y la estabilidad se produjo en un periodo ms corto, an se

produce una sobreoscilacin que depender de la constante de

proporcionalidad seleccionada, este modo de control esta

basado en la multiplicacin del error producido por la diferencia

del valor medido y esperado de velocidad, con la constante de

proporcionalidad, normalmente este error es permanente pero

con este tipo control ese error se mantiene en rangos tolerables,


158

se debe procurar escoger valores de la constante que no

produzcan sobreoscilaciones que generen niveles mayores al

30% del valor de velocidad esperado.

La figura 5.11, muestra la respuesta del motor de corriente

continua para un control PI, en donde las constantes de

proporcionalidad e integracin toman los valores de dos y cinco

respectivamente, ocasionando que el error en estado

estacionario producido por el control proporcional disminuya

hasta considerarlo despreciable, esto se debe a que este error

es integrado, este resultado es multiplicado por la constante de

integracin para que posteriormente la respuesta integral se

sume con la proporcional, originando una curva con error de

estado estacionario despreciable como se muestra en la figura

mencionada.
CONCLUSIONES Y

RECOMENDACIONES
160

Conclusiones

El desarrollo de este proyecto se ha aportado con una solucin de

diseo y anlisis de produccin de tarjetas de entrenamiento para

dsPIC, haciendo conocer que aqu en Ecuador se puede disear

equipos que superen los requerimientos de las tarjetas de

entrenamiento ofrecidos en el exterior y resultando ms econmicos

que en el extranjero, comprobndose que se puede hacer ingeniera

en el pas.

El dsPIC30F4011 utilizado como unidad de control destaca la

capacidad de manejar un encoder incremental, la posibilidad de

realizar modulacin por ancho de pulso para motores, y la facilidad

para la configuracin de la frecuencia de operacin de un motor,

respecto a mikroBasic constituye la herramienta de desarrollo con un

lenguaje que permite acceder de manera amigable a los recursos que

ofrece el controlador, por lo anteriormente expuesto estas

herramientas ofrecen una solucin de altas prestaciones y facilidad

de programacin.

El desarrollo de este proyecto ha logrado concebir una tarjeta de

entrenamiento en donde se aprovech la mayora de los recursos que

ofrece el dsPIC30F4011, para lograr este objetivo se utiliz puentes


161

de habilitacin para acceder a los diferentes dispositivos

implementados en uno o varios pines logrando optimizar la

implementacin de hardware sobre la tarjeta.

La interfaz LabVIEW permiti realizar de manera eficaz la interaccin

con las tarjetas implementadas pudiendo cambiar en lnea los

parmetros del controlador, de esta manera se logr realizar un

sistema de control de lazo cerrado usando un controlador PI.

La utilizacin de controladores en PI, depende mucho de las

caractersticas del sistema que a ser controlado, esto exige entender

correctamente el funcionamiento del sistema. Como se verific en las

pruebas realizadas un control completamente proporcional nos

garantiza estabilidad sin embargo produce un error de estado

estacionario originando un sobrenivel, mientras que al agregar un

control integral este error se corrige hasta alcanzar la estabilidad.

RECOMENDACIONES

Para incrementar la vida til de la tarjeta de entrenamiento se debe

procurar no exceder las limitaciones mximas de corriente en las

pistas de control y fuerza como se especific en las tablas 2.5 y 2.6,


162

si opera con valores superiores por un largo tiempo no se garantiza la

correcta funcionalidad del sistema o podra causar daos

irreversibles, por consiguiente se debe verificar las caractersticas

elctricas del motor que ser conectado en las borneras de la tarjeta.

Motivar el desarrollo de proyectos que integren nuevas tendencias

tecnolgicas para encontrar soluciones a las mismas, como es el

caso de este proyecto que involucra un dsPIC de altas prestaciones y

facilidad de programacin como unidad de control.

Se recomienda el uso de LabVIEW como una herramienta que

permita interactuar con la tarjeta de entrenamiento a manera de

tarjeta de adquisicin de datos, para la implementacin de un sistema

SCADA.
ANEXOS
ANEXO A
Procedimiento para carga de programa de usuario a

travs de bootloader

Para el desarrollo de ejemplos bsicos podra usarse mikroBasic y

en caso de no disponer de un programador se puede hacer uso de la

interfaz para bootloader de Ingenia, permitiendo de esta manera la

utilizacin de los perifricos implementados la tarjeta de

entrenamiento con dsPIC30F4011, a continuacin se explica es

procedimiento para la carga de un programa de usuario:

Interfaz de Ingenia bootloader

El paquete de Ingenia para el bootloader esta conformado por un

firmware de cdigo abierto y una aplicacin de interfaz grfica para el

usuario. Una vez instalado la interfaz grfica en el computador, podr

arrancase esta aplicacin la cual requerir la configuracin del puerto


de comunicacin donde se conectara el dsPIC y la velocidad de

transferencia de datos entre el dsPIC y el puerto seleccionado.

Configuracin del puerto de comunicacin

Una vez configurados los parmetros para la comunicacin, la

aplicacin solicitar que se apague la alimentacin de la tarjeta de

entrenamiento con la finalidad de sincronizar el bootloader grabado

en el dsPIC y la aplicacin de interfaz grfica para el usuario.

Arrancando la interfase grfica de Ingenia dsPIC

Por ultimo la aplicacin comenzar con el proceso de deteccin del

dsPIC30F4011.
Deteccin del dsPIC y del firmware del bootloader

Iniciada la deteccin la aplicacin solicitar la conexin del dsPIC a

los puertos de comunicacin seleccionados, una vez realizada

exitosamente la sincronizacin y deteccin del dsPIC se mostrar un

mensaje con el tipo de dsPIC detectado y el firmware del bootloader

que se encuentra grabado en el dispositivo.

Posteriormente a la deteccin la aplicacin mostrar la ventana de

dialogo que permitir cargar un nuevo programa asociando la

seleccin con su correspondiente fichero HEX, quedando disponible

para iniciar la escritura del programa sobre las primeras posiciones de

memoria flash del dsPIC30F4011.

Carga del programa mediante bootloader


ANEXO B
Instalacin y creacin de proyectos con mikroBasic

Compilador para dsPIC30/33

La instalacin del programa de desarrollo se realizar con la ayuda de

su asistente, la siguiente figura muestra la ventana de seleccin del

directorio que por defecto establece, para posteriormente iniciar este

proceso.

Asistente de instalacin de mikroBasic para dsPIC

Luego de la instalacin de mikroBasic se podr desarrollar

aplicaciones para el manejo de los perifricos disponibles en la tarjeta

de entrenamiento. Para comenzar la descripcin de un nuevo


programa se debe crear un proyecto, para ello se utilizar el asistente

disponible para este propsito.

Asistente de mikroBasic para creacin de proyectos

El asistente para creacin de proyectos ayudar a seleccionar el

dsPIC utilizado adems de la configuracin de los parmetros de

funcionamiento del dispositivo seleccionado, se debe de considerar

que la frecuencia de funcionamiento del dsPIC30f4011 ser de

117.9648 MHz, puesto que se dispone de un cristal de 7.3728 MHz

configurado con un multiplicador de 16 en las tarjeta de

entrenamiento.
Configuraciones para nuevo proyecto en mikroBasic

Luego de realizar las configuraciones del proyecto inmediatamente

aparecer el editor de texto, la primera instruccin del programa es

ubicada automticamente esta incluye el nombre del proyecto,

seguidamente despus de esta instruccin se proceder a realizar la

descripcin del programa a ser utilizado en la tarjeta de

entrenamiento, esta programacin esta basada en lenguaje Basic,

tanto su entorno y compilador son desarrollados por Mikroelectrnica.


Pantalla del editor de texto de mikroBasic

Una vez desarrollado el programa se deber ejecutar la compilacin

del mismo para ello se deber desplegar el men proyecto y pulsar la

opcin compilar todo, si no existen errores en la ventana de mensajes

aparecer como se muestra en la siguiente figura, en caso contrario

en la misma ventana se enlistara los tipos de errores cometidos

Pantalla mensajes de mikroBasic


ANEXO C
Ecuaciones y parmetros necesarios para dimensionar

el ancho de pista de cobre

Una vez seleccionados los parmetros de corriente mxima, el

incremento de temperatura sobre la temperatura ambiente, y el grosor

de la pista, se proceder al clculo del ancho de la pista segn las

siguientes ecuaciones de acuerdo a la norma ANSI-ICP2221,

previamente se requiere el dato del rea:

1/ K 3

Area =
(
I
)
[
= mils 2 ]
K1 * T
K2

donde:

I simboliza la corriente mxima que circulara por la pista.

K1 es una constante definida por el estndar aplicado que vale

0,0150 cuando nuestra pista es interna (placas con ms de dos

capas) y 0,0647 cuando es externa.

K2 es otra constante que vale 0,5453 cuando la pista es interna

y 0,4281 cuando la pista es externa.


K3 es una constante que vale 0,7349 cuando la pista es interna

y 0,6732 cuando es externa.

El ancho de pista resultante se expresa en mils al cuadrado. Un mils

es la milsima parte de una pulgada, que es la unidad estandarizada

en el diseo de placas de circuitos impreso. El rea debe expresarse

en mils al cuadrado y el grosor (L) en onzas por pe cuadrado.

Ancho =
Area
=
[
mils 2] = [ mils ]
L *1,378 [onz pie 2 ]

Las tablas 2.5 y 2.6 del captulo 2 resumen el resultado de los

parmetros de funcionamiento y el ancho de pistas para las seales

de control y de fuerza en las tarjetas de circuito impreso

implementadas en las tarjetas de entrenamiento.


ANEXO D
Procedimiento para dimensionar la red snubber

Para un diseo ptimo de la red snubber se debe realizar el anlisis

del circuito en corriente alterna y determinar los valores de

capacitancia (Ci) e inductancia (Li) intrnsecos del circuito, dichos

parmetros se obtendrn del anlisis experimental, y haciendo uso de

las ecuaciones que describen la respuesta de oscilacin durante la

conmutacin de los mosfet. Para obtener la capacitancia intrnseca

primero se requiri conocer frecuencia inicial de oscilacin del

sistema, este parmetro ser obtenido de manera experimental

haciendo uso del osciloscopio, en la siguiente grfica se muestra la

forma de onda obtenida:

Respuesta de resonancia sin red Snubber


De la onda anterior se requiere que la frecuencia de oscilacin se

reduzca en un factor de dos, para lo cual se utiliz un capacitor de

mica cuyo valor inicial fue de 100pF conectado entre drenador y

surtidor, el valor final de capacitancia que logr reducir la frecuencia

de oscilacin a la mitad fue 330 pF que representara la capacitancia

parasita total (ver figura 2.5).

Respuesta de resonancia con capacitor snubber

La capacitancia intrnseca del mosfet ser 1/3 de la capacitancia

parasita total, la inductancia intrnseca se calcular utilizando la

ecuacin de frecuencia de resonancia 0:

1
0 = 2 fi =
Li Ci
Usando la anterior ecuacin obtenemos el valor de inductancia

intrnseca del mosfet:

1 1
Li = = = 0.1879 uH
Ci (2 f i ) 110pF* (2 * 35 MHz)
2 2

Calculamos la impedancia caracterstica del sistema:

Li 0 . 1879 uH
Z = = = 41 . 34 ohms
Ci 110 pF

Se debe de elegir un valor de resistencia snubber que no sea mayor al

valor de la impedancia caracterstica del sistema para que la mayor

parte de la corriente circule por la red snubber durante la conmutacin y

el valor de capacitancia snubber ser un factor de cuatro a diez veces la

capacitancia intrnseca. A partir de las consideraciones mencionadas se

procedi a elegir un valor de resistencia de 39 ohmios y una

capacitancia de 1000pF, como parmetros de la red snubber. Una vez

dimensionados los elementos de la red snubber se calcul la potencia

mxima disipada por la misma mostrndose a continuacin:

PRs = C S V 0 f S = 1000 pF * (100 V ) * 50 kHz = 0 .5 W


2 2

La potencia de la red snubber fue calculada para una velocidad de

conmutacin del mosfet de 50kHz y voltaje pico mximo de 100V.


ANEXO E
Diagramas de flujo de las aplicaciones

E.1 Manejo de Conversin ADC

Programa principal

Inicio

ADC_Res = Leer del canal 3 el valor


analgico y convertirlo a digital

ADC_Vol = ADC_Res * 5 / 1023

Presentar de la conversin analgica


digital en el LCD

E.2 Manejo de Teclado PS2_LCD


Programa principal
Subrutina
E.3 Control motor DC con dsPIC30F4011 y LabVIEW
Programa principal del dsPIC30F4011
Subrutinas utilizadas en el dsPIC30F4011
Programa principal de la interfaz LabVIEW
Subrutinas utilizadas en la interfaz LabVIEW
E.4 Manejo de motor de pasos unipolar
Programa principal
A 1

F
Cnt = 0
kp almacena valor * del F
teclado matricial

V
V
Sw_Stop = 1
Presentar Izquierda en LCD

Sw_Izquierda = 1 C
Sw_Derecha = 0

kp almacena valor # F
del teclado matricial

Presentar Derecha en LCD

Sw_Izquierda = 0
Sw_Derecha = 1

Sw_Stop = 0

Sw_Derecha = 1 and F
Sw_Stop = 0

Giro Derecha

Sw_Izquierda = 1 and
Sw_Stop = 0

Giro Izquierda

1
Subrutinas
E.5 Manejo de motor de servomotor
Programa principal
Subrutinas

Init_fpwm_50_Hz Key Pulse (kp)

Configuracin del PWM a


50 Hz Asignar valor real de tecla
pulsada en teclado matricial,
en variables tipo
alfanumrico y entero
Iniciar PWM para motores

Retornar
Retornar
ANEXO F
Fotografas de las tarjetas de entrenamiento

Tarjeta de entrenamiento con dsPIC30F4011


Tarjeta bsica para aplicaciones con dsPIC30F4011
Tarjeta manejadora de motores DC
ANEXO G

Equipo de entrenamiento
basado en el procesador
dsPIC30F4011
MANUAL DE USUARIO V1.0

Xavier Orlando Barcia Rosero

Roger Alfredo Calle Chez

FACULTAD DE INGENIERIA EN
ELECRICIDAD Y COMPUTACIN

ESCUELA SUPERIOR POLITCNICA DEL LITORAL


1.- INTRODUCCIN AL DOCUMENTO.

El presente documento describe las funcionalidades de las tarjetas


denominadas tarjeta de aplicaciones bsicas, tarjeta de entrenamiento
con dsPIC30F4011, y tarjeta manejadora de motores DC. Estas
constituyen el proyecto final de tpico Diseo de tarjetas para el
desarrollo de aplicaciones con dsPIC.

Se comienza con una descripcin general de las posibilidades de las


tarjetas y el mbito de aplicacin de las mismas para pasar a la
descripcin de su estructura hardware interna, los subsistemas
incluidos y su interconexin.

Tambin se explica detalladamente la forma de acceder a cada uno de


los sistemas de la tarjeta de entrenamiento con dsPIC30F4011, entre
los cuales destacan los perifricos implementados para el manejo de
tres tipos de motores: servomotor de modelismo, motor de pasos, y DC.
Para los dos ltimos se implement una configuracin que permite
utilizar los mismos elementos de manejo previa seleccin de uno de los
motores.

2.- DESCRIPCIN DE LAS TARJETAS.

Las tarjetas proporcionadas estn diseadas para ser utilizadas como


una plataforma para el desarrollo de diferentes aplicaciones con dsPIC.
Debido a su reducido tamao y amplia funcionalidad es especialmente
til para su utilizacin en Talleres o Seminarios de inicializacin al
diseo de controles minimizando los problemas del diseo hardware.

El sistema est basado en el Microcontrolador dsPIC30F4011 que


posee 48Kbytes de memoria FLASH y 2K de RAM que puede ser
programado en diversos compiladores como CCs, C30, mikrobasic
entre otros. Adems dispone de un potente sistema de temporizacin
con entrada de captura, salidas de comparacin y generacin de PWM
a travs de 6 canales dedicados al control de motores, 2 UARTs, 1
mdulo de bus CAN, 9 canales de ADC de 10 bits, posibilidad de
comunicacin por bus I2C, y otros subsistemas.
3.- TARJETA DE APLICACIONES BSICAS CON dsPIC30F4011.

Esta tarjeta est pensada para ser usada como un sistema para el
control de dispositivos. Incluye un conector DB9 hembra, y otro
conector del tipo espadin. Ambos para la comunicacin tipo serial a
travs de RS-232. Los pines no utilizados del dsPIC (I/O digitales,
entradas analgicas y buses de comunicacin) son accesibles por
medio de borneras para expansin hardware y la conexin de otros
tipos de sensores.

Las caractersticas de la tarjeta de aplicaciones bsicas son las


siguientes:

Procesador dsPIC30F4011 de la familia dsPIC de Microchip.


1 cristal externo de 7.3728MHz.
2 diodos leds implementados para salida de seales digitales.
1 micropulsador que sirve como seal de reinicializacin.
1 micropulsador que sirve como entrada digital.
1 puente de seleccin para la salida seal RF2 por bornera o como
U2Rx por conector espadn para comunicacin UART.
1 puente de seleccin para la salida seal RF3 por bornera o como
U2Tx por conector espadn para comunicacin UART.
2 UART con adaptador de niveles para RS232.
1 conector DB9 de comunicacin va UART1.
1 conector espadn de comunicacin va UART2.
2 borneras disponibles para conectar la fuente de alimentacin del
sistema.
12 borneras azules para la expansin hardware*.
Capacidad de soportar 1A en las pistas.
Tamao 60x96 mm.
* En la tarjeta del Kit estos componentes no estarn incluidos.
Figura 3.1 Tarjeta de aplicaciones bsicas

4.- TARJETA DE ENTRENAMIENTO CON dsPIC30F4011

La tarjeta de entrenamiento con dsPIC30F4011, es una tarjeta que


posibilita la exploracin de la mayora de los recursos del dsPIC.
Debido al hardware implementado sobre la tarjeta, el usuario se
concentra nicamente en el desarrollo del software.

La tarjeta tiene las siguientes caractersticas:

Procesador dsPIC30F4011 de la familia dsPIC de Microchip.


1 cristal externo de 7.3728MHz.
1 Barra con 8 leds configurables por el usuario.
4 microinterruptores, y 3 micropulsadores que sirven como
entradas digitales de seleccin para el usuario.
2 potencimetros conectados como entradas analgicas utilizables
por el usuario.
1 sensor digital de temperatura configurables por el usuario.
1 Rel electromagntico configurable por el usuario.
2 UART con adaptador de niveles para RS232*.
1 conector para teclado PS/2 configurable por el usuario.
1 conector para teclado matricial configurable por el usuario.
1 conector para una pantalla alfanumrica LCD configurables por el
usuario.
1 conector para cuatro visualizadores de siete segmentos del tipo
ctodo comn.
1 conector polarizado para la comunicacin con dispositivos I2C
SPI.
1 conector RJ12 de 6 patitas para programacin del dsPIC a travs
de ICD2.
3 conectores tipo espadn para conectar hasta tres servomotores.
1 bornera x 6 para conectar un motor de pasos unipolar.
1 bornera para conectar la fuente de alimentacin para motor DC y
de pasos.
1 bornera para conectar un motor de DC.
1 bornera x5 de entrada para el encoder utilizado en la medicin de
la velocidad del motor DC.
3 borneras para la salida de voltaje regulado a 5 voltios.
7 borneras auxiliares disponibles para futuras aplicaciones del
usuario que canalizan algunos pines del dsPIC, 4 de ellos sirven
para conectarse con la tarjeta de potencia manejadora de motor
DC.
Capacidad de soportar 1A en las pistas de control y 5A en las
pista de fuerza.
Voltaje mximo de entrada para los motores de 24VDC.
Tamao 198x210 mm.

* En la tarjeta los motores y encoder no sern incluidos.

4.1.- Microcontrolador.

El microcontrolador dsPIC30F4011 dispone de todos los recursos


necesarios para controlar entre otros dispositivos a un motor. Su
caracterstica ms importante es el procesador de seal (DSP). El
dispositivo est pensado originalmente para realizar operaciones de
procesamiento digital de seal de forma rpida y eficiente. Por ello
incorporan instrucciones de ensamblador que permiten realizar
operaciones de multiplicacin y suma en una sola instruccin.
Figura 4.1 Esquema del control

El microcontrolador, utiliza una tensin de alimentacin de 5 voltios y un


circuito de reloj externo con un cristal de 7.3728 MHZ. Tambin dispone
de un circuito de reinicializacin formado por un pulsador.

Figura 4.2. dsPIC30F4011 sobre la tarjeta


4.2.- Sistema de alimentacin.

El sistema de alimentacin es el encargado de fijar la tensin de


funcionamiento del sistema de control. La tarjeta trabaja a una tensin
de alimentacin de 5 V, mediante el regulador LM7805/5V, y un fusible
de 1 amperio. En la figura puede observarse el esquema del
subsistema de alimentacin.

Figura 4.3 Diseo de fuente de control

Para activar la fuente es necesario:

Conectar una fuente no regulada externa en el conector JACK


etiquetado con VNR.
Activar el interruptor etiquetado por Vdd.
Inmediatamente se encender un led rojo que indica el correcto
funcionamiento.

Figura 4.4. Sistema fuente y salida por bornera

Como se puede verificar, en la tarjeta se encuentran distribuidas tres


borneras de color verde con la salida del voltaje regulado a 5 VDC.
Tambin puede identificarse las borneras a travs de la etiqueta +5Vdd-.
4.3.- Barra de leds.

La tarjeta de control incluye una barra de 10 leds de bajo consumo


conectados a travs de su puente de habilitacin a los pines RC13,
RC14,RD0, RD1, RD2, RD3, RE0, y RE1.

Figura 4.5. Esquema de barra de leds

Para acceder a este perifrico ser necesario:

Colocar el puente habilitador del mdulo de visualizacin en la posicin


donde se encuentra la etiqueta LEDS.

Figura 4.6. Habilitador para barra de leds

Para encender cada led se debe poner un nivel alto (1), en los pines
antes mencionados.

NOTA: El acceso a los dos ltimos leds es a travs de los puentes de


habilitacin de las seales RB0 y RB1.
4.4.- Control de pantalla de cristal lquido.

La tarjeta incorpora un conector tipo hembra para una pantalla LCD


alfanumrica de 2x16. El circuito de control se puede ver en la siguiente figura.

Figura 4.7. Esquema del LCD

La seal RW esta conectada directamente a GND, con lo cual se


escoge el modo de escritura sobre el LCD, la seal RS para seleccin
de registro se conecta a RC13 y la seal de habilitacin E al pin RC14.
El control de este se realizar por los pines RD0 a RD3.

Para acceder a este perifrico ser debe:

Colocar el puente habilitador del mdulo de visualizacin en la


etiqueta LCD.
Presionar el botn de encendido del ON LCD.
Ajustar la luminosidad mediante el potencimetro CONTRASTE de 10K.

Figura 4.8. Habilitadores de LCD

NOTA: El potencimetro de contraste se encuentra debajo de la pantalla.


4.5.- Visualizadores de 7 segmentos.

Se trata de 4 displays de 7 segmentos conectados a un decodificador


(74LS138), para realizar la codificacin este elemento toma en su
entrada dos seales del puerto F (RF2-RF3), y otra seal de viene del
puente (7SEG), finalmente cuatro seales de salida del codificador
constituyen una seal de habilitacin para cada display.

La visualizacin de un nmero de 4 cifras se realiza mediante un


barrido continuo.

Figura 4.9. Esquema de displays

Para poder trabajar los cuatro visualizadores se debe:

Ubicar el puente habilitador del mdulo de visualizacin en la


etiqueta 7SEG.
Colocar en entrada del decodificador que provienen de RF3 y RF2
la cifra 00 para activar el display menos significativo. A
continuacin se pone cifra 01, y as sucesivamente hasta
completar las cuatro cifras, volviendo otra vez a la cifra menos
significativa.
Finalmente se podr visualizar nmeros de hasta 4 cifras.
Figura 4.10. Habilitador de displays

Es conveniente esperar unos pocos milisegundos entre cambios de


cifras para que los displays puedan encender.

NOTA: El decodificador para los displays se encuentra debajo de la


pantalla LCD.

4.6.- Micro-interruptores.

Los microinterruptores estn conectados a los pines RB2, EB3, RB4, y RB5.

Figura 4.11. Esquema de micro-interruptores


Para utilizar estos cuatro interruptores se debe:

Configurar sus puentes de habilitacin, en las posiciones


identificadas por DWS1, DSW2, DSW3, DSW4.

Figura 4.12. Micro-interruptores y sus habilitadores

4.7.- Micro-pulsadores.

La tarjeta de entrenamiento con dsPIC30F4011 provee al usuario de


cuatro micro-pulsadores que pueden usarse como entradas digitales
para el controlador. Se debe mencionar que existe un pulsador
adicional que sirve como botn de reinicializacin del sistema. Estos
elementos pueden ser identificados sobre la tarjeta a travs de sus
nombres BOTON1, BOTON2, INT EXT, nBOTON, y nRESET.

Figura 4.13. Esquema de micro-pulsadores


Los tres primeros micro-pulsadores se puede acceder a travs de sus
puentes de habilitacin que deben ser colocado en donde se encuentre
la etiquetas BOT1, BOT2, e INTER respectivamente, estas pueden
ser configuradas en lgica positiva o negativa haciendo uso de 2
jumper disponibles para esta funcin ambos deben ubicarse en la
posicin indicada por la etiqueta POSITIVA o NEGATIVA, para que
sean utilizables en la lgica requerida.

Figura 4.14. Micro-pulsadores y sus habilitadores

El pulsador nBOTON, es una entrada digital, con una configuracin en lgica


negativa y se encuentra conectado directamente al pin RB8 del dsPIC.

Figura 4.15. Micro-pulsador de reset y lgica negativa

El pulsador nRESET, es una entrada que sirve para la reinicializacin


del sistema y se encuentra conectado directamente al pin 1del dsPIC.

4.8.- Teclado matricial.

Uno de los elementos de entrada ms interesante y til es el teclado.


En este caso se ha previsto a la tarjeta de un teclado matricial de 12
teclas (4x3). El teclado matricial es interesante porque permite tener un
mayor nmero de teclas con un menor nmero de cables.

Un teclado matricial 4x4 tiene 4 columnas y 4 filas de hilos, de manera


que cuando se pulsa una tecla se pone en contacto una columna con
una fila; sabiendo qu fila y qu columna se han unido es posible saber
cul de las 16 teclas ha sido pulsada. Las columnas del teclado se
encuentran conectadas a los puertos RB0,RB1,RB2,RB3 y las filas
distribuidas en RB4,RB5,RB6,RB7. Si se utiliza un teclado que no
cumpla las condiciones anteriores no se asegura su funcionalidad.

Figura 4.16. Esquema teclado matricial

Para acceder a este perifrico se debe:

Configurar los puentes de habilitacin desde RB0 hasta RB7, estos


habilitadores deben ubicarse en la posicin indicada por las
etiquetas TEC para cada puente.
Tambin se dispone de resistencia de pull-up las cuales pueden
configurarse en alto o en bajo. Para esto existe un puente que
debe ubicarse en posicin VCC o GND indicada por la etiqueta
RPULL segn el requerimiento.

Figura 4.17. Habilitadores de teclado matricial

Figura 4.18. Habilitador de pull-up


4.9.- Salida digital por buzzer.

La tarjeta viene provista de buzzer o bocina, este elemento ofrece una


seal de salida de audio. Esto posibilita el desarrollo de aplicaciones en
donde supervisar visualmente alguna seal digital sea dificultoso para
el usuario.

Figura 4.19. Esquema del buzzer

Para utilizar este perifrico se debe:

Colocar el puente de habilitacin de RF6, en la posicin indicada


por la etiqueta BUZZ.

Figura 4.20. Buzzer y sus habilitadores

El sonido emitido por el buzzer se escuchar cada vez que llegue a


travs de RF6 la seal de 1 lgico, ocasionando que el transistor
trabaje en modo de saturacin. Otra alternativa podra ser el envo de
un tren de pulsos a una determinada frecuencia para escuchar
diferentes tonalidades sonoras.
4.10.- Rel electrnico.

La bobina del rle se activa cada vez que llegue a travs de RB2 la
seal de 1 lgico, ocasionando que el transistor asociado trabaje en
modo de saturacin. Una vez activada la bobina se produce el cambio
de estado del los contactos del rel.

Figura 4.21. Esquema del rel

Para acceder a, este interruptor electrnico se debe:

Colocar el puente de habilitacin de RB2, en la posicin indicada


por la etiqueta RELAY.

Figura 4.22. Salidas del rel y sus habilitadores

Las salidas de los contactos del rel se encuentran disponibles en una


bornera vinculada con este perifrico.
4.11.- Potencimetros.

La tarjeta de entrenamiento cuenta con dos potencimetros de 10K


ajustables de 0 hasta 5 V que permiten evaluar y simular variables
analgicas. El esquema elctrico se muestra en la siguiente figura.

Figura 4.23. Esquema de los potencimetros

Para acceder a estos dispositivos se debe:

Colocar el puente de habilitacin de RB7, y RB6 en la posicin


indicada por las etiquetas POT1 para el potencimetro 1 y POT2 para
potenciometro2 segn se aprecia en la serigrafa de tarjeta.

Figura 4.24. Potencimetros y sus habilitadores


4.12.- Sensor de temperatura.

Existe un conector de tres pines sobre el cual se encuentra


implementado un sensor digital de temperatura (DS18B20), usado para
medir temperatura entre un rango -55C hasta 125 C, con una
precisin de 0.5C. El conector implementado posibilita reemplazar el
sensor DS18B20, en caso de requerir utilizar sensor de temperatura
diferente. En la siguiente figura anterior se muestra el esquema de
conexin utilizado.

Figura 4.25. Esquema del sensor de temperatura

Para acceder al sensor de temperatura se debe:

Ubicar el puente habilitador de la seal RB6 en la posicin indicada por


la etiqueta TEMP.

Figura 4.26. Sensor y sus habilitadores

4.13.- Conector para comunicacin PS/2.

Existe un conector PS/2 que posibilita la conexin directa entre la tarjeta y


un dispositivo que utiliza este tipo de comunicacin como un teclado o un
mouse de PC. El esquema implementado se muestra a continuacin.
Figura 4.27. Esquema para PS/2

Para disponer de este conector se debe:

Colocar los puentes que habilitadores de las seales RF0 y RF1 en la


posicin indicada por las etiquetas PS2 para ambas seales.

Figura 4.28. Conector PS/2 y sus habilitadores

4.14.- Conectores para comunicacin UART.

La tarjeta tiene la posibilidad de conectarse con un ordenador o con


otro dispositivo mediante una comunicacin serie asncrona que sigue
la norma RS-232. La comunicacin entre dos dispositivos utilizando una
comunicacin serie asncrona se puede conseguir con slo tres hilos:
transmisin (TX), recepcin (RX) y GND. El pin de transmisin de un
dispositivo debe ir conectado al de recepcin del otro dispositivo y
viceversa.

En el ordenador ser necesario seleccionar el puerto serie


correspondiente (COM1 o COM2) con la velocidad de transmisin
deseada. La tarjeta dispone de 2 unidades UART, con su respectivo
conector DB9.

Figura 4.29. Esquema para UART

Para el acceso a estos conectores no se requiere configuracin de


puentes habilitadores por defecto estos se encuentran disponibles,
debido a que se encuentran conectados directamente a los pines
RC13, RC14, RF4, y RF5 del dsPIC30F4011.

Figura 4.30. Conectores DB9 y el MAX232

4.15.- Conectores para comunicacin I2C/SPI.

La tarjeta de entrenamiento con dsPIC30F4011, tiene otras


posibilidades de comunicacin serial con otros dispositivos se trata de
los buses SPI e I2C. La interfaz SPI es un bus que emplea tres lneas,
adicionalmente utiliza una seal de seleccin de dispositivo (modo
maestro-esclavo).

El bus de I2C requiere nicamente dos hilos para la transferencia de


informacin entre los elementos que se acoplan al bus.

Figura 4.31. Esquema para I2C/SPI

Para disponer de las seales del bus SPI (SS, SDI, SDO, SCK), deben
configurarse como se indica a continuacin:

SDI, se accede directamente al pin RF2 sin ningn puente de


habilitacin.
SDO, se accede directamente al pin RF3 sin ningn puente de
habilitacin.
SCK, se accede ubicando el puente habilitador de la seal RF6 en
la posicin indicada por la etiqueta SPI.
SS, se accede ubicando el puente habilitador de la seal RB2 en la
posicin indicada por la etiqueta SPI.

Figura 4.32. Habilitadores para SPI

Para disponer de las seales del bus I2C (SDA, SCL), deben
configurarse como se indica a continuacin:
SDA, se accede directamente al pin RF2 sin ningn puente de
habilitacin.
SDO, se accede directamente al pin RF3 sin ningn puente de
habilitacin.

Para utilizar estos tipos de comunicaciones se tiene disponible un


conector polarizado de cuatro pines, el usuario debe elegir la interfaz
que requiera, configurarla, y conectar el dispositivo.

Figura 4.33. Conector para I2C o SPI

4.16.- Conectores para comunicacin ICD2.

Para la programacin en circuito del dsPIC30F4011 se incorporo a la


tarjeta de entrenamiento un conector RJ12. A continuacin se muestra
la interfaz electrnica implementada.

Figura 4.34. Esquema ICD2


Para disponer de las seales de este puerto de comunicacin (PGD,
PGC), deben configurarse como se indica a continuacin:

MCLR, se accede directamente al pin 1 del dsPIC, sin ningn


puente de habilitacin.
VCC, se accede a travs del pulsador de seleccin de la fuente
entre el computador la tarjeta.
GND, se accede directamente a la referencia del sistema.
PGC, se accede directamente al pin RF2 sin ningn puente de
habilitacin.
PGD, se accede directamente al pin RF3 sin ningn puente de
habilitacin.

Se recuerda que para la programacin del dsPIC este debe estar


energizado, para cumplir el requisito anterior se dispone de energa
proveniente desde la fuente de alimentacin de la tarjeta
externamente desde la fuente USB de un computador, para la seleccin
de la alimentacin se implement un pulsador con retencin de seal;
estando presionado selecciona la fuente de computador, caso contrario
se seleccionara la fuente de la tarjeta.

Es importante procurar que nunca se mantener ambas fuentes


activadas al mismo tiempo, en caso de hacerlo el dsPIC no responder
a la ejecucin de la aplicacin a la programacin.

Figura 4.35. RJ12 y su selector de alimentacin


4.17.- Control de servomotores.

Se incorpora tres conectores tipo espadn (3 pines), para el manejo de


tres servomotores de modelismo, alimentados desde la fuente de la
tarjeta, y controlados a partir de las seales RE0, RE2, RE4,
provenientes directamente del dsPIC.

Figura 4.36. Esquema y conectores para servos

4.18.- Control de motores de paso y DC.

Se incorpora un puente configurable para seleccionar entre manejo de


un motor de pasos o un motor DC, con un sistema de aislamiento del
control con la parte fuerza a travs de cuatro optoacopladores (PC817).

Las seales RE2, RE3, RE4, RE5, manejan a los optoacopladores los
cuales a su vez controlan la parte de fuerza formada por cuatro
transistores mosfet de canal N (IRF530) conectados en una
configuracin en puente H.

Para la seleccin entre el motor de pasos y el DC se dispone de un


banco de nueve interruptores de tres posiciones (S27, S28, S29, S30,
S31, S32, S33, S34, S35), que seleccionaran la configuracin de uno
de los dos motores o de ninguno.

Cuando todos los interruptores se encuentran presionados hacia arriba


indica la seleccin de la configuracin del motor de pasos.

Cuando todos los interruptores se encuentran presionados hacia abajo


indica la seleccin de la configuracin del motor de DC.
Cuando todos los interruptores se encuentran presionados hacia en la
mitad indica que ninguna configuracin de los motores.

Figura 4.37. Esquema para motor de pasos y DC

Para utilizar un motor de pasos con la tarjeta se debe:

Presionar los 9 interruptores de seleccin de motor, tal que queden


levantados del lado de la etiqueta MotorPASO.
Conectar a la tarjeta una fuente DC externa de hasta 24 VDC, para
la conexin de la fuente esta implementada una bornera roja de 2
bornes, identificable con la etiqueta BATTERY DC.
Conectar el motor de pasos con la tarjeta, para la conexin del
motor esta implementado un grupo de borneras azules,
identificables con la etiqueta MOTOR PASO. Cada borne se
encuentra etiquetado con su correspondiente seal para el control
de este tipo de motores.
Activar la fuente de control con el interruptor etiquetado con Vdd, el
interruptor debe quedar levantado de lado indicado por ON.
Inmediatamente se debe encender el led indicador de color rojo (fig. 5).
Activar la fuente del motor con el interruptor etiquetado con Vdd, el
interruptor debe quedar levantado de lado indicado por ON.
Inmediatamente se deben encender los dos leds. Uno de ellos color rojo
que indica la correcta energizacin del sistema, otro de color amarillo
indicando la correcta configuracin para el manejo del motor de pasos.
Finalmente todo estar listo para que el usuario comience con el
desarrollo de sus aplicaciones.
Para utilizar un motor de DC con la tarjeta se debe:

Presionar los 9 interruptores de seleccin de motor, tal que queden


levantados del lado de la etiqueta MotorDC.
Conectar a la tarjeta una fuente DC externa de hasta 24 VDC, para
la conexin de la fuente esta implementada una bornera roja de 2
bornes, identificable con la etiqueta BATTERY DC.
Conectar el motor DC con la tarjeta, para la conexin del motor
esta implementado una de bornera azul, identificables con la
etiqueta MOTOR DC.
Activar la fuente de control con el interruptor etiquetado con Vdd,
el interruptor debe quedar levantado de lado indicado por ON.
Inmediatamente se debe encender el led indicador de color rojo
(fig. 5).
Activar la fuente del motor con el interruptor etiquetado con Vdd,
el interruptor debe quedar levantado de lado indicado por ON.
Inmediatamente se deben encender los dos leds. Uno de ellos
color rojo que indica la correcta energizacin del sistema, otro de
color verde indicando la correcta configuracin para el manejo del
motor DC.
Finalmente todo estar listo para que el usuario comience con el
desarrollo de sus aplicaciones.

4.19.- Manejo del encoder.

Para poder realimentar el manejo de un motor DC, se necesita un


sistema que nos diga a que velocidad nos movemos para poder
compararla con la que deseamos y as poder corregir el error. Esta
velocidad ser medida mediante los pulsos suministrados por un
encoder, la cual nos suministrara pulsos para la medida de la velocidad
y el sentido de giro del motor.

Figura 4.38. Esquema para encoder


Para trabajar con las seales de control del encoder se debe:

Configurar los puentes que habilitan las seales RB3, RB4, y RB5.
Cada puente debe ubicarse en las etiquetas ENCD, quedando
disponibles las seales INDEX, QEA, y QEB respectivamente.

Para la conexin de un encoder incremental con salida en cuadratura a


la tarjeta de entrenamiento con dsPIC30F4011, esta tarjeta dispone de
una bornera de color azul de tres bornes para las seales de control,
tambin hay otra bornera de color verde con dos bornes para la
energizar el sensor. Estas dos borneras se encuentran grupadas sobre
la tarjeta y etiquetadas con el nombre ENCODER. Adicionalmente en
cada borne tiene marcado su correspondiente seal.

Figura 4.39. Manejador para motores de pasos y DC

Existe un grupo de borneras que cumplen la funcin de llevar a sus


bornes 14 seales del dsPIC30F4011 las cuales son: RB0, RB1, RE0,
RE1, RE2, RE3, RE4, RE5, RE8, RF0, FR1, RF2, RF3, RF6. Cada
borne tiene una etiqueta para identificar la seal que tiene asociada.

B0, ubicar el puente habilitador de la seal RB0 en la posicin


indicada por la etiqueta BORN.
RB1, se accede ubicando el puente habilitador de la seal RB1 en
la posicin indicada por la etiqueta BORN.
RE0, se accede directamente al pin de la seal RE0 sin ningn
puente de habilitacin.
RE1, se accede directamente al pin de la seal RE1 sin ningn
puente de habilitacin.
RE2, se accede directamente al pin de la seal RE2 sin ningn
puente de habilitacin.
RE3, se accede directamente al pin de la seal RE3 sin ningn
puente de habilitacin.
RE4, se accede directamente al pin de la seal RE4 sin ningn
puente de habilitacin.
RE5, se accede directamente al pin de la seal RE4 sin ningn
puente de habilitacin.
RE8, se accede ubicando el puente habilitador de la seal RE8 en
la posicin indicada por la etiqueta BORN.
RF0, ubicar el puente habilitador de la seal RF0 en la posicin
indicada por la etiqueta BORN.
RF1, ubicar el puente habilitador de la seal RF1 en la posicin
indicada por la etiqueta BORN.
RF6, ubicar el puente habilitador de la seal RF6 en la posicin
indicada por la etiqueta BORN.

Figura 04.40. Habilitadores de salida por bornera

Figura 4.41. Bornera de salida de seales


5.- TARJETA MANEJADORA DE MOTORES DC.

En esta tarjeta se encuentran todos los recursos de potencia para controlar


motores y otros dispositivos externos como contactores.

Figura 5.1. Tarjeta para motor DC

Se pueden destacar las siguientes caractersticas de la tarjeta:

1 puente en H realizado con parejas de transistores unipolares


discretos (MOSFET) capaces de soportar hasta 14A de corriente
en rgimen permanente y hasta 56A de pico. Se puede controlar
un motor DC en velocidad y sentido.
1 led indicador del funcionamiento del sistema.
Capacidad de soportar 1A en las pistas de control y 6.5A en las
pista de fuerza.
Tamao 102x140 mm.

Esta tarjeta de fuerza ir acoplada con una de la tarjeta de aplicaciones


bsicas, o con tarjeta de entrenamiento con dsPIC30F4011, la cual
trabajar como el control.
5.1.- Sistema de alimentacin del manejador.

La tarjeta tiene implementado un juego de cuatro borneras


(BT1,BT2,BT3,BT4), para la alimentacin sistema de disparos de los
mosfet canal N (Q1, Q2, Q3, Q4), adems tiene un sistema de aislamiento
por optoacopladores entre la tarjeta de fuerza y la de control.

Figura 5.2. Borneras para alimentacin

Debido a que BT4 y BT3 tienen la misma referencia de GND, se puede


conectar la misma fuente a esas borneras.

5.2.- Sistema de control.

La tarjeta tiene implementado un juego de borneras para las seales de


control provenientes de la tarjeta de aplicaciones bsicas, o con tarjeta
de entrenamiento con dsPIC30F4011.

Figura 5.3. Borneras para el sistema de control


5.2.- Puente en H.

La tarjeta dispone de 1 puente en H, formado por parejas de


transistores unipolares mosfet IRF530. Esta tarjeta permite usar
cualquier tcnica de troceo clase E, como por ejemplo modulacin de
ancho de pulso y conmutacin de voltaje bipolar, unipolar, entre otras.

El esquema elctrico del puente se puede ver en siguiente figura.

Figura 5.4. Puente H del la tarjeta

Para utilizar esta tarjeta manejadora de motores DC se debe:

Escoger la tarjeta control que se usar como interfaz.


Identificar en la tarjeta de control las borneras que canalizan las
seales para el manejo del mdulo PWM.*
Identificar en la tarjeta de fuerza las borneras de control y
asociarlas con las del paso anterior.
Conectar las tarjetas (fuerza y control) a travs de las borneras,
utilizar cable. **
Conectar las fuentes de la tarjeta de fuerza en cada uno de sus
borneras.
Presionar el interruptor para energizar el sistema de fuerza.
Inmediatamente se deber encender un led rojo indicador de que
la tarjeta esta lista para realizar las pruebas.

*Tanto la tarjeta de aplicaciones bsicas, como la tarjeta de


entrenamiento con dsPIC30F4011, tienen la salida de cada una de
estas seales por bornera (PWM1L/RE0, PWM1H/RE1, PWM2L/RE2,
PWM2H/RE3, PWM3L/RE4, PWM3H/RE5).

**En la figura 5.5 se muestra las conexiones entre la tarjeta de


entrenamiento con dsPIC30F4011 con la tarjeta manejadora de
motores DC.

Figura 5.5. Conexin entre tarjetas


BIBLIOGRAFA

1. ANGULO USATEGUI JOS, Microcontroladores avanzados dsPIC

1 Edicin; Thomson; Madrid-Espaa, 2006; pp 3-495.

2. DEWAN B. S., Power semiconductor, Jhon Wiley & Sons, Toronto-

Canada, 2006; pp 282-352.

3. GITMAN J. LAWRENCE, Fundamentos de administracin

financiera 3 Edicin, HARLA, Mexico, 1986; pp 149-154.

4. MALONEY J. TIMOTHY, Electrnica industrial moderna 3 Edicin;

Pretince Hall; Naulcalpan de Juarez-Mexico, 2007; pp 526-530.

5. McCOMB GORDON, The Robot Builders Bonanza 2 Edicin,

McGrill-Hill, Estados Unidos, 2001; pp 253-318.

6. Gua de usuario para aplicacin de bootloader

http://www.ingenia-cat.com/

7. Gua para elaborar una Tesis de Grado

http://www.cib.espol.edu.ec

8. Implementacin de controles PID

http://www.automatas.org/hardware/teoria_pid.htm

9. Herramientas y estndares para diseo de circuitos impresos

http://www.ipc.org/ContentPage.aspx?pageid=4.6
10. Hoja del fabricante para las especificaciones de los integrados

utilizados en la implementacin de las tarjetas.

http://www.datasheetcatalog.com

11. Hojas de fabricante de especificacin del dsPIC30F y dsPIC30F4011

http://www.microchip.com

12. Informacin general sobre dsPIC

http://isa.uniovi.es/~fernando/Programa_II_EUITI.htm

13. Learn LabVIEW DSP in 3 Hours, Getting Started with LabVIEW

http://www.ni.com

14. Manual de mikroBasic para dsPIC

http://www.mikroe.com

15. Proyecto para un Controlador PID

http://perso.wanadoo.es/chyryes/circuitos/pid.htm

16. Precio de componentes electrnicos

http://www.electroavil-es.com/

17. Tutorial de diseo de circuitos impreso con PROTEL99

http://www.uhu.es/manuel_sanchez/tutoriales/protel99/protel99.html

18. Tutorial sobre Comunicacin Serial

http://digital.ni.com/worldwide/

19. Reglas para diseo electrnico

http://www.monografias.com/trabajos35/dibujo-electronico/dibujo-

electronico.shtml

Você também pode gostar