AnsweredAssumed Answered

Need help:stm32 communicate with ADIS16135

Question asked by wkd_dynamic on Apr 26, 2016
Latest reply on Apr 28, 2016 by NevadaMark

Hi,guys.   I got a ADIS16135 and a stm32f103-vet6 here,and what i 'm want to do is using the ADIS16135 to output the angular speed and  integrate them to output angular.

this is  the first time i use such a High end Gyroscope,i got a lots of questions.


1,how to read the data Correctly.i use the Hardware SPI to communicate with 135.i reference the manual to configure the gpio and spi .  but i still read some wong data. the read rate will not exceed 300hz(because the manual show that 135's speed was 335hz)and every time i use the 135 i will preheat it for at least 30min(i was afraid that the temperature affect the angular speed data).still i will read some wrong data.


2,how can i ensure my Read interval(the time between i read the two data,oh ,is hard to explain)my integration formula is very simple angular=angular+angularspeed*read interval ,if i want to output the angular i must ensure my read interval but unluckily i can't ensure it . i use the system clock to write a delay function.But a master told me that using the system clock was not accurate.   the actual read interval is not like my code showing .And the i try to read the data in the timer interrupt so i can ensure my read interval .BUT it can't ,the system will dead ,it stop .i look for the internet,some people told me that reading spi in the timer interrupt is not allowed.

so how can i ensure my read interval ,do you have any good suggestion.

or do you have any good idea for integrate the data?


3,how to optimize the data ,if i ignore the read interval ,i reference a article form internet which was writed for ADIS16130 that teaching you to  optimize it's data   and i use the formula       RBC=rate+B3+(temp-T3)*BTC,rate-the gyro data you read ,  B3-the average of the gyro data for 10s at the beginning(let the Gyroscope static),    temp- temperature data you read ,T3-do the same like B3,  BTC-(B2-B1)/(T2-T1),the same as B3 and T3.

after i deal with the data ,when the  Gyroscope is static the data of angular speed was floating between 0.5~-0.5  and if i don't deal with the data the angular speed was 1.0~-1.0(the data of GYRO_OUT)   is the data normal???(i think is a little bit big )


4.i want to know the normal operating temperature of 135 .  i read the manual ,and it show me that the Gyroscope works best at 25℃,and a master who was using the ADIS16130 told me that his 130 operating temperature is 28℃~30+℃,but my  135 is almost 41℃. Is 135 works at 40℃(using for at least 30min).


i use ADIS16135 on a robot's base plate,and i hope your advice is not telling me to change stm32,our team just have stm32f103 or stm32f4,

and  i  am not very good at English,i hope my wrods express correctly.

finally thank you for reading it ,thank you.....whatever you answer me or not.