সুচিপত্র:

ইউসিএল - এমবেডেড - বাছাই এবং স্থান: 4 টি ধাপ
ইউসিএল - এমবেডেড - বাছাই এবং স্থান: 4 টি ধাপ

ভিডিও: ইউসিএল - এমবেডেড - বাছাই এবং স্থান: 4 টি ধাপ

ভিডিও: ইউসিএল - এমবেডেড - বাছাই এবং স্থান: 4 টি ধাপ
ভিডিও: ইউসিএল ফাইনাল: ব্রুজোনের বাজি রিয়াল, স্মলির লিভারপুল | UEFA Champions League Final | Oscar Bruzon 2024, জুলাই
Anonim
ইউসিএল - এমবেডেড - বাছাই এবং স্থান
ইউসিএল - এমবেডেড - বাছাই এবং স্থান

কিভাবে 2D পিক এবং প্লেস ইউনিট তৈরি করা হয় এবং কিভাবে কোড করা যায় তা এই নির্দেশযোগ্য হবে।

ধাপ 1: Compunets

কম্পুনেটস
কম্পুনেটস

1x অ্যাড্রিও মেগা

2x স্টেপার মোটর (আমরা JLB Stepper মোটর, মডেল 17H1352-P4130 ব্যবহার করেছি)

2x Stepper মোটর ড্রাইভ কন্ট্রোলার বোর্ড মডিউল L298N ডুয়াল এইচ ব্রিজ ডিসি Arduino জন্য

1x servo মোটর (আমরা এই এক স্পেক নেই)

3x 10k ওহম প্রতিরোধক

2x নাইলন চাকা

1x 12v পাওয়ার সাপ্লাই

ফ্রেমের জন্য কিছু কাঠ

তারের

ধাপ 2: নির্মাণ

নির্মাণ
নির্মাণ
নির্মাণ
নির্মাণ
নির্মাণ
নির্মাণ

নির্মাণ মুখের সময় প্রথম জিনিসটি ছিল পিক অ্যান্ড প্লেস মেশিনের আকার এবং আকৃতি নির্ধারণ করা

প্রথমে আমরা মৌলিক আকৃতির কাঠ তৈরি করি। আমরা আমাদের পিক অ্যান্ড প্লেস ফ্রেম 50 সেমি বাই 25 সেমি বাই 30 সেমি তৈরি করেছি। ফ্রেম, ব্রিজ এবং লিফটিং আর্ম ছাড়া সবকিছুই লেজারকাটার দিয়ে তৈরি করা হয়েছিল।

এখানে সব ফাইলের একটি লিঙ্ক দেওয়া হয়েছে

তারপর আমরা পুলি সিস্টেম চেয়েছিলাম। এখানে আমরা দুটি 50mm রিং এবং একটি 20mm রিং সঙ্গে গিয়েছিলাম। তারপর আমরা কিছু আঠালো সঙ্গে 20mm পাশে একটি paracord রাখা। যার পরে আমরা 20 মিমি রিংয়ের উভয় পাশে 50 মিমি দুটি রিং চেপে ধরলাম।

20 মিমি

50 মিমি

তারপরে আমাদের বাহুতে একটি স্লাইড গাইড ডিজাইন করতে হবে। এখানে আমরা দুই পাশ এবং একটি পিছন প্লেট তৈরি করেছি।

যা তখন একটি U আকারে আঠালো ছিল। তারপরে আমরা এটিকে সেতুর সাথে সংযুক্ত করেছি।

ধাতুর পৃষ্ঠদেশ

পিছনের প্লেট

এখন যে হাত উপরে এবং নিচে সরানোর জন্য অংশ সম্পন্ন করা হয়। আমাদের এটাকে সামনে পেছনে নিয়ে যেতে হবে।

এটি ডিজাইন করার সময় আমরা নিশ্চিত করেছি যে দাঁতগুলি একে অপরের সাথে সারিবদ্ধ। সুতরাং উভয় আইটেম একই প্রকল্পের জায়গায় তৈরি করা হয়েছিল।

ধাপ 3: কোড

কোড
কোড
কোড
কোড
কোড
কোড

প্রোগ্রামিংটি বেশ সহজ এবং ৫ টি অংশ নিয়ে গঠিত

  1. অভ্যন্তরীণ এবং আইও ব্যবহারের জন্য লাইব্রেরির অন্তর্ভুক্তি এবং ভেরিয়েবলের সেটআপ
  2. রাম ইনপুট লোড করুন
  3. Sekvens, আপনি চান আন্দোলন নির্বাচন।
  4. Stepper/servo অবস্থান নিয়ন্ত্রণ
  5. বিশ্বের কাছে আউটপুট

আমরা বিস্তৃত স্ট্রোক করে প্রতিটি অংশ ব্যাখ্যা করব, কিন্তু মনে রাখবেন এটি অনেকগুলি সমাধানের মধ্যে একটি।

1: অকার্যকর সেটআপের জন্য আমরা এই প্রকল্পের জন্য আমাদের 2 টি লাইব্রেরি অন্তর্ভুক্ত করেছি। স্টেপার এবং সার্ভো। অন্তর্ভুক্ত লাইব্রেরিগুলি ব্যবহার করে, আপনাকে স্টেপার এবং সার্ভো মোটর সম্পর্কে প্রতিটি বিস্তারিত শেখার থেকে বাঁচায়।

#অন্তর্ভুক্ত

#অন্তর্ভুক্ত

const int stepsPerRevolution = 200; // আপনার মোটরের জন্য প্রতি বিপ্লবের ধাপের সংখ্যা অনুসারে এটি পরিবর্তন করুন

// পিন 8 থেকে 11 এ স্টেপার লাইব্রেরি শুরু করুন:

Stepper XStepper (stepsPerRevolution, 22, 23, 24, 25); Stepper YStepper (stepsPerRevolution, 28, 29, 30, 31); Servo Griper; // একটি servo নিয়ন্ত্রণ করার জন্য servo অবজেক্ট তৈরি করুন

গ্রিপারকে অকার্যকর সেটআপে সংযুক্ত করতে হবে

অকার্যকর সেটআপ () {// সিরিয়াল পোর্ট শুরু করুন: Serial.begin (9600); Griper.attach (9); // সার্ভো বস্তুর সাথে পিন 9 এ সার্ভো সংযুক্ত করে

এই বিভাগের বাকি অংশগুলি কেবল ভেরিয়েবল এবং কনস্ট্যান্ট এর সেটআপ।

2: ভয়েড লুপের প্রথম জিনিস হল একটি ব্যবহৃত ভেরিয়েবলে সমস্ত ব্যবহৃত ইনপুট লোড করা। এটি দুটি কারণে করা হয়। প্রথম কারণ হল একটি ইনপুট পড়ার CPU ভারী কাজ সীমিত করা। দ্বিতীয় কারণটি, যা সবচেয়ে বেশি আমদানিযোগ্য এবং এটি নিশ্চিত করতে যে যদি একটি ইনপুট একাধিকবার ব্যবহার করা হয়, পুরো স্ক্যান জুড়ে এর একই মান থাকবে। এটি সামঞ্জস্যপূর্ণ কোড লেখা সহজ করে তোলে। পিএলসি প্রোগ্রামিং এ এটি একটি খুব সাধারণ অভ্যাস, কিন্তু এটি এমবেডেড প্রোগ্রামিং এর ক্ষেত্রেও প্রযোজ্য।

// ------------------------- র‍্যামে ইনপুট -------------------- Xend = digitalRead (34); ইয়েন্ড = ডিজিটাল রিড (35); এনা = ডিজিটাল রিড (36);

3: কোডের সেকভেন অংশে, আমরা কেবল সুইচ এবং কেস কমান্ড দিয়ে একটি সেকভেন তৈরি করেছি। Sekvens অংশ শুধু কোডের অবস্থান নিয়ন্ত্রণ অংশে সংকেত দেয়। এই অংশটি সহজেই আপনার অ্যাপ্লিকেশনে কাস্টমাইজ করা যায় বা যেমন ব্যবহার করা যায়।

4: servo এর অবস্থানটি শুধুমাত্র servo liberi দ্বারা নিয়ন্ত্রিত হয়, এবং gripper খোলা এবং বন্ধ করার জন্য if if স্টেটমেন্ট।

স্টেপার কন্ট্রোল একটু বেশি চতুর। ফাংশনটি সেটপয়েন্ট (যে অবস্থানে আপনি বাহুতে যেতে চান) এবং বর্তমান অবস্থানের তুলনা করে। যদি বর্তমান অবস্থানটি প্রেমিক হয়, ফাংশনটি অবস্থানে যোগ করে এবং স্টেপার লিবারি ফাংশনকে একটি ইতিবাচক পদক্ষেপ নিতে বলে। বিপরীতটি একটি উচ্চ অবস্থানের জন্য সত্য। যদি অবস্থান সেটপয়েন্টের মতো হয়, একটি XinPos বিট স্যাট হিগ হয়, এবং স্টেপার থামে।

// এসপি কন্ট্রোল এক্স

যদি (XstepCountXsp এবং হোম নয়) {

XstepCount = XstepCount-1; Xstep = -1; XinPos = 0; } যদি (XstepCount == Xsp) {Xstep = 0; XinPos = 1; }

5: কোডের শেষে যোগ করুন মোটরগুলি লিবারি ফাংশন দ্বারা নিয়ন্ত্রিত হয়।

// -------------------- আউটপুট ---------------------- // ধাপ এক ধাপ: XStepper.step (Xstep); // ধাপ এক ধাপ: YStepper.step (Ystep);

Griper.write (GripSp);

ধাপ 4: দ্বারা তৈরি

casp6099 - ক্যাসপার হার্টুং ক্রিস্টেনসেন

rasm616d - রাসমাস হ্যানসেন

প্রস্তাবিত: