Nachrüstbare motorisierte Rollos
Stromüberwachung eines Linearantriebs

Dieser Beispielcode verwendet MegaMoto Plus und einen Arduino Uno zur Überwachung des Stroms eines Linearantriebs; es können jedoch auch ähnliche Produkte als Ersatz verwendet werden.

/* 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
Mehrere Linearantriebe mit dem MultiMoto Arduino Shield steuern
Wasp-Motorsteuerung zur Steuerung eines Linearantriebs
Verwendung von Relais zur Steuerung von Linearantrieben
Zeitsteuerung der Bewegung eines einzelnen Linearantriebs
Einen Linearantrieb mit bürstenlosem Gleichstrommotor kontinuierlich aus- und einfahren
Beispielcodes für den PA-12 Micro-Servo-Linearantrieb
Wo finde ich weitere Informationen zu Ihren Produkten?

Wir haben Datenblätter, Benutzerhandbücher, 3D-Modelle, Schaltpläne und mehr in unseren Ressourcen und Lernzentrum Bereichen.

Wie kann ich ermitteln, welcher Linearantrieb von Progressive Automations am besten für meine Anwendung geeignet ist?
Was ist der Arbeitszyklus und wie wird er berechnet?
Kann ich Ihre Linearantriebe als Ersatz für meinen vorhandenen Antrieb verwenden?
Was bedeutet Hublänge? Woher soll ich wissen, welche Größe ich wählen soll?
Wie weiß ich, welche Kraftangabe für meine Anwendung die richtige ist?
Kann ich mein eigenes Netzteil als Stromquelle für meine Linearantriebe verwenden?
Wie kann ich Aktuatoren so steuern, dass sie gleichzeitig verfahren?
Warum ist mein Linearantrieb so laut?
Kann ich einen Linearantrieb nach meinen Spezifikationen anpassen?
Kann ich meine Linearantriebe synchronisieren?
Sind Linearantrieb-Kits erhältlich?
Beeinflusst die Temperatur meinen Linearantrieb?
Kann ich einen Ihrer Linearantriebe in einen Mechanismus eines Drittanbieters integrieren?
Wie ist die Pinbelegung meines Linearantriebs?
Kann ich 3D-CAD-Modelle für meinen Linearantrieb erhalten?
Welche Steuerbox-Optionen gibt es für meinen Linearantrieb?
Kann ich Ihre Steuerboxen mit einem Produkt eines Drittanbieters verwenden?
Verkaufen Sie Wi-Fi-Steuerboxen?
Sind alle Ihre Steuerboxen mit allen Ihren Linearantrieben kompatibel?
Kann ich meine eigene Steuerbox verwenden?
Haben Sie Beispielcode, den ich verwenden kann?
Ich habe keine Stromquelle – was kann ich tun?
Kann ich mein eigenes Netzteil verwenden?
Haben Sie Netzteile für 220 VAC verfügbar?
Kann ich die Hubsäulen mit einem Controller eines Drittanbieters steuern?
Kann ich zwei der LG-11-Hubsäulen zusammen verwenden?
Welche Steuerbox sollte ich mit meinen Hubsäulen koppeln?
Sind Ihre Tisch-/Schreibtisch-/TV-Lifte anpassbar?
Welche TV-Größen können Ihre TV-Lifte aufnehmen?
Wie hoch ist die Tragfähigkeit Ihrer Tisch-/Schreibtischlifte?
Wird mein Linearantrieb mit Montagehalterungen geliefert?
Where can I find a step-by-step guide for my product?
Ich bin dem Schaltplan gefolgt, aber es funktioniert nicht – was soll ich tun?
Flussdiagramm zur Auswahl eines Linearantriebs
Sind die FLTCON-Steuerboxen mit meinen Linearantrieben kompatibel?
Was ist Backdriving? -- Was bedeuten dynamische und statische Lastangaben? -- Was ist eine Querbelastung?
Wie kann ich eine Bestellung aufgeben?

Bestellungen können auf eine der folgenden Arten aufgegeben werden:

Online: Nutzen Sie unseren Online-Bestellprozess mit der Möglichkeit, per Kreditkarte oder PayPal zu bezahlen.

Telefon: 1-800 – 676 – 6123

E-Mail: sales@progressiveautomations.com

Bieten Sie Mengenrabatte an?
Welche Zahlungsmethoden akzeptieren Sie?
In welcher Währung sind Ihre Preise angegeben?
Woher weiß ich, ob das gewünschte Produkt auf Lager ist?
Wie hoch sind die Versandkosten und welche Versandmethoden bieten Sie an?

Die Versandgebühren von Progressive Automations werden anhand verschiedener Faktoren berechnet, darunter unter anderem: Standort, Bestellmengen und das Gesamtgewicht Ihrer Bestellung. Kleinere Artikel werden per Paketdienst verschickt, während größere Artikel und Großbestellungen per Speditionsdienst versendet werden. Wir bemühen uns stets, allen unseren Kunden wettbewerbsfähige Versandpreise zu bieten.

Versandmethoden sind bei Online- und telefonischen Bestellungen verfügbar. Wenn Sie eine geschätzte Versandkostenangabe für Ihre Bestellung wünschen, können Sie diese einsehen, indem Sie Ihren endgültigen Warenkorb überprüfen.

Welche Speditionsunternehmen nutzen Sie?
Muss ich Zollgebühren zahlen?
Wie lautet Ihre Rückgaberichtlinie?
Wie lange dauert die Lieferung?
Bieten Sie kostenlosen Versand an?
Ich möchte die längere Seite meiner Tischplatte links haben. Kann der L-förmige Stehschreibtischrahmen sowohl links als auch rechts montiert werden?

Ja, der L-förmige Stehschreibtisch ist flexibel in der Ausrichtung und kann nach Wunsch installiert werden. Hier ist eine Schritt-für-Schritt-Anleitung, die erklärt, wie das möglich ist: FLT-05 Bedienungsanleitung

Wie stelle ich die maximale/minimale Höhe für meinen Stehschreibtischrahmen ein?

HINWEIS: Die folgenden Schritte können je nach Modell Ihrer Fernbedienung variieren. Die Anweisungen wurden für die Standardfernbedienung RT-11 erstellt. Um die maximale Höhe für Ihren Rahmen festzulegen, fahren Sie auf die gewünschte Höhe und folgen Sie dann diesen Schritten:

  1. Drücken Sie M; auf dem Display erscheint [5 -]
  2. Drücken Sie die UP-Taste; [5 -] blinkt
  3. Halten Sie die M-Taste gedrückt, bis [999] im Display erscheint
  4. Die maximale Höhe ist nun eingestellt

Um die minimale Höhe für Ihren Rahmen festzulegen, fahren Sie auf die gewünschte Höhe und folgen Sie dann diesen Schritten:

  1. Drücken Sie M; auf dem Display erscheint [5 -]
  2. Drücken Sie die DOWN-Taste; [5 -] blinkt
  3. Halten Sie die M-Taste gedrückt, bis [000] im Display erscheint
  4. Die minimale Höhe ist nun eingestellt

Um die Limits zurückzusetzen, gehen Sie wie folgt vor:

  1. Drücken Sie M, bis [5 -] im Display angezeigt wird, und lassen Sie los
  2. Halten Sie M gedrückt, bis Sie [555] sehen
  3. Die Limits wurden zurückgesetzt
Ich muss die Tasten der Fernbedienung gedrückt halten, um meine voreingestellte Höhe zu erreichen. Geht das auch mit nur einem Tastendruck?

HINWEIS: Die Schritte unten können je nach Modell Ihrer Fernbedienung variieren. Die folgenden Anweisungen sind für die Standardfernbedienung RT-11.

Wenn Sie die Tasten der Fernbedienung gedrückt halten müssen, um Ihre voreingestellte Höhe zu erreichen, bedeutet das, dass Ihre Steuerbox im Momentary-Modus arbeitet. Um Ihre Fernbedienung auf den Non-momentary-Modus zu stellen, gehen Sie wie folgt vor

  1. Stellen Sie sicher, dass sich nichts unter Ihrem Schreibtisch befindet, da wir das Reset-Verfahren starten müssen
  2. Halten Sie die DOWN-Taste gedrückt, bis im Display [ASr] angezeigt wird
  3. Sobald [ASr] angezeigt wird, drücken und halten Sie [1]; es können zwei Werte erscheinen:

    a. 10,1 = Non-momentary-Modus
    b. 10,2 = Momentary-Modus

  4. Schließen Sie das Reset-Verfahren ab, indem Sie die DOWN-Taste gedrückt halten, bis sich Ihr Schreibtisch leicht senkt und wieder anhebt.
Wie ändere ich die Empfindlichkeit der Kollisions­erkennung?

Unsere Stehschreibtische haben drei Einstellungen für die Kollisions­erkennung, die je nach Wunsch angepasst werden können. Gehen Sie wie folgt vor:

  1. Stellen Sie sicher, dass sich nichts unter Ihrem Schreibtisch befindet, da wir das Reset-Verfahren starten müssen
  2. Halten Sie die DOWN-Taste gedrückt, bis im Display [ASr] angezeigt wird
  3. Sobald [ASr] angezeigt wird, drücken und halten Sie die UP-[ ^ ]-Taste; es können drei Werte erscheinen:

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

  4. Schließen Sie das Reset-Verfahren ab, indem Sie die DOWN-Taste gedrückt halten, bis sich Ihr Schreibtisch leicht senkt und wieder anhebt.
Meine Fernbedienung zeigt einen Fehlercode im Display an? Was soll ich tun?

Hier sind einige Schritte zur Fehlerbehebung, falls bei Rahmen mit Steuerboxen der FLTCON-Serie einer der folgenden Fehlercodes angezeigt wird:

Prüfen Sie den Fehlercode hier.

Wenn das Problem nach diesen Schritten weiterhin besteht, kontaktieren Sie gerne unsere technischen Produktingenieure unter 1-800-676-6123 oder senden Sie uns eine E-Mail an sales@progressiveautomations.com.