Получение статических значений из MPU6050 DMP

У меня проблема с получением четких и не перепрыгивающих значений с MPU9050 DMP. Я использовал код Джеффа Роуберга. Проблема в том, что когда я использую код, все идеально, YPR очень плавный. Но когда я использую это в своей программе с задержкой, у меня возникают скачки значений с течением времени. В зависимости от задержки значения скачка меняются.

Я использовал задержку, потому что я читаю серийные значения по единице, а единству требуется небольшая задержка на стороне Arduino для чтения данных. Подскажите, пожалуйста, в чем проблема и как ее исправить?

Большое спасибо.


person keivan    schedule 31.10.2014    source источник
comment
@dda спасибо за исправление, но можете ли вы решить мою проблему?   -  person keivan    schedule 31.10.2014


Ответы (1)


Вероятно, что буфер FIFO переполняется, что приводит к неверным данным. Это произойдет, если вы установите задержку, которая длилась дольше, чем ваша частота dmp. Одна из стратегий, которую вы могли бы использовать, - это считывать данные из dmp как можно быстрее, но отправлять данные через последовательный порт только через каждые два или три показания, в зависимости от того, какая задержка вам нужна между показаниями.

Если вы измените свой вопрос, указав, какая у вас частота dmp и какая у вас желаемая серийная частота, я мог бы попытаться помочь больше.

person Scott Mahr    schedule 23.01.2015
comment
Спасибо за ваш ответ, мой проект был приостановлен несколько месяцев назад. Я дам тебе знать, как только начну снова. заранее спасибо - person keivan; 22.02.2015