Some good points there, NooBMan. I have not read all the text in the last three pages, it is all ancient history by now, at least in reprap terms
.
However, I have been looking at what it would take to go beyond the current designs. For the first few requirements, I agree with NooBMan:
1) More than 3 stepper axes. 7 should be a minimum
Whether controlling a milling head (three extra axes plus motor control), adding a lathe to the work area (a different 3 extra axes, at least), pointing a nozzle sideways and rotating it to extrude long horizontal overhangs or embed fibers or wires, adding cooling air to freeze plastic in place or coolant liquid for metal cutting, stepper or dc motor controlled conveyor belt base to allow continuous building of parts, 3D scanning requiring camera, light source(s), and/or product to be moved around more than just the existing three, motor controls for recycler
2) More than 2 temperature reading/controlling. 4 should be a minimum
An enclosed cabinet allows for controlling ambient air temperature as well as bed temperature. With multiple extruder heads, some things can switch to the active head, but others will need to be kept in a standby state, and 'warm' plastic is at the top of the list, controlling the temperature of cooling air and/or fluid, safety check on electronics or motors getting too hot, temperature of most recently work part of material (plastic may sag, metal may puddle and run), temperature or raw stock in recycler, temperature of raw granules being converted to filament, temperature in granule fuser, temperature of filament coming out.
3) More than 3 end stops. 17 should be a minimum (2 for each of 7 axes, plus 3)
For safety, there should be a power off limit stop at both ends of every movement axis, re-zeroing points for each axis if separate from end of range limit stops, with multiple heads it will be necessary to re-zero the 'working point' of each extruder/mill head, surface sensor to correct Z axis for warpage in build plate for first few layers, detect electrically or optically fiducial marks on work surface, partially completed piece.
4) Adding Absolute or Relative encoders. 7 should be a minimum.
To eliminate lost steps, provide more repeatability, we may want to add linear and/or rotary optical or magnetic encoders. Absolute encoders would reduce or eliminate the need for re-zeroing each axis during a build. It also opens up the possibility of using DC-brushed motors, or cheaper, underpowered steppers and correcting for occasional lost steps.
5) PWM controllers for servos. 4 should be a minimum
Some of the added motion functions will be driven by servos. Such as rotating the sideways pointed extruder, switching between extruder orifice sizes, grabbing and releasing extruder heads, controlling lighting or camera movement for 3D scanning.
6) Additional Analog inputs. 4 should be a minimum
Environmental testing inside a closed cabinet other than just temperature, weight of filament or granules left to work with, pull force needed to unroll filament to detect a jam, track granule to filament quality in recycler.
7) Digital outputs or motor controlls. 8 should be a minimum
Status LEDs to to indicate working, filament jam, over heated, head crash, axis error, product build error, finished. Motors for recycler, moving bed, parts removal, milling spindle, lathe rotation.
8) Adding outside world I/O. Spare RS232 port should be a minimum
LCD displays of extruder temp, bed temp, cabinet temp, run time. Full LCD/touch screen display to select parts files to print and control functions. RS232 terminal emulator to report all internal data and monitor operations, ethernet port with web server to allow ethernet interface for control, monitoring (3D scanning) of current part be constructed, download code for more parts, select from files in memory to print.
9) Memory storage. 1 GB should be a minimum
Current on-chip flash memory appears big enough to handle programming, but file storage for parts to make, status results of completed builds, store on built in SD flash drive, read from USB flash drive, extra compact flash or SD/microSD, read from CDROM or DVD.
10) Operating system. yes? no?
The realtime, real world interface and process control operations of a reprap makes it important to have a very fast response time program. Step pulses fro axis movement must be very precisely timed and controlled. This leads to no operating system at all, just interrupt driven routines, or a good, fast real time OS. On the other hand, human interface, possibly with GUI, web interface, ethernet stack, hirearchical file structures all are much easier to do from a standard OS, like Linux, Windoze, MAC.
I have also been looking at hardware. No one chip can handle all the I/O described above. There are 4 main solutions.
A) Use a big chip and add I2C (or CANbus or RS232 or other bus) based helper chips. I believe that there are many types of I2C addons for multiple PWM channels, ADC and DAC coverters, extra memory, possibly even stepper controllers.
Use a main control/interface chip with many secondary chips. Once again, the I2C bus, or other communications channel, allows a single master chip to separate tasks and assign them to secondary chips. One for doing all the temperature controls, one for main axis stepper timing and limit switches, one for secondary steppers and their switches, one for reading optical encoders, one for low level display (LEDs, simple LCD, etc).
3) Step up to a pentium based machine. The PC 104/plus single board computer is still more hardware interface, real world process control oriented. And they have a bus structure that can be used to expand the number of stepper motors and PWM channels they can handle. It would be easier to add code for GUI interfaces, but these usually don't run a full OS.
4) A mix of a pentuim computer running a standard OS (Linux?) to handle the user interface, web interface, file storage, and communicating with a microcontroller chip(s) to handle the real time process control in a custom designed board or box. At this point, we might as well put most of it into a small computer case and power supply, so that ethernet ports, CD/DVD drives, etc can be added.
There are other, larger single board computers (SBCs), but they rapidly get more expensive, and less real world timing and control oriented.
The other end of the spectrum would be to give up and microcontrollers, design and build low level I/O boards and use EMC2 to run a normal desktop computer. This is the most expensive, but also has the greatest room for expansion. ANd the 3D modeling software can now run natively on the reprap machine.
Mike