Latency Test a hardware

Avenger
Příspěvky: 382
Registrován: 19. 10. 2006, 8:41
Bydliště: Litoměřice

12. 1. 2009, 11:06

Jaké máte hodnoty z "latency-test" při spuštěném "glxgears" na svém hardware pro EMC2?
Nejdříve spusťte "glxgears" a k tomu "latency-test". Dle dokumentace by se to mělo testovat po dobu několika minut, ale u některých intel čipsetů se může stát, že jednou za cca minutu se objeví velký Jitter, ale ten není podstatný pro funkci a platí poslední max. ustálená hodnota.

Obrázek

CPU: ????
Základní deska: ???? (případně typ a výrobce notebooku)
Paměť: ????
Ostatní HW: ???? (přídavné karty, HDD, ...)
Max Interval (1.0 ms thread): ????
Max Jitter(ns) 1.0 ms thread: ????
Max Interval (25 us thread) : ????
Max Jitter (25 us thread): ????
Poznámky: ???? (třeba co nastavit v biosu a podobně)

Třeba to pomůže i ostatním při volbě hardware pro dosažení nejlepších výsledků s EMC2 k řízení krokových motorů a servo motorů.

Hodnoty do 20000ns znamenají, že je se PC velice dobře hodí pro řízení CNC, hodnoty do 50000ns že se dá PC použít pro řízení CNC, ale nedosáhne maximálních hodnot při generování kroků (potřebných pro microstepping a šrouby s malým stoupáním), hodnoty vyšší už znamenají, že PC není vhodné pro ovládání CNC.

Vypnutím nepotřebných integrovaných periférií na základní desce se dá pomoci lepším výsledkům.
Naposledy upravil(a) Avenger dne 12. 1. 2009, 6:56, celkem upraveno 2 x.
k
Příspěvky: 814
Registrován: 12. 8. 2008, 12:00
Bydliště: Kosice SK

12. 1. 2009, 11:46

dostal som sa na jednej neznackovej doske k 9us.. na HP-cku "kancelarskej masine" cca 12us. Realne bezim na 20us Na notase 11us ale obcasne 200ms :) .. takze nepouzitelne. Zoznam HW podla lat. testu je niekde na www.linuxcnc.org .. a nema zmysel ho tu suplovat. Zo zdrojakov jadra EMC je zrejme, ze base thread sa pouziva ako zakladne casovanie.. t.j. pri 25us sa da ist na 40kHz krokovanie . ale to nie je vsetko.. Najlepsi nizsi krok je potom 2x base period .. a to znamena ze uz idete len na 20kHz. Nie kazdy motor z driverom znesie akceleraciu z povedzme 20 na 40kHz .. (medzihodnota z principu neexistuje.. ) Pri nizsich frekvenciach samozrejme uz probs klesa, 40kHz mozete totiz delit 3x a mate potom nizsiu frekvenciu 13kHz a z nej zmena na 20kHz uz nie je taky probs. Prv ako zacnete EMC tunovat je lepsie povedat si ake ma parametre vas motor .. t.j. kolko znesie akceleraciu a kolko naozaj maximalny pocet krokov. volit v istych pripadoch horsiu hodnotu base thread je lepsie. Pokial idete na servach je toto daleko mensi probs.
sejosef
Příspěvky: 124
Registrován: 17. 2. 2008, 2:16
Bydliště: Votice

12. 1. 2009, 5:52

k píše:dostal som sa na jednej neznackovej doske k 9us.. na HP-cku "kancelarskej masine" cca 12us. Realne bezim na 20us Na notase 11us ale obcasne 200ms :) .. takze nepouzitelne. Zoznam HW podla lat. testu je niekde na www.linuxcnc.org .. a nema zmysel ho tu suplovat. Zo zdrojakov jadra EMC je zrejme, ze base thread sa pouziva ako zakladne casovanie.. t.j. pri 25us sa da ist na 40kHz krokovanie . ale to nie je vsetko.. Najlepsi nizsi krok je potom 2x base period .. a to znamena ze uz idete len na 20kHz. Nie kazdy motor z driverom znesie akceleraciu z povedzme 20 na 40kHz .. (medzihodnota z principu neexistuje.. ) Pri nizsich frekvenciach samozrejme uz probs klesa, 40kHz mozete totiz delit 3x a mate potom nizsiu frekvenciu 13kHz a z nej zmena na 20kHz uz nie je taky probs. Prv ako zacnete EMC tunovat je lepsie povedat si ake ma parametre vas motor .. t.j. kolko znesie akceleraciu a kolko naozaj maximalny pocet krokov. volit v istych pripadoch horsiu hodnotu base thread je lepsie. Pokial idete na servach je toto daleko mensi probs.
Ujišťuji tě že mezihodnota není žádný problém.
Avenger
Příspěvky: 382
Registrován: 19. 10. 2006, 8:41
Bydliště: Litoměřice

12. 1. 2009, 6:38

k píše:dostal som sa na jednej neznackovej doske k 9us.. na HP-cku "kancelarskej masine" cca 12us. Realne bezim na 20us Na notase 11us ale obcasne 200ms :) .. takze nepouzitelne. Zoznam HW podla lat. testu je niekde na www.linuxcnc.org .. a nema zmysel ho tu suplovat. Zo zdrojakov jadra EMC je zrejme, ze base thread sa pouziva ako zakladne casovanie.. t.j. pri 25us sa da ist na 40kHz krokovanie . ale to nie je vsetko.. Najlepsi nizsi krok je potom 2x base period .. a to znamena ze uz idete len na 20kHz. Nie kazdy motor z driverom znesie akceleraciu z povedzme 20 na 40kHz .. (medzihodnota z principu neexistuje.. ) Pri nizsich frekvenciach samozrejme uz probs klesa, 40kHz mozete totiz delit 3x a mate potom nizsiu frekvenciu 13kHz a z nej zmena na 20kHz uz nie je taky probs. Prv ako zacnete EMC tunovat je lepsie povedat si ake ma parametre vas motor .. t.j. kolko znesie akceleraciu a kolko naozaj maximalny pocet krokov. volit v istych pripadoch horsiu hodnotu base thread je lepsie. Pokial idete na servach je toto daleko mensi probs.
Už jsem nějakou tu DB HW našel http://wiki.linuxcnc.org/cgi-bin/emcinf ... tency-Test Jinak mě docela potěšilo, že slušně jede Intel D945GCLF2 mini-ITX http://www.intel.com/products/desktop/m ... erview.htm s Intel Atom 330 2x 1.6Ghz.
Avenger
Příspěvky: 382
Registrován: 19. 10. 2006, 8:41
Bydliště: Litoměřice

12. 1. 2009, 6:49

Jinak doplním 2 kousky:
CPU: Intel Pentium III 1GHz
Základní deska: Notebook Fujitsu-Siemens C Series LIFEBOOK
Paměť: 256MB
Ostatní HW: HDD 20GB
Max Interval (1.0 ms thread): 1021174
Max Jitter(ns) 1.0 ms thread: 24669
Max Interval (25 us thread) : 47461
Max Jitter (25 us thread): 23771
Poznámky: občas vyskočí Max Jitter (25 us thread) i nad 100000, nejde nainstalovat EMC2 s Ubuntu 8.04, tak používám verzi 6.06

CPU: Intel CELERON MMX 333MHz
Základní deska: MSI MS-6147
Paměť: 256MB
Ostatní HW: HDD 4,3GB
Max Interval (1.0 ms thread): 1018767
Max Jitter(ns) 1.0 ms thread: 24138
Max Interval (25 us thread) : 41828
Max Jitter (25 us thread): 17623
Poznámky: nutno vypnout integrovanou zvukovku, lze nainstalovat EMC2 s Ubuntu 8.04
Naposledy upravil(a) Avenger dne 13. 1. 2009, 7:25, celkem upraveno 1 x.
k
Příspěvky: 814
Registrován: 12. 8. 2008, 12:00
Bydliště: Kosice SK

13. 1. 2009, 6:19

