r12 - 26 Aug 2010 - 04:04:35 - LukeWestonYou are here: TWiki >  LunarNumbat Web > CurrentDevelTasks > LNTaskPropControlAvionics

Task - Propulsion Control Avionics

The goal of this task is to implement a variable throttle valve control mechanism which is controlled via pre-determined instructions on a CAN bus. In cooperation with ASRI's AUSROC 2.5 mission, the LN build team will develop the hardware and firmware required to receive instructions on a CAN bus and translate these to the motion of a ball valve which is ultimately used to control the propellant flow into the rocket engine.

The engineering of the throttle system has three main components:

i. Electronics

The electronic hardware interfaces to the CAN bus and to the motor control board.

At this stage, we have implemented this controller around an AVR microcontroller, specifically the Atmel ATmega328, combined with a Microchip MCP2515 CAN transceiver. The use of an AVR microcontroller which is compatible with the Arduino system is advantageous as it allows leverage of the ease-of-use of Arduino, our existing experience with Arduino and existing Arduino firmware technologies such as the Aiko framework.

(Interestingly, the Copenhagen Suborbitals team have recently found that an ATmega168 microcontroller continues to run normally when immersed in liquid oxygen at 90 K... the AVR doesn't appear to display any "cold bug" effects at these temperatures due to bandgap shifting or carrier freeze-out that can often cause silicon microprocessors to refuse to work at these very low temperatures.)

The servo drive board being used at this stage is the Rutex R2020. Two of these units have been made available to the LN build team by ASRI. The R2000 setup and tuning documentation from Rutex is valuable background reading on this device, as is the other documentation available on these devices from Rutex.

The main power supply that the Rutex servo drive board board takes (via the 16-pin IDC connector) is 24 V, but it requires little current, well under 1 A. If the electronics assembly is supplied with 24 V then this 24 V rail can also be supplied to a voltage regulator on the microcontroller board to provide the 5 V required for the microcontroller and CAN chipset. This is implemented on our boards at present via a LM2675-5.0 switching regulator. This means that 24 V needs to be supplied (over the CAN D-9 connector), and this powers up both boards; the microcontroller/CAN board, and the R2020 servo controller board.

We have determined that the main DC power bus on the AUSROC 2.5 launch vehicle will have ~24 V DC available, and the valve control electronics will be run off this, which will be cabled down into the valve fairing along with the CAN data pair.

The Rutex R2020 board has four large, high current terminals connecting to its internal H-bridge - two connect to the motor, and two connect to the main high-power supply which drives the motor. This motor requires a 60 V power supply to operate at its maximum speed. The continuous current draw of the motor is 5 A, although the peak motor current (the stall current) is 30 A. Building any kind of power supply which can supply 5 A at 60 V is expensive and difficult, and especially so in a launch vehicle where batteries must supply all the electric power, with significant limits to their volume and mass. We are presently supplying 50 V to the motor, with the current required, for testing and development on the ground via a simple linear power supply. 50 V, as opposed to the motor's rated maximum of 60 V, is sufficient for operation of the motor at a sufficiently high speed.

In the launch vehicle, the 50 V motor power supply will be supplied via a pack of lithium-polymer cells within the valve fairing.

The R2020 driver board is rated for a maximum current of 40 A, so under even the worst case motor stall condition (at 27.5 A) it should never be expected to be damaged. However, the main motor power supply should be fused, for example to protect the Rutex board against a motor short and to protect the relatively thin wires connected to the motor, as well as to prevent fire or explosion of the batteries. A 5A fuse seems to work well; even with the gearhead and valve attached to the motor, current consumption of the system is less than 5 A.

The position encoder mounted on the motor is an E5S? -50-250-IEG from US Digital. This encoder outputs 50 pulses per revolution. Therefore, at a rotational speed of 3000 rpm at the motor, the output is 15,000 pulses per minute, or 2500 Hz. This encoder is connected to a Rutex R2210 single-ended encoder interface board, which is connected via a standard Cat. 5 patch cable (both boards have RJ-45 connectors intended for this purpose) back to the R2020 board, completing the servomechanism control loop.

We can communicate with the R2020 board using a very simple direction/step interface.

With a step multiplier of 5, one clock step into the R2020 board rotates the motor until 5 steps have come back from the encoder. Since there are 50 encoder output pulses per revolution, this corresponds to 1/10 of a revolution.

Since the gearhead has a 50:1 gear ratio, this 1/10 of a revolution of the motor corresponds to only 1/500 of a revolution of the valve.

Therefore, to turn the valve by, say, 90 degrees, we need to send a series of 125 pulses to the R2020 controller, at a frequency of at least 500 Hz for appropriately fast motion.

The step multiplier can be set using the Rutex setup (Windows) software, and saved into the EEPROM on the R2020 board. Increasing this step multiplier can be required for fast motion, since the input hardware on the Rutex board can only sample the step signal up to some certain frequency, although a 5 x step multiplier, for example, decreases the positioning resolution of the system by a factor of 5. However, I think 1/500 revolution resolution is pretty good for what we need.

ii. Motor and mechanical powertrain

This subsystem comprises the electric motor itself, the mechanical powertrain between the motor and the propellant valve, and the electromechanical feedback mechanism which provides feedback of the valve position back to the electronic controllers and to the main flight computer (via the microcontroller and the CAN interface).

The motors used are MCG ID23900 brush motors. Here is a datasheet for this motor.

The physical dimensions of the mounting flange of the motor are consistent with the NEMA 23 standard specification. The ID23900 datasheet above says that its continuous torque is 0.42 Nm. This is "stepped up" by the 50:1 gearbox, so you get 21 Nm at the valve. 21 Nm is equal to 2.14 kg-m, or 214 kg-cm. However, the peak instantaneous torque available may be higher.

The existing gearheads are Bayside RA60-050 50:1 right-angle reduction gearheads. (Do we have some kind of manual or datasheet available for these gearheads?)

We now have most of the mechanical assembly complete, with the motor mounting holes re-machined and the motor bolted onto the gearhead assembly. We have sourced a couple of linear motion sensing potentiometers (Colvern LM10 equivalents, #317-780 from RS Components. We're currently designing and implementing exactly how the valve position sensor assembly will fit together.

The position sensors don't quite fit into the holes in the aluminium adapter block... the block requires just a tiny bit of re-machining to enlarge the holes.

We will ultimately enlarge the hole and drill and tap two blind holes on either side of it to screw the sensor onto the side of the block. (As far as I can tell, it doesn't matter which side this goes on, since the block is symmetrical, and can be turned if appropriate.)

Now... the actuator shaft of the valve sticks up into the adapter block, and it fits into the slot/receiver/socket thing on the end of the gearhead, which is also protruding a little way down into the other side of the interface block.

We may also need to mount one or two high-power resistors or other heating elements on the adapter block on the liquid oxygen valve to keep this valve warm and prevent it from freezing or sticking. These will be powered from the external power supply umbilical from the launchpad, in the case of the AUSROC 2.5 vehicle, which will be severed on launch.

iii. Propellant valves

The valves are stainless steel three-piece ball valves, made by Apollo, I think, with 1" Swagelok tubing compression fittings.

Do we know exactly what model of valves these are? Do we have any more documentation or a datasheet? I don't know.
The only markings on the valve are "1000 CWP USA" / "CII CF8M? ". 1000 CWP is cold working pressure (in psig), I don't know what CII means, and CF8M? is the specific metallurgical composition of the stainless steel.

If we assume that from fully closed to fully open corresponds to 90 degrees of angular motion, we can define 0 degrees to be 0% propellant flow and +90 degrees to correspond to 100% propellant flow. The propellant valves are required to transit from fully closed to fully open within not more than 250 milliseconds.

90 degrees of valve travel within 250 ms corresponds to an angular speed of 60 rpm (1 Hz), at the valve. Since that speed is stepped down by the 50:1 gearbox, this corresponds to 3000 rpm (50 rps) at the motor.

The motor's maximum rotational speed is quoted as being 5500 rpm, at a motor voltage of 60 V. Assuming that the motor speed scales linearly with the voltage, then, the minimum voltage required for a rotational speed of at least 3000 rpm is 33 V. A 50 V motor power supply should be perfectly adequate for this purpose.

The propellants used in AUSROC 2.5 are liquid oxygen (LOX) and kerosene. Specifically, I believe the fuel used in past AUSROC 2 firings has been commonly available Jet A1 (jet fuel), as opposed to something like RP-1.

The physical compatibility of the valve materials with cryogenic liquid oxygen is a challenging problem. Oxygen boils at 90 K (-183 degrees C), and the valve assembly needs to not only withstand this temperature but also to withstand the thermal shock associated with the temperature change when the liquid oxygen is initially introduced into contact with the valve assembly, rapidly cooling it down from room temperature to cryogenic temperatures.

The valve assembly needs to be mechanically stable under these thermal conditions and it needs to be able to operate, and operate reliably with the required performance, under these conditions.

Since the failure of the LOX valve to open properly due to icing was one of the main factors which led to the destruction of the first AUSROC II vehicle in 1992, it's certainly important to pay special attention to these issues surrounding the LOX valve assembly.

Pictures and links:


Motor, gearhead and valve assembly, with the valve attached to the gearhead.


Motor connected to Rutex R2020 board, with encoder interface also wired up.

(Photo courtesy of Andy Gelme - thanks!)


AVR / CAN controller boards, designed and assembled by Luke.

(Photo courtesy of Andy Gelme - thanks!)


The motor and gearhead assembly, showing the valve/gearhead adapter block and the (unconnected) motor encoder wiring.

Topic attachments
I Attachment Action Size Date Who Comment
jpgjpg 6a00e398a4672600020123de11f243860c-500pi.jpg manage 119.7 K 24 Aug 2010 - 09:03 LukeWeston  
jpgjpg A2.5_throttle_Parts.jpg manage 29.9 K 24 Aug 2010 - 09:08 LukeWeston  
jpgjpg IMG_3017.jpg manage 147.2 K 24 Aug 2010 - 09:05 LukeWeston  
jpgjpg kerovalve.jpg manage 90.2 K 24 Aug 2010 - 09:08 LukeWeston  
Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r12 < r11 < r10 < r9 < r8 | More topic actions
Powered by TWiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback