ich bin momentan dabei die Elektronik für einen Tauchroboter zu realisieren.
Da ich aber kein Elektrotechniker bin sondern nur Biologe könnte ich dabei etwas Hilfe brauchen.
Mir wurde von einem Kollegen das Arduino-Board empfohlen.
Es soll folgendes machen:
2 Motoren sollen stufenlos regelbar vorwärts und rückwärts fahren. Sie sollen nicht einzeln gesteuert werden sondern müssen nur immer parallel laufen. Eine Trimmung wäre aber schön, weil die ja wahrscheinlich nicht völlig synchron laufen.
4 Motoren müssen einzeln angesteuert werden. Hier reicht es wenn sie nur an und aus geschaltet werden können, obwohl eine stufenlose Regelung schöner wäre. Auch eine Trimmung für jeden einzelnen Motor wäre gut. Alle verwendeten Motoren sind übrigens ganz einfache Gleichstrom-Bürstenmotoren.
2 Relais müssen einzeln geschaltet werden, daran hängen die Scheinwerfer.
Für die Kommunikation von der Wasseroberfläche zum Roboter stehen nur noch 3 Adern eines CAT5 Kabels zur Verfügung.
Bevor es an die Details geht erstmal die Frage: Wie viele Arduinos brauche ich?
Ich hatte überlegt im Steuergerät an der Wasseroberfläche einen zu verwenden, der die Signale von Steuerhebeln, Potis, Knöpfen etc. alle in ein Signal umwandelt, das dann durch das Kabel nach unten geschickt wird. Unten brauche ich dann mindestens einen weiteren, der dieses Signal empfängt und die einzelnen Komponenten schaltet.
Es gibt doch diesen Motor-Shield. So wie ich das verstanden habe kann der zwei Gleichstrommotoren stufenlos steuern. D.h. ich brauche 3 davon? Und für jeden einen eigenen Arduino? Und dann noch einen Arduino der die Relais schaltet? Geht das auch mit weniger?
1 Arduino;
die 6 Motore hängst Du an die PWM Ausgänge.
2 pin für die Relasi und 2 pin für vorwärtz-rückwärts der Antrebsmotore.
Das alles kannst Du nicht direkt mit Arduino Verbinden sondern über Treiber. Die Auswahl hängt von der Betriebsspannung und von vom Nennstrom ab.
Da Du 3 Adern frei hast könntest Du die Serielle Schnittstelle verwenden oder bei extrem laangen Kabeln (über 100) diese in eine RS485 umwandeln (zb mit einem MAX485).
Hier die Daten der Motoren:
Betriebsspannung 5V
Leerlaufstrom 0,12A
Strom bei Pmax 0,4A
Die Relais haben eine Schaltspannung von 4V.
Könntest du mir einen Tipp geben welche Treiber da geeignet sind (und nicht allzu teuer)?
Die Kabellänge beträgt 250m.
Da es sich um ein CAT5 Kabel handelt sind von den 3 Adern zwei miteinander verdrillt.
Eine serielle Schnittstelle ist eine Möglichkeit über die ich auch schon nachgedacht habe. Dann könnte ich die Steuerung über LabView lösen, einen Laptop muss ich eh immer mit aufs Gewässer nehmen um das Bild von der Kamera darzustellen.
Ich habe sogar schon eine virtuelle serielle Schnittstelle da, allerdings läuft die nicht wirklich gut. Ich habe sie bisher zum darstellen von Sensordaten verwendet. Mal funktioniert das einwandfrei und dann zeigt sie plötzlich nur noch unsinnige Werte an. Laut Aussage eines NI Mitarbeiters gibt es da Qualitätsunterschiede und es liegt wahrscheinlich an meiner Schnittstelle und nicht an LabView.
Solch leistungsschwache Motoren reichen? In dem Fall kannst du bspw. als Motortreiber einen L293D für jeweils zwei Motoren benutzen, Beschaltung findest du unter anderem hier: http://wiki.ctbot.de/index.php/L293D
3 Stück davon, wenn du softwareseitig trimmen oder aber alle 6 Motoren direkt steuern möchtest. Um ein paar Relais zu schalten kannst du die hübschen Darlington-Transistorstufen im DIL-Bauform nutzen, da fällt mir spontan der ULN2803 ein.
Ansonsten würde ich wohl auch zwei Arduino-Boards über RS485 miteinander kommunizieren lassen, das obere kann dann gleichzeitig zur Ansteuerung eines Status-LCDs benutzt werden, Daten der Steuerelemente wie Joysticks aufnehmen und weiterleiten usw.
RS485
Bei bidirektionaler Verbindung und keiner Kollisionskontrolle brauchst Du 4 Leitungen ( am besten je 2 vedrillt) 1 verdrilltes Paar hast Du ja noch frei und das zweite nimmst Du das, das Du für der seriellen Schnittstelle verwendet hattest.
Als Treiberbaustein den MAX488 oder MAX490; http://datasheets.maxim-ic.com/en/ds/MAX1487-MAX491.pdf
@sth77: Das hört sich gut an. Kleine und günstige Bauteile. Hoffentlich bekomme ich das damit hin. Evtl. müsst ihr mir bei den Schaltungen dann nochmal helfen. @Uwe: Wenn ich die beiden Arduino über solch eine RS485 Leitung kommunizieren lasse, dann können damit ja sowohl Daten von oben nach unten geschickt werden (Steuerung) als auch von unten nach oben (Sensorendaten), oder? Wenn das so ist hätte ich wirklich 2 verdrillte Adernpaare zur Verfügung, weil ich dann keines extra für die Sensoren brauche.
Vielen Dank für die Hilfe, jetzt werde ich das ganze Zeug erst mal bestellen und dann schauen wir weiter.
Andreas_R: @Uwe: Wenn ich die beiden Arduino über solch eine RS485 Leitung kommunizieren lasse, dann können damit ja sowohl Daten von oben nach unten geschickt werden (Steuerung) als auch von unten nach oben (Sensorendaten), oder? Wenn das so ist hätte ich wirklich 2 verdrillte Adernpaare zur Verfügung, weil ich dann keines extra für die Sensoren brauche.
Ja, die Komunikation ist bidirektional. Du brauchst nur TX der Arduinos an DI des MAX488/490 anschließen und RX an RO.
Grüße Uwe
Dass du anfangs sagtest, du hättest nur 3 Adern zur Verfügung, habe ich überlesen. Wie dargestellt, solltest du 2 Adernpaare vorsehen. Auch wenn die Frage an Uwe gestellt war: Ja, die Kommunikation funktioniert dann in beide Richtungen, du kannst also Daten senden und empfangen.
Ich würde dir dazu raten, die in meinem Link dargestellten 74hc14 mitzubestellen. Dass sind Inverter, die genau das invertierte (gegenteilige) Eingangssignal am Ausgang ausgeben.
Liegt also an Input1 ein HIGH vom Arduino an, ergibt das automatisch ein LOW an Input2 des L293D - ein LOW an Input1 bewirkt demnach ein HIGH an Input2. Falls du dich fragst, warum man sowas nicht intern im IC erledigt sondern durch eine Außenbeschaltung: Haben beide Inputs den gleichen Pegel LOW/LOW oder HIGH/HIGH schließt man den Motor kurz, er bremst also zusätzlich. Das kann bei Fahrzeugen durchaus gewünscht sein, bei einem Tauchroboter ist dies meines Erachtens nicht nötig.
Du kannst das Verhalten mal mit deinen Motoren testen. wenn die Motoren nirgendwo angeschlossen sind, lassen sie sich recht leicht an der Achse drehen. Verbindest du die beiden Anschlussfahnen mit etwas Draht, wirst du vermutlich einen deutlichen Widerstand beim Drehen spüren.
thewknd:
Nimm besser Treiberbausteine mit integrierter "ESD-Protection", MAX488 oder 490 sind ok für den Aufbau unter Laborbedingungen.
Zu spät, habe schon MAX490 bestellt. Ich werde es damit mal ausprobieren, wenn es nicht funktioniert tausche ich sie gegen die von dir empfohlenen Teile aus.
sth77:
Ich würde dir dazu raten, die in meinem Link dargestellten 74hc14 mitzubestellen.
Habe ich gemacht.
Ich glaube auch nicht, dass für meine Anwendung so eine Bremse nötig ist. Aber gut zu wissen dass es sowas gibt.
Das klingt nach einem sehr spannenden Projekt. Gibt es denn schon Ansätze für den Mechanischen Aufbau, bzw. das Gehäuse?
Wie groß soll denn am Ende der Tauchroboter werden?
Erfolgt auch die Stromversorgung mit über das Cat5 Kabel, oder dient das nur der Kommunikation?
Das Gehäuse ist schon größtenteils fertig. Momentan werden für den Druckkörper die Flanschmuffen gefräst, sobald diese angeschweißt sind ist alles fertig. Die Elektronik hatte ich mir für den Schluss aufgehoben.
Der gesamte Roboter ist etwa 80x50x50cm groß.
Er besteht aus einem Rahmen, in dem oben ein Auftriebskörper und unten Gewichte angebracht sind. Der Druckkörper ist ein Edelstahlrohr, das mittig in diesem Rahmen hängt. Scheinwerfer und Motoren werden ebenfalls am Rahmen befestigt.
Am Rahmen können später weitere Komponenten angebracht werden (z.B. ein Greifarm, Sensoren, zusätzliche Kameras, Probenbehälter...), flexibel je nach Einsatz.
Die Stromversorgung erfolgt von der Oberfläche ebenfalls durch das CAT5 Kabel. Versorgungsspannung sind 12V, so dass ich entweder Autobatterien, einen Benzingenerator oder bei Betrieb vom Ufer aus ein entsprechendes Netzteil verwenden kann.
Die maximale Tauchtiefe soll 200m betragen, was etwa dem tiefsten See hier in Bayern entspricht.
Würde da eher als Versorgungsspannung 24V der 48V wählen, da da ein kleinerer Strom durch den Kabel muß. Da sind dann 2 oder 4 Batterien notwendig.
Grüße Uwe
Mit welchen Stromstärken rechnest Du denn, bei den 12V? Die Adern eines CAT5 Kabels sind nicht sonderlich dick. Bei PoE (Power over Ethernet) ist die maximale Leistung mit 15,4 Watt angegeben, bei PoE+ sind es 25,5. Allerdings werden da mehrere Adernpaare genutzt und es wird mit 48V gearbeitet. Somit fliesst ein maximaler Strom von 300mA (bzw. 720mA bei PoE+). Das wären bei Deinen 12V aber gerade mal 8,6 Watt. Dazu kommt die Kabellänge von 250m mit einem entsprechenden Widerstand. Da das Kabel ja immer gleich lang ist, denn es wird ja nicht "angestückelt", sondern vermutlich gibt es eine Kabeltrommel, könnte da mit der Stromversorgung ziemlich knapp werden.
Wenn alle Motoren mit voller Kraft laufen, dann sind das schon 6x0,4A = 2,4A
Ein weiterer Effekt der eine Rolle spielen könnte, ist das 250m Kabel der auf einer Rolle aufgewickelt ist. Das stellt im Prinzip eine Spule dar, die auch wieder Einfluss auf die Stromversorgung hat. Zumal wenn da entpsrechende Ströme fliessen. Wie groß der Einfluss ist, kann ich allerdings nicht abschätzen.
Vielleicht solltet Ihr zusätzliche Akkus am Tauchroboter vorsehen, die gleich als Trimmgewichte verwendet werden können. Es muss ja nicht gleich eine Autobatterie sein. Um die Verluste durch die Umwandlung verschiedener Spannungen zu minimieren, sollten evtl. auch Motoren verwendet werden, die mit 12V laufen. Die Elektronik wird vermutlich am wenigsten Leistung aufnehmen, somit bleiben die Verluste beim Wandeln von 12V auf 5V auf den Verbrauch der Elektronik beschränkt.
Bilder kann ich machen sobald der Druckkörper vom Schweißen zurück ist.
Bei der Stromstärke rechne ich mit Werten um 1,5A in der Leitung, das allerdings nur als kurzzeitige Spitzenwerte. Ich bin davon ausgegangen, dass die Kabel das aushalten.
Die Idee von Uwe finde ich gut, mit mehreren Batterien zu arbeiten und so 24V als Versorgungsspannung zu verwenden. Dann wird die Stromstärke ja nochmal deutlich kleiner und der Leitungsverlust nimmt ab. Noch höhere Versorgungsspannung wird schwierig, weil die verwendeten Spannungsregler einen maximum Input von 35V haben. Und irgendwann wird mir das auch zu gefährlich wegen dem Wasser und so.
Für den Motor ist eine Abgabe von max. 0,45W angegeben (x6=2,7W).
Den Leitungswiderstand konnte ich noch nicht messen, weil ich das Kabel aus Platzgründen noch nicht abrollen wollte. Ich schätze aber dass es so um die 40 Ohm sein werden.
Ja, es gibt eine Kabeltrommel.
Das mit der Spule sehe ich nicht als Problem, weil es sich um Gleichspannung handelt, d.h. das Magnetfeld ist konstant.
Akkus im Tauchroboter sollen auf jeden Fall vermieden werden. Diese müssten in entsprechend druckwasserfesten Gehäusen untergebracht werden, was hohe Kosten verursachen würde. Außerdem bringt die Stromversorgung von oben deutliche Vorteile, z.B. können bei sehr langen Tauchgängen die Akkus gewechselt werden ohne auftauchen zu müssen.
Ich habe diese Motoren ausgewählt weil sie sehr schwach sind. Oft wird bei solchen Projekten mit zu starken Motoren gearbeitet, dann lässt sich der Roboter nur sehr schwer steuern weil die Motoren nicht beliebig runtergeregelt werden können. Der Tauchroboter soll ja keine Wettrennen gewinnen sondern sich sehr präzise z.B. an Objekte heranfahren lassen. Entsprechende Motoren mit 12V habe ich nicht gefunden. Dazu ist es eh schon zu spät, weil die Motoren bereits verbaut sind.
Verluste bei der Umwandlung stören mich nicht, die Akkus sind ja groß genug gewählt und dafür bekomme ich etwas Wärme in den Druckkörper, damit die Scheibe nicht so leicht beschlägt.
Diese normalen Spannungsregler vom Typ 78XX, im TO 220 Gehäuse. Ich hatte noch einen großen Aluminiumkühlkörper übrig, der zufällig genau in eine Lücke im Druckkörper unterhalb des Einschubes passt, so dass quasi kein wertvoller Platz verloren geht.
Es müsste doch auch Spannungsregler geben, die aus 12V von einer Autobatterie 24V machen, also aufwärts regeln können? Dann bräuchte ich für die 24V Versorgungsspannung nur eine einzelne Batterie (hätte halt noch mehr Verlust).
Mein Arduino ist übrigens gerade angekommen. Gestern Nachmittag bestellt und heute Mittag schon da. Und das für nur 3,50€ Versandkosten.
Das ist ein Irrtum, dass du weniger Strom verbrauchst, wenn du eine höhere Spannung "runterschickst" - zumindest mit dem Festspannungsregler 78xx. Der verbrennt nur die Differenz zwischen Eingangs- und Ausgangsspannung, die Stromstärke bleibt gleich. Brauchst du am Tauchroboter 1 Ampere, erzeugst du bei der Wandlung von 12V auf 5V saubere 7W Heizleistung. Es soll ja ein Tauchroboter werden und kein Tauchsieder... Es gibt aber schon Spannungswandler mit ähnlicher Gehäuseform, die somit pinkompatibel sind. Diese kommen ohne solche Verluste aus.
Nur als beispiel: TSR 1-2450: DC - DC-Wandler TSR-1, 1 W, 5 V, 1000 mA, SIL - TO-220 bei reichelt elektronik
Andreas_R:
Diese normalen Spannungsregler vom Typ 78XX, im TO 220 Gehäuse. Ich hatte noch einen großen Aluminiumkühlkörper übrig, der zufällig genau in eine Lücke im Druckkörper unterhalb des Einschubes passt, so dass quasi kein wertvoller Platz verloren geht.
Das mit den 78XX habe ich mir fast gedacht. Leider hast Du dann das Problem das bei 24V statt 12V immer noch der gleiche Strom fliesst, zumindest bei dem was die Wandler in 5V konvertieren.
Die 78XX sind Linearregler, welche die Differenz aus Eingangs- und Ausgangsspannung verheizen, dabei ist der Strom der fliesst auf beiden Seiten nahezu gleich. Wenn Du also 1,5A auf der 5V Seite ziehst, sind das eben auch 1,5A auf der 12V bzw. 24V Eingangsseite. Damit werden aus den 15Watt plötzlich über 30Watt die Dein Unterseekabel heizen, davon sind dann aber auch locker 15W die der 78XX an Wärem produziert.
Hier bieten sich auf alle Fälle Step-Down Regler an, die haben einen deutlich besseren Wirkungsgrad.
Als Batterie bietet sich bei 24V eine LkW-Batterie an, die gibt's nämlich auch mit 24V (alternativ auch eine 24V Batterie einer Solaranlage, ist das gleiche nur doppelt so teuer )
Bezüglich des Kabels und der Spule. Auch wenn Du Gleichspannung verwendest, hast Du doch wechselnde Pegel auf den Leitungen, da ja nicht nur die permanenten 12V Spannungsversorgung durch Dein Kabel laufen, sondern auch die serielle Kommunikation plus ggf. ein Videosignal o.ä.
Im Physikunterricht habe ich vor einigen Jahrhunderten mal gelernt, das mit steigender Frequenz die Widerstand einer Spule größer, weil die wechselnden Magnetfelder gegeneinander arbeiten. Keine Ahnung wie stark sich das auswirkt, darüber nachzudenken dürfte aber nicht schaden. Ggf. kann man mit dem aufgerollten Kabel schon mal den einen oder anderen Test machen.