Obsah:

Servo tester Arduino: 4 kroky
Servo tester Arduino: 4 kroky

Video: Servo tester Arduino: 4 kroky

Video: Servo tester Arduino: 4 kroky
Video: Servo motor controlling with PWM servo motor driver 2024, November
Anonim
Servo tester Arduino
Servo tester Arduino
Servo tester Arduino
Servo tester Arduino

Tu demonštrujeme, ako ovládať servo z Arduina bez počítača. Použitie tohto prenosného rozhrania výrazne urýchľuje proces prototypovania pri určovaní limitov pre otáčanie serva. Je to obzvlášť užitočné, keď máte veľa serv, rovnako ako my.

Ak používate tento návod ako súčasť série Modified InMoov Robot, majte na pamäti, že toto je nedokončená verzia ovládacieho panela namontovaného na zadnej strane robota. Môžete ho použiť tak, ako sme ho použili my, pri určovaní limitov servo.

Ak dúfate, že budete môcť ovládať niekoľko servo pomocou našej metódy pre iný projekt alebo len pre zábavu, tento návod je stále pre vás, takže neopúšťajte stránku! Upozorňujeme, že na niektorých obrázkoch sú poznámky, takže sa pozrite na každý zvlášť.

Začnime!

Zásoby

Nie sú tu uvedené všetky spotrebné materiály, prečítajte si prosím celý návod

- 1 x Arduino Uno

- 1 x napájací modul, 5A prevodník DC-DC na zníženie výkonu (tento modul sme použili, ale mohli by ste použiť aj niečo také)

- 1 x I2C LCD (to sme používali, ale funguje akýkoľvek sériový LCD alebo prakticky akýkoľvek štandardný LCD)

- 1 x maticová klávesnica 4x4 (napríklad)

- Nepájivú dosku a/ alebo dosku na pranie. Ak používate dosku Perf, budete potrebovať kolíky záhlavia, ktoré nájdete tu, ako aj všetko potrebné vybavenie na spájkovanie.

- prepojovacie vodiče medzi mužmi a mužmi, medzi mužmi a ženami, medzi ženami a ženami; rôzne odpory, diódy LED a drôtové prepojovacie pole.

- Nejaká základná doska. Použili sme 1/4 priehľadný akryl. Môžete použiť akýkoľvek nepružný, ľahko vŕtateľný materiál.

- pánty, skrutky, matice/skrutky, superlepidlo

Krok 1: Základná doska

Základná doska
Základná doska
Základná doska
Základná doska
Základná doska
Základná doska

Budete chcieť vytvoriť pevnú základňu pre svoju elektroniku. Ak to robíte pre modifikovaného robota InMoov, bude musieť obsahovať ďalšie Arduino Uno (možno Mega), Raspberry Pi3 a niekoľko doštičiek a/alebo doštičiek na ovládanie servo/senzorov. Náš základný panel mal veľkosť asi 7 x 15 . Vyššie uvedené fotografie si môžete pozrieť pre všeobecné rozloženie modulov. Klávesnicu a displej LCD sme nastavili na kryt tak, aby sa panel musel otvárať iba v prípade poruchy, prototypu alebo údržby. Ako vidíte, kryt je zospodu zavesený a v hornej časti sa zapína na suchý zips.

Skúste usporiadať svoje mikrokontroléry na jednej strane dosky. Napájací modul nie je dostatočne výkonný na to, aby na dokončenom robote poháňal všetky vaše servá. V skutočnosti nemôže poháňať ani 3 serva s vysokým krútiacim momentom typu používaného v predlaktí bez toho, aby interný prúdový spínač vypol napájanie. V každom prípade poskytnutá ukážka kódu funguje iba pre jeden objekt serva, takže môžete testovať s týmto nastavením. Umiestnite tento modul blízko regulátorov, pretože to bude ich regulátor výkonu, a tiež zaistí napájanie niektorých mikro serv, ktoré odoberajú irelevantný zastavovací prúd- ale to je na neskôr …

Nastavte LCD a klávesnicu na vonkajšiu stranu krytu, ktorý používate, alebo na stranu, ale v blízkosti Arduina.

Ak to robíte pre seba, skúste svoju dosku nakonfigurovať v podobnom rozložení. Možno nebudete potrebovať ani vrchný kryt, ani tri nepájivé dosky- ale komponenty je potrebné rozložiť logicky, ako napríklad posledná fotografia iného projektu, ktorý tiež používa klávesnicu a LCD. Okruh vľavo môžete nahradiť doskou, alebo ho úplne vynechať.

Krok 2: Testovanie LCD a klávesnice I2C

Testovanie LCD a klávesnice I2C
Testovanie LCD a klávesnice I2C
Testovanie LCD a klávesnice I2C
Testovanie LCD a klávesnice I2C

Teraz budeme pokračovať v testovaní klávesnice a LCD súčasne. Vykonajte prepojenia, ako je znázornené na obrázku vyššie, a spustite priložený kód. Ak ste to ešte nedostali, budete si musieť stiahnuť ZIP knižnice pre liquidCrystal_I2C.h; budete tiež musieť importovať knižnice Keypad.h a Wire.h (to je možné vykonať v IDE).

Priložený je aj súbor Fritzing. Z napájacieho modulu zatiaľ nepotrebujete nič napájať, aj keď by ste mohli, ak by ste chceli. Arduino bude mať dostatok energie z USB kábla, pomocou ktorého nahráte kód.

Pri odosielaní kódu vás LCD displej vyzve, aby ste stlačili kláves na klávesnici; po stlačení LCD displej vytlačí stlačené tlačidlo. Možno budete musieť zmeniť rozloženie matice klávesnice; objasnenie nájdete v komentároch v kóde.

Krok 3: Ovládanie serva

Ovládanie serva
Ovládanie serva
Ovládanie serva
Ovládanie serva
Ovládanie serva
Ovládanie serva

Teraz urobíme tento projekt o krok ďalej a pridáme servo. Musíte ho pripojiť k Digital Pin 10, ako je nastavené v kóde, alebo to môžete zmeniť tak, aby vyhovovalo vašim potrebám. Postupujte podľa vyššie uvedeného Fritzingovho diagramu; je rovnaký ako predchádzajúci, s výnimkou serva, RGB spoločnej katódy a bzučiaka. Posledné dva sa používajú na doplnenie používateľského rozhrania- varovania a stav sa zobrazujú na dióde LED a prostredníctvom bzučiaka. Vyššie vidíme, ako používame dokončený servo tester na stanovenie limitov pre robotické predlaktie a ruku InMoov.

Stiahnite si priložený kód a spustite ho. Po stlačení A sa otvorí informačný panel; všetko ostatné by malo byť samozrejmé.

V tomto mieste môžete použiť napájací modul na samostatné napájanie serva; obzvlášť ak je veľká šanca, že servo dosiahne zastavovací prúd.

Ak chcete, môžete bzučiak a LED namontovať na dosku perf, ako je uvedené vyššie. Je to užitočné, pretože neskôr bude slúžiť ako oddeľovacia doska pre serva a bude celkovo elegantnejšia.

Skúste pre servo zadať hodnotu väčšiu ako 180 stupňov- uvidíte, čo sa stane!

Krok 4: Hotový výrobok

Hotový výrobok
Hotový výrobok

Teraz môžete pomocou tohto manuálneho rozhrania ovládať servá. Tu je uvedených niekoľko tipov.

Riešenie problémov:

-LCD nefunguje: skontrolujte všetky svoje pripojenia a či ste inicializovali LCD so správnym počtom riadkov a stĺpcov

-Klávesnica nefunguje: skontrolujte pripojenia

-Klávesnica funguje, ale tlačia sa nesprávne čísla: Tu máte dve alternatívy. Buď môžete maticu v kóde znova označiť (tj. Ak tlačíte A namiesto 1, preznačte „A“na „1“), alebo môžete prepracovať svoje zapojenie so zvláštnym zreteľom na to, aby všetky káble prešli na správne piny na Arduine.

-LED nefunguje: Skontrolujte, či používate diódu LED so spoločnou katódou (spoločný uzemnenie). Ak nie, môžete prevrátiť všetky signály, ktoré naň pošlete (t.j. zmeniť HIGH na LOW) a spoločnú anódu pripojiť na +5V.

Čoskoro uverejníme krátke video na YouTube, ktoré ukazuje funkcie tohto zariadenia; ako aj celú sériu o konštrukcii nášho upraveného robota InMoov. Viac o pôvodnom InMoove si môžete prečítať tu. Ak je tento návod zaradený do súťaže, hlasujte zaň! Všetko, čo vyhráme, nám pomôže urýchliť projekt a následne ďalšie pokyny k tejto téme.

Tento návod bol naposledy upravený 5. októbra 2019.

Odporúča: