Inhaltsverzeichnis:

Arduino Servotester - Gunook
Arduino Servotester - Gunook

Video: Arduino Servotester - Gunook

Video: Arduino Servotester - Gunook
Video: Управление сервоприводом с помощью джойстика ардуино. 2024, November
Anonim
Arduino Servotester
Arduino Servotester
Arduino Servotester
Arduino Servotester

Hier zeigen wir, wie man ein Servo von einem Arduino ohne Computer steuert. Die Verwendung dieser tragbaren Schnittstelle beschleunigt den Prototyping-Prozess bei der Bestimmung der Grenzen für die Servodrehung erheblich. Es ist besonders nützlich, wenn Sie viele Servos haben, wie wir es tun.

Wenn Sie dieses Instructable als Teil der modifizierten InMoov-Roboter-Serie verwenden, beachten Sie bitte, dass dies eine unfertige Version des Bedienfelds ist, die auf der Rückseite des Roboters montiert ist. Sie können es wie wir verwenden, um Ihre Servogrenzen zu bestimmen.

Wenn Sie nur hoffen, ein paar Servos mit unserer Methode für ein anderes Projekt oder einfach nur zum Spaß zu steuern, ist dieses Instructable immer noch für Sie, also verlassen Sie die Seite nicht! Bitte beachten Sie, dass einige Bilder mit Anmerkungen versehen sind, also schauen Sie sich jedes einzeln an.

Lass uns anfangen!

Lieferungen

Nicht alle Lieferungen sind hier aufgeführt, bitte lesen Sie die gesamte Anleitung durch

- 1 x Arduino Uno

- 1 x Leistungsmodul, 5A DC-DC Abwärtswandler (Wir haben dieses Modul verwendet, aber Sie könnten auch so etwas verwenden)

- 1 x I2C-LCD (das haben wir verwendet, aber jedes serielle LCD oder praktisch jedes Standard-LCD funktioniert)

- 1 x 4x4 Matrixtastatur (zum Beispiel)

- Ein Steckbrett und/oder ein Perfboard. Wenn Sie das Perfboard verwenden, benötigen Sie Header-Pins, wie sie hier zu finden sind, sowie alle notwendigen Geräte zum Löten.

- Stecker an Stecker, Stecker an Buchse, Buchse an Buchse Überbrückungsdrähte; verschiedene Widerstände, LEDs und Steckbrettdrähte.

- Eine Art Sockelleiste. Wir haben 1/4 transparentes Acryl verwendet. Sie können jedes nicht verformbare, leicht zu bohrende Material verwenden.

- Scharniere, Schrauben, Muttern/Bolzen, Sekundenkleber

Schritt 1: Sockelleiste

Sockelleiste
Sockelleiste
Sockelleiste
Sockelleiste
Sockelleiste
Sockelleiste

Sie möchten eine stabile Basis für Ihre Elektronik schaffen. Wenn Sie dies für den modifizierten InMoov-Roboter machen, muss er einen weiteren Arduino Uno (vielleicht Mega), einen Raspberry Pi3 und mehrere Steckbretter und / oder Perfboards für die Servo- / Sensorsteuerung aufnehmen. Unser Basispanel war ca. 7x15 . Den allgemeinen Aufbau der Module können Sie den Fotos oben entnehmen. Wir haben die Tastatur und das LCD auf dem Deckel so eingerichtet, dass das Panel nur im Falle eines Ausfalls, Prototyping oder Wartung geöffnet werden muss Wie Sie sehen, ist die Abdeckung von unten angelenkt und oben mit einem Klettverschluss eingerastet.

Versuchen Sie, Ihre Mikrocontroller auf einer Seite der Platine zu organisieren. Das Leistungsmodul ist nicht stark genug, um alle Ihre Servos des fertigen Roboters anzutreiben. Tatsächlich kann es nicht einmal 3 drehmomentstarke Servos des im Unterarm verwendeten Typs antreiben, ohne dass der interne Stromschalter die Stromversorgung abschaltet. In jedem Fall funktioniert das bereitgestellte Codebeispiel nur für ein Servoobjekt, sodass Sie mit diesem Setup testen können. Positionieren Sie dieses Modul in der Nähe der Controller, da dies deren Leistungsregler ist und auch einige Mikroservos mit Strom versorgen, die irrelevanten Stillstandsstrom verbrauchen - aber das ist für später …

Stellen Sie das LCD und die Tastatur auf der Außenseite der Abdeckung, die Sie verwenden, oder seitlich, aber in der Nähe des Arduino auf.

Wenn Sie dies für sich selbst tun, versuchen Sie dennoch, Ihr Board in einem ähnlichen Layout zu konfigurieren. Möglicherweise benötigen Sie weder die obere Abdeckung noch 3 Steckbretter - aber die Komponenten müssen logisch angeordnet werden, wie zum Beispiel das letzte Foto eines anderen Projekts, das auch eine Tastatur und ein LCD verwendet. Sie können die Schaltung auf der linken Seite durch ein Steckbrett ersetzen oder ganz weglassen.

Schritt 2: Testen des I2C-LCD und der Tastatur

Testen des I2C-LCD und der Tastatur
Testen des I2C-LCD und der Tastatur
Testen des I2C-LCD und der Tastatur
Testen des I2C-LCD und der Tastatur

Wir werden jetzt fortfahren und die Tastatur und das LCD gleichzeitig testen. Stellen Sie die Verbindungen wie im Bild oben gezeigt her und führen Sie den beigefügten Code aus. Sie müssen die ZIP-Bibliotheken für liquidCrystal_I2C.h herunterladen, wenn Sie sie noch nicht haben; Außerdem müssen Sie die Bibliotheken Keypad.h und Wire.h importieren (dies kann in der IDE erfolgen).

Die Fritzing-Datei ist auch angehängt. Sie müssen noch nichts vom Leistungsmodul mit Strom versorgen, obwohl Sie es könnten, wenn Sie wollten. Der Arduino hat genug Strom über das USB-Kabel, mit dem Sie den Code hochladen.

Wenn Sie Ihren Code hochladen, sollte das LCD Sie auffordern, eine Taste auf der Tastatur zu drücken; einmal gedrückt, druckt das LCD die gedrückte Taste aus. Möglicherweise müssen Sie das Layout der Tastaturmatrix ändern; Siehe die Kommentare im Code zur Erläuterung.

Schritt 3: Steuern des Servos

Steuerung des Servos
Steuerung des Servos
Steuerung des Servos
Steuerung des Servos
Steuerung des Servos
Steuerung des Servos

Jetzt gehen wir dieses Projekt noch einen Schritt weiter und fügen ein Servo hinzu. Sie müssen es an Digital Pin 10 anschließen, wie im Code festgelegt, oder Sie können dies an Ihre Bedürfnisse anpassen. Folgen Sie dem obigen Fritzing-Diagramm; es ist das gleiche wie das vorherige mit Ausnahme des Servos, der RGB-LED mit gemeinsamer Kathode und des Summers. Die beiden letztgenannten werden zur Ergänzung der Benutzeroberfläche verwendet - Warnungen und Status werden auf der LED und durch den Summer angezeigt. Wir sehen oben, wie wir den fertigen Servotester verwenden, um Grenzen für den InMoov Robotic Forearm und die Hand festzulegen.

Laden Sie den angehängten Code herunter und führen Sie ihn aus. Durch Drücken von A wird ein Infofeld angezeigt; alles andere sollte selbsterklärend sein.

An dieser Stelle können Sie das Servo über das Leistungsmodul separat mit Strom versorgen; insbesondere wenn die Wahrscheinlichkeit hoch ist, dass das Servo den Stillstandsstrom erreicht.

Wenn Sie möchten, können Sie den Summer und die LED wie oben gezeigt auf einem Perfboard montieren. Dies ist nützlich, da es später als Breakout-Board für die Servos dient und insgesamt ordentlicher ist.

Versuchen Sie, für das Servo einen Wert größer als 180 Grad einzugeben - sehen Sie, was passiert!

Schritt 4: Fertiges Produkt

Fertiges Produkt
Fertiges Produkt

Sie können jetzt Servos mit dieser manuellen Schnittstelle steuern. Einige Tipps werden hier genannt.

Fehlerbehebung:

-LCD funktioniert nicht: Überprüfen Sie alle Ihre Verbindungen und ob Sie das LCD mit der richtigen Anzahl von Zeilen und Spalten initialisiert haben

-Tastatur funktioniert nicht: Anschlüsse prüfen

-Tastatur funktioniert, aber es werden falsche Zahlen gedruckt: Sie haben hier zwei Alternativen. Sie können entweder die Matrix im Code umbenennen (dh wenn Sie A statt 1 drucken, umbenennen Sie 'A' in '1'), oder Sie können Ihre Verdrahtung neu vornehmen und dabei besonders darauf achten, dass alle Drähte zu die richtigen Pins auf dem Arduino.

-LED funktioniert nicht: Überprüfen Sie, ob Sie eine gemeinsame Kathoden-LED (gemeinsame Masse) verwenden. Wenn nicht, können Sie alle Signale, die Sie senden, invertieren (dh HIGH auf LOW ändern) und die gemeinsame Anode mit +5 V verbinden.

Wir werden in Kürze ein kurzes Youtube-Video veröffentlichen, das die Funktionen dieses Geräts demonstriert. sowie eine ganze Reihe zum Aufbau unseres Modified InMoov Robot. Hier können Sie mehr über das ursprüngliche InMoov lesen. Wenn dieses Instructable an einem Wettbewerb teilnimmt, stimmen Sie bitte dafür! Alles, was wir gewinnen, wird uns helfen, das Projekt und folglich zusätzliche Instructables zu diesem Thema zu beschleunigen.

Dieses Instructable wurde zuletzt am 5. Oktober 2019 bearbeitet.

Empfohlen: