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

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

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

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

و حالا من یک پسر در این سن دارم. و تانک هایی میسازه که ... احمقانه جلو میره تا به دیوار برخورد کنه 🙂

و اکنون، زمان ESP32 و جادوی آهن لحیم کاری است - بیایید کنترل از راه دور مناسب را برای آنها جمع کنیم!

نه، البته من از وجود چنین ریموت هایی اطلاع دارم. اما هیچ کدام از آنها کاملاً به من نمی خورد. آنها یا مادون قرمز هستند، با فناوری دهه 80، یا خیلی بزرگ هستند. یا گران قیمت. و مهمتر از همه، من نمی توانم در مورد هیچ یک از آنها به پسرم بگویم: "من این کار را به خصوص برای شما انجام دادم!"

پس بیایید یک کنترل از راه دور جدید و بهبود یافته بسازیم تا بر همه حکومت کند!

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

مواد لازم:

  • ESP32-WROOM-32D | WiFi، BLE و پردازنده با I/O - برای کنترل دو عدد کافی است موتورها и رهبری.
  • DRV8833 | دو پل H با قدرت کافی برای موتورها.
  • TPS62162 | کاهش ولتاژ به 17 ولت، همچنین برای سرگرمی هنگام لحیم کاری WSON-8 2x2mm
  • CP2104 | برای برنامه نویسی ESP32
  • اتصالات برای اتصال موتورها و دیودها سیم ها را ببرید و در قسمت پایین لحیم کنید و کانکتور لگو را در بالا بچسبانید.

همه اینها روی یک تخته نسبتاً کوچک قرار می گیرد - در اینجا ظاهر آن در ویرایشگر EasyEDA است:

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

سیمی که در عکس عنوان قابل مشاهده است، نه برای اصلاح برخی از خطاها، بلکه برای تامین برق از USB لازم است. ممکن است برای موتور کافی نباشد، اما، متأسفانه، مخاطبین از چین هنوز به من نرسیده اند. بنابراین، ابتدا عملکرد LED ها را بررسی می کنم. برای زیبایی در عکس فقط کانکتور از موتور را روی برد قرار دادم.

نسخه 1.1 برد من (بر خلاف نسخه 1.2 که قبلاً در EasyEDA بود) هیچ LED نداشت، بنابراین من دو دیود ضد موازی را به خروجی لحیم کردم تا بتوانم ببینم چه اتفاقی می افتد. اگر دقت کنید، ویدئو روشن شدن متناوب یک جفت دیود 0603 را نشان می دهد که حرکت رو به جلو / عقب را نشان می دهد.

در مورد کنترل از راه دور، در ابتدا فقط می خواستم یک برد اضافی با دکمه ها و یک ESP32 دیگر - یک کنترل از راه دور کلاسیک - جمع کنم.

با این حال، پس از آن به یاد آوردم که کنترلرهای بخار دارای حالت عملکرد بلوتوث کم انرژی (BLE) هستند. تصمیم گرفتم با این موضوع برخورد کنم و بعد از چند ساعت نحوه دریافت بسته ها را از کنترلر یاد گرفتم.

برای انجام این کار، فقط باید به دنبال یک دستگاه HID باشید که خود را SteamController می نامد و به آن متصل شوید. و سپس از یک سرویس غیر مستند از Valve و چند مورد استفاده کنید دستورات غیر مستند، امکان انتقال بسته ها را فراهم می کند.

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

من همچنین با یک قالب گزارش غیرمستند روبرو شدم که به صورت دستی آن را تجزیه کردم.

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

پس از حدود یک ساعت، معنای پرچم ها و مقادیر برای من روشن شد و با استفاده از کنترلر Steam و ESP32 موفق به چشمک زدن LED شدم. ¯_(ツ)_/¯

فایل ها

v1.0: "رویکرد آزمایشی"
- اولین گزینه ای که تنظیم کننده ولتاژ اشتباهی را برای آن انتخاب کردم. TPS62291 فقط تا 6 ولت ولتاژ را می گیرد. من چندین پروژه را به صورت موازی توسعه می دادم و فراموش کردم که دستگاه باید با 9 ولت کار کند.

v1.1: "به اندازه کافی خوب"
- این گزینه در فیلم ها قابل مشاهده است و همه چیز کار می کند

v1.2: "نهایی"
- LED های نشانگر را به خروجی اضافه کرد و اندازه و چیدمان برد را بهینه کرد

ویدئوی کوتاه زیر فاز اتصال (1-3 ثانیه پس از روشن شدن) و کنترل خروجی های موتور را نشان می دهد. اتصال دهنده Lego هنوز وصل نشده است. به فضای خالی در کنار کانکتورهای دیگر می رود که با یک مستطیل سفید مشخص شده است.

پسر من در حال حاضر به طور مرتب از این کنترل کننده برای کنترل ماشین هایی که مونتاژ کرده است استفاده می کند.

در طول تست استرس، من فقط با یک مشکل مواجه شدم: فکر می کردم حالت "فاسد سریع" [فساد سریع] درایور موتور بهترین کار را می کند، اما به دلیل آن، پس از چند ثانیه کارکرد، سرعت موتور بسیار کاهش یافت. . بنابراین من کد را طوری تغییر دادم که از "slow decay" [slow decay] استفاده کند.

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

در حالی که من مطمئن نیستم که DRV چگونه کار می کند و چرا موتور ابتدا سریع می چرخد ​​و بعد از 10 ثانیه به تدریج شروع به کند شدن می کند. شاید ماسفت ها در حال گرم شدن هستند و مقاومت آنها بیش از حد بالا می رود.

امیدوارم این مثال از نحوه استفاده بی دردسر از آردوینو الهام بخش دیگران باشد و به آنها اجازه دهد فرزندان خود را با وسایل الکترونیکی آشنا کنند.

منبع: www.habr.com

اضافه کردن نظر