| #1 timecop
||Sep 23, 2011 01:27 AM
DJI Wookong-M mini-technical-review
I got my package a couple days ago but didn't have time to screw around with it until today. There has been a bit of misinformation and "covering up" made by DJI and their dealers, so I figured I'll post some non-bs info.
First things, nice packaging.
Without the PMU (Proprietary Power Management Unit) the entire setup draws a hefty 650-700mA. This definitely explains why some people have been having heating BEC issues. Cheap 7805's inside a typical HK esc dropping 12-16V down to 5V would generate a ton of heat at 700mA. Lessons learned: use the PMU
The GPS does have a battery backup, and appears to be using ublox neo GPS module with label removed, according to the comments in this post. Compass is, oddly, HMC5883. The entire GPS setup is driven by an Atmel SAM3 Cortex-M3 processor. HMC5883 is NOT on a separate power supply, but I guess since there are no other sensors (besides GPS) on the same voltage rail, that's not so bad, and the 4.7uF (or larger) cap that the chip requires is quite far from the IC itself - that's a bit puzzling, as most problems associated with this compass have been due to the cap being too far or routed through too many vias, affecting measurement.
The "proprietary DJI bus" is actually CAN-bus. There's probably telemetry and other useful info on it, but I didn't bother looking too much into it. Pinout is something like VCC/GND/CANH/CANL.
The status led is blinding. Do NOT look into it while it flashes, you will die. I still have red spots in my eyes.
The IMU is extremely well made and I would imagine counts for the majority of the cost of the unit. While I would have expected to find Analog Devices ADIS series of pre-made temperature-compensated 6DOF IMUs, this is a custom-made job with gyro/accel sensors assembled into a kind of a PCB cube with some sort of custom ASIC driving them - perhaps an Actel FPGA from the packaging, but I didn't look too much into it. The IMU also communicates over CAN bus. Looks like things can get pretty busy on it.
Every chip on the unit has the markings professionally lasered-off and replaced with DJI logo and part number, like IMU001, MCU001, etc. That doesn't really help the fact that the components are readily identifyable - the GPS as mentioned uses Atmel SAM3, a 96MHz Cortex M3 processor, and so does the Main Controller. There's also a bunch of SO-8 CANBus transceivers, which I originally thought were LM317's. The pictures haven't been updated, but almost everywhere you see LM317 in the pic its CANBus. There's also a sprinkling of some coils and random chips/passives, but nothing spectacular - general components that aren't sensors on this unit are standard. PCBs are professionally made and silk quality is good. Main Controller is a 2 layer, and GPS is 4-layer board, while IMU main PCB is kind of strange, its two 2-layer, .5mm thin boards back to back for some odd reason, maybe due to noise issue or similar.
UPDATE: I've xrayed and checked out the IMU. Some shocking discoveries inside :) Gyroscopes are ADXRS620, one per axis. No surprise there. Accelerometer, likely something analog, perhaps even LIS344AH or so. It's got an opamp next to it to reduce its output impedance. Barometer was the biggest shock, it's MPXZ6115X or so, one of the standard Freescale baros that every MK clone uses :) Every sensor is mounted backwards facing into an IMU cube, which is actually a very good design - entire thing is securely fastened to what looks like a molded metal cube, with 1.6mm PCBs on each cube edge containing a particular sensor and support circuits, and each sensor is separated by the metal mass. Barometer gets its pressure through 3 holes on the back of the PCB, which is then vented through a small hole in the IMU housing - no propwash issues here. No pics will be posted due to NDA and high security and all the other stuff, but you can trust me on this.
There's been a lot of discussion about "200Hz" in the DJI thread. Let's put it to rest, guys. PWM output from the M1..M6 is at 400Hz period. PWM output from F1, F2 (gimbal) is 100Hz. When configured as an Octo, F1/F2 become 400Hz as well. What does the 200Hz mean then? If I had to uneducatedly guess, it's probably the loop time of their main software loop. While not really spectacular, that's 5ms, and is probably more than enough for a stable platform. I was told anything below 25ms is acceptable for multirotor stability as things like motor response and etc are the biggest factor here. Hardware PWM blocks are used for output, so there's no jitter or any other noise. With proper high-response ESCs, this should be lots of fun for everybody.
Once I stop trolling threads and actually figure out how to put this thing on a multirotor, I'll have some flying vids, but don't hold your breath.
Some pics attached for those who's been dying for them.
My guesstimate on the Main Controller BOM is ~$20, GPS, ~$20, and $150 for IMU. Here you have it! The rest of the cost is in "proprietary INS/GPS algorithms" ^_^