Ich bin völlig neu in der Verwendung von Arduinos / PIs und lerne gerade ein bisschen daraus, um eine Steuereinheit für mein Masterprojekt zu bauen.
Mein Setup:
5 IMUs, die Beschleunigung und Drehung um 3 Achsen messen. Jeder benötigt einen I2C.
4 variable Gleichspannungsquellen
4 magnetorheologische Dämpfer
Die IMUs senden ihre Daten an den Arduino/PI, wo 26 nichtlineare ODEs gleichzeitig gelöst werden müssen. Ein Fuzzy-Logik-Controller verwendet die berechneten Werte, um die Ausgangsspannung jeder Quelle zu bestimmen, und diese wird dann an jeden Dämpfer gesendet. Und der Prozess geht weiter. Das Modell wird in Simulink erstellt und über deren Toolboxen zum Arduino/Pi exportiert.
Meine Fragen:
Gibt es eine Möglichkeit, die I2Cs der 5 IMUs mit den etwa 3 Pins auf den Platinen zu verbinden?
Ist Ihrer Meinung nach eines der verfügbaren Produkte von Arduino/PI leistungsfähig genug, um meine Berechnungen in Echtzeit durchzuführen?
Ich werde in der Lage sein, kundenspezifische Hardware von einer Firma zu bekommen, aber ich bin sicher, dass sie mir einen Arm und zwei Nieren dafür berechnen werden.
BEARBEITEN:
Nach einigen schnellen Suchen haben die meisten IMUs eine Abtastrate von bis zu etwa 1000 Hz. Die Dämpfer reagieren auf eine Eingangsspannung in etwa 15 ms.
Die Gleichungen, die ich verwenden werde, befinden sich in einem PDF unter diesem Link: https://www.pdf-archive.com/2016/11/02/formulas-total/formulas-total.pdf
Es sind zu viele für mich, um sie hier aufzuschreiben.
Der Fuzzy-Logik-Controller hat 6 Fuzzy-Sätze für jedes der vier Räder und 4 Ausgangs-Fuzzy-Sätze, einen für jedes Rad. Insgesamt also 28 Fuzzy-Sets, die jeweils aus 5 Gaußschen Zugehörigkeitsfunktionen und zwei sigmoidalen Zugehörigkeitsfunktionen bestehen. Die Fuzzy-Assoziativmatrix hat eine Größe von 7x7. Es gibt 3 dieser Matrizen pro Rad, was den Wert von 6 Fuzzy-Sets ergibt, wie im ersten Satz dieses Absatzes angegeben wurde.
Ich hoffe, dies beantwortet zumindest einige der Bedenken der Kommentare.
(zu lang für einen Kommentar)
Zuerst müssen Sie, wie @sweber sagt, Ihre tatsächlichen Anforderungen berechnen: wie viele Berechnungen und mit welcher Häufigkeit. Mit diesen Zahlen in der Hand können Sie eine Wahl treffen.
Innerhalb der Arduinos gibt es viele Variationen, vom niedrigen 8-Bit-Uno bis zum 32-Bit-Duo-Monster, auf dem Linux nebenbei läuft.
Was einen Pi angeht: Ein Pi mit Linux ist möglicherweise keine gute Idee für ein Echtzeitsystem: Der Linux-Kernel und andere Prozesse könnten in unvorhersehbaren Momenten in die Quere kommen. Aber Sie können einen Pi Bare-Metal verwenden, und es ist ein schnelles Biest. Dies wird jedoch nicht sehr oft gemacht, daher werden Sie im Internet nicht viel Unterstützung dafür finden.
Also wieder an die Arbeit für Sie: Erstellen Sie die Simulation, verwenden Sie sie, um die Zahlen zu erhalten, und dann können Sie eine Entscheidung treffen.
Ignacio Vazquez-Abrams
22134484
Ignacio Vazquez-Abrams
Makoto
schweber
Neil_DE
Ignacio Vazquez-Abrams
22134484
Spannungsspitze