32F429IDISCOVERY BSP로 자이로스코프 제어

2019. 7. 8. 23:21임베디드/32F429IDISCOVERY

https://cafe.naver.com/stm32study/1256의 글을 읽고 재구성했습니다

 

터치스크린 제어에 이어 BSP를 활용한 자이로스코프 제어를 해보려고 한다

https://www.st.com/content/ccc/resource/technical/document/user_manual/6b/25/05/23/a9/45/4d/6a/DM00093903.pdf/files/DM00093903.pdf/jcr:content/translations/en.DM00093903.pdf 

 

우리가 사용하는 32F429IDISCOVERY 보드의 문서를 보면 L3GD20의 자이로스코프가 내장되어 있다

 

 

MEMS 저전력 시스템을 사용하며, 내장된 자이로스코프에 대한 내용으로 I2C, SPI 인터페이스를 활용해서 자이로스코프 값을 받아오게 되어 있다. 자이로센서의 용도는 각속도를 측정하는 용도로, xyz 3축에 대한 회전 속도를 측정하며, 이 값을 적분해서 실제 각도를 얻게 된다

 

 

 

BSP 파일은 다음과 같이 구성했으며, 과정은 전 터치스크린 제어와 비슷하다. Include PATH에 명시해주고 빌드를 한다

 

 

main.c에 BSP_GYRO_Init(), BSP_GYRO_GetXYZ(float *)을 사용해서 자이로 3축 값을 받아왔다

 

 

 

정지상태의 값임에도, 매우 큰 오차를 보여주는 RAW 데이터임을 알 수 있다