Documente Academic
Documente Profesional
Documente Cultură
Manejo del Puerto serie en Linux para manipulacin de motor a pasos y despliegue de caracteres en un LCD
PUNTOS A TRATAR
OBJETIVO GENERAL. OBJETIVOS ESPECIFICOS. PLANTEAMIENTO DEL PROBLEMA. JUSTIFICACIN. ESTADO DEL ARTE. DISEO Y DESARROLLO DEL PROYECTO. PRUEBAS Y RESULTADOS. RECOMENDACIONES REFERENCIAS BIBLIOGRFICAS.
OBJETIVO GENERAL
Al trmino de esta investigacin se podr recibir y transmitir informacin desde una PC (con sistema operativo Linux) hacia un microcontrolador, a travs del puerto serial. La informacin recibida por el microcontrolador determinara la tarea o funcin que este deber realizar. Las tareas o funciones que el microcontrolador deber realizar son: activar un motor a pasos para que el rotor gire un determinado nmero de grados, y desplegar mensajes de texto en una pantalla de cristal lquido.
OBJETIVOS PARTICULARES
Desarrollar e implementar el hardware que permita la comunicacin entre la PC y el microcontrolador para que este pueda manipular el motor a pasos y una pantalla de cristal liquido.
Desarrollar una interface grafica que permita la activacin y seleccin de los dispositivos que estarn conectados al microcontrolador, para que estos realicen su funcin (girar el eje del motor y desplegar mensajes en la pantalla de cristal lquido). Dicha interface grafica deber operar bajo el sistema operativo Linux, por lo cual esta ser programada con el lenguaje de programacin QT Linux.
programacin
4
El proyecto ser divido en cuatro etapas : Documentacin. Diseo y desarrollo de Hardware. Diseo y desarrollo de Software. Pruebas.
JUSTIFICACIN
En la asignatura de programacin de sistemas que estoy cursando se han conocido y desarrollado una serie de temas sobre el sistema Operativo UNIX/Linux, los cuales deben ser llevados a la prctica para obtener un mayor conocimiento y experiencia en la programacin sobre ese sistema operativo. El tema elegido para desarrollarse en esta investigacin rene las caractersticas necesarias para comprobar la arquitectura y programacin del sistema operativo UNIX/Linux. .
Diseo y Desarrollo.
Hardware
Software
Diseo de Hardware
PIC16873A L293B MAX232 LCD MOTOR A PASOS
10
Rutina de Interrupcin
INCLUDE <P16F873A.INC> LIST P=16F873A
DATO EQU 0X21 #DEFINE RS PORTA,0 #DEFINE RW PORTA,1 #DEFINE E PORTA,2 ORG 0X00 goto INICIO ORG 0X04 ; Inicia Rutina de Interrupcin. INTER bcf STATUS, RP0 ; BANCO 0 ; btfss PIR1,RCIF ; goto ; movf RCREG,W ; GUARDAR EL DATO RECIBIDO movwf DATO ; guardo el dato recivido EN EL REGISTRO DATO ;bcf PIR1,RCIF ; LIMPIO BIT DE INTERRUPCION DE RECEPCION call INIT_LCD ; Anterior TX_DATO bcf PIR1,RCIF retfie ;RECUPERA DIRECCION DE INTERRUPCION
11
Funcin Principal
INICIO
bucle
bsf STATUS,RP0 ;BANCO1 bcf STATUS,RP1 movlw 0xc0 movwf INTCON ;INT GLOBAL Y LAS DE OTRO TIPO movlw 0x00 movwf TRISB ;PUERTO B SALIDA B7 ...B0 movwf TRISA ;PUERTO A SALIDA A7 ...A0 movlw 0x80 movwf TRISC ;BIT 7 INPUT Y 6 OUTPUT PARA LA USART movlw .25 movwf SPBRG ;DETERMINA VELOCIDAD DE TRANSMISIO 9600 B/S bcf STATUS, RP0 movlw b'10010000' movwf RCSTA ;PUERTO SERIE Y RECEPCION CONTINUA call LCD_Inicializa ;INICIALIZA EL LCD bsf STATUS, RP0 ;BANCO 1 movlw b'00000100' movwf TXSTA ;MODO ASINCRONO bsf PIE1, RCIE ;HABILITO INTERRUPCION POR BUFFER LLENO bcf STATUS, RP0 ;BANCO 0 goto bucle INCLUDE <RETARDOS.INC> INCLUDE <LCD_8BIT.INC> END
12
13
INTERFACE GRAFICA
14
Pruebas y Resultados
Se logro enviar caracteres al microcontrolador desde la interface grafica, para que este los despliegue en la pantalla de cristal liquido, aunque aun se tienen algunos problemas ya que el modulo LCD no fue programado para realizar funciones de desplazamiento y visualizar en todo momento el carcter recibido, por lo que en ocasiones el texto introducido en la interface grafica no es mostrado en LCD debido a que este escribe los datos en las posiciones de memoria que no son mostradas.
Al enviar cadenas de caracteres al microcontrolador este solo despliega en la pantalla de cristal lquido, el primer carcter de cada cadena en repetidas ocasiones, aunque esta prueba se realizo sobre el sistema operativo Windows y no hubo problema.
El motor a pasos no fue programado por motivos de tiempo por lo que no se pudo comprobar el funcionamiento de ese modulo.
15
Recomendaciones
La pagina web donde se consulto y presento la informacin de los temas vistos en clase tiene algunos errores, y en ocasiones comet esos mismos errores al realizar las practicas y aunque entiendo que debemos consultar otras fuentes de informacin, es recomendable que se realicen esas correcciones ya que para una persona nueva en el tema no le es muy sencillo encontrar esos errores.
Despus de tratar un tema en clase, dar un poco mas tiempo para estudiar y repasar ya que no todos los alumnos tenemos la misma formacin acadmica y para algunos es necesario estudiar un poco mas del tema visto es clase.
16
REFERENCIAS BIBLIOGRFICAS
El entorno de programacin UNIX. Brian W. Kernighan, Rob Pike. Ed. Prentice Hall. Advanced UNIX Programming. Marc J. Rochkind. Ed. Prentice Hall. UNIX Programmers reference. Jhon J. Valley. Ed. QUE corporation. LINUX Device Drivers. Jonathan Corbet, Alessandro Rubini y Greg Kroah-Hartman. Ed. OReilly. PROGRAMACIN AVANZADA EN UNIX. Jos Canosa. Ed. McGraw-Hill.
17
18