
Wahrscheinlich denken viele von denen, die die Welt der Elektronik entdeckt haben, früher oder später darüber nach, eine Art Roboter zu entwickeln, oder nur Haushaltsautomatisierung oder funkgesteuerte Modelle. Wenn jedoch mit der Mechanik alles mehr oder weniger klar war, verursachte die Entwicklung eines Programms zur Steuerung eines solchen Geräts, bei dem eine große Anzahl von Servos zusammenarbeiten sollte, einige Schwierigkeiten. Mit dem Hardware-Software-Komplex ServoStudio 12 können Sie lediglich ein solches Gerät steuern, 12 Servos gleichzeitig steuern und Bewegungssequenzen mit dem visuellen Editor erstellen. Dieser Komplex wird auch zu einem praktischen Werkzeug zum Debuggen der Mechanik des Geräts und zum Erstellen eines eigenen Programms.
Bei Bedarf kann der erstellte Bewegungsablauf als Arduino IDE-Skizze für den eigenständigen Betrieb ohne PC exportiert werden. Oder einfach als Array von Schlüsselpunktwerten zur weiteren Verwendung in Ihrem Programm. ServoStudio 12 verfügt über eine intuitive Benutzeroberfläche, die selbst Anfänger kennenlernen können. Die Verwendung des Arduino-Boards als ausführendes Steuergerät machte dieses System bei Wiederholung und Herstellung leicht zugänglich.
Ein bisschen Hintergrund. Inspiriert von der Idee, einen praktischen Servotester
von Sergey Grishchenko zu entwickeln , entschloss ich mich, ein eigenes System zu entwickeln, das einfach zu bedienen und gleichzeitig bequem und funktional ist. Im Gegensatz zum oben genannten Servotester ist die ServoStudio 12-Software für die gesamte Steuerung auf einem PC verantwortlich, und die Arduino-Karte unterstützt bis zu 12 Servos gleichzeitig. Die Hardware ist ein weit verbreitetes Arduino Nano- oder Arduino Uno-Board. Diese Software enthält auch die Arbeit mit dem oben genannten Servotester.
Ursprünglich wollte ich ein kleines Programm erstellen, in dem die Wertesequenz des Steuersignals der Servos reproduziert wird. Während der Entwicklung hatte ich jedoch neue Ideen, und aus einem einfachen Programm wurde eine vollwertige Steuereinheit für die Mechanik des Roboters, mit der die Geschwindigkeit von Bewegungen und Spielbewegungen mit heiß eingestellt werden kann Schlüssel.
Servo - Im Gegensatz zum Kollektormotor können Sie eine Drehung in einem bestimmten Winkel ausführen. Der Drehwinkel wird durch die Impulsbreite des Steuersignals eingestellt. Die Breite dieser Impulse kann zwischen 800 - 2300 μs variieren.
Um loszulegen, benötigen wir Folgendes:Das Anschlussdiagramm ist sehr einfach. Die Pins D2-D13 sind mit den Steuereingängen der Servos verbunden. Die Arduino-Stromanschlüsse werden mit Strom versorgt.
Bei einem hohen Stromverbrauch von Servos muss eine externe Stromquelle angeschlossen werden.
Zunächst müssen Sie im Menü des ServoStudio 12-Programms das Element "Code Generator" und das Unterelement "ServoStudio HardWare-Skizze erstellen" auswählen, diese Skizze auf der Festplatte speichern und in der Arduino IDE öffnen und in Arduino Nano / Uno ausfüllen. Alles, die Hardware ist fertig! Diese Aktion wird mit dem neuen Arduino-Board nur einmal ausgeführt.
Um zu beginnen, müssen Sie ein neues Projekt erstellen (Menü Datei / Neu). Wählen Sie im Dialogfeld die erforderliche Anzahl von PWM-Kanälen (Anzahl der Servos) aus, wählen Sie den Typ der Testplatine aus und schreiben Sie den Namen Ihres Geräts (der Einfachheit halber).
Nun zur Programmoberfläche
Unten finden Sie Werkzeuge zum Erstellen einer Folge von Schlüsselpunkten. Durch Bewegen der Schieberegler der Regler für die entsprechenden Kanäle wird der Wert der Impulsbreite des Steuersignals (der Drehwinkel des Servoantriebs) auf dem entsprechenden Kanal eingestellt. Wenn Sie das Kontrollkästchen "Steuerung in Echtzeit" aktivieren, bewegt sich beim Bewegen des Schiebereglers der Steuerung der an diesen Kanal angeschlossene Servoantrieb, was sehr praktisch ist, da die Position des Antriebs an dieser Stelle sofort sichtbar ist. Nachdem das Steuersignal auf allen erforderlichen Kanälen eingestellt wurde, müssen Sie mit der Schaltfläche „Hinzufügen“ den nächsten „Frame“ (den nächsten Schlüsselpunkt) erstellen. Und auf die gleiche Weise schaffen Sie mit Hilfe der Regulierungsbehörden einen neuen Schlüsselpunkt und so viel wie nötig. Die Zeit, für die sich die Servos in einem bestimmten Winkel drehen müssen, wird für jeden Frame separat eingestellt. Im Feld "Schrittzeit" wird die Zeit in Millisekunden eingestellt. Je größer der angegebene Wert ist, desto langsamer ist die Bewegung, desto kleiner desto schneller. Das Schrittfeld zeigt den aktuellen Frame der Sequenz an. Wenn Sie die Schrittnummer in diesem Feld ändern, können Sie bei Bedarf die vorherigen Schritte bearbeiten. Zur Vereinfachung können die Kanalnamen durch Doppelklicken auf den Kanalnamen links neben dem Regler geändert werden.
Im oberen Teil des Diagramms wird die Änderung der Breite des Steuersignals der Servos visuell angezeigt.
Wenn eine Art fertige Bewegung erstellt wird (z. B. ein Schritt vorwärts), können Sie die aktuelle Sequenz als separate fertige Sequenz speichern, indem Sie auf die Schaltfläche "Hinzufügen" im Bereich "Sequenzen" auf der rechten Seite des Programmfensters klicken. Sie können beispielsweise mehrere Sequenzen erstellen, um sich vorwärts, rückwärts, links, rechts usw. zu bewegen. Und diese Sequenzen können unabhängig voneinander durch Doppelklick mit der Maus oder über das Kontextmenü sowie über das Fenster "Fernbedienung" abgespielt werden (dazu später mehr). Somit wird bei der Wiedergabe dieser Sequenzen das Gerät (Roboter) gesteuert. Sie können der Hauptsequenz auch gespeicherte Sequenzen hinzufügen und so eine große Sequenz von Aktionen erstellen. Dies kann sehr nützlich sein, um die Funktionsweise des Geräts zu demonstrieren.
Außerdem kann die Hauptsequenz (die derzeit im Editor geöffnet ist) als Skizze für die Arduino IDE für die Offline-Wiedergabe durch das Arduino-Board ohne PC exportiert werden. Wählen Sie dazu im Menü "Code Generator" den Eintrag "Sequenz exportieren" und klicken Sie im Dialogfeld auf die Schaltfläche "Generieren". Anschließend kann diese Skizze in die Zwischenablage kopiert oder als Skizze für die Arduino IDE gespeichert werden. Ferner kann diese Skizze auf übliche Weise in den Controller der Arduino-Platine eingefügt werden.

Sie können diese Sequenz zyklisch oder nur einmal abspielen, indem Sie das Kontrollkästchen „In Zyklen wiederholen“ aktivieren oder deaktivieren. Es ist auch möglich, wichtige Punkte in ein Array zu exportieren. Dies kann nützlich sein, wenn Sie bereits ein eigenes Programm für den Mikrocontroller haben und Bewegungen darin einstellen müssen. Optional können Sie dem Array Positionseinstellzeitwerte hinzufügen, indem Sie das entsprechende Flag setzen. Wenn die Arduino-Karte nach dem Flashen dieser Skizze erneut mit dem ServoStudio 12-Programm verwendet werden muss, wählen Sie erneut das Element "Code Generator" und das Unterelement "ServoStudio-HardWare-Skizze erstellen" im Menü aus, speichern Sie diese Skizze auf der Festplatte, öffnen Sie sie in der Arduino IDE und laden Sie sie auf Arduino hoch Nano / Uno.
Fenster "Bedienfeld"
Ermöglicht die Verwendung von Tastenkombinationen zum Abspielen einzelner Sequenzen. Zuerst müssen Sie auf die Schaltfläche "Schlüssel zuweisen" klicken, die gewünschte Sequenz aus der Dropdown-Liste auswählen und ihr einen Hotkey zuweisen. Wenn alles installiert ist, müssen Sie auf die Schaltfläche "Merken" klicken. Wenn dieses Fenster geöffnet ist, wird durch Drücken der Tastenkombination die ihm zugewiesene Sequenz abgespielt.
Nicht unwichtig ist der Menüpunkt "Startposition" - dies ist die Position der Servos beim Einschalten oder einfach die "normale Position" für den Drehwinkel der Servos. Mit anderen Worten, wenn Sie nicht möchten, dass Ihr Roboter beim Einschalten schief läuft, wählen Sie mit den Reglern die optimale Position aus und wählen Sie den Menüpunkt "Aktuellen Frame im Arduino EEPROM als Startposition aufzeichnen". Diese Funktion ist nur für Arduino-Boards verfügbar. Es gibt auch die Punkte "Schreiben Sie den aktuellen Frame als Startposition" und "Fügen Sie die Startposition in den aktuellen Frame ein". Dies ist sehr nützlich, wenn Sie eine neue Sequenz und den Startpunkt starten müssen. Die Anfangsposition wird in der Projektdatei gespeichert und ist beim Öffnen der Datei verfügbar, sodass sie nicht erneut ausgewählt werden muss.

Das Programm kann auch Projektdateien mit ServoStudio 12 verknüpfen. Dazu müssen Sie es einmal mit Administratorrechten ausführen. ServoStudio 12 ist vollständig portabel, besteht aus 1 Datei (wenn Sie das Programm schließen, wird die Datei des zuletzt geöffneten Projekts noch erstellt) und erfordert keine Installation.
Weitere Details zur Arbeit finden Sie im Video.
Download-Link für die ServoStudio 12-SoftwareEin wenig über Pläne für die Zukunft:
- Ich möchte eine Android-Anwendung erstellen, die die Projektdatei öffnen und das Telefon zur Steuerung des Roboters verwenden kann. Verwalten über BlueTooth oder WiFi über einen TCP-UART-Adapter.
- Ich möchte auch eine Version für eine größere Anzahl von Kanälen erstellen, um komplexere Geräte zu verwalten.
- Fügen Sie die Signalverarbeitung von angeschlossenen Sensoren hinzu (z. B. wenn ein Hindernis vor Ihnen liegt, umgehen Sie es).
- Fügen Sie die Möglichkeit hinzu, digitale Ausgänge zu steuern (z. B. um LEDs oder etwas anderes einzuschalten).
Ob diese Pläne jedoch nur Pläne bleiben oder in der nächsten Version des Programms veröffentlicht werden, hängt vom Interesse an diesem Komplex ab.