라디오 전자 및 전기 공학의 백과사전 하나의 마이크로 컨트롤러 입력에 많은 수의 버튼 연결. 무선 전자 및 전기 공학 백과사전 무선 전자 및 전기 공학 백과사전 / 라디오 아마추어 디자이너 제안된 솔루션의 아이디어는 [1]에 제시되었습니다. 그 본질은 최소 출력 수를 사용하여 최대 수의 접촉 센서(리드 스위치, 버튼)를 마이크로 컨트롤러에 연결하는 것입니다. 이 아이디어는 KR1441VI1 범용 타이머를 사용하여 구현되었습니다. 타이머의 시간 설정 RC 회로는 커패시터와 각 버튼에 직렬로 연결된 저항 세트로 구성됩니다. 특정 닫힌 버튼에는 타이머에 의해 생성된 펄스의 자체 반복 속도가 있으며, 이는 마이크로컨트롤러에 의해 측정됩니다[2]. 원본 버전에는 두 가지 중요한 단점이 있습니다. 그 중 하나는 두 개의 마이크로 컨트롤러 입력을 사용하는 것입니다. 생성된 펄스는 그 중 하나에 공급됩니다. 두 번째는 버튼이 닫혀 있는지 확인하는 데 사용됩니다. 하지만 이 작업은 소프트웨어에서 쉽게 수행할 수 있으므로 이 마이크로 컨트롤러 입력을 다른 목적으로 사용할 수 있습니다. 또 다른 단점은 펄스 반복주기가 아닌 주파수를 측정한다는 것입니다. 결과적으로 버튼 번호에 대한 주파수의 선형 의존성을 얻기 위해 다양한 값의 타이밍 저항이 많이 사용되었습니다.
제안된 기술 솔루션의 다이어그램은 그림 1에 나와 있습니다. 1441. 이러한 단점이 없습니다. CMOS 구조의 KR1VI555 타이머(LMC2와 유사)는 펄스 듀티 사이클이 3인 자체 발진 모드에서 작동합니다[XNUMX]. 이 모드에서 펄스 반복 주기는 다음과 같습니다. T = 2ln2CR, 여기서 C와 R은 각각 타이밍 회로 요소의 커패시턴스와 저항입니다. C = C1 및 R = R1·N(버튼 수에 따라) N개의 동일한 저항으로 구성되고 저항 R1이 직렬로 연결된 경우 주기 T는 다음과 같습니다. T≈1,39 C1 R1 N 이는 커패시터 C1과 첫 번째 닫힌 버튼 SB1 - SB32 사이의 저항기 수에 비례하는 것으로 나타났으며 마이크로컨트롤러로 쉽게 측정할 수 있습니다. 원본 소스와 마찬가지로 여러 버튼이 동시에 단락되면 가장 낮은 번호의 버튼이 우선 적용됩니다. 모든 버튼이 열려 있을 때 펄스 생성을 유지하려면 저항 R38이 필요합니다. 트리머 저항 R35는 타이머의 진동 주기와 누른 버튼의 수를 정확하게 결정하는 데 필요한 마이크로컨트롤러에 의해 생성된 측정 간격의 지속 시간 사이의 비율을 설정하는 데 사용됩니다. 인터럽트 IRQ0용 마이크로컨트롤러 데모 프로그램은 기간 T의 지속 시간을 측정하고 이를 버튼 번호로 변환하여 MT-16S2S LCD에 표시합니다[4]. 마이크로컨트롤러와 LCD 간의 연결은 XNUMX선 직렬 인터페이스를 통해 구성됩니다. 마이크로 컨트롤러의 핀 XNUMX개만 정보 입력 및 출력에 사용되며 나머지는 다른 용도로 사용할 수 있습니다. 주기를 측정하기 위해 0비트 타이머 카운터 0 마이크로컨트롤러가 사용됩니다. 인터럽트 요청 입력 IRQ1의 레벨 차이가 증가함에 따라 프로그램은 측정된 기간을 읽고 카운터 레지스터를 재설정합니다. 측정 정확도를 높이기 위해 카운터 프리스케일러도 재설정됩니다. ATtiny 시리즈 마이크로컨트롤러의 모든 타이머 카운터 마이크로컨트롤러의 프리스케일러는 일반적이므로 타이머 카운터 XNUMX이 다른 프리스케일러와 함께 사용되는 경우 타이머 카운터 XNUMX이 생성하는 시간 간격의 지속 시간에 영향을 미칠 수 있습니다. 모든 버튼의 접점이 열리면 주기를 측정하는 카운터가 오버플로됩니다. 열린 상태는 해당 인터럽트에 의해 결정됩니다. 인식되는 버튼의 최대 개수는 타이머와 마이크로컨트롤러에서 생성되는 시간 간격의 불안정성에 따라 달라집니다. 내부 RC 발진기에서 마이크로컨트롤러를 클록킹하고 TKE가 작은 필름 커패시터를 사용하는 경우 TKE가 작고 시간 설정 RC 타이머 회로에서 공칭 값과의 편차가 1% 이하인 저항, 버튼 수 12-16에 도달할 수 있습니다. 보다 정밀한 저항 선택으로 32개의 버튼 인식이 가능해졌습니다. 석영 공진기로 마이크로 컨트롤러 클럭 생성기의 주파수를 안정화하면 그 수를 더욱 늘릴 수 있습니다. 장치 레이아웃은 가져온 필름 커패시터 C1(K73-17과 유사)과 저항 R1 - R32를 표면 실장용 CR1206-FX-5621ELF(저항 5,62kOhm ±1%)를 사용합니다. 하나의 테이프에 있는 50개의 저항기 중 최대 저항과 최소 저항의 차이가 32Ω 이하인 20개가 선택되었습니다. 연결된 저항 R1-R1의 수에 대한 타이머 DA32의 출력 전압 의존성의 발진 기간에 대한 영향을 줄이기 위해 저항이 낮은 저항은 위치 번호가 낮고 타이머 출력 3과 7이 함께 연결됩니다. 트리머 저항 R35는 SP5-3 또는 이와 유사한 다중 회전 저항이어야 합니다. 조정은 다음과 같이 수행됩니다. 최대값(이 경우 SB31)보다 35 적은 위치 번호로 버튼을 닫고 LCD 판독값이 31에서 32로, 31에서 30으로 변경된 것에 해당하는 트리밍 저항 RXNUMX 슬라이더의 두 위치를 찾습니다. 슬라이더를 찾은 항목 사이의 중간 위치로 이동합니다.
장치 확인 및 마이크로 컨트롤러 프로그램 디버깅은 그림 2에 표시된 레이아웃에서 수행되었습니다. 0. 마이크로컨트롤러 구성 바이트는 낮음 - 0xBF, 높음 - 4xD0, 추가 - 7xFF로 프로그래밍되었습니다. 레이아웃에 필요한 버튼 개수를 찾을 수 없어서 대신 PP4-XNUMXLV 스위치를 사용해야 했습니다. 표면 실장 저항기는 스위치 보드에 직접 납땜됩니다. 실내 조건에서 선택된 저항기를 사용하면 마이크로컨트롤러가 내부 RC 발진기에서 작동하더라도 스위치의 닫힌 접점 수가 올바르게 결정되었습니다. 마이크로 컨트롤러 프로그램은 ftp://ftp.radio.ru/pub/2016/11/key-tx.zip에서 다운로드할 수 있습니다. 문학
저자: S. 이바노프 다른 기사 보기 섹션 라디오 아마추어 디자이너. 읽고 쓰기 유용한 이 기사에 대한 의견. 과학 기술의 최신 뉴스, 새로운 전자 제품: 교통 소음으로 인해 병아리의 성장이 지연됩니다
06.05.2024 무선 스피커 삼성 뮤직 프레임 HW-LS60D
06.05.2024 광신호를 제어하고 조작하는 새로운 방법
05.05.2024
다른 흥미로운 소식: ▪ 식용 배터리
무료 기술 라이브러리의 흥미로운 자료: ▪ 기사 가축 사육자, 소. 노동 보호에 대한 표준 지침 ▪ 기사 커패시턴스 및 인덕턴스 미터의 개선. 무선 전자 및 전기 공학 백과사전 ▪ 기사 사일런트 팬. 무선 전자 및 전기 공학 백과사전 이 페이지의 모든 언어 홈페이지 | 도서관 | 조항 | 사이트 맵 | 사이트 리뷰 www.diagram.com.ua |