sejosef píše:
k píše:dostal som sa na jednej neznackovej doske k 9us.. na HP-cku "kancelarskej masine" cca 12us. Realne bezim na 20us Na notase 11us ale obcasne 200ms :) .. takze nepouzitelne. Zoznam HW podla lat. testu je niekde na www.linuxcnc.org .. a nema zmysel ho tu suplovat. Zo zdrojakov jadra EMC je zrejme, ze base thread sa pouziva ako zakladne casovanie.. t.j. pri 25us sa da ist na 40kHz krokovanie . ale to nie je vsetko.. Najlepsi nizsi krok je potom 2x base period .. a to znamena ze uz idete len na 20kHz. Nie kazdy motor z driverom znesie akceleraciu z povedzme 20 na 40kHz .. (medzihodnota z principu neexistuje.. ) Pri nizsich frekvenciach samozrejme uz probs klesa, 40kHz mozete totiz delit 3x a mate potom nizsiu frekvenciu 13kHz a z nej zmena na 20kHz uz nie je taky probs. Prv ako zacnete EMC tunovat je lepsie povedat si ake ma parametre vas motor .. t.j. kolko znesie akceleraciu a kolko naozaj maximalny pocet krokov. volit v istych pripadoch horsiu hodnotu base thread je lepsie. Pokial idete na servach je toto daleko mensi probs.
Ujiš
sejosef
Příspěvky: 124
Registrován: 17. 2. 2008, 2:16
Bydliště: Votice

13. 1. 2009, 7:36

pro "k":
On ten skok nemá takové následky, jaké si představuješ protože nikdy není proveden skok aniž by se pulz třebas ještě třikrát nevrátil na původní periodu. Průměrově to dá nějaký mezikmitočet a díky tomu že motor má nějakou setrvačnost a elektronika driveru nějaké zpoždění tak se jeví tento skok jako skutečná plynulá změna frekvence. Jinak by nešlo například nastavit nějakou maximální frekvenci motoru plynule ale pouze ve skocích (40, 20, 10, ... kHz). Jinak skok z 20 na 40 nezvládne asi žádný motor. Naopak čím vyšší frekvence tím je "skok" potřeba menší pro spolehlivý rozběh. Podle toho co píšeš, by ani EMC ani Mach nešel s krokovými motory použít. Samozřejmě časovač v PC se dá programově nastavit na různé periody, ale Mach i EMC používá pevné taktování a mezikmitočtů dosahuje výše popsaným způsobem.
k
Příspěvky: 814
Registrován: 12. 8. 2008, 12:00
Bydliště: Kosice SK

13. 1. 2009, 7:45

sejosef píše:pro "k":
On ten skok nemá takové následky, jaké si pøedstavuješ protože nikdy není proveden skok aniž by se pulz tøebas ještì tøikrát nevrátil na pùvodní periodu. Prùmìrovì to dá nìjaký mezikmitoèet a díky tomu že motor má nìjakou setrvaènost a elektronika driveru nìjaké zpoždìní tak se jeví tento skok jako skuteèná plynulá zmìna frekvence. Jinak by nešlo napøíklad nastavit nìjakou maximální frekvenci motoru plynule ale pouze ve skocích (40, 20, 10, ... kHz). Jinak skok z 20 na 40 nezvládne asi žádný motor. Naopak èím vyšší frekvence tím je "skok" potøeba menší pro spolehlivý rozbìh. Podle toho co píšeš, by ani EMC ani Mach nešel s krokovými motory použít. Samozøejmì èasovaè v PC se dá programovì nastavit na rùzné periody, ale Mach i EMC používá pevné taktování a mezikmitoètù dosahuje výše popsaným zpùsobem.
Pozriet si zdrojak . u machu to je ina vec .. asi sa k nemu nedostanete ale EMC to riesi tak ako pisem, t.j. spusti base thread povedzme 40kHz a v tomto bud spravi alebo nespravi v kazdom prechode threadu krok .. a moze spravit krok 40kHz .. 20kHz, 13kHz a potom stale jemnejsie a jemnejsie. Z 20 na 40 Hz ide uz po velmi jemnych krokoch (40kHz/40Hz vychadza na delitel 1000 a pri 20Hz je delitel 2000 t.j. z 20 na 40HZ vie preist v 1000 krokoch co je uplne jemne.. Pri 40kHz a 20 kHz to uz tak jednoduche nie je ..
Avenger
Příspěvky: 382
Registrován: 19. 10. 2006, 8:41
Bydliště: Litoměřice

13. 1. 2009, 8:42

Já abych se přiznal tak nevím přesně o co jde s těma frekvencema jak popisuješ, tak do toho zase nevidím.
Já měl za to, že zadám v konfiguraci base period získaný z latency-test, minimální délku step pulzu, minimální mezeru mezi step pulzy (20us u profistepu), nastavím hodnoty pro dir a z toho vidím, že například moje PC zvládne generovat maximálně 28k kroků/s (profistep prý zvládne až 65k), dále nastavím vstupy a výstupy portu a jdu konfigurovat jednotlivé osy. Tam nastavím počet celokroků na otáčku pro daný typ motoru, počet mikrokroků které jsem nastavil na driveru, poměr převodů 1:1 protože mám KM napřímo, stoupání šroubu v mém případě 1mm/ot, maximální dosažitelnou rychlost KM mm/s, maximální zrychlení KM mm/s2 a tím jsem myslel, že končím co se základní konfigurace motorů týče. Pak už můžu jen ladit.

Zatím to testuju na nějakých slabých prastarých KM co zvládají maximálně 1800ot/min (30mm/s na šroubu 1mm/ot) a zrychlení 20mm/s2.
Momentálně stojím před výběrem vhodných KM pro mou aplikaci a pro můj mini CNC strojek by měly bohatě postačit KM s momentem kolem 2Nm (výrobce sám osazuje 1.2Nm). Takový motor by měl být dle mnou prozkoumaných ds dosáhnout při 3000ot/min momentu 0.4Nm což by mělo snad stačit pro rychloposuvy (50mm/s).
Problém ale je, že já nejsem schopen s HW co mám k dispozici dosáhnout tak velkých frekvencí abych s mikrokrokováním alespoň 4 na šroubu se stoupáním 1mm/ot dosáhl maximálních otáček. Na to bych potřeboval dosáhnout alespoň 40kHz krokování jestli počítám dobře (50x200x4), nebo prostě slevit z jiných parametrů (jen 2 mikrokroky, budoucí upgrade na kuličkový šroub s větším stoupáním jestli tak malý seženu, řemenový převod 1:2, snížím požadavky na rychlosti posuvů).
k
Příspěvky: 814
Registrován: 12. 8. 2008, 12:00
Bydliště: Kosice SK

13. 1. 2009, 9:13

no vyskusam to popisat na priklade: predstavte si ze 10x za 1 sekundu mozete spravit nejaku akciu. Takze povedzme akcia je spravenie 1 krok. vysledkom je, ze spravime 10 krokov za 1 sec.

Skusime 1 krok za 1 sec .. t.j. spravime krok, potom 9 akcii vynechame a zas spravime krok .. vysledkom je ze krok nastane prace 1x za sekundu.

Dalej . ak kazdu druhu akciu vynechame dostaneme 5 krokov sa 1 sec. Ale kolko akcii mame vynechat pre povedzme 8 krokov za 1 sec ? nevieme vynechat 0.3 alebo 0.7 akcie .. vieme vynechat prave len cele cislo.

Z toho dovodu je potrebna vysoka frekvencia base period aby sa dalo plynule menit z frekvencie na frekvenciu. AK mame povedzme 10kHz hodiny a xceme 8 krokov sa 1 sec uz nemame problem pretoze 10000/8 proste spravime krok a potom dalsich 1249 akcii vynechame.

Ak by sme vynechali 1248 akcii .. tak dostaneme frekvenciu 8.0064 HZ co je perfektny jemny krok frekvencii. Ale zas skuste vygenerovat pri 10kHz hodinach 7kHz krok .. neda sa vynechavat deatinna cast akcii.

Existuje aj iny sposob ratania frekvencii .. napr .. prvu akciu dame krok, potom srok nespravime a teraz spravime 2 kroky .. potom zas vynechame a zas 2 kroky .. ale to je na krokovy motor priam pohroma .. okamzite zacna "skubat" a na obrabanie je to nepouzitelne.

Vysledkom je, ze soft ak hovori ze vie povedzme 50kHz krok. tak este to nic nehovori co to naozaj dokaze pri konkretnej nastavenej akceleracii ( spravne by soft mal porovnat skok napr z 25kHz na 50kHz a ak to akceleracia nastavena uzivatelom nedovoli zmenit tak ostane len na 25kHz).

Cim vyssia je base period tym vyssie frekvencie sa daju prechadzat pomerne plynule, bez vacsich skokov a tym padom pri nizsej akceleracii.

Je dolezite teda pre svoj stroj a nastavit dostatocne vhodne akceleracie. to uz je ozaj tunovanie.. a xce to vela casu. dlho som s hodinkami na stroji skusal opakovany najazd na nich a menil som akceleraciu. Nie vsetko je maximalna rychlost .. (ono vam to nebude vadit vzdy .. ale pokial pozadujete od EMC aby siel uplne precizne v G64 mode .. (nie G64 s P parametrom) tak zistite ze to uz je dost narocne.

Dolezite to je napr pri rezacke EPS, kde exact stop mod pri horucom drote spravi nepekne skoky pri rezani. G64 je riesenim .. ale pokial nedovolite velke akceleracie tak sa tam drot stejne spomaluje a reze sirsiu drazku. A posledna verzia G64 s P parametrom (dovolena tolerancia) je tiez dost narocna na dotunovanie akceleracie ale aj na zvolenie vhodneho P parametru .. kolko dovolite stroju zaokruhlovat drahu.


Netusim ako sa napr mach spava pri G61 a G64 nakolko som to s nim nikdy neskusal. Podobne ine softy .. Ak sa s tym niekto zoberal, mile rad si s nim vymenim skusenosti.
Uživatelský avatar
CZ_Pascal
Příspěvky: 884
Registrován: 14. 1. 2008, 8:24
Bydliště: Brno

13. 1. 2009, 9:33

sejosef píše:pro "k":
On ten skok nemá takové následky, jaké si představuješ protože nikdy není proveden skok aniž by se pulz třebas ještě třikrát nevrátil na původní periodu. Průměrově to dá nějaký mezikmitočet a díky tomu že motor má nějakou setrvačnost a elektronika driveru nějaké zpoždění tak se jeví tento skok jako skutečná plynulá změna frekvence. Jinak by nešlo například nastavit nějakou maximální frekvenci motoru plynule ale pouze ve skocích (40, 20, 10, ... kHz). Jinak skok z 20 na 40 nezvládne asi žádný motor. Naopak čím vyšší frekvence tím je "skok" potřeba menší pro spolehlivý rozběh. Podle toho co píšeš, by ani EMC ani Mach nešel s krokovými motory použít. Samozřejmě časovač v PC se dá programově nastavit na různé periody, ale Mach i EMC používá pevné taktování a mezikmitočtů dosahuje výše popsaným způsobem.
A tenhle zpusob ovladani me pri ladeni meho driveru na MACHu poradne proskolil. Pri implementaci zmneny MKK na zaklade mereni rychlosti (tedy intervalu mezi jednotlivymi pulzy) jsem byl hoodne prekvapeny jaky "svinstvo" tam MACH pousti. Moc jsem o tom neuvazoval a myslel jsem si ze je to dany tim ze nestiha pocitac opravdu presne generovat zakladni kmitocet a proto ze ani intervaly mezi jednotlivymi kroky nejsou konstantni pri konstantni rychlosti. On tam opravdu ma ty intervaly ruzne dlouhe aby to v prumeru dalo pozadovanou rychlost. Myslel jsem si ze to spravi mala hystereze, ale ta hystereze musela byt poradna protoze intervaly mezi jednotlivimy pulzy "litaji" klidne o 50procent (mozna vic nemeril jsem to).
k
Příspěvky: 814
Registrován: 12. 8. 2008, 12:00
Bydliště: Kosice SK

13. 1. 2009, 9:52

Dobry riadiaci system pusta pri konstantnej rychlosti stale tu istu frekvenciu do driveru. Inac motor "spieva". Je to naozaj rozdiel pocut ked stroj ide na precizne generovanej frekvencii a ked motor "priblizne" ide na rovnakej frekvneii (t.j. tato je dodrziavana +- nejaku hodnotu ale v priemere je to ta nastavena ) Ziadne "doladovanie" na urovni HW tomu uz nepomoze.
Pupik
Příspěvky: 248
Registrován: 7. 12. 2008, 6:09
Bydliště: Ostrava
Kontaktovat uživatele:

19. 1. 2009, 7:00

For k: Principy deleni kroku casovacem jsem jeste nestudoval( brzy budu ;) ), ale frezka (4osy) mi jezdi 7,5m/min(x,y,z). Na krokovych motorech s delenim 2000kr./1ot, srouby 5mm stoupani, 400kr/1mm, 1kr. - 0.0025 (cca50kHz) Zrychleni 1000mm/s/s Deska Intel mATX D945GCLF2 (nic moc vyvedena pro Linux + EMC, dalsi bych si asi nekoupil)
Podstatne je, ze diskutovana rychlost F jde volit plynule od F0.1mm v celem rozsahu 0.1-7500 a dynamika obrabeni (G64P...)je spickova (nema chybu) na rozdil od Machu kde jsem po 3 mesicich trapeni definitivne rezignoval! (od LPT driveru az po slavny GRex)
Zde nikdy zadna ztrata kroku!, mozna lehky hluk v rychloposuvu zpusobeny nepatrou nestejnorodosti casu v krocich, ale pro vysledek plne funkcni pro spolehlive obrabeni.
EMC je zlaty! :)
Dekuji timto vsem spolutvurcum!
k
Příspěvky: 814
Registrován: 12. 8. 2008, 12:00
Bydliště: Kosice SK

