Está en la página 1de 3

Unidad de Aprendizaje: Dispositivos Lógicos Programables

Práctica de laboratorio No: 7


Tema: Módulos de sensores y actuadores
Duración estimada: 6 horas

Objetivo:
Practicar con el diseño e implementación de aplicaciones que hagan uso de sensores y
actuadores con tarjetas de desarrollo FPGA.

Herramientas / preparación:
1 Computadora PC
1 Tarjeta de desarrollo Xilinx Spartan 3
1 Licencia del Xilinx Web Pack o Xilinx ISE
1 Sensor ultrasónico
1 Servomotor.

Información básica:
Para conectar cualquier tipo de transductor (sensor o actuador) a una FPGA es necesario
considerar los niveles de voltaje a los que trabaja. En esta práctica se va a trabajar con un
sensor ultrasónico y un servomotor.

Si consideramos el sensor ultrasónico más habitual, el HC - SR04, contamos con dos pines
para su alimentación (Vcc y GND), que debe ser a 5V, y otros dos pines para sensar (Trig y
Echo). Cuando se envía un pulso corto de 10 µs a nivel alto por el pin de Trig, se recibe una
pulso a nivel alto en Echo con duración proporcional a la distancia a la que se encuentra el
objeto donde han rebotado las ondas de ultrasonido, siendo de manera aproximada la
distancia en centímetros igual a los microsegundos de duración del pulso entre 58.

En el caso del servomotor, los hay con diversos voltajes de alimentación, aunque es
habitual una alimentación entre 4.8 V y 6V. Estos motores constan de tres pines, dos para la
alimentación y otro para enviar una señal PWM con la que se indica que posición debe
adoptar el servomotor.
En ninguno de los casos se requiere una señal bidireccional, por lo que no se necesitarán
adaptadores de nivel (level shifters) comerciales. En este caso, para comunicar una salida a
5V con una entrada a 3.3V se puede usar desde un simple divisor de tensión, pasando por
una resistencia serie y un Zener (de 3.3V o 3.6V) o mediante un diodo Schottky y una
resistencia de pull-up (ver figura).

Para conectar una salida a 3.3V con una entrada a 5V generalmente no es necesario colocar
ningún componente, pues si la entrada a 5V es TTL reconocerá sin problemas un valor de
3.3V como un ‘1’ lógico, pero en caso extremo se puede usar el circuito de la figura, que
lleva un par de transistores, pues está pensado para limitar la corriente entre los dos
dispositivos que se asumen de alta impedancia,

Procedimiento:
1. Realizar una descripción en VHDL mediante la cual se obtenga una salida PWM en
uno de los pines de la Spartan 3 cuya frecuencia se pueda cambiar entre 50Hz y
100Hz mediante un switch y cuyo ciclo de trabajo pueda tomar los valores 25%,
50%, 75% y 100% en función de la posición de otros dos switches.
2. Realizar un sistema de medición, de modo que al conectar un sensor ultrasónico y
un servomotor a una FPGA Spartan 3, el servomotor funcione como una interfaz de
salida que indique de forma aproximada la distancia a la que se encuentra un objeto
frente al sensor ultrasónico, en forma de gráfico de velocímetro (ver figura
siguiente). Es decir, que el servomotor debe posicionarse en 0º cuando el sensor no
detecte ningún objeto en frente e ir evolucionando hasta los 180º cuando detecte un
objeto muy cercano
NOTA: Es necesario tener cuidado a la hora de realizar conexiones con la
FPGA. No se debe olvidar que la FPGA funciona a 3.3V y que los sensores y
actuadores que se conecten pueden funcionar con un voltaje diferente (5V
generalmente). Recordar que aunque las fuentes de alimentación sean distintas
las tierras deben estar conectadas y que en caso de ser necesario se deben
utilizar circuitos que adapten la señal de un voltaje a otro.

Reflexión:
Como punto final se debe realizar un reporte de la práctica que debe contener al menos:
1. Breve marco teórico.
2. Descripción del hardware realizado.
3. Explicación de los circuitos.
4. Esquemáticos de las conexiones realizadas con la FPGA.
5. Conclusiones que remarquen apreciaciones razonadas.

También podría gustarte