User Tools

Site Tools


debouncing

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

debouncing [2015/01/13 03:59] – I live here <a href=" http://designcoachoncall.com/?page_id=mit-was-kann-man-geld-machen ">ich brauche heute noch geld</a> 62.210.142.7debouncing [2018/07/18 14:10] (current) – external edit 127.0.0.1
Line 1: Line 1:
-I live here <a href=http://designcoachoncall.com/?page_id=mit-was-kann-man-geld-machen ">ich brauche heute noch geld</a> +{{http://mbed.org/media/uploads/4180_1/switch_bounce.jpg}} 
 + 
 +버튼이 눌리면서 생기는 bouncing은 하드웨어나 소프트웨어를 통해서 잡을 수 있다.  
 + 
 +====== 하드웨어 해결법 ====== 
 + 
 +하드웨어에서 debouncing을 하는 방법은 간단하게는 캐패시터를 이용 할 수 있다. 
 +풀업 스위치 회로에서 스위치와 캐패시터를 병렬로 달아서 스위치에서 일어나는 bouncing을 캐패시터가 흡수 하는 방법이다. 
 + 
 +그럼 캐패시터의 값은 어떻게 구하는 것일까? 
 + 
 +<code> 
 +Time(bouncing)/0.69*(pull-up resistor) 
 + 
 +# bouncing time 0.010sec(10msec) 
 +# pull-up resistor 33k 
 +# C = 439nF  
 +>>> 0.010/(0.69*33000)                                                                                                  
 +4.391743522178305e-07 
 +</code> 
 + 
 +10k면 220nF!  
 + 
 +왜? 이런식이 나왔을까?  
 +출처: http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_PushButton 
 + 
 +좀더 자세히: http://www.embedded.com/electronics-blogs/break-points/4024956/Solving-Switch-Bounce-Problems 
 + 
 +---- 
 +R-C회로에서 완전 충전된 C가 반절로 떨어지는데 걸리는 시간은 
 +0.69*RC가 걸린다. 
 + 
 + 
 +====== 소프트웨어 해결법 ====== 
 + 
 + - 신호를 카운트하여 일정 카운트가 되었을대 신호를 인식하는 방법 
 + - 신호가 안정화 된후에 다시 익는 방법 
 + 
 +http://www.kennethkuhn.com/electronics/debounce.c
debouncing.1421121556.txt.gz · Last modified: 2018/07/18 14:09 (external edit)