فهرست مطالب:

Servo Squirter - تفنگ آب USB: 5 مرحله
Servo Squirter - تفنگ آب USB: 5 مرحله

تصویری: Servo Squirter - تفنگ آب USB: 5 مرحله

تصویری: Servo Squirter - تفنگ آب USB: 5 مرحله
تصویری: ANGRY COPS!!!! Check out my "Squirt Gun" #airsoftmemes #gun #water 2024, نوامبر
Anonim
Servo Squirter - تفنگ آب USB
Servo Squirter - تفنگ آب USB

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

مرحله 1: مواد را جمع آوری کنید

مواد را جمع آوری کنید
مواد را جمع آوری کنید
مواد را جمع آوری کنید
مواد را جمع آوری کنید
مواد را جمع آوری کنید
مواد را جمع آوری کنید

این پروژه مبتنی بر میکروکنترلر است. به غیر از میکروکنترلر ATmega168 موجود در USB NerdKit. برای این پروژه ما از موارد زیر استفاده کردیم: 1 Hobby Servo ، Hitec HS-501 پمپ آب پیستونی ولتاژ پایین 1 MOSFET کوچک کانال n ، 2N7000

مرحله 2: مدار را جمع کنید

مدار را مونتاژ کنید
مدار را مونتاژ کنید
مدار را مونتاژ کنید
مدار را مونتاژ کنید
مدار را مونتاژ کنید
مدار را مونتاژ کنید
مدار را مونتاژ کنید
مدار را مونتاژ کنید

قسمت اول مدار ما فقط به سروو متصل می شود. اینجا ساده است: یک سیم از میکروکنترلر تا سروو. بسته به سازنده ، چند برچسب رنگ متفاوت وجود دارد ، بنابراین قبل از امتحان این کار را بررسی کنید. تصویر شماتیک از مدار ServoSquirter در نان برد NerdKits قسمت دوم مدار به میکروکنترلر اجازه می دهد تا موتور پمپ را روشن و خاموش کند. تراشه ATmega168 به خودی خود حداکثر 40 میلی آمپر را به داخل یا خارج از هر پین اجازه می دهد ، اما پمپ ما به 1000 میلی آمپر نزدیکتر نیاز دارد! بنابراین برای کنترل این بار بزرگتر ، ما ترانزیستور بزرگتر ، 2N7000 را انتخاب کرده ایم. ابتدا مبانی استفاده از MOSFET (ترانزیستورهای اثرات نیمه هادی فلزی اکسید) را به عنوان سوئیچ توضیح می دهیم: آوردن ولتاژ گیت به بالای منبع ، می توانیم اجازه دهیم جریان از تخلیه به منبع جریان یابد. از برگه اطلاعات 2N7000 ، شکل 1 را استخراج کرده ایم که رابطه بین جریان تخلیه و ولتاژ منبع تخلیه را برای تنظیمات مختلف ولتاژ منبع دروازه نشان می دهد. چند نکته مهم را می توانید از این نمودار بیاموزید: 1. برای VGS زیر 3.0 ولت ، هیچ جریانی اجازه جریان ندارد. این حالت خاموش است که "قطع" نیز نامیده می شود. 2. برای VDS های کوچک ، منحنی از نظر منشأ تقریباً خطی به نظر می رسد - این بدان معناست که از نظر الکتریکی شبیه به یک مقاومت است. مقاومت معادل شیب معکوس منحنی است. این منطقه از عملیات ماسفت "triode" نامیده می شود. 3. برای VDS بزرگتر ، حداکثر میزان جریان به دست می آید. این حالت "اشباع" نامیده می شود. 4. همانطور که VGS را افزایش می دهیم ، جریان بیشتری در هر دو حالت تریود و اشباع مجاز می شود. و اکنون شما در واقع با هر سه حالت عملکرد MOSFET آشنا شده اید: قطع ، تریود و اشباع. از آنجا که کنترل دروازه ما دیجیتال است (+5 یا 0) ، ما فقط در مورد منحنی برجسته شده با رنگ زرد ، برای VGS = 5V نگران هستیم. به طور معمول ، استفاده از MOSFET به عنوان سوئیچ عموماً شامل حالت سه مرحله ای عملکرد است ، زیرا MOSFET توان PD = ID*VDS را از بین می برد و یک سوئیچ خوب باید قدرت کمی را در خود سوئیچ پخش کند. اما در این مورد ، ما با یک موتور سروکار داریم و موتورها هنگام شروع به کار نیاز به جریان زیادی (با افت ولتاژ کمی) دارند. بنابراین در دو یا دو ثانیه اول ، MOSFET با VDS بالا کار می کند و حداکثر جریان آن محدود می شود - حدود 800 میلی آمپر از خط قرمز رنگی که در برگه داده ترسیم کرده ایم. ما دریافتیم که این برای راه اندازی پمپ کافی نیست ، بنابراین از یک ترفند کوچک استفاده کردیم و دو ماسفت را موازی قرار دادیم. به این ترتیب ، آنها جریان را به اشتراک می گذارند و می توانند به طور م aboutثر حدود 1600 میلی آمپر را با هم غرق کنند. همچنین به دلیل قدرت بالای پمپ ، ما از ترانسفورماتور دیواری با خروجی جریان بالاتر استفاده کردیم. اگر ترانسفورماتور دیواری با خروجی بیشتر از 5 ولت دارید - شاید 9 ولت یا 12 ولت - پس می توانید

مرحله 3: PWM را روی MCU تنظیم کنید

PWM را روی MCU تنظیم کنید
PWM را روی MCU تنظیم کنید
PWM را روی MCU تنظیم کنید
PWM را روی MCU تنظیم کنید
PWM را روی MCU تنظیم کنید
PWM را روی MCU تنظیم کنید

در ویدیو ، ما در مورد دو سطح مورد استفاده در ماژول زمان سنج/شمارنده صحبت می کنیم: مقدار بالا و مقدار مقایسه. هر دوی اینها در تولید سیگنال PWM مورد نظر شما مهم هستند. اما برای فعال سازی خروجی PWM ATmega168 خود ، ابتدا باید چند رجیستر تنظیم کنیم. اول ، ما حالت سریع PWM را با OCR1A به عنوان مقدار بالا انتخاب می کنیم ، که به ما امکان می دهد هر چند وقت یکبار یک پالس جدید را شروع کنیم. سپس ، ساعت را تنظیم می کنیم که با تقسیم قبلی 8 کار کند ، به این معنی که شمارنده افزایش می یابد با 1 در هر 8/(14745600 هرتز) = 542 نانو ثانیه. از آنجا که ما برای این تایمر ثبات 16 بیتی داریم ، این بدان معناست که ما می توانیم دوره سیگنال کلی خود را به اندازه 65536*542ns = 36 میلی ثانیه تنظیم کنیم. اگر از عدد تقسیم بزرگتر استفاده کنیم ، می توانیم نبض هایمان را از هم دورتر کنیم (که در این شرایط کمکی نمی کند) و وضوح را از دست می دهیم. اگر از شماره تقسیم کوچکتر (مانند 1) استفاده کنیم ، نمی توانیم پالس های خود را حداقل 16 میلی ثانیه از هم دور کنیم ، همانطور که سروو انتظار دارد. در نهایت ، حالت مقایسه خروجی را برای PWM "غیر معکوس" تنظیم می کنیم خروجی ، که در ویدیوی ما توضیح داده شده است. ما همچنین پین PB2 را به عنوان پین خروجی تنظیم می کنیم-در اینجا نشان داده نشده است ، اما در کد آمده است. برای بزرگنمایی این عکس ها از صفحات 132-134 صفحه برگه ATmega168 ، با انتخاب مقدار ثبت ما کلیک کنید:

مرحله 4: میکروکنترلر را برنامه ریزی کنید

اکنون وقت آن است که MCU را برنامه ریزی کنیم. کد منبع کامل در وب سایت ما https://www.nerdkits.com/videos/servosquirter ارائه شده است. کد ابتدا PWM را برای هدایت سروو تنظیم می کند. سپس کد فقط در یک حلقه while نشسته و منتظر ورودی کاربر است. کاراکترهای 1 و 0 پین MCU را که به ترانزیستور پمپ متصل است روشن یا خاموش می کنند. با این کار پمپ روشن و خاموش می شود و به ما این امکان را می دهد که به دلخواه شلیک کنیم. کد همچنین به کلیدهای "[" و "]" پاسخ می دهد که این کلیدها مقدار مقایسه روی پین PWM را افزایش یا کاهش می دهد ، که باعث سروو می شود موتور برای تغییر موقعیت این به شما این امکان را می دهد که قبل از شلیک هدف بگیرید.

مرحله 5: ارتباطات پورت سریال

ارتباطات پورت سریال
ارتباطات پورت سریال
ارتباطات پورت سریال
ارتباطات پورت سریال
ارتباطات پورت سریال
ارتباطات پورت سریال
ارتباطات پورت سریال
ارتباطات پورت سریال

آخرین مرحله راه اندازی رایانه است تا بتوانید دستورات را به میکروکنترلر ارسال کنید. در NerdKit ، از کابل سریال برای ارسال دستورات و اطلاعات به رایانه استفاده می کنیم. امکان نوشتن برنامه های ساده در اکثر زبان های برنامه نویسی وجود دارد که می توانند از طریق پورت سریال با NerdKit ارتباط برقرار کنند. با این حال استفاده از یک برنامه ترمینال برای انجام ارتباط سریال برای ما بسیار ساده تر است. به این ترتیب فقط می توانید بر روی صفحه کلید تایپ کنید و پاسخ NerdKit را مشاهده کنید. ویندوز اگر از Windows XP یا نسخه های قدیمی تر استفاده می کنید ، HyperTerminal گنجانده شده است و باید در منوی Start خود در بخش "Start -> Programs -> Accessories -> ارتباطات ". هنگامی که HyperTerminal را برای اولین بار باز می کنید ، از شما می خواهد که یک اتصال ایجاد کنید. تا زمانی که در صفحه اصلی HyperTerminal قرار ندارید ، این موارد را لغو کنید. شما باید HyperTerminal را تنظیم کنید ، پورت COM مناسب را انتخاب کنید و تنظیمات پورت را به طور مناسب برای کار با NerdKit تنظیم کنید. برای دریافت تنظیمات صحیح HyperTerm ، تصاویر زیر را دنبال کنید. اگر از Windows Vista استفاده می کنید ، HyperTerminal دیگر موجود نیست. در این مورد ، PuTTY (نصب کننده ویندوز) را بارگیری کنید. از تنظیمات اتصال زیر برای راه اندازی Putty با استفاده از پورت COM مناسب استفاده کنید. Mac OS X پس از ورود به برنامه Terminal ، عبارت "screen /dev/tty. PL* 115200" را تایپ کنید تا از طریق پورت سریال ارتباط برقرار کنید. LinuxOn Linux ، ما از " minicom "برای صحبت با پورت سریال. برای شروع ، "minicom -s" را در کنسول اجرا کنید تا وارد منوی تنظیمات minicom شوید. به "تنظیم بندر سریال" بروید. پارامترها را به صورت زیر تنظیم کنید: پیکربندی Minicom در لینوکس سپس ، گزینه escape را بزنید و از "ذخیره تنظیمات به عنوان dfl" برای ذخیره تنظیمات به عنوان پیش فرض استفاده کنید. اکنون باید بتوانید "Exit" را زده و از minicom برای صحبت با NerdKit استفاده کنید.

توصیه شده: