Eftermontering af motoriserede solskærme
Overvågning af strømmen i en lineær aktuator

Dette kodeeksempel bruger MegaMoto Plus og en Arduino Uno til at overvåge strømmen i en lineær aktuator, men lignende produkter kan bruges som erstatninger.

/* Code to monitor the current amp draw of the actuator, and to cut power if it rises above a certain amount. Written by Progressive Automations August 19th, 2015 Hardware: - RobotPower MegaMoto control boards - Arduino Uno - 2 pushbuttons */ const int EnablePin = 8;
const int PWMPinA = 11;
const int PWMPinB = 3; // pins for Megamoto const int buttonLeft = 4;
const int buttonRight = 5;//buttons to move the motor const int CPin1 = A5; // motor feedback int leftlatch = LOW;
int rightlatch = LOW;//motor latches (used for code logic) int hitLimits = 0;//start at 0
int hitLimitsmax = 10;//values to know if travel limits were reached long lastfeedbacktime = 0; // must be long, else it overflows
int firstfeedbacktimedelay = 750; //first delay to ignore current spike
int feedbacktimedelay = 50; //delay between feedback cycles, how often you want the motor to be checked
long currentTimefeedback = 0; // must be long, else it overflows int debounceTime = 300; //amount to debounce buttons, lower values makes the buttons more sensitive
long lastButtonpress = 0; // timer for debouncing
long currentTimedebounce = 0; int CRaw = 0; // input value for current readings
int maxAmps = 0; // trip limit bool dontExtend = false;
bool firstRun = true;
bool fullyRetracted = false;//program logic void setup()
{ Serial.begin(9600); pinMode(EnablePin, OUTPUT); pinMode(PWMPinA, OUTPUT); pinMode(PWMPinB, OUTPUT);//Set motor outputs pinMode(buttonLeft, INPUT); pinMode(buttonRight, INPUT);//buttons digitalWrite(buttonLeft, HIGH); digitalWrite(buttonRight, HIGH);//enable internal pullups pinMode(CPin1, INPUT);//set feedback input currentTimedebounce = millis(); currentTimefeedback = 0;//Set initial times maxAmps = 15;// SET MAX CURRENT HERE }//end setup void loop()
{ latchButtons();//check buttons, see if we need to move moveMotor();//check latches, move motor in or out }//end main loop void latchButtons()
{ if (digitalRead(buttonLeft)==LOW)//left is forwards { currentTimedebounce = millis() - lastButtonpress;// check time since last press if (currentTimedebounce> debounceTime && dontExtend == false)//once you've tripped dontExtend, ignore all forwards presses { leftlatch = !leftlatch;// if motor is moving, stop, if stopped, start moving firstRun = true;// set firstRun flag to ignore current spike fullyRetracted = false; // once you move forwards, you are not fully retracted lastButtonpress = millis();//store time of last button press return; }//end if }//end btnLEFT if (digitalRead(buttonRight)==LOW)//right is backwards { currentTimedebounce = millis() - lastButtonpress;// check time since last press if (currentTimedebounce> debounceTime) { rightlatch = !rightlatch;// if motor is moving, stop, if stopped, start moving firstRun = true;// set firstRun flag to ignore current spike lastButtonpress = millis();//store time of last button press return; }//end if }//end btnRIGHT
}//end latchButtons void moveMotor()
{ if (leftlatch == HIGH) motorForward(255); //speed = 0-255 if (leftlatch == LOW) motorStop(); if (rightlatch == HIGH) motorBack(255); //speed = 0-255 if (rightlatch == LOW) motorStop(); }//end moveMotor void motorForward(int speeed)
{ while (dontExtend == false && leftlatch == HIGH) { digitalWrite(EnablePin, HIGH); analogWrite(PWMPinA, speeed); analogWrite(PWMPinB, 0);//move motor if (firstRun == true) delay(firstfeedbacktimedelay); // bigger delay to ignore current spike else delay(feedbacktimedelay); //small delay to get to speed getFeedback(); firstRun = false; latchButtons();//check buttons again }//end while }//end motorForward void motorBack (int speeed)
{ while (rightlatch == HIGH) { digitalWrite(EnablePin, HIGH); analogWrite(PWMPinA, 0); analogWrite(PWMPinB, speeed);//move motor if (firstRun == true) delay(firstfeedbacktimedelay);// bigger delay to ignore current spike else delay(feedbacktimedelay); //small delay to get to speed getFeedback(); firstRun = false; latchButtons();//check buttons again }//end while dontExtend = false;//allow motor to extend again, after it has been retracted }//end motorBack void motorStop()
{ analogWrite(PWMPinA, 0); analogWrite(PWMPinB, 0); digitalWrite(EnablePin, LOW); firstRun = true;//once the motor has stopped, reenable firstRun to account for startup current spikes }//end stopMotor void getFeedback()
{ CRaw = analogRead(CPin1); // Read current if (CRaw == 0 && hitLimits < hitLimitsmax) hitLimits = hitLimits + 1; else hitLimits = 0; // check to see if the motor is at the limits and the current has stopped if (hitLimits == hitLimitsmax && rightlatch == HIGH) { rightlatch = LOW; // stop motor fullyRetracted = true; }//end if else if (hitLimits == hitLimitsmax && leftlatch == HIGH) { leftlatch = LOW;//stop motor hitLimits = 0; }//end if if (CRaw> maxAmps) { dontExtend = true; leftlatch = LOW; //stop if feedback is over maximum }//end if lastfeedbacktime = millis();//store previous time for receiving feedback
}//end getFeedback
Styring af flere aktuatorer med multimoto Arduino Shield
Wasp motorstyring til lineær aktuatorstyring
Brug af relæer til at styre lineære aktuatorer
Styring af timingen af en enkelt lineær aktuators bevægelse
Kontinuerlig ud- og indtrækning af en lineær aktuator med børsteløs DC-motor
PA-12 mikro servoaktuator eksempelkoder
Hvor kan jeg finde yderligere information om jeres produkter?

Vi har datablade, brugermanualer, 3D-modeller, ledningsdiagrammer og mere i vores Ressourcer og Læringscenter sektioner.

Hvordan kan jeg afgøre, hvilken lineær aktuator med progressiv automatisering der er bedst egnet til min applikation?
Hvad er en arbejdscyklus, og hvordan beregnes den?
Kan jeg bruge jeres aktuatorer til at erstatte den, jeg allerede har?
Hvad betyder streg? Hvordan skal jeg vide, hvilken størrelse jeg skal vælge?
Hvordan ved jeg, hvilken kraftklassificering der er den rigtige til min anvendelse?
Kan jeg bruge min egen strømforsyning som strømkilde til mine aktuatorer?
Hvordan kan jeg styre aktuatorer til at bevæge sig på samme tid?
Hvorfor larmer min lineære aktuator så meget?
Kan jeg tilpasse en lineær aktuator til mine specifikationer?
Kan jeg synkronisere mine lineære aktuatorer?
Findes der lineære aktuatorsæt?
Vil temperaturen påvirke min lineære aktuator?
Kan jeg implementere en af jeres aktuatorer i en tredjepartsmekanisme?
Hvad er pin-out'en for min lineære aktuator?
Kan jeg få 3D CAD-modeller til min lineære aktuator?
Hvilke kontrolboksmuligheder er der til min aktuator?
Kan jeg bruge jeres kontrolbokse med et tredjepartsprodukt?
Sælger I Wi-Fi-kontrolbokse?
Er alle jeres kontrolbokse kompatible med alle jeres lineære aktuatorer?
Kan jeg bruge min egen kontrolboks?
Har du et eksempel på kodning, jeg kan bruge?
Jeg har ingen strømkilde – hvad kan jeg gøre?
Kan jeg bruge min egen strømforsyning?
Har du 220 VAC strømforsyninger til rådighed?
Kan jeg styre løftesøjlerne med en tredjepartscontroller?
Kan jeg bruge to af LG-11 løftesøjlerne sammen?
Hvilken kontrolboks skal jeg parre med mine løftesøjler?
Kan jeres bord-/skrivebords-/TV-lifte tilpasses?
Hvilke TV-størrelser kan dine TV-lifte holde?
Hvad er vægtkapaciteten på jeres bord-/skrivebordslifte?
Leveres min lineære aktuator med monteringsbeslag?
Where can I find a step-by-step guide for my product?
Jeg fulgte ledningsdiagrammet, men det virker ikke – hvad skal jeg gøre?
Flowchart for valg af aktuator
Kan FLTCON-kontrolboksene fungere med mine aktuatorer?
Hvad er baglæns drejning? -- Hvad betyder dynamiske og statiske belastningsværdier? -- Hvad er sideværts belastning?
Hvordan kan jeg afgive en ordre?

Ordrer kan afgives på en af følgende måder:

Online: Brug vores online bestillingsproces med muligheder for at betale med kreditkort eller PayPal.

Telefon: 1-800 – 676 – 6123

E-mail: sales@progressiveautomations.com

Tilbyder I mængderabatter?
Hvilke betalingsmetoder accepterer I?
Hvilken valuta er jeres priser i?
Hvordan ved jeg, om det produkt, jeg ønsker, er på lager?
Hvor meget vil forsendelse koste, og hvilke metoder tilbyder I?

Progressive Automations' forsendelsesgebyrer beregnes ud fra en række faktorer, herunder, men ikke begrænset til: placering, mængder og den samlede vægt af din ordre. Mindre varer sendes som pakke, mens større varer og store ordrer sendes via en fragtmand. Vi bestræber os altid på at tilbyde konkurrencedygtige forsendelsespriser til alle vores kunder.

Forsendelsesmetoder er tilgængelige via online- og telefonbestillinger. Hvis du ønsker at modtage en estimeret forsendelsespris for din ordre, kan dette gøres ved at gennemgå din endelige indkøbskurv.

Hvilke fragtfirmaer bruger I?
Vil jeg blive opkrævet told?
Hvad er jeres returpolitik?
Hvor lang tid tager leveringen?
Tilbyder I gratis fragt?
Jeg vil have den lange side af min bordplade til venstre. Kan det L-formede stående skrivebordsstel monteres til enten venstre eller højre?

Yes, the L shaped standing desk is orientation-friendly and can be installed by your preference. Here is a step-by-step article that explains how this is possible: FLT-05 Brugermanual

Hvordan indstiller jeg den maksimale/minimale højde for mit/minimumsbordstel?

BEMÆRK: Trinene nedenfor kan variere afhængigt af den fjernbetjeningsmodel, du har. Følgende instruktioner er lavet til standard RT-11 fjernbetjeningen. For at indstille den maksimale højde for din ramme skal du gå til den ønskede højde og følge nedenstående trin:

  1. Tryk på M, og se [5 -] angivet på displayet
  2. Tryk på OP-knappen, og bemærk at [5 -] blinker
  3. Hold M-knappen nede, indtil du ser [999] på displayet
  4. Den maksimale højde er nu indstillet

For at indstille minimumshøjden for din ramme skal du gå til den ønskede højde og følge nedenstående trin:

  1. Tryk på M, og se [5 -] angivet på displayet
  2. Tryk på NED-knappen, og bemærk at [5 -] blinker.
  3. Hold M-knappen nede, indtil du ser [000] på displayet
  4. Minimumshøjden er nu indstillet

For at nulstille grænserne skal du følge nedenstående trin:

  1. Tryk på M, se [5 -] angivet på displayet, og slip derefter
  2. Hold M'et nede, du ser [555]
  3. Grænserne er blevet nulstillet
Jeg er nødt til at holde fjernbetjeningens knapper nede for at nå min forudindstillede højde. Er der en måde at gøre dette på med kun ét tryk?

BEMÆRK: Trinene nedenfor kan variere afhængigt af den fjernbetjeningsmodel, du har. Følgende instruktioner er lavet til standard RT-11-fjernbetjeningen.

Hvis du skal holde fjernbetjeningens knapper nede for at nå din forudindstillede højde, betyder det, at din kontrolboks er i momentan styring. Følg nedenstående trin for at indstille din fjernbetjening til ikke-momentan styring.

  1. Sørg for, at der ikke er noget under dit skrivebord, da vi skal starte nulstillingsproceduren.
  2. Tryk på NED-knappen og hold den nede, indtil displayet viser [ASr]
  3. Når [ASr] vises, skal du trykke på [1] og holde den nede, hvorefter du muligvis ser to værdier:

    a. 10.1 = Ikke-momentær tilstand
    b. 10.2 = Momentantilstand

  4. Fuldfør nulstillingsproceduren ved at holde NED-knappen nede, indtil dit hæve- og sænkebord sænkes og hæves en smule.
Hvordan ændrer jeg følsomheden for kollisionsdetektion?

Vores hæve- og sænkeborde har 3 indstillinger til kollisionsdetektion, og disse kan indstilles afhængigt af din præference. Følg nedenstående trin for at fortsætte:

  1. Sørg for, at der ikke er noget under dit skrivebord, da vi skal starte nulstillingsproceduren.
  2. Tryk på NED-knappen og hold den nede, indtil displayet viser [ASr]
  3. Når [ASr] vises, skal du trykke på OP-knappen [^] og holde den nede, hvorefter du muligvis kan se tre værdier:

    a. 10,5 = 11 pund
    b. 10,6 = 22 pund
    ca. 10,7 = 33 pund

  4. Fuldfør nulstillingsproceduren ved at holde NED-knappen nede, indtil dit hæve- og sænkebord sænkes og hæves en smule.
Min fjernbetjening viser en fejlkode på displayet? Hvad skal jeg gøre?

Vi har nogle fejlfindingstrin, du kan følge, hvis du ser en af følgende fejlkoder på rammerne med FLTCON-seriens kontrolbokse:

Tjek fejlkoden her.

Hvis problemet fortsætter efter at have fulgt disse trin, er du velkommen til at kontakte vores tekniske produktingeniører på 1-800-676-6123, eller send os en e-mail på sales@progressiveautomations.com.