Modular Control

=Rationale=

The GVCS already contains several machines that will require relatively complex control systems (at least compared to a tractor). Since the entire GVCS is being designed from scratch, it makes sense to integrate the control systems for all the machines in such a way that a single controller can handle the most complex machine to the least complex machine.

Benefits of modular control architecture:
 * Less machine down time. Just swap out the malfunctioning control unit with a backup.
 * Simpler training. It's easier to train people on one control system than a bunch.
 * Easier maintenance/troubleshooting. Identical control units will have identical problems that only need to be documented once.
 * Economies of scale. Make a lot of one thing, rather than a few of several different things.
 * Faster prototyping. New machines can use the existing standards rather than require their own controller design.

=Resources=
 * Linux For Real-Time (programmable logic computer) Control
 * PLC and FPGA to solve machine automation problems

=Axis Total from Examples=
 * linear motion axis = stepper motor + 2(on/off sensor)
 * extrude axis = stepper motor
 * melt zone = heater + temp sensor
 * heated surface = heater + temp sensor
 * heated chamber = heater + temp sensor
 * rotary motion axis = stepper motor + on/off sensor
 * hinge joint axis = hydraulic cylinder

=Examples=

3D Printer
3D printers are special purpose CNC machines. Locating the toolhead in 3D space requires at least 3 axes of controlled motion. Typically, these are linear axes controlled by stepper motors with one or two end stops. The toolhead itself is usually an extruder where raw material is fed by a stepper motor. Temperature needs to be controlled in the extruder.

Some upgrades that are not strictly necessary, but can be useful, are a heated build surface, a heated build chamber, and additional axes. Typically, a 5-axis CNC system (add rotary axis to build surface and z-axis) is the practical limit. Also, it is possible to add one or more extruders.

While thermoplastic noodles are the approach to 3D printer chosen by the open source community, there are dozens of different approaches to 3D printing. The two next-most-popular are methods are gluing powder together with a binder (can be colored!) and fusing polymer together with a laser. These are both more difficult to control, require more specialized hardware, and utilize raw build material that is more difficult to work with (and obtain). Controlling these other systems would still require pretty much the same 3-axis motion, but the toolheads would be different.

Thermoplastic 3D Printer Control

 * linear motion axis = stepper motor + 2(on/off sensor)
 * extrude axis = stepper motor
 * melt zone = heater + temp sensor
 * 3D printer = 3(linear motion axis) + extrude axis + melt zone

Optional
 * heated surface = heater + temp sensor
 * heated chamber = heater + temp sensor
 * rotary motion axis = stepper motor + on/off sensor

3D Scanner
Control of this system will depend on whether or not the scanner needs to move. It probably doesn't, so no control will be necessary (just wave it around the object by hand).

Aluminum Extractor from Clay
Arguably, this could end up being more of a "facility" than a "machine." Since this system has yet to really even be designed conceptually, there is no way to define a control system for it. However, if it does have moving parts (seems likely) they will probably the same kinds of moving parts as everything else.

Backhoe
A standard backhoe has 4 axes of hydraulic motion. The arm itself can slew from side to side and has three joints. They don't tend to have any position sensors; the operator's eyes provide the feedback.

Hydraulic Backhoe

 * hinge joint axis = hydraulic cylinder
 * backhoe = 4(hinge joint axis)

Bakery Oven
Not really sure why this is here. At any rate, it will have one or more controlled heat zones.

Oven

 * heated chamber = heater + temp sensor
 * oven = X(heated chamber)

Baler Bioplastic Extruder Bulldozer CEB Press Cement Mixer Chipper / Hammermill CNC Circuit Mill CNC Torch Table Dairy Milker Dimensional Sawmill Electrical Motor / Generator Gasifier Burner Hay Cutter Hay Rake Hydraulic Motor Induction Furnace Industrial Robot Ironworker Laser Cutter Metal Roller Microcombine Microtractor Modern Steam Engine Multimachine Nickel-Iron Battery Nursery Open Source Car Open Source Truck Pelletizer Plasma Cutter Power Cube Press Forge Rod and Wire Mill Rototiller Solar Concentrator Spader Steam Generator Tractor Trencher Universal Power Supply Universal Rotor Universal Seeder Universal Welder Well-Drilling Rig Wind Turbine