Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino - tutorijali, pitanja, primjeri i projekti
Nasao sam jedan zanimljiv bug oko ove moje konstrukcije pa da podelim sa vama posto moze biti od koristi.

Ukratko, iskoriscen je enkoder TOKY HY38A6, klasican enkoder koji fino radi, nije ni jeftin (~50E), medjutim ima jednu malu zackoljicu, kao i vecina enkodera ima PUSH-PULL izlaz, medjutim ne ide mu skroz do apsolutne nule logicko LOW nego se iz specificnih razloga samo u jednom smeru taj nivo krece nesto oko 0.6V sto povlaci drugi problem a to je da onaj MAX14850 pocinje to da vidi kao logicko HIGH i naravno to sve onda ne radi kako treba, tacnije iza MAX nije se dobijao nikakav signal!

Prva pomisao je bila da taj njegov PUSH-PULL izlaz zbog saturacije tranzistora ne moze da zatvori skroz ka nuli, medjutim detaljnijom analizom sam dosao ustvari do drugog problema a to je opet vezano za TRANSMISIONE LINIJE, dolazi do refleksije ili preslusavanja (nisam trenutno siguran sta od ta dva, pre ce biti preslusavanje) signala unutar tog koaksialnog kabla izmedju A i B linije pa kada se okrece enkoder u jednom smeru tj onda kada su signali u kontra-fazi, ovaj HIGH signal poremeti ovog LOW i dobije se tih 0.6V! U suprotnom smeru okretanja nema tog problema na toj liniji, pojavi se na suprotnoj : )
Tih 0.6V po specifikaciji za MAX upada bas negde u threshold opseg i odatle ustvari potice problem.
Naravoucenije, obavezno prekontrolisati osciloskopom oblike i naponske nivoe i to proveriti u DS (Input Threshold Voltage, Input Logic-High Voltage, Input Logic-Low Voltage ...)!

Po prvobitnoj zamisli je isao Pull-up otpornik od 4k7 na te linije ali to nije resilo problem, resio sam tek kada sam stavio pull-down od 1k!

Dakle opet stara prica sa transmisionim linijama i ispravnom terminacijom, ovo sam empiriski "nabo" 1K otpornik, trebalo bi naci tacnu vrednost terminacije za ovaj moj slucaj (taj kabal i ta duzina).
Veoma su "brzi" signali koje generise enkoder, imaju veoma veliki rise/fall time (nevezano za brzinu okretanja osovine enkodera) i mora da se vodi racuna oko ovih stvari.
Verujem da "ozbiljniji enkoderi" od ovog imaju diferencialnu vezu za A, B i Z i verovatno nekakve kablove sa upredenim paricama.
Reply


Messages In This Thread
RE: Arduino - tutorijali, pitanja, primjeri i projekti - by mikikg - 08-31-2017, 03:10 AM

Forum Jump:


Users browsing this thread: 21 Guest(s)