STM32F4 Discovery board y HC-SR04

0

He conectado el sensor de esta manera, desde Sensor a < a href="http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/USER_MANUAL/DM00039084.pdf"> Board :

VCC - > 5V

GND - > GND

Activador - > PD15 (igual que led azul)

Eco - > PA0 (igual que el botón de usuario)

Mi programa C envía el disparador, lee la entrada y calcula la distancia en cm.

Sin embargo, como carezco de conocimientos básicos de electrónica, me preocupa que esta configuración pueda dañar la placa o el sensor.

¿Tengo que agregar alguna resistencia o diodo o algo para proteger los componentes?

    
pregunta Joao Vilaca

1 respuesta

2

Voy a comenzar diciendo que no pude encontrar una buena hoja de datos para ese sensor.

La mejor información que encontré es Arduino Ultrasonic Ranging

AFAICT, el sensor necesita una señal de 5V en su entrada de disparo 'Trig'. Así que la mala noticia es que la electrónica tendrá que ser un poco más compleja.

El STM32F4 no puede conducir una señal de 5V directamente. El voltaje más alto que pueden controlar sus pines es un bit (0.4 V) menos que su fuente de alimentación, que es de 3.3V.

Pero, el STM32F4 tiene muchos pines que se llaman 'Tolerante de 5 voltios (FT)'. Estos pines no pueden conducir 5 V directamente, pero pueden conectarse a algo a 5 V sin daños (1). Tendrá que mirar la hoja de datos STM32F407 de ST Micro para elegir pines tolerantes de 5V.

Por lo tanto, los pines FT pueden conectar una señal a tierra, es decir, extraer la señal baja, pero no elevarla. Aquí es donde una buena hoja de datos sería muy útil. La entrada de activación del sensor quiere estar a 5 V, pero no dice si necesita mucha corriente. Asumiré que no necesita mucho. Asumiré que se podría conectar una resistencia entre el pin de disparo y 5V. Esa resistencia levantaría el pasador de disparo y provocaría que el sensor se disparara. Supongo que una resistencia de 1Kohm estaría bien.

Conecte una salida tolerante de 5 V del STM32F4 al pin / resistencia de disparo. El STM32F4 jalará el pin bajo para deshabilitar el sensor, y la resistencia lo sacará alto para habilitar el sensor (configurando el pin alto).

Su software debe configurar el pin de salida STM32F4 para que sea 'Desagüe abierto'. Normalmente, el software establecerá el pin bajo, lo que mantendrá el disparador apagado. Luego, cuando los programas deseen activar el sensor, establezca el pin alto durante más de 10 segundos y el sensor debería comenzar a transmitir. (Siempre y cuando el pin se haya puesto en el modo de salida Open Drain, debería funcionar). Puede verificar que la señal de activación está funcionando (antes de conectar el sensor) con un voltímetro.

La otra parte del sistema es conectar la salida de eco del sensor a una entrada en el STM32F4. Eso también parece una señal de 5V. Creo que un pin Tolerante de 5V en el STM32F4 estará bien hasta 5.5V. Para empezar, me gustaría hacer un divisor de voltaje con un par de resistencias en serie. Conecte los pines de eco de los sensores a un extremo del par de resistencias y al otro extremo a tierra. Conecte el 'medio' al pin de entrada STM32F4. Debería funcionar con un par de resistencias 1K, pero tres en serie con dos entre la entrada STM32F4 y la conexión a tierra serían aún mejores.

Entonces, por el costo de algunas resistencias. Deberías estar bien.

Otras sugerencias: Si tiene acceso a un osciloscopio, debería poder ver la señal de eco y verificar su voltaje.

Si la señal de Disparo no es suficiente para conducir el sensor, entonces necesitará un transistor bipolar o MOSFET para que la señal sea alta. Cuesta menos de $ 1, por lo que no es un gran problema). Me sorprendería si esto fuera un problema, pero podría serlo.

1) Nota: la conexión de un pin STM32F4, que es no 5v Tolerante a 5V puede dañar irreparablemente ese pin, y tal vez sea peor)

    
respondido por el gbulmer

Lea otras preguntas en las etiquetas