dslav píše:Na první stránce tohoto vlákna mám graf kde je ta chyba serva krásnì vidìt. Mohli by jste poskytnout podobný graf pøi rychlosti +-1m/min.
Pokusim sa cez weekend toto vydolovat do grafickej podoby.
Aktualny stav mam overeny trochu inac ako grafom .. v EMC je moznost nastavit "presnost" serva .. V konfigu je premenna FERROR .. ak ju kontroler (kontroler = EMC + enkoder + v mojom pripade menic i ked tu moze byt napr. pri DC serve len mostik motora) nedodrzi, EMC shutdownne driver - zodpoveda emergency stop (ono je to komplikovanejsie .. je tam este premenna MIN_FERROR .. tato umoznuje definovat rozlicnu chybu pri pomalom a rychlom behu).
Pokial FERROR nastavim tak, aby zodpovedal rozliseniu enkodera, EMC mi shutdownne hned pri rozbehu ... ak nastavim FERROR na 2x rozlisenie enkodera bezim. Z toho usudzujem, ze sa nemozem mylit o viac ako +-1 inac by doslo k shutdownu. Pri velmi pomalej akceleracii aj nastavenie FERROR takmer na urovni rozlisenia enkodera to tiez neshutdownuje. Ladenim akceleracie a FERROR sa tocim o tom, ze cim xcem lepsiu akceleraciu tym musim pripustit vacsiu chybu v FERROR.
Zistil som, ze v principe musim vytunovat nie len PID ale aj maximalnu povolenu akcereraciu pre konkretnu os aby sa mi to spravalo bez prekmitov. Ak totiz pozadujem od serva aby zrychlilo rychlejsie ako samo o sebe dokaze (nema vacsi krutak), je zrejme, ze dojde k velkej odchylke. Normalne by to nemalo vadit, ale ako robokop popisoval meranie chyb ( kruh, stvorec, stvorec pootoceny o 45 stupnov) tam by sa to prejavilo. BTW.
Pri systemoch dir/step na serve EMC pracuje so servom ako s krokacom a vyznam premennych FERROR a MIN_FERROR je nezaujimavy (aj ked, pri netrivialnych kinematikach sa to uplatnuje, ked nahodou EMC nedokaze sledovat niektory z jointov tak ak to prekroci FERROR dojde k shutdownu).
Este stale nemam jasno ako najlepsie PID EMC-cka vytunovat v spojeni s hodnotami akceleracie, maximalnej rychlosti atd. Servo na com to skusam je 550W async motor hnany menicom ktory dostava pozadovanu frekvenciu z EMC priamo po seriovej linke zapisom do registra (ziadne probs s analogovou hodnotou teda nenastavaju). Tu este prichadza k slovu rampovanei ktore menic ma, takze ked dojde k zmene frekvencie neudeje sa to samozrejme skokom. Aj tento parameter mi hodne "babre" dynamicke vlastnosti serva.
Len pre zaujimavost co vsetko sa musi pri takom serve vyladit:
1. maximalna akceleracia pre trajektory planer
2. maximalna rychlost pre trajektory planer
3. PID (celkom 3 zlozky PID + 3x parametre FF0 az F2 pre feed forward)
4. rampa v menici
5. FERROR a MIN_FERROR
ked dobre ratam zatial je to 12 hodnot

, neratam veci ako offset PID a podobne "banalnosti". Krokace su omnoho jednoduchsie

) Zatial aj ked mi servo ide precizne (polohovo) vobec nie som spokojny so zrychlenim .. aj ked maximalka je v pohode... a toto zatial neviem doladit (skor chyba cas na babranie sa s tym). Zacinam sa dostavat k momentu, ked akceptujem vacsiu chybu ale ziskavam lepsiu akceleraciu serva. Preto ale aj hovorim, ze vyladit servo sa da na chodenie aj zastavovanie na 0 .. ale nemyslim si ze toto je ciel. Takto natunovane servo je sice mimoriadne presne ale je dynamicky hosrie ako by mohlo byt s istou povolenou chybou.