Servá Arduino SG90, MG995, MG996: schéma zapojenia a ovládanie. Servá Arduino SG90, MG995, MG996: schéma zapojenia a riadenia Schéma a typy serv

Na demontáž nášho servopohonu potrebujeme skrutkovač. Pretože Rozoberám veľmi malý servopohon, takže potrebujem zodpovedajúci skrutkovač. Osobne používam skrutkovače z nejakej lacnej čínskej sady. Kúpil som to v kiosku v podzemnej chodbe za asi 5 dolárov, takže to nie je príliš drahé.

Na otvorenie servopohonu stačí odskrutkovať štyri skrutky. Sú umiestnené na spodnom kryte. Odskrutkujte:

Odstránením krytu môžete skontrolovať riadiacu jednotku. Nebudem zachádzať do detailov, aj tak to odtiaľto odstránim. Vidno aj motor, ku ktorému vedú dva vodiče.

Navrchu je aj kryt, po odňatí ktorého je vidieť ozubené kolesá prevodovky. Za zmienku stojí, že dva z nich sú pripevnené k potenciometru - to je dosť dôležité, keďže na to, aby prevodovka mohla ďalej plniť svoju funkciu, budeme musieť potenciometer skutočne rozbiť - jednoducho ho použijeme ako os pre ozubené kolesá.

V skutočnosti musíte zo servopohonu odstrániť všetky prevody a na chvíľu ich odložiť. Potenciometer (mimochodom, je to tiež variabilný odpor) vyberieme z puzdra tak, že ho opatrne zatlačíme zo spodnej strany serva pomocou skrutkovača.

Teraz v skutočnosti nastal okamih, z ktorého niet návratu. Samozrejme, vždy bude možné všetko spojiť, ale je to zložitejšie. Takže - potenciometer odhryzne.

Potom rovnakým spôsobom oddelíme riadiacu dosku s napájacími a signálnymi vodičmi.


Potom odhryzneme drôty z motora. Tu buďte opatrní a neodhrýzajte kontakty zo samotného motora - ak si nie ste istí, je lepšie nechať drôt s rezervou. Potom sa dá odspájkovať. Prehryznem drôt až po kontakt.

Urobme inventúru.

Zdá sa, že všetko je na svojom mieste. Teraz vezmeme náš potenciometer.

Faktom je, že teraz sa tiež otáča len pod určitým uhlom. A keďže je to os a je na nej pripevnené najväčšie ozubené koleso, na ktoré vlastne koleso neskôr pripevníme, musíme dbať na to, aby sa neustále otáčalo. Vyberieme dve kovové platne, ktoré tomu bránia. Dostaneme:

Dúfam, že fotografia ukazuje, čo som urobil. Vytrhol som ho malými kliešťami, keďže nič vhodnejšie po ruke nebolo.
Teraz musíte odrezať obmedzovač na samotnom prevode. Vyzerá to ako výstupok zo spodnej časti ozubeného kolesa. Dá sa to ľahko nájsť, vyzerá to takto.

Narežeme.

A potom môžete začať s montážou prevodovky späť do krytu. Vložíme späť os, ktorú sme predtým vytvorili z potenciometra.

Ďalej, jeden prevodový stupeň po druhom, počnúc najmenším. Buďte opatrní pri zasúvaní posledného prevodu - je špeciálne pripevnený k osi bývalého potenciometra, pretože hrot osi je vyrobený v tvare písmena D. Tento výstupok musí zapadnúť do vybrania v ozubenom kolese. Ukazuje sa niečo podobné ako na nasledujúcom obrázku.

Na prevodovku nasadíme vrchný kryt, aby sa pri ďalšej práci nerozpadol.

No veľa toho nezostalo. Vezmeme drôt s konektorom, ktorý sme predtým odhryzli z dosky a oddelíme v ňom kabeláž. Nemali by ste ich oddeľovať na veľkú vzdialenosť, v skutočnosti stačí jeden centimeter.

Dve z nich vyčistíme (v podstate ľubovoľné, ale ja som použila červenú a zelenú). Stačí odrezať cca 3mm izolácie. Pre naše účely - viac ako.

Zvyšný neodizolovaný drôt jednoducho ohneme, aby nám neprekážal.

Prejdime k horúcim veciam. Je čas zahriať spájkovačku. Kým sa spájkovačka zahrievala, spríjemnil som servopohon v gripe.

Prvá vec, ktorú musíme urobiť, je odstrániť zvyšky starej spájky, ktoré zostávajú na kontaktoch motora. Robím to pomocou odspájkovacieho čerpadla, po predhriatí kontaktu spájkovačkou do takého stavu, aby sa spájka roztavila. Hlavnou vecou nie je preháňať to - zadný kryt motora je stále plastový a neradi sa dlho zahrieva. Proces vyzerá asi takto:

Chápem, že to nemusí byť veľmi nápadné, čo som urobil, ale na kontaktoch nezostala prakticky žiadna spájka, čo som chcel.

V DI HALT sú úžasné články o spájkovaní. Zdá sa mi, že je vo všeobecnosti génius. Odkaz na jeho blog, okrem spájkovania je skutočne veľa vecí, stačí hľadať.
Stručne povedané, aby ste vyrobili dobrú spájku, musíte sa vždy najskôr zbaviť starej spájky.
Zostávajú dva drôty na spájkovanie. Každý, kto pozná spájkovanie, to zvládne za 5 sekúnd. Pre niekoho, ako som ja, ktorý sa normálne chopil spájkovačky druhýkrát v živote, to bude trvať trochu viac času, ale stále - je to veľmi jednoduché, môže to urobiť každý.
Pri spájkovaní používam tavidlo, ktoré, pravdaže, značne uľahčuje prácu a oveľa ľahšie sa s ním zabezpečuje kvalita spájkovania. Osobne som si na radu opäť DI HALT už na jeho blogu zamiloval LTI-120. Mám ho v takom módnom tégliku so štetcom.

Utiahnite štyri skrutky.

To je všetko, úprava serva je u konca. Po opätovnom pripevnení servopohonu pohodlnejšie a pevnejšie do rukoväte môžete začať testovať.

Tentoraz sa mi nebude páčiť ovládač, ale jednoducho použijem 5V napätie z napájacieho zdroja na zelený a červený vodič. Pozor, na videu je z mechaniky dosť hlasný zvuk.

Ako vidíte, teraz už nič nebráni tomu, aby sa naše servo otáčalo bez zastavenia. Zvuk produkovaný mechanikou v skutočnosti nie je tichý, ale v zásade je znesiteľný. To je na dnes asi všetko.

Tento článok rozoberá servá: ich dizajn, účel, tipy na zapojenie a ovládanie, typy serv a ich porovnanie. Poďme ďalej a začnime tým, čo je servo.

Koncept serva

Servopohonom sa najčastejšie rozumie mechanizmus s elektromotorom, ktorý môže byť požiadaný, aby sa otočil do daného uhla a udržal túto polohu. Nie je to však úplne úplná definícia.

Presnejšie povedané, servopohon je pohon riadený negatívnou spätnou väzbou, ktorý umožňuje presné riadenie parametrov pohybu. Servopohon je akýkoľvek typ mechanického pohonu, ktorý obsahuje snímač (poloha, rýchlosť, sila atď.) a riadiacu jednotku pohonu, ktorá automaticky udržiava potrebné parametre na snímači a zariadení podľa danej externej hodnoty.

Inými slovami:

    Servopohon prijíma hodnotu riadiaceho parametra ako vstup. Napríklad uhol natočenia.

    Riadiaca jednotka porovnáva túto hodnotu s hodnotou na svojom snímači.

    Na základe výsledku porovnania pohon vykoná nejakú akciu: napríklad otáča, zrýchľuje alebo spomaľuje tak, aby sa hodnota z interného snímača čo najviac priblížila hodnote externého riadiaceho parametra.

Najbežnejšie sú servá, ktoré držia daný uhol a servá, ktoré udržujú danú rýchlosť otáčania.

Typické hobby servo je zobrazené nižšie.

Ako sú servá navrhnuté?

Servopohonné zariadenie

Servopohony majú niekoľko komponentov.

Pohon - elektromotor s prevodovkou. Na premenu elektriny na mechanickú rotáciu potrebujete elektrický motor. Rýchlosť otáčania motora je však často príliš vysoká na praktické použitie. Používa sa na zníženie rýchlosti prevodovka: prevodový mechanizmus, ktorý prenáša a premieňa krútiaci moment.

Zapínaním a vypínaním elektromotora môžeme otáčať výstupným hriadeľom - koncovým prevodom serva, na ktorý môžeme pripevniť niečo, čo chceme ovládať. Aby však bola poloha riadená zariadením, je to potrebné snímač spätnej väzby - kódovač, ktorý prevedie uhol natočenia späť na elektrický signál. Často sa na to používa potenciometer. Pri otáčaní posúvača potenciometra sa mení jeho odpor, úmerne uhlu natočenia. Môže sa teda použiť na určenie aktuálnej polohy mechanizmu.

Okrem elektromotora, prevodovky a potenciometra má servopohon elektronické komponenty, ktoré sú zodpovedné za príjem externého parametra, načítanie hodnôt z potenciometra, ich porovnanie a zapnutie/vypnutie motora. Je zodpovedná za udržiavanie negatívnej spätnej väzby.

K servu vedú tri vodiče. Dva z nich sú zodpovedné za napájanie motora, tretí dodáva riadiaci signál, ktorý slúži na nastavenie polohy zariadenia.

Teraz sa pozrime, ako ovládať servo externe.

Ovládanie servopohonu. Rozhranie riadiaceho signálu

Aby sa servomotoru zobrazila požadovaná poloha, musí sa po kábli určenom na tento účel poslať riadiaci signál. Riadiacim signálom sú impulzy konštantnej frekvencie a premenlivej šírky.

To, akú polohu má servo zaujať, závisí od dĺžky impulzov. Keď signál vstúpi do riadiaceho obvodu, generátor impulzov v ňom prítomný vytvorí vlastný impulz, ktorého trvanie je určené potenciometrom. Druhá časť obvodu porovnáva trvanie dvoch impulzov. Ak je trvanie iné, elektromotor sa zapne. Smer otáčania je určený tým, ktorý z impulzov je kratší. Ak sú dĺžky impulzov rovnaké, elektromotor sa zastaví.

Hobby servery najčastejšie produkujú impulzy s frekvenciou 50 Hz. To znamená, že impulz sa vyšle a prijme raz za 20 ms. Trvanie impulzu 1520 µs zvyčajne znamená, že servo by malo zaujať strednú polohu. Zvýšenie alebo zníženie dĺžky impulzu spôsobí, že sa servo bude otáčať v smere alebo proti smeru hodinových ručičiek. V tomto prípade existujú horné a dolné limity trvania impulzu. V knižnici Servo pre Arduino sú štandardne nastavené nasledujúce dĺžky impulzov: 544 μs pre 0° a 2400 μs pre 180°.

Upozorňujeme, že vaše konkrétne zariadenie nemusí mať predvolené výrobné nastavenia. Niektoré servá používajú šírku impulzu 760 µs. Stredná poloha zodpovedá 760 μs, podobne ako pri bežných servách stredová poloha zodpovedá 1520 μs.

Za zmienku tiež stojí, že ide len o všeobecne akceptované dĺžky. Dokonca aj v rámci rovnakého modelu servopohonu môžu existovať výrobné tolerancie, ktoré spôsobia, že prevádzkový rozsah dĺžok impulzov sa mierne líši. Pre presnú prevádzku musí byť každé špecifické servo kalibrované: prostredníctvom experimentovania je potrebné zvoliť správny rozsah, ktorý je preň špecifický.

Ďalšia vec, ktorá stojí za pozornosť, je zmätok v terminológii. Spôsob riadenia serv sa často nazýva PWM/PWM (Pulse Width Modulation) alebo PPM (Pulse Position Modulation). Nie je to pravda a použitie týchto metód môže dokonca poškodiť disk. Správny termín je PDM (Pulse Duration Modulation). V ňom je dĺžka impulzov mimoriadne dôležitá a frekvencia ich výskytu nie je taká dôležitá. 50 Hz je normálne, ale servo bude fungovať správne pri 40 aj 60 Hz. Jediná vec, ktorú musíte mať na pamäti, je, že ak je frekvencia výrazne znížená, môže pracovať trhavo a pri zníženom výkone, a ak je frekvencia výrazne zvýšená (napríklad 100 Hz), môže sa prehriať a zlyhať.

Charakteristika servopohonu

