First off, I’m trying to build my own drone using an arduino micro, IMU, some ESC’s, some engines, and a wifi-module.
Wifi-module: NRF24L01 @ 3.3V (from the Micro)
ESC’s: DYS XSD30A XSD 30A 3-5S ESC BLHeli_S @ 13.6V - 16.8V (LiPo battery 4S 2.2Ah)
Engines: EMAX RS2205
The Micro has it’s own power-source, sometimes a battery, sometimes through the USB from my laptop. The ESC’s draw their power from the LiPo, which is not connected to the Micro’s circuit. The ECS’s are controlled by the Micro through three separate PWM signals generated by pin 9, 10 and 12. Controlling the engines works fine, each individual and together.
Here’s the problem. While using all three ESC’s at the time my wifi-connection starts to get drop-outs around 25% of the engine’s output, from there-on the connection get worse with increased output to the point that no connection can be established at all (messages don’t get received or send).
Here’s my debugging:
[Wifi-module doesn’t get enough power]
I ran into this before and fixed it by bridging it’s 3.3V and GND with a 10uF capacitor. This worked for my earlier problems. I’ve now changed the capacitor for a 220uF, this did not solve this issue. I’m using the black, cilinder version (forgot the name) but have heard that ceramic capacitors work better with high frequency stuff (see next issue).
[Power-cables of the ESC’s / engines generate electro-magnetic noise]
The engines are 3-phase controlled, which is generated by the ESC’s. There’s a big chance that the ESC’s don’t generate sinusoidal signals but rather block-waves. In the instances that the ESC’s switch between outputs the current towards the engines has to stop and continue, making small pulses through the cables which could generate electromagnetic waves in the Wifi-spectrum. All power-cables come in pairs of + and -, which should mean come-and-go of the current, and are always in parallel. This should reduce the induction effects. I’ve also wound the power-cable (the piece between the battery and the split to the ECS’s) several times around a bolt to create an induction-coil which should stabilize the current/induction of the power-cables.
I’ve then extended the cables of the wifi-module and moved the module around towards/away the battery, engines or cables. This had no apparent effect on the Wifi connection. I’ve also had my phone directly above the system, it had no drop in connection with my wifi router at home. So I want to rule this problem out.
[Generating high value PWM signals is somehow difficult]
Leaving all components attached but not giving the ESC’s power shows no problems while generating high value (% of output) PWM signals.
[One of the ESC’s / Engines is broken]
Disconnecting the PWM signal between the ESC’s and the Micro while remaining power on all three shows that each ESC on it’s own works fine (or rather, they don’t produce the problem enough to be noticeable by themselves). Testing pairs of ESC’s shows that 1&2 and 1&3 do fine, while 2&3 re-create the problem.
I’ve tried to switch ESC 2 and 3 (including their engine) in their place, this changed nothing.
All ESC’s have the same programming, engines, PWM signal and connection to their battery. The only difference is that ESC 1 is a version 2 of the DYS.
I Have not been able to solve the problem. I’ve been trying to think of a relation between the engine’s output and the Wifi-module’s connectivity. Is there any other way a PWM signal can transfer noise to the Wifi-module? Does a ceramic capacitor help with high frequency noise? Does the DYS V2 not work with the V1?
I’m hoping for your help