Вы находитесь на странице: 1из 83

PROTEUS VSM 1

PGINA PRINCIPAL - PGINA SIGUIENTE

A.- Introduccin.

El software de diseo y simulacin Proteus VSM es una herramienta til para


estudiantes y profesionales que desean acelerar y mejorar sus habilidades para del
desarrollo de aplicaciones analgicas y digitales.

Este permite el diseo de circuitos empleando un entorno grfico en el cual es posible


colocar los smbolos representativos de los componentes y realizar la simulacin de
su funcionamiento sin el riesgo de ocasionar daos a los circuitos.

La simulacin puede incluir instrumentos de medicin y la inclusin de grficas que


representan las seales obtenidas en la simulacin.

Lo que ms inters ha despertado es la capacidad de simular adecuadamente el


funcionamiento de los microcontroladores ms populares (PICS, ATMEL-AVR,
MOTOROLA, 8051, etc.)

Tambin tiene la capacidad de pasar el diseo a un programa integrado llamado


ARES en el cual se puede llevar a cabo el desarrollo de placas de circuitos impresos.

Procedimiento de Arranque del programa:

1.- Inicio -> Programas -> Proteus 6 Professional -> ISIS 6 Professional.
2.- La forma corta es dar doble click en el icono del programa ubicado en el
escritorio.

B.- Circuito Bsico # 1 (Desarrollo) - Alimentacin de un foco de corriente alterna.

1.- Dar un click en el botn Pick Devices localizado en la parte izquierda de la


pantalla debajo de la pantalla de exploracin del diagrama para abrir la forma del
mismo nombre.
2.- En la ventana Libraries (Parte superior izquierda) buscar la librera ACTIVE, y
dar un click sobre ella.
3.- En la ventana Objects elegir el componente ALTERNATOR dando doble click
sobre el nombre.

Se puede observar que en la ventana DEVICES aparece el nombre del componente


elegido. Si es el nico componente que se va a elegir se puede cerrar la forma Pick
Devices, pero si es necesario ms de uno, se puede continuar eligiendo los
componentes necesarios para nuestro diseo.

4.- En la misma librera ACTIVE dar doble click sobre el componente LAMP.

5.- Cerrar la Forma Pick Devices en el botn estndar. (La cruz en la esquina superior
derecha)

6.- Dar un click en la palabra ALTERNATOR de la ventana DEVICES y observar


que aparece el componente en la pantalla de exploracin del circuito.
7.- Explorar las funciones de orientacin del componente, parte inferior izquierda de
la pantalla.

8.- Comenzando por la izquierda presionar cada uno de los botones de orientacin.

9.- En el cuadro de texto se puede introducir un ngulo pero slo acepta valores de
(0, +/-90, +/-180, +/-270), por lo que es mejor manejar la orientacin por medio de
los botones. Este mismo cuadro de texto muestra el ngulo actual obtenido al
presionar los botones.

10.- Dejar el componente en la posicin inicial.

11.- Con el componente seleccionado dar un click en el rea de trabajo, con lo que se
logra colocar el componente en el rea de trabajo.
12.- Repetir el procedimiento anterior con el componente LAMP.

13.- Configurar los componentes de la siguiente manera.

a.- Dar un click con el botn derecho sobre el componente ALTERNATOR.


Notar que su contorno cambia a rojo.
b.- Dar un click ahora con el botn izquierdo para abrir la f o r m a Edit
Component.

c.- Dar un nombre al componente en el campo Component Reference (AC1),


Poner el valor del componente en el Component Value (12V), Modificar el valor
de la amplitud a (12V) y la frecuencia a 0.5Hz.

d.- Presionar el botn OK.

e.- Verificar los valores del componente LAMP y si el valor del voltaje
corresponde con el del ALTERNATOR, no es necesario realizar ninguna
modificacin. Presionar OK.
14.- Realizar la conexin de los componentes de la siguiente forma:

a.- Colocar el puntero del mouse en el extremo superior del ALTERNATOR.


Aparece una cruz en el extremo de la flecha.

b.- Dar un click para habilitar la conexin por medio de cable.

c.- Desplazar el mouse (desaparece la cruz) hasta el extremo superior del


componente LAMP y lograr que vuelva a aparecer la cruz en el extremo de la
flecha.

d.- Dar otro click para realizar la conexin.

e.- Repetir los pasos anteriores para la pare inferior de los componentes.

Resultado:

Este es el procedimiento estndar para conectar cualquier componente con el que se


trabaje en el programa.

15.- Probar el funcionamiento del circuito presionando el botn play que se encuentra
en la parte inferior de la pantalla.
16.- Para acercar el circuito y poder observar mejor la simulacin se puede recurrir a
los controles de zoom.

Comenzando de izquierda a derecha tenemos:

a.- Re-centrar la pantalla.

b.- Incrementar el acercamiento.

c.- Decrementar el acercamiento.

d.- Ver la hoja completa.

e.- Ver una rea seleccionada

