Descargar

Carrito seguidor de línea negra (página 2)


Partes: 1, 2

j. La carcasa a utilizar será en acrílico por su bajo peso y costo. El diseño y la forma están por definir hasta el montaje total del carrito. Ésta influye en el consumo de potencia que al final tenga el seguidor.

k. El PIC elegido es el que hemos venido utilizando en el laboratorio, pues ya es conocido por nosotros y nos brinda los rendimientos que necesitamos para esta aplicación. De pronto el oscilador debería ser de una frecuencia un poco mayor, pero nos damos cuenta que tampoco es tan crítico este aspecto para el uso que le vamos a dar. El oscilador indicado debería ser más o menos del doble, generalmente a trabajar con un rango de frecuencias de 10MHz.

edu.red

Figura 7. PIC 16f877A.

l. Por último, la elección del lenguaje a utilizar para programar el PIC, fue crítica puesto que en la materia hemos venido trabajando en lenguaje C y es muy fácil trabajar con él por su alto nivel. Sin embargo, como habíamos comenzado a trabajar en un diseño anterior que no nos dio y a último momento nos decidimos por trabajar el proyecto actual nos vimos abocados a pedir asesoría y basarnos en un programa previo que venía diseñado para un PC16F45A. Utilizamos el compilador CCS y miramos el código y de ahí nosotros desarrollamos nuestro propio código en ASSEMBLER directamente. No nos pareció necesario, es más, nos pareció innecesario pasarlo luego a C. por esta razón presentamos en ASSEMBLER el código, ya que de todas maneras así lo compila sobre el PIC.

DIAGRAMA DE BLOQUES

edu.red

DIAGRAMA SEGUIDOR DE LÍNEA

edu.red

CÓDIGO EN ASSEMBLER

INCLUDE "P16F877A.Inc" CBLOCK .12 aux1,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9, aux10,aux11,aux12,CONTADOR,aux13,aux14,a ux15

Endc

ORG 00

GOTO INICIO ORG 05

INICIO bsf STATUS,RP0

clrf TRISB

movlw b'11111111'

movwf TRISA

bcf STATUS,RP0

CLRF PORTB CLRF PORTA movlw .4

movwf CONTADOR movlw b'00001111' movwf aux4

movlw b'00000110'

movwf aux5

movlw b'00000011'

movwf aux6

movlw b'00000001'

movwf aux7

movlw b'00000000'

movwf aux8

movlw b'00001100'

movwf aux9

movlw b'00001000' movwf aux10 movlw b'00000111' movwf aux11 movlw b'00001110' movwf aux12

CICLO movf PORTA,0 xorwf aux4,0 btfsc STATUS,2

GOTO ADELANTECON

movf PORTA,0 xorwf aux5,0 btfsc STATUS,2

GOTO ADELANTE

movf PORTA,0 xorwf aux6,0 btfsc STATUS,2

GOTO DERECHA

movf PORTA,0 xorwf aux7,0 btfsc STATUS,2

GOTO DERECHA

movf PORTA,0 xorwf aux8,0 btfsc STATUS,2

GOTO ATRAS

movf PORTA,0 xorwf aux9,0 btfsc STATUS,2

GOTO IZQUIERDA

movf PORTA,0 xorwf aux10,0 btfsc STATUS,2

GOTO IZQUIERDA

movf PORTA,0 xorwf aux11,0 btfsc STATUS,2

GOTO DERECHA

movf PORTA,0 xorwf aux12,0 btfsc STATUS,2

GOTO IZQUIERDA

GOTO CICLO

DERECHA

movlw b'00000101'

movwf PORTB

call pausa

movlw b'00000000'

movwf PORTB call pausa GOTO CICLO

IZQUIERDA

movlw b'00000110'

movwf PORTB

call PAUSA

movlw b'00000000'

movwf PORTB call PAUSA GOTO CICLO

ADELANTECON

movlw b'00000100'

movwf PORTB

call PAUSA2

DECFSZ CONTADOR,1

GOTO CICLO GOTO PARAR

ADELANTE

movlw b'00000100'

movwf PORTB

GOTO CICLO

atras movlw b'00001000'

movwf PORTB

GOTO CICLO

PAUSA movlw .1 movwf aux1 movlw .40 movwf aux2 movlw .40

movwf aux3 decfsz aux3,F GOTO $1 decfsz aux2,F GOTO $5 decfsz aux1,F GOTO $9

Return

PAUSA2 movlw .1 movwf aux13 movlw .250 movwf aux14 movlw .120 movwf aux15 decfsz aux15,F GOTO $1 decfsz aux14,F GOTO $5 decfsz aux13,F GOTO $9

Return

PARAR

CLRF PORTB

goto PARAR END

CONCLUSIONES

– Nos pudimos dar cuenta que es muy fácil realizar casi cualquier programa o montaje utilizando tanto lenguaje C como el ASSEMBLER, sabiendo de dónde partir y cuáles serán los objetivos propuestos.

– La compilación de todos los códigos deben pasar invariablemente a ASSEMBLER pero es mucho más fácil programar en lenguaje C, aunque a veces para afinar detalles se puede ir al código básico y realizarlo mejor.

– A la hora del montaje encontramos dificultades especialmente a la hora de calibrar nuestros motores aún utilizando los componentes más idóneos para el caso. Esta dificultad nos impidió presentar el proyecto en el tiempo señalado.

– Los sensores también fueron de alguna dificultad, aunque al final se lograron calibrar teniendo en cuenta los parámetros exactamente y con la mayor precisión posible.

– Nos queda con marcado interés la conclusión casi obvia de tener en cuenta los imprevistos a la hora de realizar cualquier montaje pues, aunque la electrónica digital es en sí bastante precisa al contrario de la analógica, siempre hay inconvenientes y retrasos, generalmente debidos al factor humano.

– También como en estos proyectos se combinan factores analógicos, mecánicos y digitales, esta confluencia hace aún más crítico el tiempo de preparación de los proyectos.

– Por último, al ir desarrollando el proyecto nos dimos cuenta de que hay muchísimas aproximaciones a un mismo problema y que es necesario tener en cuenta sobre todos dos aspectos: mínimo número de componentes y costos. Teniendo en cuenta estos factores se puede llevar a cabo un trabajo eficiente, sin tener en cuenta estos ítems se puede llevar a cabo un trabajo sólo eficaz.

 

Autor:

Luis Leonardo Rivera Abaúnza

UNIVERSIDAD DE IBAGUÉ

PROGRAMA INGENIERÍA ELECTRÓNICA

LABORATORIO DE ELECTRÓNICA DIGITAL III

Colombia, 18 de mayo de 2009

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente