فهرست مطالب:

اسکنر نقطه XYZ با استفاده از رمزگذارهای دورانی نجات یافته: 5 مرحله
اسکنر نقطه XYZ با استفاده از رمزگذارهای دورانی نجات یافته: 5 مرحله

تصویری: اسکنر نقطه XYZ با استفاده از رمزگذارهای دورانی نجات یافته: 5 مرحله

تصویری: اسکنر نقطه XYZ با استفاده از رمزگذارهای دورانی نجات یافته: 5 مرحله
تصویری: قسمت 4 آموزش اسکن: اسکن دستی و اتوماتیک به همراه تفاوت‌هایشان 2024, جولای
Anonim
اسکنر نقطه XYZ با استفاده از رمزگذارهای روتاری نجات یافته
اسکنر نقطه XYZ با استفاده از رمزگذارهای روتاری نجات یافته

با به دست آوردن تعداد زیادی رمزگذار نوری دور ریخته شده از محل کارم ، سرانجام تصمیم گرفتم کاری سرگرم کننده/مفید با آنها انجام دهم.

من اخیراً یک چاپگر سه بعدی جدید برای خانه خود خریداری کرده ام و چه چیزی می تواند از آن بهتر از یک اسکنر سه بعدی تعریف کند! این پروژه همچنین فرصتی مناسب را برای استفاده از چاپگر سه بعدی من برای ساخت قطعات مورد نیاز فراهم کرد.

تدارکات

رمزگذارهای نوری و سنسورهای نوری مربوطه

آردوینو UNO

سپر نمونه اولیه اختیاری

ریل های فولادی

دسترسی به چاپگر سه بعدی

مرحله 1: رمزگذارهای نوری

رمزگذارهای نوری
رمزگذارهای نوری
رمزگذارهای نوری
رمزگذارهای نوری
رمزگذارهای نوری
رمزگذارهای نوری

تقریباً هر کدگذار دوار می تواند برای این پروژه استفاده شود ، به شرطی که تعداد نسبتاً بالایی از "کلیک" در میلی متر را در اختیار شما قرار دهد. بدیهی است رمزگذارهای مختلف به محلول مناسب نصب نیاز خواهند داشت.

من از یک پیوستگی سنج برای تعیین نمودار سیم کشی سنسورهای عکس استفاده کردم.

مرحله 2: قطعات چاپ سه بعدی

قطعات چاپ سه بعدی
قطعات چاپ سه بعدی
قطعات چاپ سه بعدی
قطعات چاپ سه بعدی

این قطعات رمزگذارهای دوار را در خود جای داده و اسلایدی را برای ریل فراهم می کند. محفظه رمزگذار تک دارای دو سوراخ در پشت است تا ریل های متقاطع به آن متصل شوند. محفظه رمزگذار دوگانه به سادگی دو محفظه واحد است که در زوایای راست با هم ادغام شده اند.

من این پایه ها را روی fusion360 طوری طراحی کردم که متناسب با انتخاب رمزگذارها و ریل های من باشد ، محور رمزگذار دارای یک قطعه کوتاه از غلاف لاستیکی تیرکمان است که به آن کمک می کند تا محور فولاد ضد زنگ را بهتر بگیرد.

شما می خواهید شفت آزادانه لغزیده و هنگامی که به صورت عمودی نگه داشته می شود از داخل محفظه بیفتد ، با این حال باید فشار کافی را روی رمزگذار وارد کند تا لغزش نکند. چیزی که برای من موثر بود این بود که اجازه دادم لغزش شفت 0.5 میلی متر با شفت رمزگذار همپوشانی داشته باشد. لاستیک تیرکمان به اندازه کافی نرم است که به همان میزان تغییر شکل می دهد و کشش خوبی را ایجاد می کند.

مرحله 3: نمودار سیم کشی

نمودار سیم کشی
نمودار سیم کشی

مدار بسیار ساده است. سنسورهای نوری برای دیودهای ساطع کننده IR به مقداری جریان ، برای دیودهای عکس به مقاومت و کشش نیاز دارند.

من برای دیودهای emitter سری 5mA تصمیم گرفتم ، در این رمزگذار خاص افت ولتاژ در دیودها 3.65V است. من از منبع تغذیه 5 ولت آردوینو استفاده می کنم که 1.35 ولت را برای مقاومت باقی می گذارد ، در 5 میلی آمپر این مقدار 270 اهم است.

10 کیلو اهم برای کشش ها انتخاب شد زیرا دیودهای عکس فقط می توانند جریان کوچکی را غرق کنند ، 10 کیلو اهم برای دکمه فشار نیز استفاده شد. یک دکمه برای استفاده در برد اولیه وجود دارد که قبلاً به زمین متصل شده است ، فقط یک مقاومت کششی به آن ارائه دهید و آن را به پین ورودی مورد نظر وصل کنید.

مرحله 4: کد آردوینو

کد آردوینو
کد آردوینو
کد آردوینو
کد آردوینو
کد آردوینو
کد آردوینو

کد نیاز به توضیح کمی دارد زیرا عملکرد آن ممکن است فوراً مشخص نباشد ، اما باید به این طریق بهینه سازی شود تا بتواند 3 رمزگذار را به سرعت انجام دهد.

اولا ما فقط می خواهیم داده های جهت را پردازش کنیم اگر در موقعیت رمزگذار تغییری ایجاد شده باشد.

تغییرات = new_value ^ مقدار ذخیره شده ؛

برای به دست آوردن وضوح بیشتر از رمزگذارهای من ، باید لبه های بالا و پایین را پردازش کنم.

در تنظیمات من ، رزولوشن من 24 کلیک در 1 سانتی متر است.

این ما را با چند سناریو مواجه می کند.

S1 ثابت 0 است و S2 از 0 به 1 تغییر کرده است

S1 ثابت 0 است و S2 از 1 به 0 تغییر کرده است

S1 ثابت 1 است و S2 از 0 به 1 تغییر می کند

S1 ثابت 1 است و S2 از 1 تا 0 تغییر حالت می دهد

S2 ثابت 0 است و S1 از 0 به 1 تغییر کرده است

S2 ثابت 0 است و S1 از 1 به 0 تغییر کرده است

S2 ثابت 1 است و S1 از 0 تا 1 تغییر حالت می دهد

S2 ثابت 1 است و S1 از 1 تا 0 تغییر حالت می دهد

این شرایط در جداول حقیقت بالا بهتر درک می شود ، همچنین هر شرط یک "جهت" به نام دلخواه 0 یا 1 ارائه می دهد.

نمودارها دو سرنخ حیاتی به ما می دهند:

1) یک نمودار کاملاً معکوس نمودار دیگر است ، بنابراین اگر یکی از آنها را داشته باشیم ، می توانیم به سادگی با معکوس کردن خروجی ، دیگری را محاسبه کنیم. ما خروجی را وارونه می کنیم فقط اگر یک پین در حال تغییر باشد و دیگری نتواند ، می توانیم یکی را دلخواه انتخاب کنیم.

2) نمودار به سادگی XOR سیگنال های S1 و S2 است. (نمودار دیگر NOT این است).

در حال حاضر درک کد ساده است.

// به صورت موازی در PORT بخوانید // به یاد داشته باشید جفت های مجاور متعلق به یک حالت رمزگذار مشابه هستند = PINB & 0x3f؛ // در صورت وجود هرگونه اختلاف = hold ^ ، چه پین هایی تغییر کرده اند ؛ // سیگنال های S1 و S2 مجاور برای بدست آوردن جدول حقیقت // ساده ترین راه این است که یک کپی از وضعیت فعلی // تهیه کرده و آن را با یک بیت جستجو به سمت راست = state >> 1؛ // در حال حاضر بیت ها برای حالت XOR dir = lookup ^ تراز شده اند. // به یاد داشته باشید ، اگر یکی از ورودی ها ثابت بماند ، جدول باید معکوس شود ، ما برای این مورد نیازی به دستور IF // نداریم. در حال حاضر بیت جهت مورد نظر // بیت راست هر جفت در متغیر 'dir' است // بیت دست چپ بی معنی است // متغیر 'diff' دارای بیتی است که 'set' را تغییر داده است // بنابراین ما یا '01' یا '10' // XOR این با بایت 'dir' بیت معنا را // برعکس می کند یا نه. dir ^= diff؛ // now update update hold hold = state؛ // اگر هر دو بیت برای این رمزگذار تغییر کرده باشد (diff & 0x03) {// جهت (if & dir & 0x01) {// را بر اساس نرم افزار و سیم کشی ++ یا ---z تعیین کنید ؛ } else {++ z؛ }} // ditto برای بقیه if (diff & 0x0c) {if (dir & 0x04) {++ y؛ } else {--y؛ }} if (diff & 0x30) {if (dir & 0x10) {--x؛ } else {++ x؛ }}

وقتی دکمه فشرده می شود ، مقدار فعلی XYZ را به یک برنامه ترمینال ارسال می کنیم.

داده های سریال کند است ، اما در حالت عادی موقعیت رمزگذارها در این مدت به هر حال تغییر نخواهد کرد.

داده ها به صورت شمارش خام ارسال می شوند. شما می توانید ریاضیات را انجام دهید و داده ها را بر حسب میلی متر یا اینچ ارسال کنید. به نظر من مقادیر خام به همان اندازه خوب است زیرا می توانیم شی را بعداً در نرم افزار مقیاس بندی کنیم.

مرحله 5: اولین اسکن

اولین بررسی
اولین بررسی
اولین بررسی
اولین بررسی
اولین بررسی
اولین بررسی
اولین بررسی
اولین بررسی

جمع آوری نقاط یک روند کند است ، من پروب را در گوشه بالا سمت چپ قرار می دهم و آردوینو را تنظیم مجدد می کنم.

این موقعیت را به عنوان خانه صفر می کند.

سپس کاوشگر را به محل مورد نظر منتقل کنید ، آن را ثابت نگه دارید و دکمه "عکس فوری" را فشار دهید.

برای این نمونه نسبتاً بزرگ فقط 140 پوند گرفتم ، بنابراین جزئیات در مورد محصول نهایی زیاد نیست.

داده ها را در یک فایل. PCD ذخیره کرده و سرصفحه را اضافه کنید

#. PCD v.7 - فرمت فایل Data Cloud Data VERSION.7 FIELDS x y z اندازه 4 4 4 TYPE F F F COUNT 1 1 1 WIDTH (امتیاز شما) HEIGHT 1 VIEWPOINT 0 0 0 1 1 0 0 0 POINTS (تعداد امتیاز شما)

شمارش نقطه را در سرصفحه قرار دهید ، این برای هر ویرایشگری که شماره خطوط را در اختیار شما قرار می دهد آسان است.

نقاط فوق را می توان در freeCad مشاهده کرد ، سپس از freeCad به عنوان فایل. PLY صادر می شود.

. PLY را در MeshLab باز کرده و شیء را سطح کنید. انجام شده!!

توصیه شده: