Eftermontering av motoriserade solskydd
Gasfjädrar
Övervakning av strömmen hos ett linjärt ställdon

Denna exempelkod använder MegaMoto Plus och en Arduino Uno för att övervaka strömmen hos ett linjärt ställdon, men liknande produkter kan användas som ersättningar.

/* 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
Styra flera aktuatorer med multimoto Arduino Shield
Wasp motorstyrenhet för linjär ställdonstyrning
Använda reläer för att styra linjära ställdon
Styrning av tidpunkten för rörelsen av en enda linjär ställdon
Steglös ut- och inkörning av ett linjärt ställdon med borstlös likströmsmotor
PA-12 mikroservoaktuator exempelkoder
Var kan jag hitta ytterligare information om era produkter?

Vi har datablad, användarmanualer, 3D-modeller, kopplingsscheman och mer i vår Resurser och Lärcentrum sektioner.

Hur kan jag avgöra vilket linjärt ställdon med progressiv automation som passar bäst för min applikation?
Vad är arbetscykel och hur beräknas den?
Kan jag använda era ställdon för att ersätta det jag redan har?
Vad betyder slaglängd? Hur ska jag veta vilken storlek jag ska välja?
Hur vet jag vilken kraftklassning som är rätt för min tillämpning?
Kan jag använda min egen strömförsörjning som strömkälla för mina ställdon?
Hur kan jag styra ställdon så att de rör sig samtidigt?
Varför låter mitt linjära ställdon så mycket?
Kan jag anpassa ett linjärt ställdon efter mina specifikationer?
Kan jag synkronisera mina linjära ställdon?
Finns linjära ställdonsatser tillgängliga?
Kommer temperaturen att påverka mitt linjära ställdon?
Kan jag implementera ett av era ställdon i en tredjepartsmekanism?
Vad är pin out-numret för mitt linjära ställdon?
Kan jag få 3D CAD-modeller för mitt linjära ställdon?
Vilka alternativ finns det för kontrollboxen för mitt ställdon?
Kan jag använda era kontrollboxar med en tredjepartsprodukt?
Säljer ni Wi-Fi-kontrollboxar?
Är alla era styrenheter kompatibla med alla era linjära ställdon?
Kan jag använda min egen kontrollbox?
Har du exempelkodning jag kan använda?
Jag har ingen strömkälla – vad kan jag göra?
Kan jag använda min egen strömförsörjning?
Har du 220 VAC strömförsörjning tillgänglig?
Kan jag styra lyftpelarna med en tredjepartsstyrenhet?
Kan jag använda två av LG-11 lyftpelare tillsammans?
Vilken kontrollbox ska jag para ihop med mina lyftpelare?
Är era bords-/skrivbords-/TV-lyftar anpassningsbara?
Vilka TV-storlekar klarar era TV-lyftar?
Vilken viktkapacitet har era bords-/skrivbordslyftar?
Levereras mitt linjära ställdon med monteringsfästen?
Where can I find a step-by-step guide for my product?
Jag följde kopplingsschemat men det fungerar inte – vad ska jag göra?
Flödesschema för val av ställdon
Kan FLTCON-kontrollboxarna fungera med mina ställdon?
Vad är bakåtdrivning? -- Vad betyder dynamiska och statiska bärtal? -- Vad är sidlast?
Hur kan jag lägga en beställning?

Beställningar kan göras på ett av följande sätt:

Online: Använd vår onlinebeställningsprocess med alternativ för att betala med kreditkort eller PayPal.

Telefon: 1-800 – 676 – 6123

E-post: sales@progressiveautomations.com

Erbjuder ni mängdrabatter?
Vilka betalningsmetoder accepterar ni?
Vilken valuta är era priser i?
Hur vet jag om produkten jag vill ha finns i lager?
Hur mycket kostar frakten och vilka metoder erbjuder ni?

Progressive Automations fraktkostnader beräknas baserat på en mängd olika faktorer, inklusive men inte begränsat till: plats, kvantiteter och den totala vikten på din beställning. Mindre varor skickas via paket medan större varor och bulkbeställningar skickas via en fraktfirma. Vi strävar alltid efter att erbjuda konkurrenskraftiga fraktpriser för alla våra kunder.

Leveransmetoder är tillgängliga via online- och telefonbeställningar. Om du vill få en uppskattad fraktkostnad för din beställning kan du göra detta genom att granska din slutgiltiga varukorg.

Vilka fraktföretag använder ni?
Kommer jag att debiteras någon tullskatt?
Vad är er returpolicy?
Hur lång tid tar leveransen?
Erbjuder ni fri frakt?
Jag vill att den längre sidan av mitt bord ska vara till vänster. Kan det L-formade ståbordsstativet installeras till vänster eller höger?

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 Användarmanual

Hur ställer jag in maximal/minimal höjd för mitt/mina höj- och sänkbara skrivbordsstativ?

OBS! Stegen nedan kan variera beroende på vilken fjärrkontrollsmodell du har. Följande instruktioner gjordes för standardfjärrkontrollen RT-11. För att ställa in den maximala höjden för din ram, gå till önskad höjd och följ stegen nedan:

  1. Tryck på M och se [5 -] indikerat på displayen
  2. Tryck på UPP-knappen och lägg märke till att [5 -] blinkar
  3. Håll M-knappen intryckt tills du ser [999] på displayen.
  4. Maxhöjden är nu inställd

För att ställa in minimihöjden för din ram, gå till önskad höjd och följ stegen nedan:

  1. Tryck på M och se [5 -] indikerat på displayen
  2. Tryck på NER-knappen och lägg märke till att [5 -] blinkar
  3. Håll M-knappen intryckt tills du ser [000] på displayen.
  4. Minimihöjden har nu ställts in

För att återställa gränserna, följ stegen nedan:

  1. Tryck på M och se [5 -] indikerat på displayen och släpp sedan
  2. Håll M:et du ser [555]
  3. Gränserna har återställts
Jag måste hålla nere fjärrkontrollens knappar för att komma till min förinställda höjd. Finns det något sätt att göra detta med bara ett tryck?

OBS! Stegen nedan kan variera beroende på vilken fjärrkontrollsmodell du har. Följande instruktioner gjordes för standardfjärrkontrollen RT-11.

Om du måste hålla nere fjärrkontrollens knappar för att komma till din förinställda höjd betyder det att din kontrollbox är i momentanläge. För att ställa in din fjärrkontroll på icke-momentanläge, följ stegen nedan.

  1. Se till att det inte finns något under skrivbordet, eftersom vi måste starta återställningsproceduren.
  2. Tryck och håll ner NER-knappen tills displayen visar [ASr]
  3. När [ASr] visas, tryck och håll ner [1] så kan du se två värden:

    a. 10.1 = Icke-momentärt läge
    b. 10.2 = Momentärt läge

  4. Slutför återställningsproceduren genom att hålla nere NER-knappen tills ditt stående skrivbord sänks och höjs något.
Hur ändrar jag kollisionsdetekteringens känslighet?

Våra ståbord har 3 inställningar för kollisionsdetektering, och detta kan ställas in beroende på dina önskemål. För att fortsätta, följ stegen nedan:

  1. Se till att det inte finns något under skrivbordet eftersom vi måste starta återställningsproceduren.
  2. Tryck och håll ner NER-knappen tills displayen visar [ASr]
  3. När [ASr] visas, tryck och håll ner UPP-knappen [ ^ ] så kan du se tre värden:

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

  4. Slutför återställningsproceduren genom att hålla nere NER-knappen tills ditt stående skrivbord sänks och höjs något.
Min fjärrkontroll visar en felkod på displayen? Vad ska jag göra?

Vi har några felsökningssteg som du kan vidta om du ser någon av följande felkoder på ramarna med FLTCON-seriens styrenheter:

Kontrollera felkoden här.

Om problemet du upplever kvarstår efter att du har följt dessa steg, är du välkommen att kontakta våra tekniska produktingenjörer på 1-800-676-6123, eller skicka ett e-postmeddelande till oss på sales@progressiveautomations.com.