Hirdetés

Új hozzászólás Aktív témák

  • Szirty

    őstag

    válasz DP_Joci #4905 üzenetére

    Helló DP_Joci!

    Én ezt úgy csinálom, hogy amikor a hajtásnak forognia kell, akkor 100 ms-onként mintát veszek a számláló értékéből (pozícióból) és kivonom belőle az előzőleg vett minta értékét, majd veszem az eredmény abszolút értékét.
    Így megkapom az egy tized másodperc alatt megtett út nagyságát. Ha ez néhány másodpercen keresztül túl kicsi vagy túl nagy, akkor hibát jelez.
    Írtam erre egy blokkot.

    Azt kell jól kitalálni hogy milyen gyakoriságú legyen a mintavétel.
    Ha az encoder felbontása kicsi vagy az üzemszerű mozgás nagyon lassú is lehet, akkor a tized mp lehet hogy rövid. Illetve jól kell meghatározni a határértéket amin kívül hibajelzés keletkezik.

    Rosszul megválasztott értékekkel hamis hibajelzéseket ad, vagy a valós meghibásodást későn veszi észre.

    Ez észreveszi ha nem jönnek impulzusok az encoderről. Azt viszont nem feltétlenül, ha az encoder tengely és a hajtás kapcsolata elfordul egymáshoz képest (pl. eltörik az encoder kuplung, de egymáshoz ér még a két fele és hajt, de néha kihagy egy-egy kört).
    Ezzel ugyanis keletkezik működés közben egy pozíció offset, az meg géptől függően törést is okozhat.

    Lehet egy ellenőrző pontot (szenzort) tenni valahova a mozgás útjába ahol gyakran halad el. Amikor a szenzor érzékel, akkor meg kell nézni, hogy az encoder pozíció szerint is ott van-e. Ezt nyilván egy pozíció ablakkal kell vizsgálni. Ha az ablakon kívül érkezik a szenzorról impulzus, vagy az ablakon belül nem érkezik róla impulzus, akkor pozicionálási hiba van.

Új hozzászólás Aktív témák