logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

W jaki sposób anulować drgania ze styków? DSM 51

marcelo123 26 Lut 2018 12:57 948 4
REKLAMA
  • #1 17065015
    marcelo123
    Poziom 8  
    Chodzi mi o programowo i sprzętowo?
  • REKLAMA
  • #2 17065063
    koczis_ws
    Poziom 27  
    Programowo najprościej przez wprowadzenie opóźnienia np. ok. 20 ms, wyzwalanego pierwszą zmianą stanu. Po opóźnieniu sprawdzasz stan wejścia i jeśli nadal jest aktywne to idziesz dalej a jeśli nie to traktujesz zdarzenie jako niebyłe.
    Sprzętowo podobnie, dodajesz jakiś filtr dolnoprzepustowy na wejściu.
  • REKLAMA
  • #3 17065074
    krzysiek_krm
    Poziom 40  
    Witam,
    sprzętowe maskowanie drgań styków wymaga zastosowania odpowiednio dobranego dolnoprzepustowego filtru RC. Wskazane jest również użycie bramki z histerezą dla uniknięcia niezdefiniowanych poziomów logicznych na wejściu procesora.
    Znacznie łatwiej oraz bez żadnych dodatkowych kosztów można zrobić to programowo. Najbardziej elegancko można zrobić to za pomocą przerwania zegarowego (dajmy na to 10 ms). W programie obsługi tego przerwania należy czytać aktualny stan styków i porównywać go ze stanem poprzednim, to znaczy odczytanym w poprzednim przerwaniu (oczywiście trzeba ten poprzedni stan pamiętać). Jeżeli oba stany są identyczne, oznacza to, że styk jest w stanie stabilnym (stabilnie zwarty lub stabilnie rozwarty). Ten stabilny stan należy skopiować do odpowiedniej zmiennej i z niej korzystać. Finalnie należy aktualny stan skopiować do poprzedniego, będzie potrzebny w następnym przerwaniu.
    Eleganckim sposobem na porównywanie stanów jest operacja ex-or.

    Pozdrawiam
  • REKLAMA
  • #5 17065233
    marcelo123
    Poziom 8  
    Ok dzięki wielkie, temat do zamknięcia
REKLAMA