03-12-2017, 10:16 PM
(03-12-2017, 09:43 PM)Želja Wrote: Što se tiče očitavanja sporih spoljašnjih signala ( Tasteri, induktivni prekidači ) to se NE RADI pomoću interapta.Zeljo,
Interapti su namenjeni detekciji veoma brzih signala i to samo podizanjem flega u interaptu, a kasnije se u programu vrši obrada.
Taster i senzore treba čitati direktno iz main loop-a periodičnim pozivanjem nekog potprograma koji je tome namenjen.
izvini, ali ovo uopste nije tacno. Tastere upravo UVEK treba citati pomocu interapta. Samo na taj nacin mozes da uradis debounce, koji je neophodan. U interaptu mozes da setujes flag kada je taster aktivan, pod uslovom da je prosao debounce, a u main loop ispitujes taj flag. Ako u main-u radis i debounce, zakucavas procesor, sto nije dobro.
(03-12-2017, 09:43 PM)Želja Wrote: Neće te spasiti Šmit triger od smetnji koje se mogu javiti ( a sigurno će se javiti !)I spore i brze signale mozes uspesno da detektujes uz pomoc schmit-trigger ulaza. Samo je pitanje logike. Ti pricas o galvanskoj izolaciji. Moze RC filter da se postavi i na ulaz ST kola.
To rešavaš tako što postaviš optokapler koji otvaraš nekim senzorom ali sa Low Pass filtrom na ulazu optokaplera.
Taj filter čini predotpor optokaplera (koji već imaš) i kondenzator od koju desetinu nF (koji ćeš dodati paralelno predajnoj LED od optokaplera).
Izlazni pull-up otpor (na kolektoru tranzistora optokaplera) treba biti mali , recimo 1kohm.
Takav sklop će uspešno "odseći" smetnje i primenjuje se kod relativno sporih ulaznih signala ( tasteri, krajnji senzori ...)
dok kod brzih signala (taho generator, inkrementalni enkoder itd mora ipak malo drugačije ..)
***
Samo napred
Pozz
Sto se tice brzih signala, ista je prica kao i kod sporih, s'tim sto se onda koriste brza kola i brzi ulazi MCU-a. Nema tu prevelike filozofije. Ne treba koristiti open kolektor, vec iskljucivo totem-pole, itd.
Pozdrav