![EWEEDINATOR☠ Časť 2: Satelitná navigácia: 7 krokov (s obrázkami) EWEEDINATOR☠ Časť 2: Satelitná navigácia: 7 krokov (s obrázkami)](https://i.howwhatproduce.com/images/003/image-8830-65-j.webp)
Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:06
![☠WEEDINATOR☠ Časť 2: Satelitná navigácia ☠WEEDINATOR☠ Časť 2: Satelitná navigácia](https://i.howwhatproduce.com/images/003/image-8830-66-j.webp)
![☠WEEDINATOR☠ Časť 2: Satelitná navigácia ☠WEEDINATOR☠ Časť 2: Satelitná navigácia](https://i.howwhatproduce.com/images/003/image-8830-67-j.webp)
![☠WEEDINATOR☠ Časť 2: Satelitná navigácia ☠WEEDINATOR☠ Časť 2: Satelitná navigácia](https://i.howwhatproduce.com/images/003/image-8830-68-j.webp)
![☠WEEDINATOR☠ Časť 2: Satelitná navigácia ☠WEEDINATOR☠ Časť 2: Satelitná navigácia](https://i.howwhatproduce.com/images/003/image-8830-69-j.webp)
Navigačný systém Weedinator je na svete!
Túlavý poľnohospodársky robot, ktorý je možné ovládať pomocou inteligentného telefónu.
… A namiesto toho, aby som prechádzal pravidelným procesom zostavovania, som si povedal, že sa pokúsim vysvetliť, ako to vlastne funguje - očividne nie VŠETKO, ale najdôležitejšie a najzaujímavejšie kúsky. Ospravedlňte, prosím, slovnú hračku, ale práve to, ako dáta pretekajú medzi jednotlivými modulmi, považujem za zaujímavé a rozdelené do najnižšieho menovateľa. Výsledkom sú skutočné „bity“- nuly a jednotky. Ak ste niekedy boli zmätení z bitov, bajtov, znakov a reťazcov, teraz je možno načase, aby ste sa zamotali? Pokúsim sa tiež rozptýliť mierne abstraktný koncept s názvom „Zrušenie chýb“.
Samotný systém ponúka:
- GPS/GNSS: Ublox C94 M8M (rover a základňa)
- 9DOF Razor IMU MO digitálny kompas
- Fona 800H 2G GPRS mobilná
- 2,2 "TFT displej
- Arduino Due „Master“
- Rôzne Arduino „Otroci“.
Zvláštne je, že veľa satelitných navigácií nemá digitálny kompas, čo znamená, že ak ste nehybný a stratený, musíte kráčať alebo jazdiť v ľubovoľnom náhodnom smere, kým vám zariadenie môže zo satelitov ukázať správny smer. Ak sa stratíte v hustej džungli alebo v podzemnom parkovisku, ste plní!
Krok 1: Ako to funguje
![Ako to funguje Ako to funguje](https://i.howwhatproduce.com/images/003/image-8830-70-j.webp)
V súčasnosti sa z inteligentného telefónu alebo počítača nahrá jednoduchá dvojica súradníc, ktoré potom stiahne Weedinator. Tieto sa potom interpretujú ako nadpis v stupňoch a vzdialenosť, v ktorej sa majú pohybovať, v mm.
GPRS fona sa používa na prístup k online databáze prostredníctvom 2G mobilnej siete a na príjem a odosielanie súradníc do Arduino Due prostredníctvom Arduino Nano. Due je majster a riadi rad ďalších Arduinov ako otrokov cez I2C a sériové zbernice. Due môže interagovať so živými údajmi z Ublox a Razor a zobraziť nadpis vypočítaný jedným z jeho otrokov Arduino.
Satelitný sledovač Ublox je obzvlášť šikovný, pretože používa funkciu zrušenia chýb a získava veľmi presné opravy - konečná nominálna celková odchýlka asi 40 mm. Modul sa skladá z identického páru, z ktorých jeden „rover“sa pohybuje spolu s Weedinatorom a druhý „základňa“je upevnený na tyči niekde vonku. Zrušenie chyby je dosiahnuté tým, že základňa je schopná dosiahnuť skutočne presnú opravu použitím veľkého množstva vzoriek v priebehu času. Tieto vzorky sa potom spriemerujú, aby sa kompenzovali meniace sa atmosférické podmienky. Ak by sa zariadenie pohybovalo, evidentne by nebolo schopné dosiahnuť žiadne priemerovanie a bolo by úplne vydané na milosť meniacemu sa prostrediu. Ak však statické a pohyblivé zariadenie spolupracujú, pokiaľ môžu medzi sebou komunikovať, môžu využívať výhody oboch. V každom danom čase má základná jednotka stále chybu, ale má aj predtým vypočítanú super presnú opravu, takže môže vypočítať skutočnú chybu odčítaním jednej sady súradníc od druhej. Potom vypočítanú chybu odošle roveru prostredníctvom rádiového spojenia, ktoré potom chybu pridá do vlastných súradníc a hej, máme za sebou zrušenie chyby! Prakticky povedané, zrušenie chyby robí rozdiel medzi celkovou odchýlkou 3 metre a 40 mm.
Celý systém vyzerá komplikovane, ale v skutočnosti sa dá celkom ľahko postaviť buď voľne na nevodivom povrchu, alebo pomocou dosky plošných spojov, ktorú som navrhol, čo umožňuje bezpečné priskrutkovanie všetkých modulov. Budúci vývoj je postavený na doske plošných spojov, ktorá umožňuje začlenenie rozsiahleho radu Arduinos na ovládanie motorov riadenia, pohybu vpred a palubného CNC stroja. Navigácii bude pomáhať aj najmenej jeden systém rozpoznávania objektov, ktorý pomocou kamier sníma farebné objekty, napríklad fluorescenčné golfové loptičky, ktoré sú starostlivo umiestnené v nejakom druhu mriežky - Sledujte tento priestor!
Krok 2: Komponenty
![Komponenty Komponenty](https://i.howwhatproduce.com/images/003/image-8830-71-j.webp)
![Komponenty Komponenty](https://i.howwhatproduce.com/images/003/image-8830-72-j.webp)
![Komponenty Komponenty](https://i.howwhatproduce.com/images/003/image-8830-73-j.webp)
- Ublox C94 M8M (rover a základňa) x 2 z
- 9DOF Razor IMU MO digitálny kompas
- Fona 800H 2G GPRS mobilný 1946
- Termín Arduino
- Arduino Nano x 2 z
- SparkFun Pro Micro
- Adafruit 2,2 "TFT IL1940C 1480
- DPS (pozri priložené súbory Gerber) x 2 z
- 1206 odporov SMD s nulovým ohmom x 12 z
- 1206 diód LED x 24 palcov
Súbor DPS sa otvorí pomocou softvéru „Design Spark“.
Krok 3: Zapojenie modulov
![Zapojenie modulov Zapojenie modulov](https://i.howwhatproduce.com/images/003/image-8830-74-j.webp)
Jedná sa o jednoduchú časť - obzvlášť jednoduchú s doskou plošných spojov, ktorú som vyrobil - postupujte podľa vyššie uvedeného diagramu. Je potrebné dbať na to, aby sa zabránilo zapojeniu 3v modulov na 5v, dokonca aj na sériové a I2C linky.
Krok 4: Kód
![Kód Kód](https://i.howwhatproduce.com/images/003/image-8830-75-j.webp)
Väčšina kódu sa týka usporiadaného pohybu údajov v systéme a pomerne často je potrebné prevádzať dátové formáty z celých čísel na floaty na reťazce a na znaky, čo môže byť veľmi mätúce! „Sériový“protokol bude spracovávať iba znaky a kým I2Protokol C zvládne veľmi malé celé čísla, považoval som za lepšie ich previesť na znaky a potom previesť späť na celé čísla na druhom konci prenosovej linky.
Ovládač Weedinator je v zásade 8 -bitový systém s množstvom jednotlivých Arduinos alebo MCU. Keď je 8 bitov opísaných ako skutočné binárne nuly a jednotky, môže to vyzerať takto: B01100101, čo by sa rovnalo:
(1x2)+(0x2)2+(1x2)3+(0x2)4+(0x2)5+(1x2)6+(1x2)7+(0x2)8 =
Desatinná číslica | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | |
Hodnota binárnej číslice | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 |
= 101
A maximálna možná hodnota je 255 … Maximálny celočíselný „bajt“, ktorý môžeme prenášať cez I2C je 255, čo je veľmi obmedzujúce!
Na Arduine môžeme súčasne prenášať až 32 znakov ASCII alebo bajtov pomocou I2C, čo je oveľa užitočnejšie, a znaková sada obsahuje čísla, písmená a riadiace znaky v 7 -bitovom formáte, ako je uvedené nižšie:
![Obrázok Obrázok](https://i.howwhatproduce.com/images/003/image-8830-76-j.webp)
Našťastie kompilátor Arduino vykonáva všetku prácu na prevod z znaku na binárny na pozadí, ale stále očakáva správny typ znakov na prenos údajov a neakceptuje „reťazce“.
Teraz je možné, že veci môžu byť mätúce. Znaky môžu byť vyjadrené ako jednotlivé znaky pomocou definície znaku alebo ako jednorozmerné pole 20 znakov pomocou znaku [20]. Reťazec Arduino je veľmi podobný poli znakov a je doslova reťazcom znakov, ktoré ľudský mozog často interpretuje ako „slová“.
// Zostaví znak 'distanceCharacter':
Iniciátor reťazca = ""; distanceString = iniciátor + vzdialenosťString; int n = distanceString.length (); pre (int aa = 0; aa <= n; aa ++) {znak vzdialenosti [aa] = reťazec vzdialenosti [aa]; }
Vyššie uvedený kód môže konvertovať dlhý reťazec znakov na znakovú skupinu znakov, ktoré je potom možné prenášať cez I2C alebo sériový.
Na druhom konci prenosovej linky je možné údaje previesť späť na reťazec pomocou nasledujúceho kódu:
distanceString = distanceString + c; // reťazec = reťazec + znak
Pole znakov nie je možné previesť priamo na celé číslo a musí ísť najskôr do formátu reťazca, ale nasledujúci kód sa prevedie z reťazca na celé číslo:
int výsledok = (reťazec vzdialenosti).toInt ();
int distanceMetres = výsledok;
Teraz máme celé číslo, ktoré môžeme použiť na výpočty. Floats (čísla s desatinnou čiarkou) je potrebné v štádiu prenosu previesť na celé čísla a potom rozdeliť na 100 pre dve desatinné miesta, napr.:
plaváková vzdialenosťMetre = vzdialenosťMm / 1000;
Nakoniec reťazec môže byť vytvorený zo zmesi znakov a celých čísel, napr.
// Tu sa údaje kompilujú do znaku:
dataString = iniciátor + „MEDVEĎ“+ zbearing + „DIST“+ zdistance; // Obmedzený na 32 znakov // Reťazec = reťazec + znaky + intereger + znaky + celé číslo.
Zvyšok kódu je štandardný materiál Arduino, ktorý nájdete v rôznych príkladoch v knižniciach Arduino. Pozrite sa na príklad „príklady >>>> reťazcov“a príklady „knižnice“drôtu.
Tu je celý proces prenosu a príjmu plaváka:
Preveďte float ➜ celé číslo ➜ reťazec ➜ pole znakov ….. potom TRANSMIT pole znakov z predlohy ➜➜
➜➜ RECIEVE jednotlivé postavy na Slave …. potom skonvertujte znak ➜ reťazec ➜ celé číslo ➜ plávajúci
Krok 5: Databáza a webová stránka
![Databáza a webová stránka Databáza a webová stránka](https://i.howwhatproduce.com/images/003/image-8830-77-j.webp)
![Databáza a webová stránka Databáza a webová stránka](https://i.howwhatproduce.com/images/003/image-8830-78-j.webp)
Hore je zobrazená štruktúra databázy a súbory kódu php a html sú pripojené. Užívateľské mená, názvy databáz, názvy tabuliek a heslá sú kvôli bezpečnosti prázdne.
Krok 6: Navigačné testy
![Navigačné testy Navigačné testy](https://i.howwhatproduce.com/images/003/image-8830-79-j.webp)
![Navigačné testy Navigačné testy](https://i.howwhatproduce.com/images/003/image-8830-80-j.webp)
![Navigačné testy Navigačné testy](https://i.howwhatproduce.com/images/003/image-8830-81-j.webp)
Podarilo sa mi pripojiť záznamník údajov k riadiacej doske Weedinator cez I2C a získať predstavu o výkone satelitného polohovania Ublox M8M:
Pri „studenom štarte“, ako ukazuje zelený graf, sa modul spustil s mnohými chybami, dosť podobnými „normálnym“GPS, a postupne sa chyba znižovala, až asi po 2 hodinách získal opravu RTK medzi roverom. a základňou (zobrazené ako červený kríž). Počas tohto 2 hodinového obdobia základný modul neustále vytvára a aktualizuje priemernú hodnotu zemepisnej šírky a dĺžky a potom, ako sa vopred naprogramovaný časový interval rozhodne, že má dobrú opravu. Nasledujúce 2 grafy zobrazujú správanie po „horúcom štarte“„kde základný modul už vypočítal dobrý priemer. Horný graf je viac ako 200 -minútový a občas sa oprava stratí a rover pošle Weedinatorovi správu NMEA, že oprava je dočasne nespoľahlivá.
Dolný modrý graf je „priblížením“červeného poľa v hornom grafe a ukazuje dobrý reprezentatívny záber výkonu Ublox s celkovou odchýlkou 40 mm, čo je viac než dosť dobré na to, aby viedlo Weedinator k jeho umiestneniu., ale možno nie dostatočne dobré na kultiváciu pôdy okolo jednotlivých rastlín?
Tretí graf zobrazuje údaje zhromaždené s vozidlom Rover a so základňou vzdialeným 100 metrov - nebola zistená žiadna dodatočná chyba - vzdialenosť medzi vzdialenosťou nerobila rozdiel v presnosti.
Krok 7: Finále
Odporúča:
Škrabaná drevená ofsetová satelitná parabola: 11 krokov (s obrázkami)
![Škrabaná drevená ofsetová satelitná parabola: 11 krokov (s obrázkami) Škrabaná drevená ofsetová satelitná parabola: 11 krokov (s obrázkami)](https://i.howwhatproduce.com/images/001/image-2019-j.webp)
Scratchbuilt Drevená ofsetová satelitná parabola: Stretol som sa s niekoľkými webovými stránkami, kde niekoľko ľudí postavilo svoje vlastné satelitné antény s hlavným zameraním, jeden Austrálčan dokonca postavil obrovskú 13 metrovú ofsetovú anténu. V čom je rozdiel? Hlavný dôraz je na to, čo si myslíte, keď niekto povie „satelitná
Hlasová navigácia Raspberry Pi pomáha nevidomým: 7 krokov (s obrázkami)
![Hlasová navigácia Raspberry Pi pomáha nevidomým: 7 krokov (s obrázkami) Hlasová navigácia Raspberry Pi pomáha nevidomým: 7 krokov (s obrázkami)](https://i.howwhatproduce.com/images/005/image-12642-j.webp)
Hlasová navigácia Raspberry Pi pomáha nevidomým: Ahoj V tomto návode sa pozrieme na to, ako malinový pi môže pomôcť nevidomým pomocou hlasových pokynov definovaných používateľom. Tu pomocou vstupu ultrazvukového senzora na meranie vzdialenosti môžeme hlasový sprievodca nevidomých k nasledovaniu
Navigácia v softvéri Raspberry Pi: časť 1: 14 krokov
![Navigácia v softvéri Raspberry Pi: časť 1: 14 krokov Navigácia v softvéri Raspberry Pi: časť 1: 14 krokov](https://i.howwhatproduce.com/images/008/image-21645-j.webp)
Navigácia v softvéri Raspberry Pi: Časť 1: V tejto lekcii sa naučíte, ako ovládať svoje Raspberry Pi pomocou rozhrania príkazového riadka. Budete vytvárať priečinky, presúvať sa z jedného adresára do druhého a naučíte sa, ako vytvoriť snímku obrazovky, ktorá zachytí všetku vašu prácu v celej triede! Budeme
EWEEDINATOR☠ Časť 4: Geometria diferenciálneho riadenia Kód: 3 kroky
![EWEEDINATOR☠ Časť 4: Geometria diferenciálneho riadenia Kód: 3 kroky EWEEDINATOR☠ Časť 4: Geometria diferenciálneho riadenia Kód: 3 kroky](https://i.howwhatproduce.com/images/003/image-7433-34-j.webp)
EWEEDINATOR☠ Časť 4: Geometrický kód diferenciálneho riadenia: Ak máte čas pozrieť si vyššie uvedené video, všimnete si, že keď sa WEEDINATOR pohybuje po trase 3, WEEDINATOR každú chvíľu spôsobí, že sa motory na volante zaseknú a dôjde k zvláštnym zvukom. obrat bodu. Motory v zásade zasahujú proti
EWEEDINATOR☠ Časť 3: Stavba podvozku: 8 krokov (s obrázkami)
![EWEEDINATOR☠ Časť 3: Stavba podvozku: 8 krokov (s obrázkami) EWEEDINATOR☠ Časť 3: Stavba podvozku: 8 krokov (s obrázkami)](https://i.howwhatproduce.com/images/003/image-7757-29-j.webp)
☠WEEDINATOR☠ Časť 3: Konštrukcia podvozku: Zima je ideálnym obdobím na stavbu strojov, najmä pokiaľ ide o zváranie a plazmové rezanie, pretože obe poskytujú dostatočné množstvo tepla. Ak vás zaujíma, čo je to plazmová rezačka, prečítajte si podrobné postupy. Ak ste boli