Řízení navíjáku

Dotazy na technické problémy, vlastní řešení technických problémů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
Celeron
Příspěvky: 20537
Registrován: 02 dub 2011, 00:00
Bydliště: Nový Bydžov

Řízení navíjáku

#1 Příspěvek od Celeron »

Bastlím řízení navíjáku filamentu k filastrudéru. Domácí výroba tiskový struny, granulát se taví na regulovanou teplotu, šnekem se tlačí do trysky za ní dělá ve vzduchu gravitační oblouk kde chladne. Gravitační oblouk se v nejnižším místě hlídá výška mezi spodní a horní optozávorou. Je to kvůli hmotnosti chladnoucího filamentu, jeho hnotnost má vliv na jeho průměr, těžší se při chladnutí vytáhne na menší průměr. Tohle vše je odzkoušený a netřeba řešit.

Na fotce dole je celý naviják. Filament do něj vstupuje "brzdící" teflonovou trubičkou, jde do průběžnýho měření tloušťky filamentu a pak přes natáčecí rolnu do vodítka, který by mělo rovnat na cívce závit vedle závitu. Měření tloušťky není do regulace nijak zapojený, motor cívky má pouze ruční regulaci otáček. Motor bude zapínám pokud filament v gravitačním oblouku poklesne pod dolní optozávoru a vypne se pokud vyleze nad horní optozávoru.
Aby se optimálně navíjela cívka závit vedle závitu, použil jsem vodítko ze závitovky M10 kterým hejbe krokáč Nema 17, 200kr/ot. Vodítko má stavitelný reverzační mikrospínače. Na cívce je halovka která během jedné otáčky cívky dá 5 impulzů pro ovládání krokového motoru vodítka. Při každém impulzu z halovky se pošle do krokáče několik desítek impulzů, které posunou o kousek vodítko. Pokud dojede vodítko k bočnici, krokáč se zreverzuje a 2 otáčky cívky vodítko stojí aby se správně rovnaly závity filamentu u bočnic.
Tohle vše mi chodí ale mám s tím problém poměr otáčení cívky k vodítku a nevím, kde je zakopanej pes.
Filament má průměr 1,75 mm, to znamená, že za jednu otáčku navíjecí cívky se musí vodítko posunout o 1,75 mm. Závit vodítka M10 má stopupání 1,5 mm na otáčku. Z toho plyne, že se musí závit otáčet 1,75 / 1,5 = 1,1666 rychleji než navíjecí cívka. Takže krokáč musí dostat během jedné otáčky cívky 200 x 1,1666 = 233,33 kroků. No a teď do toho vstupuje krokáč a nastavení jeho driveru. Ten se dá nastavit na plnej, poloviční, čtvrtinovej, osminovej a šestnáctinovej krok. Předpokládám, že těch mých 233 kroků bude pro plnej krok, pro půlkrok musím poslat 466, čtvrtkrok 933 atd. Mám zvolený čtvrtkrok, takže těch 933 musím podělit 5 impulsy z hallovky, takže po každým najetí na hallovku musím poslat do krokáče 187 kroků. (Čtvrtkrok jsem zvolil aby na počítání stačil 8 bitů registr)
Nojo, ale problém je, že mi to nerovná závity jak bych si představoval. Nemohl by prosím někdo zkontrolovat ty mý početní úvahy jestli není něco špatně? Pokud to bude správně asi mi ztrácí krokáč kroky, třeba ho krmím moc velkým kmitočtem. Halovka má v sobě šmiťák, v programu je navíc protizákmit ošetřený dvojtým čtením s mezerou 50uS, takže halovka si vymejšlet nemůže.
Protože celý řízení jsou převážně bitový operace se vstupama a výstupama, použil jsem 89C2051 a "regulaci" napsal v A51.
Díky za případnou konzultaci a pomoc.
Přílohy
navíjení.jpg
(100.9 KiB) Staženo 268 x
Jirka

Proč mi nemůže všechno chodit hned ?!!
Uživatelský avatar
Ruprecht
Příspěvky: 1494
Registrován: 28 zář 2005, 00:00
Bydliště: ZČ + JM

#2 Příspěvek od Ruprecht »

Zpomal frekvenci pro krokáč vodítka, potřebný pohyb snad není tak rychlý
Zkontroluj stoupání M10, jestli to není jemný závit x1,25 nebo x1 (pošli kroky, změř ujetou vzdálenost nebo počítej otáčky - motoru!)
Zkontroluj spojku, jestli neprokluzuje
Když promluví, tak buď kňučí, nebo lže.
Uživatelský avatar
frantajetel11
Příspěvky: 1922
Registrován: 13 lis 2008, 00:00
Bydliště: Kladno

#3 Příspěvek od frantajetel11 »

Já se jenom zeptám:
Jak máš vyřešený zvětšování průměru na cívce s přibývajícím materiálem?
Nevím jak moc je ta struna na cívce ochlazená... Při konstantních otáčkách by tu strunu víc a víc natahovala. Nebo je to už studený a je tam nějaká kluzná spojka?
Uživatelský avatar
Celeron
Příspěvky: 20537
Registrován: 02 dub 2011, 00:00
Bydliště: Nový Bydžov

#4 Příspěvek od Celeron »

Zpomalování jsem zkoušel, motor pak víc vrčí a hřeje a stejně to špatně skládá na cívku.
Závitovka je klasika z železářství, podle měrky má opravdu stoupání 1,5 mm.
Mezi krokáčem a závitovkou žádná spojka není, je tam červík na plošku hřídelky motoru, takže se protočit nemůže.
Jirka

Proč mi nemůže všechno chodit hned ?!!
masar
Příspěvky: 14460
Registrován: 03 pro 2005, 00:00

#5 Příspěvek od masar »

Myslím, že ty tvoje úvahy jsou celkem správné, ale nepíšeš, jak velká je skutečná odchylka. Obecně vzato počítáš s určitým zaokrouhlením, což by měla ošetřit synchronizace pohonu vodítka na konci vrstvy s koncovými spínači vodítka, protože počet závitů (otáček cívky) nemusí být vždy stejný (kolísání tloušťky vlákna). :wink:
p.s. Při dosažení konc. polohy by se také vodítko mělo přesunout do optimální polohy pro opačný směr ukládání závitů.
Uživatelský avatar
Celeron
Příspěvky: 20537
Registrován: 02 dub 2011, 00:00
Bydliště: Nový Bydžov

#6 Příspěvek od Celeron »

frantajetel11 píše:Já se jenom zeptám:
Jak máš vyřešený zvětšování průměru na cívce s přibývajícím materiálem?
Nevím jak moc je ta struna na cívce ochlazená... Při konstantních otáčkách by tu strunu víc a víc natahovala. Nebo je to už studený a je tam nějaká kluzná spojka?


Nijak ale nepřímo zapínáním a vypínáním motoru cívky :) Ono to navíjení je strašně pomalý, otáčka tak 5-10 sekund. Motor cívky je řízenej od toho gravitačního oblouku. Mezi dolní a horní optozávorou je cca 50 mm, po zapnutí motoru cívky na spodní optozávoře se navine asi 100 mm filamentu, gravitační oblouk sepne horní optozávoru a motor se vypne. Pak se čeká na vytlačení cca 80 mm filamentu z extrudéru a ten zase sepne dolní optozávoru a stále se to opakuje. Takže ten gravitační oblouk je vlastně takovej pružnej vyrovnávací člen. Motor navíjení cívky je hodně zpřevodován a převod je samosvorný. Regulace motoru je jen ruční, stačí nastavit aby rychlost navíjení byla asi o 1/2 rychlejší než výstup z extrudéru aby to pokrylo navíjení na minimálním a maximálním průměru cívky.
V tomhle problém není, princip používá více lidí.
https://www.youtube.com/watch?v=uWDkBzS0XFI
Ten systém s servem je ale blbost, nemůže nikdy fungovat stejně ve všech vrstvách cívky, předělal jsem ho na lineární vodítko, viz fotka v prvním příspěvku.
Problém u mě je v vodítku, který špatně rovná filament na cívku. Buď je špatně ten můj výpočet kroků k správnýmu posuvu vodítka nebo v krokáči. Proto jsem chtěl, jestli by ten výpošet někdo nezkontroloval.
Před chvílí jsem mluvil s autorem 3D tiskáren Rebel a on je problém s akcelerací té soustavy krokáč-závitovka-vodítko. Vůbec mě nenapadlo, že se krokáč musí rozbíhat postupně, pokud se mu dá přímo prda prvního celýho kroku, tak ji nemusí vykonat, což se mi asi děje. Zkusím nastavit u driveru podstatně víc mikrokroků, s nima by to dělat nemělo. Ale zase se nesmím dostat počtem kroků za maximum, co krokáč ještě umí s přijatelným kroutícím momentem vykonat.
Jdu si zase zaprogramovat. :)

edit to masar: Skutečná odchylka čeho? Jak se mi to blbě skládá? Vypadá to vodítko jede pomaleji a občas je tendence navršit hlavně u kraje víc smyček návinu na sebe odhadem tak 2-3.
Jirka

Proč mi nemůže všechno chodit hned ?!!
Uživatelský avatar
jova1
Příspěvky: 1384
Registrován: 20 pro 2007, 00:00
Bydliště: Chýnov - to je kousek od Tábora
Kontaktovat uživatele:

#7 Příspěvek od jova1 »

Výpočtově mi připadá, že to máš správně. Jak generuješ ty kroky? Já když potřebuji vytvořit 200kroků, tak musím příkazem toggle to změnit na výstupu 400x.
Jednoduše bys to ověřil pokud by jsi přepnul driver na plné kroky.
Na ztrátu kroků při rozběhu motoru bych to v tomto případě neviděl. Mohlo by se to dít při velkých otáčkách v řádu stovek za minutu. Tolik ti to zřejmě netočí
:D
Uživatelský avatar
Celeron
Příspěvky: 20537
Registrován: 02 dub 2011, 00:00
Bydliště: Nový Bydžov

#8 Příspěvek od Celeron »

Kroky se generují tak, že po zdetekování průchodu magnetu nad halovkou se spustí podprogram:

Kód: Vybrat vše

KROKAC:
   MOV   B,#HALL_PULZ      ;kolik pulzu po detekci hallu
N_STEP:
   SETB   STEP            ;pulz Step=H
   CALL   DELAY_50uS      ;trvani H
   CLR   STEP            ;pulz Step =L
   CALL   DELAY_02mS      ;trvani L
   DJNZ   B,N_STEP              ;dokud neni B=0
   RET

Delay jsou dělaný odčítáním registrů ve smyčce. Otáčení cívky a závitovky je hodně pomalý a FW to bez problému stíhá, tak jsem ani neřešil jednotlivý zpoždění přes intervenci od časovačů.
Ale zrovna v tomhle podprogramu jsem měl chybu v instrukci MOV B, zapoměl jsem dát před HALL_PULZ označení přímýho operandu # a ono se to chovalo jako nepřímá adresa a do B se cpal nesmyslný obsah adresy 187. Pak to dost blblo. :oops:
Nyní už posuv vodítka jede jak má. Odladil jsem ho na šupléru s ručním otáčením cívky. Otáčením cívky jsem vygeneroval 50 x hlášení od Hall (pro 10 otáček cívky) a měřil zda se vodítko posune o 17,5 mm. Je to divný, musel jsem místo 187, co vypadlo z výpočtu pro čtvrtkrok zadávat o 4 pulzy víc, tedy 191. Nevím proč, při krokování po instrukcích se nic neztrácí, nechápu. Ale chodí to dobře, tak to dál zkoumat nebudu.
Zítra k tomu zkusím připojit optozávory pro gravitační oblouk. Doufám, že tam nebude zakopanej nějakej další pes. Mám obavu, jestli bude stačit jen jeden snímací optotranzistor na dolní a jeden na horní závoře. Většina dává osvit dvou až tří paralelně zapojených trandů a svítí na to laserovou diodou tvaru čáry. No uvidíme.
Jirka

Proč mi nemůže všechno chodit hned ?!!
Uživatelský avatar
jova1
Příspěvky: 1384
Registrován: 20 pro 2007, 00:00
Bydliště: Chýnov - to je kousek od Tábora
Kontaktovat uživatele:

#9 Příspěvek od jova1 »

V programování se moc nevyznám, tak bych se zeptal, proč máš rozdílnou délku hodnoty L a H? domníval jsem se že by střída měla být cca 1:1.
Uživatelský avatar
Celeron
Příspěvky: 20537
Registrován: 02 dub 2011, 00:00
Bydliště: Nový Bydžov

#10 Příspěvek od Celeron »

Já to časování v podstatě oprásknul od řízení 3D tiskárny. U inteligentního Pololu DRV8825 je to asi jedno. Zkoušel jsem 1:1 až 1:50 a žádnej vliv.
1:1 muselo být pokud jsi generoval jednotlivý fáze programově přes jednoduchý drivery, ve kterých byly jen výkonový tranzistory.
Jirka

Proč mi nemůže všechno chodit hned ?!!
Uživatelský avatar
jova1
Příspěvky: 1384
Registrován: 20 pro 2007, 00:00
Bydliště: Chýnov - to je kousek od Tábora
Kontaktovat uživatele:

#11 Příspěvek od jova1 »

OK dík.
Uživatelský avatar
kbulda
Příspěvky: 1599
Registrován: 23 říj 2007, 00:00
Bydliště: u Mělníku

#12 Příspěvek od kbulda »

Proč jsi nepoužil závitovou tyč M 12 ? Ta má stoupání záviti 1,75 mm.
Uživatelský avatar
Atlan
Příspěvky: 4514
Registrován: 10 kvě 2004, 00:00
Bydliště: Košice

#13 Příspěvek od Atlan »

Nedaval by som take kratke H urovne driver sa nemusi stihnut prebudit a stratis krok. Pokial je mozne pouzivaj budenie 1:1 usetris starosti. Tak mozno cinska zavitova tyc tak troska palcovo uhla.
Uživatelský avatar
Celeron
Příspěvky: 20537
Registrován: 02 dub 2011, 00:00
Bydliště: Nový Bydžov

#14 Příspěvek od Celeron »

kbulda píše:Proč jsi nepoužil závitovou tyč M 12 ? Ta má stoupání záviti 1,75 mm.

Já vím, jenže M12 dvojtá matka s pružinovým vymezením vůle ve vodítku vycházela už hrozně veliká. Dokonce jsem chtěl použít jen zavitovku M8. Ten přepočet 1,5:1,75 tedy 1,1666 není až takovej problém.
to Atlan: jak jsem psal, střída nemá žádnej vliv. Podle datasheetu umí DRV8825 zpracovat pulzy až 1,9uS, já mám 25x delší. Ale můžu odzkoušet natáhnout H a zkrátit L.
Jdu vyzkoušet jak to bude navíjet filament ve více vrstvách, hlavně přechod u bočnice na vyšší vrstvu. Jako zdroj použiju koupenej filament na cívce a převinu ho na druhou.

edit to Atlan: zkusil jsem pulzy otočit, 50uS v L a 200uS v H a driveru je to šumák. Ale stačí těch celkových 250uS zkrátit na 200uS a krokáč už nebere. Takže pro sichr jsem to natáhl 100uS v H a 200uS v L. Pokud jsem dal obojí 200uS tak krokáč hnusně drnčí.
Jirka

Proč mi nemůže všechno chodit hned ?!!
Odpovědět

Zpět na „Poradna“