وحدات التحكم بالمحركات
تحديث الستائر الآلية
ينابيع الغاز
أعمدة رفع
مراقبة التيار لمشغل خطي

يستخدم هذا المثال البرمجي 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
التحكم في عدة مشغلات باستخدام لوحة التوسعة MultiMoto لأردوينو
وحدة تحكم محرك Wasp للتحكم في مشغل خطي
استخدام المرحلات للتحكم في المشغلات الخطية
التحكم في توقيت حركة مشغل خطي واحد
تمديد وسحب مشغل خطي بمحرك تيار مستمر بدون فُرش بشكل متواصل
أمثلة أكواد لمشغل الميكرو سيرفو PA-12
أين أجد معلومات إضافية عن منتجاتكم؟

لدينا أوراق بيانات وأدلة مستخدم ونماذج ثلاثية الأبعاد ومخططات توصيل والمزيد ضمن قسمي الموارد ومركز التعلّم.

كيف أحدد أي مشغل خطي من Progressive Automations هو الأنسب لتطبيقي؟
ما هي دورة التشغيل وكيف تُحتسب؟
هل يمكنني استخدام مشغلاتكم لاستبدال المشغل الذي لديّ؟
ماذا يعني طول الشوط؟ وكيف أعرف أي مقاس أختار؟
كيف أعرف ما هي قيمة القوة المناسبة لتطبيقي؟
هل يمكنني استخدام مزوّد الطاقة الخاص بي كمصدر لمشغلاتي؟
كيف أتحكم بالمشغلات لتتحرك في الوقت نفسه؟
لماذا يُصدر المشغل الخطي لديّ ضجيجًا شديدًا؟
هل يمكنني تخصيص مشغل خطي وفق مواصفاتي؟
هل يمكنني مزامنة مشغلاتي الخطية؟
هل تتوفر مجموعات مشغلات خطية؟
هل تؤثر الحرارة على المشغل الخطي لديّ؟
هل يمكنني دمج أحد مشغلاتكم في آلية تابعة لطرف ثالث؟
ما مخطط توصيل الدبابيس (Pinout) للمشغل الخطي لديّ؟
هل يمكنني الحصول على نماذج CAD ثلاثية الأبعاد لمشغلي الخطي؟
ما هي خيارات صندوق التحكم لمشغلي؟
هل يمكنني استخدام صناديق التحكم الخاصة بكم مع منتج تابع لطرف ثالث؟
هل تبيعون صناديق تحكم عبر Wi‑Fi؟
هل جميع صناديق التحكم لديكم متوافقة مع جميع مشغلاتكم الخطية؟
هل يمكنني استخدام صندوق التحكم الخاص بي؟
هل لديكم أمثلة برمجية يمكنني استخدامها؟
لا أملك مصدر طاقة — ماذا أفعل؟
هل يمكنني استخدام مزوّد الطاقة الخاص بي؟
هل لديكم مزوّدات طاقة 220 فولت AC متاحة؟
هل يمكنني التحكم بأعمدة الرفع باستخدام متحكّم تابع لطرف ثالث؟
هل يمكنني استخدام عمودي رفع من طراز LG-11 معًا؟
أي صندوق تحكم ينبغي إقرانه مع أعمدة الرفع لديّ؟
هل يمكن تخصيص رافعات الطاولات/المكاتب/التلفاز لديكم؟
ما أحجام التلفزيونات التي يمكن لرافعات التلفاز لديكم دعمها؟
ما سعة التحميل لرافعات الطاولات/المكاتب لديكم؟
هل يأتي مشغلي الخطي مع حوامل تثبيت؟
أين يمكنني العثور على دليل خطوة بخطوة لمنتجي؟
اتّبعتُ مخطط التوصيل لكنه لا يعمل — ماذا أفعل؟
مخطط انسيابي لاختيار المشغل الخطي
هل يمكن لصناديق التحكم FLTCON العمل مع مشغلاتي؟
ما هو الـ Backdriving؟ -- ماذا تعني تصنيفات الحمولة الديناميكية والثابتة؟ -- ما هو التحميل الجانبي؟
كيف يمكنني تقديم طلب شراء؟

يمكن تقديم الطلبات بإحدى الطرق التالية:

عبر الإنترنت: استخدم عملية الطلب عبر موقعنا مع خيارات الدفع ببطاقة الائتمان أو PayPal.

الهاتف: 1-800 – 676 – 6123

البريد الإلكتروني: sales@progressiveautomations.com

هل تقدمون خصومات على الكميات؟
ما طرق الدفع التي تقبلونها؟
بأي عملة تُعرض أسعاركم؟
كيف أعرف ما إذا كان المنتج الذي أريده متوفرًا في المخزون؟
كم ستكون تكلفة الشحن وما الطرق التي توفّرونها؟

تُحتسب رسوم الشحن لدى Progressive Automations بناءً على مجموعة متنوعة من العوامل بما في ذلك على سبيل المثال لا الحصر: الموقع، والكميات، والوزن الإجمالي لطلبك. تُشحن العناصر الصغيرة عبر الطرود، بينما تُشحن العناصر الكبيرة والطلبات الكبيرة عبر خدمة شركات الشحن. نسعى دائمًا لتقديم أسعار شحن تنافسية لجميع عملائنا.

تتوفر طرق الشحن لطلبات الإنترنت والهاتف. إذا رغبت في الحصول على تقدير تكلفة الشحن لطلبك، يمكن ذلك من خلال مراجعة عربة التسوق النهائية.

ما شركات الشحن التي تستخدمونها؟
هل سيتم تحميلي أي رسوم جمركية؟
ما هي سياسة الإرجاع لديكم؟
كم تستغرق مدة التسليم؟
هل تقدّمون شحنًا مجانيًا؟
أريد أن يكون الجانب الأطول من سطح مكتبي على اليسار. هل يمكن تثبيت هيكل المكتب القائم على شكل L على اليسار أو اليمين؟

نعم، يمكن توجيه المكتب القائم على شكل L بما يناسبك، ويمكن تثبيته وفق تفضيلك. إليك مقالة خطوة بخطوة تشرح كيفية ذلك: دليل المستخدم 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. اضغط مطولًا زر M حتى ترى [555]
  3. تمت إعادة ضبط الحدود
أحتاج إلى الاستمرار في الضغط على أزرار جهاز التحكم للوصول إلى الارتفاع المُسبق. هل توجد طريقة بضغطة واحدة؟

ملاحظة: قد تختلف الخطوات أدناه حسب طراز جهاز التحكم لديك. أُعدَّت التعليمات التالية لجهاز التحكم القياسي RT-11.

إذا كان عليك الاستمرار في الضغط على أزرار جهاز التحكم للوصول إلى الارتفاع المُسبق، فهذا يعني أن صندوق التحكم لديك في وضع التحكم اللحظي. لضبط جهاز التحكم على الوضع غير اللحظي، اتبع الخطوات التالية

  1. تأكّد من عدم وجود أي شيء أسفل مكتبك لأننا سندخل إجراء إعادة الضبط
  2. اضغط مع الاستمرار زر الخفض حتى يعرض الشاشة [ASr]
  3. عند ظهور [ASr]، اضغط مع الاستمرار [1] وقد ترى قيمتين:

    a. 10.1 = وضع غير لحظي
    b. 10.2 = وضع لحظي

  4. أكمل إجراء إعادة الضبط بالاستمرار في الضغط على زر الخفض حتى ينخفض مكتبك قليلًا ثم يرتفع.
كيف أغيّر حساسية اكتشاف التصادم؟

تحتوي مكاتبنا القابلة للوقوف على 3 إعدادات لاكتشاف التصادم، ويمكن ضبطها وفق تفضيلك. للمتابعة، اتبع الخطوات التالية:

  1. تأكّد من عدم وجود أي شيء أسفل مكتبك لأننا سندخل إجراء إعادة الضبط
  2. اضغط مع الاستمرار زر الخفض حتى يعرض الشاشة [ASr]
  3. عند ظهور [ASr]، اضغط مع الاستمرار زر الرفع [ ^ ] وقد ترى ثلاث قيم:

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

  4. أكمل إجراء إعادة الضبط بالاستمرار في الضغط على زر الخفض حتى ينخفض مكتبك قليلًا ثم يرتفع.
يعرض جهاز التحكم رمز خطأ على الشاشة. ماذا أفعل؟

لدينا بعض خطوات استكشاف الأخطاء وإصلاحها إذا رأيت أيًا من رموز الخطأ التالية على الإطارات المزودة بصناديق تحكم سلسلة FLTCON:

تحقق من رمز الخطأ هنا.

إذا استمرت المشكلة التي تواجهها بعد اتباع هذه الخطوات، لا تتردد في التواصل مع مهندسينا الفنيين للمنتجات على 1-800-676-6123، أو أرسل لنا بريدًا إلكترونيًا على sales@progressiveautomations.com.