Sie sind auf Seite 1von 4

NOVIEMBRE 2003

UTFSM

Aplicacin de sensor de ultrasonido y servomotor con tarjeta de desarrollo XS-95.


Informacin detallada de funcionamiento de Servomotor y Sensor de ultrasonido en la pgina web del proyecto: http://www.elo.utfsm.cl/~mineducagv/docs/ListaDetalladadeModulos/ Ejemplo de aplicacin de Servomotor y Sensor de Ultrasonido: Se arm un sistema de prueba de los dispositivos servomotor y sensor de distancia por ultrasonido consistente en un seguidor de la posicin de una referencia mvil. Mediante el sensor de ultrasonido se midi la posicin (distancia al sensor) de un objeto de referencia que perfectamente podra ser una persona; la respuesta del sensor (pulso de 5 [V] de ancho proporcional a la distancia del objeto) se ingreso a la tarjeta XS-95 utilizando el CPLD como dispositivo de interconexin entre el sensor y el microprocesador 8051 que posee la tarjeta. Mediante un programa hecho en lenguaje de programacin C (tambin se puede trabajar directamente en assembler) se realiz un proceso de cuenta iterativa para obtener una variable proporcional a la distancia del objeto. Con el valor de esta variable se program una rutina para mover el servomotor, enviando una seal de tal modo que este se mantuviera apuntando al objeto permanentemente. El esquema bsico del sistema armado es el de la figura siguiente:

NOVIEMBRE 2003

UTFSM

Debido a que es necesario setear una frecuencia de operacin inferior a la que ocupa el CPLD (100[MHz]) se trabaj con un divisor de 10 logrando una frecuencia de reloj principal de 10[MHz]. El texto en lenguaje ABEL utilizado para cablear el acceso del procesador a la RAM, para resetear el microprocesador y para conectar tanto entradas como salidas de este ltimo fue el siguiente:
MODULE uc8031 TITLE 'Sensor Distancia y Servomotor' DECLARATIONS A15,A7..A0 PIN 34,35,36,37,39,40,41,43,44; PSEN PIN 13; RD PIN 32; WR PIN 63; CLK PIN 9; ALE PIN 20; INP PIN 7; //impulso que se enva al sonar (fsicamente conectado al 8051, se conecta directo al sonar) RESSON PIN 76; //pin de entrada con la respuesta del sonar (conectarlo al sonar) D7..D0 PIN 2,83,3,1,84,82,79,75 istype 'reg'; sal PIN 77 ISTYPE 'COM'; //pin que enva la seal de control al servomotor OE PIN 62 ISTYPE 'COM'; CE PIN 65 ISTYPE 'COM'; ALPC PIN 11 ISTYPE 'COM'; // enva la respuesta del sonar al 8051 (fsicamente conectado al 8051) RESET PIN 45 ISTYPE 'COM'; RELOJ PIN 10 ISTYPE 'COM'; PAR7 PIN 80; Bus_dir_baja_sram = [D7..D0]; P0_uc8031 = [A7..A0]; EQUATIONS ALPC = RESSON; sal = INP; Bus_dir_baja_sram.CLK = ! ALE; Bus_dir_baja_sram := P0_uc8031; RELOJ = CLK; CE = A15; OE = PSEN & RD; RESET = PAR7; END uc8031

Este ltimo cdigo debe ser cargado en el CPLD y con esto se logra el correcto funcionamiento de la tarjeta, tanto con sus seales de entrada/salida como con su correcto funcionamiento y acceso a la RAM.

NOVIEMBRE 2003

UTFSM

Por otra parte el procesador debe recibir las instrucciones necesarias para mantenerse realizando la cuenta proporcional a la distancia del objeto y para enviarle la seal necesaria al servomotor para mantenerlo apuntando su referencia (dada por el objeto en movimiento o esttico). El cdigo en lenguaje C que se carg al microprocesador 8051 fue el siguiente:
#include <reg51.h> #include <stdio.h> sbit at 0x91 P11; sbit at 0x92 P12; sbit at 0x93 P13; sbit at 0x94 P14; int i,j,k,l; int auu,buu,cuu; void main(void){ P11=0; P12=0; while(1) { P13=1; for (k=1;k<60;){k++;} // manda el pulso del sonar 60 u otro depende de la frecuencia del reloj while(P12==0){;} // espera el delay del sensor de ultrasonido auu=0; while(P12==1){auu=auu+1;} //comienza a contar el ancho del pulso con que el sensor de ultrasonido responde buu=auu/8; //correcin de tiempo para el envio al servomotor P11=1; //inicia el pulso al servomotor for(i=1;i<buu;){i++;} P11=0; //termina el pulso al servomotor cuu=2000-buu; for(j=1;j<cuu;){j++;} //completa el ciclo de tiempo en off para el correcto funcionamiento del servomotor } }

Es fcil darse cuenta que segn la geometra del sistema armado (posicin del sensor de ultrasonido y la del servomotor) las constantes o funciones que se utilicen para mantener al servo apuntando la referencia, debern cambiarse o modificarse para un mejor funcionamiento o un funcionamiento mas preciso. No obstante, segn las caractersticas del sistema armado los valores aqu entregados cumplieron su funcin si ningn problema dentro de rangos razonables.

NOVIEMBRE 2003

UTFSM

Para mayor informacin sobre el funcionamiento exacto de la tarjeta XS-95 tanto desde el punto de vista fsico como de programacin (C, assembler, Abel) puede consultase la pagina web del ramo laboratorio de sistemas digitales y laboratorio de estructura de computadores del departamento de electrnica (en estos laboratorios es donde se trabaja con las tarjetas XS-95 las que se ocuparon en el desarrollo de esta experiencia). http://www.elo.utfsm.cl/~lsb/

Das könnte Ihnen auch gefallen