이우의 개발일지
자이로 센서 원리 (MPU6050) /가속도계 / 자이로스코프 / LSB 본문
자이로 센서 기본 원리 (feat. MPU6050)
MEMS 기반 센서 기술
- 가속도계 : 가속도계는 내부에 미세한 질량을 포함하고 있다. 이 질량이 가속도(중력 및 외부 힘)에 반응해 미세한 변위를 일으킨다. 이 변위는 전기 신호를 통해 측정되어 x,y,z 축 방향의 가속도 값을 제공함.
- 자이로스코프 : 자이로스코프는 진동하는 구조물을 사용하며, 회전(각속도)을 측정할 때 코리올리 효과를 활용. 회전 운동이 발생하면 진동 구조물에 작용하는 코리올리 힘으로 인해 미세한 진동 변형이 발생하고, 이 변화를 전기 신호로 감지하여 각속도 값을 산출.
(※ 코리올리 효과 : 즉 전향력이라고도 하며, 회전체의 표면 위에서 운동하는 물체에 대하여 운동 속도 방향에 수직으로 작용하는 가상의 힘)
센서 데이터의 처리
- 원시 데이터 : MPU6050은 내부 ADC(아날로그 - 디지털 변환기)를 통해 가속도계와 자이로스코프의 아날로그 신호롤 디지털 데이터로 변환. 이 데이터는 I2C 인터페이스를 통해 전송
- 단위 변환 : 읽어온 원시 데이터는 센서의 감도에 따라 물리적 단위로 변환. 가속도계의 경우 ±2g 설정에서는 1g이 약 16,384 LSB에 해당, 자이로스코프는 ±250°/s 설정 시 1°/s가 131 LSB에 해당.
(※ 여기서 LSB란 명칭이 헷갈리겠는데 LSB는 밑에 자세히 설명하겠다)
즉, 가속도의 최대값은 -2g ~ +2g이고, 16비트로 표현한다면 -32768 ~ +32767까지 표현할 수 있다.
따라서 원시 값이 만약 16384 가 주어진다면 실제 가속도는 1g이고, 8192g이라면 약 0.5g로 계산된다.
또한, 자이로스코프 감도는 -250°/s부터 +250°/s라는 의미다.
1 °/s에 해당하는 값이 131 LSB로 정해져있다. 따라서 원시값이(LSB)가 262라면 실제 가속도는 2 °/가 된다.
먄악, LSB가 이해가 안된다면 밑에 설명을 참고하자!
LSB 추가 설명
LSB는 "Least Significant Bit'의 약자로, 디지털 값에서 가장 작은 단위를 의미한다.
아날로그 신호를 디지털로 변환할 때 ADC(아날로그-디지털 변환기)를 사용하는데, 센서는 전체 측정 범위를 디지털 값의 범위로 나누게 된다. 각 디지털 단계(한 LSB)가 얼마나 큰 변화를 나타내는지 감도(Scale factor)라고 부른다.
여기서 MPU6050의 자이로센서 가속도계는 -2g ~ 2g까지의 값을 16비트로 표현한다. 실제로는 1g의 변화는 위에서 말한 LSB가 16,384의 LSB인 것이다.
즉, 센서가 1g의 가속도를 감지했을 때 출력되는 원시 데이터의 변화가 16,384 "카운트"를 의미한다.
라즈베리파이로 자이로센서 활용 사례
Raspberry Pi 5로 MPU6050 자이로 센서 제어 (가속도계 + 자이로 스코프 )
Raspberry Pi로 MPU6050 (가속도계 + 자이로 스코프) 제어하기 MPU 6050 자이로 센서에 대해먼저, 자이로 센서는 균형을 이루기 위해 현재 정보값을 얻기 위한 센서로 많이 쓰인다.흔히, 6축과 9축이 존재
everything.pipelineleewoo.com
'Embeded' 카테고리의 다른 글
인공지능 스피커 SK 누구 (Nugu) 소개, 전체 스펙 및 분해 (1) | 2025.02.13 |
---|---|
Raspberry Pi 5로 MPU6050 자이로 센서 제어 (가속도계 + 자이로 스코프 ) (0) | 2025.02.04 |
Dynamixel 모터 제어 일기.. XM430-W210 (0) | 2024.11.11 |
라즈베리파이 yolo v2 모델 이용 및 라즈베리파이 to STM32 보드 UART 통신 (9) | 2024.10.08 |
STM32 임베디드용 ML 모델 개발하기 (Tiny yolo, SSD Mobile net) (1) | 2024.07.17 |