
![]() 一种利用超声波传感器检测和避障的系统 ![]() ![]() 描述 来自传感器的数据将分四路发送到RC遥控器,RC遥控器在IL9341显示器上显示周围环境。 ![]() 接收器 它有一个由arduino mini、mpu6050 (gy87)和nrf24模块组成的接收器,。它可以接收,也可以发送。 这将用于将来自mpu6050和HC-sr04s的数据发送回遥控器,并在那里显示。 ![]() 遥控器 它由STM32f103、NRF24模块和ili9341显示器组成。 数据在这里被处理,周围环境的图像将被绘制出来。 此外,这些数据还可用于控制四轮车并避免障碍物。 遥控器演示 我在读取超声波传感器数值时遇到了相当大的困难。我怀疑可能是螺旋桨的影响。 经过一次测试,我需要重新画板,看看如何准确地读出离地面的距离。 ![]() 组件 1 × zmr250四轴飞行器框架 1 × cc3d飞行控制器 1 × arduino mini 1 × stm32f103 2 × nrf24模块 1 × 锂电池3s 2200毫安 1 × 锂电池1s 1500毫安 1 × RC遥控器外壳 1 × ili9341显示器320 x240 2 × 3.3v稳压 1 × 按键,导线,洞洞板 5 × HC-sr04 首次飞行 第一次飞行出了很多问题,因为一个int数值的向下溢出,导致油门从0降到255,当我把操纵杆降到很低的时候,四轴自行起飞。 几个小时后,我终于修复了错误的代码,四轴也终于又可以操纵了,没有任何问题。 我添加了一个菜单,可以精确控制离障碍物的距离、前后俯仰的时间、扫描间隔和接收器上检测碰撞后的前后俯仰值等,当然还可以远程关闭和打开。 现在我终于可以测试碰撞检测是如何工作的。它有间歇性工作,它会将四轴的高度设定为一个设定值,使其稍微远离障碍物。但是超声波传感器很难正确检测到它。 超声波传感器的位置似乎并不理想,因为可能有些波,会从四轴的底部反弹。 更多的测试 经过几次飞行后,很明显超声波传感器有问题。 它们在地面上工作良好,但是在空中,随着螺旋桨旋转,很难检测到任何东西。这可能是由四轴飞行时产生的噪音和气压引起的。 经过一点研究,我找到了这篇论文 这证实了我的猜测。 所以有点失望,我在ebay上买了一个准确的红外距离传感器,希望它不会有同样的问题。 我还刚刚收到了rf24接收器,现在他能从传感器发回数据, 这样明天我就可以更准确地看到问题开始出现的地点和时间。我一直想为四轴增加一个电池监视器。 这样就能看见控制器上的电池状态,这样你就能准确地知道你还剩多少电,而不必依赖这些烦人的电池蜂鸣器。 详细查看超声波传感器 视频演示 初步结果 我在我的控制器上增加了一个绘图功能,这样我可以在飞行时看到输出。 这样做,我发现超声波传感器只能探测地板上0 - 25厘米的距离。草地上更糟。 再往上,螺旋桨的噪音影响就太大了。现在我最多可以在20厘米的高度工作。 当达到指定高度时,四轴通过将油门降低到控制器上的指定值来保持高度。 这只是一个粗略的比例控制器。一个合适的PID控制会效果更好,但是现在传感器问题必须首先解决。 ![]() PPS :每秒发送的数据包,RCV接收的传感器值以厘米为单位 |
很不错。 |
666无人机政策出来了 |