gesponsertMotorsteuerung in Echtzeit Remote-Motion-Control für intelligente Netzwerkknoten

11 min Lesedauer

Gesponsert von

Aktoren in Echtzeit über größere Entfernungen fernsteuern ohne Leistungs- und Geschwindigkeitseinbußen: Systemlösungen ebnen den Weg für kurze Reaktionszeiten und hohe Leistungsfähigkeit.

Bild 1: Schematische Darstellung des Aufbaus des Systems.
Bild 1: Schematische Darstellung des Aufbaus des Systems.
(Bild: Analog Devices GmbH)

Die Bezeichnung 10BASE-T1L ist ein Standard für die physikalische Schicht, der auf industrielle Konnektivität ausgerichtet ist. Er ermöglicht Datenübertragungsraten bis zu 10 MBit/s und eine Stromversorgung über Entfernungen bis 1.000 m über ein Standard- Twisted-Pair-Kabel. Geringe Latenzzeiten sowie die PoDL-Funktionen ermöglichen die Fernsteuerung von Sensoren oder Aktoren.

In diesem Artikel erklären wir, wie ein System implementiert werden kann, das aus einem entfernten Host besteht, der zwei oder mehr Schrittmotoren synchron steuert, und so die Möglichkeiten der Echtzeitkommunikation über Entfernungen demonstriert.

Bildergalerie

Auf der Host-Seite wird die Übersetzung zwischen Standard- und 10BASE-T1L-Verbindungen von den Ethernet-PHYs ADIN1100 und ADIN1200 verwaltet. Die Steuerung ist auf der Remote-Seite über den Ethernet MAC-PHY ADIN1110 angeschlossen, der nur eine SPI-Peripherie zum Austausch von Daten und Befehlen benötigt.

Eine präzise und synchronisierte Bewegungssteuerung wird durch den Einsatz der Schrittmotorsteuerungen und -treiber Trinamic TMC5160 erreicht, die die Erzeugung von Sechs-Punkt-Rampen für die Positionierung ermöglichen, ohne dass eine Berechnung auf dem lokalen Mikrocontroller erforderlich ist. Durch die Auswahl dieser Komponenten werden zudem die Anforderungen an den Mikrocontroller hinsichtlich der verwendeten Peripherieblöcke, der Rechenleistung und der Codegröße niedrig gehalten, so dass eine breite Palette handelsüblicher Produkte verwendet werden kann.

Darüber hinaus kann das gesamte Remote-Subsystem bis zu einer vordefinierten Stromverbrauchsgrenze direkt über die Datenleitung versorgt werden, so dass die Medienkonverterkarte das einzige Modul ist, das eine lokale Stromversorgung benötigt.

10BASE-T1L in der Automation

Industrie 4.0 verspricht Intelligenz an den Schnittstellen zur Außenwelt über große Entfernungen und 10BASE-T1L-Ethernet ebnet mit PoDL (Power over Data Line), hohen Datenübertragungsraten und der Kompatibilität mit Ethernet-Protokollen den Weg in die Zukunft. Wie kann der neue Ethernet-Standard 10BASE-T1L für die physikalische Schicht in Automatisierungs- und Industrieszenarien integriert werden, um Steuerungen und Benutzeroberflächen mit Endpunkten wie zum Beispiel mehreren Sensoren und Aktoren zu verbinden? Die Vorteile einer Standard-Ethernet-Schnittstelle für die bidirektionale Kommunikation.

Mehr zu 10BASE-T1L

Die Hardware des Systems

Das System besteht aus vier verschiedenen Boards: EVAL-ADIN1100, EVAL-ADIN1110, Shield TMC5160 und EVAL-ADIN11X0EBZ (Bild 1). Das Board EVAL-ADIN1100 enthält den 10BASE-T/100BASE-T PHY ADIN1200, der in Kombination mit dem 10BASE-T1L PHY ADIN1100 verwendet wird, um Nachrichten von einem physikalischen Standard in den anderen zu übersetzen.

Es kann für verschiedene Betriebsarten konfiguriert werden. In diesem Projekt wird der Standardmodus 15 (Medienkonverter) verwendet. In das Board ist ein Mikrocontroller integriert, der die für die Medienkonvertierung erforderliche Grundkonfiguration vornimmt und Diagnoseinformationen ausliest. Es kann jedoch nicht mit gesendeten und empfangenen Nachrichten interagieren. Dieses Board ist also für die Kommunikation völlig transparent.

Das Board EVAL-ADIN1110 ist das Herzstück der Steuerung der entfernten Geräte. Der 10BASE-T1L MAC-PHY ADIN1110 empfängt Daten über die 10BASE-T1L-Verbindung und überträgt diese über eine SPI-Schnittstelle zur Verarbeitung an den Onboard-Mikrocontroller Cortex-M4. Die Platine verfügt auch über Arduino-Uno-kompatible Anschlüsse, die zur Installation eines Shields verwendet werden können, mit dem das Board um weitere Funktionen erweitert werden kann.

Das Shield TMC5160 ist ein speziell entwickeltes Board, das auf dem Arduino-Shield-Formfaktor basiert. Ein einzelnes Shield unterstützt bis zu zwei SilentStepStick- Boards TMC5160, wobei mehrere Shields aufeinander­gesteckt werden können, um die maximale Anzahl der gesteuerten Motoren zu erhöhen. Alle Treiber nutzen dieselben SPI-Takt- und -Datensignale, allerdings bleiben die Chip-Select-Leitungen voneinander unabhängig.

Via PoDL das gesamte System versorgen

Mit dieser Konfiguration sind zwei Kommunikationsmodi möglich: Wenn die Chip-Select-Leitungen einzeln aktiviert werden, kann der Mikrocontroller mit einzelnen Steuerungen kommunizieren – beispielsweise um Bewegungsparameter zu konfigurieren.

Durch die gleichzeitige Aktivierung mehrerer Chip-Select-Leitungen erhalten alle ausgewählten Treiber denselben Befehl zur gleichen Zeit. Der letztgenannte Modus wird hauptsächlich für die Bewegungssynchronisation verwendet. Die Platine enthält zudem eine zusätzliche Eingangskapazität für die StepSticks, um Stromspitzen beim Motorstart zu reduzieren und das Stromprofil während des normalen Betriebs zu glätten.

Damit lässt sich via PoDL das gesamte System mit maximal zwei NEMA17-Motoren versorgen (bei der Standardeinstellung beträgt die maximal übertragene Leistung 12 W bei 24 V). Die Platine wird außerdem dazu genutzt, um die Verbindung mit Schrittmotoren zu erleichtern. Dabei werden Schraubklemmen verwendet, um die Phasenausgänge der Steuerungen besser zugänglich zu machen.

Um dem System PoDL-Funktionen hinzuzufügen, werden zwei EVAL- Boards des Typs ADIN11X0EBZ verwendet, eines für den Medienkonverter und eines für das EVAL-ADIN1110EBZ. Diese Platine ist ein Steckmodul, das auf die MDI-Prototyping-Header der Evaluierungsplatinen aufgesteckt werden und sowohl für die Stromversorgung als auch für den Bezug von Strom über die Datenleitung konfiguriert werden kann.

Die Software des Systems

Der Software-Code steht zum Download zur Verfügung: Bewegungsfernsteuerung mit 10Base-T1L Ethernet – Code.

Um den Code kompakt zu halten und den Kommunikations-Overhead zu minimieren, wurden keine Standard-Kommunikationsprotokolle oberhalb der Datenverbindungsschicht implementiert. Alle Nachrichten werden über das Nutzdatenfeld von Ethernet-Frames in einem vorgegebenen festen Format ausgetauscht.

Bild 5: Format des Kommunikationsprotokolls.
Bild 5: Format des Kommunikationsprotokolls.
(Bild: Analog Devices GmbH)

Die Daten sind in 46-Byte-Segmente unterteilt, die aus einem 2-Byte-Header und einem 44-Byte-Datenfeld bestehen. Der Header enthält ein 8-Bit-Gerätetyp-Feld, das bestimmt, wie die empfangenen Daten verarbeitet werden, und ein 8-Bit-Geräte-ID-Feld, das die Auswahl eines einzelnen physischen Geräts ermöglicht, wenn mehrere Geräte desselben Typs vorhanden sind (Bild 5).

Die Host-Schnittstelle ist in Python geschrieben, um die Kompatibilität sowohl mit Windows- als auch mit Linux-Hosts zu gewährleisten. Die Ethernet-Kommunikation wird über das Scapy-Modul verwaltet, das das Erstellen, Senden, Empfangen und Manipulieren von Paketen auf jeder Schicht des Stacks, einschließlich der Ethernet-Datenverbindung, ermöglicht. Jeder im Protokoll definierte Gerätetyp verfügt über eine entsprechende Klasse, die Eigenschaften zur Speicherung der auszutauschenden Daten sowie eine Reihe von Methoden enthält, mit denen diese Eigenschaften geändert werden können, ohne die Variablen direkt zu editieren.

Um beispielsweise die Bewegungsrichtung im Drehzahlmodus für die Bewegungssteuerung zu ändern, werden die Methoden „setDirectionCW()“ und „setDirectionCCW()“ definiert, anstatt dem Richtungsflag manuell 0- oder 1-Werte zuzuweisen. Jede Klasse enthält außerdem eine „packSegment()“-Methode, die das dem gesteuerten Gerät entsprechende Segment in Form eines Arrays von Bytes entsprechend dem vordefinierten Format für den betreffenden Gerätetyp packt und zurückgibt.

Bild 6: Flussdiagramm der Firmware.
Bild 6: Flussdiagramm der Firmware.
(Bild: Analog Devices GmbH)

Die Firmware ist in C unter Verwendung der ChibiOS-Umgebung geschrieben, die unter anderem ein Echtzeit-Betriebssystem, eine Hardware-Abstraktionsschicht (HAL) und Peripherie-Treiber enthält, so dass der Code leicht zwischen verschiedenen Mikrocontrollern portiert werden kann.

Das Projekt basiert auf drei benutzerdefinierten Modulen: ADIN1110.c, TMC5160.c und Devices.c (Bild 6).

Benutzerdefinierte Module: ADIN1110.c, TMC5160.c und Devices.c

ADIN1110.c ist der Treiber, der den Austausch von Daten und Befehlen mit dem ADIN1110 über die SPI-Schnittstelle ermöglicht. Er umfasst Low-Level-Kommunikationsfunktionen zum Lesen und Schreiben von Daten aus Geräteregistern sowie High-Level-Funktionen zum Senden und Empfangen von Ethernet-Frames. Er enthält zudem die Funktion, die zum Aufbau der Kommunikation zwischen 10BASE-T1L-Transceivern verwendet werden. Zur Minimierung der Latenzzeit wird der Pin, der meldet, ob neue Frames verfügbar sind, per Interrupt ausgelesen.

TMC5160.c implementiert alle Funktionen, die zur Verwaltung der Bewegungssteuerung TMC5160 erforderlich sind, die für den Betrieb im kompletten Bewegungssteuerungsmodus konfiguriert ist. Es sind sowohl Konstantdrehzahl- als auch Positionsregelungsmodi implementiert, die eine sanfte und präzise Positionierung mit Sechs-Punkt-Rampen ermöglichen. Die Kommunikation mit mehreren Bewegungssteuerungen erfolgt über einen einzigen SPI-Bus mit unabhängigen Chip-Select-Leitungen. Zur Vereinfachung der Bewegungssynchronisation werden außerdem eine Reihe von Funktionen und Typendefinitionen bereitgestellt.

Devices.c ist die Schnittstelle zwischen den vom T1L-Link empfangenen Daten und den an die Steuerung angeschlossenen physischen Geräten. Sie enthält ähnliche Strukturen wie die in der Host-Schnittstelle definierten sowie Funktionen, mit denen diese jedes Mal aktualisiert werden, wenn ein neuer Frame mit gültigen Daten empfangen wird. Dieses Modul dient außerdem dazu, festzustellen, welche Aktionen bei jeder Aktualisierung einer Struktur ausgeführt werden, z. B. welche physische Bewegungssteuerung mit den an einer bestimmten Geräteadresse empfangenen Befehlen in Zusammenhang steht.

System-Highlights und Validierungen

Nachfolgend wird gezeigt, wie der neue 10BASE-T1L-Ethernet-Standard für die physikalische Schicht in Automatisierungs- und Industrieszenarien integriert werden kann, um Steuerungen und Benutzerschnittstellen mit Endpunkten wie mehreren Sensoren und Aktoren zu verbinden.

Die Anwendung zielt auf die Echtzeit-Fernsteuerung mehrerer Schrittmotoren ab, die in der Industrie für Automatisierungsaufgaben mit geringem Stromverbrauch weit verbreitet sind, aber auch in Leichtrobotern und CNC-Maschinen wie Desktop-3D-Druckern, Desktop-Fräsmaschinen und anderen Arten von kartesischen Plottern eingesetzt werden. Die Anwendungsgebiete können jedoch auch auf andere Arten von Aktoren und ferngesteuerten Geräten ausgeweitet werden. Die Hauptvorteile gegenüber bereits bestehenden Schnittstellen, die für ähnliche Zwecke verwendet werden, sind:

  • Vereinfachte Verdrahtung, da nur ein einziges Twisted Pair-Kabel erforderlich ist. Durch die Möglichkeit, über die Datenleitung auch Strom zu liefern, können Geräte mit geringem Stromverbrauch, wie Sensoren, direkt über diese Verbindung mit Strom versorgt werden, was die Anzahl der erforderlichen Kabel und Steckverbinder weiter reduziert und somit die Komplexität, die Kosten und das Gewicht des Gesamtsystems verringert.
  • Stromversorgung nach PoDL-Standard, der eine den Datenleitungen überlagerte Gleichspannung verwendet, um die an das Netzwerk angeschlossenen Geräte mit Strom zu versorgen. Diese Art der Kopplung kann durch die Verwendung von rein passiven Komponenten erreicht werden. Sobald die Spannung auf der Empfängerseite gefiltert ist, kann sie direkt zur Stromversorgung des Geräts oder eines Gleichspannungswandlers verwendet werden, ohne dass eine Gleichrichtung erforderlich ist. Durch die richtige Dimensionierung der für diese Art von Kupplung verwendeten Komponenten lässt sich ein hocheffizientes System erreichen. In diesem Projekt führt die Verwendung von Standardkomponenten, die auf den Evaluierungsboards installiert sind, zu einem Gesamtwirkungsgrad von etwa 93 Prozent (bei einer 24 V-Stromversorgung und einem Gesamtlaststrom von 200 mA). Dieses Ergebnis ist jedoch stark verbesserungsfähig, da die meisten Verluste auf die Widerstandswerte der passiven Komponenten entlang des Stromversorgungspfads zurückzuführen sind.
  • Vielseitigkeit, da das System sowohl für die letzte Meile als auch für die Endpunktanbindung verwendet werden kann. Die 10BASE-T1L-Bauelemente von Analog Devices wurden für Entfernungen von bis zu 1,7 km getestet. Sie ermöglichen zudem Daisy-Chaining mit geringen Auswirkungen auf die Systemkomplexität. Beispielsweise kann durch die Verwendung des ADIN2111, eines Switches mit zwei Ports und geringer Komplexität, möglich, Geräte mit Daisy-Chaining-Fähigkeiten zu entwickeln, was diese Art der Anbindung auch für Endpunktnetze geeignet macht.
  • Einfacher Anschluss an vorhandene Geräte, die bereits über einen Ethernet-Controller verfügen, einschließlich PCs und Laptops. Die Datenframes folgen dem Ethernet-Data-Link-Standard, wobei alle Ethernet-kompatiblen Protokolle darüber implementiert werden können, so dass nur ein Medienkonverter als Bridge mit Standard-Ethernet-Links benötigt wird. Beispielsweise kann das in diesem Projekt verwendete Board, das EVAL-ADIN1100, als Referenzdesign für einen transparenten Medienkonverter verwendet werden, der nur zwei Ethernet-PHYs und einen optionalen Mikrocontroller für Konfiguration und Debugging benötigt.
  • Hohe Datenrate bis zu 10 MBit/s, vollduplex. In Verbindung mit der Daisy-Chain-Topologie, auf der industrielle Ethernet-basierte Protokolle implementiert werden können, ermöglicht dies den Einsatz in Echtzeitanwendungen, bei denen eine deterministische Übertragungslatenz erforderlich ist.
  • Die Isolierung zwischen Transceiver und Medium kann je nach den Sicherheitsanforderungen und der geforderten Robustheit in der Anwendung sowohl durch kapazitive als auch durch magnetische Kopplung erreicht werden.

Bewertung der Systemleistung

Zur Bewertung der Leistung des Systems wurden mehrere Messungen durchgeführt. Alle Peripheriegeräte, die für die Kommunikation mit dem ADIN1110-Transceiver und den TMC5160-Controllern verwendet werden, wurden für die maximal mögliche Geschwindigkeit konfiguriert, die mit der Standard-Hardwarekonfiguration erreicht werden kann.

Unter Berücksichtigung des 80-MHz-Systemtaktes des Mikrocontrollers wurde die Datenrate der SPI-Peripheriegeräte auf 2,5 MHz für die Bewegungssteuerung und auf 20 MHz für den ADIN1110-Transceiver festgelegt. Beim TMC5160 kann die SPI-Frequenz durch Abstimmung der Mikrocontroller-Taktkonfiguration und Zuführung eines externen Taktsignals zum IC auf bis zu 8 MHz erhöht werden, während beim ADIN1110 die im Datenblatt angegebene Höchstgrenze bei 25 MHz liegt.

