سيرفو سكيرتر - مسدس ماء USB: 5 خطوات
سيرفو سكيرتر - مسدس ماء USB: 5 خطوات
Anonim

مسدس ماء مؤازر يتحكم فيه USB. رائع لإطلاق النار على المارة المطمئنين ، أو لإبقاء الأشخاص الذين لديهم أسئلة مزعجة في وضع حرج. هذا المشروع عبارة عن مضخة مياه صغيرة مثبتة فوق أجهزة مؤازرة لإطلاق اتجاهي. يتم تشغيل كل شيء بواسطة متحكم دقيق ، ويتم التحكم فيه من لوحة المفاتيح عبر USB. لمشاهدة المزيد من مشاريعنا وبرامج الفيديو التعليمية المجانية ، تحقق من موقعنا

الخطوة 1: اجمع المواد

هذا المشروع يعتمد على متحكم دقيق. بخلاف الميكروكونترولر ATmega168 المتضمن في USB NerdKit. بالنسبة لهذا المشروع ، استخدمنا ما يلي: 1 Hobby Servo ، Hitec HS-501 مضخة مياه ذات مكبس منخفض الجهد ، 1 MOSFET صغير n-channel ، 2N7000

الخطوة 2: قم بتجميع الدائرة

الجزء الأول من دائرتنا يتصل فقط بالمؤازرة. هذا بسيط هنا: سلك واحد من وحدة التحكم الدقيقة إلى المؤازرة. هناك عدد قليل من الملصقات الملونة المختلفة اعتمادًا على الشركة المصنعة ، لذا تحقق من ذلك قبل تجربة ذلك. شريحة ATmega168 نفسها تسمح فقط بـ 40 مللي أمبير كحد أقصى داخل أو خارج أي دبوس ، لكن مضختنا تتطلب ما يقرب من 1000 مللي أمبير! لذا من أجل التحكم في هذا الحمل الأكبر ، اخترنا استخدام ترانزستور أكبر ، 2N7000. نوضح أولاً أساسيات استخدام MOSFETs (ترانزستورات تأثير مجال أشباه الموصلات بأكسيد المعادن) كمفاتيح: رفع جهد البوابة فوق المصدر ، يمكننا السماح للتيار بالتدفق من الصرف إلى المصدر. من ورقة البيانات 2N7000 ، استخرجنا الشكل 1 ، الذي يوضح العلاقة بين تيار التصريف والجهد الكهربائي لمصدر التصريف لإعدادات مختلفة لجهد مصدر البوابة. هناك بعض الأشياء المهمة التي يمكنك تعلمها من هذا الرسم البياني: 1. بالنسبة لـ VGS أقل من 3.0 فولت ، لا يُسمح بتدفق أي تيار. هذه هي حالة الخروج ، وتسمى أيضًا "القطع". 2. بالنسبة إلى VDS الصغيرة ، يبدو المنحنى خطيًا تقريبًا عبر الأصل - مما يعني أنه "يبدو" كهربائيًا مثل المقاوم. المقاومة المكافئة هي المنحدر العكسي للمنحنى. تسمى هذه المنطقة من عملية MOSFET "الصمام الثلاثي". 3. بالنسبة لـ VDS الأكبر ، يتم الوصول إلى الحد الأقصى لمستوى التيار. وهذا ما يسمى "التشبع". 4. مع زيادة VGS ، يُسمح بتدفق المزيد من التيار في كل من وضعي الصمام الثلاثي والتشبع. وقد تعرفت الآن بالفعل على جميع الأوضاع الثلاثة لتشغيل MOSFET: القطع ، والثالث ، والتشبع. لأن التحكم في البوابة رقمي (+5 أو 0) ، نحن مهتمون فقط بالمنحنى المظلل باللون الأصفر ، لـ VGS = 5V. عادةً ما يتضمن استخدام MOSFET كمفتاح وضع التشغيل الثلاثي ، لأن MOSFET يبدد الطاقة PD = ID * VDS ، ويجب أن يبدد المفتاح الجيد القليل من الطاقة في المفتاح نفسه. لكن في هذه الحالة ، نتعامل مع محرك ، وتميل المحركات إلى طلب الكثير من التيار (مع انخفاض طفيف في الجهد) عند بدء التشغيل لأول مرة. لذلك في الثانية أو الثانية ، ستعمل MOSFET مع VDS عالية ، وستكون مقيدة بأقصى تيار لها - حوالي 800 مللي أمبير من الخط الأحمر المتقطع الذي رسمناه في ورقة البيانات. وجدنا أن هذا لم يكن كافيًا لبدء تشغيل المضخة ، لذلك استخدمنا خدعة صغيرة ووضعنا وحدتي MOSFET على التوازي. بهذه الطريقة ، يشتركون في التيار ، ويمكن أن يغرقوا معًا حوالي 1600 مللي أمبير. أيضًا نظرًا لمتطلبات الطاقة العالية للمضخة ، استخدمنا محولًا جداريًا بإنتاج تيار أعلى. إذا كان لديك محول حائط بإخراج أكبر من 5 فولت - ربما 9 فولت أو 12 فولت - فأنت كاليفورنيا

الخطوة 3: قم بإعداد PWM على MCU

تسجيلات وحسابات PWM في الفيديو ، نتحدث عن مستويين تستخدمهما وحدة المؤقت / العداد: القيمة الأعلى وقيمة المقارنة. كلاهما مهم في توليد إشارة PWM التي تريدها ، ولكن لتنشيط خرج ATmega168 PWM الخاص بك في المقام الأول ، يتعين علينا إعداد عدد قليل من السجلات. أولاً ، نختار وضع Fast 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 لقيادة المؤازرة. ثم يجلس الرمز في حلقة انتظار في انتظار إدخال المستخدم. يقوم الحرفان 1 و 0 بتشغيل أو إيقاف تشغيل دبوس MCU المتصل بترانزستور المضخة. سيؤدي هذا إلى تشغيل المضخة وإيقاف تشغيلها مما يمنحنا القدرة على إطلاق النار حسب الرغبة. يستجيب الرمز أيضًا لمفاتيح "[" و "]" هذه المفاتيح ستزيد أو تنقص قيمة المقارنة على دبوس PWM ، مما يؤدي إلى حدوث المؤازرة محرك لتغيير الموقف. يمنحك هذا القدرة على التصويب قبل إطلاق النار.

الخطوة 5: اتصالات المنفذ التسلسلي

الخطوة الأخيرة هي إعداد الكمبيوتر حتى تتمكن من إرسال الأوامر إلى وحدة التحكم الدقيقة. في NerdKit ، نستخدم الكبل التسلسلي لإرسال الأوامر والمعلومات إلى الكمبيوتر. من الممكن كتابة برامج بسيطة في معظم لغات البرمجة يمكنها التواصل عبر المنفذ التسلسلي إلى NerdKit. ومع ذلك ، فمن الأسهل بكثير استخدام برنامج طرفي لإجراء الاتصال التسلسلي لنا. بهذه الطريقة ، يمكنك فقط الكتابة على لوحة المفاتيح ، والاطلاع على الاستجابة من NerdKit. Windows إذا كنت تستخدم Windows XP أو إصدارًا أقدم ، فسيتم تضمين HyperTerminal ، ويجب أن يكون في قائمة ابدأ ضمن "ابدأ -> البرامج -> الملحقات -> مجال الاتصالات". عندما تفتح HyperTerminal لأول مرة ، يطلب منك إعداد اتصال. قم بالإلغاء من هؤلاء ، حتى تكون في HyperTerminal sceen الرئيسي. سيتعين عليك إعداد HyperTerminal ، واختيار منفذ COM الصحيح ، وتعيين إعدادات المنفذ بشكل مناسب للعمل مع NerdKit. اتبع لقطات الشاشة أدناه للحصول على إعداد HyperTerm الصحيح. إذا كنت تستخدم نظام التشغيل Windows Vista ، فلن يتم تضمين HyperTerminal. في هذه الحالة ، انتقل إلى تنزيل PuTTY (مثبت Windows). استخدم إعدادات الاتصال أدناه لإعداد Putty ، باستخدام منفذ COM المناسب. Mac OS X بعد الدخول إلى التطبيق الطرفي ، اكتب "screen /dev/tty. PL* 115200" لبدء الاتصال عبر المنفذ التسلسلي. minicom "للتحدث إلى المنفذ التسلسلي. للبدء ، قم بتشغيل "minicom -s" في وحدة التحكم للدخول إلى قائمة إعداد minicom. انتقل إلى "إعداد المنفذ التسلسلي". قم بتعيين المعلمات على النحو التالي: تكوين Minicom على Linux ، ثم اضغط على escape واستخدم "Save setup as dfl" لحفظ الإعدادات على أنها الإعدادات الافتراضية. يجب أن تكون الآن قادرًا على الضغط على "خروج" واستخدام minicom للتحدث إلى NerdKit.