Motorizirana senčila za naknadno vgradnjo
Plinske vzmeti
Spremljanje toka linearnega aktuatorja

Ta vzorčna koda uporablja MegaMoto Plus in Arduino Uno za nadzor toka linearnega aktuatorja; uporabljeni so lahko tudi podobni izdelki kot zamenjave.

/*  Koda za nadzor tokovne porabe aktuatorja in za izklop napajanja,
  če preseže določeno vrednost.

  Napisal Progressive Automations
  19. avgust 2015

  Strojna oprema:
  - RobotPower MegaMoto kontrolne plošče
  - Arduino Uno
  - 2 potisna gumba
 */

const int EnablePin = 8;
const int PWMPinA = 11;
const int PWMPinB = 3; // pini za MegaMoto

const int buttonLeft = 4;
const int buttonRight = 5;//gumba za premik motorja

const int CPin1 = A5;  // povratna zveza motorja

int leftlatch = LOW;
int rightlatch = LOW;//zapahi motorja (za logiko kode)

int hitLimits = 0;//začetek pri 0
int hitLimitsmax = 10;//vrednosti za prepoznavo, ali so bili doseženi končni položaji

long lastfeedbacktime = 0; // mora biti tip long, sicer pride do prekoračitve
int firstfeedbacktimedelay = 750; // prvi zamik za ignoriranje tokovnega sunka
int feedbacktimedelay = 50; // zamik med cikli povratne zveze, kako pogosto želite preverjati motor
long currentTimefeedback = 0; // mora biti tip long, sicer pride do prekoračitve

int debounceTime = 300; // čas za odpravo tresenja kontaktov gumbov; nižje vrednosti povečajo občutljivost
long lastButtonpress = 0; // časovnik za odpravo tresenja
long currentTimedebounce = 0;

int CRaw = 0;      // vhodna vrednost za odčitke toka
int maxAmps = 0; // mejna vrednost sprožitve 

bool dontExtend = false;
bool firstRun = true;
bool fullyRetracted = false;//logika programa

void setup()
{
  Serial.begin(9600);
  pinMode(EnablePin, OUTPUT);
  pinMode(PWMPinA, OUTPUT);
  pinMode(PWMPinB, OUTPUT);//nastavite izhode motorja
  pinMode(buttonLeft, INPUT);
  pinMode(buttonRight, INPUT);//gumba
  
  digitalWrite(buttonLeft, HIGH);
  digitalWrite(buttonRight, HIGH);//omogočite notranje pull-up upore
  pinMode(CPin1, INPUT);//nastavite vhod za povratno zvezo
  
  currentTimedebounce = millis();
  currentTimefeedback = 0;//nastavite začetne čase

  maxAmps = 15;// TUKAJ NASTAVITE NAJVEČJI TOK

}//konec setup

void loop()
{
  latchButtons();//preverite gumba in ali je treba premakniti

  moveMotor();//preverite zapaha; premaknite motor naprej ali nazaj

}//konec glavne zanke

void latchButtons()
{
  if (digitalRead(buttonLeft)==LOW)//levo je naprej
  {
    currentTimedebounce = millis() - lastButtonpress;// preveri čas od zadnjega pritiska
    if (currentTimedebounce > debounceTime && dontExtend == false)//ko se sproži dontExtend, ignoriraj vse pritiske za naprej
    {
      leftlatch = !leftlatch;// če se motor premika, ustavi; če stoji, začni premikati
      firstRun = true;// nastavi zastavico firstRun za ignoriranje tokovnega sunka
      fullyRetracted = false; // ko se premakneš naprej, ni več popolnoma uvlečeno
      lastButtonpress = millis();//shrani čas zadnjega pritiska gumba
      return;
    }//konec if
  }//konec btnLEFT

  if (digitalRead(buttonRight)==LOW)//desno je nazaj
  {
    currentTimedebounce = millis() - lastButtonpress;// preveri čas od zadnjega pritiska

    if (currentTimedebounce > debounceTime)
    {
      rightlatch = !rightlatch;// če se motor premika, ustavi; če stoji, začni premikati
      firstRun = true;// nastavi firstRun za ignoriranje tokovnega sunka
      lastButtonpress = millis();//shrani čas zadnjega pritiska gumba
      return;    }//konec if
  }//konec btnRIGHT
}//konec latchButtons

void moveMotor()
{
  if (leftlatch == HIGH) motorForward(255); //hitrost = 0-255
  if (leftlatch == LOW) motorStop();
  if (rightlatch == HIGH) motorBack(255); //hitrost = 0-255
  if (rightlatch == LOW) motorStop();

}//konec moveMotor

void motorForward(int speeed)
{
  while (dontExtend == false && leftlatch == HIGH)
  {
    digitalWrite(EnablePin, HIGH);
    analogWrite(PWMPinA, speeed);
    analogWrite(PWMPinB, 0);//premakni motor
    if (firstRun == true) delay(firstfeedbacktimedelay); // večji zamik za ignoriranje tokovnega sunka
    else delay(feedbacktimedelay); //manjši zamik za dosego hitrosti

    getFeedback();
    firstRun = false;
    
    latchButtons();//ponovno preveri gumba
  }//konec while

}//konec motorForward

void motorBack (int speeed)
{
  while (rightlatch == HIGH)
  {
    digitalWrite(EnablePin, HIGH);
    analogWrite(PWMPinA, 0);
    analogWrite(PWMPinB, speeed);//premakni motor
    if (firstRun == true) delay(firstfeedbacktimedelay);// večji zamik za ignoriranje tokovnega sunka
    else delay(feedbacktimedelay); //manjši zamik za dosego hitrosti
    getFeedback();

    firstRun = false;
    
    latchButtons();//ponovno preveri gumba

  }//konec while

  dontExtend = false;//motoru ponovno dovoli izvlek po uvleku

}//konec motorBack

void motorStop()
{
  analogWrite(PWMPinA, 0);
  analogWrite(PWMPinB, 0);

  digitalWrite(EnablePin, LOW);
  firstRun = true;//ko se motor ustavi, znova omogoči firstRun zaradi začetnih tokovnih sunkov

}//konec stopMotor

void getFeedback()
{
  CRaw = analogRead(CPin1); // Preberite tok

  if (CRaw == 0 && hitLimits < hitLimitsmax) hitLimits = hitLimits + 1;
  else hitLimits = 0; // preveri, ali je motor na končnih položajih in se je tok ustavil 

  if (hitLimits == hitLimitsmax && rightlatch == HIGH)
  {
    rightlatch = LOW; // ustavi motor
    fullyRetracted = true;
  }//konec if

  else if (hitLimits == hitLimitsmax && leftlatch == HIGH)
  {
    leftlatch = LOW;//ustavi motor
    hitLimits = 0;
  }//konec if

  if (CRaw > maxAmps)
  {
    dontExtend = true;
    leftlatch = LOW; //ustavi, če je povratna zveza nad največjo
  }//konec if

  lastfeedbacktime = millis();//shrani prejšnji čas za prejem povratne zveze
}//konec getFeedback
Nadzor več aktuatorjev z multimoto Arduino shield
Wasp krmilnik motorja za upravljanje linearnih aktuatorjev
Uporaba relejev za krmiljenje linearnih aktuatorjev
Nadzor časovanja gibanja enega linearnega aktuatorja.
Neprekinjeno iztegujte in vračajte linearni aktuator z brezkrtačnim DC motorjem
PA-12 mikro servo aktuator - primeri kode
Where can I find additional information on your products?

We have data sheets, user manuals, 3D models, wiring diagrams and more in our Resources and Learning Center sections.

How can I determine which progressive automations linear actuator is best suited for my application?
What is duty cycle and how is it calculated?
Can I use your actuators to replace the one that I already have?
What does stroke mean? How am I supposed to know which size to choose?
How do I know which force rating is right for my application?
Can I use my own power supply as a source for my actuators?
How can I control actuators to travel at the same time?
Why is my linear actuator making so much noise?
Can I customize a linear actuator to my specifications?
Can I synchronize my linear actuators?
Are linear actuator kits available?
Will temperature affect my linear actuator?
Can I implement one of your actuators into a third-party mechanism?
What is the pin out for my linear actuator?
Can I get 3D CAD models for my linear actuator?
What are the control box options for my actuator?
Can I use your control boxes with a third-party product?
Do you sell Wi-Fi control boxes?
Are all of your control boxes compatible with all of your linear actuators?
Can I use my own control box?
Do you have sample coding I could use?
I don’t have a power source – what can I do?
Can I use my own power supply?
Do you have 220 VAC power supplies available?
Can I control the lifting columns with a third-party controller?
Can I use two of the LG-11 lifting columns together?
What control box should I pair with my lifting columns?
Are your table/desk/TV lifts customizable?
What TV sizes can your TV lifts hold?
What is the weight capacity of your table/desk lifts?
Does my linear actuator come with mounting brackets?
Where can I find a step-by-step guide for my product?
I followed the wiring diagram but it’s not working – what should I do?
Flowchart for actuator selection
Can the FLTCON control boxes work with my actuators?
What is backdriving? -- What does dynamic and static load ratings mean? -- What is lateral loading?
How can I place an order?

Orders can be placed by one of the following ways:

Online: Use our online order process with options to pay by Credit Card or PayPal.

Phone: 1-800 – 676 – 6123

Email: sales@progressiveautomations.com

