Con Ethernet 10BASE-T1L un’automazione affidabile con il controllo remoto del movimento per nodi intelligenti.
L'Ethernet 4.0 promette intelligenza all'edge di rete su lunghe distanze e l'Ethernet 10BASE-T1L sta aprendo la strada grazie alle sue capacità di Power over Data Line (PoDL), all'elevata velocità di trasferimento dati e alla compatibilità con i protocolli basati su Ethernet. Questo articolo descrive come il nuovo standard di livello fisico Ethernet 10BASE-T1L possa essere integrato in scenari di automazione ed Ethernet Industriale per collegare controllori e interfacce utente con endpoint, come sensori e attuatori multipli, il tutto utilizzando un'interfaccia Ethernet standard per la comunicazione bidirezionale.
Il 10BASE-T1L è uno standard a livello fisico destinato alla connettività industriale. Offre velocità di trasmissione dati fino a 10 Mbps e fornisce alimentazione su distanze fino a 1000 m utilizzando un cavo a coppia intrecciata standard. La bassa latenza e le funzionalità PoDL consentono di controllare a distanza dispositivi come sensori o attuatori. Questo articolo descrive come implementare un sistema composto da un host remoto che controlla in modo sincrono due o più motori passo-passo, dimostrando così le possibilità di comunicazione real-time a distanza.
Panoramica del Sistema
Per iniziare, la Figura 1 mostra uno schema dell'applicazione a livello di sistema. Sul lato host, la conversione tra collegamenti standard e 10BASE-T1L è gestita dai PHY Ethernet ADIN1100 e ADIN1200, mentre, sul lato remoto, il controller si interfaccia con il collegamento utilizzando il MAC-PHY Ethernet ADIN1110, che richiede solo una periferica SPI per lo scambio di dati e comandi. Il controllo del movimento preciso e sincronizzato è ottenuto utilizzando i controllori e i driver per motori stepper ADI Trinamic TMC5160 che consentono di generare rampe a sei punti per il posizionamento, senza richiedere alcun calcolo al controllore. La scelta di questi componenti consente inoltre di mantenere bassi i requisiti del microcontrollore in termini di periferiche utilizzate, potenza di calcolo e dimensioni del codice, consentendo l'utilizzo di un'ampia gamma di prodotti disponibili in commercio. Inoltre, fino a un limite predefinito di potenza assorbita, l'intero sottosistema remoto può essere alimentato direttamente dalla linea dati, per cui la scheda media-converter rappresenta l'unico modulo che richiede un'alimentazione locale.
Hardware del sistema
Il sistema è composto da quattro schede diverse:
- la scheda EVAL-ADIN1100 è dotata di un PHY ADIN1200, 10BASE-T/100BASE-T, utilizzato in combinazione con il PHY ADIN1100 10BASE-T1L per tradurre i messaggi da uno standard fisico all'altro. Può essere configurato per diverse modalità di funzionamento. In questo progetto viene utilizzata la modalità standard 15 (media converter). La scheda EVAL-ADIN1100 dispone anche di un microcontrollore integrato che esegue la configurazione di base necessaria per la conversione dei media e per leggere le informazioni diagnostiche. Tuttavia, non può interagire con i messaggi inviati e ricevuti; questa scheda è completamente trasparente rispetto alla comunicazione;
la EVAL-ADIN1110 è il cuore del controller dei dispositivi remoti. Il MAC-PHY 10BASE-T1L ADIN1110 riceve i dati attraverso il collegamento 10BASE-T1L e li trasferisce a un microcontrollore Cortex-M4 integrato tramite un'interfaccia SPI per l'elaborazione. Questa scheda dispone anche di header compatibili con Arduino Uno, che possono essere utilizzati per installare una shield per aggiungere funzionalità alla scheda;
- la shield TMC5160 è una scheda sviluppata su misura e basata sul fattore di forma della shield Arduino. Una singola shield supporta fino a due schede TMC5160 SilentStepStick, ed è possibile impilare più shield per aumentare il numero massimo di motori controllati. Tutti i driver condividono gli stessi segnali di clock e dati SPI, ma le linee di selezione del chip sono indipendenti. Con questa configurazione, sono possibili due modalità di comunicazione: se le linee di chip select vengono asserite singolarmente, il microcontrollore può comunicare con i singoli controllori, ad esempio per configurare i parametri di movimento. Se invece si asseriscono più linee di chip select simultaneamente, tutti i driver selezionati ricevono lo stesso comando contemporaneamente. Quest'ultima modalità è utilizzata principalmente per la sincronizzazione del movimento. Questa scheda dispone anche di una capacità aggiuntiva di ingresso per gli StepStick, al fine di ridurre i picchi di corrente all'avvio del motore e di livellare il profilo di corrente durante il normale funzionamento. Ciò consente di utilizzare PoDL per alimentare l'intero sistema con un massimo di due motori NEMA17 (con la configurazione predefinita, la potenza massima trasmessa è di 12 W a 24 V). La scheda viene utilizzata anche per facilitare il collegamento con i motori stepper, utilizzando terminali a vite per rendere più accessibili le uscite delle fasi dai controllori;
- due schede EVAL-ADIN11X0EBZ una per il media converter e una per l'EVAL-ADIN1110EBZ, sono utilizzate per aggiungere funzionalità PoDL al sistema. Questa scheda è un modulo plug-in, che può essere montato sugli header di prototipazione MDI delle schede di valutazione e può essere configurato per fornire e ricevere alimentazione dalla linea dati.
Software
Il codice software è disponibile per il download: Remote Motion Control with 10Base-T1L Ethernet - Code.
Per mantenere questo codice leggero e ridurre al minimo l'overhead di comunicazione, non sono stati implementati protocolli di comunicazione standard al di sopra del livello di collegamento dati (data link layer). Tutti i messaggi vengono scambiati utilizzando il campo payload dei frame Ethernet con un formato fisso predefinito. I dati sono organizzati in segmenti di 46 byte, composti da un header fisso di 2 byte e da un campo dati di 44 byte. L'intestazione comprende un campo device type a 8 bit, che determina il modo in cui vengono elaborati i dati ricevuti, e un campo device ID a 8 bit, che consente di selezionare un singolo dispositivo fisico se sono presenti più dispositivi dello stesso tipo.
L'interfaccia host è scritta in Python per garantire la compatibilità con gli host Windows e Linux. La comunicazione Ethernet è gestita dal modulo Scapy, che permette di creare, inviare, ricevere e manipolare pacchetti a ogni livello dello stack, compreso il collegamento dati Ethernet. Ogni device type definito nel protocollo ha una classe corrispondente che include proprietà per memorizzare i dati da scambiare e una serie di metodi che possono essere utilizzati per modificare queste proprietà, invece di dover modificare direttamente le variabili. Per il controllore di movimento, ad esempio, per cambiare la direzione del moto in speed-mode sono stati definiti i metodi "setDirectionCW()" e "setDirectionCCW()", invece di dover assegnare manualmente i valori 0 o 1 al flag della direzione. Ogni classe include anche un metodo "packSegment()" che impacchetta e restituisce il segmento corrispondente al dispositivo controllato sotto forma di array di byte, secondo il formato predefinito per il tipo di dispositivo considerato.
Il firmware è scritto in C utilizzando l'ambiente ChibiOS che include, tra gli altri strumenti, un sistema operativo in tempo reale (RTOS), un livello di astrazione dell'hardware (Hardware Abstraction Layer, HAL) e i driver delle periferiche, consentendo un facile porting del codice tra microcontrollori simili. Il progetto si basa su tre moduli personalizzati:
- c è il driver utilizzato per consentire lo scambio di dati e comandi con l'ADIN1110 attraverso l'interfaccia SPI. Include funzioni di comunicazione di basso livello per la lettura e la scrittura di dati dai registri del dispositivo e funzioni di livello superiore per l'invio e la ricezione di frame Ethernet. Include anche la funzione utilizzata per stabilire la comunicazione tra transceiver 10BASE-T1L. Il pin che notifica la disponibilità di nuovi frame viene letto su interrupt per ridurre al minimo la latenza;
- c implementa tutte le funzioni necessarie per gestire il controllore di movimento TMC5160, configurato per operare in modalita' full-featured. Sono implementate entrambe le modalità di controllo della velocità e della posizione costanti, che consentono un posizionamento fluido e preciso con rampe a sei punti. La comunicazione con più controllori di movimento avviene attraverso un singolo bus SPI con linee di selezione del chip indipendenti. È inoltre disponibile una serie di funzioni e typedef per facilitare la sincronizzazione del movimento;
- c è l'interfaccia tra i dati ricevuti dal collegamento T1L e i dispositivi fisici collegati al controllore. Include strutture simili a quelle definite nell'interfaccia host e funzioni per aggiornarle ogni volta che viene ricevuto un nuovo frame con dati validi. Questo modulo viene utilizzato anche per determinare quali azioni vengono eseguite ogni volta che una struttura viene aggiornata, ad esempio quale controllore fisico del movimento è correlato ai comandi ricevuti a uno specifico indirizzo di dispositivo.
Caratteristiche di sistema e prove di convalida
Questo progetto intende dimostrare come il nuovo standard di livello fisico Ethernet 10BASE-T1L possa essere integrato in scenari di automazione e industriali per collegare controllori e interfacce utente con endpoint, come sensori e attuatori multipli. Tale applicazione è rivolta al controllo remoto in tempo reale di più motori stepper, ampiamente utilizzati nell'industria per processi di automazione a bassa potenza, ma anche in robot leggeri e macchine CNC, come stampanti 3D desktop, fresatrici da banco e altri tipi di plotter cartesiani. Tuttavia, i suoi casi d'uso possono essere estesi anche ad altri tipi di attuatori e dispositivi controllati a distanza. I suoi principali vantaggi, rispetto alle interfacce già esistenti utilizzate per scopi simili, sono:
- il cablaggio semplificato, che richiede una sola coppia di fili intrecciati. La possibilità di fornire anche l'alimentazione sulla linea dati consente di alimentare direttamente i dispositivi a basso consumo, come i sensori, riducendo ulteriormente il numero di cablaggi e connettori necessari e diminuendo così la complessità, il costo e il peso del sistema complessivo;
- fornitura di alimentazione tramite lo standard PoDL, che utilizza una tensione DC sovrapposta alle linee dati per fornire energia ai dispositivi collegati alla rete. Questo tipo di accoppiamento può essere realizzato utilizzando solo componenti passivi e, una volta filtrata la tensione sul lato ricevitore, può essere utilizzata direttamente per alimentare il dispositivo o un convertitore DC-DC senza richiedere il raddrizzamento. Dimensionando correttamente i componenti utilizzati per questo tipo di accoppiamento, è possibile ottenere un sistema ad alta efficienza. In questo progetto, l'utilizzo di componenti standard installati sulle schede di valutazione porta a un'efficienza complessiva di circa il 93% (con un'alimentazione di 24 V e una corrente di carico totale di 200 mA). Tuttavia, questo risultato ha un ampio margine di miglioramento; infatti, la maggior parte delle perdite è dovuta alle cadute resistive dei componenti passivi lungo il percorso di alimentazione;
- versatilità, in quanto può essere utilizzato sia per la connettività dell'ultimo miglio che per quella dell'end-point. I dispositivi 10BASE-T1L di Analog Devices sono stati testati per distanze fino a 1,7 km. Consentono inoltre il collegamento in daisy chain, con un impatto basso sulla complessità del sistema. Ad esempio, utilizzando lo switch a due porte a bassa complessità ADIN2111 è possibile progettare dispositivi che integrano funzionalità di daisy chain, rendendo il collegamento adatto anche alle reti end-point;
- facile interfacciamento con le apparecchiature esistenti che già integrano un controller Ethernet, compresi personal computer e laptop. I frame dati seguono lo standard di collegamento dati Ethernet e tutti i protocolli compatibili con Ethernet possono essere implementati al di sopra di esso, per cui è necessario solo un media converter come ponte con i collegamenti Ethernet standard. Ad esempio, la scheda utilizzata in questo progetto, la EVAL-ADIN1100, può essere utilizzata come reference design per un media converter trasparente, che richiede solo due PHY Ethernet e un microcontrollore opzionale per la configurazione e il debug;
- elevata velocità di trasmissione dati, fino a 10 Mbps, full duplex. Questa caratteristica, unita alla topologia daisy chain su cui è possibile implementare protocolli basati su Ethernet Industriale, ne consente l'utilizzo in applicazioni in tempo reale, dove è richiesta una latenza di trasmissione deterministica;
- l'isolamento tra il transceiver e i media può essere ottenuto con un accoppiamento capacitivo o magnetico, a seconda dei requisiti di sicurezza e robustezza dell'applicazione.Figura 6 – Perdite di potenza per ciascun componente passivo, in funzione della corrente
Il sistema è stato sottoposto a diverse misurazioni per valutarne le prestazioni. Tutte le periferiche utilizzate per comunicare con il transceiver ADIN1110 e i controllori TMC5160 sono state configurate per la massima velocità possibile raggiungibile con la configurazione hardware standard. Considerando il clock di sistema di 80 MHz del microcontrollore, la velocità di trasmissione dati delle periferiche SPI è stata impostata a 2,5 MHz per i controllori di movimento e a 20 MHz per il transceiver ADIN1110. Per il TMC5160, regolando la configurazione del clock del microcontrollore e fornendo un segnale di clock esterno all'IC, la frequenza SPI può essere ulteriormente aumentata fino a 8 MHz, mentre per l'ADIN1110 il limite massimo previsto dal data sheet è di 25 MHz.
Per quanto riguarda la latenza, il tempo totale tra una richiesta di dati e la ricezione del frame di risposta è stato valutato in circa 4 ms (media su 500 campioni, misurata con l'analizzatore di protocollo Wireshark, calcolando la differenza tra i timestamp delle richieste di dati e delle corrispondenti risposte). Sono state effettuate ulteriori valutazioni per determinare quali parti del sistema fossero responsabili di questo ritardo. I risultati hanno mostrato che la causa principale è la funzione di ritardo fornita dall'RTOS, che consente un ritardo minimo di 1 ms, utilizzato per impostare l'intervallo tra le operazioni di scrittura e lettura per il TMC5160, mentre il ritardo richiesto è dell'ordine delle decine di nanosecondi. Il problema potrebbe essere migliorato definendo una diversa funzione di ritardo basata su un timer che consenta intervalli di ritardo più brevi.
La seconda causa di questo ritardo è la funzione Scapy, utilizzata per la ricezione dei frame, che richiede un tempo di configurazione minimo di 3 ms dopo essere stata chiamata. In un'applicazione reale, questo problema può essere migliorato sviluppando l'interfaccia direttamente con i driver dell'adattatore di rete del sistema operativo, invece che con strumenti di terze parti come Scapy. Tuttavia, gli svantaggi includono la perdita di compatibilità con diversi sistemi operativi e l'aumento della complessità del codice.
I tempi di esecuzione precisi per il callback implementato sul microcontrollore sono stati misurati attivando un GPIO e misurando il periodo di high con un oscilloscopio. I tempi di esecuzione misurati comprendono le funzioni utilizzate per leggere e analizzare i frame ricevuti e per inviare i comandi ai controllori di movimento.
La seconda serie di misure è stata effettuata per valutare le perdite di potenza lungo il percorso di trasmissione quando si utilizza PoDL per alimentare dispositivi remoti. I test sono stati condotti sostituendo lo schermo del controllore di movimento con un carico elettronico impostato su diverse correnti, a partire da 0,1 A fino a 0,5 A in passi di 100 mA, per determinare quali componenti avessero un impatto maggiore sulle perdite di potenza e, di conseguenza, come migliorare il progetto per ottenere valori di corrente più elevati.
I risultati mostrano che il contributo maggiore alle perdite è dato dal raddrizzatore a ponte e dal diodo Schottky D2, entrambi utilizzati per la protezione dall'inversione di polarità. Entrambi i componenti potrebbero essere sostituiti con un circuito simile basato su transistor MOSFET e un controllore a diodi ideali per ottenere una maggiore efficienza, senza perdere questo tipo di protezione. A correnti più elevate, il contributo della resistenza DC degli induttori accoppiati utilizzati per il filtraggio dell'alimentazione in ingresso e in uscita, diventa dominante; quindi, per migliorare la capacità di corrente, sono necessari induttori simili con correnti nominali più elevate.
Conclusione
L'Industria 4.0 sta ampliando i confini dell'automazione intelligente. La tecnologia ADI Trinamic, utilizzata insieme ai transceiver ADIN1100, ADIN1110 e 10BASE-T1L, consente di controllare a distanza sensori e attuatori fino a 1700 m dal loro controllore, senza bisogno di fonti di alimentazione all'edge di rete. Con un metodo affidabile di controllo remoto, i motori stepper possono essere facilmente controllati in tempo reale a distanze superiori, senza sacrificare le prestazioni o la velocità. Le soluzioni di sistema stanno aprendo la strada a una trasformazione industriale che promette tempi di risposta senza precedenti e massime prestazioni.