2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Od montážní linky automobilového průmyslu až po telesurgické roboty ve vesmíru najdete robotické zbraně všude. Mechanismy těchto robotů jsou podobné lidem, které lze naprogramovat na podobnou funkci a zvýšené schopnosti. Mohou být použity k provádění opakovaných akcí rychleji a přesněji než u lidí, nebo mohou být použity v drsném prostředí bez rizika ohrožení lidského života. Už jsme vytvořili robotickou paži Record and Play pomocí Arduina, kterou by bylo možné vycvičit k provedení konkrétního úkolu a donutit ji, aby se opakovala navždy.
V tomto tutoriálu použijeme průmyslový standard 8bitového mikrokontroléru PIC16F877A k ovládání stejného robotického ramene potenciometry. Úkolem tohoto projektu je, že PIC16F877A má pouze dva piny schopné PWN, ale pro našeho robota potřebujeme ovládat asi 5 servomotorů, což vyžaduje 5 jednotlivých pinů PWM. Musíme tedy využít GPIO piny a generovat PWM signály na PIC GPIO pinech pomocí přerušení časovače. Nyní bychom samozřejmě mohli upgradovat na lepší mikrokontrolér nebo použít de-multiplexer IC, aby to zde bylo mnohem jednodušší. Ale přesto stojí za to vyzkoušet tento projekt, aby získal zkušenosti s učením.
Mechanická struktura robotické paže, kterou v tomto projektu používám, byla kompletně 3D vytištěna pro můj předchozí projekt; zde naleznete kompletní návrhové soubory a postup montáže. Alternativně, pokud nemáte 3D tiskárnu, můžete také postavit jednoduchou robotickou paži pomocí kartonů, jak ukazuje odkaz. Za předpokladu, že jste se nějak zmocnili své robotické paže, můžeme pokračovat v projektu.
Krok 1: Schéma zapojení
Kompletní schéma zapojení tohoto robotického ramene založeného na mikrokontroléru PIC je uvedeno níže. Schémata byla nakreslena pomocí EasyEDA.
Schéma zapojení je velmi jednoduché; celý projekt je napájen adaptérem 12V. Toto 12V je pak převedeno na +5V pomocí dvou regulátorů napětí 7805. Jeden je označen jako +5V a druhý je označen jako +5V (2). Důvodem mít dva regulátory je to, že když se servo otáčí, přitahuje hodně proudu, což vytváří pokles napětí. Tento pokles napětí nutí PIC, aby se sám restartoval, a proto nemůžeme provozovat PIC i servomotory na stejné +5V kolejnici. Takže ten označený jako +5V se používá k napájení mikrokontroléru PIC, LCD a potenciometrů a k napájení servomotorů se používá samostatný výstup regulátoru, který je označen jako +5V (2).
Pět výstupních pinů potenciometrů, které poskytují proměnné napětí od 0V do 5V, je připojeno k analogovým pinům An0 až AN4 na PIC. Protože plánujeme použít časovače ke generování PWM, lze servomotory připojit k jakémukoli kolíku GPIO. Pro servomotory jsem vybral piny od RD2 do RD6, ale může to být libovolné GPIO podle vašeho výběru.
Protože program zahrnuje mnoho ladění, je k portu B PIC připojen také LCD displej 16x2. Zobrazí se pracovní cyklus servomotorů, které jsou ovládány. Kromě toho jsem také rozšířil připojení pro všechny GPIO a analogové piny, jen pro případ, že by v budoucnu bylo třeba propojit nějaké senzory. Nakonec jsem také připojil pin programátoru H1 k přímému programování PIC pomocí pickit3 pomocí možnosti programování ICSP.
Krok 2: Generování signálů PWM na pinu GPIO pro ovládání servomotoru
"loading =" líný ">