Teraz poďme zistiť, aké typy servov existujú a aké majú vlastnosti.

Krútiaci moment a rýchlosť kývania

Najprv si povedzme o dvoch veľmi dôležitých charakteristikách servopohonu: o krútiaci moment a o rýchlosť otáčania.

Moment sily alebo krútiaci moment je vektorová fyzikálna veličina rovnajúca sa súčinu vektora polomeru ťahaného od osi otáčania k bodu pôsobenia sily a vektora tejto sily. Charakterizuje rotačné pôsobenie sily na pevné teleso.

Jednoducho povedané, táto charakteristika ukazuje, akú veľkú záťaž dokáže servo udržať v pokoji na páke danej dĺžky. Ak je krútiaci moment servopohonu 5 kg×cm, znamená to, že servopohon bude vo vodorovnej polohe držať páku dlhú 1 cm, na ktorej voľnom konci je zavesených 5 kg. Alebo ekvivalentne páka s dĺžkou 5 cm, na ktorej je zavesený 1 kg.

Rýchlosť serva sa meria časom, ktorý potrebuje rameno serva na otočenie o 60°. Charakteristika 0,1 s/60° znamená, že servo sa otočí o 60° za 0,1 s. Z toho je ľahké vypočítať rýchlosť v známejšej hodnote, otáčky za minútu, ale stáva sa, že pri popise serv sa takáto jednotka najčastejšie používa.

Stojí za zmienku, že niekedy existuje kompromis medzi týmito dvoma charakteristikami, pretože ak chceme spoľahlivé a odolné servo, musíme byť pripravení na to, že sa táto mohutná jednotka bude otáčať pomaly. A ak chceme veľmi rýchly pohon, tak ho z rovnovážnej polohy bude pomerne jednoduché vyviesť. Pri použití rovnakého motora je vyváženie určené konfiguráciou ozubených kolies v prevodovke.

Samozrejme, vždy môžeme vziať jednotku, ktorá spotrebuje viac energie, hlavná vec je, že jej vlastnosti zodpovedajú našim potrebám.

Faktor tvaru

Servá sa líšia veľkosťou. A hoci neexistuje žiadna oficiálna klasifikácia, výrobcovia už dlho dodržiavajú niekoľko veľkostí so všeobecne akceptovaným usporiadaním spojovacích prvkov. Možno ich rozdeliť na:

    malý

    štandardné

Majú nasledujúce charakteristické rozmery:

Existujú aj takzvané servá „špeciálneho typu“ s rozmermi, ktoré do tejto klasifikácie nespadajú, ale percento takýchto serv je veľmi malé.

Interné rozhranie

Servopohony sú buď analógové alebo digitálne. Aké sú teda ich rozdiely, výhody a nevýhody?

Navonok sa nelíšia: elektromotory, prevodovky, potenciometre sú rovnaké, líšia sa iba vnútornou riadiacou elektronikou. Namiesto špeciálneho analógového servo mikroobvodu má digitálny náprotivok na doske mikroprocesor, ktorý prijíma impulzy, analyzuje ich a riadi motor. Vo fyzickom prevedení je teda rozdiel len v spôsobe spracovania impulzov a ovládania motora.

Oba typy servopohonov prijímajú rovnaké riadiace impulzy. Analógové servo sa potom rozhodne, či zmení polohu a v prípade potreby pošle signál do motora. Zvyčajne sa to deje s frekvenciou 50 Hz. Takto dostaneme 20 ms - minimálny reakčný čas. V tomto čase môže akýkoľvek vonkajší vplyv zmeniť polohu servopohonu. Ale to nie je jediný problém. V kľudovom stave nie je na elektromotor privádzané žiadne napätie, v prípade miernej odchýlky od rovnováhy sa do elektromotora vyšle krátky nízkovýkonový signál. Čím väčšia je odchýlka, tým silnejší je signál. S malými odchýlkami teda servopohon nebude schopný rýchlo roztočiť motor alebo vyvinúť veľký krútiaci moment. „Mŕtve zóny“ sa vytvárajú v čase a vzdialenosti.

Tieto problémy je možné vyriešiť zvýšením frekvencie príjmu, spracovaním signálu a riadením elektromotora. Digitálne servá využívajú špeciálny procesor, ktorý prijíma riadiace impulzy, spracováva ich a posiela signály do motora s frekvenciou 200 Hz alebo viac. Ukazuje sa, že digitálny servopohon dokáže rýchlejšie reagovať na vonkajšie vplyvy, rýchlo vyvinúť požadovanú rýchlosť a krútiaci moment, čo znamená, že je lepšie držať danú pozíciu, čo je dobré. Samozrejme, že spotrebuje aj viac elektriny. Digitálne servá sú tiež náročnejšie na výrobu, a preto sú podstatne drahšie. V skutočnosti sú tieto dve nevýhody všetky nevýhody, ktoré majú digitálne servá. Z technického hľadiska bezpodmienečne porazia analógové servá.

Materiály prevodovky

Prevody pre servá sú z rôznych materiálov: plast, uhlík, kov. Všetky sú široko používané, výber závisí od konkrétnej aplikácie a od toho, aké vlastnosti sa pri inštalácii vyžadujú.

Plastové, najčastejšie nylonové, prevody sú veľmi ľahké, nepodliehajú opotrebovaniu a sú najčastejšie v servách. Nevydržia veľké zaťaženie, ale ak sa očakáva, že zaťaženie bude ľahké, potom sú nylonové prevody najlepšou voľbou.

Karbónové prevody sú odolnejšie, prakticky sa neopotrebúvajú a sú niekoľkonásobne pevnejšie ako nylonové. Hlavnou nevýhodou sú vysoké náklady.

Kovové prevody sú najťažšie, ale vydržia maximálne zaťaženie. Pomerne rýchlo sa opotrebúvajú, takže takmer každú sezónu musíte meniť prevody. Titánové prevody sú obľúbené medzi kovovými prevodmi, a to ako z hľadiska technických vlastností, tak aj ceny. Žiaľ, budú vás stáť pomerne veľa.

Kartáčované a bezkartáčové motory

Existujú tri typy servomotorov: bežný jadrový motor, bezjadrový motor a bezkomutátorový motor.