Do you offer quantity discounts?
What methods of payment do you accept?
What form of currency are your prices in?
How do I know if the product I want is in stock?
How much will shipping cost and what methods do you offer?

Progressive Automations’ shipping fees are calculated based on a variety of factors including but not limited to: location, quantities, and the total weight of your order. Smaller items are shipped via parcel while larger items and bulk orders are shipped via a freight carrier service. We always endeavor to provide competitive shipping prices for all our customers.

Shipping methods are available through online and phone orders. If you wish to receive an estimated shipping cost of your order, this can be done by reviewing your final shopping cart.

What freight companies do you use?
Will I be charged with any duty tax?
What is your return policy?
How long is delivery?
Do you offer free shipping?
Želim, da je daljša stran moje mizne plošče na levi. Ali je mogoče L oblikovan okvir stoječe mize namestiti na levo ali desno?

Da, L oblikovana stoječa miza omogoča poljubno usmeritev in jo je mogoče namestiti po vaši želji. Tukaj je članek s koraki, ki pojasnjuje, kako je to mogoče: Uporabniški priročnik FLT-05

Kako nastavim največje/najmanjše višine za svoj okvir stoječe mize?

OPOMBA: Spodnji koraki se lahko razlikujejo glede na model vaše daljinske enote. Naslednja navodila so pripravljena za standardni daljinski upravljalnik RT-11. Za nastavitev največje višine okvirja se premaknite na želeno višino in sledite spodnjim korakom:

  1. Pritisnite M in na zaslonu se bo prikazalo [5 -]
  2. Pritisnite gumb UP in opazili boste, da [5 -] utripa
  3. Držite gumb M, dokler na zaslonu ne vidite [999]
  4. Največja višina je zdaj nastavljena

Za nastavitev najmanjše višine okvirja se premaknite na želeno višino in sledite spodnjim korakom:

  1. Pritisnite M in na zaslonu se bo prikazalo [5 -]
  2. Pritisnite gumb DOWN in opazili boste, da [5 -] utripa
  3. Držite gumb M, dokler na zaslonu ne vidite [000]
  4. Najmanjša višina je zdaj nastavljena

Za ponastavitev omejitev sledite spodnjim korakom:

  1. Pritisnite M, na zaslonu se prikaže [5 -], in spustite
  2. Držite M, dokler ne vidite [555]
  3. Omejitve so bile ponastavljene
Gumbe na daljincu moram držati pritisnjene, da dosežem prednastavljeno višino. Ali lahko to naredim z enim samim pritiskom?

OPOMBA: Spodnji koraki se lahko razlikujejo glede na model vaše daljinske enote. Naslednja navodila so pripravljena za standardni daljinski upravljalnik RT-11.

Če morate držati gumbe na daljincu, da dosežete prednastavljeno višino, to pomeni, da je vaša krmilna škatla v načinu momentary. Da daljinec nastavite na način non-momentary, sledite spodnjim korakom

  1. Prepričajte se, da ni ničesar pod mizo, saj moramo vstopiti v postopek ponastavitve
  2. Pritisnite in držite gumb DOWN, dokler zaslon ne prikaže [ASr]
  3. Ko se prikaže [ASr], pritisnite in držite [1]; prikazani sta lahko dve vrednosti:

    a. 10.1 = Non-momentary Mode
    b. 10.2 = Momentary Mode

  4. Dokončajte postopek ponastavitve tako, da držite gumb DOWN, dokler se vaša stoječa miza rahlo ne spusti in ponovno dvigne.
Kako spremenim občutljivost zaznavanja trka?

Naše stoječe mize imajo 3 nastavitve za zaznavanje trka, te pa lahko prilagodite svojim željam. Za nadaljevanje sledite spodnjim korakom:

  1. Prepričajte se, da ni ničesar pod mizo, saj moramo vstopiti v postopek ponastavitve
  2. Pritisnite in držite gumb DOWN, dokler zaslon ne prikaže [ASr]
  3. Ko se prikaže [ASr], pritisnite in držite gumb UP [ ^ ] in lahko vidite tri vrednosti:

    a. 10.5 = 11 lbs
    b. 10.6 = 22 lbs
    c. 10.7 = 33 lbs

  4. Dokončajte postopek ponastavitve tako, da držite gumb DOWN, dokler se vaša stoječa miza rahlo ne spusti in ponovno dvigne.
Na mojem daljincu se na zaslonu prikazuje koda napake? Kaj naj storim?

Pripravili smo nekaj korakov za odpravljanje težav, če vidite katero od naslednjih kod napak na okvirjih s krmilnimi škatlami serije FLTCON:

Preverite kodo napake tukaj.

Če se težava po teh korakih še vedno pojavlja, se brez zadržkov obrnite na naše tehnične produktne inženirje na 1-800-676-6123, ali nam pošljite e-pošto na sales@progressiveautomations.com.