로그인회원등록 내글장바구니주문조회현재접속자
 상품 검색








 게시판 검색





 
 
회원등록 비번분실


온라인 입금계좌
ㆍ기업은행
ㆍ219-043192-01-028
ㆍ이건영

      거래은행 바로가기
 
 Sensor Applications
아듀이노 응용소스
작성자 avrtools™        
작성일 2016/01/21
첨부#1 TV6Key-APnote-AT01486.pdf (1,559KB) (Down:109)
첨부#2 ATtiny20-QTouchADC.zip (445KB) (Down:33)
ㆍ추천: 0  ㆍ조회: 384   
  QTouch ADC 근접검출 스위치
QTouch ADC 근접검출 스위치
참조: Low Cost Capacitive Touch TV Control Keypad :
TV6Key-APnote-AT01486.pdf(1.5MB)는 첨부파일 #1에 있다.
 
 
 
QTouch ADC의 성능
● Atmel 사의 ® QTouchADC는 ATtiny20을 기반으로 개발되었다.
● 압축된 하드웨어 설계
● 전문화된 펌웨어
● 6개의 용량성 접촉 스위치 입력
● 접촉 검출시 아날로그 전압을 출력
● 접촉 검출시 버저를 표현
● 전원 관리
● ATtiny20을 굽는 TPI 프로그래밍
● 5V 작동
 
1.0 QTouch ADC의 설명
TV 제어 접촉 키보드는 전기-기구(저항 래더)식의 TV 제어장치를 대체장치로 개발되었다.
이 키보드는 접촉이 검출되면 아날로그(변화하는 직류) 전압을 출력한다.
출력 전압의 레벨은 검출하는 MCU의 전원전압에 비례한다 (% 비례값이다.)

그림 1 : TV 접촉식 키보드 제어
이것은 Atmel 사의 QTouchADC 기술이 기반이다.
모든것은 TV 제어장치의 응용으로 개발되었다.
이것은 6개 이하의 키를 요구하는 어떠한 응용에도 사용될수 있다.

1.1 QTouchADC
QTouchADC는 아트멜사의 새로운 검출 알고리듬이다.
이것은 표준 축차비교형(SRA) 아날로그-디지털 변환기(ADC)의 오버샘플링 도구이다.
QTouch 부품은 미지의 접촉용량을 알려진 전압으로 접촉을 감지하는 전극을 충전한다.
전극은 투명전극(ITO)을 포함하여 기판(pcb) 위의 표준적인 전도(copper) 면적(area)이다. 
QTouchADC는 채널 하나에 오직 1개의 직렬저항과 1개의 핀이 필요하다.
다른 외부 부품은 필요하지 않다. 이는 표준 QTouch 기술과 비교된다.

QTouchADC는 짧은 간헐적인(burst) 길이(length)와 낮은 소비전력으로 응답(acquisition) 시간이 빠르다.
QTouchADC 원리는 내부 S&H 용량(capacitor)과 감지전극의 용량과 공유하는 충전으로 동작한다. 
초기 상태에서, 총 충전량은 비접촉된 전극(sensor)으로 구축(built-in)된 기준(reference) 레벨로 정해진다.


감지(sensor)는 전극에 접촉된 손가락(finger)으로 부터 만들어진다.
이것은 센서의 전기-자기장(electric magnetic field)의 결합이다. 
검출은 증가된 유효용량으로 전극이 접촉되었을 때, 손가락의 
충전량은 전극과 공유된다
이후에, 센서는 비접촉 기준(untouched reference)과 비교하여 증가(delta)된 결과인 충전량을 전달(변환)한다.
만일 기준과 비교하고 사용자가 정의한 문턱(threshold delta)보다 크면 접촉이 감지된다.
 
QTouchADC Sensing 
QTouchADC는 아트멜사의 응용자료 AVR3001 : QTouchADC 측정과 조절 안에 상세한 설명이 있다.
 
