In the sample run described in our last update, we had a yield rate of about 70%. We fixed several problems from our previous generations, but an issue we call “decalibration” persists. Fortunately, the motors that do work are performing very well, so we’re working hard to make them more reliable!
What is decalibration?
To describe the decalibration problem, it’s important to know how IQ motors work. We embed a magnet in the shaft of the motor and use a magnetic rotary encoder, which sits underneath the magnet on the motor controller, to read the angular position of the magnet as the motor spins. We use this precise position information to apply voltages to the motor at the perfect time, making our motors more efficient, smoother, etc.
Before our motors become functional, they must go through a “calibration” process. Once the motor is calibrated, it knows its exact position and can also anticipate its future position based on its current speed, position, and input commands.
In most motor and controller combinations, the motor’s shaft can move slightly and it won’t affect performance because the controller is not using the motor’s exact position to make it spin. IQ motors on the other hand need the shaft and magnet to spin perfectly with the rest of the rotor. If the magnet (or the shaft holding the magnet) moves relative to the rest of the rotor, then the controller thinks the motor is at a certain angular position, when it’s really a few degrees ahead or behind that position. The controller then sends voltages to the wrong part of the motor, which is extremely inefficient.
Why does decalibration occur?
Decalibration happens because the shaft or magnet is not perfectly fixed to the rotor. In the most recent design, we have a set screw holding the shaft in place and magnets that are press fit into the shaft. The magnets are very tightly fixed, so we have determined that if the set screw is not placed perfectly, it cannot prevent minor rotations of the shaft. We believe these minor movements of the shaft are causing decalibration.
The easiest decalibration to detect occurs when the shaft or magnet is extremely loose. We can filter these motors out during the initial calibration process and quality control. Just spinning the motor does not always cause decalibration though. We flight tested every sample that passed the initial calibration procedure. It seems as though the added vibration of a vehicle causes some magnets and/or shafts to slip more gradually. We filtered these decalibrated motors out by measuring their bell temperatures after a few short flights. If the motor’s temperature increased significantly from flight to flight, that was a sign of decalibration.
In some cases, the shaft or magnet moves very slightly, causing the motors to minorly heat up. The higher temperature is not ideal, but the motor remains totally functional. In worse cases of decalibration, the motors heat up to a point where the thermal limit kicks in within a minute or two of use. These motors cannot be used again unless they’re fixed and recalibrated.
How do we prevent decalibration?
It’s all about making sure the shaft and magnet do not rotate with respect to the other parts of the rotor. We have several designs that we plan to test with our manufacturer. These designs include a variety of ways to fix the shaft to the rotor. A more extreme change would be to make the entire rotor a single aluminum part reinforced by steel.
Matt will be travelling to China to work on this directly with the manufacturer and oversee the production of the motors within the next two weeks. We will keep you updated on that progress and the design choices we make!
The shipping of the modules will be delayed until January 1, 2019 to ensure we are delivering the most reliable product possible. You can check your account to get the most up-to-date ship time estimate: https://www.crowdsupply.com/account. We really appreciate all your support and patience during the production process!
A compact, richly-featured, open-hardware ESP32-M1 dev board with a Wi-Fi range of up to 1.2 km
An open source flight controller and mini drone that can be programmed with Arduino IDE
A 4-axis stepper motor driver for creative coders