调试心得

主要记录对做基于stm32F103自平衡小车调试时候的一些深刻感悟(以后会继续更新)

1.写完MPU6050时,测数据数据显示一次(或者一直为零)然后就不动了。

发现这个问题后,我先是调试代码发现是dmp库中的dmp_read_fifo(gyro, accel, quat, &sensor_timestamp, &sensors, &more); 这个函数读取失败,是因为这个函数里面mpu_read_fifo_stream(dmp.packet_length, fifo_data, more);读取寄存器值失败。找不到原因,想了很久,最后经过高人指点,发现原因是主函数的超级循环加了延时导致,具体原因不清楚

解决办法:去掉主函数超级循环的延时。

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

原因:在MPU6050.C中有#define DEFAULT_MPU_HZ  (200),表示mpu6050的采样频率是200hz,及5ms采样一次。我们使用的是dmp运动处理器和它自带的固件库来获取角度值。而经过阅读dmp库里面的代码得知,他是把获取到的四元数放到一个fifo缓冲区里面。问题就出现在这! 我们在主函数里面加延时的时候,会使得FIFO缓冲区溢出,使得我们读出的数据一直是一开始的值也就是0.如下图:它会调用mpu_reset_fifo()这个函数来初始化fifo,所以每次读取都会初始化,都会是零。


                
  • 9
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
本设计提出一种基于WIFI的微型四轴飞行器,实现数据高速度传输,实时控制微型四轴飞行器的飞行速度、姿态,提高微型四轴飞行器的可靠性。 为达到上述目的,本实用新型采用的具体技术方案如下: 一种基于WIFI的微型四轴飞行器,包括安装主体,其关键在于,所述安装主体上包围设置有四个旋臂,四个所述旋臂处于同一水平面且整体呈“X”形,在靠近所述旋臂的端部均设有一个直流电机,所述直流电机的转轴上安装有旋翼;所述安装主体为一电路安装腔,该电路安装腔内设有微控制器,所述微控制器分别与四个所述旋臂上的电机连接,在所述微控制器上连接WIFI通信模块,所述微控制器经WIFI通信模块与飞行控制系统连通。 采用上述方案,四个旋臂处于同一水平面且整体呈“X”形,并通过设置在旋臂的端部直流电机实现飞行,其,相邻两个直流电机的旋转方向相反,相对两个直流电机旋转方向相同,通过调节4个电机的转速来改变旋翼转速,以实现微型四轴飞行器空间6个运动自由度,即分别沿X、Y、Z坐标轴作平移和旋转运动,以及4个可以控制的基本运动状态,即上下飞行、前后飞行、滚转飞行和偏航飞行;通过WIFI通信模块,微控制器与飞行控制系统之间实现无线通讯,飞行数据实现高速度传输,飞行控制系统对微型四轴飞行器实现实时控制,减少了微型四轴飞行器和其他物体发生碰撞,提高了微型四轴飞行器的安全性和可靠性。 进一步描述,所述微控制器上连接有陀螺仪传感器、加速度及磁力传感器、LED状态显示模块以及飞行姿态显示模块。 采用上述方案,根据陀螺仪传感器、加速度及磁力传感器确定实时监测飞行器相对于标准的X、Y、Z坐标轴的偏离,同时检测飞行器的加速度和飞行方向,并结合四元数得到欧拉角,从而得出飞行姿态参数,同时通过LED状态显示模块和飞行姿态显示模块实时显示出来。 再进一步描述,为了提高数据处理速率,所述微控制器为嵌入式微控制器,所述微控制器采用LPC2124芯片。 再进一步描述,所述陀螺仪传感器为三轴陀螺仪传感器,所述陀螺仪传感器采用FXAS21002芯片,该芯片小型、功耗低,该陀螺仪传感器的芯片经SPI接口与所述微控制器相连,传输数据块,实时性好。 再进一步描述,所述加速度及磁力传感器采用FXOS8700CQ芯片,将加速度传感器和磁力传感器合二为一,大大降低了飞行器的载重,并且根据该传感器可以飞行器的加速度及方向,有效监管飞行器的飞行状态,所述加速度及磁力传感器的芯片采用SPI接口与所述微控制器相连。 再进一步描述,所述WIFI通信模块采用RN1723模块,该模块是一款独立的、内嵌2.4GHzIEEE802.11b/g模块,其集成了晶振、电压调节器、匹配电路、功率放大器等。并支持Infrastructure与SoftAp网络模式,内置网络应用程序:TCP,UDP,DHCP,DNS,ARP,HTTP客户端与FTP客户端。板载TCP/IP网络协议栈以及唯一的MAC地址。支持UART通信接口,使用简单的AT命令字与外部微处理器进行读写操作。考虑到该模块如果采用外部天线,不仅其重量增加,并且也影响飞行器的正常飞行。因此在所述WIFI通信模块的电路板上设置有板载天线,提高了WIFI通信模块的通信可靠性,并降低了飞行器的载重。 再进一步描述,由于飞行器要在空完成各种飞行姿态,则飞行器上的所有结构器件均需要连接牢固,则在所述电路安装腔内设置有电路板固定装置,为了防尘防水,在所述电路安装腔上还设置有电路板隔离装置,其电路板隔离装置为包裹在安装主体上的薄膜或者透明塑料板,从而延长飞行器的使用寿命,其薄膜重量轻,不会大幅度增加飞行器载重,而透明塑料板使用时间长,不会经常更换,使用方便。 本实用新型的有益效果:通过在微型四轴飞行器上设置WIFI通信模块,使飞行器与飞行控制系统连通,实现实时控制,减少控制延时而造成的损伤;并且在电路板上设置板载天线,既提高了传输速度,并且载重小;根据陀螺仪传感器、加速度及磁力传感器确定实时监测飞行器相对于标准的X、Y、Z坐标轴的偏离,同时检测飞行器的加速度和飞行方向,并结合四元数得到欧拉角,从而得出飞行姿态参数,同时通过LED状态显示模块和飞行姿态显示模块实时显示出来;并在飞行器上设置电路板固定装置,使飞行更加可靠;在飞行器上设置电路板隔离装置,防尘防水,延长了飞行器的使用寿命。 本实用新型的工作原理:微型四轴飞行器通过WIFI通信模块与飞行控制系统连通,微控制器采集油门、航向、滚转、俯仰信号,并通过WIFI通信模块传送到飞行控制系统,飞行控制系统发出控制信号,致使微型四轴飞行器控制四个直流电机旋转,实现微型四轴飞行器垂直上升、垂直下降、向左移动、向右移动、向前移动、向后移动、翻转飞行、测向飞行、自由悬停、紧急停机等,在飞行过程,LED状态显示模块显示无线通信状态、飞行器启动状态、紧急停机状态

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值