فهرست مطالب:

توزیع کننده فیلامیک رباتیک برای آردوینو: 8 مرحله (همراه با تصاویر)
توزیع کننده فیلامیک رباتیک برای آردوینو: 8 مرحله (همراه با تصاویر)

تصویری: توزیع کننده فیلامیک رباتیک برای آردوینو: 8 مرحله (همراه با تصاویر)

تصویری: توزیع کننده فیلامیک رباتیک برای آردوینو: 8 مرحله (همراه با تصاویر)
تصویری: گوز زدن پریانکا چوپرا هنرپیشه بالیوود در یکی از برنامه های لایف تلویزیونی |C&C 2024, جولای
Anonim
Image
Image

چرا یک ابزار موتوری

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

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

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

این کیت در Tindie.com موجود است

مرحله 1: محتوای کیت

محتوای کیت
محتوای کیت
محتوای کیت
محتوای کیت

این کیت شامل تمام قطعات و مکانیک های چاپ شده سه بعدی برای مونتاژ دیسپنسر رشته ای موتور دار می باشد. در عوض دو قسمت اختیاری وجود دارد: موتور و برد کنترل موتور.

در تنظیماتم از موتور برس دار 12 ولت مک لنان استفاده کرده ام ، اما هر موتور دنده ای با قطر 37 میلی متر می تواند به درستی در قسمت پشتیبانی موتور قرار گیرد.

بهترین عملکردها با سپر آردوینو TLE94112LE توسط Infineon (بررسی کامل در اینجا) انجام می شود. این برد کنترل کننده موتور DC می تواند همزمان از 6 کیت توزیع کننده روباتیک مختلف پشتیبانی کند.

من کل سیستم را بر روی Arduino UNO R3 و برد سازگار با Arduino XMC1100 Boot kit توسط Infineon آزمایش کرده ام و سیستم با هر دو برد کنترل کننده میکرو بسیار خوب پاسخگو بود.

استفاده از سپر TLE94112LE پیشنهاد می شود اما ضروری نیست. هر کنترل کننده موتور DC برای آردوینو - از جمله پروژه خود شما! - می تواند با این ابزار خوب کار کند

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

ابزارهای مورد نیاز شما

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

مرحله 2: پروژه و طراحی

پروژه و طراحی
پروژه و طراحی
پروژه و طراحی
پروژه و طراحی
پروژه و طراحی
پروژه و طراحی

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

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

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

برای ایجاد طرح ، یک سری فرضیات را دنبال کردم:

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

این نتیجه ای است که من به آن رسیدم.

مرحله 3: مونتاژ پایه

مونتاژ پایگاه
مونتاژ پایگاه
مونتاژ پایگاه
مونتاژ پایگاه
مونتاژ پایگاه
مونتاژ پایگاه

اولین مرحله مونتاژ پایه با سنسور وزن است.

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

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

اکنون با استفاده از پیچ های آلن ، چهار پایه بلبرینگ در پایه بالا را با چهار سوراخ تنظیم ثابت کنید. تکیه گاه های بلبرینگ را طوری تنظیم کنید که موازی نگه داشته شوند. بسته به عرض رول های رشته خود فاصله را تنظیم کنید.

مرحله بعدی مونتاژ نوار سنسور وزن است که پایه پایین و بالا را با هم نگه می دارد. سنسور وزن دارای دو پیچ متفاوت آلن در هر دو طرف است و شما باید آن را جهت دهید تا برچسب حداکثر وزن هنگامی که پایه به درستی قرار گرفته است قابل خواندن باشد. پایه پایینی دارای دو سوراخ جانبی اضافی برای رفع تقویت کننده سنسور وزن A/D است. تقویت کننده مبتنی بر IC HX711 تغذیه می شود و از طریق چهار سیم به برد آردوینو متصل می شود ، همانطور که در برگه اطلاعات حسگر پیوست نشان داده شده است.

آخرین مرحله جمع آوری پایه کامل کامل روی سنسور وزن است که قبلاً در قسمت پایین ثابت شده است.

