
Řízení pohybu pro masy: Příběh TinyG
Co je TinyG?
TinyG je hardwarový projekt s otevřeným zdrojovým kódem, který jsem spoluvytvářel, aby byl průmyslový systém řízení pohybu cenově dostupný a přístupný pro běžné uživatele a zároveň dostatečně výkonný pro profesionály. Je to osobní projekt, který se stal veřejnou prací lásky. Vytvořili jsme Synthetos, když nás členové našeho místního hackerspace (HacDC) požádali, abychom vytvořili hardware, aby mohli řídit své vlastní projekty řízení pohybu.
Deska TinyG je kompletní vestavěný víceosý systém řízení pohybu na 4palcové desce plošných spojů. Používá se v CNC frézovacích strojích, 3D tiskárnách, strojích pro pick and place, malých průmyslových výrobních linkách, uměleckých projektech a dalších aplikacích, které vyžadují přesné a rychlé řízení pohybu. Díky tomu může vaše CNC nebo 3D tiskárna tisknout rychleji, přesněji a mnohem klidněji než alternativy. Některé z těchto funkcí jsou:
- Příkazy řízení pohybu G-kódu běží přímo na desce
- 4 krokové motory do 2,5 A
- 6-osé řízení - ovládá lineární osy XYZ + otočné osy ABC
- Řízené zrychlení trhání (vysvětlím to později) plánování velmi rychlého a přesného pohybu
- Rozhovory JSON (JavaScript Object Notation), takže deska může být řízena pomocí stejných technologií, na kterých je web založen
Úplný seznam funkcí je k dispozici na webu Synthetos.
V MAKER SHED:
Co je na palubě?
Ne moc, opravdu. CPU je Atmel Xmega - středně výkonný procesor s 192K záblesku na 32 MHz. To je šestkrát více flash než procesor (ATmega328P) na Arduino Uno, a dvojnásobek rychlosti procesoru Arduino Uno nebo Mega desek. Používáme další prostor a sílu, aby TinyG udělal to, co dělá.
K dispozici je také čip FTDI USB (takže jej můžete zapojit do počítače) a 3,3 voltový spínací zdroj pro napájení logiky. Zbytek je pouze LED, proudové potenciometry a konektory. Většina úsilí směřovala do firmwaru, který je k dispozici open source na stránkách Synthetos Github. To je více než čtyři roky - a samozřejmě přidáváme funkce a vylepšujeme kód. Tam je také TinyG firmware port, který běží na procesoru Arduino Due ARM, a my jsme v procesu uvolnění TinyG verze 9, která používá procesor ARM. Verze Due běží pěkně s tříosým krokovým štítem, který jsme nazvali gShield.
Kdo to udělal a proč?
TinyG byl pod neustálým vývojem Riley Porter a já sám od začátku roku 2010. Rob Giseburt se připojil k projektu v roce 2012, a tam bylo mnoho přispěvatelů, kteří také přidali do kódové základny. TinyG začal jako Xmega větev grbl software pro řízení pohybu, který byl v té době také ve velmi rané fázi vývoje. TinyG byl původně koncipován jako způsob, jak ovládat velký počet krokových motorů velmi přesně, ale levně. Originální design byl zamýšlel řídit velký calliope to odkázaný nahoru nahoru 100 motorů, se spoléhat na kolik nástrojů bylo přidáno. Lidé v místním hackerspace (HacDC) dostali slovo o projektu a začali žádat o desky, aby řídili malé CNC stroje a další projekty. Pak se o tom dozvědělo více lidí. Tak jsme se vydali cestou psaní firmwaru pro tato použití. Calliope ještě musí být postaven.
Jak se liší od toho, co přišlo dříve?
Myslíme si, že hlavním rozdílem mezi TinyG a ostatními regulátory je pozornost věnovaná samotnému řízení pohybu, na rozdíl od aplikace specifické pro 3D tisk nebo jiné aplikace.
Strana jako to je 1969
Jedním z velkých rozdílů je závazek vytvořit relativně plný interpret G-kódu. G-kód je „60-ti letý“ příkazový jazyk ASCII, který je stále dominantním způsobem řízení průmyslových CNC strojů.Části G-kódu byly přijaty komunitou 3D tisku, ale chtěli jsme implementovat bohaté funkce, které jazyk podporuje.
Všechno to bláznivé fyziky a matematiky
Jedna velká část G-kódu je podpora pro 6 os řízení pohybu. To znamená, že kromě lineárních os XYZ je třeba provádět rotační osy. Rotační osy A, B a C jsou rotace kolem X, Y a Z - podobně jako stoupání, rolování a vybočení v letadle.
The Jerk
Dalším velkým rozdílem je řízení akcelerace, které přímo řídí blbec (ne, ne Steve Martin film od 1979). Pro matematicky nakloněný je trhák třetím derivátem pozice nebo rychlost změny zrychlení. Více fyzicky, trhnutí je měřítkem toho, jaký dopad může mít stroj.
Jerk je jako bít stroj kladivem, a to způsobuje všechny druhy špatných vedlejších účinků. Jerk vzrušuje rezonance, které způsobují třes, škubání, přeskakování a v extrémních případech ztrátu pozice. Ovládání trhnutí znamená, že zrychlení vypadá jako hladká křivka S, nikoli svazek přímek (lichoběžníků), které jsou slepeny dohromady.
V praxi to znamená, že stroj může zrychlit a zpomalit rychleji a obecně běžet hladce. Žádný jiný regulátor v našem sortimentu to neudělá. To vše trvalo spoustu času, ale šli jsme na kvalitu a pracovali fyziku a matematiku. Použili jsme Wolfram Alpha několik měsíců, abychom snížili některé obrovské rovnice. Trvalo 6 měsíců nebo déle, než se nám podařilo urychlit práci, jak jsme chtěli. Vyškolený profesionál to dokázal za několik týdnů, možná i dnů, ale byl to náš čas, abychom to objevili a naučili.
CNC v prohlížeči
CNC v prohlížeči: tgFX vykreslování TinyG výstup
Další velký rozdíl je způsob, jakým mluvíme s představenstvem. S deskou zacházíme jako s webovým periferním zařízením. To znamená, že deska mluví REST a JSON (JavaScript Object Notation) a chová se jako webová stránka namísto kusu vlastního hardwaru. Chceme, aby co nejvíce lidí bylo schopno používat TinyG, takže je třeba s ním snadno mluvit. Pro každého, kdo má pohodlný zápis na bitový protokol, existují stovky lidí, kteří jsou s JSONem obeznámeni - v JavaScriptu, NODE.js, Pythonu, Javě, Ruby - cokoliv. Tak jsme implementovali JSON na úrovni čipu, namísto HTTP a TCP / IP přes sériový port. To umožňuje celé řadě aplikací, které by předtím nebyly vytvořeny, protože křivka učení byla příliš strmá.
Na co ho mohu použít?
TinyG je skvělý na to, že se jen zvedá a dělá něco hladce, protože tolik práce už bylo hotovo. Dostáváme komentáře od lidí, že „přeskočili“ pohybovou část svého projektu, nebo „nahradili stůl plný elektroniky“.
Existuje celá řada projektů, které jako součást řízení pohybu vložily TinyG:
Shapeoko 2
Shapeoko je cenově dostupný tříosý řezací stroj. Mnoho Shapeoko staví použití TinyG a Shapeoko projekt byl dlouho-čas podporovatel TinyG.
Ostatní mlýn
Othermill je přenosný, počítačově řízený tříosý mlýn určený pro použití doma nebo v malém pracovním prostoru. Je dostatečně kompaktní a tichý pro domácí použití, přesto dostatečně přesný pro detailní elektrické a mechanické prototypovací práce. Začátkem tohoto roku byl zahájen další úspěšný Kickstarter.
Pocket NC
Pocket NC vyrábí pětiosou stolní CNC frézu P5. P5 je navržen pro obrábění kovů nebo plastů a má pracovní plochu 5 palců v průměru o 4 palce. A je to zelená.
DIWire je stolní CNC kovový drát a ohýbačka trubek. Pokud tiskárna 3D tiskne objemy; tento stroj „tiskne“ řádky jakékoliv délky. Lze jej použít pro cokoliv z ocelových vazníků, hydraulických trubek, velkých rámů pro obří loutky, jemné šperky, mramorové dráhy, dokonce i šle.
Mythos / Logos je 4-metrová kinetická plastika z vnořených, půlkruhových ramen, které se vzájemně otáčejí. Vnitřní rameno má počítačem řízený držák kamery. Při pohybu může přístroj umístit svou kameru na téměř jakýkoliv bod na povrchu imaginární koule. I když je socha neustále v pohybu, objektiv fotoaparátu je vždy nasměrován do středu koule.
Mythos / Logos
OpenPnP je projekt pro vytvoření open-source, povrch-mount pick a place stroj. Projekt vytvořil několik prototypů hardwarových návrhů a v průběhu tohoto roku probíhá práce s Kickstarterem.
Tempo automatizace
Firepick je otevřený zdrojový stroj určený pro OpenPnP a TinyG. Tempo Automation vyvíjí stolní pick a place stroj založený na TinyG. Cílem Tempa je pomáhat lidem rychle iterovat prostřednictvím povrchových montáží elektroniky. Solar Pocket Factory je malý, nízkonákladový stroj, který vyrábí solární panely s cílem zpřístupnit solární energii kdekoli na světě. TinyG ovládá motory, které umisťují křemík a pohybují panely dolů po montážní lince.
Co bude dál pro tým TinyG?
Zatímco TinyG byl zaměřen na řízení pohybu a CNC, v poslední době jsme přidali možnosti pro 3D tisk, řezání laserem a obecnou rozšiřitelnost pro jiné typy projektů. Pro tyto projekty jsme vyvinuli expanzní sběrnici s názvem Kinen. Také používáme Kinen, abychom nabídli vyšší výkonové regulátory a umožnili „posledních 10 procent“, které mnoho projektů potřebuje. Pokračujeme v práci na komunikaci RESTful pomocí JSON. Naším cílem je podpora hardwarových Mashupů, kde weboví vývojáři mohou kombinovat více nezávislých zařízení tak snadno, jak mohou vytvořit webovou stránku.
Alden Hart je CTO společnosti Ten Mile Square Technologies, technologické poradenské firmy, která vyvíjí systémy pro média a komunikaci, od metadat po kov. Ve svém volném čase spolupracuje s Syntheosem a kombinuje mikroprocesory, LED diody, mechaniku a další malé části způsobem, který nemá praktickou aplikaci.