সুচিপত্র:

স্মার্ট 3 ডি প্রিন্টার ফিলামেন্ট কাউন্টার: 5 টি ধাপ (ছবি সহ)
স্মার্ট 3 ডি প্রিন্টার ফিলামেন্ট কাউন্টার: 5 টি ধাপ (ছবি সহ)

ভিডিও: স্মার্ট 3 ডি প্রিন্টার ফিলামেন্ট কাউন্টার: 5 টি ধাপ (ছবি সহ)

ভিডিও: স্মার্ট 3 ডি প্রিন্টার ফিলামেন্ট কাউন্টার: 5 টি ধাপ (ছবি সহ)
ভিডিও: থ্রি-ডি প্রিন্টার এখন বাংলাদেশে - 3D Printer Unboxing and Setup - Creality Ender-3 V2 Neo 3D Printer 2024, সেপ্টেম্বর
Anonim
স্মার্ট থ্রিডি প্রিন্টার ফিলামেন্ট কাউন্টার
স্মার্ট থ্রিডি প্রিন্টার ফিলামেন্ট কাউন্টার

কেন ফিলামেন্ট গণনা বিরক্ত? কয়েকটি কারণ:

সফল প্রিন্টের জন্য সঠিকভাবে ক্যালিব্রেটেড এক্সট্রুডারের প্রয়োজন হয়: যখন জিকোড এক্সট্রুডারকে ফিলামেন্ট 2 মিমি সরাতে বলে, তখন ঠিক 2 মিমি সরানো দরকার। খারাপ জিনিস ঘটে যদি এটি অতিরিক্ত এক্সট্রুড বা কম এক্সট্রুড হয়। একটি ভাল-ক্যালিব্রেটেড কাউন্টার একটি এক্সট্রুডারকে সৎ রাখতে পারে।

একটি প্রদত্ত মুদ্রণ কতটুকু মোট ফিলামেন্ট (দৈর্ঘ্য এবং ওজন উভয় ক্ষেত্রে) নেবে এবং আমি সেই মানগুলি পরীক্ষা করতে চাই।

ফিলামেন্টের চলাচল পরিমাপ করা আমাকেও জানতে দিন কখন মুদ্রণ শুরু হয়েছে এবং কখন এটি বন্ধ হয়েছে।

আমার প্রিন্টারের সামনের কুৎসিত দৈত্য লোগো অপসারণের ফলে যে স্থানটি বাকি ছিল তা coverেকে রাখার জন্য আমার কিছু দরকার ছিল।

এটি জোশ

আমি এই নির্দেশযোগ্য দ্বারা অনুপ্রাণিত হয়েছিলাম, যা একটি 3D প্রিন্টারের জন্য একটি ফিলামেন্ট কাউন্টার হিসাবে একটি পুরানো PS/2 মাউসকে পুনর্নির্মাণ করেছিল। এটি কেবল একটি থ্রিডি প্রিন্টারে একটি দরকারী বৈশিষ্ট্য যোগ করেনি, এটি একটি পুরানো ডিভাইসকে পুনurপ্রতিষ্ঠিত করেছে যা অন্যথায় ল্যান্ডফিলের মধ্যে শেষ হয়ে যেত। কিন্তু সেই প্রকল্পটি মাউসের PS/2 ইন্টারফেসের চারপাশে নির্মিত হয়েছিল, যা অযথা কষ্টকর মনে হয়েছিল। তাই আমি এটিকে একমাত্র প্রয়োজনীয় উপাদান: রোটারি এনকোডার সম্পর্কে জানার সুযোগ হিসেবে গ্রহণ করেছি।

সরবরাহ

রোটারি এনকোডার

ESP32 ভিত্তিক দেব বোর্ড

I2C OLED ডিসপ্লে (দুই রঙের ইউনিট বিশেষ করে শীতল দেখায়)

ক্ষণস্থায়ী পুশবাটন

ডি-গ্রীসড 608ZZ ভারবহন

হার্ডওয়্যার স্টোর থেকে দুটি ও -রিং (~ 33 মিমি আইডি x ~ 1.5 মিমি প্রোফাইল ব্যাস - মন্তব্য দেখুন)

ঘেরের জন্য দুটি 2.5 মিমি স্ব-লঘুপাত স্ক্রু

আপনার প্রিন্টারে মাউন্ট সংযুক্ত করার জন্য দুটি 4 মিমি স্ক্রু, বাদাম এবং ওয়াশার

তারের গুচ্ছ

3D প্রিন্টার এবং কিছু ফিলামেন্ট

ধাপ 1: একটি রোটারি এনকোডার চয়ন করুন

একটি রোটারি এনকোডার চয়ন করুন
একটি রোটারি এনকোডার চয়ন করুন
একটি রোটারি এনকোডার চয়ন করুন
একটি রোটারি এনকোডার চয়ন করুন

রোটারি এনকোডারগুলি ঘূর্ণন আন্দোলনকে বৈদ্যুতিক স্পন্দনে অনুবাদ করে। সমস্ত পুরানো স্কুলের ইঁদুরগুলি তাদের ঘূর্ণায়মান বলের চলাচল পরিমাপ করতে ব্যবহার করেছিল এবং আরও আধুনিক (হা হা) অপটিক্যাল ইঁদুরগুলি এখনও তাদের স্ক্রল চাকার জন্য ব্যবহার করেছিল, যা আমি চারপাশে রেখেছিলাম এবং প্রাথমিক পরীক্ষার জন্য ব্যবহার করেছি। দুর্ভাগ্যবশত, আমার কোন সুস্পষ্ট মাউন্ট পয়েন্ট প্রস্তাব এবং তার রেজল্যুশন দরিদ্র ছিল।

যদি এটি করা মূল্যবান হয় তবে এটি অতিরিক্ত কাজ করার যোগ্য। তাই আমি বিপ্লব এনকোডার প্রতি একটি বড়, বন্ধুত্বপূর্ণ, 360-পালস কিনেছি এবং এর চারপাশে আমার প্রকল্পটি তৈরি করেছি। আমি যেটা বেছে নিয়েছিলাম সেটি হল একটি Signswise ইনক্রিমেন্টাল অপটিক্যাল রোটারি এনকোডার, টাইপ করুন LPD3806-360BM-G5-24C। কিন্তু যে কোন শালীন এনকোডার করবে।

ধাপ 2: একটি পুলি এবং ইডলার যুক্ত করুন

একটি পুলি এবং ইডলার যোগ করুন
একটি পুলি এবং ইডলার যোগ করুন

ফিলামেন্টের লিনিয়ার মুভমেন্ট একটি পুলি দ্বারা এনকোডারের আবর্তনশীল আন্দোলনে অনুবাদ করা হয়। এবং ফিলামেন্টটি একটি অলস দ্বারা পুলির বিরুদ্ধে ধরে থাকে।

পুলিটির দুটি খাঁজ রয়েছে, প্রতিটিতে একটি প্রসারিত ও-রিং রয়েছে যাতে কোনও পিছলে যাওয়া হয় না, ফিলারটি এনকোডার পুলিতে কেন্দ্রীভূত রাখার জন্য ইডলারের একটি একক ভি-খাঁজ রয়েছে। এটি একটি 608ZZ ভারবহনে বসে আছে যা আমি চারপাশে রেখেছিলাম, এবং এটি আমার প্রকল্পের মূল অংশে ছাপা একটি সর্পিল বসন্তে মাউন্ট করা হয়েছে। (নীচে সংযুক্ত STL ফাইল।)

এটি সঠিক হওয়ার জন্য কিছু পরীক্ষা এবং ত্রুটি নিয়েছিল, কিন্তু আমার নকশাটি বিভিন্ন কোণ এবং স্পুল রেডিকে সমন্বয় করা উচিত, যা স্পুলের যেকোনো অংশ থেকে ফিলামেন্টকে খোলার অনুমতি দেয়, প্রিন্টের শুরু থেকে শেষ পর্যন্ত। এবং মুদ্রিত বসন্ত স্পুল পরিবর্তন করার সময় ফিলামেন্টকে পপ ইন বা আউট করা সহজ করে তোলে।