اولین جزء راه اندازی شده است!

مرحله 4: مونتاژ قطعات موتور Spool Motion

مونتاژ قطعات موتور Spool Motion
مونتاژ قطعات موتور Spool Motion
مونتاژ قطعات موتور Spool Motion
مونتاژ قطعات موتور Spool Motion
مونتاژ قطعات موتور Spool Motion
مونتاژ قطعات موتور Spool Motion

روش آسان تر برای جمع آوری موتور حرکت قرقره این است که چهار قطعه مهم را جداگانه مونتاژ کرده و سپس ساختمان نهایی را تکمیل کنید:

موتور DC گیربکس دار در جعبه انتقال موتور

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

دنده بزرگ رانده شده

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

نگهدارنده قفل قرقره

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

همانطور که در تصاویر نشان داده شده است ، نگهدارنده قفل در دو قسمت ساخته شده است. ابتدا مهره M4 را در قسمت بزرگتر بلوک قرار دهید سپس قسمت دوم (پوشش) را با چسباندن بلوک ها به هم بچسبانید. مهره در داخل نگهدارنده قفل محبوس می ماند که به محور پیچ خورده پیچ می شود.

جعبه بلبرینگ

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

  1. اولین مهره M4 را به یکی از دو انتهای محور هدایت شده با نگهدارنده قرقره پیچ کنید
  2. اولین بلبرینگ را وارد کنید
  3. جدا کننده را وارد کنید
  4. بلبرینگ دوم را وارد کنید
  5. مهره دوم را پیچ کنید و آن را به طور متوسط قفل کنید. جداکننده پلاستیکی داخلی با نیروی کافی برای نگه داشتن وسایل و همچنین استفاده طولانی مدت مخالفت می کند.
  6. بلبرینگ های مونتاژ شده را در جعبه بلبرینگ وارد کنید. این کار باید با اجبار انجام شود تا نتایج بهتری به دست آورد ، بنابراین هنگام تصفیه قطعات پلاستیکی ، قسمت داخلی جعبه را بیش از حد بزرگ نکنید.

ما برای مونتاژ قطعات نهایی آماده هستیم!

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

تکمیل مونتاژ موتور حرکت
تکمیل مونتاژ موتور حرکت
تکمیل مونتاژ موتور حرکت
تکمیل مونتاژ موتور حرکت
تکمیل مونتاژ موتور حرکت
تکمیل مونتاژ موتور حرکت

ما در حال اتمام مجموعه سازه هستیم و می توانیم حرکت آزمایش را انجام دهیم. حالا دوباره به چند چسب احتیاج دارید. جعبه یاتاقان - که در مرحله قبل مونتاژ شده است - باید در سوراخ نگهدارنده جعبه تکیه گاه موتور دو بازو قرار داده شود و احتمالاً قبل از پیچاندن جعبه روی جعبه چسبانده شود.

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

هنگامی که این تنظیم قبل از افزودن چرخ دنده (بزرگتر) کامل می شود ، حلقه جداکننده کوچک را اضافه کنید: چرخ دنده بزرگ را با چرخ دنده موتور هماهنگ می کند تا به عنوان یک واشر عمل کند تا مجموعه متحرک متحرک را ثابت کند.

سپس دنده راننده (کوچک) را در محور موتور وارد کنید. توجه داشته باشید که یک قسمت صاف در موتور و همچنین سوراخ مرکزی چرخ دنده وجود دارد تا چرخ دنده توسط موتور DC چرخانده شود.

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

ساختمان مکانیک کامل است!

مرحله 6: پاداش: چگونه پشتیبانی را برای مدیریت کیت سفارشی کردم

پاداش: چگونه پشتیبانی را برای مدیریت کیت سفارشی کردم
پاداش: چگونه پشتیبانی را برای مدیریت کیت سفارشی کردم
پاداش: چگونه پشتیبانی را برای مدیریت کیت سفارشی کردم
پاداش: چگونه پشتیبانی را برای مدیریت کیت سفارشی کردم
پاداش: چگونه پشتیبانی را برای مدیریت کیت سفارشی کردم
پاداش: چگونه پشتیبانی را برای مدیریت کیت سفارشی کردم

برای ثابت نگه داشتن کیت ، من یک ساختار بسیار ساده بر اساس دو لوله مربع آلومینیومی برای حمایت از ساختار پایه و حرکت ایجاد کردم. پایه با چهار پیچ به دو ریل (طول حدود 25 سانتیمتر) ثابت شده است و با چند تکیه گاه کوچک چاپ شده سه بعدی ، موتور را بدون نیاز به حرکت تثبیت می کنم تا درج و برداشتن رول رشته آسان شود.

هرکسی بسته به نحوه چیدمان میز کار خود می تواند راه حل خود را انتخاب کند.

مرحله 7: سیم کشی و اتصال به آردوینو

Image
Image
سیم کشی و اتصال به آردوینو
سیم کشی و اتصال به آردوینو

همانطور که در مرحله محتوای کیت توضیح داده شد ، من از سپر موتور Infineon TLE94112LE DC برای آردوینو استفاده کرده و موتور را روی Arduino UNO R3 و Infineon XMC110 Boot Kit تست کرده ام.

اگر می خواهید موتور (با نیاز به ویژگی های PWM) را با برد کنترل DC انتخابی کنترل کنید ، فقط دستورالعمل ها را با مشخصات فنی سپر خود تطبیق دهید.

نکته ای در مورد TLE04112LE Arduino Shield

یکی از محدودیت هایی که من با سایر محافظ های کنترل موتور برای آردوینو تجربه کرده ام این است که آنها از ویژگی های یک کنترلر کوچک (مانند پین های PWM و GPIO) استفاده می کنند. این بدان معناست که هیئت مدیره شما به این وظایف اختصاص داده می شود در حالی که تنها چند منبع دیگر (MPU و GPIO) برای مصارف دیگر در دسترس است.

با داشتن امکان قرار دادن دست روی سپر TLE94122LE Arduino برای آزمایش جاده ، بارزترین مزیت IC که برد بر اساس آن است ، فقط کامل بودن آن است. برد آردوینو تنها با استفاده از دو پین از طریق پروتکل SPI با سپر ارتباط برقرار می کند. هر فرمانی که به سپر ارسال می کنید توسط IC TLE94112LE بدون مصرف منابع MPU بصورت خودکار پردازش می شود. یکی دیگر از ویژگیهای قابل توجه برد Infineon امکان کنترل حداکثر شش موتور براش با سه کانال قابل برنامه ریزی PWM است. این بدان معناست که آردوینو می تواند یک یا چند موتور را راه اندازی کرده ، آنها را راه اندازی کرده و به کارهای دیگر ادامه دهد. این سپر برای پشتیبانی از شش رول رشته ای مختلف در حرکت همزمان ، تنها یکی از وظایف MPU است. با توجه به امکان مدیریت شش قرقره مختلف با یک آردوینو + محافظ هزینه های کنترل کننده میکرو کنترل در هر کنترل کننده رشته با کمتر از 5 یورو

سنسور وزن

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

من از یک لودسل ارزان قیمت در محدوده 0 تا 5 کیلوگرم به همراه یک برد کوچک مبتنی بر تقویت کننده HX711 AD استفاده کردم ، یک IC ویژه برای مدیریت سنسورهای لودسل. هیچ مشکلی در ارتباط وجود نداشت زیرا یک کتابخانه آردوینو به خوبی کار می کند.

سه مرحله برای تنظیم سخت افزار

  1. سپر را در بالای برد آردوینو یا کیت بوت Infineon XMC110 قرار دهید
  2. سیم های موتور را به اتصالات پیچ دار Out1 و Out2 سپر وصل کنید
  3. قدرت و سیگنال های تقویت کننده سنسور وزن HX711 AD را به پین های آردوینو وصل کنید. در این مورد من از پین 2 و 3 استفاده کرده ام اما همه پین های رایگان خوب هستند.

هشدار: صفحات 8 و 10 توسط سپر TLE94113LE برای اتصال SPI رزرو شده است

فقط همین! آماده راه اندازی نرم افزار هستید؟ برو جلو.

مرحله 8: مجموعه فرمان نرم افزار و کنترل

مجموعه فرمان نرم افزار و کنترل
مجموعه فرمان نرم افزار و کنترل
مجموعه فرمان نرم افزار و کنترل
مجموعه فرمان نرم افزار و کنترل
مجموعه فرمان نرم افزار و کنترل
مجموعه فرمان نرم افزار و کنترل
مجموعه فرمان نرم افزار و کنترل
مجموعه فرمان نرم افزار و کنترل

نرم افزار کامل مستند را می توانید از مخزن GitHub 3DPrinterFilamentDispenserAndMonitor بارگیری کنید

در اینجا ما تنها مهمترین بخشها و دستورات کنترل را در نظر می گیریم.

دلیلی وجود دارد که تعداد پین های موجود در Arduino UNO I تصمیم گرفت سیستم را از طریق ترمینال سریال USB کنترل کند. از آنجا که هر واحد موتوری بر اساس یک سنسور وزن است ، کنترل شش دستگاه پخش کننده رشته مختلف نیاز به خواندن داده های شش سنسور وزن دارد. هر لودسل دو پین "مصرف" می کند ، پین 0 و 1 برای سریال (Tx/Rx) و پین 8 و 10 برای کانال SPI متصل به سپر TLE94112LE رزرو شده است.

وضعیت سیستم

نرم افزار کنترل از طریق چهار حالت مختلف کار می کند که در filament.h تعریف شده است:

#تعریف SYS_READY "آماده" // سیستم آماده است

#تعریف SYS_RUN "در حال اجرا" // رشته مورد استفاده #تعریف SYS_LOAD "بار" // رول بارگذاری شد #تعریف SYS_STARTED "شروع شد" // برنامه شروع شد // کد وضعیت #تعریف STAT_NONE 0 #تعریف STAT_READY 1 #تعریف STAT_LOAD 2 #define 3

وضعیت: شروع شد

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

وضعیت: آماده

وضعیت آماده پس از یک تنظیم مجدد نرمال (ارسال شده از ترمینال سریال) رخ می دهد. این شبیه به برداشت فیزیکی است ، اما هیچ تار محاسبه نمی شود. هنگامی که سیستم در حال اجرا است ، فرمان ریست می تواند راه اندازی شود.

وضعیت: بارگیری

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

وضعیت: در حال اجرا

این وضعیت محاسبه وزن خودکار و پخش کننده فیلامنت خودکار را فعال می کند.

پیامهای پایانه

نسخه فعلی نرم افزار بسته به دستورات پیام های قابل خواندن انسان را به ترمینال باز می گرداند. پیامهای رشته ای در دو فایل سرصفحه تعریف می شوند: commands.h (پیامها و پاسخهای مربوط به فرمان) و filament.h (رشته هایی که توسط تجزیه کننده برای ایجاد پیامهای مرکب استفاده می شود).

دستورات

دو فایل مختلف در مدیریت دستورات دخیل هستند: commands.h شامل همه دستورات و پارامترهای مربوطه و filament.h شامل تمام ثابتها و تعاریف مورد استفاده در سیستم وزن دهی و تجزیه کننده.

در حالی که محاسبات داخلی به طور خودکار توسط نرم افزار انجام می شود ، من یک سری دستورات را برای تنظیم رفتار سیستم و کنترل دستی برخی از پارامترها پیاده کرده ام.

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

دستورات وضعیت

وضعیت فعلی سیستم را تغییر دهید و رفتار نیز تطبیق داده می شود

دستورات فیلامنت

با استفاده از دستورات جداگانه می توان ویژگی های رشته و رول را بر اساس رایج ترین وزن و اندازه های موجود در بازار تنظیم کرد.

دستورات واحد

اینها چند دستور برای تنظیم تجسم واحدهای اندازه گیری بر حسب گرم یا سانتی متر است. در حقیقت می توان این دستورات را حذف کرد و همیشه داده ها را در هر دو واحد نشان داد.

دستورات اطلاعاتی

بسته به وضعیت سیستم ، گروه های اطلاعات را نمایش دهید

دستورات موتور

موتور را برای تغذیه یا کشش رشته کنترل کنید.

همه دستورات حرکتی یک مسیر شتاب/کاهش را دنبال می کنند. دو دستور feed and pull دنباله کوتاهی را که در motor.h تعریف شده است با ثابت FEED_EXTRUDER_DELAY اجرا می کند در حالی که دستورات feedc و pullc به طور نامحدود اجرا می شود تا زمانی که فرمان توقف دریافت نشود.

اجرای دستورات حالت

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

این اصل بر اساس قرائت های وزنی است که متناسب با این محیط خاص است. ما انتظار داریم که مصرف فیلامنت نسبتاً کند باشد ، چاپگرهای سه بعدی تقریباً کند هستند و نوسانات وزن معمولی بستگی به ارتعاش محیط دارد (اگر همه موارد را روی چاپگر سه بعدی قرار ندهید بهتر است)

هنگامی که اکسترودر رشته را می کشد ، تفاوت وزن به طور چشمگیری (50 گرم یا بیشتر) در مدت زمان بسیار کمی افزایش می یابد ، معمولاً بین دو یا سه قرائت. این اطلاعات توسط نرم افزاری فیلتر می شوند که "نیاز به فیلامنت جدید" را کسر می کند. برای جلوگیری از خواندن اشتباه تغییرات وزن هنگام کار موتور به هیچ وجه نادیده گرفته می شود.

منطق کاربرد

منطق برنامه در.ino main (طرح آردوینو) در سه عملکرد توزیع می شود: setup () ، loop () و parseCommand (commandString)

این طرح از دو کلاس جداگانه استفاده می کند: کلاس FilamentWeight برای مدیریت کلیه محاسبات رشته ای و خواندن سنسور از طریق کلاس HX711 IC و MotorControl که از روش های سطح پایین سپر TLE94112LE Arduino استفاده می کند.

برپایی()

یکبار هنگام روشن شدن یا پس از بازنشانی سخت افزاری ، موارد کلاس ها را اولیه می کند ، سخت افزار و ارتباط ترمینال را راه اندازی می کند.

حلقه ()

تابع حلقه اصلی سه شرط مختلف را مدیریت می کند.

در حالی که دو کلاس برای سنسور وزن و موتورهای نسبتاً پیچیده وجود دارد ، این مزیت وجود دارد که درک و مدیریت طرح بسیار ساده است.

  1. بررسی کنید (در حالت خودکار) آیا اکسترودر به رشته بیشتری نیاز دارد
  2. اگر موتور در حال کار است ، خطاهای سخت افزاری را بررسی کنید (توسط TLE94112LE بازگردانده می شود)
  3. در صورت وجود اطلاعات سریال ، دستور را تجزیه کنید

parseCommand (commandString)

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

هر فرمان به عنوان یک ماشین حالت عمل می کند که بر پارامترهای سیستم تأثیر می گذارد. با پیروی از این منطق ، همه دستورات به سه عمل متوالی کاهش می یابد:

  1. ارسال یک فرمان به کلاس FilamentWeight (دستورات وزن) یا به کلاس MotorControl (دستورات موتور)
  2. محاسبه ای را برای به روز رسانی مقادیر وزن یا به روز رسانی یکی از پارامترهای داخلی انجام می دهد
  3. پس از اتمام اجرا ، ترمینال و خروجی اطلاعات را نمایش دهید

کتابخانه HX711 Arduino را نصب کنید ، نرم افزار را از GitHub بارگیری کنید و آن را در برد Arduino خود بارگذاری کنید و سپس لذت ببرید!

توصیه شده: