Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Hlavním cílem tohoto projektu bylo postavit bezpečnostního mobilního robota schopného pohybu a shromažďování video dat v nerovném terénu. Takový robot by mohl být použit k hlídání okolí vašeho domu nebo těžko dostupných a nebezpečných míst. Robot lze použít pro noční hlídky a inspekce, protože je vybaven výkonným reflektorem, který osvětluje oblast kolem něj. Je vybaven 2 kamerami a dálkovým ovládáním s dosahem přes 400 metrů. Poskytuje vám skvělé příležitosti k ochraně vašeho majetku, zatímco budete pohodlně sedět doma.
Parametry robota
- Vnější rozměry (DxŠxV): 266x260x235 mm
- Celková hmotnost 3,0 kg
- Světlá výška: 40 mm
Krok 1: Seznam dílů a materiálů
Rozhodl jsem se, že použiji hotový podvozek, který jej mírně upraví přidáním dalších komponent. Podvozek robota je vyroben výhradně z oceli lakované černou barvou.
Součásti robota:
- SZDoit C3 Smart DIY Robot KIT nebo 4WD Smart RC Robot Car Podvozek
- 2x kovové zapínací/vypínací tlačítko
- Lipo baterie 7,4 V 5000 mAh
- Arduino Mega 2560
- IR snímač vyhýbání se překážkám x1
- Deska senzoru atmosférického tlaku BMP280 (volitelně)
- Tester napětí baterie Lipo x2
- 2x ovladač motoru BTS7960B
- Lipo baterie 11,1 V 5500 mAh
- Panoramatická inteligentní WIFI kamera Xiaomi 1080P
- RunCam Split HD fpv kamera
Řízení:
RadioLink AT10 II 2.4G 10CH RC vysílač nebo FrSky Taranis X9D Plus
Náhled kamery:
Brýle Everyine EV800D
Krok 2: Sestavení podvozku robota
Montáž podvozku robota je celkem snadná. Všechny kroky jsou uvedeny na fotografiích výše. Pořadí hlavních operací je následující:
- Našroubujte stejnosměrné motory na boční ocelové profily
- Na základnu přišroubujte boční hliníkové profily se stejnosměrnými motory
- Přišroubujte přední a zadní profil k základně
- Nainstalujte potřebné vypínače a další elektronické součástky (viz následující část)
Krok 3: Připojení elektronických součástek
Hlavním ovladačem v tomto elektronickém systému je Arduino Mega 2560. Abych mohl ovládat čtyři motory, použil jsem dva ovladače motoru BTS7960B (H-Bridges). Dva motory na každé straně jsou připojeny k jednomu ovladači motoru. Každý z ovladačů motoru může být zatížen proudem až 43 A, což poskytuje dostatečnou rezervu výkonu i pro mobilní roboty pohybující se po nerovném terénu. Elektronický systém je vybaven dvěma zdroji energie. Jeden pro napájení stejnosměrných motorů a serv (LiPo baterie 11,1 V, 5200 mAh) a druhý pro napájení Arduina, fpv kamery, LED reflektoru a senzorů (LiPo baterie 7,4 V, 5 000 mAh). Baterie byly umístěny v horní části robota, abyste je mohli kdykoli rychle vyměnit
Připojení elektronických modulů je následující:
BTS7960 -> Arduino Mega 2560
- MotorRight_R_CS - 22
- MotorRight_L_EN - 23
- MotorLeft_R_EN - 26
- MotorLeft_L_EN - 27
- Rpwm1 - 2
- Lpwm1 - 3
- Rpwm2 - 4
- Lpwm2 - 5
- VCC - 5V
- GND - GND
Přijímač R12DS 2,4 GHz -> Arduino Mega 2560
- ch2 - 7 // Křidélka
- ch3 - 8 // Výtah
- VCC - 5V
- GND - GND
Před spuštěním ovládání robota z vysílače RadioLink AT10 2,4 GHz byste měli předtím propojit vysílač s přijímačem R12DS. Postup vazby je podrobně popsán v mém videu.
Krok 4: Mega kód Arduino
Připravil jsem následující ukázkové programy Arduino:
- Test přijímače RC 2,4 GHz
- 4WD Robot RadioLinkAT10 (soubor v příloze)
První program „Test přijímače RC 2,4 GHz“vám umožní snadné spuštění a kontrolu přijímače 2,4 GHz připojeného k Arduinu, druhý „RadioLinkAT10“umožňuje ovládat pohyb robota. Před kompilací a nahráním ukázkového programu se ujistěte, že jste jako cílovou platformu vybrali „Arduino Mega 2560“, jak je uvedeno výše (Arduino IDE -> Nástroje -> Deska -> Arduino Mega nebo Mega 2560). Příkazy z vysílače RadioLink AT10 2,4 GHz jsou odesílány do přijímače. Kanály 2 a 3 přijímače jsou připojeny k digitálním pinům 7 a 8 Arduino. Ve standardní knihovně Arduino najdeme funkci „pulseIn ()“, která vrací délku pulsu v mikrosekundách. Použijeme ho ke čtení signálu PWM (Pulse Width Modulation) z přijímače, který je úměrný náklonu vysílače ovládací páčka. Funkce pulseIn () má tři argumenty (pin, hodnota a časový limit):
- pin (int) - číslo pinu, na kterém chcete načíst puls
- hodnota (int) - typ pulzu ke čtení: buď VYSOKÝ nebo NÍZKÝ
- timeout (int) - volitelný počet mikrosekund, které čekají na dokončení pulsu
Hodnota délky načteného pulsu je poté mapována na hodnotu mezi -255 a 255, která představuje rychlost vpřed/vzad („moveValue“) nebo rychlost doprava/doleva („turnValue“). Pokud například zatlačíme ovládací páku úplně dopředu, měli bychom získat „moveValue“= 255 a úplné zatlačení zpět „getValue“= -255. Díky tomuto druhu ovládání můžeme regulovat rychlost pohybu robota v celém rozsahu.
Krok 5: Testování bezpečnostního robota
Tato videa ukazují testy mobilního robota na základě programu z předchozí části (Arduino Mega Code). První video ukazuje testy 4WD robota na sněhu v noci. Robot je ovládán operátorem na dálku z bezpečné vzdálenosti na základě pohledu z fpv google. V obtížném terénu se dokáže pohybovat poměrně rychle, jak můžete vidět na druhém videu. Na začátku této instrukce můžete také vidět, jak dobře si poradí v drsném terénu.