أجهزة الاستشعار البصرية
أجهزة الاستشعار البصرية ، عند استخدامها مع المحركات الخطية ،تعمل إلى حد كبير مع أجهزة استشعار تأثير القاعة، إلا أنهم يكتشفون الضوء بدلاً من الحقول المغناطيسية [1]. تعمل المستشعرات البصرية باستخدام الضوء من مصباح LED أو بعض مصدر الضوء الآخر الذي يتم تمريره عبر قرص تشفير. يتم احتواء قرص التشفير هذا للسماح للضوء بالمرور بشكل دوري. على الجانب الآخر من القرص هو كاشف ضوئي ، يكتشف الضوء عندما يمر عبر الفتحات في القرص وإنشاء إشارة الخرج [1]. مع تحرك المشغل ، يتم تدوير قرص التشفير ويتم اكتشاف الضوء بواسطة الكاشف الضوئي الذي ينتج موجة مربعة من نبضات الجهد. يمكن استخدام هذه النبضات بشكل مشابه لنبضات مستشعر تأثير القاعة لتحديد المدى الذي تحركه المحرك.
ردود الفعل الموضعية من مستشعر بصري
نظرًا لأن المستشعرات البصرية تعمل بشكل مشابه تمامًا لأجهزة استشعار تأثير القاعة من حيث إخراجها ، فإن منشور المدونة هذا سيغطي بإيجاز كيفية قراءة إخراجها للحصول على ردود الفعل الموضعية. إذا كنت تبحث عن مزيد من التفاصيل ، تحقق من منشورنا حول كيفية قراءة التعليقات الموضعية من مستشعر تأثير القاعة ، سيكون الأمر متشابهًا.
مثل أجهزة استشعار تأثير القاعة ، سيكون لأجهزة الاستشعار البصرية 3 دبابيس للاتصال بها ؛ أحدهما هو جهد المدخلات ، والآخر هو الأرض ، وأخيراً ، إحداها هي إشارة الخرج. لاستخدام النبضات على إشارة الإخراج للتغذية المرتدة الموضعية ، ستحتاج إلى استخدام أ متحكم لحساب النبضات المنتجة. ستحتاج إلى الاستفادة من دبابيس المقاطعة الخارجية من متحكم الخاص بك لحساب هذه النبضات بدقة. نظرًا لأن المقاطعات الخارجية يتم تشغيلها عن طريق تغيير في الجهد ، يمكن استخدامها للكشف عن كل نبضة عند حدوثها. بمجرد قيامك بإعداد المقاطعة في رمز متحكم الخاص بك ، ستحتاج إلى إعداد روتين خدمة مقاطعة يعتبر النبضات عند حدوثها. يتم استخدام COUNTSTEPS للدالة () في مثال الكود أدناه لحساب عدد النبضات من المستشعر البصري.
لاستخدام هذه النبضات لتحديد قيمة موضعية ، ستحتاج إلى معرفة الموضع السابق للمشغل الخطي والاتجاه الذي يسافر فيه المشغل الخطي. أثناء التحكم في الطريقة التي يتحرك بها مشغلك الخطي ، يمكنك ببساطة إعداد متغير لتتبع اتجاه المشغل في الكود الخاص بك. يمكن استخدام هذا المتغير لتحديد ما إذا كنت بحاجة إلى إضافة أو طرح البقول من موضعك السابق. بمجرد تحديث موقعك ، ستحتاج إلى إعادة تعيين النبضات المحسوبة إلى الصفر. يوضح لك مثال الرمز أدناه وظيفة تقوم بتحديث الموضع بناءً على عدد النبضات المحسوبة. بمجرد أن يكون لديك موضع من حيث النبضات ، يمكنك تحويلها إلى بوصة باستخدام مواصفات النبض لكل بوصة للمشغل الخطي الخاص بك.
توزير المحرك الخطي الخاص بك
لاستخدام ردود الفعل الموضعية بدقة من مستشعر ضوئي ، تحتاج إلى معرفة موضع البداية للمشغل الخطي الخاص بك. على الرغم من قيامك بتشغيل نظامك لأول مرة ، فإن متحكمك لن يكون قادرًا على معرفة ما إذا كان المحرك قد تم تمديده أم لا. سيتطلب منك ذلك أن تصل إلى المنزل المشغل الخطي إلى موقف معروف. إلى المنزل الخاص بك المحرك الخطي، ستحتاج إلى دفعه إلى موضع معروف ، مثل التراجع بالكامل. باستخدام رمز Arduino أدناه كمثال ، قمنا بإعداد حلقة من الوقت الذي سيؤدي إلى دفع مشغلنا الخطي نحو موقعنا المعروف. في هذا المثال ، سنعرف أننا في وضعنا المعروف من خلال التحقق مما إذا كانت المقاطعة قد تم تشغيلها من خلال التحقق مما إذا كان متغير الخطوات قد تغير. نحتاج أيضًا إلى التأكد من أن الوقت قد مرت لتتوقع أن يتم تشغيل المقاطعة ، لذلك نستخدم وظيفة Millis () ومقارنتها بالطابع الزمني السابق. بمجرد أن نقرر أن المشغل الخطي في وضعنا المنزلي ، فإننا نتوقف عن قيادة المشغل ، وإعادة ضبط متغير الخطوات ، والخروج من الحلقة.
التعامل مع المشغلات الخاطئة
في حين أن المستشعرات البصرية ليست حساسة للضوضاء الكهربائية مثل أجهزة قياس الجهد ، إلا أن الضوضاء الكهربائية وترتد التبديل لا تزال تؤثر على إشارة الخرج وقد تؤثر على نبضات كاذبة ليتم حسابها. لن تؤثر بعض النبضات الإضافية على تحديد موقعها كثيرًا ، ولكن مع مرور الوقت قد تكون مشكلة أكبر. يمكنك مكافحة هذه المشكلات من خلال الاستفادة من مؤقت داخلي لتصفية المشغلات الخاطئة. كما يمكنك تحديد مدى تكرارك المتوقع لاكتشاف نبضات جديدة ، يمكنك التصفية عندما تم تشغيل المقاطعة بالضوضاء. في عينة الكود أدناه ، Trigdelay هو التأخير الزمني بين كل نبضة. إذا تم تشغيل المقاطعة قبل هذا التأخير ، فلن يتم حساب النبض. سيختلف مدة مدة هذا التأخير بناءً على تطبيقك ، ولكن إذا كان قصيرًا جدًا ، فلن يقوم بتصفية الضوضاء بشكل صحيح ، وإذا كان طويل جدًا ، فستفتقد النبضات الفعلية من المستشعر البصري.
هناك طريقة أخرى لمكافحة المشغلات الخاطئة وهي تصحيح القيمة الموضعية في كل مرة يصل فيها المشغل إلى موقف معروف. مثل Homing the Linear Actuator ، إذا كنت قد دفعت المشغل الخطي إلى موضع تراجع أو تمتد بالكامل أو إذا قمت باستخدام مفاتيح الحد الخارجي ، فستعرف عدد النبضات التي تتطلبها الوصول إلى هذا الموقف. يمكنك بعد ذلك تصحيح القيمة الموضعية باستخدام هذه القيمة عند الوصول إلى هذا الموضع المعروف. في عينة الكود أدناه ، يتم ذلك للمواقف الممتدة بالكامل والمتراجع بالكامل. توفر هذه الطريقة حلاً عمليًا لضمان بقاء القيمة الموضعية دقيقة.
ملخص
توفر أجهزة الاستشعار البصرية المستخدمة للتغذية المرتدة الموضعية دقة ودقة أكبر مقارنة بأجهزة استشعار تأثير القاعة ومقاييس الجهد ، مع وجود نقاط قوة وعيوب مماثلة لأجهزة استشعار تأثير القاعة. على الرغم من أنها لا تقيس الموضع المطلق وتتطلب وضع بداية معروف لتوفير قيمة موضعية ، فإن العدد الكبير من النبضات لكل بوصة يسمح بالموثوقية في تحديد المواقع وضمان تحرك المشغلات الخطية المتعددة في وقت واحد. استخدامنا fa-sync-x وحدة تحكم المشغل أو من خلال رمز إضافي، يمكنك حتى التأكد من تحرك المحركات في انسجام بغض النظر عن الحمل.
للحصول على مثال رمز كامل ، تحقق من مدونتنا كيفية قراءة ردود الفعل الموضعية من مستشعر تأثير القاعة بقدر ما سيكون متشابهًا. قيم مثل النبض في البوصة والتأخير الزمني بين النبضات هي بعض التغييرات التي ستحتاج إلى إجراؤها لاستخدام هذا الرمز لاستخدام مستشعرك الضوئي بدقة.
[1] باشوتا ، ر. مقالة عن أجهزة الاستشعار البصرية. استردادها من:https://www.rp-photonics.com/optical_sensors.html