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

Enkoder Push-Pull i ATmega8535

Proteus76 02 Lut 2011 09:14 2585 7
REKLAMA
  • #1 9090905
    Proteus76
    Poziom 10  
    Witam !

    Mam do skonstruowania układ liczący długość przewody. Do zliczania liczby obrotów koła pomiarowego używam enkodera Kubler Sendix 5000 o rozdzielczości 1000 impulsów na obrót. Enkoder ma wyjście typu Push-pull i będzie zasilany napięciem 19 V (wynika to z konieczności zasilania innego urządzenia takim napięciem). Problem dotyczy podłączenia enkodera do wejścia procesora (poziom TTL). Chciałbym prosić o pomoc w wykonaniu skutecznego i bezpiecznego układu konwersji do poziomu TTL. Program obsługi jest tworzony w BASCOM-ie i dodatkowo ma wysyłać informację o pozycji enkodera na port RS oraz generować impulsy do licznika przemysłowego Kubler codix 521. Z góry dziękuję za pomoc.
  • REKLAMA
  • REKLAMA
  • #3 9091500
    Proteus76
    Poziom 10  
    piotrva napisał:
    ja bym pomyślał o transoptorze...


    Czy moglbym prosić o dokładniejsze informacje. Jestem trochę zielony jeżeli
    chodzi o transoptory.
  • REKLAMA
  • #4 9091580
    LordBlick
    VIP Zasłużony dla elektroda
    Zwyczajny tranzystor NPN (np. BC546) z rezystorem na bazie wystarczy. Tak się składa, że akurat miałem do czynienia z Sendix 8.5020.1351.0100 i temat był oparty na przerwaniu zewnętrznym (pomiar odległości i prędkości w pojeździe specjalistycznym). Masy wspólne dla obu obwodów zasilania. Schemat poniżej. Oryginalnie u mnie było standardowe"12V" z instalacji pojazdu, rezystor dla 19V to raczej powinien być coś 2.4kΩ.
    Enkoder Push-Pull i ATmega8535
  • #5 9091712
    Proteus76
    Poziom 10  
    Dziekuję za pomoc myślę że rozwiązanie z tranzystorem jest dla mnie w zupełności wystraczające. U mnie enkoder też wisi na zewnętrznym przerywaniu INT0
    procesora (kanał A) w trakcie którego czytam stan kanału B (detekcja kierunku obrotu).
  • REKLAMA
  • #6 9091738
    LordBlick
    VIP Zasłużony dla elektroda
    Nie zapomnij o chwilowych cofkach enkodera, które mogą zafałszować pomiar, tym bardziej, że masz sporo impulsów na obrót. Temat rozgryzałem w asm, więc nawet nie próbuję tu wstawiać kodu... ;)
  • #7 9095900
    Proteus76
    Poziom 10  
    Ja też do tej pory pracowałem głównie na asemblerze 8051. Ale postanowiłem przesiąść się na AVR i stąd ten nieszczęsny BASCOM. ALe już widzę że choć narzędzie jest proste to ma wiele ograniczeń. Asembler pozwala wszystko zrobić optymalnie i precyzyjnie w BASCOM-ie jest to dosyć dyskusyjne. Co masz na myśli mówiąc o "cofkach enkodera" ? W układzie który tworzę strata kilku impulsów nie powinna być problemem to zależy od skali zjawiska. Narazie mam taki problem że pomimo ustawienia wyzwalania przerywania zboczem opadającym układ dziwnie nalicza impulsy tzn. nie liczy pojedynczo lecz po kilka impulsów (narazie nie podłaczyłem enkodera tylko sprowadzam pin procesora do masy). Przy takich ustawieniach licznika w asemblerze nie bylo takich problemów.
  • #8 9101863
    LordBlick
    VIP Zasłużony dla elektroda
    Proteus76 napisał:
    Co masz na myśli mówiąc o "cofkach enkodera" ?
    Niepełny impuls przy drgającym enkoderze przy podstawowej obsłudze typu przerwanie i sprawdzanie drugiego pinu jest zaliczany, co powoduje zafałszowanie. Tutaj z grubsza rozwiązanie :
    https://www.elektroda.pl/rtvforum/topic1897657.html#9083325
REKLAMA