Sirkuit

Cara Membangun Stairbot Dengan Makeblock: 32 Langkah (dengan Gambar)

Makeblock Tutorial #1: Intro to mBot

Makeblock Tutorial #1: Intro to mBot

Daftar Isi:

Anonim

Pertama-tama, kami ingin memandu Anda melalui prinsip kerja dari kasus ini. Secara umum, ada 8 tahap dalam hal ini dalam kondisi ideal. Roda 1 dan roda 4 adalah roda penggerak yang dilengkapi dengan motor, sedangkan yang lainnya adalah roda yang digerakkan. Perangkat pengangkat dipasang secara terpisah pada roda 2 dan roda 4.

Tahap 1
Mobil berjalan maju.

Tahap 2

Sensor ultrasonik telah mendeteksi hambatan di depan.

Kemudian perangkat pengangkat pada mobil ini akan mengangkat roda 1 dan roda 3 hingga sensor ultrasonik tidak dapat mendeteksi rintangan.

Catatan: "rintangan" di sini mengacu pada "tangga".

Tahap3

Mobil terus bergerak maju, digerakkan oleh roda 1 dan roda 4.

Tahap 4

Seperti ditunjukkan dalam gambar, pengikut garis pada roda 2 telah mendeteksi rintangan (tangga), sehingga perangkat pengangkat 1 akan mengangkat roda 2 ke tangga yang lebih tinggi berikutnya.

Tahap 5

Mobil terus bergerak maju, digerakkan oleh roda 1 dan roda 4

Tahap 6
Roda penggerak (roda 1 dan roda 4) akan otomatis berhenti ketika sakelar batas pada roda 4 mendeteksi tangga. Perangkat pengangkat 2 kemudian akan mengangkat roda 4 ke atas.

Tahap 7

Mobil terus bergerak maju, digerakkan oleh roda 1

Sepertinya kita kembali ke tahap 1 lagi …

Tahap 8
Tahap 8, sama seperti tahap 2. Mobil robot terus bergerak maju sampai sensor ultrasonik mendeteksi rintangan …

Secara umum, dalam hal ini, prinsip kerja berputar dari tahap 1 ke tahap 8.

Dari perspektif struktur mekanis, bagian unik dari kasing ini adalah desain alat pengangkat yang harus dapat diandalkan dan cepat saat mengangkat barang ke atas dan ke bawah. Jadi dalam hal ini, kami menggunakan roda gigi dan rak untuk membangun alat pengangkat. Seperti ditunjukkan dalam uraian berikut, kami menggunakan balok 0808 untuk membuat trek geser, dan konektor sabuk yang terhubung dengan balok 0824 untuk membuat blok geser sederhana.

Belajarlah lagi

Langkah 2:

Berikutnya adalah bagian yang digunakan dalam setiap langkah dan metode pembangunan. Perangkat pengangkat 1

Daftar bagian:

4 x Beam0824-032

2 x Beam0824-160

8 x Sekrup M4x22

8 x Kacang M4

Gunakan bagian-bagian berikut untuk menghubungkan struktur.

Langkah 3:

Daftar bagian:

4 x Konektor Sabuk

16 x Sekrup M4x8

Hanya dengan mengencangkan sekrup, kita dapat membuat blok geser dengan mudah.

Raih dua Beam0808-312 yang dapat langsung melewati blok geser.

Langkah 4:

Sekarang mari kita lanjutkan ke langkah berikutnya: membangun rak.

Untuk memastikan mobil panjat tangga otomatis yang pintar ini untuk menyesuaikan tangga dengan ketinggian yang berbeda, lintasan geser dan rak harus cukup panjang. Track geser memiliki panjang 312mm, sehingga rak tidak boleh pendek

Yang perlu kita lakukan adalah menghubungkan 4 bagian untuk membangun rak. Alasan mengapa kami menggunakan Beam0808-312 di sini adalah untuk mencegah sambungan bagian rak agar tidak tertekuk selama proses pengangkatan. Jika sambungan bagian rak ditekuk, akan ada masalah hubungan antara roda gigi dan rak. Oleh karena itu, kita harus memperbaiki rak ke Beam0808-312, seperti yang ditunjukkan pada gambar berikut:

Langkah 5:

Hubungkan rel pemandu dan rak

Daftar bagian:

1 x Beam0824-144

3 x Sekrup M4x22

2 x Nut M4

Langkah 6:

Daftar bagian:

2 x Beam0824-176

6 x Sekrup M4 x 22

6 x Nut M4

Langkah 7:

Pasang roda 2 (roda bergerak)

Daftar bagian:

2 x Ban 64 * 16mm

2 x Timing Pulley 90T

2 x Shaft Berulir 4x39mm

4 x Bantalan Flange

2 x Sekrup M4

2 x Sekrup Headless Set M3x5

4 x Plastik Spacer4x7x2

Perbaiki dua ban pada dua ujung Beam0824

Mengikuti semua langkah, kami selesai merakit roda 2 dan mengangkat perangkat 1.

Langkah 8:

Mari kita mengarahkan Anda ke langkah berikutnya - merakit roda 4 dan mengangkat perangkat 2.

Struktur alat pengangkat 2 sama dengan alat pengangkat 1, sehingga bagian yang digunakan untuk perakitan.

Satu-satunya perbedaan adalah Anda harus memperbaiki Beam 0824-032 seperti yang ditunjukkan dalam gambar.

Pasang rel panduan dan rak yang sama dengan langkah-langkah membangun alat pengangkat 1.Gunakan Beam0824-080, sebagai ganti Beam0824-144, untuk menghubungkan ujung atas.

Langkah 9:

Untuk menghubungkan ujung bawah, kami menggunakan bagian berikut:

1 x Beam0824-128

6 x Sekrup M4x22

6 x Nut M4

Langkah 10:

Instal Bracket L1 di Beam0824

Daftar Bagian :

2 x Sekrup M4x14

2 x Nut M4

Langkah 11:

Setelah selesai membangun perangkat pengangkat 2, kita dapat mulai membangun roda 4 (roda kemudi)

Daftar bagian:

1 x Motor DC-25

1 x Timing Pulley 90T

1 x Bracket Motor DC-25

1 x Konektor Poros

1 x Headless Set Screw M3x5

2 x Sekrup M4x14

Langkah 12:

Pasang ban

2 x Sekrup M4x14

2 x Kacang

Instal struktur di atas pada Bracket L1

Sampai sekarang, kami selesai membangun setengah dari mobil ini.

Langkah 13:

Langkah selanjutnya adalah membangun struktur utama mobil dan roda 1 dan roda 3.

Bangun roda 1 (roda penggerak) terlebih dahulu.

2 x Ban 64 * 16mm

2 x Timing Pulley 90T

2 x Konektor Poros

8 x Sekrup M4x14

4 x Kacang M4

4 x Sekrup M3x5

4 x Headless Set Screw M3x5

2 x Motor DC-25mm

2 x DC Motor-25 Bracket

2 x Beam0824-064

Langkah 14:

Pasang bar anti-tabrakan

Daftar bagian:

1 x Beam0824-160

2 x Bracket L1

4 x Sekrup M4x14

4 x Kacang M4

Langkah 15:

Merakit struktur utama mobil

Daftar bagian:

2 x Beam0824-192

1 x Bar Anti-Tabrakan

2 x Ban 64 * 16mm

6 x Sekrup M4x30

6 x Nut M4

Langkah 16:

Pasang roda 3 (roda penggerak)

Daftar bagian:

2 x Ban 64 * 16mm

2 x Timing Pulley 90T

2 x Beam0808-088

4 x Bantalan Flange

2 x Poros Berulir

4 x Plastik Spacer4x7x2

2 x Kacang

2 x Sekrup Headless Set M3x5

Langkah 17:

Daftar bagian:

4 x Sekrup M4x22

4 x Kacang M4

Pasang roda 3 pada braket mobil

Langkah 18:

Pasang perangkat pengangkat 2 pada braket mobil

Daftar bagian:

8 x Sekrup M4x14

Langkah 19:

Gunakan 6 Sekrup M4x14 untuk menginstal perangkat fting 1

Lebar tangga adalah
terbatas dan ban terlalu besar, jadi kami harus mengubah posisi semua ban. Di roda 4, kami hanya menggunakan motor dan ban.

Langkah 20:

Pasang motor perangkat pengangkat

Daftar bagian:

2 x Motor DC-37

2 x Gear 18T

2 x Sekrup Headless Set M3 x 5

4 x Sekrup M4 x 8

Catatan: Sebelum memasang Motor DC-37, pasang braket motor terlebih dahulu.

Sesuaikan jarak antara roda gigi dan rak, lalu pasang motor secara terpisah di alur ulir Beam0824 pada perangkat pengangkat 1 dan 2

Selangkah demi selangkah, kami selesai membangun seluruh struktur mekanik mobil ini.

Langkah 21:

Mari kita beralih ke langkah selanjutnya - pasang sensor

1 x Limit Switch

Pasang sakelar batas di samping perangkat pengangkat 2

2 x Limit Switch

Pasang kedua sakelar batas ini secara terpisah pada balok perangkat pengangkat 1 dan 2.

Catatan: sakelar batas digunakan untuk membatasi ketinggian angkat.

Langkah 22:

Pasang sensor pengikut garis

Daftar bagian:

2 x Sekrup M4 x 22

2 x Spacer Plastik 4 * 7 * 10

4 x Plastik Spacer4x7x2

1 x Me Line Follower

Langkah 23:

Instal giroskop

Langkah 24:

Pasang sensor ultrasonik

Seperti yang kita semua tahu, sensor ultrasonik tidak dapat mendeteksi hambatan dalam jarak 0-30mm. Jadi dalam hal ini, kami memasang sensor ultrasonik di dalam mobil, membiarkan bar anti-tabrakan di depan menabrak tangga. Dengan cara ini, ultrasonik bisa mendeteksi rintangan - tangga.

Langkah 25:

Instal Me Orion

Langkah 26:

Pasang adaptor (untuk sakelar batas)

Langkah 27:

Selesai memasang semua sensor, sekarang mari kita lihat keseluruhan struktur mobil dan sensornya

Mobil ini dapat dibagi menjadi 4 bagian berdasarkan jumlah ban.

Roda 1 dan roda 4 adalah roda penggerak, sedangkan roda 2 dan roda 3 adalah roda penggerak

(Roda 4 Roda 3 Roda 2 Roda 1)

Di mobil ini, perangkat pengangkat1 dan 2 mengontrol posisi roda 2 dan roda 4

(Mengangkat perangkat 1 Mengangkat perangkat 2)

(Pengikut garis roda 2 Sensor ultrasonik roda 1)

(Modul drive motor Drive motor roda 4 Sakelar batas perangkat pengangkat 2 Sakelar batas roda 4 Perangkat pengangkat 2)

(Giroskop Drive motor roda 1 Perangkat pengangkat 1 Drive motor roda 1 Saklar batas roda 2)

Mengapa kita membutuhkan giroskop? Giroskop di sini digunakan untuk mengatur kecepatan pengangkatan motor, sehingga untuk menyeimbangkan mobil itu sendiri (motor yang digunakan dalam perangkat pengangkat adalah motor DC yang gagal menyeimbangkan mobil).

Langkah 28:

Seluruh mobil:

Langkah 29:

Peta Kabel

Langkah 30:

mw_shl_code = applescript, true #include "MeOrion.h" #include MeGyro gyro; MeDCMotor lifer1 (PORT_1); // 升降 1 MeDCMotor lifer2 (PORT_2); // 升降 2 MeDCMotor rw (M2); // 1 号 驱动轮 MeDCMotor fw (M1); // 4 号 驱动轮 MeLineFollower lineFinder1 (PORT_7); // 巡 线 MeLimitSwitch upWard1 (PORT_3, SLOT2); // 1 号 升降 限位 开关 MeLimitSwitch forWard2 (PORT_4, SLOT1); // 4 号 轮子 限位 开关 MeLimitSwitch upWard2 (PORT_4, SLOT2); // 2 号 升降 限位 开关 MeUltrasonicSensor ultraSensor (PORT_8); // 1 号 轮子 超声波 pengaturan batal () // 初始化 , 前后 升降 装置 回收 {Serial.begin (9600); gyro.begin (); lifer1.run (-250); sementara (! upWard1.touched ()); lifer1.stop (); lifer2.run (-250); while (! upWard2.touched ()); lifer2.stop (); } membatalkan Step2 () {float p = 15; float i = 0,01; sudut mengapung = 0; float targetAngle = 0; integrasi float = 0; float err = 0; while (NotStop ()) {gyro.update (); float angle = gyro.getAngleX (); err = angle - targetAngle; integrasi + = err; int speed1 = 200; int speed2 = 200; speed2 = speed1 + err * p; // + integrasi * i; lifer1.run (speed1); lifer2.run (speed2); // penundaan (10); } lifer1.stop (); lifer2.stop (); } int startTiming = 0; unsigned long startTime = 0; int NotStop () {int16_t distance; distance = ultraSensor.distanceCm (); keterlambatan (10); if (0 == startTiming) {if ((jarak <10) && (jarak> 1)) {return 1; } else {startTiming = 1; startTime = millis (); return 1; }} else {unsigned long currentTime = millis (); if (currentTime - startTime <2500) // 超声波 检测 不到 楼梯 后 延时 2.5 秒 {return 1; } else {return 0; }}} void loop () {startTiming = 0; startTime = 0; // 阶段 1 小车 前进 fw.run (60); rw.run (60); // 1 号 4 号 轮子 推动 小车 前进 jarak int16_t; do {distance = ultraSensor.distanceCm (); keterlambatan (10); } // 阶段 2 碰到 楼梯 主动 轮 停止 整体 车架 上升 while (! ((Jarak <4) && (jarak> 1)))); // 如果 碰到 楼梯 fw.stop (); rw.stop (); Langkah 2(); // 阶段 3 1 号 4 号 轮子 推动 小车 前进 fw.run (60); rw.run (60); // 阶段 4 2 号 轮子 巡 线 传感器 检测 到 楼梯 主动 停止 升降 升降置 1 1 2 号 轮子 收回 去 sementara (! (LineFinder1.readSensors ()! = S1_IN_S2_IN)); lifer1.run (-250); fw.stop (); rw.stop (); sementara (! upWard1.touched ()); // 1 号 升降 限位 开关 检测 升降 结束 lifer1.stop (); Menyesuaikan(); // 阶段 5 1 号 4 号 轮子 推动 小车 前进 fw.run (60); rw.run (60); // 阶段 6 4 号 轮子 限位 开关 检测 到 4 号 轮子 碰到 楼梯 主动 轮 停止 2 号 升降 装置 装 4 号 轮子 sementara (! ForWard2.touched ()); lifer2.run (-250); fw.stop (); rw.stop (); while (! upWard2.touched ()); // 1 号 升降 限位 开关 检测 升降 结束 lifer2.stop (); // 阶段 7 循环 阶段 1 // 阶段 8 循环 阶段 2} tidak berlaku () // 陀螺 仪 控制 1、2 号 升降 电机 控制 平衡 {int p = 40; // float i = 0,05; sudut mengapung = 0; float targetAngle = 4; // integrasi float = 0; // float err = 0; do {gyro.update (); angle = gyro.getAngleX (); // err = (angle - targetAngle); // integrasi + = err; lifer2.run ((angle - targetAngle) * p); // + i * integrasi); // penundaan (10); } while (fabs (angle - targetAngle)> 1); lifer2.stop (); } / mw_shl_code

Langkah 31:

Langkah 32:

Pasang drive motor Makeblock