Bežný motor s jadrom (vpravo) má rotor z hustého železa s drôteným vinutím a magnetmi okolo neho. Rotor má viacero sekcií, takže keď sa motor otáča, rotor spôsobuje, že motor mierne vibruje, keď sekcie prechádzajú okolo magnetov, výsledkom čoho je servo, ktoré vibruje a je menej presné ako servo s motorom bez jadra. Motor s dutým rotorom (vľavo) má jedno magnetické jadro s valcovým alebo zvonovitým vinutím okolo magnetu. Bezjadrový dizajn je ľahší a nemá žiadne sekcie, čo má za následok rýchlejšiu odozvu a plynulú prevádzku bez vibrácií. Tieto motory sú drahšie, ale poskytujú vyššiu úroveň ovládania, krútiaceho momentu a otáčok v porovnaní so štandardnými.

Servopohony s bezkomutátorovými motormi sa objavili relatívne nedávno. Výhody sú rovnaké ako u iných bezkomutátorových motorov: neexistujú žiadne kefy, čo znamená, že nevytvárajú rotačný odpor a neopotrebúvajú sa, rýchlosť a krútiaci moment sú vyššie pri spotrebe prúdu rovnajúcej sa kefovým motorom. Bezkartáčové motorové servá sú najdrahšie servá, ale ponúkajú lepší výkon ako servá s inými typmi motorov.

Pripojenie k Arduinu

Mnoho serv je možné pripojiť priamo k Arduinu. Na tento účel z nich pochádza slučka troch drôtov:

    červená - výživa; pripája sa na 5V pin alebo priamo na napájanie

    hnedá alebo čierna - zem

    žltá alebo biela - signál; pripája sa k digitálnemu výstupu Arduino.

Na pripojenie k Arduinu bude vhodné použiť dosku expandéra portov, ako je napríklad Troyka Shield. Aj keď pomocou niekoľkých ďalších káblov môžete pripojiť servo cez dosku alebo priamo na kolíky Arduino.

Je možné generovať riadiace impulzy sami, ale je to taká bežná úloha, že na zjednodušenie existuje štandardná knižnica Servo.

Diétne obmedzenia

Typický hobby servopohon spotrebuje počas prevádzky viac ako 100 mA. Zároveň je Arduino schopné dodať až 500 mA. Preto, ak potrebujete v projekte použiť výkonný servopohon, má zmysel premýšľať o jeho oddelení do obvodu s dodatočným výkonom.

Pozrime sa na príklad pripojenia 12V servopohonu:

Obmedzenie počtu pripojených serv

Na väčšine dosiek Arduino knižnica Servo podporuje ovládanie maximálne 12 serv, na Arduino Mega sa toto číslo zvýši na 48. Používanie tejto knižnice má však malý vedľajší efekt: ak nepracujete s Arduino Mega , potom nebude možné použiť funkciu analogWrite() na 9 a 10 kolíkoch bez ohľadu na to, či sú k týmto kolíkom pripojené servá alebo nie. Na Arduino Mega môžeme pripojiť až 12 serv bez narušenia funkčnosti PWM/PWM, ak použijeme viac serv, nebudeme môcť použiť analogWrite() na pinoch 11 a 12.

Funkcia knižnice servopohonov

Servo knižnica umožňuje softvérové ​​ovládanie serv. Na tento účel je vytvorená premenná typu Servo. Riadenie sa vykonáva pomocou nasledujúcich funkcií:

    pripojiť() - pripojí premennú ku konkrétnemu pinu. Pre túto funkciu sú dve možnosti syntaxe: servo.attach(pin) a servo.attach(pin, min, max) . V tomto prípade je pin číslo pinu, ku ktorému je pripojený servopohon, min a max sú dĺžky impulzov v mikrosekundách, zodpovedné za uhly otáčania 0° a 180°. Štandardne sú nastavené na 544 μs a 2400 μs.

    write() - prikáže servu akceptovať nejakú hodnotu parametra. Syntax je: servo.write(uhol) kde uhol je uhol, o ktorý by sa malo servo otočiť.

    writeMicroseconds() - dáva príkaz na odoslanie impulzu určitej dĺžky do servopohonu; je to nízkoúrovňová analógia predchádzajúceho príkazu. Syntax je: servo.writeMicroseconds(uS) , kde uS je dĺžka impulzu v mikrosekundách.

    read() - načíta aktuálnu hodnotu uhla, pod ktorým sa servo nachádza. Syntax je: servo.read() , vracia hodnotu celého čísla medzi 0 a 180.

    attachment() – kontroluje, či bola premenná pripojená ku konkrétnemu pinu. Syntax je nasledovná: servo.attached() , vracia logickú hodnotu true, ak bola premenná pripojená k akémukoľvek kolíku, inak false.

    odpojiť() - vykoná opačnú akciu ako pripojí() , teda odpojí premennú od pinu, ku ktorému bola priradená. Syntax je: servo.detach() .

Všetky metódy knižnice Servo2 sú rovnaké ako metódy Servo.

Príklad použitia knižnice Servo

Namiesto záveru

Servopohony sú iné, niektoré sú lepšie – iné lacnejšie, niektoré spoľahlivejšie – iné presnejšie. A predtým, ako si kúpite servo, stojí za to mať na pamäti, že nemusí mať najlepšie vlastnosti, pokiaľ je vhodné pre váš projekt. Veľa šťastia vo vašom úsilí!

Najjednoduchší z robotov sú 2-kolesové alebo 4-kolesové. Základom takéhoto robota by mohol byť podvozok z rádiom riadeného auta, no nemusí ho mať každý po ruke alebo je škoda ho premrhať. Podvozok si môžete vyrobiť aj svojpomocne, ale umiestnenie kolies priamo na motor nie je veľmi dobré riešenie, motor potrebuje spomaliť, čo si vyžaduje prevodovku. Zohnať hotový podvozok alebo prevodovku, prípadne motor s prevodovkou, sa na rozdiel od serva ukázalo ako neľahká úloha. Takmer každý servopohon sa dá ľahko premeniť na motor s prevodovkou.

Kolesá je možné prilepiť priamo na kolísku takéhoto motora a teleso serva je vhodné na montáž.

POZOR! Konštrukcia iných serv sa môže líšiť, a preto je tento návod len čiastočný.

Ako základ sa vzalo najjednoduchšie a najlacnejšie servo:

Najprv si to rozoberme.

Najprv odstránime nepotrebnú elektroniku, odhryzneme vodiča a priamo riadime motor. Ďalej pristúpime k úprave mechaniky, odmontujeme prvý prevod s vonkajším hriadeľom a vyberieme z neho doraz pojazdu.