Usar la herramienta para Ver una rea seleccionada dando un click

Usando el cursor modificado presionar el botn izquierdo en el extremo superior


izquierdo del circuito armado y sin soltar el botn formar un rectngulo que contenga
todo el circuito, por ltimo soltar el botn.

Este procedimiento se puede usar para acercar partes de un circuito de mayor tamao.

17.- Habilitar los colores de voltaje y las flechas de corriente del circuito para
completar las simulacin.

a.- Ingresar al men System y seleccionar Set Animation Options... para abrir
la forma Animated Circuits Configuration.
b.- Habilitar las casillas Show Wire Voltaje by Colour? y Show Wire Current
with Arrows?.

c.- Presionar OK.

18.- Volver a simular el circuito y observar lo que ocurre.

19.- Guardar el circuito.

a.- Seleccionar la herramienta Save current design.

b.- Dar un click en el botn crear una nueva carpeta y darle el nombre de Curso
Proteus.
c.- Ingresar a la carpeta proteus y crear dentro de sta, una carpeta con el nombre
Ejercicio 1.

d.- En el campo Nombre de archivo nombrar al archivo como Ejercicio 1.

dar un click en el botn guardar o presionar la tecla ENTER.

C.- Circuito Bsico #2 (Desarrollo) - Batera - Interruptor - Foco.

1.- Dar un click en Create a New Design.

2. Presionar el botn Pick Devices.

3.- De la ventana Libraries seleccionar ACTIVE y en la ventana Objects elegir los


componentes:
- BATTERY

- LAMP

- SWITCH

4.- Armar el siguiente circuito:

Modificar los valores de los componentes si es necesario.

5.- Ejecutar la simulacin del circuito y probar el funcionamiento del interruptor.


Dando clicks con el botn izquierdo en las flechas arriba - abajo del interruptor.

6.- Guardar el archivo.

a.- Presionar Save current design.

b.- Salir de la carpeta del Ejercicio 1. (Subir un nivel)

c.- Dentro de la carpeta de Curso Proteus, crear una nueva carpeta con el nombre
Ejercicio 2.

d.- Ingresar a la carpeta Ejercicio 2 y dentro de ella guardar el archivo con el


nombre Ejercicio 2.

D.- Circuito Bsico #3 (Desarrollo) - Batera - Resistencia Variable - Foco.

1.- Dar un click en Create a New Design.

2. Presionar el botn Pick Devices.

3.- De la ventana Libraries seleccionar ACTIVE y en la ventana Objects elegir los


componentes:

- BATTERY

- LAMP

- POT-LIN

4.- Armar el siguiente circuito:


5.- Ejecutar la simulacin del circuito y probar el funcionamiento de la resistencia
variable. Con el puntero del mouse dar click en las flechas para aumentar o disminuir
la resistencia.

6.- Guardar el archivo.

a.- Presionar Save current design.

b.- Salir de la carpeta del Ejercicio 2. (Subir un nivel)

c.- Dentro de la carpeta de Curso Proteus, crear una nueva carpeta con el nombre
Ejercicio 3.

d.- Ingresar a la carpeta Ejercicio 3 y dentro de ella guardar el archivo con el


nombre Ejercicio 3.

E.- Agregar instrumentos de medida a un circuito.

Usando el circuito anterior hacer lo siguiente:

a.- De la barra superior de herramientas seleccionar Virtual Instruments.

b.- Dar doble click con el botn en el cable que une la resistencia variable y la
lmpara para dejar espacio a un ampermetro. Si es necesario mover un poco la
lmpara hacia la derecha.

NOTA: Para mover un componente en el rea de trabajo se realizan los


siguientes pasos:

i.- Dar un click con el botn derecho sobre el componente que se desea
mover.

ii.- Presionar el botn izquierdo sobre el componente y sin soltar arrastrar


el componente a la posicin deseada.
c.- De la ventana INSTRUMENTS al lado izquierdo de la pantalla seleccionar
con un click izquierdo el instrumentoDC AMMETER.

d.- Dar un click en el rea de trabajo entre la resistencia variable y la lmpara, y


conectar los componentes para obtener el siguiente circuito.
e.- Seleccionar el instrumento DC VOLTMETER de la ventana
INSTRUMENTS.

f.- Colocar en el rea de trabajo de la misma forma que el instrumento anterior


para obtener el siguiente circuito.

g.- Ejecutar la simulacin del circuito.

h.- Guardar el circuito. Como ya haba sido guardado el archivo ya no es


necesario cambiar de directorio o nombrar el archivo.
NOTA: para volver ha habilitar la ventana DEVICES presionar, en la barra de
herramientas, Component.

F.- Circuito Bsico #4 - Circuito Serie.

G.- Circuito Bsico #5 - Circuito Paralelo.

H.- Circuito Bsico #6 - Circuito con dos interruptores par control en dos direcciones.
NOTA: Usar el componente SW-SPDT de la librera ACTIVE.

PGINA SIGUIENTE
PROTEUS VSM 2
PGINA PRINCIPAL - PAGINA ANTERIOR - PAGINA SIGUIENTE

I.- Circuito Bsico #7 - Control de la direccin de un motor de CD.

El motor se encuentra en la librera ACTIVE y hay que seleccionar el que slo tiene el
nombre MOTOR.

Los interruptores tambin se encuentran en la librera ACTIVE y su nombre es SW-


DPDT.

J.- Circuito Bsico #8 - Uso de Fusibles.

El fusible se encuentra dentro de la librera ACTIVE bajo el nombre de FUSE.


Modificar este circuito agregndole un ampermetro.
Modificar el circuito del motor agregnole un ampermetro y un vltmetro.

K.- Ejercicios:
El Diodo se encuentra en la librera DEVICE bajo el nombre DIODE.
El capacitor se encuentra en la librera ACTIVE bajo el nombre CAPACITOR.

PAGINA ANTERIOR - PAGINA SIGUIENTE


PROTEUS VSM 3
PGINA PRINCIPAL - PAGINA ANTERIOR - PAGINA SIGUIENTE

L.- Ejercicios 2:

a.- Uso de un transformador.

TRANSFORMER = LIBRERA (DEVICE) - TRAN-2P2S

*DEFINE

GWIRE=1E3

Configuracin del ALTERNATOR


Configuracin del TRAN-2P2S

b.- Diodo con una fuente alterna.

Resistencia = DEVICE (RES)

Diodo = DEVICE (DIODE)

b.- Rectificador de Media Onda.


Usar el ALTERNATOR con la siguiente configuracin inicial.

Para poder observar la salida en el osciloscopio cambiar la Frecuencia a 60Hz.

*** Agregar ampermetros y capacitor.


CAPACITOR = ACTIVE (CAPACITOR)

Cambiar las caractersticas de los ampermetros a mA. Y probar la resolucin


con los otros rangos.

c.- Rectificador de onda completa usando un Puente Rectificador.


PUENTE RECTIFICADOR = DEVICE (BRIDGE)

***Configuracin ALTERNATOR.
d.- Uso de relevadores.

Relevador = ACTIVE (RELAY)


e.- Uso de transistores.

***Activacin Directa.

*** Usando un divisor de voltaje.


*** Con un Potencimetro.

*** Activando un Relevador.


*** Usando un capacitor y resistor para crear un retardo de tiempo, as como un
botn como reset del circuito.

Botn = ACTIVE (BUTTON)

*** Probar el siguiente circuito y observar el cambio.


*** Circuito con retardo de encendido variable.

f.- Uso de operacionales.


*** Circuito de control de intensidad de cada Lmpara.

*** Ejercicios con amplificadores operacionales.:

Circuito NO Inversor
Circuito Inversor

g.- Uso del Circuito Integrado 555

C.I. 555 = ANALOG (555)

h.- Prueba de Compuertas Lgicas.

*** Compuerta AND.


A-INPUT = ACTIVE (LOGICSTATE)

B-INPUT = ACTIVE (LOGICSTATE)

Q-OUTPUT = ACTIVE(LOGICPROBE(BIG))

AND = ACTIVE (AND)

*** Compuerta OR. (Armar en el mismo circuito)

OR = ACTIVE (OR)
*** Compuerta NOT. (Armar en el mismo circuito)

NOT = ACTIVE (NOT)

*** Compuerta NAND. (Armar en el mismo circuito)


NAND = ACTIVE (NAND)

*** Compuerta NOR. (Armar en el mismo circuito)

NOR = ACTIVE (NOR)

*** Compuerta XOR. (Armar en el mismo circuito)


XOR = ACTIVE (XOR)

i.- Lgica Secuencial.

*** FLIP-FLOP (RS)

*** FLIP-FLOP (D)


DTFF = ACTIVE (DTFF)

CLOCK = ACTIVE (CLOCK)

*** FLIP-FLOP (JK)

JKFF = ACTIVE (JKFF)

*** REGISTRO DE CORRIMIENTO


*** CONTADOR BINARIO

DISPLAY 7 SEGMENTOS = DISPLAY (7SEG-BCD)


j.- Uso del Convertidor Anlogo Digital.

k.- Habilitacin del compilador PIC BASIC PRO.

I.- Ingresar al men Source.

II.- Seleccionar Define Code Generation Tools... y presionar el botn NEW.


.

III.- Buscar la carpeta en la raz de "C" con el nombre Pbp244.

IV.- Ingresar a la carpeta Pbp244 y seleccionar el archivo Pbpw.


V.- Completar la forma como se muestra en la siguiente figura y presionar OK.

l.- Prueba de funcionamiento del programa BLINK. Se hace parpadear un led


conectado al PORTB.0

I.- Crear el siguiente circuito.


DEVICE (CAP)

DEVICE (CRYSTAL)

DEVICE (RES)

MICRO (PIC16F84A)

ACTIVE (LED-RED)

II.- Guardar el circuito en una carpeta con el nombre Blink y nombrar al archivo
Blink.

III.- Copiar el siguiente texto al NOTEPAD de Windows y guardarlo en una


archivo de texto con el nombre Blink.bas dentro de la carpeta Blink.

'Programa de ejemplo que hace parpadear a un LED conectado a PORTB.0


'cada segundo.

loop: High PORTB.0 'Enciende el LED


Pause 500 'Retardo de .5 segundos

Low PORTB.0 'Apaga el LED


Pause 500 'Retardo de .5 segundos

Goto loop 'Se regresa a loop y el LED se queda


'parpadeando.
End

IV.- Ingresar al men Source.

V.- Seleccionar Add/Remove Soruce Files...

VI.- En Code Generation Tools elegir PBPW.

VII.- Presionar el botn NEW.

VIII.- Seleccionar el archivo Blink.bas.

IX. Presionar OK.

NOTA: Para que funcione todo lo anterior debe de haberse incluido en el PATH
del sistema Windows la ruta a la carpeta C:\PBP244, esto se logra editando el
archivo AUTOEXEC.BAT, en el que se agrega al final del PATH existente.

Para Windows 2000 y XP el procedimiento es diferente. Se tiene que ingresar a la


forma System, seleccionar Opciones Avanzadas y hay que declarar una nueva
variable de entorno. Esta pendiente verificar estos pasos.
X.- En el men Source elegir Build All. Si todo esta correcto debe aparecer la
siguiente ventana la cual se puede cerrar presionando CLOSE.

XI.- Dar click con el botn derecho sobre el microcontrolador y despus otro con
el izquierdo para abrir la forma de configuracin.

XII.- Dar un click con el botn izquierdo en el icono que muestra una carpeta
abierta (El que marca el rectngulo rojo).

XIII.- Seleccionar el archivo Blink.hex.


XIV.- Ajustar la frecuencia del reloj a 4MHz en el campo Processor Clock
Frecuency.

XV.- Presionar OK.

XVI.- Ejecutar la simulacin.

PAGINA ANTERIOR - PAGINA SIGUIENTE


PROTEUS VSM 4
PGINA PRINCIPAL - PAGINA ANTERIOR - PAGINA SIGUIENTE

m.- Ejemplos con microcontroladores Pic de MICROCHIP.

i.- Microcontrolador PIC16F84 con dos LEDS.

Componentes:

DEVICE (CAP) = 33pF


DEVICE (CRYSTAL) = 4MHz
DEVICE (RES) = 10k, 120, 120
DEVICE (CAP-ELEC) = 10uF
MICRO (PIC16F84A)
ACTIVE (LED-GREEN)
ACTIVE (LED-RED)

La alimentacin y la tierra para este circuito se encuentre dentro de Inter-Sheet


Terminal de la barra de herramientas.
Programa:

TRISA = 0
PORTA.0 = 1
PORTA.1 = 0

ASB:
TOGGLE PORTA.0
TOGGLE PORTA.1
PAUSE 500
GOTO ASB

END

*** Probar el siguiente circuito:

Programa:

TRISA = 0
LOW PORTA.0
HIGH PORTA.1
LOW PORTA.2

ASB:
TOGGLE PORTA.0
TOGGLE PORTA.1
TOGGLE PORTA.2
PAUSE 1000
GOTO ASB

END

ii.- Circuito con interruptores excluyentes.

Programa:

TRISB = %11111111
TRISA = 0

SWS VAR BYTE

OPTION_REG = 0

ASB:
SWS = PORTB & %00001110

SELECT CASE SWS


CASE %1110
LOW PORTA.0
CASE %1100
HIGH PORTA.0
CASE %1010
HIGH PORTA.0
CASE %1000
LOW PORTA.0
CASE %0110
HIGH PORTA.0
CASE %0100
LOW PORTA.0
CASE %0010
LOW PORTA.0
CASE %0000
HIGH PORTA.0
END SELECT
PAUSE 100
GOTO ASB

END

iii.- Uso del LCD Alfanumrico y activacin de una carga de corriente


alterna por medio de un transistor y un relevador.

Componentes:

BIPOLAR (2N2222)
DISPLAY (LM016L)
Programa:
' Set LCD Data port
DEFINE LCD_DREG PORTA
' Set starting Data bit (0 or 4) if 4-bit bus
DEFINE LCD_DBIT 0
' Set LCD Register Select port
DEFINE LCD_RSREG PORTA
' Set LCD Register Select bit
DEFINE LCD_RSBIT 4
' Set LCD Enable port
DEFINE LCD_EREG PORTB
' Set LCD Enable bit
DEFINE LCD_EBIT 3
' Set LCD bus size (4 or 8 bits)
DEFINE LCD_BITS 4
' Set number of lines on LCD
DEFINE LCD_LINES 2
' Set command delay time in us
DEFINE LCD_COMMANDUS 2000
' Set data delay time in us
DEFINE LCD_DATAUS 50

TRISB.1 = 0

