Obsah:

Robotický dávkovač vláken pro Arduino: 8 kroků (s obrázky)
Robotický dávkovač vláken pro Arduino: 8 kroků (s obrázky)

Video: Robotický dávkovač vláken pro Arduino: 8 kroků (s obrázky)

Video: Robotický dávkovač vláken pro Arduino: 8 kroků (s obrázky)
Video: Dávkovač dvojzložkového lepidla s elektronickým riadením - rýchly posuv 2024, Červenec
Anonim
Image
Image

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

Obsah sady
Obsah sady
Obsah sady
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

Projekt a design
Projekt a design
Projekt a design
Projekt a design
Projekt a design
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

Sestavení základny
Sestavení základny
Sestavení základny
Sestavení základny
Sestavení základny
Sestavení základny

Prvním krokem je sestavení základny se snímačem hmotnosti.

  1. Vložte malou trubku osy ložiska do otvoru ložiska
  2. Umístěte dva oddělovací kotouče po stranách ložiska
  3. Zaveďte součásti do držáku ložiska velikosti „U“, který zarovná otvory
  4. 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

Sestavení částí motoru Spool Motion
Sestavení částí motoru Spool Motion
Sestavení částí motoru Spool Motion
Sestavení částí motoru Spool Motion
Sestavení částí motoru Spool Motion
Sestavení částí motoru Spool Motion

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ů:

  1. Našroubujte první matici M4 na jeden ze dvou konců poháněné osy držáku cívky se závitem
  2. Vložte první ložisko
  3. Vložte oddělovač
  4. Vložte druhé ložisko
  5. 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í.
  6. 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

Dokončení montáže Motion Engine
Dokončení montáže Motion Engine
Dokončení montáže Motion Engine
Dokončení montáže Motion Engine
Dokončení montáže Motion Engine
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

Bonus: Jak jsem přizpůsobil podporu pro správu sady
Bonus: Jak jsem přizpůsobil podporu pro správu sady
Bonus: Jak jsem přizpůsobil podporu pro správu sady
Bonus: Jak jsem přizpůsobil podporu pro správu sady
Bonus: Jak jsem přizpůsobil podporu pro správu sady
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

Image
Image
Zapojení a připojení k Arduinu
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

  1. Vložte štít na horní část desky Arduino nebo zaváděcí sady Infineon XMC110
  2. Připojte vodiče motoru k šroubovým konektorům Out1 a Out2 stínění
  3. 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í

Sada příkazů pro software a ovládání
Sada příkazů pro software a ovládání
Sada příkazů pro software a ovládání
Sada příkazů pro software a ovládání
Sada příkazů pro software a ovládání
Sada příkazů pro software a ovládání
Sada příkazů pro software a ovládání
Sada příkazů pro software 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ý.

  1. Zkontrolujte (v režimu auto), zda extrudér potřebuje více vláken
  2. Pokud motor běží, zkontrolujte hardwarové chyby (vrácené TLE94112LE)
  3. 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:

  1. Odeslat příkaz do třídy FilamentWeight (příkazy hmotnosti) nebo do třídy MotorControl (příkazy motoru)
  2. Provede výpočet pro aktualizaci hodnot hmotnosti nebo aktualizaci jednoho z interních parametrů
  3. 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: