Sida 1 av 1
Knappar med dubbel funktion
Postat: 30 september 2007, 04:42:00
av Eveningstar
Jag sitter och ritar på ett projekt där jag interfacear en AVR med fyra stycken "Tangentbordsströmställare" (knappar).
När µP är i aktivt läge läser jag av knapparna via vanliga I/O. Inga problem här.
Dock, när jag försätter µP i Power-down läge vill jag kunna väcka den genom ett tryck på någon av knapparna.
Debouncingen har jag plockat här ifrån:
http://www.ganssle.com/debouncing.pdf
Liten bild:
Stor bild:
http://www.kfoto.se/m/krets1.png
Har jag tänkt rätt?
Kommer spänningsfallet över dioderna bidra till att spänningsskillnaden över motstånden ligger och drar ström?
Postat: 30 september 2007, 10:24:16
av B1n4ry
Varför tar du inte hand om avstudsningen i mjukvaran så slipper du dom där 7414 som ligger och drar ström hela tiden?
Koppla "som vanligt" med pullup och knappen direkt till processorn och sedan dioderna till din int-pinne. Och så en pullup på int-pinnen oxå. Dock kommer du ju ha en viss strömförbrukningen genom pullup-motstånden...
Ännu bättre är då att vända på det så att ena sidan på knapparna är kopplade till +, andra sidan till processorns ingång och till en pulldown. Vänd sedan på dioderna och ha en pulldown på int-pinnen oxå. Då kommer du inte ha någon strömförbrukning alls.
//B1N4RY
Postat: 30 september 2007, 21:32:43
av Eveningstar
Tack för ditt svar.
Här är då förslaget med pull-down:
Det inom den streckade rutan är för varje knapp.
Som jag förstått det så behövs det inget motstånd mellan PCn och +3.3v trots att det blir direkt kontakt när man trycker på knappen. "I/O Pin Pull-up Resistor: 20kohm" som sköter begränsningen?
Är Schmitt-invertern ett måste när man vill köra med kondensator baserad avstudsning?
I debouncing-pdf'en så kändes det som att han idiotförklarade all form av mjukvarubaserad avstudsning =)
Postat: 30 september 2007, 23:06:52
av Micke_s
Om det är en ny AVR så har du PCINT på i princip alla knappar.
Postat: 30 september 2007, 23:30:03
av Eveningstar
Micke_s skrev:Om det är en ny AVR så har du PCINT på i princip alla knappar.
Sant, då kommer jag från den extra int-kopplingen.
Hade tänkt köra med en mega32L, men det funkar ju med mega324 och den har PCINT.
Frågan om graden av hårdvaru-avstuds kvarstår dock?