ASB: LCDOUT $FE, 1, "HOLA ALUMNO"


PAUSE 1000
LCDOUT $FE, $C0, "PROTEUS"
PAUSE 1000
TOGGLE PORTB.1
GOTO ASB
END

iv.- Comunicacin serial entre dos microcontroladores PIC16F84.


Programas:

[Picuno.bas]

INCLUDE "modedefs.bas"

TRISA = 255

ASB:
SEROUT PORTB.0, T9600, ["OKy",PORTA]
GOTO ASB

END

[Picdos.bas]

INCLUDE "modedefs.bas"

TRISA = 0

ASB:
SERIN PORTB.0, T9600, ["OKy"], PORTA
TOGGLE PORTB.1
GOTO ASB

END
v.- Uso del microcontrolador PIC16F628

NOTA: modificar el micro utilizado en Define Code Generation Tools... dentro


del men Source.

Circuito:
Componentes:

MICRO (PIC16F628A)

Programa:

DEFINE OSC 4
CMCON = 7 ' PortA = digital I/O
VRCON = 0 ' A/D Voltage reference disabled

' Set LCD Data port


DEFINE LCD_DREG PORTB
' Set starting Data bit (0 or 4) if 4-bit bus
DEFINE LCD_DBIT 0
' Set LCD Register Select port
DEFINE LCD_RSREG PORTA
' Set LCD Register Select bit
DEFINE LCD_RSBIT 2
' Set LCD Enable port
DEFINE LCD_EREG PORTA
' Set LCD Enable bit
DEFINE LCD_EBIT 3
' Set LCD bus size (4 or 8 bits)
DEFINE LCD_BITS 4
' Set number of lines on LCD
DEFINE LCD_LINES 2
' Set command delay time in us
DEFINE LCD_COMMANDUS 2000
' Set data delay time in us
DEFINE LCD_DATAUS 50

PAUSE 20

LCDOUT $FE, 1, "NOMBRE"


ASB:

GOTO ASB

END

vi.- Uso de Display Alfanumrico y Teclado.

Cambiar el tipo de micro de la misma forma que el circuito anterior a -P16F877

Componentes:

ACTIVE (KEYPAD-SMALLCALC)

Programa:

DEFINE OSC 20
'DEFINE LOADER_USED 1
ADCON1 = 7
TRISE = 0
TRISB = %00001111
OPTION_REG = %00010101
'INTCON2 = %00000000
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTE
DEFINE LCD_RSBIT 0
DEFINE LCD_EREG PORTE
DEFINE LCD_EBIT 1
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50

Tecla var byte


FLAG VAR BIT

L1 CON %01110000
L2 CON %10110000
L3 CON %11010000
L4 CON %11100000

PAUSE 20

LCDOUT $FE, 1,"Listo" 'Clear display and show Listo

Rastreo:

PORTB = L1
SELECT CASE PORTB & $0F
CASE %1110
LCDOUT $FE, 1,"ON/C"
FLAG = 1
CASE %1101
LCDOUT $FE, 1,"0"
FLAG = 1
CASE %1011
LCDOUT $FE, 1,"="
FLAG = 1
CASE %0111
LCDOUT $FE, 1,"+"
FLAG = 1
END SELECT

PORTB = L2
SELECT CASE PORTB & $0F
CASE %1110
LCDOUT $FE, 1,"1"
FLAG = 1
CASE %1101
LCDOUT $FE, 1,"2"
FLAG = 1
CASE %1011
LCDOUT $FE, 1,"3"
FLAG = 1
CASE %0111
LCDOUT $FE, 1,"-"
FLAG = 1
END SELECT

PORTB = L3
SELECT CASE PORTB & $0F
CASE %1110
LCDOUT $FE, 1,"4"
FLAG = 1
CASE %1101
LCDOUT $FE, 1,"5"
FLAG = 1
CASE %1011
LCDOUT $FE, 1,"6"
FLAG = 1
CASE %0111
LCDOUT $FE, 1,"X"
FLAG = 1
END SELECT

PORTB = L4
SELECT CASE PORTB & $0F
CASE %1110
LCDOUT $FE, 1,"7"
FLAG = 1
CASE %1101
LCDOUT $FE, 1,"8"
FLAG = 1
CASE %1011
LCDOUT $FE, 1,"9"
FLAG = 1
CASE %0111
LCDOUT $FE, 1,"/"
FLAG = 1
END SELECT

IF FLAG = 1 THEN
PAUSE 150
FLAG = 0
ENDIF

GOTO Rastreo

END
PAGINA SIGUIENTE
PROTEUS VSM 5
PGINA PRINCIPAL - PAGINA ANTERIOR

n.- Uso de PICC con Proteus.

Armar el siguiente circuito:


Este circuito se utiliz como control de un inversor monofsico de
mltiples pulsos, con frecuencia y voltaje variable.

Componentes:

MICRO (PIC18F452)
DISPLAY (LM016L)
ACTIVE (BUTTON)
ACTIVE (SWITCH)

