3 votos

Uso de sensores Arduino con un STM32

Quiero empezar un proyecto electrónico, y encontré que un MCU basado en ARM, como STM32F103C, se ajusta a mis necesidades más que AVR como Arduino Uno (sobre todo debido a la CPU y la memoria RAM).

Me preguntaba si puedo utilizar cualquier Arduino sensor con mi placa STM32?

Mirando una lista de los sensores relacionados con STM32 parecen mucho más caros.

3voto

jlee Puntos 37

Sí, por supuesto que puedes usar esos sensores. Los sensores no son exclusivos de Arduino, sólo tienes que buscar las hojas de datos de las piezas y no deberías tener ningún problema para utilizarlos.

Para hacerlo más fácil, puedes conseguir una placa STM32 Nucleo, que tiene la misma configuración de pines de cabecera que un Arduino para crear prototipos de forma rápida y sencilla.

3voto

Spike Puntos 304

Como ya menciona MCG, puedes utilizar en principio cualquier sensor que también pueda ser utilizado por Arduino. La cuestión principal es si quieres usar librerías. Para el Arduino, hay para casi cualquier sensor una biblioteca disponible, para el STM32 esto es mucho menos el caso. Escribir una biblioteca puede llevar bastante tiempo (dependiendo de la complejidad de la comunicación del sensor).

La placa Nucleo puede ayudar si el sensor está colocado en una placa que se pueda empujar encima de un Arduino; de lo contrario, hay que usar cables separados de todos modos.

Otra forma que podría valer la pena comprobar, es STM32Arduino, que es un proyecto para hacer que algunos STM32 sean compatibles con Arduino, y puedan ser programados como un Arduino, pero no todas las bibliotecas son compatibles. Ver también el comentario de MCG más abajo y comprobar el siguiente punto de partida útil para STM32Duino: cómo empezar con la placa de desarrollo de stm32-stm32f103c8 .

En la mayoría de los casos, Arduino es la solución más fácil, sobre todo debido a la existencia de un gran soporte de bibliotecas, sin embargo, el Arduino también tiene algunas grandes ventajas: muy menos SRAM, sobre todo más grande en tamaño que las placas STM32, sin depuración (fácil), muy menos periféricos.

Otro problema con las librerías de Arduino (y probablemente también con las de STM32), es comprobar si varias librerías (diferentes) funcionan juntas; te metes en problemas cuando, por ejemplo, utilizan ambas el mismo temporizador.

2voto

pgs Puntos 2491

Puede funcionar para algunos, pero definitivamente no para todos.

Fíjate en que el Arduino funciona con tensiones de alimentación y E/S de 5V, mientras que el STM32 utiliza 3,3V.

Mientras que muchos de los pines de E/S del STM32 pueden ser tolerantes a 5V para la entrada (ver hoja de datos), no pueden dar salida a señales de 5V para las que están construidas muchas placas de sensores orientadas a Arduino.

Así que,

  • En el mejor de los casos: El sensor está bien con señales de 3,3V en sus entradas y envía señales de 5V a pines tolerantes a 5V en el µC.

  • buen caso: El sensor no funciona (como era de esperar) porque las señales de 3,3V son demasiado bajas, pero ninguno de los dos extremos sufre daños.

  • mal caso: El sensor envía una señal de salida de 5V a un pin del µC (entrada) no tolerante a 5V y daña el µC y posiblemente el sensor por una corriente excesiva.

Comprueba y asegúrate de que las entradas del sensor pueden funcionar con señales de 3,3V, y que las entradas del µC pueden manejar las señales (probablemente de 5V) del sensor.

Algunos sensores pueden funcionar en un rango de tensiones de alimentación, por ejemplo, 3,3V~5V, por lo que si los alimentas con 3,3V funcionarán perfectamente en un sistema de 3,3V. Y hay, por supuesto, sensores que sólo pueden funcionar a 3,3V pero no a 5V. Para usarlos con Arduinos de 5V, estos suelen tener algún tipo de cambio de nivel incluido en la placa ("shield") en la que vienen montados. En estos casos, aunque el sensor podría funcionar con 3,3V, la placa no puede.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X