Vyberieme rezistor a vyhryzieme obmedzovač umiestnený na jeho tele.

Dáme späť všetky mechaniky a skontrolujeme, či sa všetko dobre hýbe.

Ďalším krokom je prispájkovanie drôtu k motoru.

Bývalé servo zmontujeme do nového motora s prevodovkou.

Všetko je pripravené, ak ste neurobili žiadne chyby, môžete si prácu užívať.

Serva majú zvyčajne obmedzený uhol natočenia 180 stupňov. V tomto prípade budeme brať do úvahy „upravené“ servo s neobmedzeným uhlom natočenia osi.


Výkonnostné charakteristiky zo stránky predajcu

Veľkosť: 40 * 20 * 37,5 + 5 mm hnací hriadeľ
hmotnosť: 38 g
dĺžka drôtu: 320 mm

Rýchlosť: 0,19 s/60 stupňov (4,8 V)
0,22 s/60 stupňov (6 V)
rýchlosti sú s najväčšou pravdepodobnosťou zmiešané, servo by malo byť rýchlejšie o 6 voltov
krútiaci moment: 5 kg. cm. pri (4,8 V)
5,5 kg.cm.at (6 V)
napätie: 4,8V-6V

Štandardná dodávka

4 hojdacie kreslá rôznych tvarov
4 puzdrá, 4 gumové tlmiče a 4 skrutky na pripevnenie serva
a ešte jedna malá skrutka na uchytenie vahadla k hriadeľu unikla z fotky :)

Vzhľad vzbudzuje dôveru, dotyk je tiež v poriadku, malé zárubne odliatku sú len v oblasti montážnych uší, nálepka je aplikovaná mierne krivo (tautológia, áno!). Drôt je mäkký, konektor dobre sedí na kolíkoch.

No a teraz pitva:

Kto nevedel, ako to funguje: v prípade, že ide o motor, riadiacu dosku a premenlivý odpor, na základe polohy ktorého servo určuje uhol osi.
Prevodovka v tomto servo je plastová, životnosť je nižšia ako u kovovej a nemá rád veľké zaťaženie. Puzdro pre stredovú os je meď alebo nejaký druh zliatiny. Na výstupnom hriadeli je ložisko. Môžu sa pridať mazivá

Elektrická časť

Mozgy, ktoré riadia smer a rýchlosť otáčania, variabilné otáčky a elektromotor.

A teraz, pozor, „life hack“, ako premeniť bežné servo na servo s konštantnou rotáciou

V origináli je premenná svojou osou zapichnutá do výstupného hriadeľa zvnútra serva, v upravenej verzii bol hriadeľ odhryznutý/odlomený, zrejme v štádiu montáže, rezistor je nastavený do stredovej polohy tak, že hriadeľ sa v pokoji neotáča. Ak pôjdete ďalej, môžete ho úplne vyhodiť a nahradiť 2 identickými konštantnými odpormi; je vhodné dať niečo SMD na riadiacu dosku.

Celkom:
slúžiť ako serva, nie priestor, ale ani spotrebný tovar,
dá sa zohnať lacnejšie a s kovovou prevodovkou

PS
Ako je správne uvedené v komentároch, úplne som zabudol spomenúť, ako sa servo ovláda, servo je napájané 5-6 voltmi a signálom ppm cez tretí vodič.

Najbežnejšie možnosti ovládania:
1) na jednej strane pripojte napájanie, na druhej výstup na 3 „spotrebiče“ (servery, motory atď.) napájanie a signál PPM, pomocou rukoväte môžete nastaviť rýchlosť a smer otáčania serva
2) RC zariadenie na výstupoch prijímača má rovnaký ppm signál.
3) riadiť pomocou arduina

Video

Pps
V dôsledku „úpravy“ stratilo servo spätnú väzbu, mozog nepozná skutočnú polohu hriadeľa a smer otáčania, berte tento bod do úvahy, ak sa chystáte kúpiť.

Plánujem kúpiť +17 Pridať k obľúbeným Recenzia sa mi páčila +31 +56

V tomto článku budeme hovoriť o servách v projektoch Arduino. Práve vďaka servomotorom sa bežné elektronické projekty stávajú robotickými. Pripojenie serva k projektu Arduino vám umožňuje reagovať na signály senzorov presným pohybom, napríklad otvorením dverí alebo otočením senzorov v požadovanom smere. Článok rozoberá problematiku ovládania serv, možné schémy pripojenia serv k Arduinu, ako aj príklady náčrtov.

Servopohon je typ pohonu, ktorý dokáže presne riadiť parametre pohybu. Inými slovami, je to motor, ktorý môže otáčať svojim hriadeľom o špecifický uhol alebo udržiavať nepretržité otáčanie v presne stanovenom čase.

Prevádzkový obvod servopohonu je založený na použití spätnej väzby (uzavretý obvod, v ktorom vstupné a výstupné signály nie sú prispôsobené). Servopohonom môže byť akýkoľvek typ mechanického pohonu, ktorý obsahuje snímač a riadiacu jednotku, ktorá automaticky udržiava všetky parametre nastavené na snímači. Servopohon pozostáva z motora, snímača polohy a riadiaceho systému. Hlavnou úlohou takýchto zariadení je implementácia v oblasti servomechanizmov. Taktiež sa servopohony často používajú v takých oblastiach, ako je spracovanie materiálu, výroba dopravných zariadení, spracovanie dreva, výroba plechov, výroba stavebných materiálov a iné.

V projektoch robotiky Arduino sa servo často používa na jednoduché mechanické činnosti:

  • Otočte diaľkomer alebo iné senzory do určitého uhla na meranie vzdialenosti v úzkom zornom poli robota.
  • Urobte malý krok nohou, pohnite končatinou alebo hlavou.
  • Na vytvorenie robotických manipulátorov.
  • Na implementáciu mechanizmu riadenia.
  • Otvorte alebo zatvorte dvere, klapku alebo iný predmet.

Samozrejme, rozsah použitia serva v reálnych projektoch je oveľa širší, ale uvedené príklady sú najobľúbenejšie schémy.

Schéma a typy serv

