Sida 1 av 2
Debounce hårdvarumässig
Postat: 11 december 2024, 22:34:51
av Chokladgaraget
Hej alla,
Håller på att konstruerar ett litet projekt där jag behöver ha en liten krets som kan sköta debouncen som blir av dessa knappar
https://www.electrokit.com/tryckknapp-p ... m-100-pack
Kan någon vänlig själ förklara hur jag skickar så ren 5V signal som möjligt på min ingång på en IC.
Jag gjorde ett försök själv, men vet inte om det blir bra eller ej.
Det behöver inte vara "rocket-sience ordentligt" utan bara jag får bort 90% av flickret som kan uppstå.
Har ingen möjlighet till mjukvaru-debounce eller tillgång till några IC. Skulle vilja lösa detta med endast kondingar och resistorer.
Bifogar även bild på ritning.
Tack på förhand

Re: Debounce hårdvarumässig
Postat: 12 december 2024, 08:19:18
av Klas-Kenny
Större konding.
Nuvarande RC ger en tidskonstant på 10 ms. Skulle säga att man ofta behöver upp i kanske 100-500 ms eller mer på såna här knappar för att det ska bli bra.
Så prova med kondensatorer på 1-5 µF och se om det inte blir bättre.
Kan vara bra med ett litet seriemotstånd till knappen också. Säg 1k kanske. För att begränsa strömmen genom knappen, blir annars i princip en "kortslutning" varje gång kondingen ska laddas upp och knappens livslängd blir kraftigt begränsad.
Re: Debounce hårdvarumässig
Postat: 12 december 2024, 08:50:11
av bearing
Här finns några ideer:
https://www.digikey.com/en/articles/how ... and-relays
Varianten med 2 resistorer, en konding och en diod följt av en schmitt trigger skulle jag tro fungerar bättre än bara den enkla RC.
2024-12-12 08_45_22-Implementing Hardware Switch Debounce _ DigiKey.png
Utan att ha testat skulle jag tro att R1 = 10 x R2 kan ge ett bra beteende. R2 för att få typ 10ms, och R1 100ms. Då dras spänningen ner snabbare än upp, vilket borde göra att den inte kommer hoppa mellan tröskelspänningarna.
Re: Debounce hårdvarumässig
Postat: 12 december 2024, 09:26:18
av 4kTRB
Re: Debounce hårdvarumässig
Postat: 12 december 2024, 10:24:45
av MiaM
Håller med om schmidt-trigger, och seriemotstånd.
Ett tips är att sätta kondingen mot samma matningsledning (plus eller minus) som knappen, och gärna dra layouten så att kondingen och knappen sitter på en egen "gren" som inte går vidare till andra komponenter. Detta gör att strömmen som går genom knappen och kondensatorn inte ger spänningsfall på matningen till övriga grejer.
(I princip bör även ledarna mellan kondensator och knapp går så nära varandra som möjligt om du caddar kretskort eller drar lösa ledare, eftersom det blir ett magnetfält av strömpulsen när du trycker på knappen, och ligger dessa ledare mot varandra så kommer deras motriktade magnetfält att till hygglig del ta ut varandra. Allt detta är oftast överkurs, men det är "best practice" att göra så
Re: Debounce hårdvarumässig
Postat: 12 december 2024, 11:13:06
av Icecap
Min erfarenhet är att man inte kan "knappa" snabbare än 10Hz.
Detta måste då betyda att man ska ha ett system som tillåter upp till 10Hz och ändå har en tröghet som överstiger de 5-8 ms studs som finns/kan finnas i mekaniska brytare.
Ska knapparna vara utanför kretskortet ska de bryta till GND och pull-up vara på kretskortet.
Brytaren får INTE kortsluta filter-kondingen direkt då det sliter allt för mycket på kontaktytorna!
Då brytare normalt ska ha en viss minimum av ström för att hålla kontaktytorna rena, ska motståndet mellan brytaren o kondingen inte ha för högt värde.
Så ett RC-filter bestående av ett pull-up motstånd till brytaren, sedan ett litet motstånd till kondingen och sedan vidare till μC.
Sitter på akuten så räknar inte på värden nu.
Re: Debounce hårdvarumässig
Postat: 12 december 2024, 13:29:50
av Gorgus
Hur skulle det bli med en sån här klassiker?
IMG_8712.jpeg
Re: Debounce hårdvarumässig
Postat: 12 december 2024, 14:02:49
av 4kTRB
Synd det behövs en 7400 med 4 grindar, blir 2 outnyttjade.
555 kan driva 150mA om man behöver.
Re: Debounce hårdvarumässig
Postat: 12 december 2024, 15:14:29
av Gorgus
Men om man tittar på originalschemat så står det ”minuter” på switchen, då kanske det ska vara en med ”timmar” också och då blir det ju perfekt.

Re: Debounce hårdvarumässig
Postat: 12 december 2024, 17:48:36
av Chokladgaraget
Gorgus skrev: ↑12 december 2024, 13:29:50
Hur skulle det bli med en sån här klassiker?
IMG_8712.jpeg
Hej
Det hade funkat bra om min switch hade haft NO och NC antar jag, jag har bara knappar med NO. Två poler. Men denna idéen är inte dum.
Eller det kanske går att koppla det finurligt så den får 5V på reset ändå?
Tack för svaret

Re: Debounce hårdvarumässig
Postat: 12 december 2024, 17:50:27
av Chokladgaraget
Gorgus skrev: ↑12 december 2024, 15:14:29
Men om man tittar på originalschemat så står det ”minuter” på switchen, då kanske det ska vara en med ”timmar” också och då blir det ju perfekt.
Helt rätt, finns en knapp för timmar med

Re: Debounce hårdvarumässig
Postat: 12 december 2024, 17:52:39
av Chokladgaraget
MiaM skrev: ↑12 december 2024, 10:24:45
Håller med om schmidt-trigger, och seriemotstånd.
Ett tips är att sätta kondingen mot samma matningsledning (plus eller minus) som knappen, och gärna dra layouten så att kondingen och knappen sitter på en egen "gren" som inte går vidare till andra komponenter. Detta gör att strömmen som går genom knappen och kondensatorn inte ger spänningsfall på matningen till övriga grejer.
(I princip bör även ledarna mellan kondensator och knapp går så nära varandra som möjligt om du caddar kretskort eller drar lösa ledare, eftersom det blir ett magnetfält av strömpulsen när du trycker på knappen, och ligger dessa ledare mot varandra så kommer deras motriktade magnetfält att till hygglig del ta ut varandra. Allt detta är oftast överkurs, men det är "best practice" att göra så
Ojj, mycket bra info, är inte superbevandrad inom elektronik, men jag förstår att det är mycket att ta hänsyn till när man konstruerar. Tack för svaret!

Re: Debounce hårdvarumässig
Postat: 12 december 2024, 17:54:23
av Chokladgaraget
Klas-Kenny skrev: ↑12 december 2024, 08:19:18
Större konding.
Nuvarande RC ger en tidskonstant på 10 ms. Skulle säga att man ofta behöver upp i kanske 100-500 ms eller mer på såna här knappar för att det ska bli bra.
Så prova med kondensatorer på 1-5 µF och se om det inte blir bättre.
Kan vara bra med ett litet seriemotstånd till knappen också. Säg 1k kanske. För att begränsa strömmen genom knappen, blir annars i princip en "kortslutning" varje gång kondingen ska laddas upp och knappens livslängd blir kraftigt begränsad.
Det tänkte jag på med, har sett en del kretsar med just R i serie. Men förstod inte riktigt varför. Mycket bra info, Tack

Re: Debounce hårdvarumässig
Postat: 12 december 2024, 17:56:08
av Chokladgaraget
Detta alternativet hade funkat fint. Råkar ha 555 timers liggande, väldigt utförlig artikel också! Tack för detta!

Re: Debounce hårdvarumässig
Postat: 12 december 2024, 18:29:40
av Chokladgaraget
Icecap skrev: ↑12 december 2024, 11:13:06
Min erfarenhet är att man inte kan "knappa" snabbare än 10Hz.
Detta måste då betyda att man ska ha ett system som tillåter upp till 10Hz och ändå har en tröghet som överstiger de 5-8 ms studs som finns/kan finnas i mekaniska brytare.
Ska knapparna vara utanför kretskortet ska de bryta till GND och pull-up vara på kretskortet.
Brytaren får INTE kortsluta filter-kondingen direkt då det sliter allt för mycket på kontaktytorna!
Då brytare normalt ska ha en viss minimum av ström för att hålla kontaktytorna rena, ska motståndet mellan brytaren o kondingen inte ha för högt värde.
Så ett RC-filter bestående av ett pull-up motstånd till brytaren, sedan ett litet motstånd till kondingen och sedan vidare till μC.
Sitter på akuten så räknar inte på värden nu.
Oj, du håller dig á jour ändå! Imponerande

Hoppas det inte är något allvarligt bara
Tack för mycket information jag tar med mig. Visste inte om att det kan bli ett problem för knappen.