সুচিপত্র:

[WIP] একটি মায়ো আর্মব্যান্ড দ্বারা নিয়ন্ত্রিত ড্রবট তৈরি করা: 11 টি ধাপ
[WIP] একটি মায়ো আর্মব্যান্ড দ্বারা নিয়ন্ত্রিত ড্রবট তৈরি করা: 11 টি ধাপ

ভিডিও: [WIP] একটি মায়ো আর্মব্যান্ড দ্বারা নিয়ন্ত্রিত ড্রবট তৈরি করা: 11 টি ধাপ

ভিডিও: [WIP] একটি মায়ো আর্মব্যান্ড দ্বারা নিয়ন্ত্রিত ড্রবট তৈরি করা: 11 টি ধাপ
ভিডিও: ✨One Hundred Thousand Years of Qi Training EP 01 - 20 Full Version [MULTI SUB] 2024, নভেম্বর
Anonim
[WIP] একটি মায়ো আর্মব্যান্ড দ্বারা নিয়ন্ত্রিত ড্রবট তৈরি করা
[WIP] একটি মায়ো আর্মব্যান্ড দ্বারা নিয়ন্ত্রিত ড্রবট তৈরি করা

ওহে সবাই!

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

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

  1. Arduino এর মাধ্যমে মায়ো থেকে মোটর পর্যন্ত প্রোগ্রামিং
  2. বৈদ্যুতিক নকশা গতিতে আমাদের তথ্য অনুবাদ
  3. যান্ত্রিক নকশা একটি যুক্তিসঙ্গত আকারের ফ্রেম তৈরি করতে যা আমাদের গতি সহজ করবে

আমাদের দলের প্রতিটি সদস্য আমাদের নকশা প্রক্রিয়ার একটি অনন্য অংশ নিয়ে সবচেয়ে স্বাচ্ছন্দ্যবোধ করেছেন, তাই আমরা প্রত্যেক ব্যক্তির মধ্যে আমাদের কাজকে ভেঙে ফেলার সিদ্ধান্ত নিয়েছি। আমরা আমাদের সার্বিক ডিজাইন প্রক্রিয়ার সময় একটি ব্লগও রেখেছিলাম যাতে আমরা আমাদের দিন দিন চিন্তাভাবনা ট্র্যাক করতে পারি, যেমন একটি আরো বৈশ্বিক রূপের বিপরীতে।

ধাপ 1: আমরা যা করার পরিকল্পনা করেছি

Image
Image

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

ধাপ 2: প্রোটোটাইপ উপাদান তালিকা

2 2 x 4 কাঠের বোর্ড 1 বেল্ট বা চেইন পরিমাপ> = 65”4 কাঠের নখ 3 বেল্ট বা চেইনের সাথে লাগানো দাঁত দিয়ে গিয়ার 4 3 x 8 ভেক্স ছিদ্রযুক্ত প্লেট 30 ⅜” রাবার স্পেসার 8 1”ব্যাস ওয়াশার 1 1” ব্যাস কাঠের ডোয়েল 1 'লম্বা 8 ভেক্স স্ক্রু 1 "8 ½" ভেক্স স্ক্রু 8 2 "ভেক্স স্ক্রু 8 ¼" রাবার স্পেসার 48 ভেক্স বাদাম 1 ছোট জিপ টাই

ধাপ 3: [প্রোটোটাইপ] কাঠের কাজ আমাদের অস্ত্র এবং বহন অভ্যন্তর

[প্রোটোটাইপ] কাঠের কাজ আমাদের অস্ত্র এবং বহন অভ্যন্তর
[প্রোটোটাইপ] কাঠের কাজ আমাদের অস্ত্র এবং বহন অভ্যন্তর

আমরা দুটি 2x4 ধরলাম এবং সেগুলিকে সমান দৈর্ঘ্যে কেটে ফেললাম (33 ¼”)

একটি টেবিল দেখে আমরা বোর্ডগুলির সরু অংশের পাশে একটি খাঁজ তৈরি করেছি - মাঝখানে "গভীর এবং ⅛" চওড়া

ডোয়েলকে 4 2”টুকরো করে কেটে নিন এবং একটি ড্রিল প্রেস ব্যবহার করে ডোয়েলের মাঝখানে প্রায় ¼” ব্যাসের একটি গর্ত করুন

ধাপ 4: [প্রোটোটাইপ] আমাদের ক্যারেজ তৈরি করা

[প্রোটোটাইপ] আমাদের ক্যারেজ তৈরি করা
[প্রোটোটাইপ] আমাদের ক্যারেজ তৈরি করা
[প্রোটোটাইপ] আমাদের ক্যারেজ তৈরি করা
[প্রোটোটাইপ] আমাদের ক্যারেজ তৈরি করা
[প্রোটোটাইপ] আমাদের ক্যারেজ তৈরি করা
[প্রোটোটাইপ] আমাদের ক্যারেজ তৈরি করা

আদর্শভাবে আমরা ভেক্স ছিদ্রযুক্ত ইস্পাতের দুটি 7x7 টুকরা ব্যবহার করতাম কিন্তু আমাদের কাছে যা পাওয়া যেত তা হল 2x7 স্ট্রিপ তাই আমরা সেগুলিকে "X" কনফিগারেশনে একসঙ্গে বোল্ট করেছিলাম

রাবার স্পেসারের 5 টি স্ট্যাক করুন এবং ভেক্স প্লেটের কোণগুলি একে অপরের সাথে সুরক্ষিত করুন

চিত্র 1 এ দেখানো হিসাবে কাঠের ডোয়েলগুলি আলগাভাবে সুরক্ষিত করুন যাতে তারা তাদের মধ্যে প্রায় 2 স্থান দিয়ে অবাধে ঘুরতে পারে ছবিটি ব্যবহার করে এই স্থানে গিয়ারগুলি কোথায় রাখা উচিত তা আমরা ওয়াশার ব্যবহার করেছি কিন্তু পরে দেখা গেছে যে ছোট প্লাস্টিকের ভ্যাক্স গিয়ারগুলি আরও ভাল কাজ করে ।

Ve “ভেক্স স্ক্রু, ¼” রাবার স্পেসার এবং ১”ব্যাসের ওয়াশার ব্যবহার করে ওয়াশারগুলিকে চিত্র 1 এ দেখানো অবস্থায় উন্নত অবস্থানে সুরক্ষিত করুন (আমরা সবুজ প্লাস্টিকের গিয়ার ব্যবহার করেছি কারণ আমরা সঠিক ওয়াশার খুঁজে পাইনি) নিশ্চিত করুন যে ওয়াশারগুলি সক্ষম সহজেই ঘোরানো এবং বোর্ডের খাঁজে ফিট করা।

ধাপ 5: [প্রোটোটাইপ] এটি সব একসাথে রাখা

[প্রোটোটাইপ] এটি সব একসাথে রাখা
[প্রোটোটাইপ] এটি সব একসাথে রাখা
[প্রোটোটাইপ] এটি সব একসাথে রাখা
[প্রোটোটাইপ] এটি সব একসাথে রাখা
[প্রোটোটাইপ] এটি সব একসাথে রাখা
[প্রোটোটাইপ] এটি সব একসাথে রাখা
[প্রোটোটাইপ] এটি সব একসাথে রাখা
[প্রোটোটাইপ] এটি সব একসাথে রাখা

একটি পৃষ্ঠের উপর একটি বোর্ড রাখুন এবং গাড়িটি মাঝখানে স্লাইড করুন যাতে ওয়াশারগুলি বোর্ডের উপরে এবং বোর্ডের উভয় পাশে গিয়ারগুলি পেরেক করে রাখে যাতে তারা অবাধে ঘুরতে পারে। দ্বিতীয় বোর্ডের এক প্রান্তে একটি গিয়ার পেরেক করুন যাতে এটি কেন্দ্রীভূত হয় এবং এটিকে প্রথম বোর্ডের লম্বালম্বি ক্যারিয়ারে স্লাইড করুন।

এখন দেখানো সিস্টেমের মাধ্যমে বেল্টটি অবশ্যই লুপ করা উচিত, বেল্টের বাইরে ডোয়েলগুলি কীভাবে রয়েছে এবং কীভাবে চেসিসের কেন্দ্রে এমন কিছু নেই যা বেল্টটি চলার সময় বাধা দিতে পারে সেদিকে মনোযোগ দিন।

এখন বোর্ডের পাশে বেল্ট লাগানো দরকার যেখানে গিয়ার নেই। আমরা একটি অতিরিক্ত পেরেক এবং জিপ টাই ব্যবহার করে আমাদের বেঁধে রাখি। কিন্তু ব্যবহৃত পদ্ধতিটি ততক্ষণ গুরুত্বপূর্ণ নয় যতক্ষণ না সেই স্থানে বেল্টটি নোঙ্গর করা আছে

ধাপ 6: [প্রোটোটাইপ] সমাপ্ত এবং সরানো

Image
Image

এটি হওয়া উচিত, বিভিন্ন সংমিশ্রণে বেল্টটি টানুন এবং বাহুতে এর বিভিন্ন প্রভাব দেখুন!

ধাপ 7: আমাদের সমাপ্ত নকশায় আমাদের মডেল অনুবাদ করা

আমাদের সমাপ্ত নকশায় আমাদের মডেল অনুবাদ করা
আমাদের সমাপ্ত নকশায় আমাদের মডেল অনুবাদ করা
আমাদের সমাপ্ত নকশায় আমাদের মডেল অনুবাদ করা
আমাদের সমাপ্ত নকশায় আমাদের মডেল অনুবাদ করা

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

  1. স্কেল

    1. আমাদের প্রোটোটাইপ ছিল বিশাল এবং অযৌক্তিক, যা আমাদের বাহুর কিনারায় টিপ দেওয়ার প্রবণতা তৈরি করেছিল
    2. গাড়িটি প্রয়োজনের তুলনায় অনেক বড় ছিল, এবং এতে প্রচুর নষ্ট জায়গা ছিল
    3. আমাদের বেল্ট (একটি ভেক্স ট্যাঙ্ক ট্রেড) প্রয়োজনের তুলনায় অনেক বড় ছিল, যা অস্ত্রের মধ্যে অতিরিক্ত জায়গা চালু করেছিল
  2. ঘর্ষণ

    1. আমাদের ভেক্স ট্রেডগুলি সব পয়েন্টে সহজেই কাঠের ডোয়েল রোলারগুলির উপর দিয়ে যায় নি
    2. কাঠের উপর প্লাস্টিক অনেক ক্ষেত্রে গাড়ি চলাচল করতে অনিচ্ছুক করে তোলে
  3. মোটরাইজিং

    আমাদের সিস্টেমকে পাওয়ার-সক্ষম করার দরকার ছিল

এই বিষয়গুলি মাথায় রেখে, আমরা চূড়ান্ত নকশার জন্য আমাদের পরিকল্পনা আঁকলাম। আমরা চেয়েছিলাম ড্রবটটি একটি Arduino এর মাধ্যমে একটি Myo দ্বারা নিয়ন্ত্রিত হোক এবং আমরা ফ্রেমটিকে অ্যালুমিনিয়াম এবং ছোট করতে চাই।

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

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

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

ধাপ 8: কোডিং

যদিও আমি কয়েক বছর আগে C তে মোটামুটি ব্যাপকভাবে কাজ করেছি, আমার লুয়া বা C ++ নিয়ে কোন অভিজ্ঞতা ছিল না, এবং এর মানে হল যে আমাকে ডকুমেন্টেশনের মাধ্যমে একটি প্রশংসনীয় পরিমাণ সময় ব্যয় করতে হবে। আমি জানতাম যে সাধারণ কাজটি আমি সম্পন্ন করার চেষ্টা করবো তা হল সময়ের ব্যবধানে ব্যবহারকারীর অবস্থান পাওয়া এবং তারপর এটি মোটরগুলিতে প্রেরণ করা। আমি আমার নিজের জন্য প্রয়োজনীয় অংশগুলি ভালভাবে হজম করার জন্য কাজটি ভেঙে দেওয়ার সিদ্ধান্ত নিয়েছি।

1. মায়ো (লুয়া) থেকে ডেটা পান

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

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

ডিজাইনের এই সময়েই বৈদ্যুতিক দিক নিয়ে কাজ শুরু হয়েছিল এবং আমি কোডের এই দিকটি নিয়ে কাজ স্থগিত করেছি। কিভাবে আমাদের মোটর arduino সঙ্গে interfaced শেখার উদ্দেশ্য।

2. Arduino (C ++) এর চারপাশে কাজ করা

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

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

ধাপ 9: বৈদ্যুতিক

Image
Image
বৈদ্যুতিক
বৈদ্যুতিক

যদিও আমি অতীতে একটি ইলেকট্রনিক্স ক্লাস নিয়েছি, এবং arduinos এর সাথে ন্যায্য পরিমাণ কাজ করেছি। আমি আরডুইনোকে বাইরের উৎস (myo) থেকে তথ্য গ্রহণ করার জন্য গভীরভাবে কাজ করিনি, আমার কেবল আরডুইনো এর মাধ্যমে তথ্য বের করার অভিজ্ঞতা আছে। যাইহোক, আমি আমাদের ড্রবটে মোটরগুলিকে ওয়্যারিং করতে শুরু করেছিলাম এবং তাদের জন্য কোডে কাজ করছিলাম যাতে তারা মায়ো কোড দিয়ে কাজ করতে পারে।

আমি যে উপাদানগুলি ব্যবহার করেছি:

2 এক্স স্টেপার মোটর

1 x ব্রেডবোর্ড

1 x Arduino (Uno)

2 x ড্রাইভার IC L293DE

40 x জাম্পার তার

2 x ভক্ত

1. স্টেপার মোটর এবং ফ্যানকে ব্রেডবোর্ডের সাথে সংযুক্ত করা

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

সতর্কবাণী/টিপ:

ড্রাইভারগুলি খুব ছোট এবং পিনগুলি খুব কাছাকাছি। দুটি চালককে স্থান দেওয়া বুদ্ধিমানের কাজ হবে যাতে তারগুলি বিভ্রান্ত না হয়।

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

2. Arduino কোড

এটা সহজ অংশ!

আরডুইনো আইডিই খুলুন "ফাইল" ট্যাবে যান তারপর "উদাহরণ" ট্যাবে যান যা আরও নিচে নেমে যাবে এবং আপনাকে "স্টেপার" ট্যাব দেখাবে তারপর আপনি "Stepper_OneStepAtATime" খুলতে চান

এটি একটি উদাহরণ কোড প্রিলোড করবে যা প্রায় arduino/মোটর তারের প্লাগ-এন্ড-প্লে। আমাদের ছোট সমন্বয় করতে হবে কারণ আমরা দুটি মোটর চালাচ্ছি, যা আমি নিচে দেখাব। আপনি কোন পিনগুলি ব্যবহার করার সিদ্ধান্ত নিয়েছেন তার উপর নির্ভর করে আপনাকে ছোটখাটো সমন্বয় করতে হতে পারে, যেহেতু Arduino IDE 8-11 পিনের ডিফল্ট।

দুটি মোটরকে "সিঙ্ক" করার জন্য আমি যে কোডটি ব্যবহার করেছি তা নিচে দেওয়া হল:

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

const int stepsPerRevolution = 200;

Stepper myStepper1 (stepsPerRevolution, 9, 10, 11, 12);

Stepper myStepper2 (stepsPerRevolution, 4, 5, 6, 7);

int stepCount = 0;

অকার্যকর সেটআপ () {// সিরিয়াল পোর্ট শুরু করুন: Serial.begin (9600); }

অকার্যকর লুপ () {

myStepper1.step (1);

Serial.print ("ধাপ:");

Serial.println (stepCount);

stepCount ++;

বিলম্ব (0.5);

myStepper2.step (1); বিলম্ব (0.5); }

3. সম্ভাব্য সমস্যা

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

নিশ্চিত করুন যে আপনি যে ড্রাইভারটি ব্যবহার করছেন তা মোটর নিয়ন্ত্রণ করতে সক্ষম।

সিরিয়াল নম্বরটি পরীক্ষা করুন এবং এর স্পেসগুলি দেখুন।

আমি একটি মৃত জাম্পার তারের একটি সমস্যা মধ্যে দৌড়ে, যা আমার মোটর অদ্ভুতভাবে ঘূর্ণন কারণ।

প্রতিটি তারের চেক করার জন্য আমাকে একটি মাল্টিমিটার ব্যবহার করতে হয়েছিল।

এবং সর্বদা ছোট ছোট ত্রুটির জন্য আপনার কোডটি দুবার চেক করুন যেমন একটি শেষ অনুপস্থিত ";" কমান্ড

ধাপ 10: যান্ত্রিক

যান্ত্রিক
যান্ত্রিক
যান্ত্রিক
যান্ত্রিক
যান্ত্রিক
যান্ত্রিক
যান্ত্রিক
যান্ত্রিক

1. উপাদান

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

আমরা 032.১২৫ "x ১.5.৫" -তে কাটা 032০ গেজ অ্যালুমিনিয়াম শীট ব্যবহার করেছি এবং আগের ধাপে দেখানো অঙ্কন থেকে প্যাটার্নটি খুঁজে বের করেছি।

2. ফ্যাব্রিকেশন

হেমার (নীল মেশিন) ব্যবহার করে আমরা এমন হেমস যুক্ত করেছি যা বিপরীত দিকের মুখোমুখি হয় যাতে যখন টুকরোটি ভেঙ্গে যায় এবং ভাঁজ করা হয়, তখন দুটি হেমস একটি একক সম্পূর্ণ টুকরো তৈরি করে ইন্টারলক করবে।

বড় বাঁকগুলির জন্য আমরা টেনিস্মিথ ব্যবহার করেছি, কারণ এটি উচ্চ নির্ভুলতা।

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

** বিকল্পভাবে, যদি আপনার যথাযথ সরঞ্জাম বা সরঞ্জামগুলিতে অ্যাক্সেস না থাকে, তাহলে একটি বিকল্প তৈরি করা যেতে পারে। **

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

3. বেল্ট

বেল্টের জন্য আমরা কিছু পুরানো 3D প্রিন্টার বেল্ট ব্যবহার করেছি যা আমরা উদ্ধার করতে সক্ষম হয়েছিলাম।

বেল্টগুলি প্রাথমিকভাবে যথেষ্ট দীর্ঘ ছিল না তাই কিছু তাপ সঙ্কুচিত টিউবিং ব্যবহার করে আমরা দুটি টুকরা একত্রিত করে যা পর্যাপ্ত লম্বা হবে।

সবুজ গিয়ার এবং কাঠের ডোয়েলগুলি ডিস্ক বিয়ারিং দ্বারা প্রতিস্থাপিত হয়েছিল যাতে অতিরিক্ত প্রশস্ত ওয়াশার ব্যবহার করা হয় যাতে বেল্টটি স্থান থেকে পিছলে যাওয়া থেকে রক্ষা পায়।

4. ক্যারিজ

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

ধাপ 11: প্রতিফলন

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

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

সামগ্রিকভাবে, আমরা যা চেয়েছিলাম ঠিক তা অর্জন করতে পারিনি। যাইহোক, আমি মনে করি আমরা সঠিক পথে ছিলাম এবং আমরা সবাই নতুন ধারণা আবিষ্কার করেছি এবং শিখেছি যা আমরা ভবিষ্যতের প্রকল্পগুলিতে প্রয়োগ করতে সক্ষম হব।

প্রস্তাবিত: