كيفية استخدام أردوينو مع المحركات الخطية

كيفية استخدام Arduino مع مشغلات خطية

Guest Writer
Guest Writer
PA Engineer

Arduino مجتمع\شركة\مشروع مفتوح المصدر في آنٍ معًا، يختص بالمتحكمات الدقيقة، وبناءها وبرمجتها تحديدًا. كما تقدم Arduino مجموعات بسيطة معدّة للتجميع السهل. وحدات تحكم Arduino هي وحدات صغيرة من الرقائق الإلكترونية واللوحات تتيح التحكم عن بُعد في بعض أنواع المعدات. هذه المتحكمات الدقيقة رقمية وتماثلية في آن واحد، ما يعني إمكانية استخدامها مع مجموعة واسعة من المعدات سواء كانت رقمية أم تماثلية. ويمكن استخدام هذه المتحكمات الدقيقة مع مشغلات خطية كوسيلة للتحكم بها.

لدينا مجموعة كبيرة من المتحكمات الدقيقة Arduino التي يمكن إقرانها بمشغلك الخطي!

في Progressive Automations، عقدنا شراكة مع Arduino لنقدم لك أعلى جودة من وحدات التحكم المنطقية القابلة للبرمجة (PLC) في السوق ولنمنحك خيارات تحكم أكثر من أي وقت مضى مع المشغلات الخطية. يمكن العثور على هذه المتحكمات المنطقية القابلة للبرمجة في معدات التصنيع، وخطوط التجميع، ومصافي النفط، وأنظمة كهروميكانيكية أخرى. ما يميزها عن معظم أنظمة التحكم أنها توفر عدة أطراف إدخال وإخراج، ومقاومة أقوى للصدمات والاهتزاز، والعديد من خيارات التخصيص الأخرى. يوضّح الرسم البياني أدناه بساطة توصيل مشغل بالأسلاك.

Diagram of a PLC is wire to an actuator

تصفّح مجموعتنا الكاملة من المشغلات الخطية الكهربائية المناسبة لأي تطبيق!

نطاق إمكانات وحدات PLC

مع معظم أنظمة التحكم بالحركة، يكون لديك تحكم في تمديد الوحدة وسحبها بسرعتها الاعتيادية فقط، أما مع وحدات PLC فتحصل على أكثر بكثير. فهي توفّر تحكمًا كاملًا في السرعة لوحداتنا لتمكين حركات سلسة وانسيابية، وكذلك مواءمة السرعة مع نماذج التغذية الراجعة. ويمكنك أيضًا التحكم في الاتجاه والموضع لوحدتك وكذلك تفعيلها بحسب الحرارة والرطوبة والصوت والعديد من الخيارات الأخرى حسب الطراز المستخدم. كما ترى في مخطط التوصيل أعلاه، من السهل أيضًا توصيل مشغل خطي بوحدة PLC. المثال أدناه يستخدم Arduino Uno وDue وMega وADK وLeo وملحقات Ethernet. يمكنك حتى دمج لوحات تحكم منفصلة معًا لمنح نفسك قدرات تحكم إضافية؛ إذ يمكن تكديسها حتى 3 طبقات للتحكم في 3 وحدات بشكل منفصل كما في المثال أعلاه. وإن لم يكن ذلك كافيًا، يمكنك إضافة مرحّلات إلى المنظومة للتحكم بما يصل إلى 6 وحدات. يمكن لهذا التعامل مع جميع موديلاتنا عند الحمولة الكاملة بسعة 20 أمبير. كما تملك PLCs تغذية راجعة للتيار لمراقبة التحميل وإضافة وظائف برمجية.

 

متحكم Arduino الدقيق

تحتوي هذه المتحكمات الدقيقة على عدد من المعالجات الدقيقة المثبتة بداخلها للمساعدة على ربط المشغل الخطي مع Arduino. كل اللوحات لديها دبابيس وإجراءات تسمح لها—كما ذُكر—بالوصول إلى المعدات سواء كانت رقمية أو تماثلية، ما يتيح لها التفاعل مع أكبر عدد ممكن من الدارات الأخرى. تأتي المتحكمات الدقيقة مُحمّلة مسبقًا ببرنامج محمّل (Loader) محدد، ما يضمن تحكمًا أفضل بالمشغل الخطي عبر Arduino لأنه يُبسط عملية إضافة البرامج التي تتحكم بالمعدات.

كل المعالجات الدقيقة لها نظام تشغيل خاص ومنفذ USB موحّد لنقل التطبيقات من الحاسوب إلى المعالج نفسه. وتزوّد الإصدارات الأحدث بتقنية Bluetooth. المعالجات الدقيقة هي معالجات حاسوبية صغيرة جدًا تضم القدرة الكاملة لوحدة المعالجة المركزية ضمن دارة متكاملة واحدة للتحكم في المعدات. في حالتنا هذه، تُستخدم للتحكم في المشغل الخطي بواسطة Arduino. إنها دارة متعددة الأغراض—or مجموعة دارات—تستخدم البيانات الثنائية لتشغيل المعلومات وإنتاج المخرجات.

لدينا مجموعة واسعة من حلول المنزل والمكتب، بما في ذلك المكاتب الكهربائية القابلة للوقوف!

المعدات اللازمة للتحكم في مشغل خطي باستخدام Arduino

Arduino أكثر تعقيدًا مما قد تتوقع. بدلًا من مجرد توصيل محرك بدبابيس اللوحة، يجب على المستخدمين التحكم في حمل التيار بعناية. هناك إمكانية لاستخدام مشغل محرك (Motor Drive) أو H-Drive، ولكن عند استخدام تحكم Arduino بمشغل خطي تحديدًا هناك خياران آخران للنظر فيهما أيضًا. أولًا، استخدام مرحّل للتحكم مباشرة في التيار الداخل إلى المشغل نفسه. ثانيًا، إنشاء حلقة مغلقة باستخدام مشغل 12 فولت محدد يُسمّى مشغل تغذية راجعة. يعمل مشغل التغذية الراجعة عبر إتاحة التحكم في موضع عمود الحركة للمعدة المستخدمة. طريقة التحكم عبر لوحة المرحّلات أبسط، ولذا فهي غالبًا الأسهل لمعظم مستخدمي المشغلات الخطية. طالما أن لوحة المرحّلات نفسها تحتوي على مرحّلات SPDT، فإن هذا الدليل البسيط كافٍ لإنشاء طريقة تحكم بمشغل خطي باستخدام معالج Arduino.

يجب أن يحتوي مرحّل SPDT على ثلاثة أطراف: المشترك (COM)، والفتح الاعتيادي (NO)، والإغلاق الاعتيادي (NC).

سيحتاج المستخدمون إلى مرحّلين منفصلين للتحكم في مشغل خطي باستخدام Arduino، لأن ذلك يسمح للمشغل بالبدء والتوقف وتغيير الاتجاه. تُوصل المرحّلات المغلقة عادةً بتيار 12V DC، بينما تُوصل المرحّلات المفتوحة عادةً بـ +12VDC. لتقسيم سلك إلى قسمين، استخدم وصلة أو سلك قفز (Jumper) محدد. ويتم توصيل سلكي المشغل إلى المرحّل اثنين في كل مرة.

 

العملية

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

يجب أن تحتوي المرحّلات على دبابيس مُرقّمة حتى ثمانية—بحسب الطراز—وتتطلب جميع المرحّلات ما لا يقل عن 5 فولت من الطاقة لتعمل بشكل صحيح. وصّل مزوّد الطاقة بالمرحّل واصطفه مع دبابيس VCC وGND. ثم وصّل كل دبوس IN بدبوس Arduino المقابل. سيتأكد ذلك من عمل المرحّل بشكل صحيح عند تغذية المشغل بالطاقة. من الضروري توصيل الدبابيس بشكل صحيح في هذه الحالة، إذ إن توصيلها بشكل خاطئ سيؤدي إلى تبديل الطاقة بين الدبابيس، وهو أمر يختلف عن الإعداد الطبيعي. من المهم التذكّر أن الطاقة ستتصل بين NC وCOM إذا لم يكن دبوس IN موصولًا. علاوة على ذلك، ستتصل الطاقة بين طرفي NO وCOM إذا تم توصيل دبوس IN بدبوس GND. ومع ذلك، يجب تذكر أن التوصيل مباشرة بدبوس IN يعني أيضًا اتصال الطاقة بين دبابيس NC وCOM. في هذه الحالة، يجب أن تبدو شيفرة مشغل Arduino الخطي كما في المثال أدناه.

The example for linear actuator Arduino code.

 

أما بخصوص برمجة متحكم Arduino الخاص بك، فقد أدرجنا برنامجًا بسيطًا (Sweep) يوضّح كيفية تمديد وسحب مشغل خطي بأقصى سرعة.

​//Define pin numbers for Single Board

int ENABLE1 = 8;

int FWD1 = 11;
int REV1 = 3;
int Speed;
void setup() {              
  // initialize the digital pins as an output.
  pinMode(ENABLE1, OUTPUT); 
  pinMode(FWD1, OUTPUT);
  pinMode(REV1, OUTPUT);
}
void loop() {
  Speed = 255; //set a speed between 0-255
  Forward();
  delay(5000); //5 second delay
  Stop();
  delay(1000);
  Reverse();
  delay(5000);
  Stop();
  delay(1000);
}
void Forward(){
  digitalWrite(ENABLE1, HIGH);
  analogWrite(REV, 0); 
  analogWrite(FWD, Speed);
}
void Reverse(){
  digitalWrite(ENABLE1, HIGH);
  analogWrite(FWD, 0); 
  analogWrite(REV, Speed);
}
void Stop(){
  digitalWrite(ENABLE1, LOW);
  analogWrite(FWD1, 0); 
  analogWrite(REV1, 0);
}

الخلاصة

أصبحت المشغلات الخطية أكثر انتشارًا في الصناعات والمجالات التقنية المختلفة، لذا يجري تطوير المزيد من التقنيات حولها وحول استخدامها. ويبحث الكثيرون عن التحكم بالمشغلات الخطية عبر Arduino لما يوفّره من مستوى تحكم عالٍ لمستخدمي هذه المشغلات. تُعد المعالجات الدقيقة وسيلة لدمج الجزء الكامل من وحدة المعالجة المركزية للحاسوب على دارة واحدة أو مجموعة دارات، ما يتيح للمستخدم توصيل المشغلات الخطية بأجهزة تحكم عن بُعد ومعالجات وغيرها، ليمنح نفسه تحكمًا أكبر في كيفية حركة مشغل Arduino الخطي أثناء أداء المهمة التي صُمم لها.

ورغم وجود طرق عديدة لربط المتحكمات الدقيقة بالمشغلات الخطية عبر Arduino، فإن نظام المرحّلين ثنائي الاتجاه الموضّح أعلاه يُعتبر أحد أسهلها وأكثرها عملية. فهو يتيح طرقًا متعددة لوصول الطاقة إلى المشغل والمعالج الدقيق، مما يسمح لكليهما بأداء مهامهما بأكبر قدر من الدقة والكفاءة.

تأكّد من الاطلاع على تشكيلتنا المتنوعة من وحدات PLC وأنظمة التحكم. كما نقدّم برمجة مخصّصة لوحدات التحكم لدينا إن كانت لديك طريقة تحكم محددة جدًا في ذهنك.