본 포스팅에서 가속도계란 무엇이며 ADXL335 가속도계 센서를 Arduino UNO와 인터페이스 하는 방법을 살펴봅니다.
스마트폰에서 기기를 회전하면 화면의 방향이 바뀌는 것을 본 적이 있을 텐데요. 이는 가속도계일 뿐입니다. 따라서 가속도계 센서의 작동 방식, 유형 및 응용 프로그램도 다룰 것입니다.
가속도계의 소개 부분으로 넘어가 보겠습니다.
요즘 카메라와 스마트폰은 축 기반 모션 센서로 구성된 가속기를 사용합니다. 이 가속기는 지진도 감지할 수 있습니다. 가속도 센서는 가속력을 측정하는 전자 기계 장치입니다. 이 힘은 정적일 수도 있고 동적일 수도 있습니다. 우리 모두 알다시피 가속도는 주어진 시간에 따른 속도의 변화를 측정하는 것입니다.
노트북 하드 드라이브도 가속도계를 사용합니다. 노트북이 넘어지면 가속도계가 이를 감지하고 하드 드라이브가 손상되지 않도록 전원을 꺼 데이터 손실을 방지한다고 가정해 보겠습니다. 가속도계는 거의 밀리초 단위로 충돌을 감지하고 에어백을 팽창시키는 에어백 기술에서도 자동차 산업에 도움이 됩니다.
또한 중력을 계산하고 각도 및 기울기 장치를 확인하는 데 도움이 됩니다. 이를 통해 기기가 어떻게 움직이는지도 감지합니다. 지리적 위치 파악은 가속도계를 사용합니다. Google지도에서와 같이. 내비게이션 중에 기기가 움직일 때마다 GPS에 적절한 좌표를 제공합니다.
휴대전화의 회전 (예 : 세로 또는 가로)도 가속도계로 식별됩니다. 또는 오르막길을 오르거나 내리막길을 내려오는 경우에도 마찬가지입니다.
간단히 말해 중력 가속도의 변화를 계산하는 장치라고 할 수 있습니다. 진동, 기울기 및 가속도의 변화를 계산하는 데 도움이 됩니다. 다음은 가속도 센서의 작동 원리로 넘어가겠습니다.
정지 상태의 가속도계는 초당 9.81미터의 지구 중력과 같은 1g을 측정합니다. 가속도계 중 일부는 전압의 작은 변화를 계산할 수 있는 압전 효과로 작동하고 다른 일부는 두 구성 요소의 커패시턴스 변화를 계산합니다.
기본 가속도계는 여러 축으로 구성되며, 대부분의 2차원 움직임을 파악하기 위한 두 개의 축과 3D 위치 측정을 위한 세 번째 축이 있습니다. 요즘 많은 스마트폰과 카메라는 3축 모델을 사용하는 반면, 자동차는 기본적으로 2축을 사용하여 충격의 순간을 결정합니다. 가속도계는 매우 민감하여 아주 미세한 가속도 변화도 측정할 수 있습니다. 가속도계는 가속도의 정적 또는 동적 힘, 즉 중력과 같은 정적 힘과 진동 및 움직임과 같은 동적 힘을 감지합니다.
요즘 가속도계는 최대 3축까지 여러 축을 측정할 수 있습니다. 기본적으로 가속도계는 내부 정전용량판으로 구성되며, 일부는 고정되어 있고 다른 일부는 가속력이 센서에 작용할 때 내부적으로 움직이는 미세한 스프링에 부착되어 있습니다. 플레이트가 움직이면 정전용량을 변경하여 가속도를 결정할 수 있습니다.
압전 가속도계는 압전 소재를 중심으로 구성될 수 있습니다. 이 작은 결정 구조는 기계적 스트레스를 받으면 전하를 출력합니다. 고정은 스프링에 덤핑된 질량과 같습니다. 스프링이 움직이거나 가속할 때 질량의 변위가 발생합니다. 이 변위 값은 가속도를 계산하는 데 도움이 됩니다.
압전 가속도계에는 단결정이 있습니다. 응력을 가하면 이 결정은 전압을 생성하여 속도와 방향을 계산합니다.
정전용량식 가속도계는 실리콘 소자를 사용합니다. 여기서는 가속이 발생할 때 정전용량의 변화를 감지합니다. 이 변화는 전압으로 변환되어 속도를 측정합니다.
이제 가속도계의 작동을 알고 나면 주제에 대한 명확성이 높아졌을 수 있으므로 이제 가속도계의 유형으로 이동하겠습니다.
가속도계의 종류
가속도계에는 두 가지 유형이 있습니다:
(i) AC 응답 (ii) DC 응답
DC 응답
DC 응답은 최대 0헤르츠까지 측정할 수 있어 중력 벡터를 계산하는 데 도움이 됩니다. 비 DC 가속도계는 내재적 감쇠 함수가 있어 특히 장시간 이벤트에 걸쳐 수치 통합 중에 오차가 미미합니다.
AC 응답
AC 응답은 AC 결합형이므로 중력 및 지속 가속도와 같은 정적 가속도를 계산할 수 없습니다. 0.1헤르츠까지 내려갈 수 있을 정도로 매우 민감합니다. 가속도계는 넓은 주파수 응답과 높은 SNR(신호 대 잡음비)로 인해 진동 테스트에도 응용할 수 있습니다.
1. 압축 모드
이 가속도계는 압축력을 받을 때 전하를 방출하는 수정 요소로 구성됩니다. 내부 감지 소자는 크리스털에 결합된 질량을 사용하여 감지합니다. 가속도계는 스테인리스 스틸로 된 적절한 본체에 보관되어 센서가 열악한 환경을 견딜 수 있도록 견고하게 만들어집니다. 센서의 전기 연결은 밀폐형 케이블 또는 플러그 소켓 중 하나를 사용할 수 있습니다.
이 가속도계는 과학 및 산업용 애플리케이션에도 사용됩니다.
즉, 자동차, 항공우주, 의료, 유지보수, 공정 제어 등...
2. 전단 모드
전단 모드는 또한 센싱 크리스탈을 사용하며, 이 크리스탈은 중심 기둥과 지진 질량 사이에 위치합니다.
이 유형의 가속도계가 가속을 받으면 질량이 감지 크리스탈에 전단 응력을 유발합니다. 압전 센서를 사용하면 크리스탈에 가해지는 응력이 그에 비례하는 전기 출력으로 이어집니다. 센서에 내장된 신호 컨디셔닝 회로 또는 충전 모델 유형의 전기 커넥터가 직접 전기 출력을 전송합니다.
이러한 가속도계는 베이스와 하우징에서 분리된 감지 크리스털을 사용하므로 열 과도 현상과 베이스 굽힘 효과를 탁월하게 제거할 수 있습니다. 또한 크기가 작아 더 높은 주파수 응답을 촉진합니다.
3. 정전식 가속도계
이러한 유형의 가속도계는 가속도와 관련된 전기 커패시턴스의 변화를 감지합니다. 정전용량식 가속도계의 감지 요소는 차동 모드에서 작동하는 두 개의 병렬 플레이트 커패시터로 구성됩니다.
이 병렬 커패시터는 브리지 회로에서 작동하며 센서가 가속될 때 오실레이터에서 생성되는 피크 전압을 변경하는 두 개의 고정 커패시터를 가지고 있습니다. 감지 회로는 출력 신호를 처리하기 위해 합산 증폭기에 공급되는 피크 전압을 감지합니다.
이제 유형을 알았으니 가속도계를 아두이노와 인터페이스해 보겠습니다.
동작 코드
const int xpin = A0;
const int ypin = A1;
const int zpin = A2;
void setup()
{
Serial.begin(9600);
}
void loop()
{
int x = analogRead(xpin);
delay(50);
int y = analogRead(ypin);
delay(50);
int z = analogRead(zpin);
delay(50);
Serial.print(x-322);
Serial.print("\t");
Serial.print(y-320);
Serial.print("\t");
Serial.print(z-263);
Serial.print("\n");
}
위 코드는 출력 V0, V1, V2 값을 아두이노의 아날로그 입력 A0, A1, A2 에 연결하여 출력 전압을 디지털로 변환하여 읽어들입니다. 읽은 값에서 일정 숫자를 빼서 값을 계산합니다. 무언가 정확하지 않을 것 같은 예감이 들어 아래에는 ADXL335 라이브러리를 설치하여 값을 읽어오는 예제를 설명합니다.
아두이노 IDE를 실행하여 라이브러리 설치한다. 아두이노 라이브러리가 이상~~ㅠ.ㅠ
가속도계 응용 분야는 아주 많습니다.
- 휴대폰은 가속도계를 사용하여 기기의 회전을 확인하고 게임을 플레이합니다.
- 스마트 밴드/스마트 워치는 달리기, 걷기, 등산 등을 감지하는 가속도계를 사용합니다.
- 자동차는 가속도계를 사용하여 충돌을 감지하고 에어백을 즉각적으로 펼칩니다. GPS 시스템은 내비게이션과 움직이는 물체의 속도 확인을 위해 가속도계를 사용합니다.
- 카메라는 선명한 사진을 촬영하기 위해 이미지 안정화에 가속도계를 사용합니다.
- RC 드론은 균형과 안정화를 위해 가속도계를 사용합니다.
- 노트북 하드 드라이브에서 노트북이 자유 낙하할 때 전원을 차단하는 데 사용됩니다.
- 게임 컨트롤러도 가속도계를 사용합니다.
- PSP, XBOX 등 지진 활동 및 여진을 측정하는 데 사용됩니다.
- 내부 내비게이션 시스템(INS)에 사용됩니다. 즉, 외부 참조를 사용하지 않고 움직이는 물체의 위치, 방향 및 속도를 측정합니다.
- 플레이스테이션 3와 같은 비디오 게임에서 스티어링을 보다 제어되고 자연스럽고 사실적으로 만들기 위해 사용됩니다.
- 심폐소생술 흉부 압박의 깊이를 측정하는 데 사용됩니다.
Interfacing ADXL335 Accelerometer Sensor with Arduino Uno
Arduino Library for ADXL335 Git 저장소
'개발자 > Arduino' 카테고리의 다른 글
전류 전압 컨버터 4~20mA 전류 측정 (0) | 2023.05.02 |
---|---|
Arduino 기반 LM35 온도 센서 데이터 수집 시스템(.csv 파일) (0) | 2023.04.25 |
아두이노 라이브러리 설치 안될 때 access is denied 오류 해결 (0) | 2023.04.13 |
mkdir c:\program files\arduino ide\libraries: access is denied. 해결 (0) | 2023.04.11 |
아두이노 압력센서 FSR 406 Solder Tabs (1) | 2022.12.12 |
아두이노 금속감지 센서 LJ12A3 (1) | 2022.12.08 |
아두이노 RC522 RFID Module 사용하기 (0) | 2022.11.11 |
아두이노 프로그래밍 Cheat Sheet (1) | 2022.11.01 |
더욱 좋은 정보를 제공하겠습니다.~ ^^