ATtiny1627 Curiosity Nano를 사용하여 동작 감지 단순화
DigiKey 북미 편집자 제공
2022-02-23
동작 감지의 필요성은 많은 산업, 상업, 가정 및 내장형 응용 제품에서 계속해서 증가하고 있습니다. 문제는 동작 감지에 접속하기 어려운 고가의 디지털 센서가 필요할 수 있다는 것입니다. 또한 데이터가 수신된 후 동작을 감지하기 위한 알고리즘을 개발해야 하는데, 이는 쉽지 않은 작업입니다.
동작을 감지하는 몇 가지 솔루션이 있지만 적외선(IR) 솔루션이 가장 많이 사용됩니다. 개발자는 많은 독립형 디지털 센서에서 일반적인 유효한 솔루션을 선택할 수 있지만, 이를 구현하는 것은 더 비싸고 복잡합니다. 대안은 비용이 덜 들고 접속도 간단한 수동 적외선 센서(PIR)의 이점을 활용하는 것입니다. PIR은 대부분의 마이크로 컨트롤러가 접속할 수 있는 아날로그 인터페이스를 제공합니다.
이 기사에서는 동작 감지의 기초에 대해 설명한 후, 개발자가 Microchip의 DM080104 ATtiny1627 Curiosity Nano에 연결된 PIR을 사용하여 동작 감지를 시작하는 방법을 보여줍니다. 그 다음 복잡한 알고리즘 개발이 필요 없는 머신러닝(ML) 기술을 활용한 동작 감지 방법을 소개하며, 이를 시작하기 위한 유용한 정보도 포함됩니다.
동작 센서의 기초
동작을 감지하는 센서 기술은 다양하지만, 가장 널리 사용되는 것은 IR입니다. IR 센서에는 능동형과 수동형이 있습니다. 능동 센서는 IR LED 송신기와 광 다이오드 수신기로 구성되어 있습니다. 능동 센서는 물체에 반사된 IR을 감지하고 수신된 IR을 사용하여 물체나 객체의 움직임 여부를 감지합니다. 응용 제품에 따라, 능동 센서에는 움직임의 방향을 보기 위한 다수의 광 다이오드가 포함될 수 있습니다. 예를 들어 어떤 IR 신호가 지연되거나 리드되는지를 감지함으로써, 4개의 광 다이오드를 사용하여 왼쪽, 오른쪽, 앞쪽, 뒤쪽, 위쪽, 아래쪽과 같은 방향성 동작을 감지할 수 있습니다.
수동 적외선 센서는 IR을 전송할 수 없으며 수신만 합니다. PIR 센서는 물체에서 나오는 적외선을 이용하여 물체의 존재 유무와 그에 따른 동작을 감지합니다. 예를 들어, 가정 보안 시스템에는 사람이나 동물이 방출하는 IR을 감지하고 시야를 통해 움직임을 판단하는 동작 센서가 탑재되어 있는 경우가 많습니다. 그림 1은 아날로그 PIR 센서가 IR 없음, IR 있음, 안정 및 이탈(차단)과 같은 다양한 조건에서 감지하는 모습을 보여줍니다.
그림 1: PIR 센서는 물체나 객체에서 방출되는 IR을 사용하여 그 존재 유무와 동작을 감지합니다. IR 없음, IR 있음, 안정, 이탈(차단)의 다양한 감지 단계를 나타냅니다. (이미지 출처: Microchip Technology)
개발자는 응용 제품에 적합한 IR 센서 유형을 선택할 때 다음 파라미터와의 절충을 신중하게 고려해야 합니다.
- 센서 비용
- 패키지
- 마이크로 컨트롤러 인터페이스
- 감지 알고리즘과 연산력
- 센서 범위와 에너지 소비
ATtiny1627을 사용한 PIR 동작 감지 시스템의 예를 살펴보겠습니다.
ATtiny1627 Curiosity Nano 소개
Microchip Technology의 ATtiny1627은 동작 감지를 위한 흥미로운 마이크로 컨트롤러(MCU) 솔루션입니다. 이 8비트 MCU에는 17비트로 오버샘플링이 가능한 12비트 아날로그 디지털 변환기(ADC)가 내장되어 있습니다. 또한 감도를 조정할 수 있는 프로그래밍 가능한 이득 증폭기(PGA)가 포함되어 있습니다. 이 두 가지 기능을 결합을 통해 많은 응용 제품에 적합한 저렴한 동작 감지 시스템이 제공됩니다.
저비용으로 시작하려면 DM080104 ATtiny1627 Curiosity Nano 개발 기판을 사용하는 것이 가장 좋습니다(그림 2). 개발 기판에는 최대 20MHz로 작동하는 AVR MCU, 16킬로바이트(Kbyte) 플래시, 2KB SRAM, 256바이트 EEPROM이 탑재되어 있습니다. 기판에는 프로그래밍 장치, LED, 사용자 스위치가 있습니다. 아마도 이 기판의 가장 흥미로운 점은 헤더를 통해 쉽게 연결할 수 있도록 설계되어 신속한 시제품 제작이 가능하며 생산 기판에 직접 납땜할 수 있다는 것입니다.
그림 2: ATtiny1627 Curiosity Nano에는 16KB 플래시, 2KB SRAM 및 256바이트 EEPROM으로 최대 20MHz의 속도로 실행되는 8비트 프로그래밍 가능 AVR MCU가 내장되어 있습니다. 개발 기판은 시제품 제작 및 생산 시스템의 용이성을 위해 더 큰 베이스 기판에 쉽게 납땜하거나 점퍼링할 수 있습니다. (이미지 출처: Microchip)
또한 이 기판에는 개발자에게 유용한 몇 가지 추가 기능이 포함되어 있습니다. 첫째, DGI와 GPIO라는 두 개의 논리 분석기 채널이 있습니다. 이 채널은 마이크로 컨트롤러 디버깅 및 관리에 사용할 수 있습니다. 둘째, 개발자는 온보드 가상 COM 포트(CDC)를 활용하여 메시지를 디버깅하고 로깅할 수 있습니다. 마지막으로, 여러 도구를 사용하여 소프트웨어를 작성하고 배포할 수 있습니다. 예를 들어 개발자는 GCC 컴파일러인 Microchip Studio 7.0이나 GCC 또는 XC8 컴파일러를 사용하는 MPLAB X를 사용할 수 있습니다.
또한 Microchip에서 지원하는 약 12개의 코드 저장소는 ATtiny1627을 위한 다양한 예제도 제공합니다. 이러한 코드 저장소에는 PIR 동작 감지, 온도 측정, 아날로그 변환 등 다양한 예가 있습니다.
동작 감지 테스트 벤치 구축
동작 감지 테스트 벤치를 설치하고 실행하는 것은 간단하고 비용도 비교적 저렴합니다. 테스트 벤치를 구축하는 데 필요한 부품은 다음과 같습니다.
- DM080104 ATtiny1627 Curiosity Nano
- AC164162T Curiosity Nano 어댑터
- MikroElektronika의 MIKROE-3339 PIR 센서
ATtiny1627 Curiosity Nano에 대해 이미 살펴보았습니다. Curiosity Nano 어댑터는 신속한 시제품 제작에 사용할 수 있는 ATtiny1627 Curiosity Nano용 캐리어 기판을 제공합니다(그림 3). 또한 MIKROE 클릭 기판을 위한 3개의 확장 슬롯과 신호 범위를 지정하거나 맞춤 하드웨어를 추가하기 위한 액세스 가능 헤더를 제공합니다.
그림 3: Curiosity Nano 어댑터에는 MIKROE 클릭 기판을 위한 3개의 확장 슬롯과 신호에 액세스하고 맞춤 하드웨어를 추가하기 위한 헤더가 있습니다. (이미지 출처: Microchip)
마지막으로, 그림 4에 표시된 MIKROE-3339 PIR 센서는 Curiosity Nano 어댑터에 직접 연결할 수 있는 단순하고 확장 가능한 형태의 KEMETPL-N823-01 수동 IR 센서를 제공합니다. 동작 감지를 위해 MIKROE-3339를 Microchip 예제와 함께 사용할 때 몇 가지 수정이 필요하다는 점에 유의해야 합니다. 이러한 수정 사항은 Microchip의 AN3641 응용 참고 사항, 'Low-Power, Cost-Efficient PIR Motion Detection using the tinyAVR® 2 Family'의 10페이지에 설명되어 있습니다.
그림 4: MIKROE-3339 클릭 기판은 KEMET PL-N823-01 PIR 센서를 쉽게 시제품 제작할 수 있는 형태로 제공합니다. (이미지 출처: MikroElektronika)
PIR 동작 감지 소프트웨어
개발자가 동작 감지를 위한 소프트웨어 솔루션을 만드는 데 사용할 수 있는 몇 가지 옵션이 있습니다. 첫 번째 솔루션은 AN3641에서 Microchip이 제공하는 예제 자료를 사용하는 것입니다. 동작 감지 소프트웨어 예제에 대한 코드 저장소는 Github에 있습니다.
애플리케이션은 여러 단계로 구성됩니다. 먼저 애플리케이션이 PIR 센서를 초기화하고 예열합니다. 둘째, ADC의 인터럽트 서비스 루틴을 사용하여 PIR 센서를 주기적으로 샘플링합니다. 셋째, ADC 데이터 평균을 냅니다. 마지막으로 감지 알고리즘을 사용하여 움직임이 감지되었는지 여부를 알립니다. 활동이 감지되면 온보드 LED가 깜박이고 직렬 포트를 통해 감지 신호가 전송됩니다. 전체 프로그램의 진행 과정이 그림 5에 표시됩니다.
그림 5: Microchip의 동작 감지 응용 제품에서의 소프트웨어 진행 과정을 보여줍니다. (이미지 출처: Microchip)
동작 감지를 위한 두 번째 옵션은 Microchip 예제의 초기화 및 ADC 인터럽트 루틴을 활용하는 것이지만 감지 알고리즘 대신 ML을 사용하는 것입니다. PIR 데이터를 수집한 다음 이를 신경망 학습에 사용할 수 있습니다. 이 ML 모델은 8비트 가중치를 가진 고정점 수학을 사용하여 마이크로 컨트롤러용 TensorFlow Lite를 갖춘 마이크로 컨트롤러에서의 실행을 위해 변환될 수 있습니다.
이러한 방식으로 ML을 사용할 때 흥미로운 점은 개발자가 특정 요구 사항에 맞게 알고리즘을 설계할 필요가 없다는 것입니다. 그 대신 응용 제품에 필요한 예상 조건이나 사용 사례에서 센서를 샘플링하기만 하면 됩니다. 또한 ML을 통해 개발자는 새 데이터를 사용할 수 있을 때 해당 모델을 신속하게 확장하고 조정할 수도 있습니다.
ATtiny1627을 사용한 동작 감지와 관련된 유용한 정보
동작 감지를 시작하는 데 관심이 있는 개발자를 위한 많은 옵션이 있습니다. 다음은 개발자가 개발을 단순화하고 가속화하도록 염두에 두어야 하는 '유용한 정보'입니다.
- 기성 부품을 사용하여 저렴한 시제품 제작 플랫폼을 구축합니다.
- GitHub에서 확인할 수 있는 Microchip의 동작 감지 예제를 활용합니다.
- ATtiny1627 Curiosity Nano 풋프린트를 통해 시제품 하드웨어를 설계하고, 기판을 하드웨어에 직접 납땜하여 초기 시제품 제작을 단순화할 수 있습니다.
- 보다 작고 더 효율적으로 최적화된 코드를 만들려면 Microchip의 XC8 컴파일러를 사용합니다.
- 동작 감지 응용 제품 제작을 시작하기 전에 Microchip의 AN3641 Low-Power, Cost-Efficient PIR Motion Detection Using the tinyAVR® 2 Family를 읽어보세요.
- 동작 감지 알고리즘에 ML을 사용하는 것을 적극적으로 검토해 보세요.
이러한 '유용한 정보'를 따르는 개발자는 응용 제품의 시제품을 제작할 때 많은 시간과 고민을 줄일 수 있습니다.
결론
많은 응용 분야, 특히 노터치 기술이 중요한 분야에서 동작 감지 기능이 일반화되고 있습니다. 개발자는 PIR 센서와 저비용 MCU를 활용하여 BOM 비용을 최소화하고 설계를 간소화할 수 있습니다. 위에서 살펴본 바와 같이 ATtiny1627은 이를 시작하기에 매우 유용하며, Microchip은 개발자에게 도움이 되는 다양한 도구와 응용 예제를 제공합니다. 또한 동작을 감지하기 위한 알고리즘 개발의 복잡성을 최소화하기 위해 ML을 사용할 수도 있습니다.
면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.


