ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Motor A Pasos Retroalimentado


Enviado por   •  6 de Febrero de 2012  •  1.224 Palabras (5 Páginas)  •  878 Visitas

Página 1 de 5

Puerto B Configuracion Assignacion

RB0 Entrada Sensor Optoacoplador

RB1 Entrada Boton de subir en modo manual

RB2 Entrada Boton de bajada en modo manual

RB3 Salida Bobina A del motor

RB4 Salida Bobina B del motor

RB5 Salida Bobina C del motor

RB6 Salida Bobina D del motor

RB7 Entrada Boton de ON / OFF

Lenguaje Basic

Compilado en Pic Simulator IDE

Simulado en Proteus

Configuración de Puertos

ON OFF

RB7 1 0

Puerto A Configuración Asignación

RA0 Entrada x Posición deseada bit 0

RA1 Entrada x Posición deseada bit 1

RA2 Entrada x Posición deseada bit 2

RA3 Entrada x Posición deseada bit 3

RA4 Entrada Cambio de modo manual a automático

X = utilizados solo en modo automático

Automático Manual

RA4 1 0

Define CONF_WORD = 0x3ff1 ; Se define la palabra de configuración como trabajara el pic, en este caso es 3ff1 que dice lo siguiente: Code Protection deshabilitado, Power-up Timer habilitado, Watchdog Timer deshabilitado, Oscillator tipo XT.

Define CLOCK_FREQUENCY = 4 ; se define la frecuencia con la que nuestro pic trabajara en este caso 4 mhz.

Dim retro As Byte ; se declara la variable “retro” como Byte ( retro es el registro donde se ira dando el incremento de la interrupción dada por la retroalimentación del motor ).

Const tope = 12 ; declaración de la constante “tope” la máxima posición alcanzada por la grúa en este caso es igual a 12 decimal.

Dim deseada As Byte ; Declaración de la variable “deseada” esta será donde se guardara la posición ala que queramos llegar en modo automático.

INTCON.INTE = 1 ; habilita las interrupción de entrada en RB0.

Enable ; Habilita las interrupciones en general GIE

TRISA = $1f ; Configura el Puerto A

TRISB = $87; Configura el Puerto B

OPTION_REG.INTEDG = 1 ; Configura que las interrupciones sean dadas por el flanco ascendente

-----------------------------------------------------------------------------------------------------------------------------------

Inicio de ciclo de escaneo (inicio) se encarga de estar escaneando el bit 7 del puerto B que es el botón de encendido si esta en 0 salta a OFF sino sigue a escanear el bit 4 del puerto A que es el botón para cambiar de modo automático a modo manual si este esta en 1 entonces salta a programa2 (automático), si no continua con el bit 1 del puerto B si este esta en 1 salta a rutina de Subir si no es así salta a escanear el bit 2 del puerto B si es 1 salta a rutina de bajar si no se dio ninguna condición el programa se queda ciclado esperando una entrada por estos puertos.

inicio:

If PORTB.7 = 0 Then Goto off

If PORTA.4 = 1 Then Goto programa2

If PORTB.1 = 1 Then Goto subir

If PORTB.2 = 1 Then Goto bajar

Goto inicio

off:

PORTB = $00 ; OFF se encarga de cuando el bit 7 del puerto B este en 0 des energiza el motor así para ahorrar energía en modo apagado después salta a inicio.

Goto inicio

-----------------------------------------------------------------------------------------------------------------------------------

Rutina de Subir y bajar se manda un código a los bits correspondientes alas bobinas A,B,C,D, en secuencia para asi poder hacer girar el motor a pasos, entre cada paso hay un retardo de 90 mili segundos asi para lograr una velocidad moderada y una buena respuesta de parte del motor a los cambios.

SUBIDA

A B C D

Pasos RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7 CODIGO HEX

1 x x x 1 0 0 0 x 08H

2 x x x 0 1 0 0 x 10H

3 x x x 0 0 1 0 x 20H

4 x x x 0 0 0 1 x 40H

subir:

If retro = tope Then Goto inicio

PORTB = $08

WaitMs 90

PORTB = $10

WaitMs 90

PORTB = $20

WaitMs 90

PORTB = $40

WaitMs 90

Goto inicio

CICLO DE BAJADA

A B C D

Pasos RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7 CODIGO HEX

1 x x x 0 0 0 1 x 40H

2 x x x 0 0 1 0 x 20H

3 x x x 0 1 0 0 x 10H

4 x x x 1 0 0 0 x 08H

bajar:

If retro = 0 Then Goto inicio

PORTB = $40

WaitMs 90

PORTB = $20

WaitMs 90

PORTB = $10

WaitMs 90

PORTB

...

Descargar como (para miembros actualizados) txt (8 Kb)
Leer 4 páginas más »
Disponible sólo en Clubensayos.com