Jag har fått ont i nacken och det verkar alldeles förgjort att lyckas tänka ut en lösning på kontaktknaster. På bilden vill jag ha en "ren" signal på första lilla kontaken i brytaren och sedan ska det slå av på första lilla avbrottet.
Det är tid som ska mätas med upplösning en tusendels sekund så det är inte läge för någon filtrering. Måste ha något som ställer om sig efter en halv sekund, typ.
Kan inte valfri MCU göra det? Kontaktstudsar är ju ett problem i vanliga fall eftersom en MCU är så snabb att den ser allt, i detta fall borde det väl vara en fördel? Starta mätningen vid första omslaget, ignorera all aktivitet på ingången under 0.5 sekunder och stäng sedan av mätningen vid första darr på ingången igen.
Men troligtvis har jag förståt det hela helt fel och förstår inte det riktiga problemet. Skulle inte vara första gången
1: Signalen in till en gate-grej som kan "låsa" rätt nivå.
2: Signalen även till en EXOR som har ett "snabbt" lågpass RC-led mellan ingångarna. Detta ger en kort puls ut vi varje ändring av ingångsnivån.
3: Dessa korta spikar startar en re-trigable timer som stänger av gatningen till nivå-låsmekanismen en "kort" tid.
På detta vis klockas första puls in och flippar en latch till rätt nivå, sedan återtriggas timern och låser alla vidare andringar fram till den är stabil och vid nästa flank är det dags igen fast då åt andra hållet.
Jag har efter plågsamt tänkande också lyckats lösa det med en JK och 2 kapslar NAND (och faktist ena NAND kapseln kopplad som EXOR). Nu ska det ätas blåbärspaj så jag ska renrita i morgon.
Tror att i vissa fall kan mjukvarulösningar duga.
Fast vill man vara på den säkra sidan så är nog hårdvara att föredra... http://www.ganssle.com/debouncing.pdf
prototypen,
Samma här tyvärr... eller kanske som tur är...
Håller mej hellre till hårdvara som verkar vara överskådligare och pålitligare... utifrån mitt sätt att se på saker...
Jag är i den lyckliga sitsen att så fort det ska programmeras något får någon annan göra det åt mig men ofta är det så att hårdvara "bara" fungerar.
Vi försökte oss på att göra ett shiftregister på 68 bit med en max fördröjning på 7-8 µs men vi kom aldrig under 20 så det blev hårdvara och nu är det väl en 35 ns fördröjning. Visserligen 9 kretsar isf 1 men de är billiga och helt färdig"programmerade" när de kommer från ELFA.