Tento driver ma na prvni pohled zajimavou funkci nazvanou DcStep, kdy na zaklade mereni prubehu proudu protekajiciho motorem je schopen driver zpomalit jeste pred tim nez ztrati krok. Neprovedene kroky bufferuje a az se zatizeni snizi, tak je provede. Je tam i moznost synchronizace s dalsimi drivery (osami) pomoci k tomu ucelu urcenemu vstupu/vystupu. Tak nejak by to melo fungovat, tedy pokud jsem to spravne pochopil.
Otazka zni, zkousel jste to nekdo?
Funguje to z dlouhodobeho hlediska spolehlive aspon u jednoho motoru?
A co ta synchronizace? Tohle si moc nedokazu predstavit jak by bylo udelane, driver by si musel pamatovat nejen pocet pulzu ktere ma jeste vykonat, ale i to jak postupne prichazely v case aby to spravne fungovalo. Asi by to slo nejak udelat, ale pride mi to dost narocne na pamet, tedy na pomery chipu jako driver krokoveho motoru.
Zpomaleni driveru TMC5160 pri pretizeni motoru.
Tuhle funkcionalitu jsem vyuzil u TMC2130. TMC5160 neznam, ale ta funkce se jmenuje stejne, tak snad funguje porad podobne.
Ono je tam nekolik rezimu jak to pouzivat. Ja jsem mel step/dir master a jen jednu osu s timhle driverem a bipolarnim KM, kterou jsem chtel takhle "hlidat" a vyuzit pripadne pro vyssi rychlosti.
Ten pro me nejjednodussi rezim byl ten "ctryrvodicovy" a krokovani v celem kroku. Takze po nastaveni parametru driveru (je tam aspon jeden registr pro Dcstep) to funguje normalne jako step/dir s tim, ze ten master muze tu funci zapinat a vypinat- to je primo jeden fyzicky GPIO DCEN.
. Pak je tam uz jen dalsi fyzicky GPIO jmenem DCO (snad si ta jmena vybavuju spravne), ktery ti posila flag Overload, v pripade ze ten driver uz nedokazal udelat predchozi krok, doslo k pretizeni a on motor vypnul.
Zaroven se dalo konfigurovat jak ho "vypne" atd.
Ty dalsi rezimy byly chytrejsi, ale kdyz jsem to studoval, dospel jsem k tomu, ze stejne pro narocne aplikace to neni ono a proste to neni nahrada enkoderu v closed loopu. edit> snad jsem to nedomotal, byl tam i dalsi rezim, kdy driver signalizoval ze je ready pro dalsi krok. A pak jeden , kdy TMC opravdu pocital neuskutecnene kroky tam a zpet a posilal (SPI) zpet masteru. On je pocita myslim i pro ucely te detekce hardstopu a zastaveni, ne jen pro DCstep. To musis do datasheetu a zkusit si to.
Ono je tam nekolik rezimu jak to pouzivat. Ja jsem mel step/dir master a jen jednu osu s timhle driverem a bipolarnim KM, kterou jsem chtel takhle "hlidat" a vyuzit pripadne pro vyssi rychlosti.
Ten pro me nejjednodussi rezim byl ten "ctryrvodicovy" a krokovani v celem kroku. Takze po nastaveni parametru driveru (je tam aspon jeden registr pro Dcstep) to funguje normalne jako step/dir s tim, ze ten master muze tu funci zapinat a vypinat- to je primo jeden fyzicky GPIO DCEN.
. Pak je tam uz jen dalsi fyzicky GPIO jmenem DCO (snad si ta jmena vybavuju spravne), ktery ti posila flag Overload, v pripade ze ten driver uz nedokazal udelat predchozi krok, doslo k pretizeni a on motor vypnul.
Zaroven se dalo konfigurovat jak ho "vypne" atd.
Ty dalsi rezimy byly chytrejsi, ale kdyz jsem to studoval, dospel jsem k tomu, ze stejne pro narocne aplikace to neni ono a proste to neni nahrada enkoderu v closed loopu. edit> snad jsem to nedomotal, byl tam i dalsi rezim, kdy driver signalizoval ze je ready pro dalsi krok. A pak jeden , kdy TMC opravdu pocital neuskutecnene kroky tam a zpet a posilal (SPI) zpet masteru. On je pocita myslim i pro ucely te detekce hardstopu a zastaveni, ne jen pro DCstep. To musis do datasheetu a zkusit si to.
TOS S28, DIY CNC, Holzmann ZS-40HS, Prusa Mk3s+MMU2s, Bambu X1C Combo