
![]() 0 T8 e9 B) u' U# i2 u2 u/ U$ O$ ]9 @* S& [ 一种利用超声波传感器检测和避障的系统 ! ^. L& y$ W$ ?/ X1 q$ K, z ![]() ![]() 描述, L; ^6 ]# x+ q/ X 来自传感器的数据将分四路发送到RC遥控器,RC遥控器在IL9341显示器上显示周围环境。 ![]() 接收器 它有一个由arduino mini、mpu6050 (gy87)和nrf24模块组成的接收器,。它可以接收,也可以发送。 这将用于将来自mpu6050和HC-sr04s的数据发送回遥控器,并在那里显示。 ![]() 遥控器 它由STM32f103、NRF24模块和ili9341显示器组成。( q: h# ]5 G" \4 C 数据在这里被处理,周围环境的图像将被绘制出来。5 P3 p9 D( k3 A' F( e 此外,这些数据还可用于控制四轮车并避免障碍物。 m* [+ c6 k8 J5 J4 t 遥控器演示 8 O2 S3 e9 E3 s; O 我在读取超声波传感器数值时遇到了相当大的困难。我怀疑可能是螺旋桨的影响。 经过一次测试,我需要重新画板,看看如何准确地读出离地面的距离。 ( k- K& k) c$ X! x0 @/ ?8 E ![]() 组件+ b' ~1 ?, H# ] 1 × zmr250四轴飞行器框架4 g3 S9 i5 o, g 1 × cc3d飞行控制器 1 × arduino mini 1 × stm32f103 2 × nrf24模块- n4 N0 \6 h( |& ? 1 × 锂电池3s 2200毫安 1 × 锂电池1s 1500毫安 1 × RC遥控器外壳% H% Z( @0 I4 e U2 j8 @ 1 × ili9341显示器320 x240" p$ Y4 T7 z3 f 2 × 3.3v稳压 1 × 按键,导线,洞洞板 5 × HC-sr04. K, J5 g2 H( a) X m 8 Q2 z0 B6 a: q 首次飞行 第一次飞行出了很多问题,因为一个int数值的向下溢出,导致油门从0降到255,当我把操纵杆降到很低的时候,四轴自行起飞。, c, T3 Q/ u- O, C: D3 }. N" V 几个小时后,我终于修复了错误的代码,四轴也终于又可以操纵了,没有任何问题。 h6 H) a2 P4 @1 D1 @ 我添加了一个菜单,可以精确控制离障碍物的距离、前后俯仰的时间、扫描间隔和接收器上检测碰撞后的前后俯仰值等,当然还可以远程关闭和打开。2 w: w# u) G; B$ ~; a- k: Y* g 现在我终于可以测试碰撞检测是如何工作的。它有间歇性工作,它会将四轴的高度设定为一个设定值,使其稍微远离障碍物。但是超声波传感器很难正确检测到它。; X+ A2 I3 G. D$ @ ' q% }/ C5 J8 a3 Z8 ?+ B6 M 超声波传感器的位置似乎并不理想,因为可能有些波,会从四轴的底部反弹。 : p. h* E! `! b7 j* X5 ]4 O6 D3 o 更多的测试. k% d k; i6 B9 u% g; R 经过几次飞行后,很明显超声波传感器有问题。 它们在地面上工作良好,但是在空中,随着螺旋桨旋转,很难检测到任何东西。这可能是由四轴飞行时产生的噪音和气压引起的。; } Y+ I9 Q$ n3 @) \: e 经过一点研究,我找到了这篇论文, a* u0 S% d: `, P , W x& ]0 `/ P5 c2 m2 C 这证实了我的猜测。 所以有点失望,我在ebay上买了一个准确的红外距离传感器,希望它不会有同样的问题。 我还刚刚收到了rf24接收器,现在他能从传感器发回数据,' ]* q/ N1 E2 \- `4 v! f P. ? 这样明天我就可以更准确地看到问题开始出现的地点和时间。我一直想为四轴增加一个电池监视器。 这样就能看见控制器上的电池状态,这样你就能准确地知道你还剩多少电,而不必依赖这些烦人的电池蜂鸣器。 详细查看超声波传感器, _- L+ H9 H2 Z/ ^& | 视频演示) _, I) W/ j+ G 初步结果 我在我的控制器上增加了一个绘图功能,这样我可以在飞行时看到输出。6 ?/ d9 u% A( y! I6 h 这样做,我发现超声波传感器只能探测地板上0 - 25厘米的距离。草地上更糟。4 A! C5 H: Y* k8 ]- M3 w! r& r6 C# q 再往上,螺旋桨的噪音影响就太大了。现在我最多可以在20厘米的高度工作。 当达到指定高度时,四轴通过将油门降低到控制器上的指定值来保持高度。 这只是一个粗略的比例控制器。一个合适的PID控制会效果更好,但是现在传感器问题必须首先解决。% _4 z& L5 F; @" z9 w( [5 u0 T! Q! J3 [ ![]() PPS :每秒发送的数据包,RCV接收的传感器值以厘米为单位 |
很不错。 |
666无人机政策出来了 |