Beaglebone Black ROV-Kontrollschema

Ich suche nach Ratschlägen bezüglich meines Steuerungsaufbaus für ein ROV und wie ich es so reibungslos wie möglich gestalten kann. Derzeit habe ich zwei Joysticks im Arcade-Stil mit Standard-Mikroschaltern im Inneren. Ich stelle mir das System so vor: Der Joystick gibt 3,3 V oder logisch 1 aus, was einem GPIO-Eingang auf der BBB entspricht. Ich habe ein Skript-Setup, das beim Booten für die BBB ausgeführt wird, das sofort die Eingangspins einrichtet und die Ausgangspins (vorübergehend) auf niedrig setzt, um ein Hochschweben zu vermeiden. Eine Reihe von While-Schleifen oder Äquivalenten legen fest, welcher Eingang an welchem ​​Pin dem BBB entspricht, der einen HIGH-Wert an einem anderen Pin ausgibt, der dann an eine 16-Kanal-Relaisplatine geht, die wiederum 8 (maximal) 12 V Bilgenpumpe liefert Motoren.

Jetzt ist hier mein Problem: Wie bringe ich den Joystick dazu, ein Signal mit der richtigen Spannung / Stromstärke auszugeben, um die BBB nicht zu beschädigen, indem das Substrat beschädigt wird, indem ein GPIO zu viel Strom verbraucht? Ich habe da draußen einige 3,3-V-Regler gesehen, und ich gehe davon aus, dass das System mit einem geeigneten Strombegrenzungswiderstand ordnungsgemäß funktionieren würde, ohne den Beaglebone zu beschädigen. Ich bin mir jedoch nicht sicher, ob dies überhaupt funktionieren würde und wie es für eine optimale Funktion eingerichtet wäre. Sollte ich zum Beispiel einen Regler haben, der die Mikroschalter mit 3,3 V versorgt, und den Joystick-Schalter mit 3,3 V versorgen? Scheint so, als würde dies theoretisch funktionieren, aber ich möchte wirklich sicher sein, bevor ich dem Board Schaden zufüge.

Wenn Sie immer noch nicht sicher sind, was meine Frage ist, lassen Sie es mich so sagen: Was wäre der optimale Aufbau mit den oben genannten Komponenten, um ein System zu erstellen, das sowohl sicher für die BBB als auch für den beabsichtigten Zweck (Steuerung von 12 V Bilgepumpenmotoren durch Ansteuerung einer Relaisplatine). Um es klar zu sagen, ich bitte niemanden, dies für mich zu entwerfen, sondern suche nur nach konstruktivem Feedback und Kritik, um zu sehen, ob ich etwas verbessern kann. Lassen Sie mich wissen, wenn Erläuterungen erforderlich sind.

Warum ist die BBB überhaupt drin, können Sie nicht einfach die Joystick-Schalter mit den Relais verbinden? Außerdem sind Relais eine ziemlich schwerfällige Sache, um Bewegungen zu steuern, für alles, was so oft mit diesem feinen Grad an Kontrolle schaltet, wäre es besser, Festkörper (Transistoren, FETs usw.)
Die Joysticks sind vermutlich komplett passiv, nur Schalter? Möchten Sie sie am Ende eines langen Kabels? Hast du genug GPIO für die Joysticks (vermutlich 8 Pins, einen für jede Schaltrichtung)?

Antworten (1)

Einige Dinge hier zu kommentieren.

Zunächst einmal, wenn der Joystick 3,3 V ausgibt, wird die BBB nicht beschädigt. Wenn Sie die Verkabelung der Joysticks steuern können (ich gehe davon aus, dass es sich nur um Mikroschalter handelt und Sie die Verkabelung ändern können), wäre es besser, ein Massesignal an eine Seite des j / s-Schalters und des BB anzuschließen zu den anderen. Atmel-Chips haben eingebaute Klimmzüge. Ich kann mir nicht vorstellen, dass die BBB diese Funktion hat. Verbinden Sie in diesem Fall das Signal über einen 10K- oder 47K-Widerstand mit Vcc. Fügen Sie einen kleinen Kondensator zur Entprellung hinzu.

Im Normalbetrieb ist der Schalter geöffnet. Der Widerstand zieht Ihren Signaleingang auf einen hohen Zustand. Wenn Sie den Schalter betätigen, wird der Widerstand gegen Masse kurzgeschlossen und Ihr Eingang wird niedrig. Der Kondensator nimmt nur die "Flanke" vom Signal, um die Ecken und Kanten zu vermeiden, die Sie mit Ihrem durchschnittlichen Schalter bekommen.

Ich würde mich dem Kommentar eines anderen zur Verwendung von Relais anschließen. Ihre Lenzpumpen werden mit +12 V mit einem Strom von etwa 2 A (Geben oder Nehmen) betrieben. Sie können stattdessen einen N-Kanal-MOSFET verwenden, um die Pumpe anzutreiben. Verbinden Sie + mit + 12 V und - mit dem Drain des MOSFET. Verbinden Sie die Source mit Masse und das Gate mit dem BBB. Billiger, kleiner und besser als ein Relais. Legen Sie auch eine Shunt-Diode darüber.

Stellen Sie sicher, dass Sie einen MOSFET verwenden, dessen Gate-Schwellenwert mit dem BBB-Ausgang kompatibel ist, da er sich sonst nicht einschalten lässt.

Der andere Vorteil des MOSFET ist, dass Sie den Stepper ziemlich schnell pulsieren können. Um zu vermeiden, dass die Pumpen beim Einschalten "treten", würden Sie sie in der Software für eine Millisekunde (z. B.) einschalten und sie dann für 9 ms aus lassen. Schalten Sie sie für 2 ein und für 8 aus usw., bis sie vollständig eingeschaltet sind. Auf diese Weise drehen die Motoren beim Betätigen des Joysticks hoch, anstatt hart umzuschlagen und kleine Bewegungen schwierig, wenn nicht sogar unmöglich zu machen.