Kawalan wayarles motor Lego dengan Pengawal Stim

Kawalan wayarles motor Lego dengan Pengawal Stim

Semasa saya masih muda, saya sentiasa mahu mempunyai set tekno Lego untuk membina perkara yang menarik. Kereta kebal autonomi dengan menara berputar yang membakar batu bata Lego. Tetapi kemudian saya tidak mempunyai set sedemikian.

Dan tidak ada bata Lego biasa pun. Saya hanya mempunyai seorang kawan yang adiknya mempunyai semua mainan mahal ini.

Dan sekarang saya mempunyai seorang anak lelaki seusia itu. Dan dia membina kereta kebal yang ... ke hadapan dengan bodoh sehingga mereka terhempas ke dinding πŸ™‚

Dan kini, tiba masanya untuk ESP32 dan keajaiban besi pematerian - mari pasang alat kawalan jauh yang sesuai untuk mereka!

Tidak, sudah tentu saya tahu tentang kewujudan alat kawalan jauh tersebut. Tetapi tiada satu pun daripada mereka sesuai dengan saya dengan sempurna. Ia sama ada inframerah, dengan teknologi 80-an, atau terlalu besar. Atau yang mahal. Dan yang paling penting, saya tidak akan dapat memberitahu anak saya tentang mana-mana daripada mereka: "Saya melakukannya khas untuk anda!"

Jadi mari kita buat alat kawalan jauh baharu yang dipertingkatkan untuk memerintah semua orang!

Kawalan wayarles motor Lego dengan Pengawal Stim

Bahan-bahan:

  • ESP32-WROOM-32D | WiFi, BLE dan pemproses dengan I/O - cukup untuk mengawal dua motor ΠΈ LED.
  • DRV8833 | jambatan H berganda dengan kuasa yang mencukupi untuk motor.
  • TPS62162 | turunkan voltan kepada 17V, juga untuk keseronokan semasa memateri sarung 8x2mm WSON-2
  • CP2104 | untuk pengaturcaraan ESP32
  • Penyambung untuk menyambungkan motor dan diod. Potong wayar dan pateri di bahagian bawah, dan gamkan penyambung Lego di atas.

Semua ini akan diletakkan pada papan yang agak kecil - berikut adalah penampilannya dalam editor EasyEDA:

Kawalan wayarles motor Lego dengan Pengawal Stim

Wayar, yang boleh dilihat dalam foto tajuk, diperlukan bukan untuk membetulkan beberapa ralat, tetapi untuk membekalkan kuasa daripada USB. Ia mungkin tidak mencukupi untuk motor, tetapi, malangnya, kenalan dari China masih belum datang kepada saya. Oleh itu, saya mula-mula menyemak operasi LED. Untuk kecantikan dalam foto, saya hanya meletakkan penyambung dari motor di papan.

Versi 1.1 papan saya (tidak seperti versi 1.2 yang sudah ada di EasyEDA) tidak mempunyai LED, jadi saya memateri dua diod anti-selari pada output supaya saya dapat melihat apa yang berlaku. Jika anda melihat dengan teliti, video menunjukkan suis ganti pada sepasang diod 0603, menunjukkan pergerakan ke hadapan / ke belakang.

Bagi alat kawalan jauh, pada mulanya saya hanya mahu memasang papan tambahan dengan butang dan satu lagi ESP32 - alat kawalan jauh klasik.

Walau bagaimanapun, kemudian saya teringat bahawa Pengawal Stim mempunyai mod operasi Bluetooth Tenaga Rendah (BLE). Saya memutuskan untuk menangani isu ini, dan selepas beberapa jam saya belajar cara menerima paket daripada pengawal.

Untuk melakukan ini, anda hanya perlu mencari peranti HID yang memanggil dirinya SteamController dan menyambung kepadanya. Dan kemudian gunakan perkhidmatan tidak berdokumen daripada Valve dan beberapa arahan tidak berdokumen, membenarkan penghantaran paket.

Kawalan wayarles motor Lego dengan Pengawal Stim

Saya juga menemui format laporan tidak berdokumen yang saya huraikan secara manual.

Kawalan wayarles motor Lego dengan Pengawal Stim

Selepas kira-kira sejam, maksud bendera dan nilai menjadi jelas kepada saya, dan saya berjaya mengelipkan LED menggunakan pengawal Steam dan ESP32. Β―_(ツ)_/Β―

Fail

v1.0: "pendekatan percubaan"
- pilihan pertama yang saya pilih pengatur voltan yang salah. TPS62291 hanya mengambil voltan sehingga 6V. Saya sedang membangunkan beberapa projek secara selari, dan saya terlupa bahawa peranti itu perlu berfungsi dengan 9V.

v1.1: "cukup bagus"
- pilihan ini boleh dilihat dalam video, dan semuanya berfungsi

v1.2: "akhir"
- menambahkan LED penunjuk pada output dan mengoptimumkan saiz dan susun atur papan

Video pendek berikut menunjukkan fasa sambungan (1-3 saat selepas kuasa) dan kawalan keluaran motor. Penyambung dari Lego belum disambungkan lagi. Ia akan pergi ke ruang kosong di sebelah penyambung lain, ditandai dengan segi empat tepat putih.

Anak saya kini kerap menggunakan pengawal ini untuk mengawal mesin yang telah dipasangnya.

Semasa ujian tekanan, saya hanya menghadapi satu masalah: Saya fikir mod "reput cepat" [reput cepat] pemandu motor akan berfungsi dengan baik, tetapi disebabkan itu, selepas beberapa saat beroperasi, kelajuan motor menurun dengan ketara. . Jadi saya menukar kod supaya ia menggunakan "pereputan perlahan" [pereputan perlahan].

Kawalan wayarles motor Lego dengan Pengawal Stim

Walaupun saya tidak pasti bagaimana DRV berfungsi dan mengapa motor berputar laju pada mulanya, dan kemudian selepas 10 saat ia mula perlahan secara beransur-ansur. Mungkin MOSFET semakin panas dan rintangannya semakin meningkat.

Saya harap contoh cara menggunakan Arduino ini dapat memberi inspirasi kepada orang lain dan membolehkan mereka memperkenalkan anak-anak mereka kepada elektronik.

Sumber: www.habr.com

Tambah komen