فهرست مطالب:

ماشین بلوتوث RC با STM32F103C و L293D - ارزان: 5 مرحله
ماشین بلوتوث RC با STM32F103C و L293D - ارزان: 5 مرحله

تصویری: ماشین بلوتوث RC با STM32F103C و L293D - ارزان: 5 مرحله

تصویری: ماشین بلوتوث RC با STM32F103C و L293D - ارزان: 5 مرحله
تصویری: آموزش کامل برررسی و راه اندازی ماژول کدلرن RXC6 2024, ژوئن
Anonim
Image
Image
باتری خور را نابود کنید!
باتری خور را نابود کنید!

من یک ماشین بلوتوث آردوینو مانند آنچه در اینجا نشان داده شده است ، توسط Ardumotive_com ، ساختم. مشکلی که من داشتم باتری ها و وزن آنها و همچنین هزینه آنها بود. از آن زمان ، پاوربانک های ارزان قیمت تلفن های همراه بسیار مقرون به صرفه شده اند. تنها کاری که باید انجام می دادم کاهش وزن بود. با توجه به اینکه ارزان هستم ، به میکروکنترلر STM32F103C تغییر کردم. میکروکنترلر STM32F103C را می توان کمتر از 2 دلار خریداری کرد و بسیار کوچکتر از آردوینو است. من کمی از برنامه نویسی را برای کار با STM32F103C نیز تغییر دادم.

تدارکات

  • یک ماشین کنترل از راه دور ارزان که باتری مصرف می کند. بله ، درست مانند موردی که Ardumotive_com از آن استفاده می کند. سیستم را خاموش کرده و به جای آن از پاوربانک تلفن استفاده می کنید. اگر منابع لازم برای ساخت شاسی شخصی خود را دارید ، از آن استفاده کنید. به مغازه اسباب بازی فروشی در خیابان رفتم و یک ماشین ارزان قیمت زیر 10 دلار خریدم. ماشین باتری مصرف می کند و کنترل از راه دور باتری می خورد-برای پیشرفت بسیار مناسب است.
  • یک بانک قدرت تلفن- در حال حاضر آنها بسیار ارزان هستند. از پاوربانک هایی که دکمه پاور در کنار آن قرار دارد دور می شوید. شما نمی توانید ماشین خود را دنبال کرده و دکمه را نگه دارید. این احمقانه است.
  • تراشه L293D-این پل H دوگانه است که موتورهای الکتریکی را کنترل می کند.
  • یک ماژول بلوتوث HC-06
  • سوئیچ- من از یک کلید روشن/خاموش ساده استفاده کردم.
  • مقداری سیم تلفن -سیم خوب خواهد بود ، اما 20 گیج کمی بزرگتر بهتر است.
  • Proto Board یا یک تکه پلاستیک یا مقوا برای نصب Blue Pill و L293D شما. من ارزان هستم بنابراین یک سیستم متفاوت با مقوا راه راه نازک- مانند جعبه لامپ- ارائه دادم.
  • دو کابل شارژ ارزان USB-این کابل ها را می توانید از درخت دلار خریداری کنید. از کابل برنامه نویسی خوب خود استفاده نکنید. یکی برای کلید روشن/خاموش قطع می شود و دیگری باتری را شارژ می کند.

اختیاری

  • 4 LED -اگر چراغهای جلو و عقب می خواهید.
  • 4 مقاومت 220 اهم- برای LED ها در سیستم 3.3 ولت.
  • بلندگوی پیزو یا کوچک برای شاخ.

ابزارها

  • لحیم کاری و لحیم کاری
  • تفنگ چسب داغ- دخترم یک نینجا تفنگ چسب داغ است!
  • استریپر و سیم برقی
  • توجه: اگر از تکنیک مقوایی که من استفاده می کنم بیشتر از یک تخته اولیه استفاده می کنید ، به یک Dremel یا مته کوچک نیاز خواهید داشت

مرحله 1: باتری خور را از بین ببرید

باتری خور را نابود کنید!
باتری خور را نابود کنید!

وقت آن رسیده است که از بین بردن باتری خوار لذت ببرید! بله ، آن چیز را در نظر بگیرید! از اینکه نقش خود را در سبزتر کردن جهان انجام می دهید ، احساس غرور کنید- خوب ، این امری پیچیده است ، اما به هر حال … به قاب برسید.

در بالا ، همان واحدی است که من نسخه آردوینو را ساختم. نسخه آردوینو از قدرت جدی باتری استفاده می کرد که باعث سنگین تر شدن خودرو می شد. بنابراین ، من آن را به قاب پایین آوردم. من تعدادی گلگیر از یک بطری پلاستیکی و چسب داغ اضافه کرده بودم و بدنه را سفارشی کرده بودم. اطلاعات بیشتر در مورد بدن بعداً.

هنگامی که قاب را با موتورها و فرمان برهنه دارید ، پیدا کنید که کدام طرف پایانه های موتور کدام است. برای تست موتور از باتری یا شارژر 5 ولت استفاده کنید.

در موتور فرمان ، هنگامی که چرخ ها به راست می چرخند ، سیم مثبت باتری را "3" و سیم منفی را "6" برچسب بزنید.

در موتور محرک ، هنگامی که چرخ ها به جلو می چرخند ، سیم مثبت باتری را "14" و سیم منفی را "11" برچسب گذاری کنید.

مرحله 2: کد در Arduino IDE

کد در Arduino IDE
کد در Arduino IDE
کد در Arduino IDE
کد در Arduino IDE

شاید بهتر باشد ابتدا لوازم الکترونیکی ماشین خود را روی تخته نان نمونه اولیه کنید.

خوب ، این یکی از قسمت های مشکل است. "قرص آبی" را نمی توان از طریق درگاه USB برنامه ریزی کرد. من توضیحات برنامه نویسی آسان تری از "قرص آبی" نسبت به ویدیوی یوتیوب جوپ بروکینگ پیدا نکرده ام. این کتاب همه چیز را که باید بدانید از جمله کتابخانه STMduino راجر کلارک توضیح می دهد. راهی برای نصب بوت لودر وجود دارد تا بتوانید از USB برای برنامه ریزی "Blue Pill" استفاده کنید ، اما به هر حال باید بوت لودر را از طریق Serial Bus برنامه ریزی کنید.

متأسفانه Serial Bus توسط آداپتور بلوتوث نیز استفاده می شود. برنامه باید از طریق پین های Serial Bus ، PA9 و PA10 ، ابتدا از طریق FTDI نصب شود ، سپس می توانید همه تنظیمات خود را با آداپتور بلوتوث بررسی کنید.

از یک تخته نان استفاده کنید و همه چیز را روی تخته بچسبانید ، درست مانند طرح فوق العاده بالا. خطوط Serial TX و RX آداپتور بلوتوث را در پین های PA9 و PA10 STM32F103C جدا کنید. به FTDI و برنامه خود متصل شوید. اطمینان حاصل کنید که خطوط Bus Serial از RX به Tx و Tx به RX عبور کرده اند. یکی دریافت می کند و دیگری می دهد.

پس از بارگیری برنامه ، می توانید کنسول سریال را باز کرده و ارسال کنید

تا ببینم چراغ ها کار می کنند اگر چراغ ها کار می کنند ، می توانید ارسال کنید

دوباره آنها را خاموش کنید

اتومبیل خود را در یک بلوک قرار دهید تا لاستیک ها را بلند کرده و ارسال کنید

چرخها باید جلو بروند. اگر این کار را نکردند ، سیم ها را معکوس کنید. به یاد داشته باشید که چگونه سیم ها را زودتر برچسب گذاری کردیم. پین های مربوط به L293D باید مطابقت داشته باشند.

برای توقف ، ارسال کنید

بیایید تغییرات مهم در کد را بررسی کنیم.

در قسمت نظرات ، ابتدا ، باید فایل سازنده ، از Ardumotive را مشاهده کنید. چند نظر بعدی توضیح می دهد که من برای تغییر STM32F103C کمی تغییر کرده ام.

/ * * ایجاد شده توسط Vasilakis Michalis // 12-12-2014 ver.2

* پروژه: کنترل RC Car از طریق بلوتوث با تلفن هوشمند 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*و عملکرد کامل محدوده PWM ، 0-65535 را دریافت کنید استفاده از pwmWrite () به جای analogWrite () **************************/

مهمتر از همه ، نام پین ها بین آردوینو و STM32F103C یکسان نیست. ما پین ها را با استفاده از مجموعه بعدی خطوط اعلام می کنیم. یک پین باقی مانده است که در حلقه پایین اعلام می شود. در خط 197 ، PA5 برای خواندن سطح باتری استفاده می شود.

//// L293 اتصال

const int motorA1 = PB6؛ // به پین 15 L293 const int motorA2 = PB7؛ // به پین 10 L293 const int motorB1 = PB8؛ // به پین 7 L293 const int motorB2 = PB9؛ // به پین 2 از L293 // Leds متصل به STM32F103C Pin A12 const int lights = PA12؛ // Buzzer /Speaker to Arduino UNO Pin A8 const int buzzer = PA8؛ // بلوتوث (HC-06 JY-MCU) پین حالت در پین A11 STM32F103C const int BTState = PA11؛

همچنین ، با استفاده از analogWrite () ؛ هنوز روی "BluePill" کار خواهد کرد. اما بهتر است پین های PWM را با استفاده از

pinMode (، PWM) ؛

سپس استفاده کنید

pwmWrite (،) ؛

توجه: 8-bit = 0-255 ، 16-bit = 0-65535

خطوط 32-44 تغییرات ایجاد شده در باتری است. اگر می خواهید از سطح باتری استفاده کنید ، باید از تقسیم کننده رای گیری برای باتری که دارید استفاده کنید. این قسمت در طرح Fritzing منعکس نشده است. توضیحات زیادی در مورد نحوه ایجاد تقسیم ولتاژ در Youtube وجود دارد. از آنجا که STM32F103C یک تراشه 3.3 ولت است ، من کد را در اینجا برای استفاده فیزیکی از تقسیم ولتاژ ثابت کردم. آردوینو می تواند ولتاژهای بیشتری را از طریق ADC های ارائه شده تحمل کند اما "قرص آبی" نمی تواند.

/* میزان باتری در Pin PA5 بررسی می شود

* خط بعدی STM32F103C را تغییر داد زیرا ADC نمی تواند * چیزی بیش از 3.3v را مدیریت کند * من فقط در مورد آن توضیح دادم * تقسیم ولتاژ ، با استفاده از دو مقاومت باید محاسبه و مورد استفاده قرار گیرد * برای اندازه گیری ورودی ADC در پایین کد. * مثال: * مقاومت GND --- 2K ----------------- مقاومت 1K ------ 5v * | * | * 3.3v */ // const float maxBattery = 3.3 ؛ // مقدار را به حداکثر ولتاژ باتری تغییر دهید!

مرحله 3: همه چیز را کنار هم قرار دهید

همه را با هم قرار دهید
همه را با هم قرار دهید
همه را با هم قرار دهید
همه را با هم قرار دهید
همه را با هم قرار دهید
همه را با هم قرار دهید
همه را با هم قرار دهید
همه را با هم قرار دهید

من معمولاً از یک تخته اولیه برای قرار دادن قطعات و لحیم کاری بین سوراخ ها برای اتصال همه چیز استفاده می کنم. گاهی اوقات من همه چیز را با هم لحیم می کنم تا بیشتر به شکل لحیم کاری فرانکنشتاین/سه بعدی ظاهر شود.

من این روش ترکیبی را برای تمیز و سبک کردن دستگاه انتخاب کردم- و البته ، ارزان!

این روش اجازه می دهد تا برچسب گذاری نیز انجام شود. یکی از بدترین قسمتهای لحیم کاری این است که از پایین به یک تراشه IC نگاه کنید و فراموش کنید که کدام پین چیست.

تصاویر بالا به نوعی خود گویا هستند. حدس می زنم قسمت سخت این است که مقوا را به اندازه کافی نازک پیدا کنید تا همزمان گود شود و سفت شود. می توانید از پلاستیک نیز استفاده کنید اما علامت گذاری آن کمی سخت تر است. هنگامی که پین ها را به تخته فشار می دهم و گودی ها را علامت می زنم ، از یک Dremel برای سوراخ کردن هر سوراخ پین استفاده می کنم.

اگر هنوز توجه نکرده اید ، من فقط چراغ ها را به عنوان یک پلاگین لوازم جانبی روی برد دارم. نه از نشانگر باتری استفاده می کنم و نه از صدای بوق. این به این دلیل است که پروژه من با هدف دیگری است. هنگامی که نتیجه نهایی را با بدنه خودرو مشاهده کردید ، خود توضیح داده می شود. … اما این ایده دیگری را به ارمغان می آورد ، تعداد زیادی پین استفاده نشده در این پروژه وجود دارد. شاید بازکن صندوق عقب ، درب بازکن ماشین ، چاشنی آتش زنی ،…… یا حتی یک ژنراتور مزاحم مینی- Galvani-Edison Luminiferous Aether!

پس از اتمام لحیم کاری ، قبل از چسباندن مفاصل برای از بین بردن تنش روی سیم ها ، آن را آزمایش کنید.

من از همان برنامه Android به عنوان Ardumotive استفاده کردم ، می توانید آن را در https://play.google.com/store/apps/details؟id=braulio.calle.bluetoothRCcontroller پیدا کنید

هنگامی که عملکردهای خودرو را آزمایش کردید ، وقت آن است که باتری و سوئیچ را قرار دهید. به مرحله بعد برو.

مرحله 4: باتری و سوئیچ

خوب ، این جایی است که شما نمی توانید برنامه من را دقیقاً دنبال کنید.

به نحوی ، شما باید مکانی مناسب برای قرار دادن باتری خود روی خودرو پیدا کنید ، راهی برای شارژ بانک باتری از دانگل یا راهی برای شارژ مستقیم دوشاخه باتری. در ویدئوی مقدماتی ، من فقط باتری و میکروکنترلر را به قاب چسباندم و آن را اجرا کردم. وقتی می خواستم متوقف شوم ، فقط باتری را از برق کشیدم. مشکل این تنظیمات فاسدشدن دوشاخه های کابل USB و/یا پاوربانک شما است. بهتر است سوئیچ داشته باشید.

همچنین باید محل مناسبی برای سوئیچ پیدا کنید که در آن بدنه خودرو همچنان به شما اجازه دسترسی دهد. من از یک دکمه فشار ساده (نه یک سوئیچ لحظه ای) استفاده کردم و آن را در قسمت پایینی قاب که محفظه اصلی باتری در آن قرار دارد ، نصب کردم.

باید یک کابل USB را نصف کرده و سوئیچ را بین باتری و درگاه USB STM32F103C قرار دهید. بله ، می توانید STM32F103C را با پورت USB تغذیه کنید. شما فقط نمی توانید آن را از طریق پورت USB برنامه ریزی کنید. من دوباره از درمل برای سوراخ کردن پین های لحیم کاری سوئیچ استفاده کردم. پس از لحیم کاری ، از چسب داغ استفاده کردم ، دوباره برای تقویت اتصالات.

مرحله 5: بدنه خودرو را روی قاب قرار دهید

خوب ، من گفتم که نسخه اصلی آردوینو این ماشین را دوباره هدف قرار دادم. بنابراین محصول نهایی واقعی ، یک پشت صحنه برای باله "فندق شکن" بود که توسط شرکت باله محلی ما اجرا شد. در صحنه آغازین ، موشی با جادوی تصادفی دروسلمایر روی صحنه دوید. من از موش IKEA استفاده کردم و آن را در بالای قاب ، آردوینو و بسته باتری بسیار بزرگتر نصب کردم. سرپوش سنگین بود و قابل شارژ نبود. این خیلی بهتره!

با ماشین خود لذت ببرید. به یاد داشته باشید که تعداد زیادی پین دیگر در STM32F103C وجود دارد که می توانید از آنها استفاده کنید. شاید تقلبی شبیه به "داستان اسباب بازی 4".

توصیه شده: