- Potřebné materiály
- Koncepty sledovače čáry
- Vysvětlení obvodu
- Práce robota pro sledování linky pomocí MSP430
- Kruhový diagram
- Vysvětlení programování
Line line robot je jedním z populárních robotických projektů mezi studenty a začátečníky díky své jednoduchosti. Sleduje čáru, buď černou nebo bílou, podle toho, jak programujete svůj mikrokontrolér. Zde vyrábíme robota pro sledování čáry pomocí launchpadu MSP430 od společnosti Texas Instruments, který sleduje černou čáru. Pokud jste v příručním panelu MSP430 nováčkem, přečtěte si prosím náš Výukový program Začínám s pohledem MSP430.
Potřebné materiály
- MSP430G2 LaunchPad od společnosti Texas Instruments
- Modul ovladače motoru L298D
- Připojovací vodiče
- Moduly infračerveného senzoru
- Chasis, kolo, horská dráha
- Energia IDE
- Napájení (3,3 V) a 5 V - 12 V
Koncepty sledovače čáry
Koncept sledovače čáry souvisí se světlem. Použili jsme chování světla na černobílém povrchu. Když světlo dopadne na bílý povrch, téměř se odráží a v případě černého povrchu je světlo absorbováno černým povrchem. Toto vysvětlené chování světla se používá v tomto robotu sledujícího linku.
V tomto robotu pro sledování linek založeném na MSP430 jsme použili IR vysílače a IR přijímače nazývané také fotodiody. Používají se k odesílání a přijímání světla. IR vysílá infračervená světla. Když infračervené paprsky dopadnou na bílý povrch, odrazí se zpět a zachytí fotodiody, což generuje určité změny napětí. Když infračervené světlo dopadá na černý povrch, světlo je absorbováno černým povrchem a žádné paprsky se neodráží zpět, takže fotodioda nepřijímá žádné světlo ani paprsky. Chcete-li se dozvědět více informací o infračervených senzorech, klikněte na odkaz.
Tady v tomto robotu sledovače linek založeném na MSP430, když senzor snímá bílý povrch, pak MSP dostane 1 jako vstup a když senzory černá linie MSP dostane 0 jako vstup.
Vysvětlení obvodu
Můžeme rozdělit celého sledovacího robota na různé sekce, jako je senzorová sekce, řídicí sekce a řidičská sekce.
Sekce senzoru: Tato sekce obsahuje infračervené diody, potenciometr, komparátor (Op-Amp) a LED diody. Potenciometr se používá k nastavení referenčního napětí na jedné svorce komparátoru a infračervené senzory snímají linku a zajišťují změnu napětí na druhé svorce komparátoru. Pak komparátor porovná obě napětí a na výstupu generuje digitální signál. Tady v tomto obvodu jsme použili dva komparátory pro dva senzory. LM358 se používá jako komparátor. LM358 má zabudované dva operační zesilovače s nízkým šumem.
Sekce ovládání: Launchpad MSP430 se používá k řízení celého procesu robota sledovače linek. Výstupy komparátorů jsou připojeny k digitálním pinům P1_3 a P1_4 Launchpadu MPS430. MSP430 Launchpad čte tyto signály a odesílá příkazy do obvodu řidiče do sledovače hnacího vedení.
Sekce řidiče: Sekce řidiče se skládá z budiče motoru a dvou stejnosměrných motorů. Ovladač motoru se používá k pohonu motorů, protože MSP430 Launchpad nedodává motoru dostatečné napětí a proud. Přidali jsme tedy obvod ovladače motoru, abychom získali dostatek napětí a proudu pro motor. Zde jsme použili ovladač L298d pro pohon stejnosměrných motorů. MSP430 Launchpad odesílá příkazy tomuto ovladači motoru a poté pohání motory.
Vyvinuli jsme roboty sledovače linek pomocí různých mikrokontrolérů:
- Robot sledovače linek pomocí mikrokontroléru 8051
- Line Follower Robot pomocí Arduina
- Line Follower Robot pomocí Raspberry Pi
- Robot sledovače linek pomocí mikrokontroléru PIC
Práce robota pro sledování linky pomocí MSP430
Práce sledovače linek je velmi zajímavá. Robot sledující linii snímá černou čáru pomocí senzoru a poté odešle signál na MSP430 Launchpad. Poté MSP430 Launchpad řídí motor podle výstupu senzorů.
Zde v tomto projektu používáme dva moduly IR senzorů, a to levý senzor a pravý senzor. Když levý i pravý senzor zaznamená bílou barvu, robot se pohne vpřed.
Pokud se levý senzor objeví na černé čáře, robot se otočí levou stranou.
Pokud pravý senzor snímá černou čáru, pak robot otočí pravou stranu, dokud se oba senzory nedostanou na bílý povrch. Když přijde bílá plocha, robot se začne pohybovat znovu dopředu.
Pokud jsou oba senzory černé, robot se zastaví.
Kruhový diagram
Obvod tohoto robota MSP430 Line Follower Robot je velmi jednoduchý. Výstup komparátorů je přímo připojen k digitálnímu kolíku číslo p1_3 a P1_4 MSP430 Launchpadu. A vstupní kolík ovladače motoru IN1, IN2, IN3 a IN4 jsou připojeny k digitálnímu kolíku P4_4 P1_5, P2_0, P2_1, P2_2 spouštěče MSP430 Launchpadu. Jeden motor je připojen na výstupní kolík ovladače motoru OUT1 a OUT2 a druhý motor je připojen na OUT3 a OUT4. Zde jsme použili napájení 3,3 V pro napájení celého obvodu kromě modulu Motor Driver. Dodali jsme 8v do modulu ovladače motoru. Uživatel může použít 5v-12v.
Můžete také postavit svůj vlastní IR modul, jako jsem postavil na Perf Board. Níže je uveden obvod pro IR modul:
Vysvětlení programování
Kompletní program a video naleznete na konci tohoto článku.
V programu nejdříve definujeme vstupní a výstupní kolík pro čidlo a motory. Poté definujte některá makra pro směr sledovače čáry a poté napište direktivu pro výběr výstupu senzoru
Poznámka: Senzor může být aktivní nízký nebo aktivní vysoký, takže nejprve zkontrolujte, jaký je výstup senzoru, a poté vyberte direktivu komentováním nebo odkomentováním activeLowMode . Pro aktivní HIGH přidejte komentář k aktivnímu makru activeLowMode .
#define l_sensor P1_3 #define r_sensor P1_4 int pins = {P1_5, P2_0, P2_1, P2_2}; #define forward 0x05 #define left 0x06 #define right 0x09 #define stop 0x00 // # define activeLowMode #ifdef activeLowMode int res = {forward, left, right, stop}; #else int res = {stop, right, left, forward}; #endif
Poté ve funkci nastavení dáme směr senzoru a kolíku motoru. A pak ve funkci smyčky zkontrolujeme vstupy a odešleme výstup do modulu ovladače motoru, abychom spustili motory.
void setup () { for (int i = 0; i <4; i ++) pinMode (pins, OUTPUT); pinMode (l_sensor, INPUT); pinMode (r_sensor, INPUT); } void loop () {int sense = (digitalRead (l_sensor) << 1) - digitalRead (r_sensor); for (int i = 0; i <4; i ++) digitalWrite (piny, (res >> i) & 0x01); }
V tomto řádku sledovače jsou čtyři podmínky, které čteme pomocí MSP430 Launchpad. Použili jsme dva senzory, jmenovitě levý senzor a pravý senzor.
Podmínky: Aktivní VYSOKÝ výstup
Vstup |
Výstup |
Hnutí Robota |
||||
Levý senzor |
Pravý senzor |
Levý motor |
Pravý motor |
|||
LS |
RS |
LM1 |
LM2 |
RM1 |
RM2 |
|
0 |
0 |
0 |
0 |
0 |
0 |
Stop |
0 |
1 |
1 |
0 |
0 |
0 |
Odbočit vpravo |
1 |
0 |
0 |
0 |
1 |
0 |
Odbočit vlevo |
1 |
1 |
1 |
0 |
1 |
0 |
Vpřed |
Program je psán podle výše uvedených podmínek tabulky. Podívejte se níže na kompletní kód a ukázkové video.