Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Od montážnej linky automobilového priemyslu až po telechirurgické roboty vo vesmíre nájdete robotické zbrane všade. Mechanizmy týchto robotov sú podobné ľuďom, ktoré je možné naprogramovať na podobnú funkciu a zvýšené schopnosti. Môžu byť použité na vykonávanie opakovaných akcií rýchlejšie a presnejšie ako u ľudí alebo môžu byť použité v drsnom prostredí bez ohrozenia ľudského života. Už sme postavili robotickú ruku Record and Play pomocou Arduina, ktorú by bolo možné vycvičiť na vykonanie konkrétnej úlohy a donútiť ju, aby sa opakovala navždy.
V tomto tutoriáli použijeme na ovládanie rovnakého robotického ramena pomocou potenciometrov priemyselný štandardný 8-bitový mikrokontrolér PIC16F877A. Problémom tohto projektu je, že PIC16F877A má iba dva piny schopné PWN, ale pre nášho robota potrebujeme ovládať asi 5 servomotorov, čo vyžaduje 5 individuálnych kolíkov PWM. Musíme teda využiť GPIO piny a generovať PWM signály na PIC GPIO piny pomocou prerušenia časovača. Teraz by sme však samozrejme mohli upgradovať na lepší mikrokontrolér alebo použiť de-multiplexorový integrovaný obvod, aby to tu bolo oveľa jednoduchšie. Ale napriek tomu stojí za to vyskúšať tento projekt a vyskúšať si skúsenosti s učením.
Mechanická štruktúra robotického ramena, ktoré používam v tomto projekte, bola úplne vytlačená 3D pre môj predchádzajúci projekt; Tu nájdete kompletné návrhové súbory a postup montáže. Ak nemáte 3D tlačiareň, môžete si tiež vytvoriť jednoduché robotické rameno pomocou kartónov, ako je uvedené v odkaze. Za predpokladu, že ste sa nejako zmocnili svojho robotického ramena, môžeme pokračovať v projekte.
Krok 1: Schéma zapojenia
Kompletný schéma zapojenia tohto robotického ramena na báze mikrokontroléra PIC je zobrazený nižšie. Schémy boli nakreslené pomocou EasyEDA.
Schéma zapojenia je veľmi jednoduchá; celý projekt je napájaný adaptérom 12V. Toto 12V je potom prevedené na +5V pomocou dvoch regulátorov napätia 7805. Jeden je označený ako +5V a druhý je označený ako +5V (2). Dôvodom mať dva regulátory je to, že keď sa servo otáča, odoberá veľa prúdu, čo spôsobuje pokles napätia. Tento pokles napätia núti PIC, aby sa sám reštartoval, a preto nemôžeme prevádzkovať PIC ani servomotory na rovnakej +5V lište. Ten označený ako +5V sa používa na napájanie mikrokontroléra PIC, LCD a potenciometrov a na napájanie servomotorov sa používa samostatný výstup regulátora, ktorý je označený ako +5V (2).
Päť výstupných pinov potenciometrov, ktoré poskytujú premenlivé napätie od 0V do 5V, je pripojených k analógovým pinom An0 až AN4 na PIC. Pretože plánujeme použiť časovače na generovanie PWM, servomotory je možné pripojiť k akémukoľvek kolíku GPIO. Pre servomotory som vybral kolíky od RD2 do RD6, ale môže to byť akékoľvek GPIO podľa vášho výberu.
Pretože program zahŕňa veľa ladení, je k portu B PIC pripojený aj displej 16x2 LCD. Zobrazí sa pracovný cyklus ovládaných servomotorov. Okrem toho mám tiež rozšírené pripojenia pre všetky GPIO a analógové piny, len pre prípad, že by v budúcnosti bolo potrebné prepojiť akékoľvek senzory. Nakoniec som tiež pripojil pin programátora H1, aby som priamo naprogramoval PIC pomocou pickit3 pomocou možnosti programovania ICSP.
Krok 2: Generovanie signálov PWM na pine GPIO na ovládanie servomotora
"loading =" lenivý ">