ধাপ 3: কোডিং

Image
Image

শুধু ফিলামেন্ট গণনার জন্য, দুটি ডিজিটাল ইনপুট সহ যেকোনো দেব বোর্ড করবে। আমি যে এনকোডারটি বেছে নিয়েছি তার চারটি পিন রয়েছে: ভিসিসি, গ্রাউন্ড এবং দুটি এনকোডার পিন। এখানে একটি সত্যিই চমৎকার লেখা আছে যা ব্যাখ্যা করে কিভাবে রোটারি এনকোডার কাজ করে এবং কিভাবে তাদের Arduino এর সাথে ইন্টারফেস করতে হয়। (এছাড়াও: 3-পিন এনকোডার সম্পর্কে এই নিবন্ধটি।)

মৌলিক গণনা সহজ: দুটি ইনপুট - অভ্যন্তরীণভাবে টানতে সেট করা হয়েছে যাতে বাহ্যিক প্রতিরোধকগুলিকে Vcc- এ বিক্রি করার প্রয়োজন হয় না - এবং একটি বাধা। আমি একটি শূন্য/রিসেট বোতাম যুক্ত করেছি, আরও একটি ইনপুট এবং বাধা প্রয়োজন:

অকার্যকর setUpPins () {

পিনমোড (ENCODER_PIN_1, INPUT_PULLUP); পিনমোড (ENCODER_PIN_2, INPUT_PULLUP); পিনমোড (ZERO_BTN_PIN, INPUT_PULLUP); attachInterrupt (ENCODER_PIN_1, encoderPinDidChange, পরিবর্তন); attachInterrupt (ZERO_BTN_PIN, zeroButtonPressed, CHANGE); } void IRAM_ATTR encoderPinDidChange () {if (digitalRead (ENCODER_PIN_1) == digitalRead (ENCODER_PIN_2)) {অবস্থান += 1; } অন্য {অবস্থান -= 1; }} অকার্যকর IRAM_ATTR zeroButtonPressed () {// handle zero & reset}

কিন্তু আমি শুধু একটি বোবা কাউন্টারের চেয়ে বেশি চেয়েছিলাম। একটি ESP32 (বা ESP8266) এবং এর অন্তর্নির্মিত ওয়াইফাই দিয়ে, আমি আসলে আমি যে ডেটা সংগ্রহ করছি তার সাথে কিছু করতে পারি। কিছু সহজ টাইমআউট কোড (নীচে ব্যাখ্যা করা হয়েছে) ব্যবহার করে, আমি মুদ্রণ কখন শুরু এবং শেষ হবে তা নির্ধারণ করতে পারি এবং সেই ঘটনাগুলি আমার ফোনে বিজ্ঞপ্তি হিসাবে পাঠাতে পারি। ভবিষ্যতে, আমি একটি রান-আউট সেন্সর যোগ করতে পারি এবং নিজেকে জানাতে পারি (এবং আমার প্রিন্টার বিরতি দিন) যখন আমার মনোযোগের প্রয়োজন হয়।

সম্পূর্ণ কোড Github এ আছে।

কোডে কয়েকটি নোট:

এটিকে আপনার বিল্ডে কাস্টমাইজ করার জন্য, আপনার যা দরকার তা হল রেজোলিউশন (এনকোডারপিপিআর) - প্রতি বিপ্লবের ডালগুলিতে, যা সাধারণত বর্ণিত বৈশিষ্ট্যের দ্বিগুণ - এবং পুলির ব্যাসার্ধ (হুইল রেডিয়াস)। এই মান, প্লাস আপনার ওয়াইফাই এর এসএসআইডি এবং পাসওয়ার্ড এবং বোতাম, এনকোডার এবং ওএলইডি স্ক্রিনের সাথে সংযুক্ত নির্দিষ্ট পিন, সবই কনফিগারেশনে যায়।

শূন্য বোতামটি রিসেট হিসাবেও দ্বিগুণ হয় - বোর্ডটি পুনরায় বুট করার জন্য এটি ধরে রাখুন, যা ডিবাগিংয়ের জন্য দরকারী।

বাধাগুলি শক্তিশালী - কখনও কখনও খুব শক্তিশালী। শূন্য বোতামের একটি টোকা শূন্য বোতামপ্রেসড () ফাংশনকে 10-20 বার কল করতে পারে, তাই আমি কিছু ডিবাউন্স যুক্তি যুক্ত করেছি। আমার অপটিক্যাল এনকোডারের প্রয়োজন নেই, কিন্তু YMMV।

যদিও বাধাগুলি অসম্পূর্ণভাবে ইনপুটগুলির যত্ন নেয়, লুপ () রুটিন হিসাবরক্ষণ পরিচালনা করে। এনকোডার স্টেট - একটি এনাম যা খাওয়ানো, প্রত্যাহার করা বা বন্ধ করা যায় - এনকোডারের অবস্থানের পরিবর্তনের সাথে আপডেট করা হয়। সময়সীমা তারপর প্রিন্টার কখন প্রিন্টিং শুরু করেছে এবং শেষ করেছে তা নির্ধারণ করে। কিন্তু চতুর অংশটি হল যে 3 ডি প্রিন্টারগুলি প্রায়শই চলাচল শুরু করে এবং বন্ধ করে দেয়, তাই সবচেয়ে ভাল কাজটি হল "মুদ্রণ সম্পূর্ণ" ইভেন্টটিকে কমপক্ষে 5 সেকেন্ডের জন্য ক্রমাগত বন্ধ থাকা সংজ্ঞায়িত করা। যেকোনো গতি একটি দ্বিতীয় টাইমার ট্রিগার করে যা "মুদ্রণ শুরু" ইভেন্টকে সংজ্ঞায়িত করে শুধুমাত্র যদি 15 সেকেন্ডের সময়সীমার মধ্যে "মুদ্রণ সম্পূর্ণ" ইভেন্ট না ঘটে। অনুশীলনে, এটি সাঁতারে কাজ করে।

সুতরাং প্রধান লুপ () কোডটি অনির্বাচিত চলতে পারে, ডিবাউন্স কোডটি আরটিওএস টাস্ক লুপে চলে। একইভাবে, HTTP বিজ্ঞপ্তিগুলি পাঠানোর অনুরোধগুলি সিঙ্ক্রোনাস এবং তাই ব্যাকগ্রাউন্ডেড। এইভাবে অ্যানিমেশনগুলি সহজেই চলে এবং গণনা কখনও বন্ধ হয় না।

আমার উদাহরণে অতিরিক্ত কোডের একটি গুচ্ছ আছে (A) WiFi এবং mDNS এর সাথে একটি নেটওয়ার্ক সংযোগ স্থাপন এবং বজায় রাখা, (B) একটি NTC সার্ভার থেকে সময় আনুন যাতে আমি আমার শুরু এবং শেষ বিজ্ঞপ্তিগুলি টাইম-স্ট্যাম্প করতে পারি এবং একটি সুন্দর ঘড়ি প্রদর্শন করতে পারি আমার ওএলইডি তে, এবং (সি) ওটিএ আপডেটগুলি পরিচালনা করে তাই কোড আপডেটের জন্য আমাকে আমার বোর্ডকে আমার ম্যাকের সাথে শারীরিকভাবে সংযুক্ত করতে হবে না। এই মুহুর্তে, এটি সব এক একক সি ++ ফাইলে রয়েছে, শুধুমাত্র কারণ আমি এটিকে আরও ভালভাবে সাজানোর জন্য সময় নিইনি।

আমি আমার ফোনে পুশ বিজ্ঞপ্তি পাঠানোর জন্য বিস্ময়কর (এবং বিনামূল্যে) Prowl iOS অ্যাপ ব্যবহার করেছি HTTP গেট পদ্ধতি ছাড়া আর কিছুই নয়।

কোডটি বিকাশ করতে এবং বোর্ডটি ফ্ল্যাশ করতে, আমি ভিজ্যুয়াল স্টুডিও কোডে চলমান দর্শনীয় প্ল্যাটফর্মআইও ব্যবহার করেছি, উভয়ই বিনামূল্যে।

আমার প্রকল্পের জন্য, আমি এই লাইব্রেরিগুলি ব্যবহার করেছি: অলিভারের u8g2, পল স্টফ্রেজেনের ইল্যাপসড মিলিস এবং মার্কস স্যাটলারের HTTP ক্লায়েন্ট, যা এসপ্রেসিফ ইএসপি 32 প্ল্যাটফর্মের সাথে আসে। আর সবকিছুই হয় Arduino লাইব্রেরি বা PlatformIO- এর ESP32 প্ল্যাটফর্মের সাথে।

অবশেষে, আমি আমার মূল পুলির ছয়টি সহজ বিটম্যাপ বিভিন্ন কোণে তৈরি করেছি, তাই আমি কাউন্টারের পিছনে ওএলইডি -তে একটি সুন্দর ছোট চরকা অ্যানিমেশন দেখাতে পারি। এটি এনকোডারের সাথে যথাযথ দিকে এগিয়ে যায়, যদিও আরও নাটকীয় প্রভাবের জন্য অনেক দ্রুত।

ধাপ 4: তারের

তারের
তারের

আমি এটি ডিজাইন করেছি যাতে ওয়্যারিংগুলি সহজ সরল হবে, বেশিরভাগ ক্ষেত্রে আমার ঘেরটি ছোট হতে পারে, তবে ডিবাগিংটিও সোজা হবে। আমার ছোট বাক্সে সংকীর্ণ অবস্থার কথা নোট করুন।:)

প্রথম প্রয়োজন ছিল আমার ঘূর্ণমান এনকোডারের 5V সরবরাহ ভোল্টেজ। আমার স্ট্যাশে থাকা বিভিন্ন ESP32 dev বোর্ডের মধ্যে, USB দ্বারা চালিত হলে Vcc পিনে মাত্র কয়েকটি সত্য 5V সরবরাহ করে। (অন্যরা 4.5-4.8V পরিমাপ করেছে, যা আপনার গণিত খারাপ হলে 5V এর চেয়ে কম।) আমি যে বোর্ডটি ব্যবহার করেছি তা ছিল Wemos Lolin32।

পরবর্তী, দুটি ঘূর্ণমান এনকোডার সংকেত পিন আসা। যেহেতু আমি বাধা ব্যবহার করছি, প্রধান উদ্বেগ হল যে আমি যে পিনগুলি ব্যবহার করি তা কোন কিছুতে হস্তক্ষেপ করে না। ESP32 ডক্স বলে যে ADC2 ওয়াইফাই হিসাবে একই সময়ে ব্যবহার করা যাবে না, তাই দুর্ভাগ্যবশত আমি ADC2 GPIO পিন ব্যবহার করতে পারি না: 0, 2, 4, 12, 13, 14, 15, 25, 26, বা 27. আমি 16 এবং 17 বেছে নিলাম।

প্রো টিপ: যদি, এই সব একসাথে রাখার পরে, আপনার এনকোডারটি পিছনের দিকে গণনা করা হয় বলে মনে হয়, আপনি কেবল config.h এ দুটি পিন অ্যাসাইনমেন্ট অদলবদল করতে পারেন।

অবশেষে, ঘূর্ণমান এনকোডার গ্রাউন্ড ওয়্যারকে… ড্রাম রোল… গ্রাউন্ড পিনের সাথে সংযুক্ত করুন।

পরবর্তী, শূন্য/রিসেট পুশ বোতামটি স্থল এবং অন্য একটি বিনামূল্যে পিনের মধ্যে সংযুক্ত হয় (আমি GPIO 18 বেছে নিয়েছি)।

আমি যে বোতামটি ব্যবহার করেছি তা ছিল একটি ক্ষুদ্র ক্ষণস্থায়ী সুইচ যা আমি পূর্বোক্ত কম্পিউটার মাউস থেকে উদ্ধার করেছি, কিন্তু আপনার চারপাশে থাকা যেকোনো বোতাম তা করবে। আপনি দেখতে পাচ্ছেন এটি একটি সামান্য মাউন্টে বিশ্রাম করছে যা আমি বোর্ডের উপরে এটির জন্য তৈরি করেছি।

অবশেষে, OLED, যদি এটি ইতিমধ্যেই আপনার বোর্ডের সাথে সংযুক্ত না থাকে, তবে মাত্র চারটি পিনের প্রয়োজন: 3V3, স্থল, i2c ঘড়ি এবং i2c ডেটা। আমার দেব বোর্ডে, ঘড়ি এবং ডেটা যথাক্রমে 22 এবং 21।

ধাপ 5: অংশগুলি মুদ্রণ করুন

যন্ত্রাংশ মুদ্রণ করুন
যন্ত্রাংশ মুদ্রণ করুন

আমি এই নির্মাণের জন্য সাতটি অংশ ডিজাইন করেছি:

কপিকল, যা ঘূর্ণমান এনকোডারের খাদে সরাসরি মাউন্ট করে।

ইডলার, যা একটি 608ZZ ভারবহন (শিল্ডস অপসারণ এবং WD40 সঙ্গে degrease যাতে এটি অবাধে ঘূর্ণন)।

ধারক, যার উপর দুটি weels এবং এনকোডার মাউন্ট - idler জন্য সর্পিল বসন্ত নোট করুন।

ধারককে স্থিতিশীল করার জন্য একটি বন্ধনী। এই ধাপের ছবিটি দেখায় কিভাবে বন্ধনীটি ধারকের সাথে সংযুক্ত থাকে।

আমার ইএসপি 32 ডেভ বোর্ডটি রাখার জন্য ঘের (নীচে), পাশে ইউএসবি ক্যাবলের জন্য একটি স্থান এবং উপরে আরেকটি সংযোগকারীর জন্য আমি আমার এনকোডার তারের সাথে যোগ করেছি। এটি ওয়েমোস ললিন 32 এর সাথে মানানসই করার জন্য ডিজাইন করা হয়েছে, তাই আপনাকে একটি ভিন্ন বোর্ডের সাথে মানানসই করার জন্য এই নকশাটি কিছুটা পরিবর্তন করতে হতে পারে।

OLED স্ক্রিন ধরে রাখার জন্য ঘের (উপরে), শূন্য / রিসেট বোতামের জন্য আরেকটি সর্পিল

একটি ছোট বোতাম হোল্ডার আমার ছোট্ট সুইচটির জন্য কাস্টমাইজ করা হয়েছিল, যা নীচের ঘেরের ভিতরে দুটি তাকের মধ্যে বিশ্রামের জন্য ডিজাইন করা হয়েছিল। আমি হোল্ডারের সুইচটিকে "আঠালো" করার জন্য একটি সোল্ডারিং লোহা ব্যবহার করেছি; একটি ছবির জন্য পূর্ববর্তী ধাপ দেখুন।

সবকিছু সমর্থন ছাড়াই মুদ্রিত করার জন্য ডিজাইন করা হয়েছে। আপনার পছন্দের রঙে সাধারণ পিএলএ আপনার প্রয়োজন।

এটি সব একসাথে রাখুন, আপনার প্রিন্টারের সাথে সংযুক্ত করুন (এখানে কিছু সৃজনশীলতার প্রয়োজন হতে পারে), এবং আপনি যেতে ভাল।

প্রস্তাবিত: