সুচিপত্র:

Servo Squirter - USB Water Gun: 5 ধাপ
Servo Squirter - USB Water Gun: 5 ধাপ

ভিডিও: Servo Squirter - USB Water Gun: 5 ধাপ

ভিডিও: Servo Squirter - USB Water Gun: 5 ধাপ
ভিডিও: The Best Water Gun Ever! Spyra 2 - The Electric Water Rifle 2024, নভেম্বর
Anonim
Servo Squirter - ইউএসবি ওয়াটার গান
Servo Squirter - ইউএসবি ওয়াটার গান

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

ধাপ 1: উপকরণ সংগ্রহ করুন

উপকরণ সংগ্রহ করুন
উপকরণ সংগ্রহ করুন
উপকরণ সংগ্রহ করুন
উপকরণ সংগ্রহ করুন
উপকরণ সংগ্রহ করুন
উপকরণ সংগ্রহ করুন

এই প্রকল্পটি মাইক্রোকন্ট্রোলার ভিত্তিক। ATmega168 মাইক্রোকন্ট্রোলার ছাড়া ইউএসবি NerdKit এর অন্তর্ভুক্ত। এই প্রকল্পের জন্য আমরা নিম্নলিখিতগুলি ব্যবহার করেছি: 1 শখ Servo, Hitec HS-501 কম ভোল্টেজ পিস্টন জল পাম্প

ধাপ 2: সার্কিট একত্রিত করুন

সার্কিট একত্রিত করুন
সার্কিট একত্রিত করুন
সার্কিট একত্রিত করুন
সার্কিট একত্রিত করুন
সার্কিট একত্রিত করুন
সার্কিট একত্রিত করুন
সার্কিট একত্রিত করুন
সার্কিট একত্রিত করুন

আমাদের সার্কিটের প্রথম অংশ শুধু সার্ভোর সাথে সংযোগ স্থাপন করে। এটি এখানে সহজ: মাইক্রোকন্ট্রোলার থেকে সার্ভোতে একটি তার। প্রস্তুতকারকের উপর নির্ভর করে কয়েকটি ভিন্ন রঙের লেবেলিং রয়েছে, তাই এটি চেষ্টা করার আগে পরীক্ষা করে দেখুন। ATmega168 চিপ নিজেই শুধুমাত্র 40mA সর্বোচ্চ কোন পিনের মধ্যে বা বাইরে অনুমতি দেয়, কিন্তু আমাদের পাম্প 1000mA কাছাকাছি প্রয়োজন! তাই এই বড় লোড নিয়ন্ত্রণ করার জন্য, আমরা একটি বড় ট্রানজিস্টর, 2N7000 ব্যবহার করতে বেছে নিয়েছি। প্রথমে আমরা সুইচ হিসাবে MOSFETs (মেটাল অক্সাইড সেমিকন্ডাক্টর ফিল্ড ইফেক্ট ট্রানজিস্টর) ব্যবহারের মূল বিষয়গুলি ব্যাখ্যা করি: উৎসের উপরে গেট ভোল্টেজ আনা, আমরা ড্রেন থেকে উৎসে কারেন্ট প্রবাহিত করতে পারি। 2N7000 ডেটশীট থেকে, আমরা চিত্র 1 বের করেছি, যা বিভিন্ন গেট-সোর্স ভোল্টেজ সেটিংসের জন্য ড্রেন কারেন্ট এবং ড্রেন-সোর্স ভোল্টেজের মধ্যে সম্পর্ক দেখায়। এই গ্রাফ থেকে আপনি কিছু গুরুত্বপূর্ণ বিষয় শিখতে পারেন: 1. প্রায় 3.0 ভোল্টের নীচের ভিজিএস -এর জন্য, কোন স্রোত প্রবাহিত করার অনুমতি নেই। এটি অফ স্টেট, যাকে "কাটঅফ" বলা হয়। 2. ছোট VDS এর জন্য, বক্ররেখাটি উৎপত্তির মাধ্যমে মোটামুটি রৈখিক দেখায় - যার অর্থ এটি বৈদ্যুতিকভাবে একটি প্রতিরোধকের মত "দেখায়"। সমতুল্য প্রতিরোধ হল বক্ররেখার বিপরীত opeাল। MOSFET অপারেশনের এই অঞ্চলটিকে "ট্রায়োড" বলা হয়। 3. বৃহত্তর VDS- এর জন্য, কিছু সর্বোচ্চ মাত্রার কারেন্ট পৌঁছেছে। একে "স্যাচুরেশন" বলা হয়। 4. আমরা ভিজিএস বাড়ানোর সাথে সাথে, ট্রায়োড এবং স্যাচুরেশন মোড দুটোতেই বেশি কারেন্ট প্রবাহিত হতে পারে এবং এখন আপনি মোসফেট অপারেশনের তিনটি মোড সম্পর্কে জানতে পেরেছেন: কাটঅফ, ট্রায়োড এবং স্যাচুরেশন। কারণ আমাদের গেট কন্ট্রোল ডিজিটাল (+5 বা 0), আমরা শুধুমাত্র হলুদ বর্ণিত বক্ররেখা সম্পর্কে উদ্বিগ্ন, VGS = 5V এর জন্য। সাধারণত, একটি সুইচ হিসাবে একটি MOSFET ব্যবহার করে সাধারণত অপারেশনের ট্রায়োড মোড জড়িত থাকে, কারণ MOSFET শক্তি PD = ID*VDS অপচয় করে, এবং একটি ভাল সুইচটি নিজেই সুইচটিতে সামান্য শক্তি অপচয় করে। কিন্তু এই ক্ষেত্রে, আমরা একটি মোটর নিয়ে কাজ করছি, এবং মোটরগুলি যখন প্রথমবার শুরু হয় তখন প্রচুর পরিমাণে বর্তমান (সামান্য ভোল্টেজ ড্রপ সহ) প্রয়োজন হয়। তাই প্রথম দ্বিতীয় বা দুইটির জন্য, MOSFET উচ্চ VDS দিয়ে কাজ করবে, এবং তার সর্বাধিক বর্তমান দ্বারা সীমাবদ্ধ থাকবে - আমরা ডেটশীটে আঁকা লাল ড্যাশ লাইন থেকে প্রায় 800mA। আমরা দেখেছি যে পাম্পটি শুরু করার জন্য এটি যথেষ্ট ছিল না, তাই আমরা একটু কৌশল ব্যবহার করেছি এবং দুটি MOSFETs সমান্তরালে রেখেছি। এইভাবে, তারা বর্তমান ভাগ করে, এবং কার্যকরভাবে প্রায় 1600mA একসাথে ডুবে যেতে পারে এছাড়াও পাম্পের উচ্চ শক্তির প্রয়োজনীয়তার কারণে, আমরা উচ্চতর বর্তমান আউটপুট সহ একটি প্রাচীর ট্রান্সফরমার ব্যবহার করেছি। আপনার যদি 5V এর বেশি আউটপুট সহ প্রাচীর ট্রান্সফরমার থাকে - সম্ভবত 9V বা 12V - তাহলে আপনি ca

ধাপ 3: MCU- এ PWM সেট -আপ করুন

MCU- এ PWM সেট আপ করুন
MCU- এ PWM সেট আপ করুন
MCU- এ PWM সেট আপ করুন
MCU- এ PWM সেট আপ করুন
MCU- এ PWM সেট আপ করুন
MCU- এ PWM সেট আপ করুন

পিডব্লিউএম রেজিস্টার এবং গণনা ভিডিওতে, আমরা টাইমার/কাউন্টার মডিউল দ্বারা ব্যবহৃত দুটি স্তর সম্পর্কে কথা বলি: শীর্ষ মান এবং তুলনা মান। আপনার পছন্দের PWM সিগন্যাল তৈরিতে এই দুটিই গুরুত্বপূর্ণ। প্রথমত, আমরা OCR1A- এর সঙ্গে দ্রুত PWM মোডকে সর্বোচ্চ মান হিসেবে নির্বাচন করি, যা আমাদেরকে নির্বিচারে সেট করতে দেয় যে কতবার নতুন পালস শুরু করতে হবে। তারপর, আমরা ঘড়িকে 8-এর প্রাক-বিভাজনের সাথে চালানোর জন্য সেট করি, যার মানে কাউন্টার বাড়বে 1 দ্বারা প্রতি 8/(14745600 Hz) = 542 ন্যানোসেকেন্ড। যেহেতু এই টাইমারের জন্য আমাদের 16-বিট রেজিস্টার আছে, এর মানে হল আমরা আমাদের সামগ্রিক সিগন্যাল পিরিয়ডকে 65536*542ns = 36 মিলিসেকেন্ডের মতো উচ্চতায় সেট করতে পারি। যদি আমরা একটি বড় বিভাগ সংখ্যা ব্যবহার করি, আমরা আমাদের ডালগুলিকে আরও দূরে রাখতে পারি (যা এই পরিস্থিতিতে সাহায্য করে না), এবং আমরা রেজোলিউশন হারাতে চাই। যদি আমরা একটি ছোট ডিভিশন নম্বর ব্যবহার করি (যেমন 1), আমরা আমাদের ডাল কমপক্ষে 16 মিলিসেকেন্ড আলাদা করতে পারব না, যেমন আমাদের সার্ভো প্রত্যাশা করে। শেষ পর্যন্ত, আমরা একটি "নন-ইনভার্টিং" PWM এর জন্য আউটপুট মোড তুলনা করি আউটপুট, যা আমাদের ভিডিওতে বর্ণিত হয়েছে। আমরা পিন PB2 কে আউটপুট পিন হিসেবে সেট করেছি-এখানে দেখানো হয়নি, কিন্তু এটি কোডে আছে। ATmega168 ডেটশীটের পৃষ্ঠা 132-134 থেকে এই শটগুলি বড় করতে ক্লিক করুন, আমাদের রেজিস্টার মান নির্বাচন হাইলাইট করা হয়েছে:

ধাপ 4: মাইক্রোকন্ট্রোলার প্রোগ্রাম করুন

এখন সময় আসলে MCU প্রোগ্রাম করার। আমাদের ওয়েবসাইট https://www.nerdkits.com/videos/servosquirter এ সম্পূর্ণ সোর্স কোড দেওয়া হয়েছে কোডটি সার্ভো চালানোর জন্য প্রথমে PWM সেট করে। কোডটি তখন ব্যবহারকারীর ইনপুটের অপেক্ষায় লুপে বসে থাকে। অক্ষর 1 এবং 0 MCU পিন চালু করে যা পাম্প ট্রানজিস্টরের সাথে সংযুক্ত বা বন্ধ। এটি পাম্পটি চালু এবং বন্ধ করে দেবে যা আমাদের ইচ্ছামতো অগ্নিসংযোগ করার ক্ষমতা দেবে। অবস্থান পরিবর্তন করার জন্য মোটর। এটি আপনাকে গুলি চালানোর আগে লক্ষ্য করার ক্ষমতা দেয়।

ধাপ 5: সিরিয়াল পোর্ট যোগাযোগ

সিরিয়াল পোর্ট কমিউনিকেশনস
সিরিয়াল পোর্ট কমিউনিকেশনস
সিরিয়াল পোর্ট কমিউনিকেশনস
সিরিয়াল পোর্ট কমিউনিকেশনস
সিরিয়াল পোর্ট কমিউনিকেশনস
সিরিয়াল পোর্ট কমিউনিকেশনস
সিরিয়াল পোর্ট কমিউনিকেশনস
সিরিয়াল পোর্ট কমিউনিকেশনস

শেষ ধাপ হল কম্পিউটার সেট আপ করা যাতে আপনি মাইক্রোকন্ট্রোলারের কাছে কমান্ড পাঠাতে পারেন। NerdKit- এ, আমরা কম্পিউটারে কমান্ড এবং তথ্য পাঠানোর জন্য সিরিয়াল ক্যাবল ব্যবহার করি। সর্বাধিক প্রোগ্রামিং ভাষায় সহজ প্রোগ্রাম লেখা সম্ভব যা সিরিয়াল পোর্টের মাধ্যমে NerdKit- এর সাথে যোগাযোগ করতে পারে। তবে আমাদের জন্য সিরিয়াল যোগাযোগের জন্য একটি টার্মিনাল প্রোগ্রাম ব্যবহার করা অনেক সহজ। এইভাবে আপনি কেবল কীবোর্ডে টাইপ করতে পারেন, এবং NerdKit এর প্রতিক্রিয়া দেখতে পাবেন। যোগাযোগ "। যখন আপনি প্রথম হাইপারটার্মিনাল খুলবেন, এটি আপনাকে একটি সংযোগ স্থাপন করতে বলে। এগুলি বাতিল করুন, যতক্ষণ না আপনি মূল হাইপারটার্মিনাল দৃশ্যের মধ্যে আছেন। আপনাকে হাইপারটার্মিনাল সেটআপ করতে হবে, সঠিক COM পোর্ট নির্বাচন করতে হবে, এবং NerdKit- এর সাথে কাজ করার জন্য উপযুক্তভাবে পোর্ট সেটিংস সেট করতে হবে। সঠিক হাইপারটার্ম সেটআপ পেতে নীচের স্ক্রিনশটগুলি অনুসরণ করুন যদি আপনি উইন্ডোজ ভিস্তাতে থাকেন তবে হাইপারটার্মিনাল আর অন্তর্ভুক্ত করা হয় না। এই ক্ষেত্রে, PuTTY (উইন্ডোজ ইনস্টলার) ডাউনলোড করতে যান। সঠিক COM পোর্ট ব্যবহার করে পুটি সেট করার জন্য নিচের সংযোগ সেটিংস ব্যবহার করুন। ম্যাক ওএস এক্স টার্মিনাল অ্যাপ্লিকেশনে প্রবেশ করার পর, সিরিয়াল পোর্টে যোগাযোগ শুরু করতে "screen /dev/tty. PL* 115200" টাইপ করুন। লিনাক্স লিনাক্স, আমরা ব্যবহার করি " minicom "সিরিয়াল পোর্টের সাথে কথা বলতে। শুরু করতে, মিনিকমের সেটআপ মেনুতে প্রবেশ করতে কনসোলে "মিনিকম -এস" চালান। "সিরিয়াল পোর্ট সেটআপ" এ যান। নিম্নরূপ প্যারামিটারগুলি সেট করুন: লিনাক্সে মিনিকম কনফিগারেশন তারপর, এসকেপ চাপুন এবং ডিফল্ট হিসাবে সেটিংস সংরক্ষণ করতে "সেভ সেটআপ ডিএফএল" ব্যবহার করুন। আপনার এখন "প্রস্থান" টিপতে সক্ষম হওয়া উচিত এবং নেরডকিটের সাথে কথা বলার জন্য মিনিকম ব্যবহার করা উচিত।

প্রস্তাবিত: