Tinymovr-Firmware der nächsten Generation

Die Tinymovr CAN-Bus-Schnittstelle, die wir vor einigen Jahren veröffentlicht haben (und die immer noch in fast allen Geräten verwendet wird), stößt an ihre Grenzen, da der Funktionsumfang des Controllers erweitert wurde und die Anzahl der Zustandsvariablen zugenommen hat. Darüber hinaus bot die flache Struktur der Gerätebeschreibung eine eingeschränkte, flache Sicht auf die internen Abläufe des Geräts.

In Anerkennung dieser Mängel haben wir unsere Next-Gen-Firmware und Studio-Software entwickelt, um die Konfiguration und den Betrieb eines Tinymovr-Systems so einfach wie möglich zu gestalten, gleichzeitig vollen Zugriff auf seine internen Abläufe zu ermöglichen und die Erweiterbarkeit für die Zukunft zu gewährleisten.

Avlos RPC

Zur Unterstützung dieses Vorhabens haben wir ein leichtgewichtiges Remote Procedure Call Templating-System und eine Bibliothek namens Avlos entwickelt. Avlos verwendet eine YAML-Datei, um das eingebettete Gerät als Baumstruktur zu definieren. Ein Beispiel-YAML, das ein vereinfachtes Gerät (einen Toaster!) beschreibt, ist unten dargestellt:

name: toaster
version: "1.0"
remote_attributes:
- name: sn
    dtype: uint32
    getter_name: toaster_get_sn
    summary: The unique device serial number.
- name: heater
  remote_attributes:
  - name: temperature
      dtype: float
      unit: celsius
      getter_name: toaster_get_heater_temp
      summary: The toaster heater temperature.
- name: relay
  remote_attributes:
  - name: relay_state
      dtype: bool
      getter_name: toaster_get_relay_state
      setter_name: toaster_set_relay_state
      summary: The toaster heating relay element state.

Mit der obigen Gerätespezifikation kann Avlos automatisch Code zur Implementierung eines Kommunikationsprotokolls für das eingebettete Gerät (in C) und eine Python-Bibliothek zur Verwendung durch den Client generieren. Darüber hinaus generiert Avlos RestructuredText-Dokumentation, C++-Client-Code (z. B. zur Verwendung mit Arduino) und CAN-DBC-Dateien. Wir planen, in naher Zukunft weitere Generatoren hinzuzufügen, wie z. B. für Rust und Markdown-Dokumente.

Avlos functional diagram

Cross-Plattform Studio GUI

Wir haben eine plattformübergreifende GUI auf Basis von Qt entwickelt, um neuen Benutzern den Einstieg in die bürstenlose Motorsteuerung zu erleichtern. Die Studio-GUI bietet einen umfassenden Überblick über den Zustand und die Konfiguration des Controllers, sodass Sie mühelos beliebige Attribute überprüfen und ändern, mehrere Werte gleichzeitig grafisch darstellen, mit mehreren Tinymovr-Knoten arbeiten, Diagramme speichern und exportieren sowie Ihre Konfigurationen importieren oder exportieren können.

 Tinymovr Studio GUI

CLI Studio App

Die CLI-App bleibt bestehen und wird nicht verschwinden! Tatsächlich hat die CLI einige Verbesserungen erhalten, sodass sie nun den internen Zustand von Knoten und deren verschachtelte Attribute klarer darstellt und die automatische Erkennung von Knoten am Bus ermöglicht.

Python-Bibliothek

Die Python-Bibliothek ist ein flexibles Gateway zur Steuerung Ihrer Tinymovr-Knotenflotte! Die Bibliothek bietet Funktionen zur Erkennung und Initialisierung von Tinymovr-Knoten am CAN-Bus in einer geschichteten Architektur, die es ermöglicht, nur das zu verwenden, was benötigt wird. Sie können beispielsweise das Discovery-Modul den Bus überwachen lassen und Knoten initialisieren, sobald sie erscheinen, oder Sie können die Knoten selbst initialisieren, wenn Sie bereits wissen, welche vorhanden sind. Wir dokumentieren die Bibliotheksfunktionen noch und verbessern und erweitern ihre API, um eine bessere Entwicklererfahrung zu bieten.

Arduino- und ROS-Bibliotheken

 Wir sind dabei, unsere Arduino-Bibliothek auf Firmware 1.x zu aktualisieren und gleichzeitig die Funktionalität zu erweitern, um die vollständige Controller-Konfiguration und den Betrieb von einem eingebetteten Arduino-System aus zu ermöglichen. Wir fügen dabei weitere Beispiele für Arduino UNO, MKR1000 und ESP32 hinzu.

Schließlich befindet sich unsere Tinymovr ROS-Hardwareschnittstelle in einem fortgeschrittenen Entwicklungsstadium und wird sehr bald veröffentlicht. Ihre Struktur und Funktionalität werden wir in einem separaten Blogbeitrag behandeln.

Wir haben auch ein kurzes Einführungsvideo vorbereitet, schauen Sie es sich unten an!

Wir freuen uns über dieses wichtige Update und würden uns über Ihr Feedback sehr freuen, also besuchen Sie das Github-Repository, um loszulegen!

Viel Glück und viel Spaß!

Zurück zum Blog
  • Introducing the X5 Motor Controller: Precision FOC Control for Robotic Actuators

    Wir stellen den X5 Motor Controller vor: Präzis...

    Wir stellen den X5 vor – einen kompakten FOC-Motorcontroller mit zwei absoluten Winkelsensoren, 6A Dauerstrom und CAN/UART/SPI-Konnektivität, entwickelt für präzise Roboteraktuatoren.

    Wir stellen den X5 Motor Controller vor: Präzis...

    Wir stellen den X5 vor – einen kompakten FOC-Motorcontroller mit zwei absoluten Winkelsensoren, 6A Dauerstrom und CAN/UART/SPI-Konnektivität, entwickelt für präzise Roboteraktuatoren.

  • Studio Web: Tinymovr in Your Browser

    Studio Web: Tinymovr in Ihrem Browser

    Die Einrichtung von Motorsteuerungs-Hardware beginnt in der Regel auf dieselbe Weise: Python installieren, die richtige Version auswählen, eine virtuelle Umgebung einrichten, das Paket installieren, hoffen, dass nichts mit anderem kollidiert,...

    Studio Web: Tinymovr in Ihrem Browser

    Die Einrichtung von Motorsteuerungs-Hardware beginnt in der Regel auf dieselbe Weise: Python installieren, die richtige Version auswählen, eine virtuelle Umgebung einrichten, das Paket installieren, hoffen, dass nichts mit anderem kollidiert,...

  • GIM6010-8 + Tinymovr R5.3: Compact High-Torque Actuation

    GIM6010-8 + Tinymovr R5.3: Kompakte Aktorlösung...

    Die Integration des Planetengetriebemotors GIM6010-8 mit Tinymovr R5.3 liefert 5 Nm Dauerdrehmoment in einem 370 g schweren Paket. Wir veröffentlichen das komplette Integrationskit und eine Videoanleitung zum Bau kompakter Hochleistungsaktuatoren.

    GIM6010-8 + Tinymovr R5.3: Kompakte Aktorlösung...

    Die Integration des Planetengetriebemotors GIM6010-8 mit Tinymovr R5.3 liefert 5 Nm Dauerdrehmoment in einem 370 g schweren Paket. Wir veröffentlichen das komplette Integrationskit und eine Videoanleitung zum Bau kompakter Hochleistungsaktuatoren.

1 von 3