
![]() 一种利用超声波传感器检测和避障的系统5 s8 I1 G" K+ _+ ^& T ![]() 6 h) {; ^6 B3 W* { ![]() 描述 来自传感器的数据将分四路发送到RC遥控器,RC遥控器在IL9341显示器上显示周围环境。 ![]() 接收器5 V2 D# m: _' @4 X. N3 T% j 它有一个由arduino mini、mpu6050 (gy87)和nrf24模块组成的接收器,。它可以接收,也可以发送。; k: `* t9 z/ q3 q0 l 这将用于将来自mpu6050和HC-sr04s的数据发送回遥控器,并在那里显示。1 \7 @% t& R: F+ B& q( J, M ![]() 遥控器6 N, b' G$ A0 k( H' N" r, } 它由STM32f103、NRF24模块和ili9341显示器组成。% V) [# ?2 e7 d( h6 I- r$ Q 数据在这里被处理,周围环境的图像将被绘制出来。 此外,这些数据还可用于控制四轮车并避免障碍物。 遥控器演示) E _6 q3 J/ [& Q 1 v, e% |$ _. a' t% S4 ` 我在读取超声波传感器数值时遇到了相当大的困难。我怀疑可能是螺旋桨的影响。! M% o5 h; S3 c% S% O% C$ a, x 0 @7 G" v$ g4 n/ ^8 J 经过一次测试,我需要重新画板,看看如何准确地读出离地面的距离。4 w+ v0 U0 @# _: ^; d) ^# E ![]() 组件 1 × zmr250四轴飞行器框架% h7 D$ U" R4 M, r B 1 × cc3d飞行控制器 1 × arduino mini9 r! g# r2 V8 w# ~ 1 × stm32f103 2 × nrf24模块# \) ?' k/ J$ q% y 1 × 锂电池3s 2200毫安6 |' g, n& t: [$ o6 | 1 × 锂电池1s 1500毫安# m4 ?' }, y1 l$ p 1 × RC遥控器外壳+ @: g+ p5 a: Q2 \0 l2 a) Y: C 1 × ili9341显示器320 x240% }. e& |5 c1 ?0 t5 S' c0 D7 t- i 2 × 3.3v稳压 1 × 按键,导线,洞洞板+ f0 L$ F6 c! C( ~9 d. q 5 × HC-sr045 `# x5 P- ~% B0 H/ f ! @* T6 R% y4 w$ w 7 F. M5 Z3 Q% L, }4 I* ~ 首次飞行 第一次飞行出了很多问题,因为一个int数值的向下溢出,导致油门从0降到255,当我把操纵杆降到很低的时候,四轴自行起飞。8 y: ?$ u6 g0 @+ s# x3 ` 几个小时后,我终于修复了错误的代码,四轴也终于又可以操纵了,没有任何问题。 我添加了一个菜单,可以精确控制离障碍物的距离、前后俯仰的时间、扫描间隔和接收器上检测碰撞后的前后俯仰值等,当然还可以远程关闭和打开。 现在我终于可以测试碰撞检测是如何工作的。它有间歇性工作,它会将四轴的高度设定为一个设定值,使其稍微远离障碍物。但是超声波传感器很难正确检测到它。 超声波传感器的位置似乎并不理想,因为可能有些波,会从四轴的底部反弹。7 A: E) j2 h( i& E) O+ d) y 更多的测试 经过几次飞行后,很明显超声波传感器有问题。# W a/ }0 q/ ^7 c 它们在地面上工作良好,但是在空中,随着螺旋桨旋转,很难检测到任何东西。这可能是由四轴飞行时产生的噪音和气压引起的。2 C( D3 C) y4 g* O8 k 经过一点研究,我找到了这篇论文 1 f5 t, w1 J: S- O 6 s1 i" n) w* p; V: {& | 这证实了我的猜测。 所以有点失望,我在ebay上买了一个准确的红外距离传感器,希望它不会有同样的问题。 我还刚刚收到了rf24接收器,现在他能从传感器发回数据, 这样明天我就可以更准确地看到问题开始出现的地点和时间。我一直想为四轴增加一个电池监视器。 这样就能看见控制器上的电池状态,这样你就能准确地知道你还剩多少电,而不必依赖这些烦人的电池蜂鸣器。 详细查看超声波传感器* B, g7 ^8 u G: c& g, ] 视频演示# l2 l2 O; I+ W 5 k9 H# K2 e* T 初步结果* ?1 c' j8 x- o$ j 我在我的控制器上增加了一个绘图功能,这样我可以在飞行时看到输出。* S ~1 M" K7 c' P 这样做,我发现超声波传感器只能探测地板上0 - 25厘米的距离。草地上更糟。 再往上,螺旋桨的噪音影响就太大了。现在我最多可以在20厘米的高度工作。- U$ v& m& a: A. v4 E 当达到指定高度时,四轴通过将油门降低到控制器上的指定值来保持高度。" V; B; V L# H4 } 这只是一个粗略的比例控制器。一个合适的PID控制会效果更好,但是现在传感器问题必须首先解决。 ![]() PPS :每秒发送的数据包,RCV接收的传感器值以厘米为单位 g, Q1 p: Z' F" @ |
很不错。 |
666无人机政策出来了/ k# p6 X/ u* n0 b' A |