19. 1. 2009, 7:20

Podobne s EMC nemam probs ale ten skok z 25kHz na 50kHz mi spavi probs pri zatazi . (bez zataze je ok). Je mi jasne, ze problemom je prave to, ze idem uz na pomerne vysokych otackach a krutiaci moment krokaca ide uz dole. I ked som povodne planoval este silnejsi krokac pojdem radsej do serva. Akurat laborujem s HAL-om nakolko X,Y pojdem nadalej na krokacoch a Z pojde na servo. Pokusna A os ostava na krokaci, B os zatial manual :-(
Uživatelský avatar
RadekCX
Příspěvky: 622
Registrován: 14. 7. 2006, 10:12
Bydliště: Č.Budějovice
Kontaktovat uživatele:

19. 1. 2009, 8:48

Avenger píše:Já abych se přiznal tak nevím přesně o co jde s těma frekvencema jak popisuješ, tak do toho zase nevidím.
Já měl za to, že zadám v konfiguraci base period získaný z latency-test, minimální délku step pulzu, minimální mezeru mezi step pulzy (20us u profistepu), nastavím hodnoty pro dir a z toho vidím, že například moje PC zvládne generovat maximálně 28k kroků/s (profistep prý zvládne až 65k), dále nastavím vstupy a výstupy portu a jdu konfigurovat jednotlivé osy. Tam nastavím počet celokroků na otáčku pro daný typ motoru, počet mikrokroků které jsem nastavil na driveru, poměr převodů 1:1 protože mám KM napřímo, stoupání šroubu v mém případě 1mm/ot, maximální dosažitelnou rychlost KM mm/s, maximální zrychlení KM mm/s2 a tím jsem myslel, že končím co se základní konfigurace motorů týče. Pak už můžu jen ladit.
no tohle je ten problem na ktery jsem narazil v okamziku, kdy jsem na profistepu chtel vylepsovat FW - jakekoliv dalsi vylepseni zere cas obsluhy kroku a rychle pada maximalni frekvence na vstupu - to nestejne generovani pulzu (nedrzi se stejna roztec pulzu pri konstatnim F) pak silne omezuje jakykoliv rozlet - nema smysl ani delat nejake predikce akcelerace a menit nastaveni driveru - protoze je to vsechno na vode

proste vsechny tyhle PC ridici systemy jsou vice ci mene na ... ten rozdil kdyz si driver pripojite na generator je jasne slyset
RadekCX
======================================================================
http://www.cncnet.info - problematika CNC a automatizace
http://www.jakjevenku.info - webová meteostanice
Odpovědět

Zpět na „LinuxCNC - drive pod nazvem EMC2“