عكس الماسح الضوئي ليزر الهندسة Leuze RS4


في وقت سابق ، تحدثت عن الهندسة العكسية لمستشعر المسافة بالليزر . هذه المرة سنتحدث عن جهاز أكثر تعقيدًا - ماسح ليزر Leuze RS4. مثل المستشعر ، جاءني هذا الماسح الضوئي في حالة مكسورة ، لذلك كان عليّ معالجة استعادة عمله ، وفي عملية تحسين بعض خصائصه ، وفي الواقع ، إعادة صنعه في جهاز آخر.

ما هو الماسح الضوئي بالليزر؟


Leuze RS4 عبارة عن ماسح ضوئي لأمان الليزر ، وهو مصمم لمنع الأشخاص من دخول مناطق خطرة في مكان العمل ، لمنع تصادم مركبات الإنتاج ، وما إلى ذلك. له خصائص لائقة إلى حد كبير - المدى الأقصى: 15/50 مترًا (اعتمادًا على وضع التشغيل) ) ، دقة قياس المسافة في نطاق القياس بأكمله 5 مم ، الدقة الزاوية هي 0.36 درجة ، سرعة المسح 25 دورة في الدقيقة (25000 قياس / ثانية).

تجدر الإشارة إلى أن هذا الماسح الضوئي يتم وضعه بدقة كجهاز أمان - أي أنه يخزن موقع مناطق الإنذار والتحذير في الذاكرة ، وعندما يدخل كائن إلى هذه المناطق ، يتم فتح أحد المفاتيح في الماسح الضوئي. لتكوين موقع المناطق ، يمكن توصيل الماسح الضوئي بجهاز الكمبيوتر ومراقبة موقع العوائق على الشاشة. حتى أن هناك حزمة ROS تسمح لك بتلقي البيانات من هذا الماسح الضوئي.
حصلت على ماسح ضوئي بدون علبة ، تم تفكيكه في مكوناته. تحطم الماسح الضوئي بسبب ضربة قوية للجسم ؛ ما توقف عن العمل بالضبط ، ما زلت لم أفهم - ربما كانت البصريات غير صحيحة ، أو انقطع الاتصال في أحد الموصلات ، أو تم نقل مستشعر التشفير ، أو أي شيء آخر. حاولت تجميع جميع الأجزاء معًا ، وقد شوهد الماسح الضوئي في البرنامج الأصلي ، لكن الفحص لم يبدأ. لذلك لدي طريقة واحدة فقط لبدء تشغيلها - لاستعادة دائرة الماسح الضوئي على أكمل وجه ممكن ، وكتابة البرنامج الثابت الخاص بالماسح الضوئي المتحكم الخاص بالماسح الضوئي.

إليكم ما هي الأجزاء التي بدت لي: هنا يجب أن تكون موجودة في الحالة (صورة من الوثائق ، يمكن ملاحظة أن التصميم والإلكترونيات مختلفان قليلاً):

الصورة



الصورة

أيضًا جزء مهم من الماسح الضوئي هو مرآة المسح الضوئي (المظللة باللون الأزرق في الصورة أعلاه) المثبتة في مركزها:

الصورة

الرسم التخطيطي للماسح الضوئي:

الصورة

كما يمكن رؤيته من الرسم البياني ، تتكون الإلكترونيات الكاملة للماسح الضوئي من وحدات (لوحات) منفصلة متصلة بواسطة الموصلات والحلقات.

هناك الكثير من الوحدات - وحدة تزويد الطاقة (DC-DC) ، وحدة الواجهة ، وحدة المعالج ، وحدة الكشف الضوئي (APD) ، وحدة الليزر. بالإضافة إلى ذلك ، هناك أيضًا وحدة تشفير ولوحين على شكل حدوة حصان ، والتي بدت غريبة في البداية.

بادئ ذي بدء ، يجدر الانتباه إليهم:

الصورة

من الواضح أن أحد الألواح يحتوي على مصابيح LED ، والثاني يحتوي على صمامات ضوئية. في البداية ، اعتقدت أنه كان نوعًا من التشفير ، أو نوعًا من الآلية لفحص إشعاع الليزر. ومع ذلك ، في وقت لاحق ، بعد قراءة وثائق الماسح الضوئي ، وفحص الصور بالتفصيل ، أدركت أن هذا هو نظام لرصد حالة سطح الزجاج الواقي للماسح الضوئي.

تظهر ثقوب لمصابيح LED في الصورة: من



خلال قياس مستوى الإشارة من الثنائيات الضوئية ، يمكنك تقدير مستوى إرسال الزجاج الواقي. من الواضح أن هذا النظام ليس مهمًا للماسح الضوئي ، لذلك لم أستخدم هذه اللوحات في المستقبل.

وحدة المعالج هي الجزء الأكثر صعوبة في الماسح الضوئي. هذه هي الطريقة التي تبدو بها إلكترونيات الوحدة من جانبين:

الصورة

لأول مرة نظرت فيها إلى اللوحة ، أدركت على الفور أن الماسح الضوئي يستخدم طريقة قياس مسافة وقت الرحلة (TOF) - حيث تبين أن الشريحة التي تحمل أكبر علامة هي " ACAM TDC-GPX " ، والتي سمعت عنها بالفعل. TDC - "محول الوقت إلى رقمي" ، أي رقاقة متخصصة مصممة لقياس الفترات الزمنية بدقة عالية جدًا ، وهي تُستخدم لقياس وقت "طيران" نبضة الليزر.
وكان على متن الطائرة أيضًا متحكم Infineon C167 مع رقاقة ذاكرة FLASH خارجية (مما يسر) و ASIC (التي كانت مستاءة جدًا). بمزيد من التفصيل حول هذه الوحدة سأقول أدناه.

وحدة الطاقةيحتوي على محول DC-DC مخصص معزول كلفانيًا مع العديد من الفولتية الناتجة والعديد من المكثفات:

الصورة

جهد إمداد المحول هو 24V. ميزتها الرئيسية هي أنها توفر جهدًا عاليًا (~ 230 فولت) ، وهو ضروري لتشغيل الليزر والكاشف الضوئي ، إلى موصل صغير منفصل.

تقوم أيضًا بإخراج الفولتية التالية إلى الموصل الرئيسي: + 5V ، -5V ، ~ 15V ، معزولة جلفانيًا عن الباقي + 5V لواجهة RS232.

