Soy completamente nuevo en el uso de Arduinos/PI y actualmente estoy aprendiendo un poco para construir una unidad de control para mi proyecto de maestría.
Mi configuración:
5 IMUs que miden aceleración y rotación sobre 3 ejes. Cada uno requiere un I2C.
4 fuentes de voltaje de CC variables
4 amortiguadores magnetorreológicos
Las IMU envían sus datos al Arduino/PI donde se deben resolver 26 ODE no lineales simultáneamente. Un controlador de lógica difusa utilizará los valores calculados para determinar el voltaje de salida de cada fuente y luego se envía a cada amortiguador. Y el proceso continúa. El modelo se construirá en Simulink y se exportará a través de sus cajas de herramientas a arduion/pi.
Mis preguntas:
¿Hay alguna forma de conectar los I2C de las 5 IMU a los 3 o más pines de las placas?
En su opinión experimentada/profesional, ¿alguno de los productos disponibles de Arduino/PI es lo suficientemente potente como para hacer mis cálculos en tiempo real?
Podré conseguir algún hardware personalizado de una empresa, pero estoy seguro de que me cobrarán un brazo y dos riñones por ello.
EDITAR:
Según algunas búsquedas rápidas, la mayoría de las IMU tienen una frecuencia de muestreo de hasta aproximadamente 1000 Hz. Los amortiguadores responden a un voltaje de entrada en unos 15 ms.
Las ecuaciones que usaré están en un pdf de este enlace: https://www.pdf-archive.com/2016/11/02/formulas-total/formulas-total.pdf
Hay demasiados para que los escriba aquí.
El controlador de lógica difusa tendrá 6 conjuntos difusos para cada una de las cuatro ruedas y 4 conjuntos difusos de salida, uno para cada rueda. Entonces, en total, 28 conjuntos borrosos, cada uno de los cuales consta de 5 funciones de membresía gaussianas y dos funciones de membresía sigmoideas. La matriz asociativa difusa tendrá un tamaño de 7x7. Habrá 3 de estas matrices por rueda, lo que da como resultado el valor de 6 conjuntos borrosos como se indicó en la primera oración de este párrafo.
Espero que esto responda al menos algunas de las preocupaciones de los comentarios.
(demasiado largo para un comentario)
Primero, como dice @sweber, deberá calcular sus requisitos reales: cuántos cálculos y con qué frecuencia. Con esas cifras en la mano puedes hacer una elección.
Dentro de Arduino hay mucha variación, desde el humilde Uno de 8 bits hasta el Due de 32 bits con monstruos que ejecutan Linux en el lateral.
En cuanto a una Pi: una Pi con Linux puede no ser una buena idea para un sistema en tiempo real: el kernel de Linux y otros procesos pueden interferir en momentos impredecibles. Pero puedes usar un Pi bare-metal, y es una bestia rápida. Pero esto no se hace muy a menudo, por lo que no encontrará mucha ayuda en la web.
Así que vuelve a funcionar para usted: cree la simulación, utilícela para obtener los números y luego podrá tomar una decisión.
Ignacio Vázquez-Abrams
22134484
Ignacio Vázquez-Abrams
makoto
sweber
Neil_ES
Ignacio Vázquez-Abrams
22134484
Pico de voltaje