예전에 작성한 글에 사용된 코드에서 I2C 코드만 에러를 복구하는 방향으로 코드를 작성했다.
코드의 내용은 MPU6050을 사용하여 각도를 추정하고 I2C에러가 발생했을 때 자동으로 복구하는 코드이다.
테스트 용으로 만들어서 코드가 지저분해 자세한 내용은 생략한다.
main.c, i2c.c, stm32f4xx_it.c 파일을 보면 쉽게 이해 갈 것이다.
결과 - (0)
에러가 발생하면 MPU6050을 초기화하고 I2C를 복구한다.
-
Quaternion Open source AHRS 알고리즘
AHRS는 Altitude and Heading Reference System의 줄임말이다. 즉 항공기나 다른 물체의 자세를 측정하는 시스템이라고 할 수 있다. 현재 드론에 들어간 자세를 측정하는 부분은 상보 필터를 사용한다. ddtxrx.
ddtxrx.tistory.com
위 글에 나오는 알고리즘을 적용했다.
MPU6050.c 파일의
1
|
void MahonyAHRSupdateIMU(MPU6050* mpu6050,ANGLE * angle)
|
함수가 자세 추정 함수이다.
'임베디드 > 기타' 카테고리의 다른 글
Quaternion Open source AHRS 알고리즘 (0) | 2020.09.20 |
---|---|
APC220 통신 모듈 (0) | 2020.09.11 |