Hallo Leute,
ich bin ganz frisch hier im Forum und habe direkt eine größere Frage.
Erstmal zu der Aufgabe vor der ich stehe.
Ich soll einen 32 fahren Prüfplatz entwerfen.
Der einzelne Prüfplatz enthält einen Arduino der folgende Aufgaben erledigen muss:
- Schrittmotor steuern
- Schritte einer Encoderscheibe mittels Counter Zählen um den Schrittmotor zu überwachen (mit SPI an Arduino verbunden)
- Drucksensor über 24-bit AD Wandler auslesen (mit I²C ausgelesen - Überlegung den evtl mittels SPI auszulesen)
- intern muss der Arduino die Druckwerte mit 1Hz aufzeichnen und immer für die letzten 10 Minuten (600 Werte) zwischenspeichern um jederzeit den Median über diese Zeit ausgeben zu können.
Kurz zusammengefasst:
Die Schritte des Motors werden allein durch den Arduino vorgegeben und sollen nur bei einer definierten Abweichung nachgeregelt werden. Der Arduino soll jede Sekunde den Druck und die Zeit an den PC geben wo die beiden Werte aufgezeichnet werden. Ist ein definierter Druckwerte erreicht soll der Arduino den Median der letzten 10 min abspeichern und auch an den PC senden.
So jetzt meine Fragen:
-
Ist es möglich mit dem die 600 Werte abzuspeichern und dann immer den ersten Wert zu löschen und den neusten Wert zu speichern?
-
Wie ist es sinnvoll die 32 Arduino mit dem PC seriell zu verbinden, sodass sie alle die Daten an den PC senden?
Ich habe da an I²C, SPI und USB gedacht. Wobei ich mir unsicher bin ob ich 32 Arduino per USB an den Computer bekomme. Eleganter wäre da sicher einen zusätzlichen Arduino Mega als Master zu nutzen?
Es ist auch möglich eine I²C Karte von NI (www.ni.com/de-de/shop/select/i2c-spi-interface-device) zu nutzen.
Kosten sind bei diesem Projekt eher zweitrangig.