Princíp činnosti servopohonu je založený na spätnej väzbe z jedného alebo viacerých systémových signálov. Indikátor výstupu sa privádza na vstup, kde sa jeho hodnota porovnáva s nastavovacou činnosťou a vykonajú sa potrebné činnosti - napríklad vypnutie motora. Najjednoduchšou možnosťou implementácie je premenlivý rezistor, ktorý je ovládaný hriadeľom - pri zmene parametrov rezistora sa menia parametre prúdu napájajúceho motor.

V skutočných servách je riadiaci mechanizmus oveľa zložitejší a využíva vstavané riadiace čipy. V závislosti od typu použitého mechanizmu spätnej väzby existujú analógový A digitálny servá. Prvé používajú niečo podobné ako potenciometer, druhé používajú ovládače.

Celý obvod riadenia serva je umiestnený vo vnútri krytu, riadiace signály a napájanie sú spravidla napájané tromi vodičmi: zem, napájacie napätie a riadiaci signál.

Plynulé otočné servo 360, 180 a 270 stupňov

Existujú dva hlavné typy servomotorov - s plynulým otáčaním a s pevným uhlom (najčastejšie 180 alebo 270 stupňov). Rozdiel medzi obmedzenou rotáciou serva spočíva v mechanických prvkoch konštrukcie, ktoré môžu blokovať pohyb hriadeľa mimo uhlov špecifikovaných parametrami. Po dosiahnutí uhla 180 ovplyvní hriadeľ obmedzovač a vydá príkaz na vypnutie motora. Servomotory kontinuálnej rotácie takéto obmedzovače nemajú.

Materiály servoprevodov

Pre väčšinu serv je spojovacím článkom medzi hriadeľom a vonkajšími prvkami prevod, takže je veľmi dôležité, z akého materiálu je vyrobený. Existujú dve najdostupnejšie možnosti: kovové alebo plastové prevody. V drahších modeloch nájdete prvky vyrobené z uhlíkových vlákien a dokonca aj titánu.


Plastové možnosti sú prirodzene lacnejšie, ľahšie sa vyrábajú a často sa používajú v lacných servách. Pre vzdelávacie projekty, kde servo vykoná niekoľko pohybov, to nie je veľký problém. Ale vo vážnych projektoch je použitie plastu nemožné kvôli veľmi rýchlemu opotrebovaniu takýchto prevodov pri zaťažení.

Kovové prevody sú spoľahlivejšie, ale to, samozrejme, ovplyvňuje cenu aj hmotnosť modelu. Šetrní výrobcovia dokážu vyrobiť niektoré časti plastové a niektoré kovové, na to treba pamätať. A samozrejme, v najlacnejších modeloch ani prítomnosť kovového prevodu nie je zárukou kvality.

Titánové alebo karbónové prevody sú najvýhodnejšou možnosťou, ak nie ste obmedzený rozpočtom. Ľahké a spoľahlivé, takéto servá sú široko používané na vytváranie modelov áut, dronov a lietadiel.

Výhody servomotorov

Široké použitie servopohonov je spôsobené tým, že majú stabilnú prevádzku, vysokú odolnosť proti rušeniu, malé rozmery a široký rozsah regulácie rýchlosti. Dôležitými vlastnosťami serv je schopnosť zvýšiť výkon a poskytnúť informačnú spätnú väzbu. Z toho vyplýva, že v smere dopredu je obvod vysielačom energie a v opačnom smere je vysielačom informácie, ktorá sa používa na zlepšenie presnosti riadenia.

Rozdiely medzi servomotorom a konvenčným motorom

Zapnutím alebo vypnutím bežného elektromotora môžeme generovať rotačný pohyb a spôsobiť pohyb kolies alebo iných predmetov pripevnených na hriadeli. Tento pohyb bude nepretržitý, ale aby ste pochopili, v akom uhle sa hriadeľ otočil alebo koľko otáčok urobil, budete musieť nainštalovať ďalšie externé prvky: kódovače. Servopohon už obsahuje všetko potrebné na získanie informácií o aktuálnych parametroch otáčania a môže sa samostatne vypnúť pri natočení hriadeľa do požadovaného uhla.

Rozdiely medzi servomotorom a krokovým motorom

Dôležitým rozdielom medzi servomotorom a krokovým motorom je schopnosť pracovať s vysokými zrýchleniami a pri premenlivom zaťažení. Tiež servomotory majú vyšší výkon. Krokové motory nemajú spätnú väzbu, takže je možné pozorovať efekt straty krokov, u servomotorov je strata krokov vylúčená - všetky porušenia budú zaznamenané a opravené. So všetkými týmito zjavnými výhodami sú servomotory drahšie zariadenia ako krokové motory, majú zložitejší systém pripojenia a riadenia a vyžadujú si kvalifikovanejšiu údržbu. Je dôležité poznamenať, že krokové motory a servá nie sú priamymi konkurentmi - každé z týchto zariadení má svoju vlastnú špecifickú oblasť použitia.

Kde kúpiť obľúbené servá SG90, MG995, MG996

Najdostupnejšia možnosť serva SG90 1,6 kg Servopohony SG90 a MG90S pre Arduino za cenu pod 70 rubľov
Ďalšia možnosť pre servo SG90 Pro 9g od dôveryhodného dodávateľa na Ali Servo SG90 od spoľahlivého dodávateľa RobotDyn
Servo tester Niekoľko možností pre testery serv
Chránený servopohon s krútiacim momentom 15 kg Servo JX DC5821LV 21KG Plne vodotesné Core Mentálna výbava 1/8 1/10 RC auto Scaler Buggy Crawler TRAXXAS RC4WD TRX-4 SCX10 D90
Servo MG996R MG996 Servo Metal Gear pre Futaba JR Servo 13KG 15KG Digitálne servo MG995 MG996 MG996R Servo Metal Gear

Rozhodujúcim faktorom pri riadení servopohonov je riadiaci signál, ktorý pozostáva z impulzov konštantnej frekvencie a premenlivej šírky. Dĺžka impulzu je jedným z najdôležitejších parametrov, ktorý určuje polohu serva. Túto dĺžku je možné v programe nastaviť ručne metódou výberu rohu alebo pomocou príkazov knižnice. Pre každú značku zariadenia môže byť dĺžka iná.

Keď signál vstúpi do riadiaceho obvodu, generátor vydá svoj impulz, ktorého trvanie sa určuje pomocou potenciometra. V inej časti obvodu sa porovnáva trvanie privedeného signálu a signálu z generátora. Ak sú tieto signály rozdielne v trvaní, zapne sa elektromotor, ktorého smer otáčania je určený tým, ktorý z impulzov je kratší. Keď sú dĺžky impulzov rovnaké, motor sa zastaví.

Štandardná frekvencia vydávania impulzov je 50 Hz, to znamená 1 impulz každých 20 milisekúnd. Pri týchto hodnotách je trvanie 1520 mikrosekúnd a servo je v strednej polohe. Zmena dĺžky impulzu vedie k otáčaniu servopohonu - pri predĺžení trvania sa otáča v smere hodinových ručičiek a pri klesaní sa otáča proti smeru hodinových ručičiek. Existujú limity trvania - v Arduine v knižnici Servo je pre 0° hodnota impulzu nastavená na 544 μs (dolný limit), pre 180° - 2400 μs (horný limit).

(Obrázok použitý z amperka.ru)

Je dôležité vziať do úvahy, že na konkrétnom zariadení sa nastavenia môžu mierne líšiť od všeobecne akceptovaných hodnôt. Pri niektorých zariadeniach môže byť priemerná poloha a šírka impulzu 760 µs. Všetky akceptované hodnoty sa môžu mierne líšiť aj v dôsledku chýb, ktoré sa môžu vyskytnúť pri výrobe zariadenia.

Spôsob riadenia pohonu sa často mylne nazýva PWM/PWM, nie je to však úplne správne. Kontrola priamo závisí od dĺžky impulzu, frekvencia ich výskytu nie je taká dôležitá. Správna prevádzka bude zabezpečená pri 40 Hz aj 60 Hz, prispeje len silný pokles alebo zvýšenie frekvencie. Ak dôjde k prudkému poklesu, servopohon začne pracovať trhavo, pri zvýšení frekvencie nad 100 Hz môže dôjsť k prehriatiu zariadenia. Preto je správnejšie nazývať to PDM.

Na základe interného rozhrania je možné rozlíšiť analógové a digitálne servá. Neexistujú žiadne vonkajšie rozdiely - všetky rozdiely sú iba vo vnútornej elektronike. Analógový servopohon obsahuje vo vnútri špeciálny čip, zatiaľ čo digitálny servopohon obsahuje mikroprocesor, ktorý prijíma a analyzuje impulzy.

Pri príjme signálu sa analógové servo rozhodne, či zmení polohu alebo nie, a ak je to potrebné, privedie do motora signál s frekvenciou 50 Hz. Počas reakčného času (20 ms) sa môžu vyskytnúť vonkajšie vplyvy, ktoré zmenia polohu servopohonu a zariadenie nestihne zareagovať. Digitálny servopohon využíva procesor, ktorý dodáva a spracováva signály na vyššej frekvencii - od 200 Hz, takže dokáže rýchlejšie reagovať na vonkajšie vplyvy a rýchlo vyvinúť požadované otáčky a krútiaci moment. Digitálne servo tak bude lepšie držať nastavenú polohu. Digitálne servopohony zároveň vyžadujú na prevádzku viac elektriny, čo zvyšuje ich náklady. Veľký podiel na cene má aj náročnosť ich výroby. Vysoká cena je jedinou nevýhodou digitálnych serv; technicky sú oveľa lepšie ako analógové zariadenia.

Pripojenie servomotora k Arduinu

Servopohon má tri kontakty, ktoré sú natreté rôznymi farbami. Hnedý vodič vedie k zemi, červený vodič vedie k +5V napájaniu a oranžový alebo žltý vodič vedie k signálnemu vodiču. Zariadenie je pripojené k Arduinu cez kontaktnú dosku spôsobom znázorneným na obrázku. Oranžový vodič (signál) je pripojený k digitálnemu kolíku, čierny a červený vodič je pripojený k zemi a napájaniu. Na ovládanie servomotora sa nemusíte špeciálne pripájať na čapy podložky - princíp ovládania servomotora sme už opísali vyššie.

Neodporúča sa pripájať výkonné servá priamo na dosku, pretože... vytvárajú prúd pre napájací obvod Arduino, ktorý nie je kompatibilný so životom - budete mať šťastie, ak bude ochrana fungovať. Príznakmi preťaženia a nesprávneho napájania serva sú najčastejšie „trhanie“ serva, nepríjemný zvuk a reštart dosky. Pre napájanie je lepšie použiť externé zdroje, nezabudnite skombinovať uzemnenie dvoch obvodov.

Náčrt na ovládanie serva v Arduine

Ovládanie serva priamo zmenou trvania impulzu v náčrte je pomerne netriviálna úloha, ale našťastie máme vynikajúcu knižnicu serva zabudovanú do vývojového prostredia Arduino. Všetky nuansy programovania a práce so servami zvážime v samostatnom článku. Tu uvádzame jednoduchý príklad použitia Serva.

Prevádzkový algoritmus je jednoduchý:

  • Najprv pripojíme Servo.h
  • Vytvorte objekt triedy Servo
  • V nastavovacom bloku uvádzame, na ktorý pin je servo pripojené
  • Metódy objektu používame obvyklým spôsobom C++. Najpopulárnejšia je metóda zápisu, ktorej dodávame celočíselné hodnoty v stupňoch (pre 360 ​​servo budú tieto hodnoty interpretované inak).

Príklad jednoduchého náčrtu pre prácu so servopohonom

Príklad projektu, v ktorom servomotor najskôr nastavíme na nulový uhol a potom ho otočíme o 90 stupňov.

#include Servo servo; // Vytvorenie objektu void setup() ( servo.attach(9); // Označenie objektu triedy Servo, že servo je pripojené k pinu 9 servo1.write(0); // Nastavte počiatočnú polohu ) void loop() ( servo.write (90); // Otočenie serva o 90 stupňov delay(1000); servo.write(1800); delay(100); servo.write(90); delay(1000); servo.write (0); oneskorenie (1000 ); )

Náčrt pre dve servá

A v tomto príklade pracujeme s dvoma servami naraz:

#include Servo servo1; // Prvý servopohon Servo servo2; // Druhé servo void setup() ( servo1.attach(9); // Označte objekt triedy Servo, že servo je pripojené na pin 9 servo2.attach(10); // A toto servo je pripojené na pin 10 ) void loop() ( // Nastavenie pozícií servo1.write(0); servo2.write(180); delay(20); // Zmena pozícií servo2.write(0); servo1.write(180); )

Servo ovládanie pomocou potenciometra

V tomto príklade otáčame servo v závislosti od hodnoty prijatej z potenciometra. Hodnotu prečítame a prevedieme na uhol pomocou funkcie mapy:

//Fragment štandardného príkladu použitia knižnice Servo void loop() ( val = analogRead(A0); // Čítanie hodnoty z kolíka, ku ktorému je pripojený potenciometer val = map(val, 0, 1023, 0, 180); // Prevod čísla v rozsahu od 0 do 1023 do nového rozsahu - od 0 do 180. servo.write(val); delay(15); )

Charakteristika a zapojenie SG-90

Ak sa chystáte kúpiť najlacnejší a najjednoduchší servopohon, potom bude najlepšou voľbou SG 90. Toto servo sa najčastejšie používa na ovládanie malých, ľahkých mechanizmov s uhlom natočenia od 0° do 180°.

Špecifikácia SG90:

  • Rýchlosť vykonávania príkazu 0,12 s/60 stupňov;
  • Napájanie 4,8V;
  • Prevádzkové teploty od -30C do 60C;
  • Rozmery 3,2 x 1,2 x 3 cm;
  • Hmotnosť 9 g.

Popis SG90

Farby drôtu sú štandardné. Servopohon je lacný a neposkytuje presné nastavenie počiatočnej a koncovej polohy. Aby ste predišli zbytočnému preťaženiu a charakteristickému praskaniu v polohe 0 a 180 stupňov, je lepšie nastaviť krajné body na 10° a 170°. Pri prevádzke zariadenia je dôležité sledovať napájacie napätie. Pri silnom nadhodnotení tohto ukazovateľa môže dôjsť k poškodeniu mechanických prvkov prevodových mechanizmov.

Servopohony MG995 a MG996 tower pro

Servo MG995 je druhý najpopulárnejší model serva, ktorý sa najčastejšie spája s projektmi Arduino. Jedná sa o relatívne lacné servomotory s oveľa lepším výkonom ako SG90.

Špecifikácie MG995

Výstupný hriadeľ na MG995 sa otáča o 120 stupňov (60 v každom smere), hoci mnohí predajcovia uvádzajú 180 stupňov. Zariadenie je umiestnené v plastovom obale.

  • Hmotnosť 55 g;
  • Krútiaci moment 8,5 kg x cm;
  • Rýchlosť 0,2 s/60 stupňov (pri 4,8 V);
  • Pracovný výkon 4,8 – 7,2V;
  • Prevádzkové teploty – od 0C do -55C.

Popis MG995

Pripojenie k Arduinu prebieha aj cez tri vodiče. V zásade je pre amatérske projekty možné pripojiť MG995 priamo k Arduinu, ale prúd motora vždy vytvorí nebezpečnú záťaž na vstupoch dosky, preto sa stále odporúča napájať servo samostatne, nezabudnúť na pripojenie uzemnenia oboch silových obvodov. Ďalšou možnosťou, ktorá uľahčuje život, by bolo použitie hotových servoregulátorov a štítov, ktoré preskúmame v samostatnom článku.

MG996R je svojimi charakteristikami podobný MG995, len je dodávaný v kovovom obale.

Konverzia servopohonu na servo s nepretržitým otáčaním

Ako je popísané vyššie, servo je riadené impulzmi s premenlivou šírkou, ktoré nastavujú uhol natočenia. Aktuálna poloha sa odčíta z potenciometra. Ak odpojíte hriadeľ a potenciometer, servomotor zaujme polohu posúvača potenciometra ako v strede. Všetky tieto akcie povedú k odstráneniu spätnej väzby. To vám umožňuje ovládať rýchlosť a smer otáčania pomocou signálneho vodiča a vytvoriť servo s nepretržitým otáčaním. Je dôležité poznamenať, že servo s konštantnou rotáciou sa nemôže otáčať pod určitým uhlom a robiť presne stanovený počet otáčok.

Ak chcete vykonať vyššie uvedené kroky, budete musieť zariadenie rozobrať a vykonať zmeny v dizajne.

V Arduino IDE musíte vytvoriť malý náčrt, ktorý umiestni vahadlo do strednej polohy.

#include Servo myservo; void setup())( myservo.attach(9); myservo.write(90); ) void loop())( )

Potom je potrebné zariadenie pripojiť k Arduinu. Po pripojení sa servo začne otáčať. Úplné zastavenie je potrebné dosiahnuť nastavením odporu. Po zastavení otáčania musíte nájsť hriadeľ, vytiahnuť z neho pružný prvok a nainštalovať ho späť.

Táto metóda má niekoľko nevýhod - nastavenie rezistora do úplného zastavenia je nestabilné, pri najmenšom náraze/zahriatí/ochladení môže dôjsť k strate nastaveného nulového bodu. Preto je lepšie použiť metódu nahradenia potenciometra trimrom. Aby ste to dosiahli, musíte odstrániť potenciometer a nahradiť ho trimovacím odporom s rovnakým odporom. Nulový bod sa musí nastaviť pomocou kalibračného náčrtu.

Akýkoľvek spôsob premeny serva na servo s nepretržitou rotáciou má svoje nevýhody. Po prvé, je ťažké nastaviť nulový bod, akýkoľvek pohyb ho môže zhodiť. Po druhé, rozsah ovládania je malý - s malou zmenou šírky impulzu sa rýchlosť môže výrazne zmeniť. Rozsah môžete v Arduine programovo rozširovať.

Záver

Serva hrajú veľmi dôležitú úlohu v mnohých projektoch Arduino, od robotiky až po inteligentné domáce systémy. Všetko, čo súvisí s pohybom, si tradične vyžaduje špeciálne znalosti a vytvorenie plnohodnotného, ​​správne fungujúceho pohonu nie je jednoduchá záležitosť. Pomocou servomotorov je však možné túto úlohu v mnohých prípadoch zjednodušiť, a preto sa servomotor neustále používa aj v projektoch základnej úrovne.

V tomto článku sme sa pokúsili pokryť rôzne aspekty používania serv v projektoch Arduino: od pripojenia až po písanie náčrtov. Výberom najjednoduchšieho modelu serva (napríklad sg 90) môžete jednoducho zopakovať uvedené príklady a vytvoriť svoje prvé projekty, v ktorých sa niečo hýbe a mení. Dúfame, že tento článok vám s tým pomôže.