počet pulsů na otáčku
Skusim ci som to pochopil, posledna rada cim viac tym lepsie je pre mna asi najpochopitelnejsia...
Mam motor Nema 34/12,5Nm closed loop (teda nie jeden ale vsetky no to asi nieje podstatne teraz) Driver HBS860H napajany na 60V. Max nastavenie pulsov tohto driveru je 51200. Nastavenia som zatial nechal ako to prislo a to ak citam spravne dip prepinace tak je 1000. Riadiaca doska je 100kHz 4 osy (neviem ci sa tych 100kHz deli medzi tie osy alebo 100kHz na kazdu).
Ak to spravne chapem tak to nastavim na 51200 a .... uvidim co bude. Momentalne nastavenie je ako som spominal 1000 pulsov, vsetko funguje hybe sa ale je tam jeden problem... stroj je nepresny a s poctom vykonanych pohybov sa nepresnost kumuluje. Podla softu (drufel) mi nikdy motory nezastavia na pozadovanej hodnote a vzdy zastavia cca 0,004-5mm skor ako je poziadavka. cize ak je v G-code poziadavka na napr. 570,280 tak zastavi motor na 570,275 alebo 570,2758 atd. Nie je to vzdy uplne rovnake to posledne desatinne cislo. Ak by sa to nescitavalo s rastucim poctom pohybov tak na presnost v tisicinach ani nemyslim....
Pisal som uz aj s rusom (drufel) a on tvrdi ze v softe by to nemalo byt, tak ma napada jedina moznost a to nastavenie drivera.
Samozrejme mechanicke casti som presiel ci nie je nieco povolene atd. Ak dam opakovat rovnaku pracu aj 3x vyzera to ze urobi tu pracu vzdy rovnako nepresne.
Skusal som aj rozbeh/dobeh zjemnit ale nepomohlo.
Skrutky su TBI 16/05 C5 - nemyslim ze tu je problem ale mozem sa mylit.
Kalibraciu som robil na dlzke meradla 500mm s presnostou 0,02mm
Mam motor Nema 34/12,5Nm closed loop (teda nie jeden ale vsetky no to asi nieje podstatne teraz) Driver HBS860H napajany na 60V. Max nastavenie pulsov tohto driveru je 51200. Nastavenia som zatial nechal ako to prislo a to ak citam spravne dip prepinace tak je 1000. Riadiaca doska je 100kHz 4 osy (neviem ci sa tych 100kHz deli medzi tie osy alebo 100kHz na kazdu).
Ak to spravne chapem tak to nastavim na 51200 a .... uvidim co bude. Momentalne nastavenie je ako som spominal 1000 pulsov, vsetko funguje hybe sa ale je tam jeden problem... stroj je nepresny a s poctom vykonanych pohybov sa nepresnost kumuluje. Podla softu (drufel) mi nikdy motory nezastavia na pozadovanej hodnote a vzdy zastavia cca 0,004-5mm skor ako je poziadavka. cize ak je v G-code poziadavka na napr. 570,280 tak zastavi motor na 570,275 alebo 570,2758 atd. Nie je to vzdy uplne rovnake to posledne desatinne cislo. Ak by sa to nescitavalo s rastucim poctom pohybov tak na presnost v tisicinach ani nemyslim....
Pisal som uz aj s rusom (drufel) a on tvrdi ze v softe by to nemalo byt, tak ma napada jedina moznost a to nastavenie drivera.
Samozrejme mechanicke casti som presiel ci nie je nieco povolene atd. Ak dam opakovat rovnaku pracu aj 3x vyzera to ze urobi tu pracu vzdy rovnako nepresne.
Skusal som aj rozbeh/dobeh zjemnit ale nepomohlo.
Skrutky su TBI 16/05 C5 - nemyslim ze tu je problem ale mozem sa mylit.
Kalibraciu som robil na dlzke meradla 500mm s presnostou 0,02mm
Analog/Digital, jaký je rozdíl? mám DQ860MA z ebay, jak poznám jestli je digitální nebo analogový? číňan uvádí v návodu "DQ860MA is a type of two-phase hybrid stepping motor driver" ale o analogu nebo digitalu jsem se nedočetl (dokonce ani důležité parametry ohledně časování signálu STEP a DIR v návodu neuvádí! ) Na zahraničním foru jsem se dočetl že by se mělo jednat o analog. Jde to na první pohled poznat že držím v ruce analog nebo digital? co vlastně dělá digitální driver digitálním a analogový analogovým?
Jako přečet jsem si celou diskuzi a fakt bych rád poradil, ale mám pocit, že vůbec nerozumím řeči ani jednoho kmene co se tu spolu baví
Chápu
Ve Tvém případě je situace ještě o trochu složitější, protože máš systém se zpětnou vazbou.
Když pominu nastavení PID regulace smyčky která má hlídat zda je motor na požadované pozici, tak ještě musí sedět počet pulzů na otáčku ze snímače na hřídeli motoru.
Jestli musí být stejný i (počet mikrokroků) x (počet kroků motoru na otáčku) to fakt nevím. To asi záleží na driveru, jestli si to umí přepočítat.
A k Tvému původnímu dotazu:
Dej tolik pulzů na otáčku co snese vstup driveru a kolik dovolí interpolátor s ohledem na mechanický převod a požadované rychlosti pohybu.
Ve Tvém případě je situace ještě o trochu složitější, protože máš systém se zpětnou vazbou.
Když pominu nastavení PID regulace smyčky která má hlídat zda je motor na požadované pozici, tak ještě musí sedět počet pulzů na otáčku ze snímače na hřídeli motoru.
Jestli musí být stejný i (počet mikrokroků) x (počet kroků motoru na otáčku) to fakt nevím. To asi záleží na driveru, jestli si to umí přepočítat.
A k Tvému původnímu dotazu:
Dej tolik pulzů na otáčku co snese vstup driveru a kolik dovolí interpolátor s ohledem na mechanický převod a požadované rychlosti pohybu.
Ještě numerická úvaha.
Těch 51200/ot je vlastně 256 mikrokroků na jeden krok motoru kterých má běžný 2F motor 200.
Mechanický převod kuličkovým šroubem máš 5mm/ot.
4osý HW intepolátor dá až 100KHz na jednu osu.
Z toho vyplývá, že maximální rychlost posunu vozíku bez dalšího mechanického zpřevodování bude: 100000/(256*200)*5*60=586mm/min.
Pokud stačí, tak dobrý, pokud ne, musíš nastavit menší počet mikrokroků.
Těch 51200/ot je vlastně 256 mikrokroků na jeden krok motoru kterých má běžný 2F motor 200.
Mechanický převod kuličkovým šroubem máš 5mm/ot.
4osý HW intepolátor dá až 100KHz na jednu osu.
Z toho vyplývá, že maximální rychlost posunu vozíku bez dalšího mechanického zpřevodování bude: 100000/(256*200)*5*60=586mm/min.
Pokud stačí, tak dobrý, pokud ne, musíš nastavit menší počet mikrokroků.
Nechci se přít, ale myslím že tazatel nemá systém se zpětnou vazbou.
Má jen pohon se zpětnou vazbou. Ta zpětná vazba se zde uzavírá v rámci driveru, takže systém s tím pohonem pracuje jako s jakýmkoli jiným. Lhostejno jestli se zpětnou vazbou nebo bez.
Jen uživatel má jistotu, že ten pohon udělá všechny požadované kroky. Nebo se o to aspoň bude ze všech sil snažit a pokud se mu to ani tak nepovede, tak vyhlásí chybu.
Jak bych to řešil, kdyby se to stalo mně:
- napřed bych zkontroloval mechaniku, jestli se mi neprotáčí spojka mezi motorem s šroubem, a zkontroloval, jestli někde něco nedrhne
- zapojil bych signály Alarm, kterými ten driver hlásí, že se mu nepovedlo dojet kam má
- případně jestli to umí nějakou diagnostiku tak ji zkusil vyčíst
Pak jsou 2 cesty - buď dělat pokusy se stávajícím systémem, nebo (podle mě lépe) zkusit jiný.
Pokud se stávajícím, tak bych sundal spojku mezi motorem a šroubem, a testoval samostatný systém s motorem.
Označil bych si fixem nebo jinak přesnou polohu hřídele a napsal si testovací G-kód, která bude s danou osou poskakovat hodinu tam a zpět o krátké i dlouhé úseky. A na konci zkontroloval, jestli je značka na hřídeli v přesně stejné poloze.
Pokud ano, tak problémy musí dělat zbytek konstrukce. Pokud ne, že to dělá pohon nebo systém.
Ale mně osobně by se víc líbila druhá cesta - zkusit použít nezáviský testovací systém.
Koupil/půjčil/vytáhl ze šuplíku bych si nějaké Arduino. Stačí nejlacinější Nano.
Do něho nasypal firmware GRBL, na PC spustil některý z nadstavbových SW (Candle, LaserGRBL, GRBLplotter atd.) a zkusil testovací G-kód s ním.
Pokud by to tady jelo OK, tak máš jistotu, že je problém v řídicím systému.
Pokud to naopak bude dělat problémy i tady, tak víš, že musíš hledat jinde.
GRBL i ty nadstavbové SW jsou free, takže nemusíš řešit žádné licenční nebo cenové problémy.
mechanicka chyba samozrejme moze byt vzdy ale dotiahnutie skrutiek som skontroloval. spojky, domce a vsetko ostatne je uplne nove/neopotrebovane, Vo vypnutom stave otocim hriadelmi prstami....zadrhavanie alebo nieco take tam urcite nie je.
Ta rychlost cca 500-600mm/min tak to by problem bol... nepotrebujem aby to lietalo ale tych cca 2000mm/minuta chcem z toho dostat.
Idem skusit nieco pomenit a zacnem s nastavenim drufelu a pulzov na zavitovku. Testovaci G-code uz mam hotovy - zistim ci to uhyba vsetkymi smermi alebo len niektorym smerom.
Dam vediet...
Ta rychlost cca 500-600mm/min tak to by problem bol... nepotrebujem aby to lietalo ale tych cca 2000mm/minuta chcem z toho dostat.
Idem skusit nieco pomenit a zacnem s nastavenim drufelu a pulzov na zavitovku. Testovaci G-code uz mam hotovy - zistim ci to uhyba vsetkymi smermi alebo len niektorym smerom.
Dam vediet...
Osobne jsem tyhle protichudne pozadavky resil u jednoho sveho stroje tak, ze jsem na prejezdy nastavil jine krokovani nez na samotny chod, takze to behalo rychleji a hladky chod zustal zachovan jen tam kde byl potreba. Ale netusim jake mas moznosti systemu na kterem ti to bezi a jestli by tohle vubec umoznoval. Pro zminenou jednoucelovou masinu jsem si psal ridici system sam, takze jsem ty rychloposuvy a jejich rampy vyladil tak, aby se minimalizovaly rezonance a behalo to co nejrychleji.
Docela by mě zajímalo, jak pozná 1000 imp enkodér ztrátu 1 kroku mikrokroku, když jich je na otáčku třeba 40000. Na driveru je standardně LEDka alarmu. Na 90 procent je nastavený chybně potřebných kroků na 1mm a klidně to tam mohla zanést kompenzace.
U krokace nema zadny vyznam resit ztratu kroku v radech mikrokroku. U bezneho krokace se v prubehu akceleraci a deceleraci poloha hridele ruzne coura v ramci nekolika kroku a vicemene neni mozne s tim nic moc udelat. Kdyz jsem psal soft na detekci ztraty kroku pomoci enkoderu, bylo krasne videt jake jsou odchylky proti ocekavane poloze a resit jednotlive kroky, natoz mikrokroky je naprosto bezpredmetne. Takze 1000imp enkoder staci na detekci ztraty kroku u krokoveho motoru s 200 kroky/ot s naprostym prehledem.