embedded world - Wir sind dabei!
Treffen Sie uns auf der Embedded World
28. Februar 2025

Zephyr RTOS und die Entwicklung einer Schrittmotor-API

Schaltbrett mit elektronischen Komponenten

Zephyr RTOS und die Entwicklung einer Schrittmotor-API: Herausforderungen und Fortschritte bei der Integration bei ZEISS Spectroscopy

Zephyr als RTOS für Embedded-Devices existiert in seiner aktuellen Form seit 2016. Im gleichen Jahr erschien auch, als eines der ersten, ein Beispiel für die Nutzung von Servomotoren. In den folgenden 8 Jahren gab es bei Zephyr auf dem Feld der Motorsteuerung allerdings wenig Fortschritte, der Fokus lag hingegen auf dem Feld IoT.

Bei Navimatix findet Zephyr seit 2019 Eingang in ihre Projekte.

Zephyr und ZEISS Spectroscopy

Auf Grund der steigenden Bedeutung von Zephyr im Unternehmen und um Einfluss auf die weitere Entwicklung nehmen zu können, trat die ZEISS Gruppe dem Zephyr-Projekt im Oktober 2023 als Platin-Mitglied[1] bei. In einem der Zephyr nutzenden Projekte spielt dabei ein Schrittmotor eine wichtige Rolle, eine Komponente, für die es bei Zephyr keine Unterstützung gab. Dies, obwohl mehrere Hersteller von Schrittmotor-Treibern, wie z.B. Texas Instruments (TI) und Analog Devices (ADI), teilweise schon mehrere Jahre, Zephyr Mitglieder sind. Daher wurde im August 2024 durch Jilay Pandya, Software Engineer bei Zeiss, eine erste Version einer Schrittmotor-API in das Zephyr-Projekt eingebracht und die Maintenance übernommen. Zu ungefähr demselben Zeitpunkt begann Navimatix eine kooperative Produktentwicklung mit der ZEISS Spectroscopy[2] und steuert seither in enger Absprache mit Jilay Pandya API Erweiterungen und Verbesserungen sowie neue Low-Level-Treiber bei.

Herausforderungen bei der Entwicklung einer Schrittmotor-API

Die Entwicklung an und mit einer so jungen API brachte einige unausweichliche Herausforderungen mit sich. So ist es nicht überraschend, dass sich die API noch stark verändert. Zum einen werden neue Erfordernisse bekannt, zum anderen werden aber auch Defizite in der Intention der jungen API durch die nachträgliche Integration von Testfällen erkannt.

Die mangelnde Testabdeckung der API führte daher zu schwerwiegende Fehler in existierenden Treibern.

Eine zentrale Komponente bei der Steuerung von Schrittmotoren ist die zeitakkurate Generierung des Schrittsignals. War die Nutzung der Pulsweitenmodulation (PWM) der erste Ansatz, so hat sie sich schnell als unpassend herausgestellt, da sie für die Energiemodulation gedacht ist, und somit nicht die benötigten Fähigkeiten bereitstellt. Somit fiel die Wahl auf Hardwarecounter um das Signal zu generieren, da sie alle benötigten Fähigkeiten bereitstellen – zumindest in der Theorie, denn trotz gleicher API unterscheiden sich die Fähigkeiten der einzelnen Counter signifikant. Dies zu klarifizieren stellt einen Ansatzpunkt für die Verbesserung der Counter API dar. Neue Verhaltenskonzepte, wie Rampen für sanfte Beschleunigungs- und Verzögerungsprofile, bedurften ebenfalls tiefer liegende Änderungen an der aktuell wachsenden Schrittmotor API, was nun durch die Existenz einer ersten Testumgebung in einen guten Integrationspfad überführen ließ, ohne die bisherigen Funktionalitäten zu verändern.

Sie möchten mehr zur Embedded-Softwareentwicklung bei Navimatix erfahren?
Besuchen Sie unsere Embedded RTOS/OS Landingpage oder schicken Sie uns eine Nachricht an info@navimatix.de, wir freuen uns auf den Austausch mit Ihnen!

Gerne laden wir Sie auch zum Messebesuch der embedded world vom 11.-13. März 2025 ein, um mit Ihnen über Ihre Zephyr-Projektideen zu sprechen! Sie finden Navimatix dort am Stand 4-180.

[1]      https://zephyrproject.org/project-members/

[2]      https://www.zeiss.de/spectroscopy

Comments are closed.

Ein neues Projekt?

Wir sind gespannt!

Senden Sie uns eine Nachricht und wir informieren Sie näher über unsere individuellen Software-Lösungen!

    Hinweise zum Datenschutz gelesen und akzeptiert.

    Kontaktieren Sie uns
    close slider

      Wir freuen uns auf den Kontakt mit Ihnen

      Hinterlassen Sie eine Nachricht für uns und wir treten schnellst möglich mit Ihnen in Verbindung.