Sådan styrer du timingen af en lineær aktuators bevægelse

Hvordan styrer man timingen af en lineær aktuators bevægelse?

Guest Writer
Guest Writer
PA Engineer

I vores seneste "Sådan gør du"-indlæg vil vi gennemgå, hvordan man styrer timingen af en lineær aktuators bevægelse ved hjælp af en mikrocontroller. Mikrocontrollere giver stor frihed i bevægelsesstyring, og dette er blot ét eksempel på en næsten uendelig mængde af bevægelsesstyringsmuligheder, der er tilgængelige. Afhængigt af din applikation kan eksempelprojektet i denne artikel justeres, så det passer til dine behov. Uanset om du tilføjer en ekstra tidsstyret aktuator eller forstærker strømforsyningen for at håndtere en stærkere lineær aktuator, er det helt op til dig.

Se alle vores mikrocontrollere for den ultimative aktuatorstyring!

Bevægelseskontrol ved hjælp af en mikrocontroller

En Arduino-mikrocontroller vil blive brugt til at styre bevægelsestimingen af en lineær aktuator, men enhver mikrocontroller vil fungere. Da vi bruger en skjold, skal mikrocontrolleren dog være kompatibel. Vi vil gennemgå de forskellige parametre, som du kan justere for at ændre hastigheden af en lineær aktuator.

 

Hvad du skal bruge

I dette eksempel bruger vi følgende komponenter til at styre en lineær aktuator:

Se hele vores udvalg af elektriske lineære aktuatorer, der passer til enhver anvendelse!

Forbindende komponenter

Nu hvor vi har vores forsyninger, skal vi forbinde alt. Heldigvis er tilslutninger enkle ved at bruge en afskærmning i modsætning til et separat printkort, der kræver yderligere ledningsføring og lodning.

Lad os først forbinde vores aktuator to our LC-80 MegaMoto Plus shield by attaching the two wire leads from the actuator to the A/B screw terminals on the LC-80. Then, we need to connect the LC-80 to our power supply, in this case, the PS-20-12. We do this by attaching positive and negative wires from the power supply to the BAT +/- terminals of the LC-80.

Til sidst skal vi forbinde LC-80 til LC-066, hvilket er så simpelt som at sætte dem oven på hinanden, som vist på billedet nedenfor.

 

Photo of microcontrollers by Progressive Automations

Vælg det rigtige styresystem til din aktuator, og se vores udvalg!


Justering af koden

For at vi kan få fuld kontrol over vores aktuators bevægelse, skal vi lave noget lineær aktuatorprogrammering med vores Arduino-enhed. Vi har udarbejdet en eksempelkode, hvor vores aktuator trækkes ud og derefter trækkes tilbage i 10 sekunder hver vej i en cyklus på 300 sekunder.

// Brug jumperne på printkortet til at vælge hvilke ben der skal bruges int EnablePin1 = 13; int PWMPinA1 = 11; int PWMPinB1 = 3; int extendtime = 10 * 1000; // 10 sekunder, ganget med 1000 for at konvertere til millisekunder int retracttime = 10 * 1000; // 10 sekunder, ganget med 1000 for at konvertere til millisekunder int timetorun = 300 * 1000; // 300 sekunder, ganget med 1000 for at konvertere til millisekunder int duty; int elapsedTime; boolean keepMoving; void setup() { Serial.begin(9600); pinMode(EnablePin1, OUTPUT);// Aktiver printkortet pinMode(PWMPinA1, OUTPUT); pinMode(PWMPinB1, OUTPUT);// Indstil motorudgange elapsedTime = 0; // Sæt tiden til 0 keepMoving = true; //Systemet vil bevæge sig }//slut opsætning void loop() { if (keepMoving) { digitalWrite(EnablePin1, HIGH); // aktiver motoren pushActuator(); delay(extendtime); stopActuator(); delay(10);//lille forsinkelse før tilbagetrækning pullActuator(); delay(retracttime); stopActuator(); elapsedTime = millis();//hvor lang tid er det siden? if (elapsedTime> timetorun) {//hvis det er 300 sekunder siden, stop Serial.print("Forløbet tid er over maks. køretid. Maks. køretid: "); Serial.println(timetorun); keepMoving = false; } }//slut if }//slut hovedløkken void stopActuator() { analogWrite(PWMPinA1, 0); analogWrite(PWMPinB1, 0); // hastighed 0-255 } void pushActuator() { analogWrite(PWMPinA1, 255); analogWrite(PWMPinB1, 0); // hastighed 0-255 } void pullActuator() { analogWrite(PWMPinA1, 0); analogWrite(PWMPinB1, 255);//hastighed 0-255 }

 

Det er vigtigt at gennemgå koden linje for linje for at forsøge at forstå, hvad der foregår. Ved at gøre det kan du tilpasse koden til at udføre en lang række andre opgaver. Men for nu er den vigtigste del den første sektion og opsætningsløkken, som fokuserer på at tildele pins og indstille cyklushastigheden.

Du skal konfigurere benene på vores LC-80, så de matcher det, der er i den første del af koden, ved at indstille jumperne på LC-80 eller justere koden. I dette tilfælde skal du indstille "Enable"-benet til D13, "PWMA"-benet til D11 og "PWMB"-benet til D3. "Enable"-benet er det, der styrer og driver motoren, og uden det vil aktuatoren stoppe med at bevæge sig og vil ikke kunne styres. "PWMA"- og "PWMB"-benene styrer aktuatorens ud- og indtrækning. Vi behøver ikke "Sensor"-benene i dette eksempel, så du skal ikke bekymre dig om at vælge noget der.

Timerstyringen af en lineær aktuator er nu færdig. Du kan uploade koden til Arduinoen ved hjælp af deres IDE (download fra Arduinos hjemmeside). Når du har din lineære aktuator i gang med at forlænge og trække sig tilbage, hvorfor så ikke eksperimentere lidt med koden? Prøv at justere forlængelses-/tilbagetrækningstiden i koden, upload den igen til Arduinoen, og se, hvordan den lineære aktuator reagerer. Ved at justere disse tal i koden kan du styre hastigheden og den samlede bevægelsescyklustid baseret på din ønskede applikation.


Konklusion

Nedenfor har vi inkluderet en video af en timingaktuator i aktion. I videoeksemplet ville vi vise en anden måde, hvorpå man kan ændre timingen, så vi fik den til at trække sig ud og ind i 5 sekunder ad gangen over en 20-sekunders cyklus.

As stated earlier, this is just one example of a way you can alter the motion of an actuator with the help of our microcontrollers. If you have your own custom control method in mind, you can have a control system built specifically to your custom requirements with the help of our talented engineering staff. They will guide you through the process and make sure you have full control over your units. If you'd like to learn more about the custom order process take a look at our brugerdefineret bestillingsside.