Für die Latenzzeit ergab die Auswertung der Gesamtzeit zwischen einer Datenanforderung und dem Empfang des Antwortframes etwa 4 ms (zugrunde gelegt wurde der Durchschnitt von 500 Stichproben, gemessen mit dem Wireshark-Protokollanalysator unter Berechnung der Differenz zwischen den Zeitstempeln der Datenanforderungen und der entsprechenden Antworten). Weitere Bewertungen wurden durchgeführt, um festzustellen, welche Teile des Systems für diese Verzögerung verantwortlich sind.

Ursachen für eine Verzögerung

Die Ergebnisse zeigten, dass die Hauptursache die vom RTOS bereitgestellte Verzögerungsfunktion ist, die eine Mindestverzögerung von 1 ms zulässt, mit der das Intervall zwischen Schreib- und Lesevorgängen für den TMC5160 festgelegt wird, während die erforderliche Verzögerung tatsächlich nur in der Größenordnung von einigen zehn Nanosekunden liegt. Dies könnte durch die Festlegung einer anderen zeitgesteuerten Verzögerungsfunktion verbessert werden, die kürzere Verzögerungszeiten zulässt.

Die zweite Ursache für diese Verzögerung ist die Scapy-Funktion, die für den Empfang von Frames verwendet wird und nach ihrem Aufruf eine Anlaufzeit von mindestens 3 ms benötigt. In praktischen Anwendungen kann dies verbessert werden, indem die Schnittstelle direkt mit Netzwerkadaptertreibern für das Betriebssystem statt mit Drittanbieter-Tools wie Scapy entwickelt wird. Zu den Nachteilen gehören jedoch der Verlust der Kompatibilität mit verschiedenen Betriebssystemen sowie die zunehmende Komplexität des Codes.

Die genauen Ausführungszeiten für den auf dem Mikrocontroller implementierten Callback wurden gemessen, indem ein GPIO hin- und hergeschaltet und die Dauer der High-Periode mit einem Oszilloskop gemessen wurde. Die gemessenen Ausführungszeiten umfassen Funktionen zum Lesen und Parsen empfangener Frames und zum Senden von Befehlen an Bewegungssteuerungen (Bild 5).

Messungen zu Leistungsverlusten

Die zweite Messreihe wurde durchgeführt, um die Leistungsverluste entlang des Übertragungswegs via PoDL zur Versorgung entfernter Geräte zu bewerten. Die Tests wurden durchgeführt, indem die Abschirmung der Bewegungssteuerung durch eine elektronische Last ersetzt wurde, die auf verschiedene Ströme eingestellt war, angefangen bei 0,1 A bis hin zu 0,5 A in Schritten von 100 mA. Auf diese Weise sollte ermittelt werden, welche Komponenten einen wesentlichen Einfluss auf die Verlustleistung haben und wie das Design verbessert werden kann, um höhere Stromstärken zu erreichen.

Die Ergebnisse zeigen, dass der Brückengleichrichter und die Schottky-Diode D2, die beide als Verpolungsschutz dienen, einen großen Anteil an den Verlusten haben. Beide Komponenten könnten durch eine ähnliche Schaltung auf der Basis von MOSFET-Transistoren und einer idealen Diodensteuerung ersetzt werden, um einen höheren Wirkungsgrad zu erzielen, ohne diese Art von Schutz zu verlieren. Bei höheren Strömen wird der Beitrag des Gleichstromwiderstands der gekoppelten Induktivitäten, die zur Filterung der Eingangs- und Ausgangsstromversorgung dienen, dominant, so dass zur Verbesserung der Strombelastbarkeit auch vergleichbare Induktivitäten mit höheren Nennströmen erforderlich sind (Bild 6).

Fazit

Industrie 4.0 verschiebt die Grenzen der intelligenten Automatisierung. Die Trinamic-Technologie von ADI, die zusammen mit den Transceivern ADIN1100, ADIN1110 und 10BASE-T1L eingesetzt wird, ermöglicht die Fernsteuerung von Sensoren und Aktoren in einer Entfernung von bis zu 1.700 m von der jeweiligen Steuerung, ohne dass eine Stromversorgung an der Schnittstelle erforderlich ist. Mit einer zuverlässigen Fernsteuerungsmethode können Schrittmotoren problemlos in Echtzeit über größere Entfernungen gesteuert werden, ohne dass Leistung oder Geschwindigkeit beeinträchtigt werden. Systemlösungen ebnen den Weg für einen industriellen Wandel, der nie dagewesene Reaktionszeiten und maximale Leistungsfähigkeit verspricht.

Mehr zu den neuen Produkten

(ID:49720528)

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung