|
AVR, RC Servo & Debouncing
|
AVR, RC Servo & Debouncing
최근 AVR에 버튼 몇개 달고 RC Servo를 구동하는 간단한 테스트를 진행하다가 내가 얼마나 기본적인 기술에 무지했나를 확인 할 수 있었다. 아주 간단해 보이는 버튼의 인터페이스가 결코 쉽지 않았다. 이미 알고는 있었지만 원하는 스위치가 정확하게 언제 눌러졌는가를 확인한다는게 거의 불가능해 보였다. 이유는 간단하다. 액체를 이용한 수은 스위치 같은 다른 구조를 가진 스위치를 제외하고 모든 기계적인 접점이 있는 스위치 역확을 하는 기구들은 Bounce (또는 Chatter)가 존재 할 수 밖에 없고 이는 단순하게 AVR의 입력 단자에 Pull-Up 설정을 하는 정도로는 해결이 되지 않는 문제였다. 이러한 문제를 해결하는 방법을 일반적으로 Debouncing이라고 한다. 여기저기 자료를 인터넷으로 뒤지다 보니 많은 좋은 자료들을 확인 할 수 있었다. 위키피디아를 통해서 일반적인 방법을 확인 할 수 있다. 다음의 내용은 다소 일반적인 Timer 를 이용하는 방법에 대한 설명을 하고 있는 사이트 들이다. 일반적으로 알려진 스위치들로 논문에 가까운 정도의 내용으로 설명을 하고 있는 문서도 확인 할 수 있었다. A Guide to Debouncing 하지만 가장 눈에 띠는 사이트는 아래 사이트로 Vertical Stack Counter라는 개념을 이용해서 실제 Timer를 이용해서 여러차례 샘플링을 수행하면서도 평균값을 구하는 방법을 다소 특이한 방법이지만 많은 메모리를 사용하지 않고 구현하는 방법에 대해서 설명하고 있다. Using a Vertical Stack Counter to Debounce Switches 실제 Vertical (Stack) Counter는 확인이 필요한 0 또는 1 사이의 변화하는 상태를 총 4개의 비트로 확인 할 수 있는 조금은 수학적인 방법이다. vertical counter 물론 현재 샘플에서 이용하고 있는 10ms (실제로는 9.6ms)간격으로 4번 (즉 전체적으로 약 40ms)의 값을 계산하여 실제 눌러진 버튼을 확인하는 방법이 단순하게 10ms간격으로 4번의 샘플일을 통해서 가장 많이 변한 (실제로 버튼이 눌러진) 값을 확...
Video Length: 44
Date Found: April 09, 2008
Date Produced: April 09, 2008
View Count: 267
|
|
|
|
|
I got punched by an old guy, for farting near his wife. Read MoreComic book creator Stan Lee talks the future of the medium in the digital age. Panelists Zachary... Read MoreThe U.S. launch of Spotify is still on music lovers' minds. Join Zachary Levi, from NBC’s... Read MoreTuesday: Rupert Murdoch testifies before Parliament on the hacking scandal that brought down "News... Read MoreAfter a long slump, the home construction industry may be showing signs of life. But as Bill... Read More | 1 2 3 4 5 |
|
|
|