참고 : QTouchADC의 원리를 이해하기 쉬운 회로. (C2는 ADC S&H의 기준용량과 같다)
회로에서 접촉으로 R3,Cx 전극에 충전된 전압이 R4,C2 보다 빠르게 High가 되면 Q출력이 High로 된다.
  
 

2. QTouch ADC의 하드웨어 설계
2.1 기능별 뭉치(Block Diagram)는 다음의 기본 부품을 필요로 한다.
● 아크멜사의 ATtiny20 마이크로 제어기
● 6개의 자체 용량 검출 전극
● 저역통과 여과기(LPF)를 사용하는PWM 기반의 아날로그 출력
● 소리를 표현하는 버저
● 6 핀의 TPI 프로그래밍 연결자(Header)

TV 접촉식(Touch) 제어 키보드(6 개)의 기능별 뭉치 그림 (Fuctional Block Diagram)
 
아트멜사의 ATtiny20을 사용한 6개의 접촉식 키보드 키트
 

2.2 버저 구동
버저는 TR로 구동 한다.
스위칭 TR로 가는 버저 주파수 신호는 ATtiny20 소자에서 사용하는 하드웨어 PWM에서 구동된다.
버저는 80ms 이상의 접촉이면 4KHz의 50% 펄스폭으로 구동된다.

그림  2-2. 버저 구동 회로
 
2.3 저역 통과 LC 필터 (Low Pass RC Filter)
외부 DAC는 저렴한 갸격으로 디지털 신호를 이상적인 아날로그 신호로 만들어야 한다.
다른 조건은 R-2R 사다리를 사용한다. 그러나 이것은 만들기 까다롭고 많은 GPIO를 요구한다.
간단히 저렴한 가격의 기술은 PWM 신호를 직류로 변환하는 RC 필터를 쓴다.
  
아크멜사의 ATtiny20 마이크로컨트롤러는 가변 펄스폭 PWM 모드에서 출력한다. 
수동소자 LPF는 디지털 PWM을 아날로그 신호로 바꾸는 변환기를 사용한다.

그림 2-3. RC Filter Circuit

 
LPF 회로는 부하와 직렬로 저항을 연결하고, 필터 캐패시터는 부하와 병렬이다. 
제시된 교류저항의 캐패시터와 신호는 낮은 주파수이다.
높은 주파수에서의 교류저항은 내려가고 캐패시터는 단락된 값으로 효과를 기여한다.
 
2.4 ATtiny20은 TPI 굽기를 지원한다.
TPI는 새로운 AVR의 Tiny 계열에서 제한된 핀의 소자를 위한 매우 간결한 굽기 장치다.
작은 크기의 Tiny AVR은 대부분 자체 디버깅 회로가 부족하다. 
TPI 처리수순은 3개의 핀에서 반이중 처리수순으로 굽기 장치를 사용한다.

그림 2-4. TPI 연결자(Header)
 

6핀 TPI 연결자는 제공된 것과 같다. TPI는 AVRISP mkII 그리고 STK®600 을 사용한다.
MPU의 RSTDSB 핀은 칩의 고전압 프로그래밍일때 사용된다.
이후에 RESET 선이 +12V로 상승해야 한다. 이 것은 새로운 STK600  기판에서만 제공된다.
(일반 TPI로 잘못 구워진 칩은 새로운 STK600의 고전압 프로그래밍으로 살릴 수 있다)

3. 아날로그 출력 (Analog Output)
기판의 통신은 A0 핀의 접촉 상태를 주장치로 보낸다.
출력은 RC로 필터되는 PWM 신호다. 각각의 키는 정해진  전압으로 출력된다.
펄스폭 변조 출력은 키의 눌림으로 발생된다.
눌린 키가 없는 대기 상태에서 키가 눌리면 PWM 출력이 올라 간다.

3.1 펄스폭 변조신호의 발생
펄스폭 변조의 신호는 ATtiny20의 16비트 시간/계수기 1의 모듈에서 발생된다.
타이머는 16 비트 빠른 펄스폭 형식(fast PWM mode)으로 설정된다.
이 경우에 장치의 클락은 4 Mhz 이고 precaler는 금지(disable)로 된다.
타이머의 주기는 117 KHz 펄스폭 변조를 위해 계수값 34로 고정(set)된다.

그림 3-1. PWM Signal for ON/OFF Key


3.2 펄스폭변조(PWM)의 분해능(Resolution)
펄스폭변조의 분해능은 많은 인수들(factors)로 부터 종속된다.

● System clock frequency
● Waveform generation mode used
● Clock prescaler
● TOP value 

 
117 Khz의 경우에 정해진 주파수를 위해 주기의 시간으로 높은 colcok 주파수는 큰 값의 colck 수이다.
파형 발생 모드의 정의 8,9,10 혹은 16 비트 펄스폭 변조 분해능이 보관될 수 있다.
clock prescaler는 사전에 정의된 타이머의 colcok으로 분주될 수 있다.
그리고 TOP(타이머의 최대값) 값은 각 계수의 끝수를 정의한다.
펄스폭 변조의 분해능은 다음과 같이 계산될 수 있다. Resolution = (1/34) * VCC

3.4 펄스폭변조 출력의 잡음 여유(Noise Margin)
디지털 -> 아날로그 변환의 출력에는 약간의 반복적인 작은 전압변동(voltage ripple)이 수반된다.
저역통과필터는 장치에서 잡음 여유의 오차를 유지하기 위해 설계되어야 한다
하드웨어의 결정과 펌웨어의 마무리는 0.02V 이하의 잡음 여유를 가져야 한다.
장치에 포함되는 리플 전압은 0.015154 V이다.

그림 3-2. 저역통과 필터(LPF) 이후의 전형적(representive)인 아날로그 전압
디지털은 2개의 전압을 0과 1로 만 사용하는 방법, (0은 전원전압의1/3 이하이며 1은 전원전압의2/3 이상)
아날로그는 0~100%(인식할 수 있는 최대전압)의 모든 영역을 사용하는 방법.
현재 아날로그 방식의 구현은 무한대로 인식할 수 없다.(저가는 8비트, 고가는 16~24비트 정도)
 

저항은 필터링 이후의 전압강하를 최소로 하기위해 150Ω의 낮은 값을 선택했다.
펄스폭 변조 주파수는 KHz 범위다, 차단 주파수는 높은 주파수를 충분히 감쇄시키는 Hz 대를 선택한다.

차단 주파수 Fcutoff = 1 /2ㅠRC
C 값은 나중에 선택한 차단 주파수 225 Hz로 위의 공식을 써서 계산되었다. .

3.4.2 과도현상(Transient) 분석 Model 


표 3-2. RC 저역통과 필터의 과도현상 분석(Transient Analysis)
  
 
4. 핀 배열
4.1 QTochADC 검출
접촉 감지는 내부 ADC 뭉치를 사용하게 된다. 이들 핀은 감지 전극에서 ADC 뭉치로 연결된다.

Table 4-1. 감지 핀의 설정



4.2 Analog 출력 : 아날로그 출력은 펄스폭 변조 뭉치에서 발생된다.
표 4-2. 아날로그 전압의 출력 핀의 배열
  

4.3 버저는 펄스폭 변조 모듈로 구동된다.
  

5. 펌웨어
접촉식 키보드 TV의 제어 펌웨어는 2개의 부분으로 이루어진다.
용량 접촉을 측정하는 touch library와 펄스폭 발생을 돌보며,
그리고 센서의 상태로 버저를 구동하는 사용자 응용 코드로 구성된다.
상세한 펌웨어 흐름과 설정은 QTouch Library 5.0 사용자 지침의 6.4 항을 참조하라
 
5.1 응용 코드 흐름도 (Code Flow Chart) 
 

5.2  감도
QTouchADC 원리안에서 펌웨어의 조율은 어떤 외부 부품도 필요없다.
모든 감도의 매개변수 조율은 펌웨어 안에서 다음의 매개변수에 따라 조절된다. 
좋은 감도를 위한 빠른 설정의 이해는 AVR3001의 영역 2를 참조하라 : QTouchADC Measurement and Tuning
 
5.2.1 Over-sampling

over-sampling이 커지면 센서의 감도를 올린다.
매개변수들은 IAR의 IDE에서 주문값(option)으로 수정되었다

/* 초기값: 1. 다른 값은: 1u, 4u 와 16u */
#define DEF_QT_BURST_LENGTH          (0x01u)

 
5.2.2 검출 여유(Threshold)-NTHR의 증가는 감도를 낮춘다.
이 매개변수(parameter)는 touch_config_tiny20.h 파일에서 변경할 수 있다.
파일이 조금 복잡해 보이지만, 영어일 뿐이고, 결론은 사용자가 소스를 고치지 않고
설정파일 안의 매개변수를 수정하면 감도, 여유전압, 감응시간 등을 조정할 수 있다.

/* Sensor detection threshold value.    Range: 1u to 255u. */
#define DEF_QT_SENSOR_0_THRESHOLD       (6u)
#define DEF_QT_SENSOR_1_THRESHOLD       (6u)
#define DEF_QT_SENSOR_2_THRESHOLD       (6u)
#define DEF_QT_SENSOR_3_THRESHOLD       (6u)
#define DEF_QT_SENSOR_4_THRESHOLD       (6u)
#define DEF_QT_SENSOR_5_THRESHOLD       (6u)

 
5.2.3 공유충전 지연(CSD)값의 증가는 감지전극과 샘플용량과의 충전 공유시간을 증가 시킨다.
좋은 접촉 감도(sesitivity)는 충분한 충전전송(CSD) 시간이 필요하다.
이 매개변수(parameter)는 touch_config_tiny20.h 에서 변경할 수 있다.

/*  범위 : 내부 장치의 clock 주기1, 2, 4, 8, 10은 주의 : 이경우에  'u' 혹은  ()를 붙히지 마라.  */
#define DEF_QT_DELAY_CYCLES   1


5.3 펌웨어 파일
소스 코드는 다음 파일에 들어 있다.
QTouchADC 소스 : ATtiny20-QTouchADC.zip(445.2KB)는 첨부파일 #2에 있다

ibtiny20-6qt-k-0rs.r90 : QTouchADC의 ATtiny20 Touch Library 파일
touch_api_tiny20.h : Touch Library API 파일

ouch_config_tiny20.h : 매개변수의 조율 및 설정 파일
main.c : 사용자 코드

6. Schematic Design
그림 6-1.Atmel ATtiny20 기반의 TV 접촉제어 키보드 회로

  

7. PCB Layout
TV 접촉식 키보드의 설계는 2층 기판이다.
센서는 절연체 케니스로 덮힌 바로 아래에 조립하는 제어기판의 윗면에 있는 적색 패턴이다
 
   

밑면의 부품을 장착하고 남은 공백은 접지로 연결한다
FR4 PCB 기판 재질은 완벽한 성능을 보증한다.

8. 부품 목록 (Component List)
U1 MCU 14pin-SOIC ATtiny20 
R1, R2, R3, R4, R5, R6 SMD resistor (0603) 1k Series resistor for Touch
R7 SMD resistor (0603) 100E Buzzer drive resistor 
R8 SMD resistor (0603) 10k Transistor bias resistor
R9 SMD resistor (0603) 150E Low Pass Filter (R)
C2 SMD capacitor (0603) 4.7μF Low Pass Filter (C)
Q1 Transistor BC847W Buzzer Drive LS1 Piezo Buzzer  Buzzer

 
9. 추천 자료
● AVR3001: QTouchADC Measurement and Tuning
● Atmel QTouch Library 5.0 User Guide
● QTAN0079: Buttons, Sliders and Wheels Touch Sensor Design Guide 
 
이 프로그램은 무료 소프트웨어로, 신체와 재산 상의 어떤 위험과 손해를 보상하지 않습니다.
이 프로그램은 GNU 무료 소프트웨어 배포규정을 따릅니다.
Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
 
 AVRTOOLS™
   
윗글 Arduino DUE based DDS Synthesizer
아래글 Arduino 음성인식 Speech/Voice Recognition
    N         제목    글쓴이 작성일 조회 추천
아듀이노 응용소스 게시판 avrtools™ 2016/02/05 (금) 176 0
25 ESP8266 MQTT Relay Control avrtools™ 2016/03/03 (목) 257 0
24 2 채널 ESP8266 WiFi Switch의 제작 avrtools™ 2016/02/25 (목) 291 0
23 ESP-12E SDK 0.9.5 사용방법 avrtools™ 2016/02/18 (목) 351 0
22 ESP8266 ESP-12E WiFi 센서 서버의 제작 avrtools™ 2016/02/17 (수) 334 0
21 Arduino DS3231 RTC to 5110 LCD avrtools™ 2016/02/16 (화) 402 0
20 ESP8266 Weather Server의 제작 avrtools™ 2016/02/15 (월) 374 0
19 Arduino 온습도 센서 DHT-22 avrtools™ 2016/02/12 (금) 322 0
18 ESP8266 WiFi 펌웨어 업그레이드 avrtools™ 2016/02/11 (목) 531 0
17 Arduion ESP8266 WiFi 설정 방법 avrtools™ 2016/02/10 (수) 458 0
16 Arduino 정전용량식 수분센서의 분석과 제작 avrtools™ 2016/02/07 (일) 275 0
15 Arduino 전극식 수분센서의 분석과 제작 avrtools™ 2016/02/07 (일) 356 0
14 Arduino 정밀 전력계의 ADC avrtools™ 2016/02/02 (화) 518 0
13 Arduino 정밀 전력계의 LPF avrtools™ 2016/02/02 (화) 389 0
12 Ardunio 16비트 ADC Data Logger avrtools™ 2016/01/31 (일) 266 0
11 Arduino AC/DC Power Meter의 제작 avrtools™ 2016/01/29 (금) 486 0
10 Arduino 교류 역율계(power factor)의 제작 avrtools™ 2016/01/29 (금) 360 0
9 Arduino DUE based DDS Synthesizer avrtools™ 2016/01/24 (일) 219 0
8 QTouch ADC 근접검출 스위치 avrtools™ 2016/01/21 (목) 384 0
7 Arduino 음성인식 Speech/Voice Recognition avrtools™ 2013/09/14 (토) 1654 0
6 Arduino Uno로 만드는 3축 CNC avrtools™ 2013/09/10 (화) 2528 0
5 Arduino로 만드는 mySpectral 분광기 avrtools™ 2013/09/04 (수) 2067 0
4 8채널 12비트 ADC MCP3208 오실로스코프 avrtools™ 2012/03/29 (목) 461 0
3 교류저항 (impedance) 측정 AD5933 avrtools™ 2012/03/17 (토) 415 0
2 Arduino DMX512 수신기 제작 avrtools™ 2012/03/15 (목) 3630 0
1 TSL2561 조도 측정기의 제작 avrtools™ 2011/09/11 (일) 2615 0
1

바구니 : 0
 보관함 : 0
오늘뷰 : 0
HOME   |   회사소개   |   제휴안내   |   회사위치   |   서비스이용 약관   |   개인정보 보호정책   |   사이트맵
17015 경기도 용인시 기흥구 동백중앙로16번길 16-25, 508호. 전화 : 031-282-3310
사업자 등록번호 : 697-47-00075 / 대표 : 이건영 / 업태 : 제조업 / 종목 : LED조명, LED전원, 제어장치.
개인정보 관리책임자 : 홈페이지 관리자 . Copyright ⓒ2016 아크레즈 (ACLEDS INC.)
HOME TOP PREVNEXT 0 0 0