Result of this project: Both the Java programming language and the wireless standard Bluetooth are suitable to control a critical machine like an aircraft in real-time!
The frame concists of CNC-milled aluminium and Delrin plastic parts, which were
shaped on a CAD-system in order to give maximum stability with a weight of
only 219 grams.
The material for the rotor hubs is aluminium, CNC-milled.
The rotor blades are made of plywood. Pitch angle, diameter and shape of the
blades have been determined by theoretical estimations and series of
The four motors are three-phase brushless engines with a maximum speed of
30,000 rpm and a power of 120 W each. Each of them is controlled by an
Electronic Speed Controller 'mgm Expert'.
The maximum total full power thrust exceeds 28 N (equiv. to 2.8 kg). The total weight of the helicopter (1.4 kg) is only half of that, so we have 1.4 kg of thust overshoot left, which is enough for dynamic maneouvers and carring navigation and sensor equipment during future experiments!
Electronic Hardware Design
The heart of the printed circuit board is the Java-native processor Ajile 'aj-80',
which comes on a micro-PCB 'JStamp' manufactured by Systronix Inc. It's main
task is to receive the serial control data from a local host PC and output PWM
(Pulse Width Modulation) signals towards the ESCs (Electronic Speed
Controllers) of the motors. The processor and the ESCs are galvanically
separated by photo-couplers, in order to avoid floating ground problems.
Both remote control and upload of sensor data (like the battery voltage) is
performed by a Bluetooth Serial Adapter 'ConnectBlue' which is a class-3
device with 100 mW power and more than 100 m wireless range (at
line-of-sight). Together with another Bluetooth Serial Adapter peer, e.g. a
Bluetooth dongle on a host PC, this adapter performs a serial cable
Further, the PCB comprises an 8-channel ADC for evaluating the battery
voltage and the output of future navigation sensors.
The supply voltages of +5 V and +3 V are generated by two integrated
A JTAG interface and an interface for analog/digital navigation signals (future
development, see below!) supplement the PCB.
Both the Control Application on the Local Host PC and the QuadRoCopter itself are programmed in the Java programming language. This design allows the re-use of several classes on the host PC and on the Java processor, which has saved a lot of work and perfectly implements object-oriented design patterns! Furthermore, a fast and easy rapid-prototyping during the development was possible: So the helicopter software could be first simulated and tested on another host PC, before it was downloaded to the Java processor.