PCF8583 jako čítač impulsů
Moderátor: Moderátoři
PCF8583 jako čítač impulsů
Ahoj,
mám problém s konstrukcí, kde používám PCF8583 jako čítač impulsů...
Zapojení je v podstatě katalogové, místo krystalu mám magnetický spínač (takové to co sepne při přiblížení magnetu) a pull-up rezistor. SW část zapojení funguje, problém je se zákmity na spínači. Registruji vždy 1-4 pulsy na jedno sepnutí (celkem náhodně).
Zkoušel jsem to omezit pomocí RC členu, ale dostal jsem se pouze do stavu, kdy se to asi celé rozkmitalo, takže jsem získal násobně více pulsů (cca 250 až 900 v závislosti na hodnotách R a C, počet samozřejmě náhodný ve velkém rozmezí). Potřebuji snímat pulsy maximálně desítka za sekundu, spíše budou ale velmi řídké (miskový srážkoměr).
Nemám k dispozici osciloskop, abych se podíval, co se děje na vstupu.
Dále mne napadlo použít hallův spínač, problém je v napájení -- 3.3V, nenašel jsem žádný, který by fungoval při tomto napětí -- poradíte, prosím?
Dále mne napadlo zařadit mezi spínač s RC optočlen, žádný jsem ale v šuplíku nenašel -- má to cenu zkoušet?
Děkuji za rady...
mám problém s konstrukcí, kde používám PCF8583 jako čítač impulsů...
Zapojení je v podstatě katalogové, místo krystalu mám magnetický spínač (takové to co sepne při přiblížení magnetu) a pull-up rezistor. SW část zapojení funguje, problém je se zákmity na spínači. Registruji vždy 1-4 pulsy na jedno sepnutí (celkem náhodně).
Zkoušel jsem to omezit pomocí RC členu, ale dostal jsem se pouze do stavu, kdy se to asi celé rozkmitalo, takže jsem získal násobně více pulsů (cca 250 až 900 v závislosti na hodnotách R a C, počet samozřejmě náhodný ve velkém rozmezí). Potřebuji snímat pulsy maximálně desítka za sekundu, spíše budou ale velmi řídké (miskový srážkoměr).
Nemám k dispozici osciloskop, abych se podíval, co se děje na vstupu.
Dále mne napadlo použít hallův spínač, problém je v napájení -- 3.3V, nenašel jsem žádný, který by fungoval při tomto napětí -- poradíte, prosím?
Dále mne napadlo zařadit mezi spínač s RC optočlen, žádný jsem ale v šuplíku nenašel -- má to cenu zkoušet?
Děkuji za rady...
Ten krystal není u mikrořadiče jako čidlo, ten tam slouží jako zdroj taktovacího signálu pro interní bloky a řídí vlastně rychlost běhu vlastního programu. Krystal dej kam patří, případně na jeden z vývodů pro něj (kterej, to najdeš v datasheetu) připoj vnější přesnější oscilátor a jako čidlo použij třeba piezoelement z nějaký hračky, napojenej na jedno- až dvoutranzistorovej zesilovací a omezovací stupeň, kterej ti z pádu kapky učuní krásnej obdélníkovej impuls, normálně zpracovatelnej mikrořadičem.
Nasliněný prst na svorkovnici domovního rozvaděče: Jó, paninko, máte tam ty Voltíky všecky...
A kutilmile - nelituju tě !!!
A kutilmile - nelituju tě !!!
Děkuji, že jste si to srovnali a teď bych poprosil...
Je to tak, jak jste postupně pochopili... Zákmity na spínači jsou problém. Pokud jsem přidal RC obvod proti zákmitům (http://www.eng.utah.edu/~cs5780/debouncing.pdf, strana 13 a 16), tak znikly oscilace na vstupu (jinak si množství pulsů nedovedu vysvětlit).
Máte nějakou radu jak vyčistit ty zákmity? Rád bych nějaké jednoduché řešení... Ještě mne napadlo dát tam 555, ale ta pracuje podle katalogu od 4.5V, což já jsem limitován 3.3V (potřebuji na stejnou I2C připojit i zařízení, které 5V nedá, vést dvě napájení by opět byl problém).
Děkuji za rady...
Edit:
Milan: SKO jsem nedával -- doporučíš nějaký na 3.3V, jazýček je připojen přes krátké vodiče (cca 5cm) z kroucené dvojlinky, tam by se toho nemuselo moc nachytat.
Je to tak, jak jste postupně pochopili... Zákmity na spínači jsou problém. Pokud jsem přidal RC obvod proti zákmitům (http://www.eng.utah.edu/~cs5780/debouncing.pdf, strana 13 a 16), tak znikly oscilace na vstupu (jinak si množství pulsů nedovedu vysvětlit).
Máte nějakou radu jak vyčistit ty zákmity? Rád bych nějaké jednoduché řešení... Ještě mne napadlo dát tam 555, ale ta pracuje podle katalogu od 4.5V, což já jsem limitován 3.3V (potřebuji na stejnou I2C připojit i zařízení, které 5V nedá, vést dvě napájení by opět byl problém).
Děkuji za rady...
Edit:
Milan: SKO jsem nedával -- doporučíš nějaký na 3.3V, jazýček je připojen přes krátké vodiče (cca 5cm) z kroucené dvojlinky, tam by se toho nemuselo moc nachytat.
EKKAR píše:Jo, mohlo by to fungovat - ale musí to bejt čistej impuls ošetřenej proti zákmitům - což jak zjevně vidno, nemá.
Naposledy upravil(a) mhepp dne 16 srp 2017, 14:52, celkem upraveno 1 x.
Jestli je tam skutečně pouze kmitající kontakt, tak by mohlo pomoci následující zapojení.
- Přílohy
-
- impuls.jpg
- (39 KiB) Staženo 180 x
Jirka
Oscilace při připojení rc členu ti vznikají zřejmě proto, protože ten vstup není "logický", ale v určité části lineární a zesilující ,jak jinak také u oscilátoru. SKO tam vnutí jen úrovně 0 a 1 a tudíž tu lineární oblast při změně stavu "přeskočí ". Můžeš použít třeba hradlo z 4093 , raději nic rychlého jako HC, HCT ap . - ty ne. Prostě tento vstup procesoru není sám o sobě vhodný ke zpracování analogového signálu a musíš mu jej proto tím SKO "předžvýkat" . Řada procesorů má na regulerních vstupech ten SKO již uvnitř a pak to funguje bez problémů .
K podobnému závěru jsem došel také, ale mé znalosti jsou v tomto směru velice povrchní, už jsem z toho opravdu vypadl. Poznámka o rychlých hradlech je docela důležitá, práskl bych tam první, co by mi příšlo pod ruku a divil bych se i nadále...Milan píše:Oscilace při připojení rc členu ti vznikají zřejmě proto, protože ten vstup není "logický", ale v určité části lineární a zesilující ,jak jinak také u oscilátoru. SKO tam vnutí jen úrovně 0 a 1 a tudíž tu lineární oblast při změně stavu "přeskočí ". Můžeš použít třeba hradlo z 4093 , raději nic rychlého jako HC, HCT ap . - ty ne. Prostě tento vstup procesoru není sám o sobě vhodný ke zpracování analogového signálu a musíš mu jej proto tím SKO "předžvýkat" . Řada procesorů má na regulerních vstupech ten SKO již uvnitř a pak to funguje bez problémů .
Každopádně děkuji všem za zajímavé podněty a rychlé reakce, o výsledek se podělím, jen to nebude hned, mám toho teď docela dost...
Zdravím po čase,
řešení jsem nalezl, tak se chci podělit.
Jako omezení zákmitů na spínači jsem použil 2 odpory 10k a kondenzátor 1uF, připojil na SKO 74hc14, výstup z SKO na PCF a hle, ono to funguje. Hodnoty jsem nastřelil by voko, co šuplík ve vhodném rozměru dal (kanibalizuji staré DPS s SMD součástkami )
Takže děkuji za rady, vyřešeno.
řešení jsem nalezl, tak se chci podělit.
Jako omezení zákmitů na spínači jsem použil 2 odpory 10k a kondenzátor 1uF, připojil na SKO 74hc14, výstup z SKO na PCF a hle, ono to funguje. Hodnoty jsem nastřelil by voko, co šuplík ve vhodném rozměru dal (kanibalizuji staré DPS s SMD součástkami )
Takže děkuji za rady, vyřešeno.