سيف سيبر المضئ من صنعك! جزء3

في الجزء الثالث ، نقوم بتجميع البرامج الثابتة وإنشاء وحدة التحكم في قلب Sabre ، ثم نقوم باختبار وتشخيص أولي.

الجزء 1: مقدمة ، المكونات ، والسلامة هنا

الجزء 2: الطاقة والصوت هنا

جزء 4: التجميع والبناء المقوى هنا

سنضيف الجزء الرابع قريبا -يمكنك العودة الى هذه الصفحة لاحقا لتفقد الجزء الرابع هنا ""

المقال كاملا -بالإنجليزية-

 

وحدة تحكم Sabre

WS2812b LED هو جهاز رقمي. إن تطبيق الطاقة على شريط Neopixel ليس كافيًا - سيظل مظلمًا ما لم يأمر به اتصال تسلسلي. لذلك سنحتاج إلى متحكم دقيق. وبمجرد افتراض ذلك ، قد نقوم أيضًا بتزويده بجميع ميزات البرنامج التي يمكننا ملاءمتها لأن البرنامج لا يزن شيئًا وهو مجاني في الأساس.


أنا مغرم جدًا بـ "Pro Micro" من SparkFun ، وهو Arduino Leonardo المنكمش. كما أنه يقوم بالتمهيد البارد بشكل أسرع بدلاً من الانتظار لمدة ثوانٍ لـ IDE.


MPU-6050 هو مقياس تسارع ثلاثي المحاور معروف وجيروسكوب يتحدث عن I2C. إنه شائع جدًا على اللوحات الفرعية من العديد من المصادر. إذا أردنا أن يستجيب السيف عند تحريكه ، فنحن بحاجة إلى مستشعر مثل هذا.


يمكن استخلاص جهاز التشفير / المفتاح الدوار "الحجم الرقمي" المقترح من اللوحات الشائعة في مجموعات Arduino. أحصل على حقيبتي في أكياس مقابل نصف دولار لكل منها.


"البلور/الكرستالة هو قلب النصل." في هذه الحالة ، يعمل بسرعة 16 ميجا هرتز ويحتوي على شريحة مستشعر مصاحبة.





تحضير البرنامج الثابت

أولاً ، نحتاج إلى تحميل برنامج Arduino الثابت الخاص بنا على "اللوحة العارية" قبل أن نبدأ الإنشاء. نأمل أن تكون معتادًا على Arduinos وأن يكون لديك IDE مثبتًا بالفعل. ستحتاج إلى تثبيت مكتبة FastLED. قد يكون لديك بالفعل. إذا لم تقم بذلك ، فاستخدم الرابط ، وانقر على "استنساخ أو تنزيل" ، واحفظه كملف .zip.


في Arduino IDE ، حدد القائمة "Sketch" >> "Include Library" >> "Add Zip Library ..." وأعطها الملف الذي قمت بتنزيله للتو. هذا هو نفس الإجراء المستخدم لتثبيت أي مكتبة مستضافة على Github.


FastLED هو المعيار الواقعي للتعامل مع مصفوفات WS28xx LED وله ميزات أكثر مما لدي مساحة لوصفها.


قم بتنزيل البرنامج الثابت LEDSaber:هنا


قم بفك ضغط ملف .zip وافتح رسم LEDSaber.ino باستخدام Arduino IDE.


توجد في الجزء العلوي من الرسم أهم المعلمات. إذا كنت تبني كل شيء كما هو موصوف ، فلن تحتاج إلى تغيير أي شيء ومن الجيد أن تبدأ.


من المرجح أن يكون التعديل الأكثر شيوعًا هو عدد مصابيح LED في شريط الشفرة ودبوس الاتصال:


// تحديد خصائص شفرة LED الخاصة بنا

#define BLADE_LEDS_COUNT 72

#define BLADE_LEDS_PIN A2

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


// التخصيص الافتراضي للون

#define BLADE_SATURATION 255

#define BLADE_HUE 144

// انظر الخصائص. h لقائمة الإعدادات المسبقة

هذه تحدد لون شفرة بدء التشغيل. لقد اخترت Jedi blue كخيار افتراضي. يتم تعريف هذا اللون من خلال "تدرج اللون" (حيث يكون على قوس قزح) و "التشبع" (التشبع الأعلى يعني لونًا أكثر ثراءً ونقاءً ، بينما يعني التشبع الأقل لونًا باهتًا أو شاحبًا).


يتوفر HSV Rainbow الخاص بـ FastLED.


يحتوي ملف "properties.h" على مجموعة أكبر من الألوان / معلمات الصوت للإعدادات الثمانية المسبقة. بمجرد حصولك على القليل من الخبرة مع السيف ، قد ترغب في تخصيصها.


// خصائص اغلاق الجهد

#define VOLTAGE_SHUTDOWN (3.5f * 3.0f) // الحد الأدنى من الجهد المطلوب

#define VOLTAGE_SENSOR_RATIO (2.10f / 12.60f) // النسبة بين جهد المستشعر والجهد الحقيقي للبطارية (1: 6 افتراضيًا)

#define VOLTAGE_SENSOR_PIN A3 // pin المستخدم بواسطة مستشعر الجهد

تعد إعدادات إيقاف التشغيل عند انخفاض الجهد هي الأكثر أهمية. إذا لم يكن مقسم الجهد الخاص بك 6: 1 أو كنت تستخدم بطارية مختلفة ، فستحتاج إلى ضبط VOLTAGE_SENSOR_RATIO و / أو VOLTAGE_SHUTDOWN بناءً على قياسات البطارية والجهد المستشعر وخصائص البطارية.


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


لاحظ أننا نستخدم عتبة انخفاض الجهد 3.5 فولت لكل خلية LiPo. في بعض حالات التفريغ ، يمكن اعتبار هذا الرقم منخفضًا نوعًا ما. ومع ذلك ،ضع في اعتبارك أن جهد البطارية يقاس تحت الحمل. ستعود الفولتية الخلوية إلى 0.1 فولت أو أكثر بمجرد أن نوقف السحب الحالي.


قم بتحميل البرنامج الثابت

تأكد من أن جهاز Pro Micro لن يلمس أي شيء معدني. قم بتوصيل Pro Micro بمنفذ USB بجهاز الكمبيوتر الخاص بك. يجب أن تصدر أصوات التنبيه المعتادة.



 




 


في Arduino IDE ، استخدم القائمة "أدوات" >> "المنفذ" وحدد الجهاز الذي قمت بتوصيله للتو.


استخدم "أدوات" >> "لوحة" واختر "Arduino Leonardo" لإخبار IDE بنوع اللوحة.



 




 


انقر فوق الزر "تحقق" وتأكد من تجميع كل شيء. (أتمنى حقًا ألا يفعل مؤلفو المكتبات #pragma. إنه غير مرتب.)


يجب أن ترى الناتج التالي:



 




 


انقر فوق سهم "تحميل". سيتم تجميع الكود مرة أخرى ويجب إرساله إلى الجهاز في سلسلة من الأضواء الوامضة.


وهذا كل شيء.


أضف مفتاح الروتاري

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


يتم إدخال الجانب الذي يحتوي على ثلاثة دبابيس في الفتحات 16 و 14 و 15. يدخل الطرفان (مع وجود فجوة بينهما) في 6 و 8.



 




تحتوي بعض المفاتيح الدوارة على علامات تبويب من شأنها أن تتداخل. تذبذب لهم بالزردية حتى يسقطوا.

 




يجب أن يكون المفتاح بعيدًا عن اللوحة ، وليس تقصيرًا في المكونات بقاعدتها المعدنية.

لاحظ جيدًا: اترك الفتحات الأخيرة فارغة. دبوس 10 هو المكان الذي يخرج فيه الصوت.


إذا كنت بحاجة إلى قطع عمود التبديل ، فافعل ذلك قبل توصيله بـ Pro Micro! أمسك طرف العمود بملزمة وقم بتقليمه باستخدام Dremel أو منشارا. لا تضع الجسم الرئيسي للمفتاح في الملزمة - سوف يدور العمود بلا فائدة ولن يحتمل أن ينجو المفتاح من قوى القطع.


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


قم بتركيب المفتاح على جانب مكون جهاز Pro Micro عن طريق وضع Arduino على سطح مستو وصلب ومقاوم للحرارة (يمكنك استخدام قطعة من الورق أسفل المكونات لتوفير حماية إضافية ، إذا لزم الأمر). ثم ضع دبابيس المفتاح في الفتحات بحيث يكون كل شيء على ما يرام ومستوى. (لا تسحق / تقصر الكريستال Pro Micro أو أي أجزاء أخرى!) الآن يمكنك اللحام من الجانب العلوي.


بالنسبة لأولئك الذين لا يريدون عناء التبديل ، سأشير إلى أنه ليس جزءًا أساسيًا تمامًا من نظام الشفرات. ومع ذلك ، إذا اخترت استبعاده ، فستفقد قدرًا كبيرًا من الوظائف - كل القدرة على تغيير الإعدادات أثناء الاستخدام والطريقة الأساسية لإشعال وإطفاء شفرة LED. لكن هذه ليست الطريقة الوحيدة لإضاءة النصل ؛ تتيح لك ميزة التأرجح للإشعال أن تضيء ويمكن إيقاف تشغيله (أو مفتاح الطاقة الرئيسي) إيقاف تشغيله.


في الواقع ، يمكنك الحصول على مقبض بدون ضوابط خارجية على الإطلاق ، طالما يمكنك فصل البطارية بأمان وسهولة.


إضافة MPU-6050 IMU

يأتي MPU-6050 على ألواح عزل بأشكال عديدة. نحن نهتم فقط بالدبابيس الأربعة لـ GND و VCC و SDA و SCL.


نظرًا لأن خطوط بيانات / ساعة Arduino I2C متجاورة تمامًا على الدبابيس 2 و 3 (وعادة ما تكون أيضًا معًا على IMU) ، أوصي بتركيب IMU مباشرة على "الجزء الخلفي" من Pro Micro باستخدام معيارين 0.1 دبابيس رأس بوصة ، مع العزل يعمل بشكل مريح كمباعد.





 


.


 




 


إذا كانت دبابيس SDA / SCL تبدو بترتيب خاطئ ، فما عليك سوى قلب وحدة IMU.


إذا كنت محظوظًا جدًا ، فمن الممكن أيضًا أن تصطف دبابيس GND أو VCC بشكل جيد. لم أفعل ذلك ، لذلك قمت بتشغيل الأسلاك المناسبة (قبل أن ألحم المسامير) في الفراغ بينهما. هذا يخلق حزمة أنيقة للغاية.


كان مفتاح التشفير الدوار الخاص بي ولوحة اختراق IMU كبيرة جدًا بحيث لا يمكن وضعها في نفس الجانب من جهاز Pro Micro (بحوالي ملليمتر!) ولكن قد يكون لديك المزيد من الخيارات للتنسيب. لم أكن سعيدًا تمامًا بمدى انكشاف وحدة IMU ، حيث كانت معلقة من جانب المكون الخلفي لأعلى ، لذلك قمت لاحقًا بتغطيتها بغلاف السيليكون للحماية ووضع بعضها في الفجوة لمنع الانثناء.


 





يربط دبابيس ناقل I2C ويقومان فعليًا بتركيب اللوحة. تعمل أسلاك الطاقة بينهما.

 




أضف موصلات أجهزة

نستخدم قابس مؤازر للحصول على الطاقة من محول الطاقة ومقبس لتزويد اتصال البيانات بالشفرة.


ينتقل إحساس الجهد من المحول إلى دبوس A3 على Pro Micro ويتصل السلك المتجه إلى المقبس بالدبوس A2. (هذه قابلة للتغيير في البرامج الثابتة إذا لزم الأمر.)


بمعنى ما ، تعمل وحدة التحكم مثل كتلة "محول" أخرى ، حيث تأخذ الفولت وتحولها إلى بيانات. أو ربما مفتاح إضاءة معقد للغاية.


 






 




ينتقل إحساس الجهد إلى A3 ، وهو أقرب إدخال تناظري إلى دبابيس GND / RAW. تخرج بيانات التحكم بالجوار على A2 وتنتقل إلى شريط LED.

إعادة برمجة اردوينو بأمان

قد ترغب في تعديل البرنامج الثابت بعد اكتمال السيف. انتبه لهذا التحذير.


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


تذكر: لا تسمح باختصار سكك إمداد طاقة مستقلين معًا. في هذا المشروع ، هذا يعني عدم اختصار 5V لمحول DC / DC إلى 5V USB. لا تعبر الجداول!


... في الواقع ، يحتوي Pro Micro (الإصدار الأصلي الحالي) على صمام ثنائي حماية و polyfuse الذي يجب أن يجعل ذلك آمنًا تمامًا. وإلا ، كنت سأصممه بشكل مختلف. (لا تقم أبدًا بالبناء في آلية التدمير الذاتي!) ولكن هناك متغيرات وعناصر مقلدة يمكن أن تحذف هذه الأجزاء بسهولة - وعلى أي حال ، هل تريد حقًا أن تقامر بحياة جهاز الكمبيوتر الخاص بك على دوائر الحماية المفترضة لشخص آخر؟ من الأفضل تجنب هذا الموقف برمته.


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


إذا كنت تخطط لإجراء الكثير من تطوير البرامج (كما فعلت أنا) ، فإنني أوصي ببناء "شفرة سكين" مع أقل من 40 مصباحًا للاختبار. عند 2 أمبير كحد أقصى ، لن يعمل هذا بالكاد من منفذ USB "شحن" ويمكنك كتابة كل الرموز السيئة التي تريدها. لاحظ أنه لا توجد طريقة يمكن لجهاز الكمبيوتر الخاص بك أن يزود بها تيارًا كافيًا لتشغيل الشريط الذي يبلغ طوله مترًا واحدًا بالكامل ، ويجب أن ينطلق polyfuse في Pro Micro ويقطع التيار إذا حاولت.


 





يمكن تشغيل "سكين الضوء" 40-LED الذي استخدمته للتطوير بشكل كافٍ بواسطة منفذ USB "شحن" عالي التيار.

قم بتوصيل وحدة الصوت







وحدة الصوت المكتملة من الجزء الثاني.

 

نحتاج إلى قدر لا بأس به من طاقة 5 فولت لمضخم الصوت (بقدر 2 وات!) لذا قم بتوصيل أسلاك الطاقة الخاصة به بـ GND و RAW على Pro Micro. يمكنك القيام بذلك عن طريق دفع الأسلاك من تسخير الطاقة والأسلاك من وحدة الصوت إلى فتحات GND و RAW (ثم اللحام كالمعتاد). ضع القليل من الغراء الساخن أو السيليكون فوق هذه الوصلات لتخفيف الضغط والحماية. كن حذرًا هنا ؛ هذا هو أقرب ما يمكن لمسه لقضبان 20 أمبير.


لا تقم بتوصيل الطاقة الصوتية بمسمار VCC الخاص بـ Pro Micro - فهذا قد يسرق من مصدر الطاقة "الرقمي" المنظم. يجب أن تعمل VCC فقط على Pro Micro و MPU-6050.


اخترت توصيل وحدة الصوت / مكبر الصوت مباشرة بـ Pro Micro لأن المساحة كانت تنفد ، لكن لا تتردد في إضافة موصل مؤازر آخر هنا إذا أردت (أو موصلات JST صغيرة إذا كان لديك).



وحدة الصوت المتصلة بوحدة التحكم 

اختبارات مقاعد البدلاء الأولية

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


إذا نجح ذلك ، يمكنك إجراء اختبار أولي باستخدام محول الطاقة والبطارية. افصل من USB ، وقم بتوصيل الوحدات الأربع التي أكملناها في السلسلة المناسبة (وحدة التحكم ، ومحول الطاقة ، والتسخير ، والبطارية) ، واحترس من السراويل القصيرة ، وقم بإجراء اختبار "الإشعال" الأول.


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


أدر مقبض التحكم في اتجاه عقارب الساعة لإشعال الشفرة أو "ارتطام" وحدة التحكم (عادةً ما أرفع أحد الأركان وأسقطها مرة أخرى) لمنحها دورانًا كافيًا لتنشيط "التأرجح للإشعال".


يجب أن يكون هناك صوت تمزيق مفاجئ ، مرتفع ، شبه مزعج من السماعة يستقر في الطنين المألوف. يمكنك (برفق) تحريك وحدة التحكم لتسمع تغير الطنين بمهارة. سيثبت ذلك أن وحدة IMU تعمل.


إذا تم إيقاف تشغيل السيف باستمرار بعد حوالي 90 ثانية ولم يستجيب الصوت للحركة ، فمن المحتمل أن وحدة IMU لا تتواصل مع Arduino. تأكد من أن لديها طاقة وأن خطوط I2C هي الطريقة الصحيحة.


لاختبار الصوت ، ضع السماعة بحيث يكون وجهها لأسفل داخل الغطاء الطرفي PVC (أو في نهاية الجزء المقطوع من الأنبوب) حتى تعرف كيف سيبدو الصوت عندما يكون داخل المقبض. تعمل مكبرات الصوت بشكل أفضل عندما يكون هناك "حاجز" بين الوجهين الأمامي والخلفي ؛ وإلا ، فإن موجات ضغط الصوت تلتف حول حافة مخروط السماعة وتلغيها.


اضبط التحكم في مستوى الصوت في وحدة السماعة بحيث تكون أصوات الطنين والإشعال في أفضل حالاتها - بصوت عالٍ ولكن غير مشوش.


 





خمس من أصل ست وحدات متصلة وجاهزة لاختبار مقاعد البدلاء. إيغور ، ارمي مفتاح ze!

 

إذا كان لديك صوت ثابت متقطع أو أنين عالي النبرة أو مشكلات صوتية أخرى في هذه المرحلة (بشكل أساسي ، إذا كان بإمكانك سماع أي شيء قادم من السماعة أثناء عدم تنشيط الشفرة) ، فقد تحتاج إلى إضافة 330 درجة فهرنهايت أو مكثف إلكتروليتي 470 درجة فهرنهايت عبر مصدر طاقة مضخم الصوت. قد يكون هذا هو الحال خاصة إذا اخترت SBEC بخلاف YEP-20.


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

تعليقات

المشاركات الشائعة من هذه المدونة

ما هو Microcontroller ؟ وما استخداماته؟

المُحركات (Motors) واختيار المُحرك المناسب