Fragen zur möglichen Zusammenarbeit mehrerer Arduino Boards

Hallo zusammen,

ich nutze das Adafruit Ultimate GPS Breakoutboard und habe es an einem Arduino Micro laufen. Die Daten kommen sauber an, allerdings habe ich nur alleine durch die eingebundenen Libaries fast 100% meiner möglichen Sketchgröße erreicht. Geplant ist eigentlich noch ein Adafruit 10 DOF Board, das mit die Lage im Raum mitteilt und ggf. noch ein kleines OLED Display sowie einige I2C Bausteine (Damit schießt der notwendige Speicherplatz leider durch die Decke).

Da nun mein Micro schon nahezu ausgelastet ist, wollte ich mal nachfragen, ob es nicht vielleicht sinnvoll wäre, verschiedene Aufgaben durch verschiedene identische Arduino Boards abwickeln zu lassen. Da es in erster Linie um die GPS Daten geht, die letztlich nicht nur auf einer SD Karte landen, sondern auch via APRS gefungt werden sollen, wollte ich mal vorsichtig nachfragen, ob es bei der verwendeten Verbindung zwischen GPS und Arduino möglich ist, das Signal auf mehrere Geräte auszuliefern? Wenn ich beim Stöbern hier richtig aufgepasst habe, dann ist ausgerechnet die Kommunikation zwischen den beiden Geräten (GPS und Adruino) eben kein Bus, richtig? Wenn ja, wie kann ich die Daten dann sinnvoll verteilen?

Meine Idee geht in Richtung zwei oder drei Adruino Pro Mini 328/5V. Ich müsste dann mal ausprobieren, wie gewichtig die verschiedenen Libaries wären, denn gerade beim 10 DOF (via I2C) kommen ja mehrere Libaries gleichzeitig zum Einsatz, weil es sich bei diesem Board ja um die Zusammenfassung von vier verschiedenen Bausteinen handelt. Ohne das jetzt mal ausgepeilt zu haben, könnte ich mich eben vorstellen, dass der erste Micro für die Verarbeitung der GPS Daten zuständig ist (Ermitteln und funken). Der zweite verarbeitet die Lage im Raum, Innen-/Außentemperatur und den Druck und der dritte loggt letztlich die gesendeten Daten auf einer SD (diese Libary hat alleine schon rund 10.000 Bytes!) und stellt ggf. noch Daten auf einem 128x64 OLED bereit (Position, GPS-Fix, Temperatur, Druck, Prüfdaten etc.).

Ziel ist es, eine Logdatei im JSON Format zu erhalten, die die beiden Bereiche sauber "objektiesiert". Für das GPS klappt das schon ganz gut:

{"gps":{"utcD":"2014-04-12","utcT":"13:53:50.203:","la":"N","lat":"5128.0400","lo":"E","lon":"605.9457","angle":"334","alt":"102.50","vKno":"0.50","vKmh":"0.93","sats":"3","fix":"1","fixq":"1"}}

Der Logger-Adruino könnte als Geschwister-Element zum "gps" noch "telemetry" hinzufügen. Der Vorteil dieses Log-Formats ist sicherlich, dass es sich extrem einfach in anderen Sprachen wie z.B. PHP abbilden und auswerten lässt...

Wie könnte ich also die entsprechende Komminukation hinbekommen? Sind meine Überlegungen eigentlich realistisch? Oder würdet ihr das ganz anders anfangen? Da es hier um ein High Altitude Balloon (HAB) Projekt geht, zählt jedes Gramm. 3x Arduino Pro Mini wiegen ca 6-8 Gramm, was fast unschlagbar ist.

Liebe Grüße TConnect

hi,

versuche, boards wie den arduino als das zu sehen, was sie sind: experimentierboards. damit baust Du einfach Deine schaltungen auf, bis alles so funktioniert, wie es soll, und dann setzt Du alles so um, wie Du es brauchst, also möglichst leicht. nimm einen arduino mega, der sollte vom speicher her reichen, schließ alles zusammen, und wenn es funktioniert, laß Dir von begabten elektronik-nerds den atmega2560 und die benötigte peripherie auf einen eigene platine löten, alles in SMD, dann wird's auch leicht. Du findest solche leute locker in hacker-kreisen (hacker ist nichts böses, heißt nur "bastler").

gruß stefan

Hey,

ja ich glaube, da werde ich irgendwo landen. Wobei ich denke, dass der Weg das Ziel ist. Ich möchte mich damit ja befassen und lernen, das später einmal selbst umzusetzen. Für den Moment allerdings suche ich entsprechende Zwischenlösungen, damit ich so rund um den September herum meinen ersten Ballon starten lassen kann (by the way: Die Funkamateurprüfung muss ich auch noch fertig bekommen bis dahin :-))

Danke für die Ideen. LG TConnect

Oder wie in dem anderen Thread gesagt den Atmega1284P: http://www.atmel.com/devices/atmega1284.aspx

Der ist genau das Mittelstück zwischen Atmega328 und Atmega2560. 128kB Flash, 16kB RAM (!!), 32 I/Os, 2 serielle Schnittstellen, 4 Timer. Und vor allem gibt es den in DIP-40s! Daher einfach zu handhaben. Ab ca. 6 Euro.

Davon sollte es ein offizielles Arduino Board geben. Wobei es zumindest International inzwischen ein paar Boards damit gibt. Aber man kann auch sein eigenes bauen.

Mit dem entsprechendem Bootloader (Mighty 1284 oder Calunium) Arduino kompatibel, auch wenn man bei Verwendung von ein paar Sachen wie Pin Change Interrupts oder Libs mit direkter Port Manipulation anscheinend noch ein paar gepatchte core file benötigt.

Ich hatte auch schon den Gedanken, einen größeren Chip zu nutzen. Allerdings brauche ich einfach zu lange, um die Lernarbeit zu leisten. Wenn der Ballon irgendwann mal starten soll, dann kann ich jetzt nicht erst noch ewig lange lernen, wie man sowas herstellt, programmiert etc. Ist wirklich lieb gemeint, ich werde mir die Links definitiv speichern. Aber für den Moment muss es irgendeine "praktikable" Lösung geben, die vielleicht nicht die beste ist, aber die funktioniert...

hi,

Aber für den Moment muss es irgendeine "praktikable" Lösung geben, die vielleicht nicht die beste ist, aber die funktioniert...

und ich meine, das wäre die mit dem 2560. da paßt auch ohne anpassung alles mit der IDE. ein arduino mega zum programmieren und testen, zum fliegen ist sicher eine eigene platine angesagt, aber zum ersten probieren beim flug gibts mit weniger gewicht atmega2560 - breakouts. google nach "atmega2560 breakout" und geh auf bilder.

ein 1284er ist im DIP-gehäuse einfach viel schwerer. und hat weniger speicher.

gruß stefan

Wenn's schnell gehen muß und quick & dirthy akzeptabel ist, dann würde ich das Mega Board nehmen und die Kabel für die Steckverbindungen mit ein paar Tropfen Schmelzkleber fixieren, damit sie nicht aus den Buchsen rutschen ]:) Oder die Buchsen mit dem Bauföhn und 5 mm Edelstahldüse entfernen. Habe so schon Elkos aus Mainbords entlötet und und IC's entfernt. Hört sich brachial an, aber Board und IC's haben es überlebt. Man braucht allerdings etwas Übung, mit Schrottplatinen ;) Und so ein Multilayer Board mit 4 oder 6 Ebenen ist schon etwas tricky. Ansonsten hätte ich auch zum 1284 geraten. Weitere Option: der ATMEGA ist auch schon ein "verdienter Veteran". Es gibt auch andere Boards als den Arduino. Z.B. die "Nucleus" Boards von STM, die kosten soviel, wie ein Chinaclone, sind aber 32 Bit Plattformen. Über deren Support mit Libs, Foren, etc. weiß ich nichts, ich weiß nur, das es die Dinger gibt :)

Gruß Gerald

Eisebaer: ein 1284er ist im DIP-gehäuse einfach viel schwerer. und hat weniger speicher.

Ich würde hier auch erst mal den Arduino Mega nehmen und als Anfänger blanke Prozessoren zu flashen kostet sicher einiges an Zeit.

Aber 128kB Flash sollten auch mit vielen Libs für die meisten Anwendungen ausreichen wenn man nicht Ummengen an PROGMEM Daten im Flash ablegen will. Der Atmega1284 hat zwar weniger Flash, aber auch doppelt so viel RAM wie der 2560.

Ihr habt ja so Recht. Ich habe mir nun einmal einen ATmega2560 (256k Flash, 8k SRAM, 4k EEPROM) bestellt, der die Abmessungen von etwa 6x3cm hat. Das Ding kann ja nicht viel wiegen :-)

Ist allerdings in DE produziert und laut Hersteller voll Arduino kompatibel. Auf diese Weise brauche ich mich nicht noch in andere Umgebungen einzuarbeiten. Das Ding hat 96 Pins und so ziemlich alles, was man so braucht, an Board. Ich hoffe mal, dass das dann auch alles soweit klappt.

Danke für eure Hinweise und ihr könnt ziemlich sicher davon ausgehen, dass ich mich noch einige Male hier hilfesuchend melde.

Grüße Tim

PS: @Eisebaer, sag mal, ist Dir die Projektseite http://viehab.net bekannt?

hi,

nein, kannte ich nicht. aber wenn Ihr in wien seid, dann sucht doch mal kontakt zum metalab in der rathausstraße. es würde mich allerdings wundern, wenn es da nicht schon verbindungen gibt... falls nicht, die haben dort alles, was Ihr so brauchen könntet: vom 3D-drucker über laserschneider bis zum reflow-ofen zum SMD-löten. und auch leute, die wissen, wie's geht.

gruß stefan

PS: baumgarnet höhe find ich nett. ich habe aber noch nie verstanden, was seine leistung war: 1. vier stunden schwitzen (kann ich auch) 2. ein schritt vorwärts (ok, ich bin faul, aber das hätte ich auch gebracht) 3. hoffen, daß der fallschirm aufgeht (kann auch nicht schlimmer sein, als zu hoffen, daß sich der test nicht verfärbt)

Ich bin momentan alleine auf weiter Flur mit meinem Projekt. Na ja ich hatte ja schon erwähnt, dass der Weg das Ziel ist, daher gibts sicherlich nun einige Zwischenschritte zu einer immer optimierteren Version der Box und natürlich auch Versuche, persönliche Höhenrekorde einzustellen. Dazu muss aber überhaupt mal was hochsteigen :-)

Ich habe eine liebe Freundin in Wien. Wenn ich sie mal besuche, dann plane ich einen Besuch bei euch ein. Dann aber mit vorheriger Anmeldung.

Grüße Tim