الجزء البصري من الماسح الضوئي

الصورة

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

هذه هي الطريقة التي تظهر بها في وثائق الماسح الضوئي:



العدسة نفسها مثبتة داخل غلاف بلاستيكي أسود ، لذلك من الصعب رؤيتها. في نهاية المقابلة السكن لتلك التي شوهدت في الصورة أعلاه، الثابتة وحدة ليزر و في مكشاف ضوئي : وحدة ليزر

الصورة


نوع وحدة الليزر ( قمت بتمييز بعض التفاصيل أثناء رسم الدائرة): كما ترى ، فإن دارة هذه الوحدة بسيطة للغاية ، لذلك يمكنني استعادة دائرتها بالكامل: الجزء الدائري الكبير على اللوحة هو باعث ليزر متخصص. لسوء الحظ ، لم تكن هناك علامات عليها ، لذلك لم يتم العثور على وثائق عليها. من الوصف على الماسح الضوئي يمكنك معرفة - "طول موجة ضوء الليزر - 905 نانومتر" ، "فئة الليزر - 1" ، "مدة النبض - 0.003 ميكرومتر" ، "تردد التكرار - 25 كيلو هرتز". ما كان من الممكن فهمه من خلال استعادة دائرة الوحدة وتحليل عملها:

الصورة



الصورة






  • يتم تزويد باعث الليزر باستمرار بجهد إمداد يبلغ 143 فولت ، محدودًا بثنائيات زينر.
  • , «3» . , , .
  • , , . ( ) «» .

يتم تنفيذ جميع عمليات التحكم بالليزر في سطر واحد - "LASER_PULSE". معظم الوقت على الخط يجب أن يكون مستوى "مرتفع". عندما يتم تطبيق نبض سلبي ، يتم إعادة ضبط الزناد DD1 إلى 0 على الحافة الأمامية ، وعلى الحافة اللاحقة ، يبدأ الزناد في "انتظار" الإشارة من الصمام الثنائي الضوئي ويبدأ الليزر. عندما تظهر إشارة من الصمام الثنائي الضوئي ، يتحول الزناد إلى 1.
يمكنك ملاحظة سلكين محوريين باستخدام الموصلات المتصلة بالوحدة النمطية. يتم استخدامها لنقل الإشارة التفاضلية من الزناد إلى رقاقة TDC.

يوجد أيضًا في هذه الوحدة خمسة مصابيح LED. تتحكم عليهم وحدة المعالج. وحدة

الكاشف الضوئي
تبدو الوحدة نفسها كما يلي: صورة الكاشف الضوئي بالقرب من:

الصورة



الصورة

تظهر علامة الجهد العالي في زاوية اللوحة بوضوح أن الصمام الثنائي الضوئي (APD) يستخدم هنا - فهي تتطلب جهدًا عاليًا إلى حد ما للتشغيل.

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

هذه الوحدة أكثر تعقيدًا بكثير من الوحدة السابقة ، فهي تستخدم لوحة دوائر مطبوعة متعددة الطبقات - على الأقل 4 طبقات ، مع وجود معظم خطوط الإشارة على الطبقة الخارجية للوحة ، مما يسهل تحليلها بشكل كبير. في هذه الوحدة ، استعدت حوالي 80 ٪ من الدائرة ، ولم أكن بحاجة إلى الباقي.

الدائرة الناتجة لوحدة الكاشف الضوئي: في الجزء العلوي من الدائرة يوجد مصدر جهد عالي خطي قابل للضبط من أجل الصمام الثنائي الضوئي. يمكن أن يولد جهدًا ثابتًا لا يقل عن 150 فولت. يتم التحكم في هذا المصدر بواسطة DA1 DAC (LTC1451).

الصورة



نظرًا لأن الماسح الضوئي يعتمد على مكتشف النطاق النبضي ، فإن المهمة الرئيسية لوحدة الكاشف الضوئي هي الكشف بسرعة عن إشارة ليزر ضعيفة بما يكفي تنعكس من عقبة. نظرًا لأن مستوى إشارة الضوء صغير جدًا ، فلا يمكن اكتشافه إلا باستخدام الصمام الثنائي الضوئي الضوئي الذي له مكاسبه الخاصة. في هذه الحالة ، يتم أيضًا تضخيم الإشارة من الصمام الضوئي بواسطة مضخم متكامل مدمج في الكاشف الضوئي. نظرًا لحقيقة أن مكبر الصوت مدمج في جسم الكاشف الضوئي ، يتم تقليل تأثير التداخل على الإشارة المفيدة. يتم إرسال الإشارة التي يولدها الكاشف الضوئي (OUT_B) إلى شريحة DA4 معينة ، والتي ، على ما يبدو ، هي مضخم آخر عالي التردد. بعد ذلك ، يتم إرسال الإشارة إلى الإدخال المباشر لجهاز المقارنة عالي السرعة D1 (MAX9601).يتم تغذية الإشارة المرجعية من مقسم المقاوم (حوالي 50 مللي فولت) إلى المدخلات العكسية لهذا المقارن.

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

بالإضافة إلى ذلك ، يتم إرسال الإشارة من خرج مضخم DA4 إلى نوع من كاشف الذروة ، والذي "يتذكر" المستوى الأقصى للنبضة المستقبلة. لم أبدأ باستعادة دائرة هذه العقدة ، ولم أرسم على الدائرة سوى مرحلة خرجها (رقاقة U1) ، والتي يتم أيضًا نقل الإشارة منها إلى وحدة المعالج.

أحد أجزاء الماسح الضوئي الأقل وضوحًا بالنسبة لي هو ترانزستور Q3 المركب عند خرج مضخم التردد اللاسلكي. إذا حكمنا من خلال الدوائر ، فهي ضرورية لتمكين توهين الإشارة عند خرج مكبر الصوت. يمكن التحكم في هذا الترانزستور باستخدام إشارة من لوحة المعالج (الخط 10 - "digi").

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

يمكنك أن ترى أن قوة الكاشف الضوئي يمكن التحكم فيها عن طريق ضبط مستويات معينة على الخطوط CLK و CS و CS2 المتصلة بـ DAC و EEPROM.

تحتوي اللوحة على العديد من الدوائر المصممة لمراقبة حالتها. يمكنك التحكم في مستوى جهد APD ، ودرجة حرارته (الخط 7) وعتبة المقارنة. يتم تحويل هذه الفولتية بواسطة مضخمات تشغيل DA3-DA5 وإرسالها إلى لوحة وحدة المعالج.

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

الصورة





الصورة

لقد استعدت حوالي 70 ٪ من المخطط - والباقي الذي لم أكن بحاجة إليه حقًا. مخطط كتلة وحدة المعالج:

الصورة

الرسم البياني الناتج لوحدة المعالج: على الرغم من أنني أسمي هذه الوحدة "وحدة المعالج" في كل مكان ، إلا أنها في الواقع تعتمد على وحدة التحكم الدقيقة Infineon SAK-C167CR-L33M . لديها 144 دبابيس ، وهي مبنية على بنية C166 القديمة إلى حد ما. لا يحتوي هذا الميكروكونترولر على ذاكرة غير متغيرة خاصة به - من الضروري توصيل الذاكرة الخارجية بها عبر ناقل متوازي. لهذه الأغراض ، يحتوي الماسح الضوئي على شريحة ذاكرة فلاش M29F400B (512 كيلو × 8/256 كيلو × 16). أيضا ، يتم توصيل شريحتين RAM إلى وحدة التحكم الدقيقة - IS61C6416AL-12 (64K x 16) و K6R4016C1D (256K x 16).

الصورة



يمكنك أن ترى أن ناقل العنوان متصل بجميع دوائر الذاكرة المصغرة بتحويل بت واحد - خطوط الذاكرة A0 متصلة بالخط A1 من وحدة التحكم الدقيقة. ويرجع ذلك إلى حقيقة أنه تم تعيين العناوين على ناقل العنوان بالبايت ، ولكن وحدة التحكم والذاكرة هي 16 بت. لكي تتمكن وحدة التحكم من كتابة بايت واحد إلى ذاكرة الوصول العشوائي دون التأثير على وحدات البايت المجاورة في كلمة من 16 بت ، تحتوي شرائح الذاكرة على خطوط خاصة UBn و LBn. هذا الحل شائع جدًا في الأجهزة ذات الحافلات المتوازية ويتم وصفه بالتفصيل في وثائق وحدة التحكم.

لكن الحل الآخر في وحدة المعالج لم يتضح لي تمامًا. إذا نظرت إلى شريحة ذاكرة U1 Flash ، فستلاحظ أن خط A14 من الشريحة متصل بالأرض. لا يتم توصيل خط ناقل عنوان وحدة التحكم A15 المطابق بالرقاقة على الإطلاق. والنتيجة أن وحدة التحكم لديها حق الوصول إلى نصف ذاكرة الفلاش فقط. وضع مشابه تمامًا لشريحة RAM2 (DD3).

مع شريحة RAM1 (DD2) ، يختلف الوضع إلى حد ما - خط التحكم A15 غير متصل به أيضًا ، ولكن في نفس الوقت يتم توصيل جميع إدخالات العنوان لهذه الشريحة بناقل العناوين ، بحيث يمكن لوحدة التحكم الوصول إلى ذاكرة الشريحة بالكامل.

والآن يجب الانتباه إلى العقدة على العناصر المنطقية DX1 ، DX2 ، DD4. هذه الدوائر الدقيقة هي التي تحدد أي من الدوائر الدقيقة للذاكرة يتم اختيارها بواسطة وحدة التحكم الدقيقة. يمكن ملاحظة أنه يتم التحكم فيها من خلال الإشارات التالية:

  • WRn - إشارة تسجيل ، مستوى نشط - منخفض. على هذا الخط ، يقوم المتحكم الدقيق بتعيين مستوى منخفض عندما تحتاج إلى كتابة بعض البيانات إلى ذاكرة RAM الخارجية
  • A15 هو نفس خط ناقل البيانات غير متصل مباشرة بأي من شرائح الذاكرة.
  • CSn0 هي إشارة اختيار رقاقة متخصصة ، المستوى النشط منخفض. هذا الخط متصل بمفكك تشفير العنوان المدمج في وحدة التحكم. بعد إعادة الضبط ، تكون وحدة التحكم منخفضة.
  • RAM2_CE - متصل GPIO لوحدة التحكم مع رفع على الأرض.

يتم وصف منطق تشغيل هذه العقدة جيدًا في الجدول:

الصورة

كما ترى ، اعتمادًا على حالة خط RAM2_CE ، ستعمل وحدة التحكم الدقيقة إما مع ذاكرة الفلاش أو مع الدائرة الدقيقة RAM2 (DD3) ، وتتطابق مساحات العناوين الخاصة بها. ومن الجدير بالذكر أن سعة الذاكرة لهذه الدوائر الدقيقة هي نفسها. ربما يتم ذلك لتبسيط تحديث البرامج الثابتة للجهاز. هناك خيار آخر - ذاكرة الوصول العشوائي المثبتة أسرع 3 مرات من ذاكرة فلاش ، لذلك بعد بدء تشغيل وحدة التحكم يمكن نسخ محتويات FLASH إلى RAM2 ، وبعد ذلك يتم تنفيذ البرنامج منه.

لكن المستوى العالي على خط A15 يحدد بوضوح أن وحدة التحكم ستعمل مع شريحة ذاكرة الوصول العشوائي (DD2).

ونتيجة لذلك ، اتضح أن ذاكرة FLASH وذاكرة RAM1 تتناوب في مساحة عنوان وحدة التحكم:

الصورة

تم تمييز منطقة ذاكرة الوصول العشوائي التي تمت مواجهتها بالفعل باللون الأحمر - عند الوصول إليها ، ستتمكن وحدة التحكم في الواقع من الوصول إلى البيانات الموجودة في العناوين (0x8000-0xFFFF).
تكوين المترجم غير تافه ، وكما ذكرت أعلاه ، يتم فقد نصف Flash / RAM2. لماذا لم يتغير مطورو الماسح الضوئي بين رقائق FLASH و RAM باستخدام خط CSnX المتخصص في وحدة التحكم غير واضح.

كما ذكرت من قبل ، لا تحتوي وحدة التحكم المستخدمة على ذاكرة فلاش ، وبالتالي ، بت الصمامات. من أجل تكوين بعض معلمات وحدة التحكم: عرض وعنوان ناقل البيانات ، يتم استخدام معلمات PLL المقاومات المنسدلة المتصلة بناقل البيانات. تحتوي وحدة التحكم نفسها على مقاومات سحب داخلية مدمجة ذات مقاومة عالية (> 100 كيلو أوم) متصلة بالحافلة بأكملها. وبالتالي ، بسبب المقاومات الخارجية ، يتم إنشاء مجموعة معينة من الإشارات على الناقل ، والتي تقرأها وحدة التحكم عند تشغيلها. يحدد إعدادات وحدة التحكم الضرورية.

في هذه الحالة ، نحن نتحدث عن المقاومات R3-R6. يتوافق التكوين المحدد للمقاومات مع اتصالات إشارة الناقل الناتجة ويوفر سرعة وحدة تحكم 33 ميجاهرتز.

يتم تغذية إشارة النبض من مشفر المرآة لإدخال المؤقت "T2IN" للمتحكم الدقيق من خلال العنصر المنطقي OR D6. يتم توصيل الإدخال الثاني لهذه الشريحة بـ GPIO لوحدة التحكم ، مما يسمح لك بتعطيل تزويد النبضات لمدخل المؤقت. لماذا هناك حاجة إلى هذا الحل ، ولماذا من المستحيل إيقاف تشغيل المؤقت برمجياً ، ما زلت لا أفهم.

الآن يجب الانتباه إلى شريحة TDC (DD1).

يحتوي الماسح الضوئي على شريحة TDC-GPX - الأكثر "تقدمًا" من بين كل ما هو في نطاق ACAM. الدقة المزعومة لقياس الفترات الزمنية حتى 10 ps RMS. تحتوي الدائرة المصغرة على 8 قنوات إدخال من خطوط LVTTL وقناتين من LVECL (التفاضلية).
في هذا الماسح الضوئي ، للحصول على أقصى دقة لقياس الوقت ، يتم استخدام مدخلات LVECL لاستقبال الإشارات من وحدة الليزر ووحدة الكاشف الضوئي باستخدام أربعة كبلات متحدة المحور. يتم تغذية الإشارات من وحدة الليزر إلى مدخلات DStart / DStartN ، وتبدأ في حساب الوقت. يتم تغذية الإشارات من وحدة الكاشف الضوئي إلى المدخلات DStop1 / DStop1N و DStop2 / DStop2N وإيقاف العد الزمني. كما يتبين من الرسم البياني ، يتم تطبيق إشارات التوقف على الفور على قناتين TDC ، مع قطبية عكسية. ونتيجة لذلك ، من الممكن قياس ليس فقط "رحلة" نبضة الضوء ، ولكن أيضًا قياس عرض النبضة المستقبلة.

يحتوي TDC-GPX على ناقل بيانات 28 بت ، ولكن يمكن تحويله إلى وضع 16 بت ، وهو ما يتم استخدامه في الماسح الضوئي. ناقل العنوان هو 4 بت ، كما يتم إزاحته بمقدار 1 بت ، كما هو الحال مع شرائح الذاكرة. يتم استخدام الرقائق DD8 و DD9 و U2 لتوليد إشارات تحكم للرقاقة ومطابقة المستويات - يعمل المتحكم الدقيق من 5V و TDC - من 3.3V. بشكل عام ، نظام الطاقة TDC معقد للغاية ، حتى أنه يوجد تعديل تلقائي لجهد الإمداد. نظرًا لتعقيدها ، لم أبدأ في رسم الرسم التخطيطي لها - أظن أنها لا تختلف كثيرًا عن ورقة البيانات.

ستتم مناقشة برمجة وحدة التحكم الدقيقة و TDC لاحقًا.

كما ذكرت سابقًا ، يتم تثبيت رقاقة ASIC مخصصة مع النقوش "LEUZE98" و "WATCHDOG" على اللوحة. ما هو غير معروف. يمكن ملاحظة أن مذبذب بلوري 20 ميجاهرتز متصل بهذه الدائرة المصغرة. بعد أن تمكنت من برمجة وحدة التحكم الدقيقة ، تأكدت من أن ASIC لا تتداخل مع تشغيلها ، ولم تقم باستعادة مخطط اتصال ASIC. بقدر ما أفهم ، تتواصل هذه الشريحة مع وحدة التحكم عبر ناقل متوازي. من الممكن أن يكون ASIC هو الذي يولد إشارة إعادة الضبط RESETn ، التي تعيد ضبط جهاز التحكم و TDC.

ومع ذلك ، كان من الضروري التعامل مع بعض السلاسل بمزيد من التفصيل.

كما اتضح ، يمكن إنشاء إشارة التحكم بالليزر "LASER_PULSE" بواسطة كل من المتحكم الدقيق و ASIC باستخدام عقدة على الترانزستورات T1 و T2. في هذه الحالة ، عند تشغيله ، يفتح ASIC الترانزستور T1 ، بحيث يتعذر على وحدة التحكم التحكم في الليزر. وبسبب هذا ، اضطررت إلى إزالة المقاوم R24 - وبدأ التحكم بالليزر عادةً بواسطة وحدة التحكم.

خط إشارة التحكم في محرك المرآة يأتي أيضًا من ASIC (عبر الصمام الثنائي D2). وبسبب هذا ، اضطررت إلى قطع المسار على اللوحة وتوصيل هذه الإشارة مباشرة بالإخراج المجاني لوحدة تحكم GPIO - P3.15.

والغريب في الأمر أن خط CS2 المتصل بلوحة التحكم الرقمي (DAC) المثبتة على لوحة دائرة وحدة الكشف الضوئي تبين أنه متصل بـ ASIC. وبسبب هذا ، لم تتمكن وحدة التحكم من تعيين جهد تزويد APD بشكل مستقل ، وتشغيل مضخم APD. ربما تم القيام بذلك لزيادة موثوقية الماسح الضوئي - يمكن أن يؤدي إعداد DAC غير الصحيح إلى فشل APD. كان علي أيضًا توصيل هذا الخط بدبوس GPIO المجاني لوحدة التحكم P3.4.

من المعروف جيدًا أن ASIC هو الذي يتحكم في مصابيح LED الثلاثة المركبة على وحدة الليزر. يتم التحكم في اثنين من مصابيح LED الأخرى التي تعرض حالة الماسح الضوئي (وجود عائق في منطقة العمل) من وحدة التحكم - الخطوط LN1 ، LN2. تذهب هذه الخطوط أيضًا إلى لوحة وحدة الواجهة.

نظرًا لأن الماسح الضوئي يمكن أن يعمل في أنظمة الأمان ، فإن لوحة المعالج بها عدد كبير من العقد لتشخيص حالتها. يمكن للمعالج (وربما ASIC) الكشف عن تضمين ليزر (باستخدام رقاقة U3) ، والتحكم في مستوى العديد من الفولتية ، وفلطية الإمداد APD ، ودرجة حرارة APD ، وعتبة المقارنة على لوحة الكاشف الضوئي.

نظرًا لحقيقة أن الجهد المرجعي لـ ADC لوحدة التحكم هو 4.1 فولت ، يتم تقليل جزء من الفولتية المقاسة بمساعدة مقسمات المقاوم - يمكن رؤيتها في الرسم التخطيطي على اليمين.

والآن من المفيد إلقاء نظرة فاحصة على طريقة توليد إشارة "digi" غير العادية ، التي ذكرتها سابقًا في وصف وحدة الكاشف الضوئي.

يوضح الرسم البياني أدناه عقد كل من وحدة المعالج (أسفل) ووحدة الكشف الضوئي (أعلى):

الصورة

تُظهر الأسهم اتصال الوحدات باستخدام الأسلاك. أدناه سوف أصف تشغيل هذه العقد ، كما أفهمها. في وحدة الكاشف الضوئي ، يتم تضخيم الإشارة من خرج APD بواسطة رقاقة DA4 ، وبعد ذلك يتم نقلها إلى جهاز المقارنة D1. إذا كان مستوى الإشارة عند مدخلات المقارنة أكثر من 50 مللي فولت ، يتم تعيين مستوى عالٍ عند خرج المقارنة. يتم نقل الإشارة من خرج المقارنة إلى وحدة المعالج. بادئ ذي بدء ، فإنه يدخل إدخال TDC ، الذي يحسب الوقت من بداية نبض الليزر. ولكن بالإضافة إلى ذلك ، يتم تغذية هذه الإشارة إلى إدخال الساعة في مشغل D-DD1. يتم دائمًا توفير وحدة منطقية لإدخال إشارة الزناد ، ويمكن إعادة تعيين المشغل نفسه إلى الصفر باستخدام خط GPIO لوحدة تحكم BASE5. وبالتالي ، يؤدي تشغيل أداة المقارنة إلى تشغيل مفاجئ "1". هذا الزناد له ناتج تفاضلي ،الإشارة التي يتم من خلالها إدخال مدخلات شريحة D3 ، والتي تحولها إلى تنسيق LVTTL. يتم تغذية هذه الإشارة بإدخال "digi" لوحدة الكاشف الضوئي. كما ذكرت سابقًا ، في رأيي ، يؤدي ظهور هذه الإشارة إلى إضعاف مستوى الإشارة عند مدخلات المقارنة.

السؤال الرئيسي هو لماذا هذا مطلوب ولماذا يصعب تنفيذه؟ لماذا كان من المستحيل عمل كلا العقدتين على لوحة وحدة الكشف الضوئي؟

يمكنني فقط التعبير عن افتراضاتي. ربما تحتاج الإشارة إلى التوهين لتجنب انتقال جهاز المقارنة أو كاشف الاتساع إلى التشبع. ربما - لتقليل طول النبض المستلم. لكلا العقدتين ، ببساطة لا يمكن أن يكون هناك مكان على لوحة الكاشف الضوئي. هناك خيار آخر ممكن أيضًا - تحتاج الإشارة إلى إضعافها فقط بعد أن يكون لديها الوقت للوصول إلى TDC عبر الأسلاك المحورية ، مما يبرر مثل هذا التصميم المعقد.
أظهرت الدراسة أنه قبل البدء في نبض ليزر جديد ، من الضروري إعادة ضبط الزناد ، وإلا لن يتم قبول النبضات.

وحدة واجهة
لسوء الحظ ، لم أجد صورة جيدة لهذه الوحدة. يوجد هذا فقط:

الصورة

في هذه الوحدة يتم تثبيت الموصلين فقط ، والذي يمكنك الاتصال به خارج الماسح الضوئي. واحد منهم هو RS-232 / RS-422 ، وفقًا للثانية ، يتم توفير الطاقة للماسح الضوئي ، ويتم توفير إشارات التحكم ، ويتم توصيل دائرة السلامة هنا.

تحتوي هذه الوحدة على محولات UART-RS232 / RS485 ومحولات بصرية للعزل الجلفاني (يتم تثبيتها على لوحة صغيرة منفصلة موضحة على اليمين) ، ومفاتيح كهربائية لدائرة الأمان ، ودوائر الإدخال لخطوط التحكم في أوضاع محدد المدى ، ودائرة التحكم في المحرك ، ومحول إشارة التشفير.

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

رسم تخطيطي جزئي لوحدة الواجهة: لقد استعدت جزءًا فقط من دائرة هذه الوحدة (حوالي 20٪) ، لأنني لم أكن مهتمًا بالمفاتيح وخطوط الإدخال اللازمة لضمان الأمان. وهناك عدد غير قليل من الجرح هناك ، تشير الوثائق إلى الحد الحالي على دائرة السلامة ومراقبة دائرة القصر ووظائف أخرى.

الصورة



بشكل غريب إلى حد ما تحكم في سرعة دوران محرك المرآة. يتم تنفيذ التحكم في السرعة عن طريق تغيير جهد المحرك - مع هذا ، كل شيء واضح. لكن تعديل هذا الجهد نفسه يتم بمساعدة سلسلة تكامل معينة على مضخم تشغيل. من أجل زيادة الجهد ، تضبط وحدة التحكم 0 على خط line_mot1 لخفضه - 1. من الواضح ، بدون ردود فعل مستمرة من المشفر ، إما أن يتوقف المحرك أو يتسارع إلى أقصى سرعة من خلال وحدة التحكم.

كما اتضح ، فإن رقاقة المحول UART-RS232 LTC1387 بطيئة جدًا - بسرعة 500 كيلوبت / ثانية ، تم تشويه البيانات. وبسبب هذا ، اضطررت إلى إزالة لوحة صغيرة باستخدام هذه الشريحة ، وتوصيل محول USB-UART مباشرة بلوحة وحدة الواجهة.

الآن بعد أن تحدثت عن تصميم جميع الوحدات ، من المفيد توضيح عملية الهندسة العكسية نفسها.

عندما بدأت في التعامل مع إلكترونيات الماسح الضوئي ، كنت أخشى كثيرًا من تلف الليزر أو الكاشف الضوئي نتيجة للتأثير. في الوقت نفسه ، لم أكن متأكدًا من أنني سوف أكون قادرًا على تشغيل وحدة المعالج - فقد كان الحارس الدقيق غير المألوف و ASIC محرجين. لذلك ، أولاً وقبل كل شيء ، استعدت دائرة وحدة الليزر ، ثم وحدة الكاشف الضوئي. بعد أن تمكنت من فهم دوائر هذه الوحدات وتحديد الغرض من جميع جهات الاتصال على موصلاتها ، كان من الممكن المتابعة إلى وحدة المعالج. كملاذ أخير ، إذا لم أتمكن من بدء تشغيله ، فقد كان لدي فكرة لعمل تناظرية لهذه الوحدة على الدوائر المصغرة STM32 + TDC-GP2.

من الواضح ، للتحقق من الوحدة ، تحتاج إلى تشغيل البرنامج الخاص بك على متحكم Infineon SAK-C167CR المثبت عليه. مرة أخرى ، تجدر الإشارة إلى أن وحدة التحكم هذه لا تحتوي على ذاكرة فلاش مدمجة. علاوة على ذلك ، كما اتضح ، فإن وحدة التحكم ليس لديها أي واجهات تصحيح متخصصة (بما في ذلك JTAG). مع درجة عالية من الاحتمال ، يتم كتابة البرنامج الثابت إلى Flash خارجي في المبرمج في المصنع. ومع ذلك ، كما اتضح ، كل شيء ليس سيئًا للغاية - تحتوي وحدة التحكم على محمل إقلاع ("Bootstrap Loader") ، يعمل على UART. يتم تخزين أداة تحميل التشغيل هذه في التمهيد المدمج لوحدة التحكم ، لذلك يجب أن تكون في وحدة التحكم الخاصة بي. ويعمل بشكل غريب تمامًا - لتنشيطه عند بدء التشغيل ، تحتاج إلى ضبط خط ناقل البيانات P0L.4 على منخفض ،وبعد ذلك تبدأ وحدة التحكم في انتظار ظهور 0x00 بايت من المضيف. بعد قبول هذا البايت ، يحدد برنامج تحميل التشغيل تلقائيًا معدل النقل ، ويبدأ في انتظار 32 بايت من البيانات التي يتم نسخها إلى ذاكرة الوصول العشوائي الداخلية لوحدة التحكم. بعد استلام البيانات ، تبدأ وحدة التحكم في تنفيذ البرنامج المستلم (16 كلمة تحكم).

في الواقع ، في هذه الـ 32 بايت ، تحتاج إلى دفع محمل آخر ("preloader") ، والذي سيتلقى المحمل الرئيسي "محمّل خارجي" من المضيف ، ويبدأ تنفيذه.

هنا كنت محظوظًا - لهذا المعالج يوجد بالفعل برنامج FLASHit جاهز يمكنه القيام بجميع العمليات المذكورة تلقائيًا. يحتوي اللودر المدمج فيه على الكثير من الوظائف - حيث يمكنك تلقائيًا تحديد طراز ذاكرة فلاش المثبتة وتحرير وعرض محتويات سجلات وحدة التحكم ، ويمكنك رؤية حالة قنوات ADC.

لم أتمكن من العثور على أي منصات اختبار على اللوحة متصلة بخط P0L.4 من وحدة التحكم ، لذلك من أجل بدء تشغيل أداة تحميل التشغيل ، اضطررت إلى لحام دبوس خاص بهذا الخط. تمسكت الدبوس في حالة واحدة من رقائق ذاكرة الوصول العشوائي. لبدء محمل الإقلاع ، تحتاج إلى توصيل هذا الدبوس من خلال المقاوم 8 kΩ بالأرض.

بعد أن قمت بتوصيل اللوحة بالكمبيوتر ، وقمت بتطبيق الطاقة على وحدة المعالج ، ظهر الميكروكونترولر بالفعل في FLASHit. بعد ذلك ، كتبت برنامجًا صغيرًا في Keil قام بتبديل أحد مسامير وحدة التحكم وكتبه في Flash. عمل البرنامج بشكل جيد ، لم تتدخل ASIC (كنت أخشى من نوع من آلية المراقبة المضمنة فيه ، أو الصراعات في الحافلات) ، حتى أتمكن من المضي قدمًا.
بعد ذلك ، استعدت دائرة وحدة المعالج ، مما سمح لي بالتحقق من تشغيل جميع الوحدات في التجميع.

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

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

الصورة

في الصورة ، يتم تجميع جميع الوحدات الخمس الرئيسية معًا حول النظام البصري. هنا ، بدلاً من مرآتي الدوارة ، قمت بتركيب مرآة عادية.

بعد ذلك ، كتبت برنامجًا للتحكم بالليزر لـ UART ، وقم بإعداد الصمام الثنائي الضوئي. ونتيجة لذلك ، عندما بدأت تشغيل الليزر عند مدخل جهاز المقارنة ، تمكنت حقًا من اكتشاف النبضات باستخدام راسم الذبذبات الذي يعتمد اتساعه بوضوح على نوع العائق أمام المرآة! عمل المقارنة بشكل جيد. بقي الجزء المهم الأخير من الاختبار - التحقق من أداء TDC.

تتميز شريحة TDC-GPX المثبتة في الماسح الضوئي بتصميم معقد إلى حد ما ، ويمكن أن تعمل في عدد كبير من الأوضاع.

يوضح الشكل أدناه مخططه الهيكلي:

الصورة

كما ترى ، تحتوي الشريحة على 8 قنوات منفصلة ، أي يمكنها استقبال حتى 8 إشارات توقف. إذا كانت القنوات متباينة ، فيمكن عندئذٍ تحليل إشارتي توقف فقط بالإضافة إلى إشارة بدء واحدة. في هذه الحالة ، تتيح لك الشريحة دمج قنوات القياس ، وبالتالي زيادة دقة قياس الفواصل الزمنية:

الصورة

بصراحة ، لم تعجبني وثائق هذه الشريحة. يتم وصف العديد من الأشياء فيه بشكل سطحي إلى حد ما ، وأمثلة التعليمات البرمجية غير مفهومة. الجزء من ورقة البيانات المخصص لضبط دقة الوقت مليء بنوع من "أرقام الترحيل". لا توجد أيضًا "ملاحظة تطبيق" عادية على الشريحة. بالإضافة إلى ذلك ، في الماسح الضوئي نفسه ، لم أتمكن من اكتشاف اتصال خطوط EF1 / EF1 بوحدة التحكم. ومن هذه الخطوط يمكن تحديد أن الدائرة المصغرة قد انتهت من قياس الوقت. وبسبب كل هذا ، أخذني بدء TDC الكثير من الوقت ، ولكن نتيجة لذلك عمل كل شيء كما ينبغي - عندما بدأ الليزر ، عمل TDC ، وتعتمد نتائج TDC بوضوح على المسافة إلى العائق. وهكذا ، بدأ الباحث عن نطاق الليزر النبضي العمل. يبقى تحويل الهيكل بأكمله إلى ماسح ليزر عملي.

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

قبل المحاذاة ، كتبت برنامجًا لجهاز التحكم ، والذي لم يحدد فقط المسافات ، بل قام أيضًا بقياس سعة الإشارة التي تم إنشاؤها بواسطة كاشف الذروة باستخدام ADC.

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

بعد ذلك ، يجب الانتباه إلى بعض ميزات معالجة البيانات المتأصلة في أجهزة ضبط نبض النبض.

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

الصورة

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

كانت النتيجة هذا الاعتماد:

الصورة

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

الخطوة التالية هي بدء تشغيل محرك المرآة والتشفير.

في وقت سابق ، اقتبست بالفعل صورة مرآة:

الصورة

محرك المرآة بدون فرش ، مشابه جدًا لتلك المستخدمة في مراوح التبريد. تخرج منها ثلاثة أسلاك - اثنان منها قوة ، والآخر هو إشارة سرعة النبض. يتم توصيل جميع هذه الأسلاك بوحدة الواجهة ، بينما لا يتم استخدام إشارة السرعة التي يولدها المحرك - يعتمد التحكم على البيانات من المشفر.
كما ترى من الصورة ، يتم تثبيت قرص شفاف يحتوي على تسميات التشفير على محور المحرك. قد تلاحظ وجود علامة صفر على القرص.

تم تثبيت برنامج التشفير على لوحة صغيرة ومغطى بالكامل بشاشة معدنية ، بحيث لا يمكن تحديد علاماته. ومع ذلك ، استنادًا إلى حجمه ودبابيسه ، قررت أنه كان ترميز HEDS-9040 التربيعي:

الصورة

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

كما أفهمها ، تم تشغيل Schmitt وتم تثبيت بعض المنطق على اللوحة ، وجمع البيانات من القنوات A و B والفهرس (إشارة علامة الصفر).

هذه هي الطريقة التي تبدو بها الإشارة الصادرة عن لوحة التشفير وإشارة الفهرس المأخوذة مباشرة من التشفير.

الصورة

كما يمكن رؤيته ، أثناء إشارة الفهرس ، يتم إلغاء نبضات التشفير. كما اتضح ، ولدت لوحة التشفير 500 نبضة لكل دورة ، ولكن مؤقت وحدة تحكم T2 ، الذي يتصل به خط التشفير ، يمكن أن يعمل في وقت واحد على حافتي النبضات ، مما يعطي 1000 مقاطعة لكل ثورة المرآة. تتوافق هذه القيمة مع الدقة الزاوية المعلنة للماسح الضوئي عند 0.36 درجة.

لقد قمت بضبط مؤقت T2 على "وضع الالتقاط" ، والذي يسمح لي بقياس الوقت بين المقاطعات من المشفر. يتم استخدام الوقت الذي تم الحصول عليه للكشف عن وضع "صفر" للمرآة ، وتثبيت سرعة دوران المحرك. في الوقت نفسه ، يتم حساب عدد الانقطاعات ، مما يسمح لك بتحديد موضع المرآة.

بعد عمل برنامج التشفير ، وتمكنت من بدء التحكم في سرعة المحرك ، كان من الممكن تجميع الماسح الضوئي بالكامل. بسبب الشكل المعقد للألواح والبصريات ، اتضح أن التصميم متقن إلى حد ما: لم يكن من السهل تجميع مثل هذا التصميم - دقة ترتيب الأجزاء الفردية مهمة جدًا للماسح الضوئي. إذا لم يتطابق محور المرآة مع المحور البصري لجزء معين المدى ، فقد يؤدي ذلك إلى حقيقة أن مستوى المسح سيكون منحنيًا أو مائلًا بقوة.

الصورة

الصورة



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

الصورة

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

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

ونتيجة لذلك ، كان من الممكن الحصول على سرعة مسح تصل إلى 20 دورة في الثانية. عادةً ما يتم اكتشاف مسافات تصل إلى 10-15 مترًا بجهد APD يبلغ 135 فولت. عند جهد 145 فولت ومع تصفية إضافية للإشارة ، من الممكن قياس المسافات حتى 30 مترًا (على الرغم من أنني لست متأكدًا مما إذا كان هذا آمنًا للكشف الضوئي).

تجدر الإشارة إلى أن سرعة الإرسال القصوى في الماسح الضوئي الأصلي هي 115200 بت / ثانية ، مما يسمح لك بنقل جميع البيانات فقط بسرعة حوالي 11 دورة في الثانية.

كما ذكرت ، في برنامجي الثابت ، أنقل البيانات بسرعة 500 كيلوبت / ثانية ، الأمر الذي يمكن أن يزيد بشكل كبير من عدد عمليات المسح المرسلة في الثانية. وبسبب حد سرعة UART ، لم أقم بزيادة سرعة المسح إلى 25 دورة في الثانية. ألاحظ أنه في التصميم الأصلي للماسح الضوئي ، تتم معالجة البيانات في الماسح الضوئي نفسه ، لذلك لا تؤثر سرعة نقل البيانات المنخفضة بشكل خاص على أي شيء.

نظرًا لأن الماسح الضوئي يعمل الآن بدون غلاف ، فقد كان من الممكن زيادة مساحة المسح إلى 208 درجة مقابل 190 في التصميم الأصلي.

تصور البيانات الواردة من الماسح الضوئي:

الصورة

من الواضح أن الماسح الضوئي يجب أن يؤدي بعض الوظائف المفيدة ، لذلك قررت التحقق من تشغيله في ROS في SLAM ، ومقارنة النتائج مع نتائج ماسح ليزر محلي الصنع . للقيام بذلك ، قمت بتثبيته على Roomba ، حيث تم تثبيت ماسح ضوئي محلي الصنع مسبقًا.

عرض ماسح ضوئي Leuze مثبت على Roomba (تدور المرآة بحيث تظهر ضبابية): نتيجة لعملية hector_slam ، تمكنا من الحصول على خريطة الشقة هذه (تظهر الجدران باللون الأصفر): نظرًا لأن المكنسة الكهربائية تنتقل على مستوى الأرضية ، فإنها "ترى" الأثاث بشكل أساسي. ولكن يتم الحصول على هذه البطاقة إذا كنت تحمل المكنسة الكهربائية ببساطة في يديك على مستوى الحزام: في هذه الحالة ، تكون جدران الشقة "مرئية" في كثير من الأحيان.

الصورة



الصورة





الصورة



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

لسوء الحظ ، على الرغم من جودة المسح الضوئي الجيدة جدًا ، إلا أن هذا الماسح غير مناسب للروبوت المستقل - فهو يتميز بأبعاد كبيرة جدًا واستهلاك طاقة (حوالي 7.2 واط).
أين يمكنني استخدام هذا الماسح الضوئي؟ في وقت سابق ، عند مناقشة ماسح ضوئي محلي الصنع ، غالبًا ما يُسألني عن إمكانية إنشاء ماسح ضوئي ثلاثي الأبعاد ، وحان الوقت للقيام بذلك! من المفيد هنا سرعة مسح عالية إلى حد ما. بالطبع ، من خلال الدقة ، لا يمكن مقارنة هذا الماسح الضوئي بالماسحات الضوئية التي تستخدم مبدأ التثليث لقياس المسافة (مع خط ليزر أو جهاز عرض (SLS)) ، ولكن يمكنها مسح مساحات كبيرة - أماكن ، وأقسام الشوارع.

من أجل إعادة إنشاء ماسح ضوئي ثنائي الأبعاد ثلاثي الأبعاد ، تحتاج إلى تزويده بالقدرة على التدوير على طول محور آخر. قررت أن أجعل الماسح الضوئي الخاص بي يستخدم نفس مبدأ المسح الشعاعي كما هو الحال في الماسح الضوئي من هذاالمقالات. للقيام بذلك ، قمت بوضع ماسح Leuze "مستلقيًا" بحيث تكون مستوي المسح عموديًا على الأرض. بعد ذلك ، كان من الضروري تحقيق دوران بطيء سلس للماسح الضوئي بالكامل حول المحور. الصعوبة الرئيسية - يجب أن يدور الماسح الضوئي دون دقات وتشوهات ، مما سيؤدي إلى تشويه عمليات المسح. كما اتضح ، في المنزل ، من الصعب عمل مجموعة تحمل يمكن أن توفر مثل هذا الدوران الدقيق. لذلك ، قررت استخدام رأس VHS لمسجل الشريط كوحدة تحمل - تحتوي على محملين ، مصنوعة بدقة عالية جدًا وقادرة على تحمل وزن الماسح الضوئي. التصميم الناتج مدفوع بمحرك السائر.

يبدو الماسح ثلاثي الأبعاد المجمع كما يلي: عرض الماسح الضوئي المركب على حامل ثلاثي الأرجل:

الصورة



الصورة

على اليسار توجد بطارية 12 فولت ، وهي أيضًا ثقل موازن. نظرًا لأن الماسح الضوئي Leuze يتطلب 24 فولت للتشغيل ، كان علي تثبيت محول DC / DC تصاعدي تم تجميعه على أساس شريحة XL6009 على الماسح الضوئي. يتم التحكم في محرك السائر الخاص بالماسح الضوئي بواسطة وحدة على A4988 و Arduino ، مما يوفر دورانًا بسرعة معينة. يتم توصيل كل من ماسح Leuze (عبر محول USB-UART) و Arduino عبر محور USB بسلك بجهاز كمبيوتر يلتقط البيانات. في الشكل الحالي ، لا يتم مزامنة دوران مرآة الماسح الضوئي ودوران الماسح الضوئي بالكامل - يتم اختيار سرعة دوران الماسح الضوئي بحيث عندما يتم تدويره بمقدار 0.36 درجة ، يمكن للمرآة أن تقوم بثلاث دورات على الأقل. نظرًا لعدم وجود تزامن سريع ، اضطررت إلى نقل معلومات موضع المزامنة من Arduino إلى ماسح Leuze.يتم تنفيذ ذلك بكل بساطة - عندما يدور Arduino الماسح الضوئي لكل 0.36 درجة ، فإنه يغير مستوى الإشارة في أحد المحطات. يتم إرسال هذه الإشارة إلى وحدة معالج الماسح الضوئي (إلى الموصل غير المستخدم لمستشعر حالة الزجاج الواقي). يتم إرسال معلومات حول حالة هذه الإشارة في بداية كل إرسال للماسح الضوئي - وبالتالي فإن البرنامج المكتوب ذاتيًا للكمبيوتر الشخصي الذي يتحكم في الماسح الضوئي يتلقى معلومات حول حركة الماسح الضوئي ويحدد الزاوية التي يتم تدويرها بواسطتها.يتلقى معلومات حول حركة الماسح الضوئي ويحدد الزاوية التي يدور بها.يتلقى معلومات حول حركة الماسح الضوئي ويحدد الزاوية التي يدور بها.

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

مثال على فحص غرفة واحدة: مثال على غرفة تم لصقها من عدة: الجزء الممسوح من المدخل: مقطع فيديو يظهر نتائج الماسح الضوئي الناتج:

الصورة



الصورة



الصورة





الكود المصدري لبرنامج التحكم في Github

Source: https://habr.com/ru/post/ar396357/


All Articles