فهرست مطالب:

ابزار اندازه گیری نرخ تغذیه CNC ساخته شده از ضایعات: 5 مرحله
ابزار اندازه گیری نرخ تغذیه CNC ساخته شده از ضایعات: 5 مرحله

تصویری: ابزار اندازه گیری نرخ تغذیه CNC ساخته شده از ضایعات: 5 مرحله

تصویری: ابزار اندازه گیری نرخ تغذیه CNC ساخته شده از ضایعات: 5 مرحله
تصویری: آیا س*کس از پشت را دوست دارید ؟😱😂😂😱(زیرنویس فارسی) 2024, جولای
Anonim
ابزار اندازه گیری نرخ تغذیه CNC ساخته شده از ضایعات
ابزار اندازه گیری نرخ تغذیه CNC ساخته شده از ضایعات

آیا کسی تا به حال خواسته است نرخ تغذیه واقعی دستگاه CNC را اندازه گیری کند؟ احتمالاً نه ، تا زمانی که بیت های فرز پس از کار CNC سالم نباشند … اما وقتی آنها به طور منظم شروع به شکستن می کنند ، شاید زمان تحقیق فرا رسیده باشد. در این دستورالعمل می توانید تلاش برای تعیین نرخ تغذیه واقعی یک دستگاه CNC را دنبال کنید. این قسمت مهندسی معکوس یک چاپگر ، سیستم عامل آردوینو ، نرم افزار PC ، و نتایجی را که من با کمک همکارانم به دست آوردم ، و سطل زباله ای که به گنج تبدیل شده است را پوشش می دهد.

مرحله 1: مواد ، ابزارها ، دستگاه های مورد استفاده برای اجرای پروژه

وقتی شروع به کار روی این موضوع کردم ، یک لیست کوتاه از چیزهایی که به آنها نیاز داریم تهیه کردم:

  • مکانیزم حمل و نقل چاپگر جدا شده
  • ابزار دستی برای اصلاح آن
  • لحیم کاری ، لحیم کاری ، سیم
  • مولتی متر
  • اسیلوسکوپ یا تجزیه و تحلیل منطقی - این کاملاً ضروری نیست
  • منبع تغذیه
  • میکروسکوپ
  • آردوینو نانو + pinout
  • کامپیوتر با Arduino IDE ، Visual Studio 2008 Express + MS Charting tools نصب شده است
  • (MPU6050 - من از این استفاده نکردم)
  • مایل به مرور همه چیزهایی که نمی دانید چگونه انجام دهید

در ابتدا ، من فکر کردم که یک برد MPU6050 به من امکان می دهد نرخ تغذیه را در هر سه محور به طور همزمان اندازه گیری کنم. با داشتن شتاب سنج داخل آن ، مطمئن بودم که جمع بندی داده های شتاب سنج به من مقدار دلخواه را می دهد - سرعت در هر محور. پس از بارگیری و اصلاح قطعه آردوینو که داده های خام را در مانیتور سریال نمایش می داد ، یک برنامه رایانه کوچک در Visual Studio نوشتم که داده ها را پردازش می کرد و برای تفسیر راحت تر آن را روی نمودار ترسیم می کردم. من مجبور شدم Visual Studio C# Express 2008 و ابزارهای نمودار را برای این کار بارگیری کنم.

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

مرحله 2: موارد سخت افزاری که باید انجام شود

موارد سخت افزاری که باید انجام می شد
موارد سخت افزاری که باید انجام می شد
موارد سخت افزاری که باید انجام می شد
موارد سخت افزاری که باید انجام می شد
موارد سخت افزاری که باید انجام می شد
موارد سخت افزاری که باید انجام می شد
موارد سخت افزاری که باید انجام می شد
موارد سخت افزاری که باید انجام می شد

مهندسی معکوس

البته ، مکانیزم چاپگر هیچ شماره قطعه ای نداشت که بتوانم برای تعیین خواص دقیق آن استفاده کنم ، نیاز به کمی مهندسی معکوس است تا به جایی که می خواهیم برسیم. پس از بررسی دقیق مکانیسم و وسایل الکترونیکی ، تصمیم گرفتم که اولین چیزی که باید مشخص شود ، پین های سنسور نوری است. این کار باید انجام شود تا بتوانید همه چیز را به آردوینو وصل کنید. من قسمت پلاستیکی سیاه را جدا کردم ، PCB را استخراج کردم و سنسور را بررسی کردم: روی آن ROHM RPI-2150 نوشته شده بود. این باعث خوشحالی من شد ، امید زیاد بود که من یک برگه داده پیدا کنم. متأسفانه این بخش قدیمی یا سفارشی است - هیچ برگه ای در هیچ کجای وب یافت نمی شود. این بدان معناست که من باید مسائل را به دست بگیرم: با دانستن اینکه این سنسورها معمولاً دارای LED مادون قرمز و دو ترانزیستور عکس هستند ، یک مولتی متر را برداشتم ، آن را در حالت اندازه گیری دیود قرار دادم و شروع به اندازه گیری بین پین ها کردم.

پین های برق معمولاً به راحتی پیدا می شوند - خازن هایی در سرتاسر آنها وجود دارد و معمولاً با آثار گسترده ای روی PCB ها وصل می شوند. برای رد نویز بهتر ، آثار زمینی اغلب به چندین پد متصل می شوند.

پین های ورودی و خروجی چندان بی اهمیت نیستند. هنگام اندازه گیری روی یک دیود ، متر ولتاژ جلو خود را در یک جهت و اضافه بار (بی نهایت) در جهت دیگر نشان می دهد. من توانستم چهار دیود را بین پین ها شناسایی کنم ، به این نتیجه رسیدم که دیود چهارم باید نوعی دیود زنر یا TVS باشد ، زیرا درست بین پین های برق قطعه بود. مکان یابی اشعه مادون قرمز آسان بود ، یک مقاومت 89R به صورت سری در کنار آن وجود داشت. من با دو اندازه گیری دیود در دو پین باقی مانده باقی ماندم ، آنها باید دو گیرنده باشند.

نکته: این سنسورها دارای دو گیرنده هستند تا بتوانند با شمارش پالس ها علاوه بر تعیین موقعیت جهت حرکت را نیز تعیین کنند. این دو شکل موج خروجی 90 درجه خارج از فاز هستند ، این برای تولید یک پالس شمارش بالا یا شمارش معکوس استفاده می شود. با رعایت تعداد این پالس ها می توان موقعیت دقیق سر چاپ را تعیین کرد.

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

اتصال آردوینو

اتصال این "سنسور" جدید بسیار آسان است. فقط خروجی های سنسور را به D2 و D3 (پین های دارای قابلیت وقفه!) و خطوط منبع تغذیه و کدگذاری را شروع کنید.

مرحله 3: برنامه نویسی آردوینو

برنامه نویسی آردوینو
برنامه نویسی آردوینو

کد آردوینو بسیار ساده است. من یک تابع اختصاص دادم که هر بار که D2 لبه ای را می بیند اجرا می شود ، این تابع elapse از کد آردوینو است که پیوست کرده ام. اگر به سیگنال های رمزگذار درجه دوم نگاه کنید ، این را خواهید دید:

  • در یک جهت فاز A منطقی در هر فاز B لبه صعودی است
  • در جهت دیگر فاز A در هر لبه صعودی فاز B منطقی کم است

این خاصیت رمزگذاری بود که من از آن استفاده کردم: از آنجا که عملکرد elapse هر زمان که D2 دارای لبه رو به افزایش است اجرا می شود ، من فقط یک عدد if نوشتم که وقتی D3 زیاد است شمارنده را افزایش می دهد و وقتی D3 پایین است آن را کاهش می دهد. این در اولین تلاش جواب داد ، من مقدار شمارنده را به مانیتور سریال ارسال کردم و هنگام حرکت سر چاپگر بر روی شافت ، شاهد افزایش/کاهش آن بودم.

به طور خلاصه ، سیستم عامل موارد زیر را در عملکرد حلقه انجام می دهد:

  1. بافر دریافت سریال را برای هرگونه اطلاعات ورودی بررسی می کند
  2. اگر داده های ورودی وجود دارد ، بررسی کنید که آیا "1" است یا خیر
  3. اگر "1" باشد ، به این معنی است که نرم افزار رایانه درخواست مقدار متقابل دارد
  4. ارزش شمارنده را از طریق سریال به رایانه ارسال کنید
  5. از 1 شروع کنید

با این کار ، توپ در حال حاضر در زمین نرم افزار PC است. اجازه دهید وارد آن شویم!

مرحله 4: نرم افزار Visual Studio C#

هدف از برنامه VS C# انتقال بار محاسباتی از آردوینو به رایانه شخصی بود. این نرم افزار اطلاعاتی را که آردوینو ارائه می دهد دریافت می کند ، محاسبه می کند و سرعت را در قالب یک نمودار نشان می دهد.

کاری که من برای اولین بار انجام دادم این بود که نحوه برقراری ارتباط سریال در C#را در گوگل جستجو کنم. من اطلاعات زیادی را در MSDN.com همراه با یک مثال خوب پیدا کردم ، سپس آنچه را که نیازی به آن نداشتم بیرون انداختم - اساساً همه چیز به جز قسمت خواندن. من پورت COM و سرعت را مطابق با آردوینو تنظیم کردم ، سپس چند بار آن را امتحان کردم و همه چیزهایی که روی پورت سریال آمده بود را در یک جعبه متن چند خطی ریختم.

پس از خواندن مقادیر ، من فقط می توانم از توابع readto & split برای جدا کردن یک اندازه گیری از یکدیگر و از کاراکترهای محدود کننده استفاده کنم. اینها روی یک کنترل نمودار ترسیم شده اند و مقادیر روی صفحه ظاهر می شوند.

اگر نمی توانید کنترل نمودار را در جعبه ابزار VS خود مشاهده کنید ، می توانید مشکل را در گوگل جستجو کرده و راه حل را در اینجا بیابید (به دنبال پاسخ شماره 1 باشید): پیوند

اصل اندازه گیری

برای یافتن ارتباط بین تعداد شمارش ها و مسیری که هد طی می کند ، مقدار شمارش را صفر کردیم ، سر چاپگر را 100 میلی متر با دست حرکت دادیم و تغییر تعداد را مشاهده کردیم. در نهایت به نسبت زیر رسیدیم: 1 شمارش = 0.17094 میلی متر.

از آنجا که ما می توانیم فاصله را پرس و جو کنیم و زمان بین نمونه ها را اندازه گیری کنیم ، می توانیم سرعت تغییر موقعیت را محاسبه کنیم - ما می توانیم سرعت را محاسبه کنیم!

به لطف TMR0 زمانبندی نرم افزاری 50ms وجود دارد ، اما مشاهده کردیم که این زمان بندی ها خیلی دقیق نیستند. در واقع ، پس از اندازه گیری سرعت نرم افزار ، متوجه شدیم که زمان 50ms به هیچ وجه 50 میلی متر نیست. این بدان معناست که نمونه ها با فاصله ثابت گرفته نشده اند ، بنابراین محاسبه سرعت نیز نمی تواند از یک زمان ثابت ثابت استفاده کند. هنگامی که این مسئله را پیدا کردیم ، به راحتی می توان پیش رفت: ما تفاوت فاصله و تفاوت زمان را در نظر گرفتیم و سرعت را به عنوان D_distance/D_time (به جای D-distance/50ms) محاسبه کردیم.

همچنین ، از آنجا که معادله ما سرعت را در واحد میلی متر/50 میلی ثانیه برمی گرداند ، باید این عدد را در 1200 ضرب کنیم تا مسافتی را که سر در یک دقیقه طی می کند ، در [میلی متر/دقیقه] بدست آوریم.

توجه: نرم افزار کنترل آسیاب CNC Mach 3 نرخ تغذیه را بر حسب [میلی متر بر دقیقه] تعریف می کند.

فیلتر کردن

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

تنظیمات خوب در نرم افزار

به منظور تغییر نرخ نمونه و میزان فیلتر در طول زمان اجرا ، نوارهای پیمایش اضافه شدند - یکی برای هر کدام. همچنین ، قابلیت پنهان کردن توطئه ها نیز معرفی شد.

مرحله 5: نتایج

نتایج
نتایج
نتایج
نتایج
نتایج
نتایج
نتایج
نتایج

پس از آماده شدن قطعات سخت افزاری و نرم افزاری ، ما سه مجموعه اندازه گیری را با نرم افزار mach 3 + my انجام دادیم ، نتایج را در تصاویر پیوست مشاهده کنید. آزمایش های بعدی دقت بیشتری را نشان داد ، با افزایش میزان فیلتر و نمونه. نمودارها سرعت اندازه گیری شده را با قرمز ثابت و متوسط را با آبی نقطه چین نشان می دهند.

گفته می شود ، به نظر می رسد 3 Mach این تنظیمات سرعت را به طور دقیق انجام می دهد ، اما اکنون ما به طور قطع می دانیم:)

امیدوارم از این آموزش کوتاه درباره مهندسی معکوس و تبدیل آب به شراب لذت برده باشید!

به سلامتی!

توصیه شده: