
![]() * g, k5 e3 U- E) e; j" J+ @ 一种利用超声波传感器检测和避障的系统 ![]() 4 b' m: C8 o* |' |+ v( W) Y0 ^. L ![]() 描述, X8 w$ M7 U! ~( z/ ?# f 来自传感器的数据将分四路发送到RC遥控器,RC遥控器在IL9341显示器上显示周围环境。 ![]() 接收器' Q- _' A$ ^2 h( } 它有一个由arduino mini、mpu6050 (gy87)和nrf24模块组成的接收器,。它可以接收,也可以发送。* \: d7 y4 n: z4 t* H( {# V 这将用于将来自mpu6050和HC-sr04s的数据发送回遥控器,并在那里显示。 ) {4 D1 n& A4 d9 j j, J9 } ![]() 遥控器 它由STM32f103、NRF24模块和ili9341显示器组成。9 L( j* e+ R" g1 w1 v4 Q* U 数据在这里被处理,周围环境的图像将被绘制出来。# |* G! {& Y0 [% O3 ]- [* E 此外,这些数据还可用于控制四轮车并避免障碍物。 : l! g/ \0 F. a; c& e 遥控器演示 # Q) S# N& Y' f6 N& V. H 我在读取超声波传感器数值时遇到了相当大的困难。我怀疑可能是螺旋桨的影响。 经过一次测试,我需要重新画板,看看如何准确地读出离地面的距离。 + q! ^, r6 X& u8 q3 K ![]() 组件 1 × zmr250四轴飞行器框架 1 × cc3d飞行控制器$ ^6 ]. y5 _- X) B 1 × arduino mini7 }' g/ Q+ {+ p 1 × stm32f103% O1 Y8 K B" C1 E2 t Q 2 × nrf24模块 1 × 锂电池3s 2200毫安$ C6 r. i0 u: Z) O2 L5 B& J G 1 × 锂电池1s 1500毫安4 _. @" d' G2 G$ P* D 1 × RC遥控器外壳( s5 N ]- L) a: G# W- r 1 × ili9341显示器320 x240 2 × 3.3v稳压 1 × 按键,导线,洞洞板 5 × HC-sr04) W5 }6 X, u0 s! @ ) q; U1 U" h/ @2 c7 I3 s 首次飞行 第一次飞行出了很多问题,因为一个int数值的向下溢出,导致油门从0降到255,当我把操纵杆降到很低的时候,四轴自行起飞。! b( B! n# g- X2 Y! Z" Z$ A 几个小时后,我终于修复了错误的代码,四轴也终于又可以操纵了,没有任何问题。 我添加了一个菜单,可以精确控制离障碍物的距离、前后俯仰的时间、扫描间隔和接收器上检测碰撞后的前后俯仰值等,当然还可以远程关闭和打开。. I8 n! A/ p( @ 现在我终于可以测试碰撞检测是如何工作的。它有间歇性工作,它会将四轴的高度设定为一个设定值,使其稍微远离障碍物。但是超声波传感器很难正确检测到它。! j; d0 J. a2 Q0 S : J* g F/ _5 M( \* Y+ \) D 超声波传感器的位置似乎并不理想,因为可能有些波,会从四轴的底部反弹。 更多的测试* r3 v/ q& }2 ]7 N) |: I 经过几次飞行后,很明显超声波传感器有问题。3 Z- N- L9 Y) A$ _, b7 u3 b$ U 它们在地面上工作良好,但是在空中,随着螺旋桨旋转,很难检测到任何东西。这可能是由四轴飞行时产生的噪音和气压引起的。; ~. Y: k, ^! W6 f3 T$ j9 V5 @ 经过一点研究,我找到了这篇论文6 v1 K: M1 J s8 T( J: D; J6 d7 z 7 W1 ~% a& Y9 O# `4 k( t% t1 Q 5 f' P/ Y& \; {& Z 这证实了我的猜测。; d* x$ y! L7 z# g% @ 所以有点失望,我在ebay上买了一个准确的红外距离传感器,希望它不会有同样的问题。( I; ?; e* \+ E- w" z 我还刚刚收到了rf24接收器,现在他能从传感器发回数据,6 _1 X/ x. k; G$ u" d4 S* V/ t3 A 这样明天我就可以更准确地看到问题开始出现的地点和时间。我一直想为四轴增加一个电池监视器。 这样就能看见控制器上的电池状态,这样你就能准确地知道你还剩多少电,而不必依赖这些烦人的电池蜂鸣器。 - e! e' [! f, F. Z3 w+ _* t' U; O 详细查看超声波传感器 视频演示 0 L7 Y8 s4 Z7 S# i# ^$ |) p 初步结果 我在我的控制器上增加了一个绘图功能,这样我可以在飞行时看到输出。! ?0 C. e1 A$ \! B3 [ 这样做,我发现超声波传感器只能探测地板上0 - 25厘米的距离。草地上更糟。7 k0 E N2 l* o 再往上,螺旋桨的噪音影响就太大了。现在我最多可以在20厘米的高度工作。; K% M: ?$ a9 [6 n 当达到指定高度时,四轴通过将油门降低到控制器上的指定值来保持高度。& X$ R) A8 o: y+ V: u& e 这只是一个粗略的比例控制器。一个合适的PID控制会效果更好,但是现在传感器问题必须首先解决。1 h* \; m+ [' c3 N9 Y7 Z ![]() PPS :每秒发送的数据包,RCV接收的传感器值以厘米为单位 2 ? O0 o. \$ b: h |
很不错。 |
666无人机政策出来了 |