جدول المحتويات:

سيارة بلوتوث RC مع STM32F103C و L293D - غير مكلفة: 5 خطوات
سيارة بلوتوث RC مع STM32F103C و L293D - غير مكلفة: 5 خطوات

فيديو: سيارة بلوتوث RC مع STM32F103C و L293D - غير مكلفة: 5 خطوات

فيديو: سيارة بلوتوث RC مع STM32F103C و L293D - غير مكلفة: 5 خطوات
فيديو: STM32 Arduino IDE Tutorial Getting started with stm32 2024, سبتمبر
Anonim
Image
Image
تدمير البطارية الآكل!
تدمير البطارية الآكل!

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

اللوازم

  • سيارة تحكم عن بعد رخيصة الثمن تأكل البطاريات. نعم ، تمامًا مثل الذي يستخدمه Ardumotive_com. ستقوم بإيقاف تشغيل النظام واستخدام بنك طاقة الهاتف بدلاً من ذلك. إذا كانت لديك الموارد اللازمة لبناء الهيكل الخاص بك ، فاحرص على ذلك. ذهبت إلى متجر الألعاب في الشارع واشتريت سيارة رخيصة بأقل من 10 دولارات. السيارة تأكل البطاريات ، وجهاز التحكم عن بعد يأكل البطاريات - مما يجعله مثاليًا للتحسين.
  • بنك طاقة هاتف - إنها رخيصة جدًا الآن. ابتعد عن بنوك الطاقة التي تحتوي على زر طاقة على الجانب. لن تتمكن من متابعة سيارتك والضغط على الزر. هذا سخيف.
  • شريحة L293D - هذا هو جسر H المزدوج الذي سيتحكم في المحركات الكهربائية.
  • وحدة بلوتوث HC-06
  • مفتاح - لقد استخدمت مفتاح تشغيل / إيقاف بسيط.
  • سيكون بعض أسلاك الهاتف السلكية على ما يرام ، ولكن سيكون أفضل قياس 20 تقطعت بهم السبل أكبر قليلاً.
  • لوح Proto أو قطعة من البلاستيك أو الكرتون لتركيب Blue Pill و L293D. أنا رخيص لذا توصلت إلى نظام مختلف قليلاً باستخدام كرتون مموج رفيع - مثل صندوق المصباح الكهربائي.
  • كابلات شحن USB رخيصة - يمكن شراؤها من Dollar Tree. لا تستخدم كابل البرمجة الجميل الخاص بك. سيتم قطع أحدهما لمفتاح التشغيل / الإيقاف ، والآخر سيشحن البطارية.

اختياري

  • 4 مصابيح LED - إذا كنت تريد مصابيح أمامية وخلفية.
  • 4220 أوم مقاومات - لمصابيح LED بنظام 3.3 فولت.
  • بيزو أو مكبر صوت صغير للقرن.

أدوات

  • لحام الحديد ولحام
  • مسدس الغراء الساخن - ابنتي هي نينجا مسدس الغراء الساخن!
  • قواطع ومقصات الأسلاك
  • ملاحظة: إذا كنت تستخدم تقنية الورق المقوى التي أستخدمها بدلاً من اللوحة الأولية ، فستحتاج إلى جهاز Dremel أو مثقاب صغير

الخطوة 1: تدمير البطارية الآكل

تدمير البطارية الآكل!
تدمير البطارية الآكل!

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

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

بمجرد أن يكون لديك الإطار مع المحركات والتوجيه المكشوف ، ابحث عن أي جانب من أطراف المحرك. استخدم بطارية أو شاحن 5 فولت لاختبار المحرك.

على محرك التوجيه ، عندما تستدير العجلات لليمين ، ضع علامة على سلك البطارية الموجب "3" والسلك السالب ، "6".

في محرك القيادة ، عندما تدور العجلات للأمام ، ضع علامة على سلك البطارية الموجب "14" والسلك السالب "11".

الخطوة 2: الكود في Arduino IDE

الكود في Arduino IDE
الكود في Arduino IDE
الكود في Arduino IDE
الكود في Arduino IDE

قد يكون من الأفضل أن تقوم بعمل نموذج أولي لإلكترونيات سيارتك أولاً على لوح توصيل.

حسنًا ، هذا أحد الأجزاء الصعبة. لا يمكن برمجة "Blue Pill" من خلال منفذ USB. لم أجد شرحًا برمجيًا أسهل لـ "Blue Pill" من فيديو Youtube من Joop Brokking. يشرح كل ما تحتاج إلى معرفته بما في ذلك مكتبة روجر كلارك STMduino. هناك طريقة لتثبيت محمل الإقلاع بحيث يمكنك استخدام USB لبرمجة "Blue Pill" ، لكن عليك برمجة أداة تحميل الإقلاع من خلال الناقل التسلسلي على أي حال.

لسوء الحظ ، يتم استخدام Serial Bus بواسطة محول Bluetooth أيضًا. يجب تثبيت البرنامج من خلال دبابيس Serial Bus و PA9 و PA10 ، عبر FTDI أولاً ، ثم يمكنك التحقق من جميع إعداداتك باستخدام محول Bluetooth.

استخدم اللوح وقم بتخطيط كل شيء على اللوح تمامًا مثل الرسم التخطيطي أعلاه. افصل خطي Serial TX و RX لمحول Bluetooth على دبابيس PA9 و PA10 الخاصة بـ STM32F103C. ربط في برنامج FTDI الخاص بك والبرنامج. تأكد من عبور خطوط Serial Bus ، RX إلى Tx و Tx إلى RX. واحد يأخذ والآخر يعطي.

بمجرد تحميل البرنامج ، يمكنك فتح وحدة التحكم التسلسلية والإرسال

لمعرفة ما إذا كانت الأضواء تعمل. إذا كانت المصابيح تعمل ، يمكنك الإرسال

مرة أخرى لإيقافهم.

ضع سيارتك على كتلة لرفع الإطارات وإرسالها

يجب أن تتحرك العجلات إلى الأمام. إذا لم يفعلوا ذلك ، فقم بعكس الأسلاك. تذكر كيف قمنا بتسمية الأسلاك في وقت سابق. يجب أن تكون المسامير المقابلة للطراز L293D مطابقة.

للتوقف ، أرسل

لنلق نظرة على التغييرات المهمة في الكود.

في قسم التعليقات ، في البداية ، يجب أن ترى منشئ الملفات ، من Ardumotive. توضح التعليقات القليلة التالية المكان الذي تغيرت فيه قليلاً لتعكس STM32F103C.

/ * * صنع بواسطة Vasilakis Michalis // 12-12-2014 v

* المشروع: التحكم في سيارة RC عبر البلوتوث باستخدام هاتف ذكي يعمل بنظام Android * مزيد من المعلومات على https://www.ardumotive.com * * تم تغيير هذا الرمز ليلائم STM32F103 بواسطة Jim Garbe ، [email protected] * مزيد من المعلومات على https:// github.com / jgarbe / RCCAR_STM32F103C * لاحظ أنه تم تغيير قيم 8 بت 0-255 إلى * تعكس قيم 16 بت 0-65535 * / / ****************** ********* * في STM32 ، لا تزال الكتابة التناظرية تعمل عند 8 بت 255 ، * ولكن يمكنك الحصول على الوظيفة الكاملة لنطاق PWM ، 0-65535 ، من خلال إعلان الدبوس كـ PWM * AND باستخدام pwmWrite () بدلاً من analogWrite () ****************************** /

والجدير بالذكر أن المسامير لم يتم تسميتها بنفس الطريقة بين Arduino و STM32F103C. نعلن الدبابيس باستخدام المجموعة التالية من الخطوط. هناك دبوس واحد متبقي تم الإعلان عنه لأسفل في الحلقة. في السطر 197 ، يتم استخدام PA5 لقراءة مستوى البطارية.

//// اتصال L293

const int motorA1 = PB6 ؛ // إلى Pin 15 of L293 const int motorA2 = PB7 ؛ // إلى Pin 10 of L293 const int motorB1 = PB8 ؛ // إلى Pin 7 of L293 const int motorB2 = PB9 ؛ // إلى Pin 2 من L293 // المصابيح المتصلة بـ STM32F103C Pin A12 const int lights = PA12 ؛ // الجرس / السماعة إلى Arduino UNO Pin A8 const int buzzer = PA8 ؛ // Bluetooth (HC-06 JY-MCU) دولة دبوس على دبوس A11 من STM32F103C const int BTState = PA11 ؛

أيضا ، باستخدام analogWrite () ؛ ستظل تعمل على "BluePill". لكن من الأفضل الإعلان عن دبابيس PWM باستخدام ،

pinMode (، PWM) ؛

ثم استخدام

pwmWrite (،) ؛

ملاحظة: 8 بت = 0-255 ، 16 بت = 0-65535

السطور 32-44 هي تغييرات تم إجراؤها على البطارية. إذا كنت ستستخدم فحص مستوى البطارية ، فيجب عليك استخدام مقسم تصويت للبطارية التي لديك. لم ينعكس هذا الجزء في رسم فريتزينج. هناك الكثير من التفسيرات حول كيفية إنشاء مقسم جهد على Youtube. نظرًا لأن STM32F103C عبارة عن شريحة 3.3 فولت ، فقد قمت بإصلاح الكود هنا لاستخدام مقسم جهد فعليًا. يمكن لـ Arduino تحمل بعض الفولتية العالية من خلال ADC المقدمة ولكن "Blue Pill" لا يمكنها ذلك.

/ * سيتم فحص مستوى البطارية في Pin PA5

* تم تغيير السطر التالي لـ STM32F103C لأن ADC لا يمكنه التعامل مع * أي شيء يزيد عن 3.3 فولت * لقد علقت عليه للتو * يجب حساب مقسم الجهد باستخدام مقاومين واستخدامه * لقياس إدخال ADC لأسفل في الكود * مثال: * GND --- 2K المقاوم ----------------- 1K المقاوم ------ 5v * | * | * 3.3 فولت * / // const float maxBattery = 3.3 ؛ // تغيير القيمة إلى الحد الأقصى لمستوى جهد البطارية!

الخطوة 3: ضعها معًا

ضعها سوية
ضعها سوية
ضعها سوية
ضعها سوية
ضعها سوية
ضعها سوية
ضعها سوية
ضعها سوية

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

اخترت هذه الطريقة المختلطة لجعل الجهاز نظيفًا وخفيف الوزن - وبالطبع أرخص!

تسمح هذه الطريقة بوضع العلامات أيضًا. أحد أسوأ أجزاء لحام deadbug هو عندما تنظر إلى شريحة IC من الأسفل وتنسى أي دبوس هو ماذا.

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

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

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

لقد استخدمت نفس تطبيق Android مثل Ardumotive ، ويمكن العثور عليه على

بمجرد اختبار وظائف السيارة ، حان الوقت لوضع البطارية والتبديل. انتقل إلى الخطوة التالية.

الخطوة 4: البطارية والتبديل

حسنًا ، هذا هو المكان الذي لا يمكنك فيه متابعة خطتي بالضبط.

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

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

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

الخطوة 5: ضع جسم سيارتك على الإطار

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

استمتع بسيارتك. تذكر أن هناك العديد من المسامير على STM32F103C التي يمكن استخدامها. ربما يكون ظربانًا مشابهًا للذي في "Toy Story 4."

موصى به: