Ladění servopohonů
Napsal: 5. 3. 2019, 7:54
Hezký den,
Rád bych se podělil o své zkušenosti s laděním EasyServo. Mám motor ES-MH34120B, tedy s brzdou na driveru ES-DH2306. Instalace je primitivní a spuštění rovněž. Žádné nastavování kromě počtu mikrokroků, pokud chcete něco jiného než 1600.
Je k tomu aplikace ProTuner. Ta komunikuje přes sériový kabel, takže je potřeba redukci na USB. Anebo mít počítač se sériovým portem. Aplikace podle výrobce neběží pod Windows 10, což mohu potvrdit. Není třeba ale instalovat Windows 7, jen stačí pustit instalátor v režimu ladění. Ten nabídne verzi Windows XP SP3 a aplikaci nainstaluje. Samozřejmě jde jí nainstalovat i na běžné Windows 10, ale připojení se už nepovede. Takže "režim kompatibility"!
Propojení až na kabel z konektorem D-Sub HD44 (který chumaj to navrhnul!) je pohodová. Napájení je přímo ze sítě, takže žádné trafo. Motor má tím pádem jen 4 dráty a ty jednoduše spojíte přes zásuvku. Enkodér taktéž.
Brzda je napájena klasicky ze 24V DC zdroje. Takže stačí jí zapnout signálem Enable přes relátko na desce. Jen na to nezapomenout.
Moje sestava je následovná: PC s Windows 10 a všemi aktualizacemi, ESS SmoothyStepper a Mach 4.2. Ovládač mám z VistaCNC ten obyčejný s označením M1. Instalace stejná jako u běžného krokového motoru. Však je t taky krokový motor jen s driverem jako u serva.
Při prvním spuštění se udělá automaticky autotuning a ihned to jede. Jelikož stavím teprve druhou mašinu, vlastně první, protože ta předchozí to byla přestavba BF45ky, nevěděl jsem co od toho čekat. Tak jsem studoval návody a prosil o rady. Bohužel se nikdo nenašel, kdo by objasnil "polopatě, co ty všechny Kp, Ki, Kvff a pod znamenají, tak jsem zkoušel pokus/omyl a došel jsem k závěru, že nejlepší je nechat to na logice driveru:)
Je tam test, kdy nastavím Kp a Ki a taky proud a ono mi to vyhodí nějaký graf. Podle návodu jsem se snažil přiblížit se ideální křivce. Třeba na motoru pro X jsem to nastavil tak že Kp bylo 420 a K1 280. Proud 5A. Výsledný graf byl ideální ! tedy podle návodu žádné vibrace, perfektní zrychlení... stabilní. No tak sem udělal test 10tad dopředu a dozadu rychlosti 1500ot. a zrychlení 300rad/s (neplánuji větší rychlost než 1000ot. motoru) a měřil jsem. Výsledné chyby mi ukazovaly +30 a -40p Position Error. Nastavení limitu je od výroby 1000p. Schválně jsem to přepnul do "automatického" módu který je po autotuningu, a počet chyb se mi zmenšil na polovinu. Zvláštní, protože podle návodu by měl být ideální graf více podobný tomu mému po ručním ladění a ne tak nějak kostrbatému jako po autotuningu. Ale výsledek říká pravý opak. Asi jsem něco opět nepochopil. Každopádně pracuje to krásně potichu a podle 0,01mm hodinek na 100% přesně.
Narazil jsem však na jednu zradu a nevím kde je problém. Všechny osy jsou identické. Z má však kvůli zástavbové výšce převod HTD-8M 30mm 1:1. Řemen tedy snese daleko více než potřebují a zároveň nevyžaduj takou napínací sílu. Podle mně je napnutý tak akurát. Jenže nevím, zda je to dostatečně. Dám test kdy na 600mm výšky mi ubere 1,2mm. Přitom je nastaveno vše stejně. tedy 4000p na 5mm šroub, tedy v Machu mám 800 a rychlost 5000mm/min a zrychlení 500mm/s2. 5mm úsek mi udělá vždy přesně 4,99mm. není tak, že by byla někde vůle a pak to šlo po 5mm, prostě na libovolném místě v libovolném směru je to vždy 4,99mm. Tak mně nenapadlo nic jiného, než-li změnit počet kroku. Místo 800 jsem dal 801,6, na a světe div se, jede to přesně.
Stále ale nechápu, kde se ta chyba vzala. Jediné co mi přišlo na mysl je, že jedna řemenice je větší než druhá a tak to dělá nepřesný převod. Neměnil jsem motory, abych to vyzkoušel s jiným, ale jelikož ani na ose X ani Y tento problém nemám, a to Z-ko je pomocí ozubeného řemenu, tak mně nic jiného nenapadá.
Co si o tom myslíte? A poradí mi prosím někdo, jak velkou hodnotu na Position Error nastavit? Chápu to tak, že pokud se servu nepodaří požadovanou polohu opravit, tak má limit těch 1000 pulsů, než dá příkaz Alarm, který mi zastaví mašinu? Jo a ještě poslední věc. Alarmy mám zatím všechny spojeny za sebou a připojeny na vstup HMA, tedy home/limit pro 4. osu. Je to tak správně, nebo to raději připojit přes druhou desku do home/limit vstupů?
Díky a fajn neděli:)
Rád bych se podělil o své zkušenosti s laděním EasyServo. Mám motor ES-MH34120B, tedy s brzdou na driveru ES-DH2306. Instalace je primitivní a spuštění rovněž. Žádné nastavování kromě počtu mikrokroků, pokud chcete něco jiného než 1600.
Je k tomu aplikace ProTuner. Ta komunikuje přes sériový kabel, takže je potřeba redukci na USB. Anebo mít počítač se sériovým portem. Aplikace podle výrobce neběží pod Windows 10, což mohu potvrdit. Není třeba ale instalovat Windows 7, jen stačí pustit instalátor v režimu ladění. Ten nabídne verzi Windows XP SP3 a aplikaci nainstaluje. Samozřejmě jde jí nainstalovat i na běžné Windows 10, ale připojení se už nepovede. Takže "režim kompatibility"!
Propojení až na kabel z konektorem D-Sub HD44 (který chumaj to navrhnul!) je pohodová. Napájení je přímo ze sítě, takže žádné trafo. Motor má tím pádem jen 4 dráty a ty jednoduše spojíte přes zásuvku. Enkodér taktéž.
Brzda je napájena klasicky ze 24V DC zdroje. Takže stačí jí zapnout signálem Enable přes relátko na desce. Jen na to nezapomenout.
Moje sestava je následovná: PC s Windows 10 a všemi aktualizacemi, ESS SmoothyStepper a Mach 4.2. Ovládač mám z VistaCNC ten obyčejný s označením M1. Instalace stejná jako u běžného krokového motoru. Však je t taky krokový motor jen s driverem jako u serva.
Při prvním spuštění se udělá automaticky autotuning a ihned to jede. Jelikož stavím teprve druhou mašinu, vlastně první, protože ta předchozí to byla přestavba BF45ky, nevěděl jsem co od toho čekat. Tak jsem studoval návody a prosil o rady. Bohužel se nikdo nenašel, kdo by objasnil "polopatě, co ty všechny Kp, Ki, Kvff a pod znamenají, tak jsem zkoušel pokus/omyl a došel jsem k závěru, že nejlepší je nechat to na logice driveru:)
Je tam test, kdy nastavím Kp a Ki a taky proud a ono mi to vyhodí nějaký graf. Podle návodu jsem se snažil přiblížit se ideální křivce. Třeba na motoru pro X jsem to nastavil tak že Kp bylo 420 a K1 280. Proud 5A. Výsledný graf byl ideální ! tedy podle návodu žádné vibrace, perfektní zrychlení... stabilní. No tak sem udělal test 10tad dopředu a dozadu rychlosti 1500ot. a zrychlení 300rad/s (neplánuji větší rychlost než 1000ot. motoru) a měřil jsem. Výsledné chyby mi ukazovaly +30 a -40p Position Error. Nastavení limitu je od výroby 1000p. Schválně jsem to přepnul do "automatického" módu který je po autotuningu, a počet chyb se mi zmenšil na polovinu. Zvláštní, protože podle návodu by měl být ideální graf více podobný tomu mému po ručním ladění a ne tak nějak kostrbatému jako po autotuningu. Ale výsledek říká pravý opak. Asi jsem něco opět nepochopil. Každopádně pracuje to krásně potichu a podle 0,01mm hodinek na 100% přesně.
Narazil jsem však na jednu zradu a nevím kde je problém. Všechny osy jsou identické. Z má však kvůli zástavbové výšce převod HTD-8M 30mm 1:1. Řemen tedy snese daleko více než potřebují a zároveň nevyžaduj takou napínací sílu. Podle mně je napnutý tak akurát. Jenže nevím, zda je to dostatečně. Dám test kdy na 600mm výšky mi ubere 1,2mm. Přitom je nastaveno vše stejně. tedy 4000p na 5mm šroub, tedy v Machu mám 800 a rychlost 5000mm/min a zrychlení 500mm/s2. 5mm úsek mi udělá vždy přesně 4,99mm. není tak, že by byla někde vůle a pak to šlo po 5mm, prostě na libovolném místě v libovolném směru je to vždy 4,99mm. Tak mně nenapadlo nic jiného, než-li změnit počet kroku. Místo 800 jsem dal 801,6, na a světe div se, jede to přesně.
Stále ale nechápu, kde se ta chyba vzala. Jediné co mi přišlo na mysl je, že jedna řemenice je větší než druhá a tak to dělá nepřesný převod. Neměnil jsem motory, abych to vyzkoušel s jiným, ale jelikož ani na ose X ani Y tento problém nemám, a to Z-ko je pomocí ozubeného řemenu, tak mně nic jiného nenapadá.
Co si o tom myslíte? A poradí mi prosím někdo, jak velkou hodnotu na Position Error nastavit? Chápu to tak, že pokud se servu nepodaří požadovanou polohu opravit, tak má limit těch 1000 pulsů, než dá příkaz Alarm, který mi zastaví mašinu? Jo a ještě poslední věc. Alarmy mám zatím všechny spojeny za sebou a připojeny na vstup HMA, tedy home/limit pro 4. osu. Je to tak správně, nebo to raději připojit přes druhou desku do home/limit vstupů?
Díky a fajn neděli:)