Il PA-18 Track Linear Actuator è il nostro attuatore a lunghezza fissa più grande ed è comunemente utilizzato in mobili su misura, domotica e robotica. Puoi controllare facilmente un attuatore con una scheda Arduino, e questo articolo mostrerà come costruire e programmare un attuatore lineare controllato da Arduino che può essere facilmente adattato alla tua applicazione!
Hardware necessario
Per un attuatore lineare controllato da Arduino sono necessari i seguenti componenti hardware, tutti acquistabili da Progressive Automations:
- 1x PA-18 Track Linear Actuator
- 1x Arduino Uno
- 1x MegaMoto Plus ponte H
- 1x alimentatore 12VDC
- 2x pulsanti momentanei
- Cavi jumper
Cablaggio del sistema
L'attuatore utilizzato in questa configurazione richiede una tensione di ingresso 12VDC e fino a 8A di corrente a pieno carico. Questi valori sono molto più alti di quanto un microcontrollore Arduino sia in grado di fornire e potrebbero far uscire il 'fumo magico' dall'Arduino. Per evitare di danneggiare l'Arduino, si utilizza il ponte H MegaMoto Plus. Il ponte H può gestire i requisiti di potenza e può essere facilmente usato per controllare un attuatore con un Arduino.
Per questo sistema ci sono collegamenti dall'Arduino al ponte H MegaMoto Plus e ai due pulsanti. Ogni pulsante richiede un singolo ingresso, scelto tra i pin GPIO disponibili dell'Arduino. Il ponte H ha quattro collegamenti con l'Arduino, tre uscite e un ingresso. I pin utilizzati dal ponte H sono preimpostati e non possono essere modificati.
Diagramma a blocchi
Il diagramma a blocchi qui sotto spiega brevemente i requisiti di potenza e i collegamenti. L'Arduino funziona con un'alimentazione a 5V e il ponte H funziona a 12V. Se utilizzi due alimentatori separati, è importante che le loro masse siano in comune per evitare uno scenario di massa flottante.

Comandi Arduino
Sarà necessario installare l'IDE di Arduino su un computer desktop o portatile. Tieni presente che il cablaggio del sistema influenzerà il tuo codice Arduino. Pertanto, è importante ricontrollare i collegamenti e confrontarli con il codice inserito.
Il comando Arduino pinMode è utilizzato per definire i pin come ingressi o uscite. Per cambiare quale segnale l'Arduino invia a un pin specifico si usano i comandi digitalWrite e analogWrite. Inoltre, i comandi digitalRead e analogRead si utilizzano quando l'Arduino deve controllare il segnale su un pin specifico.
Nel programma seguente, il comando digitalWrite viene utilizzato per abilitare o disabilitare il ponte H e per configurare i pin usati per i pulsanti. Il comando analogWrite è usato per impostare, nell'intervallo da 0 a 255, il valore del segnale PWM verso il ponte H. Il comando digitalRead è usato per verificare se i pulsanti sono stati premuti o rilasciati. Il comando analogRead è usato per misurare la corrente assorbita dal motore dell'attuatore, che consentirà di verificare quando l'attuatore è alla fine della sua corsa.
Codice Arduino
La sezione seguente passa in rassegna le definizioni del programma, il setup, il main loop e le funzioni dei pulsanti per un attuatore lineare controllato da Arduino. È importante analizzare il codice riga per riga per capire come funziona. Questa comprensione ti permetterà di apportare regolazioni in base alla tua applicazione.
Definizioni del programma
Questa sezione di codice definisce la configurazione dei collegamenti dei pin. Ricontrolla che i collegamenti alla scheda Arduino corrispondano ai numeri inseriti. Questi valori possono essere modificati se colleghi componenti aggiuntivi all'Arduino, il che potrebbe richiedere di spostare i collegamenti dei pin.

Impostazione del programma
Questa sezione di codice configura i pin collegati come ingresso o uscita. I due pulsanti possono essere impostati su HIGH o LOW a seconda di come li hai collegati (pull-up o pull-down). Sebbene l'Arduino disponga di resistenze di pull-up interne, potresti voler aggiungere una resistenza esterna per l'antirimbalzo degli interruttori e per evitare attivazioni spurie.

Ciclo principale
Il ciclo principale controlla continuamente se i pulsanti sono stati premuti ed esegue una specifica sezione di codice in base al risultato della funzione dei pulsanti. È inclusa una sezione a macchina a stati per determinare cosa sta facendo l'attuatore lineare controllato da Arduino e come dovrebbe reagire in base agli ingressi (cioè i pulsanti).


Funzioni dei pulsanti
Queste funzioni leggono digitalmente lo stato dei pulsanti per controllare un attuatore tramite Arduino. Ogni funzione relativa ai pulsanti include un ciclo di antirimbalzo all'interno dell'istruzione if principale per evitare attivazioni errate e l'invio del segnale sbagliato all'Arduino. L'output di queste funzioni è un valore booleano. Ad esempio, se il pulsante di avvio viene premuto, il valore di startButton diventerà true. Il valore booleano viene poi utilizzato nel ciclo principale per prendere ulteriori decisioni.

Considerazioni finali
La funzionalità di questo sistema va oltre quanto mostrato in questo articolo. Il microcontrollore Arduino e il ponte H MegaMoto Plus possono essere utilizzati per implementare routine di controllo ben più complesse. Questa configurazione è in grado di offrire un controllo a velocità variabile utilizzando il comando analogWrite per impostare il segnale PWM. La corrente del motore dell'attuatore potrebbe essere monitorata per il rilevamento del carico e per attivare comandi aggiuntivi.
Inoltre, è possibile collegare sensori aggiuntivi per ottenere un attuatore lineare controllato da Arduino più avanzato. Ad esempio, un sensore a ultrasuoni può essere collegato per avviare/arrestare il motore quando sei a una certa distanza oppure può essere usato per attivare molte altre funzionalità interessanti. Le possibilità sono infinite. Tuttavia, se i pin disponibili sull'Arduino iniziano a scarseggiare, puoi optare per un modello di Arduino differente. In alternativa, più Arduino possono essere collegati in cascata per comunicare tra loro e con vari componenti. Tuttavia, questa strada richiederà una buona dose di esperienza di programmazione.
Per ulteriori informazioni, inviaci un'email a sales@progressiveautomations.com, oppure chiamaci al 1-800-676-6123.