If not HC-SR04 then what? US-100 maybe….

A week ago I wrote that HC-SR04 ultrasonic rangefinder is crap and it is still true. Only around 1m useful range and very jumpy behavior above are at least problematic…

There is a better solution. US-100 ultrasonic rangefinder. Comparing to HC-SR04, it has at least twice the useful range. My preliminary tests gave solid readout over concrete up to 2 meters and something. Let's call it 2 meters. But what more important, US-100 was reporting out-of-range state instead of some random values when being out of range! Huge step forward comparing to HC-SR04.

us-100 is much better than HC-sr04

Unfortunately, better does not mean good. US-100 also has some problems.

us-100 is much better than HC-sr04  ut still not good

Readouts becomes "jumpy" at the edge of useful range and they are far far away from declared. But OK, declared always means "perfect conditions". Still, trust me on this, comparing to this, HC-SR04 is crap…

Read More

HC-SR04 is crap and there is nothing you can do about it…

Only few days ago I mentioned that I started to reintroduce sonar support to INAV. When DigitalEntity told me that popular HC-SR04 is crap I did not belived him. I expected that “official” 4m range on a noise-machine aka quadcopter is unrealistic, but data I recorded today clearly shows: HC-SR04 is crap and is absolutely not suited for quadcopters and probably other UAVs. Why? Because it goes nuts and starts to pick background noise instead of surface.

Let’s take a look here:

Bottom trace shows pseudo Signal-to-Noise-Ratio (SNR) while top one shows raw HC-SR04 altitude and INAV position estimator altitude (GPS, barometer and accelerometer combined). As you can see, it’s not that bad. There is a correlation between both of altitudes and SNR is pretty low.

Same thing is happening here. Quadcopter descended to land, both altitudes went down to finally meet at zero. SNR is low too. Nice.

But, very bad things starts to happen as soon as altitude crosses 1.5m. Not only SNR goes up, but HC-SR04 starts to report completely unreliable data! If it was reporting out-of-range state, it would be fine. But no, it keeps reporting something between 1 and 2 meters while real altitude is much higher. Total crap.

Conclusion is simple: HC-SR04 can be used on multirotors but only on very low altitudes. Something like 0.75m over concrete. Or 0.5m above short grass. Or even less over long grass. Definitely not good enough for terrain following flight mode.

Next week I will test US-100 ultrasonic rangefinder. It is supposed to give much better results. I hope so…

Read More

Flight Controller Soft Mount – is it worth it?

Is it worth to soft mount flight controller? Are gyro pads I recommended here better than rubber stand offs? I feel that they are better, but I do not have any solid data to prove it. So I can only tell, that I find them better and that is all. But, I can answer the question is it worth to soft mount flight controller at all. The answer is YES and here is a proof…

The problem of twitching motors

After I updated my 5″ racer to stronger motors (EMAX RS2205S 2300KV over RS2205 2300KV) I noticed something very very irritating: twitching motors. When throttle was in more less middle position or after rapid throttle change, twitching from motors was very audible. Quad was flyable, but performance was very low. I had to reduce yaw P gain by more than 50% not to see those twitches in FPV footage!

Blackbox log revealed the truth: from time to time, strong vibration was getting into yaw gyro traces. I also localized the source of those twitches: stronger motors with more torque and higher radial acceleration were able to shake whole machine when frequency was close to the resonance frequency of the frame.

hard mount twitch example

Continue reading “Flight Controller Soft Mount – is it worth it?” »

Read More

Gyroscope and filtering video tutorial – Episode 1

I’m not completely sure why, but I’ve been pushing this topic away for quite a long time now. But it’s finally time to present it in this blog too. So, here we go.

Something like 3 month ago I’ve started to record and publish a video series about basics of gyroscope data processing in modern flight controllers (Betaflight, INAV, Cleanflight). It started as a tutorial how to setup notch filters in INAV, but ended up as a much bigger thing. Series consist of 4 episodes where I use Blackbox logs to show gyroscope signal noise and how to fight with it. Over next few days I will be posting links to those videos here, but if you eager to see them sooner, just use this link.

In Episode 1 I talk about:

  • Gyroscope noise sources
  • How unfiltered, raw, gyroscope signal looks like
  • How noise sources manifests in gyro traces
  • How filtered gyroscope signal looks like

Ah yes, I’m running a YouTube channel too, feel free to subscribe 🙂

Read More

Yaw unstable at full throttle

Last weekend I’ve experienced quite serious problem with Reptile X4R 220 racing quadcopter: on full throttle quad was loosing stability. At first, it was starting to drift yaw to the right. Then, if throttle was not lowered, roll and pitch was also becoming unstable and quad was doing crazy things in the air.

I do not have a video footage of those issues, but Blackbox footage looks like this:

yaw unstable at full throttle 1

Roll, Pitch and Yaw sticks are at zero, throttle is raised from aroung 45% up to 90%. When throttle reaches around 80%, gyro starts to record movement on all axises. At one point, yaw gets a kick and reaches more that 200dps. Finally, I lowered throttle and quadcopter stabilized (moment of stabilization is not visible, but trust me, it is there).

The reason for such a behavior became pretty visible as soon as I displayed motor output:

yaw unstable at full throttle motor output

Flight controller requests much more power from Motor #1 than from other motors. Not only in this short scenario. Look at this graph:

yaw unstable at full throttle motors

FC requests more thrust from Motor #1 almost all the time. Why? Motor #1 provides less thrust than other motors. There are few possible reasons:

  1. Damaged propeller
  2. Damaged motor
  3. Damaged ESC
  4. ESC not calibrated

In my case, it was ESC calibration issue. While this might sound strange, ESCs loses calibration from time to time. Usually after a crash that resulted in detached battery.

Proper ESC calibration solved all the problems I was experiencing.

Read More

How to measure gyro noise frequency with Blackbox

Cleanflight / Betaflight / INAV lowpass filter tuning can be a hard thing to do if you have not idea what is noise frequency you want to cancel. Sure, you can blind test or read tutorials. But what if I tell you, you can measure it quite precisely using only Blackbox logs? Or measure rotation speed of motors? That would be nice, isn’t it? The only requirement are few seconds of Blackbox log with visible gyro (it can be also motor output or Pterm or even ACC reading) noise.

blackbox measure frequency 1

Continue reading “How to measure gyro noise frequency with Blackbox” »

Read More

Air Crash Investigation: gone in 6 seconds

“What goes up, must come down”. I had an opportunity to face this old truth 2 weeks ago, when my 600mm quadcopter felt from 30 meters straight into water.

It was supposed to be a simple flight:

  1. take off
  2. fly few hundred meters away with GPS assist
  3. engage Return To Home and land

Dozens of missions like this in last few months, so really, nothing special. Unfortunately, like I mentioned above, not everything went as planned. 2 minutes after take off, UAV lost stability and went down with screaming motors. Continue reading “Air Crash Investigation: gone in 6 seconds” »

Read More