[elektro] Kapcsoló pergésmentesítés

Moravcsik Szilard levlista.mszilard at gmail.com
Thu Sep 18 09:09:56 CEST 2014


Szia!

Anno, vagy 5 éve hasonló problémát oldottunk meg.
Ott a uC a bekapcsolás után ellenőrizte és szükség esetén kiszolgálta a 
port bemenetek előírta feladatokat, majd engedélyezte a porton a Port 
Change Interruptot és elment szundizni.

A uC-t csak a bemeneti porton fellépő jelváltozás (a Port Change 
Interrupt) ébreszthette fel.

Ébredés után ideiglenesen letiltotta a porton az újabb jelváltozás 
(prel) okozta interruptot, majd felhúzott egy timert, amelynek ideje a 
prel idejénél biztonsággal nagyobb volt (50ms?), engedélyezte a timer 
IRQ-t és ismét szundizni ment. A porttal egyelőre nem foglalkozott.

A timer lejárt, IRQ-val felébresztette a uC-t, ami ekkor a timert 
leállította, az IRQ-ját tiltotta, ellenőrizte a kérdéses port bemenetet 
és kiszolgálta azt, ha a port szintje ezt előírta a számára, végül ismét 
engedélyezte a Port Change Interruptot és elment szundizni.

Már nem emlékszem, milyen kis kontroller volt (vagy PIC vagy Atmel :)), 
de mindegy is.

Üdv:
Szilárd


2014.09.17. 12:13 keltezéssel, Acs Gabor írta:
> Akkor azért Károly problémája, hogy elaltatod a processzort, és a
> bemenet jelváltozása ébressze fel, miközben a nem átkapcsolt kontaktus
> sem stabil, így nem lesz egyszerű. Neki talán az lenne a jobb megoldás,
> ha a timer ébresztgeti a processzort, de így meg sokkal nagyobb lesz a
> fogyasztása.
>
>
> Gábor
>
> 2014.09.17. 11:42 keltezéssel, potyo írta:
>> Mintavételezés adott időnként, és ha elegendő számú alkalommal ugyanaz a
>> szint van, akkor stabilnak lehet tekinteni, és kiértékelni az előző
>> stabilnak tekintett szinthez képest. Valami ilyesmi:
>> http://pastebin.com/UdgV1waQ
>>
>> 2014. szeptember 17. 11:12 Acs Gabor írta, <levlista at e8e.eu>:
>>
>>> Akkor Te melyikre szavaznál? Addig mintavételezed, amíg el nem értél egy
>>> megadott darabszámot a kérdéses szintből, vagy csak egyszerűen timer egy
>>> sacc/kb ideig, ami alatt nem foglalkozol vele, és utána kezded újra
>>> figyelni?
>>>
>>> Talán az utóbbi mellett szólhat még, hogy az előbbinek mindenféle képp
>>> lesz egy késleltetése, más kérdés hogy semmit sem számít, ha ez akár 0,1
>>> mp-et is kitesz.
>>>
>>> Gábor
>>>
>>> 2014.09.17. 11:04 keltezéssel, potyo írta:
>>>> Persze. Megadható, hogy maximum 1 másodpercig és maximum 1000-szer. És
>>>> akkor előrébb vagy ezzel? :-))
>>>>
>>>> Láttam már valakitől ilyen nyakatekert dolgot, hogy le akarta mérni, hány
>>>> prell van, aztán meg annyit számolni a programban, de végül rájött, hogy
>>> ez
>>>> marhaság, és maradni kéne a bevált megoldásoknál :-))
>>>>
>>>> 2014. szeptember 17. 11:00 Acs Gabor írta, <levlista at e8e.eu>:
>>>>
>>>>> Viszont a maximális prellegés-szám az meghatározható?
>>>>>
>>>> -----------------------------------------
>>>>              elektro[-flame|-etc]
>>> -----------------------------------------
>>>             elektro[-flame|-etc]
>>>
>> -----------------------------------------
>>             elektro[-flame|-etc]
>
> -----------------------------------------
>            elektro[-flame|-etc]
>



More information about the Elektro mailing list