Obsah:
- Krok 1: Obsah sady
- Krok 2: Projekt a design
- Krok 3: Sestavení základny
- Krok 4: Sestavení dílů Spool Motion Engine
- Krok 5: Dokončení montáže Motion Engine
- Krok 6: Bonus: Jak jsem přizpůsobil podporu pro správu sady
- Krok 7: Zapojení a připojení k Arduinu
- Krok 8: Sada příkazů softwaru a ovládání
Video: Robotický dávkovač vláken pro Arduino: 8 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:24
Proč motorový nástroj
Filament 3D tiskáren - obvykle téměř robustní - je tažen extruderem, zatímco role je umístěna poblíž tiskárny, volně se otáčí. Pozoroval jsem smysluplné rozdíly v chování materiálu v závislosti na úrovni použití, vztaženo na 1 kg filamentových rolí. Nová (plná) cívka s vláknem teče téměř dobře, ale síla působící na extrudér by měla být relativně relevantní: hmotnost je nejméně 1,5 kg.
Motor extruderu (ve většině případů krokový Nema17) má dostatečný výkon k provedení práce, ale dva převody extruderu tlačící filament na stranu horkého konce při práci shromažďují částice vlákna v důsledku použitých sil; to vyžaduje častou údržbu extruderu, aby se zabránilo ucpání trysky. Tyto částice mají tendenci se při plnění uvolňovat a mísit s čistým vláknem, což zvyšuje problémy s tryskami a častější opotřebení trysek; k tomu dochází častěji u trysek o průměru 0,3 mm.
Když se vláknový válec používá napůl nebo více, jeho spirály se zmenší a v některých podmínkách prostředí se vlákno příliš často láme. Dlouhé tiskové úlohy se stávají méně spolehlivými a stresujícími; Nemohu nechat tiskárnu pracovat celou noc bez ovládání. Řízení posuvu vlákna motorovými postavami řeší řadu problémů.
Tato sada je k dispozici na Tindie.com
Krok 1: Obsah sady
Sada obsahuje všechny 3D tištěné díly a mechaniku pro sestavení dávkovače motorových vláken. Místo toho existují dvě volitelné části: motor a deska ovladače motoru.
V mém nastavení jsem použil kartáčový motor s převodovkou 12 V McLennan, ale jakýkoli převodový motor o průměru 37 mm se může správně vejít do podpěry motoru.
Nejlepšího výkonu dosahuje štít TLE94112LE Arduino od společnosti Infineon (celá recenze zde); tato deska řadiče stejnosměrného motoru může podporovat až 6 různých sad robotických dávkovačů současně.
Testoval jsem celý systém jak na Arduino UNO R3, tak na Arduino kompatibilní desce XMC1100 Boot kit od Infineon a systém velmi dobře reagoval s oběma deskami mikrořadiče.
Použití štítu TLE94112LE je doporučeno, ale není nezbytné. Jakýkoli řadič motoru DC pro Arduino - včetně vašeho vlastního projektu! - s tímto nástrojem může fungovat dobře
Sada je rozdělena na dvě sady komponent, protože dvě části jsou vytvořeny tak, aby spolupracovaly. Základní platforma bude podporovat vláknový válec rotující na čtyřech volnoběžných ložiskách. Základna je připevněna k váhovému senzoru, který ovládá rotační mechanismus, který spouští jeho aktivaci, a monitoruje podmínky vlákna: hmotnost, metry a procenta. Mnoho informací a kompletní sada příkazů je přístupná z Arduina přes sériový terminál.
Nástroje, které potřebujete
K dokončení montáže potřebujete robustní plastové lepidlo na některé díly, šroubovák a sadu imbusových šroubů.
Krok 2: Projekt a design
Tento projekt je třetí evolucí řady dávkovačů vláken pro 3D tiskárny Před několika lety jsem vytvořil rotující základnu pro optimalizaci toku vlákna při tažení extruderem 3D tiskárny.
Druhý model obsahoval hmotnostní senzor pro sledování využití filamentu v reálném čase pomocí desky Arduino. Tento poslední projekt zahrnuje automatické uvolňování vlákna v závislosti na potřebách úlohy 3D tiskárny. Je založen na virtuální změně hmotnosti, když extrudér začne tahat vlákno. Tato událost spustí mikrořadič přes váhový senzor a válec motorizovaného vlákna začne uvolňovat několik palců materiálu, poté zpomalí a zastaví se.
Komponenty byly exportovány ve formátu STL a 3D vytištěny, poté rafinovány a sestaveny dohromady. Vytvořil jsem vlastní podporu pro zarovnání pohybové části se základnou. Delší hliníková kolejnice byla také použita k podpoře Arduina a štítu motoru, aby byl celý nástroj kompaktní a snadno se pohyboval.
Při vytváření designu jsem se řídil řadou předpokladů:
- Díky tomu je automatický engine téměř jednoduchý a snadno reprodukovatelný
- Snižte co nejvíce počet komponent, které nelze tisknout, aby to bylo možné
- Snižte co nejvíce napětí působící na extruder při tisku
- Použijte nízkou cenu a snadno programujte desku mikrořadiče
- Pomocí snímače hmotnosti zátěže udržujte pod kontrolou spotřebu vlákna a podávání vlákna Spravujte hluk okolního prostředí zasahující do měření hmotnosti vlákna
To je výsledek, kterého jsem dosáhl.
Krok 3: Sestavení základny
Prvním krokem je sestavení základny se snímačem hmotnosti.
- Vložte malou trubku osy ložiska do otvoru ložiska
- Umístěte dva oddělovací kotouče po stranách ložiska
- Zaveďte součásti do držáku ložiska velikosti „U“, který zarovná otvory
- vložte imbusový šroub na jednu stranu a podložka a matice na druhou stranu matici zavírají bez přílišného úsilí
Operaci byste měli zopakovat na všech čtyřech podpěrách ložisek. Poté vyzkoušejte sestavu: ložiska by se měla volně otáčet.
Nyní pomocí imbusových šroubů upevněte čtyři podpěry ložisek na horní základně pomocí čtyř regulačních otvorů. Vyrovnejte podpěry ložisek tak, aby byly rovnoběžné. Upravte vzdálenost v závislosti na šířce vašich filamentových rolí.
Dalším krokem je sestavení tyče snímače hmotnosti, která drží spodní a horní základnu pohromadě. Senzor hmotnosti má na obou stranách dva různé imbusové šrouby a měli byste jej orientovat tak, aby byl štítek o maximální hmotnosti čitelný, když je základna správně umístěna. Spodní základna má dva další boční otvory pro upevnění A/D zesilovače snímače hmotnosti. Zesilovač založený na IC HX711 bude napájen a připojen k desce Arduino pomocí čtyř vodičů, jak je znázorněno v přiloženém datovém listu senzoru.
Posledním krokem je sestavení kompletní horní základny přes snímač hmotnosti již připevněný ke spodní části.
První komponenta byla nastavena!
Krok 4: Sestavení dílů Spool Motion Engine
Jednodušší postup při sestavování cívkového pohybového motoru je sestavit odděleně čtyři nejdůležitější součásti a poté dokončit finální stavbu:
Převodový stejnosměrný motor v převodové skříni motoru
Stejnosměrný motor by měl být namontován ve střední části podpěry konstrukce; před šroubováním motoru byste se měli rozhodnout, jakou stranu upřednostníte, kam umístíte stranu ozubených kol, abyste správně zarovnali dvě ramena, která drží motor a poháněný velký převod.
Řízený velký převod
Velké ozubené kolo by mělo být přišroubováno zkráceným kuželovým blokem čtyřmi imbusovými šrouby. Toto ozubené kolo bude na rotační ose zablokováno maticemi; kónická část bude držet cívku vlákna, která je na druhé straně zajištěna podobnými pojistnými maticemi uvnitř jiného komolého kuželového bloku. Toto řešení nejenže drží pohyblivý mechanismus na svém místě, ale také směřuje veškerou hmotnost na základnu a je to vlastní hmotnost systému.
Držák cívkového zámku
Toto je komolý kuželový blok, který společně s hnaným ozubeným kolem podobné uzamykací strany udrží pohybový mechanismus k cívce vlákna. Z taktního hlediska budovu dotváří nekonečný válec, zatímco pohybová podpora dvou paží se může volně pohybovat na druhé straně.
Jak je znázorněno na obrázcích, držák cívkového zámku je postaven ze dvou částí. Nejprve vložte matici M4 do větší části bloku a poté přilepte druhou část (kryt) držící bloky k sobě. Matice zůstane uvězněna uvnitř držáku zámku, který bude našroubován na poháněnou osu se závitem.
Krabice ložisek
Ložisková skříň má dvě funkce: poskytovat dobrou podporu převodovým stupňům a plynulý a tichý pohyb. Při montáži ložiskové skříně postupujte podle následujících jednoduchých kroků:
- Našroubujte první matici M4 na jeden ze dvou konců poháněné osy držáku cívky se závitem
- Vložte první ložisko
- Vložte oddělovač
- Vložte druhé ložisko
- Zašroubujte druhou matici a mírně ji zajistěte. Vnitřní plastový oddělovač bude proti dostatečné síle, aby udržel věci na místě i pro dlouhodobé používání.
- Vložte sestavená ložiska do ložiskové skříně. Mělo by se to dělat nuceně, aby se dosáhlo lepších výsledků, takže při vylepšování plastových dílů příliš neroztahujte vnitřek krabice.
Jsme připraveni na finální montáž součástí!
Krok 5: Dokončení montáže Motion Engine
Chystáme se dokončit sestavu konstrukce a poté se můžeme přesunout k testování pohybu. Nyní opět potřebujete pár lepidel. Ložisková skříň - sestavená v předchozím kroku - by měla být vložena do otvoru držáku skříně v podpěře motoru s dvěma rameny a případně přilepena, než zašroubujete kryt skříně.
Varování: nelepte kryt krabice, pouze přišroubujte. Kryt je důležitý pro ochranu před prachem a měl by být odnímatelný pro jakoukoli budoucí údržbu.
Když je toto nastavení dokončeno před přidáním poháněného ozubeného kola (většího), přidejte malý oddělovací kroužek: udržuje velké ozubené kolo zarovnáno s ozubeným kolem motoru a funguje jako podložka k upevnění poháněné pohyblivé sestavy.
Poté zasuňte hnací kolo (malé) do hřídele motoru. Všimněte si toho, že v motoru a ve středovém otvoru převodovky je plochá strana, která umožňuje otáčení ozubeného kola poháněné stejnosměrným motorem.
Poslední krok, vložte velké poháněné ozubené kolo, jak je znázorněno na obrázcích, a zajistěte jej na osu závitu dvěma maticemi M4.
Budova mechaniky je dokončena!
Krok 6: Bonus: Jak jsem přizpůsobil podporu pro správu sady
Aby byla souprava na místě, vytvořil jsem velmi jednoduchou strukturu založenou na dvou hliníkových čtvercových trubkách, které podporují základnu i pohybovou strukturu. Základna byla připevněna čtyřmi šrouby ke dvěma kolejnicím (o délce asi 25 cm) a několika malými 3D tištěnými podpěrami, které jsem opravil, aby se pohyblivý motor mohl volně pohybovat, aby se usnadnilo vkládání a vyjímání nekonečného vlákna.
Každý si může vybrat vlastní řešení podle toho, jak je jeho pracovní stůl organizován.
Krok 7: Zapojení a připojení k Arduinu
Jak je vysvětleno v kroku obsahu sady, použil jsem štít motoru Infineon TLE94112LE DC pro Arduino a testoval jsem motor jak na Arduino UNO R3, tak na Infineon XMC110 Boot Kit.
Pokud budete ovládat motor (potřebují funkce PWM) pomocí desky DC řadiče podle vašeho výběru, přizpůsobte pokyny technickým specifikacím vašeho štítu.
Poznámka k štítu Arduino TLE04112LE
Jedním z limitů, které jsem zažil u jiných štítů řízení motoru pro Arduino, je to, že používají funkce stejného mikrořadiče (tj. PWM a GPIO piny); to znamená, že se vaše deska věnuje těmto úkolům, zatímco pro jiné účely je k dispozici jen několik dalších zdrojů (MPU a GPIO).
Díky možnosti položit ruce na štít Arduino TLE94122LE pro testování na silnici je nejzjevnější výhodou integrovaného obvodu, na kterém je deska založena, pouze jeho úplnost. Deska Arduino komunikuje se štítem prostřednictvím protokolu SPI pomocí pouze dvou pinů. Každý příkaz, který odešlete na štít, je zpracován autonomně IC TLE94112LE IC bez spotřeby zdrojů MPU. Další pozoruhodnou vlastností desky Infineon je možnost ovládat až šest kartáčovaných motorů se třemi programovatelnými kanály PWM. To znamená, že Arduino může nastavit jeden nebo více motorů, spustit je a pokračovat v práci na dalších úkolech. Tento štít se ukázal jako dokonalý pro podporu až šesti různých filamentových rolí současně, přičemž pohyb je pouze jedním z úkolů, které má MPU na starosti. Vzhledem k možnosti spravovat šest různých filamentových cívek pomocí jednoho Arduino + stínění dopadu mikrořadiče na náklady na každém jednotlivém ovladači vlákna za méně než 5 Euro.
Senzor hmotnosti
Po několika experimentech jsem viděl, že je možné ovládat celý systém - monitorování a automatické podávání - jediným senzorem; siloměr (snímač hmotnosti) je schopen dynamicky měřit kolísání hmotnosti cívky vlákna a poskytuje všechny potřebné informace.
Použil jsem levný snímač zatížení v rozmezí 0-5 kg spolu s malou deskou založenou na zesilovači HX711 AD, integrovaném integrovaném obvodu pro správu snímačů snímačů zatížení. Problémy s propojením nebyly, protože je k dispozici dobře fungující knihovna Arduino.
Tři kroky pro nastavení hardwaru
- Vložte štít na horní část desky Arduino nebo zaváděcí sady Infineon XMC110
- Připojte vodiče motoru k šroubovým konektorům Out1 a Out2 stínění
- Připojte napájení a signály ze zesilovače snímače hmotnosti HX711 AD k pinům Arduino. V tomto případě jsem použil kolíky 2 a 3, ale všechny volné kolíky jsou v pořádku.
Varování: p ins 8 a 10 jsou vyhrazeny štítem TLE94113LE pro připojení SPI
To je vše! Jste připraveni nastavit software? Pokračuj.
Krok 8: Sada příkazů softwaru a ovládání
Plně zdokumentovaný software lze stáhnout z úložiště GitHub 3DPrinterFilamentDispenserAndMonitor
zde uvažujeme pouze ty nejsmysluplnější části a ovládací příkazy.
Počet dostupných pinů na Arduino UNO je důvodem, proč jsem se rozhodl ovládat systém přes sériový terminál USB; Protože každá motorizovaná jednotka je založena na hmotnostním senzoru, ovládání šesti různých dávkovačů vláken vyžaduje čtení dat ze šesti hmotnostních senzorů. Každý snímač zatížení „spotřebuje“dva piny, kolíky 0 a 1 jsou rezervovány (Tx/Rx) pro sériové číslo a piny 8 a 10 jsou vyhrazeny pro kanál SPI spojující štít TLE94112LE.
Stav systému
Řídicí software pracuje ve čtyřech různých stavech, definovaných ve filament.h:
#define SYS_READY "Připraveno" // Systém připraven
#define SYS_RUN "Running" // Filament in use #define SYS_LOAD "Load" // Roll loaded #define SYS_STARTED "Started" // Application started // Status codes #define STAT_NONE 0 #define STAT_READY 1 #define STAT_LOAD 2 #define STAT_RUN 3
Stav: Spuštěno
K tomuto stavu dochází po restartu hardwaru nebo při zapnutí systému. Zapnutí (a nastavení () při spuštění skici) inicializuje interní výchozí hodnoty a mělo by být spuštěno bez přídavné váhy na platformě, protože součástí inicializační sekvence je získání absolutní táry pro dosažení fyzické nulové hmotnosti.
Stav: Připraveno
Připravený stav nastane po měkkém resetu (odesláno ze sériového terminálu). Je podobný fyzickému resekci, ale nevypočítává se žádná tára; příkaz reset lze spustit také za běhu systému.
Stav: Načíst
Stav načtení nastane, když terminál odešle příkaz pro načtení. To znamená, že válec filamentu byl načten a byla vypočtena dynamická tára. Přesná hmotnost vlákna je získána druhem nastavení role odečtením hmotnosti motorové jednotky a prázdného válce.
Stav: Běží
Tento stav umožňuje automatický výpočet hmotnosti a automatický dávkovač vláken.
Koncové zprávy
Aktuální verze softwaru vrací na terminál zprávy čitelné lidmi, v závislosti na příkazech. Řetězcové zprávy jsou definovány ve dvou souborech záhlaví: commands.h (zprávy a odpovědi související s příkazy) a filament.h (řetězce používané analyzátorem k vytváření složených zpráv).
Příkazy
Správa příkazů zahrnuje dva různé soubory: commands.h včetně všech příkazů a souvisejících parametrů a filament.h včetně všech konstant a definic používaných systémem vážení a analyzátorem.
Zatímco interní výpočty jsou prováděny automaticky softwarem, implementoval jsem řadu příkazů pro nastavení chování systému a ruční ovládání některých parametrů.
Klíčová slova příkazů rozlišují velká a malá písmena a měla by být odeslána pouze z terminálu. Pokud příkaz není pro aktuální stav vhodný, není rozpoznán, vrátí se chybná zpráva příkazu, jinak je příkaz spuštěn.
Stavové příkazy
Změňte aktuální stav systému a přizpůsobí se také chování
Příkazy vláken
Pomocí samostatných příkazů je možné nastavit vlastnosti vlákna a role na základě nejběžnější hmotnosti a velikostí, které jsou dnes na trhu k dispozici
Příkazy jednotek
Toto je několik příkazů k nastavení vizualizace jednotek měření v gramech nebo centimetrech. Ve skutečnosti je možné tyto příkazy eliminovat a vždy reprezentovat data v obou jednotkách.
Informační příkazy
Zobrazit skupiny informací v závislosti na stavu systému
Příkazy motoru
Ovládejte motor pro podávání nebo tažení vlákna.
Všechny příkazy motoru sledují dráhu zrychlení/zpomalení. Dva příkazy feed and pull provedou krátkou sekvenci definovanou v motoru.h konstantou FEED_EXTRUDER_DELAY, zatímco příkazy feedc a pullc běží neomezeně dlouho, dokud není přijat příkaz stop.
Příkazy v provozním režimu
Provozní stav přijímá dva režimy; režim člověk jen pravidelně čte váhu a motor se pohybuje, dokud není odeslán příkaz k ovládání motoru. Režim auto místo toho provede dva příkazy podávání, když extrudér potřebuje více vláken.
Princip je založen na odečtech hmotnosti, kontextualizovaných pro toto konkrétní prostředí. Očekáváme, že spotřeba vlákna je relativně pomalá, 3D tiskárny jsou téměř pomalé a normální oscilace hmotnosti závisí na vibracích prostředí (lepší, když na 3D tiskárnu nevložíte všechny věci)
Když extruder místo toho táhne filament, hmotnostní rozdíl se dramaticky zvýší (50 g nebo více) za velmi málo času, obvykle mezi dvěma nebo třemi odečty. Tyto informace jsou filtrovány softwarem, který „odečte“, že je potřeba nové vlákno. Aby se předešlo chybným hodnotám, kolísání hmotnosti za chodu motoru se vůbec ignoruje.
Logika aplikace
Logika aplikace je distribuována v.ino main (skica Arduino) podle tří funkcí: setup (), loop () a parseCommand (commandString)
Náčrt používá dvě samostatné třídy: Třída FilamentWeight pro správu všech výpočtů vláken a čtení senzorů prostřednictvím třídy HX711 IC a MotorControl propojující metody nízké úrovně štítu TLE94112LE Arduino.
založit()
Spuštěno jednou při zapnutí nebo po restartu hardwaru inicializovat instance tříd, nastavit hardware a komunikaci terminálu.
smyčka()
Funkce hlavní smyčky zvládá tři různé podmínky.
I když existují dvě třídy pro hmotnostní senzor a motory poměrně složité, má tu výhodu, že výsledný náčrt je opravdu snadno pochopitelný a spravovatelný.
- Zkontrolujte (v režimu auto), zda extrudér potřebuje více vláken
- Pokud motor běží, zkontrolujte hardwarové chyby (vrácené TLE94112LE)
- Pokud jsou k dispozici sériová data, analyzujte příkaz
parseCommand (příkazString)
Funkce analýzy analyzuje řetězce pocházející ze seriálu a když je příkaz rozpoznán, je okamžitě zpracován.
Každý příkaz funguje jako stavový stroj, který má vliv na nějaký parametr systému; podle této logiky jsou všechny příkazy redukovány na tři sekvenční akce:
- Odeslat příkaz do třídy FilamentWeight (příkazy hmotnosti) nebo do třídy MotorControl (příkazy motoru)
- Provede výpočet pro aktualizaci hodnot hmotnosti nebo aktualizaci jednoho z interních parametrů
- Po dokončení provádění zobrazit na terminálu a výstup informací
Nainstalujte si knihovnu HX711 Arduino, stáhněte si software z GitHub a nahrajte jej na desku Arduino a užívejte si!
Doporučuje:
SKARA- Robotický ruční čisticí robot pro bazén: 17 kroků (s obrázky)
Robot na čištění bazénu SKARA- Autonomous Plus: Čas jsou peníze a ruční práce je drahá. S příchodem a pokrokem v automatizačních technologiích je třeba vyvinout bezproblémové řešení pro majitele domů, společnosti a kluby, které vyčistí bazény od nečistot a špíny každodenního života až po
Automatický dávkovač krmiva pro kočky: 7 kroků (s obrázky)
Automatický dávkovač krmiva pro kočky: Pokud neovládáte množství krmiva, které vaše kočka jí, může to vést k problémům s přejídáním a nadváhou. To platí zejména v případě, že jste mimo domov a necháte kočce další jídlo, které by konzumovalo podle vlastního plánu. Jindy můžete
Robotický podvozek pro kutily: 8 kroků (s obrázky)
DIY Robot Chassis: toto je nejjednodušší robotický podvozek, který si můžete vyrobit doma. Můžete vytvářet videa na mém KANÁLU. Můžete přímo PŘIHLÁSIT K ODBĚRU MÉHO KANÁLU KLIKNUTÍM ZDE
Dávkovač krmiva pro psy poháněný Arduinem: 10 kroků (s obrázky)
Arduino Powered Dog Food Dispenser: Pokud je váš dům něco jako můj, některé úkoly mohou být ve spěchu zapomenuty. Nenechte to být váš mazlíček, na kterého se zapomíná! Tento automatický dávkovač krmiva pro psy používá Arduino k dodávání správného množství granulí ve správný čas. Všechny pa
Dávkovač IoT Treat pro domácí zvířata: 7 kroků (s obrázky)
Dávkovač IoT Treat pro domácí mazlíčky: Mám dvě kočky a nutnost dávat jim pamlsky asi 3krát denně se stalo docela nepříjemným. Dívali se na mě svými roztomilými tvářičkami a intenzivními pohledy, pak běželi ke krabici plné kočičích zelených, mňoukali a prosili je. Rozhodl jsem se