Guardar el circuito en una nueva carpeta slo para el circuito. En esta carpeta se
debe guardar tambin el cdigo fuente generado con PICC.

Pegar el siguiente programa en un nuevo archivo usando PICC.

Programa:

// Inversor 05 "Final"

#include <18F452.h>
#use delay(clock=20000000)
#fuses HS,PUT,BROWNOUT,NOWDT,NOPROTECT,NOLVP, BORV20,
STVREN
#use fast_io(C)
#use fast_io(B)
#include <lcd.c>

int16 delta = 0, d1 = 0, delta_back, d1_back;


int8 volfrec = 0, cuenta = 0, periodo = 0;
int1 inicio = 0, arranque = 0, flag1 = 0, flag2 = 0;

void cambio();

#INT_EXT
void modo()
{
if (inicio == 0)
{
inicio = 1;
flag1 = 1;
lcd_gotoxy(5,2); lcd_putc("000");
lcd_gotoxy(14,2); lcd_putc("000");
}
else
{
if (input(PIN_B2) == 1)
{
if (volfrec <= 11)
{
volfrec += 1;
}
}
else
{
if (volfrec > 0)
{
volfrec -= 1;
}
}
cambio();
}
}

#INT_EXT1
void motor()
{
disable_interrupts(INT_EXT1);
inicio = 0;
arranque = 1;
volfrec = 3;
cambio();
}

#INT_TIMER0
void mot_arr()
{
if (volfrec <= 11)
{
set_timer0(26473);
volfrec += 1;
cambio();
if (volfrec == 12)
{
disable_interrupts(INT_TIMER0);
setup_timer_0(RTCC_OFF);
}
}
}

#INT_TIMER1
void carga_delta()
{
SET_TRIS_C(0x00);
SET_TRIS_B(0xFF);
output_C(0x00);

disable_interrupts(INT_EXT);
disable_interrupts(INT_TIMER1);
setup_timer_1(T1_DISABLED|T1_DIV_BY_1);
set_timer3(d1_back);
setup_timer_3(T3_INTERNAL|T3_DIV_BY_2);
enable_interrupts(INT_TIMER3);
periodo += 1;

cuenta += 1;
if (cuenta == 5)
{
cuenta = 0;
if (flag2 == 0)
{
flag2 = 1;
}
else
{
flag2 = 0;
}
}

output_low(PIN_C0);
output_low(PIN_C1);
enable_interrupts(INT_EXT);
}

#INT_TIMER3
void carga_d1()
{
disable_interrupts(INT_EXT);
disable_interrupts(INT_TIMER3);
setup_timer_3(T3_DISABLED|T3_DIV_BY_2);
set_timer1(delta_back);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);

if (flag2 == 0)
{
output_high(PIN_C0);
}
else
{
output_high(PIN_C1);
}
enable_interrupts(INT_TIMER1);
}

void main()
{
port_b_pullups(TRUE);
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);

setup_psp(PSP_DISABLED);
setup_spi(FALSE);
setup_timer_2(T2_DISABLED,0,1);

disable_interrupts(INT_TIMER1);
disable_interrupts(INT_TIMER3);
setup_timer_0(RTCC_OFF);

ext_int_edge(H_TO_L);

lcd_init();
lcd_putc('\f');
lcd_gotoxy(2,1); lcd_putc("INVERSOR ITA");
lcd_gotoxy(1,2); lcd_putc("VOL:OFF FREC:OFF");

setup_timer_1(T1_DISABLED|T1_DIV_BY_1);
set_timer1(0x0001);

setup_timer_3(T3_DISABLED|T3_DIV_BY_2);
set_timer3(0x0001);

setup_timer_0(RTCC_OFF);
set_timer0(0x0001);

enable_interrupts(GLOBAL);
enable_interrupts(INT_EXT);
enable_interrupts(INT_EXT1);

while(TRUE)
{
if (inicio == 1)
{
if (periodo == 10)
{
periodo = 0;
flag1 = 0;
}
if (flag1 == 0)
{
delta_back = delta;
d1_back = d1;
flag1 = 1;
set_timer3(d1_back);
setup_timer_3(T3_INTERNAL|T3_DIV_BY_2);
enable_interrupts(INT_TIMER3);
}
}
else
{
if (arranque == 1)
{
disable_interrupts(INT_EXT1);
set_timer0(26473);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_128);
enable_interrupts(INT_TIMER0);
arranque = 0;
inicio = 1;
flag1 = 0;
}
}
}
}

void cambio()
{
switch (volfrec)
{
case 0: disable_interrupts(INT_TIMER1);
disable_interrupts(INT_TIMER3);
enable_interrupts(INT_EXT1);
output_low(PIN_C0);
output_low(PIN_C1);
flag1 = 1;
lcd_gotoxy(5,2); lcd_putc("000");
lcd_gotoxy(14,2); lcd_putc("000");
break;

case 1: flag1 = 0;
disable_interrupts(INT_EXT1);
delta = 65227;
d1 = 15690;
lcd_gotoxy(5,2); lcd_putc("010");
lcd_gotoxy(14,2); lcd_putc("005");
break;

case 2: delta = 64919;


d1 = 40845;
lcd_gotoxy(5,2); lcd_putc("020");
lcd_gotoxy(14,2); lcd_putc("010");
break;

case 3: delta = 64610;


d1 = 49332;
lcd_gotoxy(5,2); lcd_putc("030");
lcd_gotoxy(14,2); lcd_putc("015");
break;

case 4: delta = 64301;


d1 = 53653;
lcd_gotoxy(5,2); lcd_putc("040");
lcd_gotoxy(14,2); lcd_putc("020");
break;

case 5: delta = 63993;


d1 = 56308;
lcd_gotoxy(5,2); lcd_putc("050");
lcd_gotoxy(14,2); lcd_putc("025");
break;
case 6: delta = 63684;
d1 = 58129;
lcd_gotoxy(5,2); lcd_putc("060");
lcd_gotoxy(14,2); lcd_putc("030");
break;

case 7: delta = 63376;


d1 = 59473;
lcd_gotoxy(5,2); lcd_putc("070");
lcd_gotoxy(14,2); lcd_putc("035");
break;

case 8: delta = 63067;


d1 = 60521;
lcd_gotoxy(5,2); lcd_putc("080");
lcd_gotoxy(14,2); lcd_putc("040");
break;

case 9: delta = 62758;


d1 = 61369;
lcd_gotoxy(5,2); lcd_putc("090");
lcd_gotoxy(14,2); lcd_putc("045");
break;

case 10: delta = 62450;


d1 = 62079;
lcd_gotoxy(5,2); lcd_putc("100");
lcd_gotoxy(14,2); lcd_putc("050");
break;

case 11: delta = 62141;


d1 = 62688;
lcd_gotoxy(5,2); lcd_putc("110");
lcd_gotoxy(14,2); lcd_putc("055");
break;

case 12: delta = 61832;


d1 = 63221;
lcd_gotoxy(5,2); lcd_putc("120");
lcd_gotoxy(14,2); lcd_putc("060");
break;
}
}

NOTA: Se recomienda tabular el programa anterior para que sea ms fcil


su lectura.

Guardar el archivo en la misma carpeta en la que se guardo el circuito.


Compilar el archivo.
Para que el programa anterior funcione correctamente es necesario editar el
archivo LCD.C que viene con el PICC, sustituyendo la instruccin
delay_cycles(1) por delay_us(1). Este archivo se encuentra en:
C:\Archivos de programa\PICC\Drivers

Cargar el archivo *.HEX generado por PICC, como se realiz para los
microcontroladore PIC16F84 y 877. La frecuencia del reloj debe ser cambiada a
20MHz.

o.- Creacin de una placa de circuito impreso usando ISIS y ARES.

El circuito desarrollado en ISIS se basa en el siguiente diagrama:


i.- Usando ISIS armar el siguiente circuito:

Componentes:

DIODE (1N4148)
BIPOLAR (BC547)

DEVICE (CAP-ELEC)

DIODE (3EZ8V2D5)

DIODE (3EZ5V1D5)

DEVICE (RES)

DEVICE (CONN-D9)

MICRO (PIC16F877)

La alimentacin y la tierra para este circuito se encuentran dentro de Inter-Sheet


Terminal de la barra de herramientas.

Es necesario etiquetar el POWER como VDD y el GROUND como VSS, para


que se realice la conexin adecuada con el PIC. Las dos tierras deben de tener la
misma etiqueta.

Tambin se requiere modificar el empaque del capacitor de 100uF, lo que se


realiza de la siguiente forma:

Dar click derecho sobre el componente CAP-ELEC (100uF) "C1" y despus


con el izquierdo para abrir su forma de configuracin.
Dar un click en el smbolo de interrogacin.

Buscar el Objeto (ELEC-RAD20) de la librera PACKAGE dando doble click


sobre el nombre del objeto.

Presionar OK en la forma de edicin del componente.

Guardar el circuito.

Ir al men Tools y presionar Netlist Compiler.

En el mismo men presionar Netlist to ARES.

Tambin se puede presionar el icono de ARES que se encuentra en la barra de


herramientas. El cual genera la Netlist y la exporta a ARES.
Se abre la pantalla de trabajo de ARES.

Los componentes aparecen del lado izquierdo de la pantalla, al parecer no sirvi


de nada el haber conectado los componentes en ISIS, pero lo que sucede es que
es necesario colocar los componentes dentro de una rea que represente el
tamao de la placa que queremos crear.

Al ir colocando los componentes se van conectando automticamente.

El proceso de colocacin manual slo es necesario para los componentes que


requieren un colocacin especial en la placa, ya que los dems componentes se
pueden colocar en forma automtica usando el Auto Placer, que se ver ms
adelante.

Se realiza la creacin del borde que representa el tamao de la placa a generar.


Se utiliza la herramienta 2D Graphics Box.

Al dar click sobre esta herramienta es posible dibujar una figura rectangular
usando el botn izquierdo del mouse dando un click dentro del rea de
trabajo y sin soltar dibujar el rectngulo del tamao deseado.

Antes de realizar lo anterior es necesario especificar en que Layer


queremos dibujar el rectngulo. Esto se especifica en la parte inferior
de la pantalla y se debe seleccionar "Board Edge".

Con esto se logra que el programa ARES pueda identificar el rea de


trabajo especifica en la que se tienen que colocar los componentes y en
donde se tiene que llevar a cabo la AUTORUTA.

El color de este tipo de rectngulo es amarillo.


El nico componente que es necesario colocar en forma manual es el DB-9
(Conector serial), ya que este debe estar en el borde de la placa y si lo
hacemos en forma automtica ser colocado en cualquier parte.

Para seleccionarlo volver a habilitar la ventana de componentes


presionando Component placement and editing.
Este componente est identificado como "J1"

Colocar este componente en el borde derecho, como se muestra a


continuacin.

La numeracin del componente se puede apreciar mejor en el siguiente


acercamiento:
Para la colocacin correcta del componente es necesario usar las
herramientas de giro y espejo.

El Auto Placer se activa al dar un click sobre el icono de esta herramienta.

Aparece el la siguiente forma en la que hay que presionar OK.


Con lo que se obtiene el siguiente resultado:

En la figura anterior se puede ver que ya se han realizado las conexiones,


pero an no se han creado las pistas correspondientes, slo parecen unidas
con un cable directo.

Otra herramienta que facilita el trabajo es la posibilidad de generar las


pistas de forma automtica, utilizando el AUTO RUTER.
Antes de poder utilizar esta herramienta es necesario modificar como se
van a crear las pistas, principalmente el grosor y en que lado de la placa van
a aparecer.

Para cambiar estas caractersticas se accede al men System y se selecciona


Set Strategies...

La forma debe quedar de la siguiente forma, para obtener un ancho de pista


aceptable y que slo lo haga de un lado de la placa. La figura siguiente es
para la Strategy Power.

*** Si aparece una Strategy POWER se deben de poner los mismos valores
que se observan en la forma anterior, con el fin de usar solo un lado de la
placa.

Se aceptan los valores presionando OK.

Para ejecutar la AUTO -RUTA se da un click sobre la siguiente


herramienta.
Aparece la siguiente forma y se presiona OK.

Se obtiene el siguiente resultado.

Cabe mencionar que los resultados son variables y dependen del grosor de
las pistas, el tamao de la placa elegida y si se ejecuta nuevamente la auto
ruta se puede llegar a obtener otro resultado si an presenta puentes (cables
directos).

Para tratar de reducir el nmero de pistas no creadas se puede ampliar el


tamao de la placa. Para poder hacerlo es necesario volver a seleccionar la
herramienta 2D Graphics Box y tener en la parte inferior de la pantalla
seleccionado BOARD EDGE.
Se selecciona el cuadro con el botn derecho y al cambiar el color a blanco
aparecen unos pequeos cuadros que se utilizan para modificar el tamao
de la placa, lo que se realiza utilizando el botn izquierdo sobre estos
cuadros presionando y sin soltar realizar la modificacin de tamao.

Despus de esto se puede volver a intentar la AUTO-RUTA.

Para deshacer la AUTO-RUTA se realiza lo siguiente:

1.- Elegir la herramienta Track placement and editing dando un click


sobre ella.

2.- Despus utilizando el botn derecho seleccionar toda la placa y por


ltimo presionar SUPR o DELETE en el teclado.

Si queremos quitar todos los componentes se tiene que elegir Component


placement and editing.

Si no queremos borrar el borde de la placa se tiene que realizar la


seleccin dentro de esta, ya que si seleccionamos toda la placa, sta
tambin se borrar. Despus de realizada la seleccin se presiona
SUPR o DELETE.

Cabe mencionar que los componente son regresados a la ventana


COMPONENTS del lado izquierdo de la pantalla, con lo cual podemos
a realizar el proceso nuevamente hasta obtener un resultado adecuado.

Si queremos agregar unas perforaciones en las esquinas de la placa se realiza lo


siguiente:

1.- Elegir la herramienta Round through-hole pad placement.

2.- Elegir el pad adecuado a nuestras necesidades.

3.- Dar un click en el que se necesite, para poder realizar la colocacin en


las cuatro esquinas de la placa utilizando el botn izquierdo.

4.- Placa final obtenida (No est optimizada)


*** Placa final obtenida (Optimizada)

NOTA: Esta placa no ha sido fabricada y probada,


slo se utiliza en este curso como ejemplo del
funcionamiento del programa ARES, por lo que se
aconseja que sea revisada antes de llevar a cabo su
fabricacin.
Cuando la placa haya sido probada, se mencionar
cualquier defecto y la forma de corregirlo.

Вам также может понравиться