这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » ”烈火狂龙“牌-四轴飞行器开发过程总汇-(MPU6050问题汇总----四轴基础

共26条 3/3 1 2 3 跳转至
助工
2014-09-14 20:06:02     打赏
21楼

-------------------------------------------------------------------------------------------------------------------------------------------------

**********************技术疑问5:串口数据乱码和滴答延时减小一半*************************

 

原来在调试遥控的时候,一直用5110来测试调试的过程结果。

在调试飞控的时候,发现按原来方法设置的串口,出来的数据是乱码的。在程序中设置的波特率是9600,但是用串口调试助手观察的时候要设置波特率位19200。。

 

最后发现飞控板上用的晶振是16M的,经过我对度娘的无情压榨,发现将STM32F10X.H里面的HSE_VALUE   ((uint32_t) 8000000)改成HSE_VALUE    ((uint32_t)16000000)。这样修改的话串口就不会出现这样的问题了哈。

 

但是下一个问题有出现了,就是你用滴答定时器的时候,你的延时比你用8M晶振的时候,减小了一半,所以你还要在RCC_Configuration()中将

RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);改成

RCC_PLLConfig(RCC_PLLSource_HSE_Div2, RCC_PLLMul_9);

经过这样的修改,这两个问题就解决了。

***********************************************************************************到此,这两个问题都解决了,但是我还存在疑问,在没有对PLL的时候分频的时候,串口也是对的,那STM32的系统时钟是多少呢?如果是不是72M的话,为什么串口的时钟好像就是72M,还有STM32技术手册中规定的芯片最大的时钟是72M。如果是72M的话,为什么滴答定时器的时钟会比原来的事8M的时候多一倍呢?滴答定时器的时钟提供者是HCLK,所以HCLK的时钟不是72M吗?我就想不通了,为什么滴答定时器的时钟会不对。

 

希望大牛给我解释一下哈。

**********************************************************************************

------------------------------------------------------------------------------------------------------------------------------------------------

 


助工
2014-10-03 16:25:53     打赏
22楼

这个十一假期是一个很无奈的假期。也是我在学校的最后一个十一假期,下个学期就要走向工作岗位了。

 

本来打算把我的四轴调试出来的,但是不料。学校通知今年假期不准进入实验室。听到这个消息我真的很无语,但是那又能怎么样呢?所以只能把东西带回来寝室,但是我呢。我在寝室是静不下心来的。所以就出去玩玩的,但是玩了那么一天也感觉没什么意思。所以就留在寝室睡觉了。。

 

今天我从早上一觉睡到中午,睡得有点烦了。

 

爬起来准备将前几天调试MPU6050的问题贴出来给大家看看,希望能帮助到大家。。

现在突然接到室友的电话,叫我给他们送鱼钩和线去,所以这就暂时的等一下在发,现在我为了晚上美味的鱼汤,所以我啊先撤了哈。。


助工
2014-10-03 17:55:41     打赏
23楼

其实也不是愤青的。但是我就是想不通,我们实验室为什么假期不让进。说是什么安全问题,但是我么在实验室一个暑假都没有出现任何的意外,这七天就会出现意外么?

 

 

只能说学院的院长是SB。请原谅我没有素质一回了。

 

骂了一下心情就好很多啊。。

 

 


助工
2014-10-03 18:06:55     打赏
24楼

前面这么都是我个人一些情绪,虽然好不理解,都是我又能怎么办呢?

 

所以就让他们去死吧。

 

今天晚上就把我多一些对四轴的一些理解给广大网友分享。。希望对你们以后的学习有帮助。


助工
2014-10-03 18:18:27     打赏
25楼

*******************四轴基础知识讨论****************************************

一下内容是我根据网络上的各种资料进行总结和理解的。

如果有不对的地方希望朋友们给我指正。

 

我们的烈火四轴采用的传感器是MPU6050。他是一个九轴传感器,可以测量的参数有三轴加速度,三周角速度,和三轴外部传感器的参数。(这个可以通过网络上很容易找到的我。)

 

采用MPU6050传感器,来采集加速度和角速度。但是我们最终的目的是获取飞行器的姿态角。我们使用MPU6050传感器采集到的参数有的是相对的,有的是绝对的。但是我们所要得到的姿态角就是绝对的。

姿态角是指MPU6050自身的三维坐标与自然界(或者说地表,这里把地表看成一个平面,因为飞行器能够飞行的距离相对于地球表面来讲,小得几乎可以忽略不计,在这个区间内,地表可以看成一个平面)三维坐标之间的夹角。这个夹角实际上能够通过加速度或者角速度计算出来的。这个角度就叫姿态角。比如:角速度的一次积分就是角度;加速度和重力之间的角度,则可以通过三角关系来获得。

但是,单纯的用角速度或者加速度来计算姿态角,是不可取的。为什么呢?

对于MPU6050测得的角速度来说,它的噪声很小,受到运动的影响相对来说不大,但是由于积分运算的累积,长时间使用角速度计算姿态角度,会产生很大的误差。所以在很小的一段时间内,用角度积分来求取姿态角相对来说还是比较精确的。

对于MPU6050测得的加速度来说,由于振动等运动环境的影响,很容易使输出的加速度值发生比较大的变化,也就是噪声比较大,有一定的误差一旦发生剧烈的变加速运动,加速度和重力之间的夹角的计算就不那么准确了但是从长期来看,加速度相对较为稳定。

也就是说,如果是静止或者某种理想的运动(加速度趋近恒定),加速度计算出来的姿态角度还是不错的。

从上面的分析,就能知道。如果需要在四轴中计算姿态角度,单纯使用加速度或者角速度来计算姿态角度是不合适的,必须处理加速度和角速度,然后通过二者来计算出一个相对精确的姿态角度。一般的处理的原则是,以陀螺仪测得的数据为主,加速度进行校正(具体系统,具体处理)。这个处理的过程就是一次数据融合的过程。

----------------------------------------------------------------------------------------------------------------------------------


助工
2014-10-03 18:27:15     打赏
26楼

不知道怎么回事,我上EEPW非常卡。。我现在 用的是电信的8M的宽度,就不存在网速的问题啊。

 

在EEPW上打字都按半天都没有反应,不知道怎么回事。。

 

不是输入法的问题哈。

 

我在其他的网站输入就不会出现这种情况,在WROD上输入也不会出现这种情况的。。

 


共26条 3/3 1 2 3 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]