Контролери за мотори
Моторизирани щори за обновяване
Газови пружини
Мониторинг на тока на линеен задвижващ механизъм

Този примерен код използва MegaMoto Plus и Arduino Uno за наблюдение на тока на линеен задвижващ механизъм, но подобни продукти могат да се използват като заместители.

/* 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
Управление на множество задвижващи механизми с мултимото Arduino щит
Контролер на Wasp мотор за управление на линейни задвижвания
Използване на релета за управление на линейни задвижващи механизми
Контролиране на времето на движение на единичен линеен задвижващ механизъм
Непрекъснато удължаване и прибиране на линеен задвижващ механизъм с безчетков DC мотор
Примерни кодове за микро серво задвижване PA-12
Къде мога да намеря допълнителна информация за вашите продукти?

В нашия каталог има информационни листове, ръководства за потребителя, 3D модели, електрически схеми и други. Ресурси и Учебен център раздели.

Как мога да определя кой линеен задвижващ механизъм с прогресивна автоматизация е най-подходящ за моето приложение?
Какво е работен цикъл и как се изчислява?
Мога ли да използвам вашите задвижващи механизми, за да заменя този, който вече имам?
Какво означава „щрих“? Как да разбера кой размер да избера?
Как да разбера кой кое ниво на сила е подходящо за моето приложение?
Мога ли да използвам собствено захранване като източник за моите задвижващи механизми?
Как мога да контролирам задвижващите механизми, за да се движат едновременно?
Защо моят линеен задвижващ механизъм издава толкова много шум?
Мога ли да персонализирам линеен задвижващ механизъм според моите спецификации?
Мога ли да синхронизирам линейните си задвижвания?
Предлагат ли се комплекти линейни задвижвания?
Ще повлияе ли температурата на моя линеен задвижващ механизъм?
Мога ли да внедря един от вашите задвижващи механизми в механизъм на трета страна?
Какъв е изходът на пиновете на моя линеен задвижващ механизъм?
Мога ли да получа 3D CAD модели за моя линеен задвижващ механизъм?
Какви са опциите за контролна кутия за моя задвижващ механизъм?
Мога ли да използвам вашите контролни кутии с продукт на трета страна?
Продавате ли Wi-Fi контролни кутии?
Всички ваши контролни кутии съвместими ли са с всички ваши линейни задвижвания?
Мога ли да използвам собствена контролна кутия?
Имате ли примерен код, който бих могъл да използвам?
Нямам източник на захранване – какво мога да направя?
Мога ли да използвам собствено захранване?
Имате ли налични захранвания 220 VAC?
Мога ли да управлявам повдигащите колони с контролер на трета страна?
Мога ли да използвам две от повдигащите колони LG-11 заедно?
Какъв контролен блок трябва да свържа с повдигащите си колони?
Вашите повдигачи за маса/бюро/телевизор могат ли да се персонализират?
Какви размери телевизори могат да поберат вашите повдигачи за телевизори?
Какъв е товароносимостта на вашите подемници за маса/бюро?
Моят линеен задвижващ механизъм се доставя ли с монтажни скоби?
Where can I find a step-by-step guide for my product?
Следвах схемата на свързване, но не работи - какво трябва да направя?
Блок-схема за избор на задвижващ механизъм
Могат ли контролните кутии FLTCON да работят с моите задвижващи механизми?
Какво е обратно задвижване? -- Какво означават динамичните и статичните товароносимости? -- Какво е странично натоварване?
Как мога да направя поръчка?

Поръчките могат да бъдат направени по един от следните начини:

Онлайн: Използвайте нашия онлайн процес за поръчки с опции за плащане с кредитна карта или PayPal.

Телефон: 1-800 – 676 – 6123

Имейл: sales@progressiveautomations.com

Предлагате ли отстъпки за количество?
Какви методи на плащане приемате?
В каква валута са цените ви?
Как да разбера дали желаният от мен продукт е наличен?
Колко ще струва доставката и какви методи предлагате?

Таксите за доставка на Progressive Automations се изчисляват въз основа на различни фактори, включително, но не само: местоположение, количества и общо тегло на вашата поръчка. По-малките артикули се изпращат чрез колет, докато по-големите артикули и поръчките на едро се изпращат чрез транспортна служба. Винаги се стремим да предоставяме конкурентни цени за доставка за всички наши клиенти.

Методите за доставка са налични чрез онлайн и телефонни поръчки. Ако желаете да получите приблизителна цена за доставка на вашата поръчка, това можете да направите, като прегледате окончателната си пазарска количка.

Какви транспортни компании използвате?
Ще ми бъде ли начислен някакъв данък/мито?
Каква е вашата политика за връщане?
Колко време е доставката?
Предлагате ли безплатна доставка?
Искам по-дългата страна на плота на масата ми да е отляво. Може ли L-образната рамка за бюро за изправяне да се монтира отляво или отдясно?

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

Как да настроя максималната/минималната височина за рамката(ите) на бюрото(ата) си за работа в изправено положение?

ЗАБЕЛЕЖКА: Стъпките по-долу може да варират в зависимост от модела на дистанционното управление, което имате. Следните инструкции са направени за стандартното дистанционно управление RT-11. За да зададете максималната височина за вашата рамка, отидете на желаната височина и следвайте стъпките по-долу:

  1. Натиснете M и вижте [5 -], показано на дисплея
  2. Натиснете бутона НАГОРЕ и обърнете внимание, че [5 -] мига
  3. Задръжте бутона M, докато на дисплея не видите [999]
  4. Максималната височина вече е зададена

За да зададете минималната височина за рамката си, отидете на желаната височина и следвайте стъпките по-долу:

  1. Натиснете M и вижте [5 -], показано на дисплея
  2. Натиснете бутона НАДОЛУ и обърнете внимание, че [5 -] мига
  3. Задръжте бутона M, докато на дисплея се появи [000]
  4. Минималната височина вече е зададена

За да нулирате ограниченията, следвайте стъпките по-долу:

  1. Натиснете M и вижте [5 -], показано на дисплея, след което отпуснете
  2. Задръжте буквата М, която виждате [555]
  3. Лимитите са нулирани
Трябва да задържа бутоните на дистанционното, за да достигна предварително зададената височина. Има ли начин да направя това само с едно натискане?

ЗАБЕЛЕЖКА: Стъпките по-долу може да варират в зависимост от модела на дистанционното управление, което имате. Следните инструкции са направени за стандартното дистанционно управление RT-11.

Ако трябва да задържите бутоните на дистанционното, за да достигнете предварително зададената височина, това означава, че контролерът ви е в режим на моментно управление. За да настроите дистанционното си в режим без моментно управление, следвайте стъпките по-долу.

  1. Уверете се, че няма нищо под бюрото ви, тъй като трябва да влезем в процедурата за нулиране
  2. Натиснете и задръжте бутона НАДОЛУ, докато на дисплея се покаже [ASr]
  3. След като се покаже [ASr], натиснете и задръжте [1] и може да видите две стойности:

    а. 10.1 = Режим без моментно задействане
    б. 10.2 = Моментен режим

  4. Завършете процедурата по нулиране, като задържите бутона НАДОЛУ, докато бюрото ви за изправяне леко се снижи и повдигне.
Как да променя чувствителността на откриването на сблъсък?

Нашите бюра за работа на крака имат 3 настройки за откриване на сблъсък и това може да се настрои според вашите предпочитания. За да продължите, следвайте стъпките по-долу:

  1. Уверете се, че няма нищо под бюрото ви, тъй като трябва да започне процедурата за нулиране.
  2. Натиснете и задръжте бутона НАДОЛУ, докато на дисплея се покаже [ASr]
  3. След като се покаже [ASr], натиснете и задръжте бутона НАГОРЕ [^] и може да видите три стойности:

    а. 10,5 = 11 фунта
    б. 10,6 = 22 фунта
    около 10,7 = 33 фунта

  4. Завършете процедурата по нулиране, като задържите бутона НАДОЛУ, докато бюрото ви за изправяне леко се снижи и повдигне.
Дистанционното ми управление показва код за грешка на дисплея? Какво трябва да направя?

Имаме няколко стъпки за отстраняване на неизправности, които можете да предприемете, ако видите някой от следните кодове за грешки на рамките с контролни кутии от серията FLTCON:

Проверете кода на грешката тук.

Ако проблемът, който изпитвате, продължава след изпълнението на тези стъпки, моля, не се колебайте да се свържете с нашите технически инженери на 1-800-676-6123или ни изпратете имейл на sales@progressiveautomations.com.

Линейни задвижвания
Проекти