How To Control a Track Linear Actuator with Arduino

Sådan styrer du en lineær aktuator med spor med Arduino

Adam Morissette
Adam Morissette
PA Engineer

De PA-18 Track Linear Actuator er vores største fastlængde aktuator og bruges almindeligvis i specialfremstillede skabe, hjemmeautomation og robotteknologi. Du kan nemt styre en aktuator med en Arduino-kort, og denne artikel vil vise, hvordan man bygger og programmerer en Arduino-styret lineær aktuator som nemt kan tilpasses din anvendelse!

 

Nødvendig hardware

Følgende hardwaredele er nødvendige til en Arduino-styret lineær aktuator, som alle kan købes fra Progressive Automations:

 

Systemledninger

Aktuatoren, der bruges i denne opsætning, kræver en indgangsspænding på 12 VDC og op til 8 A strøm ved fuld belastning. Disse værdier er meget højere end hvad en Arduino-mikrocontroller er i stand til at levere, og vil forårsage "magisk" røg, der kommer ud af Arduinoen. For at undgå at beskadige Arduinoen anvendes MegaMoto Plus H-broen. H-broen kan håndtere strømkravene og kan nemt bruges til at styre en aktuator med en Arduino.

Til dette system er der forbindelser fra Arduinoen til MegaMoto Plus H-broen og til de to trykknapper. Hver trykknap kræver en enkelt indgang, som vælges blandt Arduinoens tilgængelige GPIO-ben. H-broen har fire forbindelser til Arduinoen, tre udgange og en indgang. De ben, der bruges af H-broen, er forudindstillede og kan ikke ændres.

 

Blokdiagram

Blokdiagrammet nedenfor forklarer kort strømkravene og tilslutningerne. Arduinoen kører på en 5V forsyning, og H-broen kører på 12V. Hvis du bruger to separate strømforsyninger, er det vigtigt, at deres jordforbindelser deles for at undgå et flydende jord-scenarie.

 

Block diagram

 

Arduino-kommandoer

Du skal installere Arduino IDE på en stationær eller bærbar computer. Husk, at din systemledningsføring vil påvirke din Arduino-kode. Derfor er det vigtigt at dobbelttjekke dine forbindelser og sammenligne dem med den kode, du har indtastet.

Kommandoen pinMode Arduino bruges til at definere pins som input eller output. For at ændre hvilket signal Arduinoen sender til en specifik pin, bruges kommandoerne digitalWrite og analogWrite. Derudover bruges kommandoerne digitalRead og analogRead, når Arduinoen skal kontrollere signalet på en specifik pin.

I programmet nedenfor bruges digitalWrite-kommandoen til at aktivere eller deaktivere H-broen og til at konfigurere de ben, der bruges til trykknapperne. analogWrite-kommandoen bruges til at indstille værdien for PWM-signalet i området fra 0 til 255 til H-broen. digitalRead-kommandoen bruges til at kontrollere, om trykknapperne er blevet trykket ned eller sluppet. analogRead-kommandoen bruges til at måle strømforbruget fra aktuatormotoren, hvilket vil verificere, hvornår aktuatoren er ved slutningen af sin slaglængde.

 

Arduino-kode

Det følgende afsnit gennemgår programdefinitioner, opsætning, hovedløkke og trykknapfunktioner for en Arduino-styret lineær aktuator. Det er vigtigt at gennemgå koden én linje ad gangen for at forstå, hvordan den fungerer. Denne forståelse vil give dig mulighed for at foretage justeringer baseret på din applikation.

Programdefinitioner

Denne del af koden er opsætningen af pinforbindelsen. Dobbelttjek, at dine forbindelser til Arduino-kortet stemmer overens med de indtastede tal. Disse værdier kan ændres baseret på, om du tilslutter yderligere komponenter til Arduinoen, som derefter kan kræve forskydning af pinforbindelserne.

Arduino code

Programopsætning

Denne del af koden konfigurerer de tilsluttede ben som input eller output. De to knapper kan indstilles til HIGH eller LOW afhængigt af hvordan du har tilsluttet dem (pull-up eller pull-down). Selvom Arduinoen har interne pull-up-modstande, kan du tilføje en ekstern modstand for at afbøje kontakterne og forhindre falsk aktivering.

Arduino code #2

Hovedløkke

Hovedløkken kontrollerer konstant, om knapperne er blevet trykket ned, og kører en bestemt del af koden afhængigt af resultatet fra trykknapfunktionen. En tilstandsmaskinesektion er inkluderet for at bestemme, hvad den Arduino-styrede lineære aktuator gør, og hvordan den skal reagere baseret på inputtene (dvs. trykknapperne).

Arduino code #3
Arduino code #4

 

Trykknapfunktioner

Disse funktioner aflæser digitalt status for trykknapperne for at styre en aktuator ved hjælp af en Arduino. Hver trykknapfunktion har en debouncing-løkke i hoved-if-sætningen for at forhindre fejltænding og afsendelse af det forkerte signal til Arduinoen. En boolsk værdi er outputtet fra disse funktioner. Hvis der f.eks. trykkes på startknappen, ændres værdien af startButton til sand. Den boolske værdi bruges derefter i hovedløkken til at træffe yderligere beslutninger.

Arduino code #5

 

Sidste ord

Funktionaliteten af dette system går ud over, hvad der er vist i denne artikel. Arduino mikrocontroller og MegaMoto Plus H-broen kan bruges til at implementere langt mere komplicerede kontrolrutiner. Denne opsætning er i stand til variabel hastighedsstyring ved hjælp af analogWrite-kommandoen til at indstille PWM-signalet. Aktuatorens motorstrøm kan overvåges og bruges til belastningsregistrering for at udløse yderligere kommandoer.

Derudover kan der tilsluttes yderligere sensorer til en avanceret Arduino-styret lineær aktuator. For eksempel kan en ultralydssensor tilsluttes til at starte/stoppe motoren, når du er i en vis afstand, eller den kan bruges til at udløse en række andre spændende funktioner. Mulighederne er uendelige. Men hvis der er få ben på Arduinoen, kan du vælge en anden Arduino-model. Alternativt kan flere Arduinoer daisy-chaines sammen for at kommunikere med hinanden og forskellige komponenter. Denne vej vil dog kræve en anstændig mængde programmeringserfaring.

For yderligere information, send os venligst en e-mail på sales@progressiveautomations.com, eller ring til os på 1-800-676-6123.