Praktische benaderingen om mechanische switches af te breken met behulp van microcontrollers

Mechanische schakelaars worden vaak gebruikt in elektronische projecten om gebruikersinvoer te detecteren. Echter, ze produceren vaak lawaaierige signalen als gevolg van contact stuiteren, die kunnen leiden tot meerdere ongewenste signalen. Ontbinden is het proces van filteren van deze valse signalen om nauwkeurige detectie te garanderen. Microcontrollers kunnen verschillende ontbouncing technieken implementeren om de betrouwbaarheid van de schakelschakelaar te verbeteren.

Hardware-ontbrekende technieken

Hardware debouncing omvat het toevoegen van externe componenten om het schakelsignaal te stabiliseren. Gemeenschappelijke methoden omvatten het gebruik van RC low-pass filters of Schmitt triggers. Een RC filter, bestaande uit een weerstand en condensator, gladstrijkt snelle signaal veranderingen veroorzaakt door stuiteren. Schmitt triggers zorgen voor hysteresis, waardoor schone overgangen, zelfs met luidruchtige ingangen.

Software-ontbrekende methoden

Software debouncing is gebaseerd op programmeerlogica binnen de microcontroller. De meest eenvoudige aanpak bestaat uit het nemen van de switch-status met regelmatige tussenpozen en het bevestigen van stabiliteit over een bepaalde periode. Dit voorkomt valse triggers veroorzaakt door stuiteren. Het uitvoeren van een vertraging of het gebruik van timers kan helpen controleren consistente switch-toestanden voordat u een pers of release registreert.

Voorbeeld van een Debouncing Algorithm

Een gemeenschappelijke software methode is het "state change detection" algoritme. Het gaat om het regelmatig lezen van de schakelaarinvoer en het bijwerken van een teller of tijdstempel wanneer een stabiele toestand aanhoudt. Zodra de invoer consistent blijft voor een vooraf gedefinieerde duur, wordt de wijziging geaccepteerd als geldig.