MakerBotControlSystem
From Clothbot
(Difference between revisions)
Revision as of 19:34, 7 May 2010 (edit) AndrewPlumb (Talk | contribs) (→Online Course Material) ← Previous diff |
Revision as of 18:26, 8 May 2010 (edit) AndrewPlumb (Talk | contribs) (→The Model) Next diff → |
||
Line 68: | Line 68: | ||
* Position (ruler) | * Position (ruler) | ||
** Open loop | ** Open loop | ||
+ | |||
+ | === Variable Definition Table === | ||
+ | |||
+ | {| border="1" | ||
+ | ! Subsystem | ||
+ | ! Variable | ||
+ | ! Units | ||
+ | ! Description | ||
+ | |- | ||
+ | |rowspan="1"|Global | ||
+ | |T<sub>ra</sub> | ||
+ | |Celcius | ||
+ | |Room Ambient temperature | ||
+ | |} | ||
+ | |||
+ | {| border="1" | ||
+ | ! Subsystem | ||
+ | ! Variable | ||
+ | ! Units | ||
+ | ! Description | ||
+ | |- | ||
+ | |rowspan="3"|Build Platform | ||
+ | |V<sub>bp</sub> | ||
+ | |Volts | ||
+ | |Build Platform, PWM generated voltage through nichrome | ||
+ | |- | ||
+ | |T<sub>bp</sub> | ||
+ | |Celcius | ||
+ | |Build Platform temperature, ADC sampled thermistor | ||
+ | |- | ||
+ | |T<sub>bc</sub> | ||
+ | |Celcius | ||
+ | |Build Chamber temperature, ADC sampled thermistor | ||
+ | |} | ||
+ | |||
+ | {| border="1" | ||
+ | ! Subsystem | ||
+ | ! Variable | ||
+ | ! Units | ||
+ | ! Description | ||
+ | |- | ||
+ | |rowspan="7"|Extruder | ||
+ | |V<sub>em</sub> | ||
+ | |Volts | ||
+ | |Extruder Motor, geared DC, PWM generated voltage | ||
+ | |- | ||
+ | |θ<sub>we</sub> | ||
+ | |Degrees | ||
+ | |Rotational Extruder displacement of drive motor shaft. | ||
+ | |- | ||
+ | |V<sub>eh</sub> | ||
+ | |Volts | ||
+ | |Extruder Heater, PWM generated voltage through nichrome | ||
+ | |- | ||
+ | |T<sub>en</sub> | ||
+ | |Celcius | ||
+ | |Extruder nozzle temperature, ADC sampled thermistor | ||
+ | |- | ||
+ | |D<sub>if</sub> | ||
+ | |mm | ||
+ | |Input Filament diameter, entering extruder | ||
+ | |- | ||
+ | |D<sub>ef</sub> | ||
+ | |mm | ||
+ | |Exiting Filament diameter, emerging from nozzle | ||
+ | |- | ||
+ | |D<sub>en</sub> | ||
+ | |mm | ||
+ | |Exit Nozzle diameter | ||
+ | |} | ||
+ | |||
+ | {| border="1" | ||
+ | ! Subsystem | ||
+ | ! Variable | ||
+ | ! Units | ||
+ | ! Description | ||
+ | |- | ||
+ | |rowspan="3"|X Axis | ||
+ | |V<sub>lx</sub> | ||
+ | |mm/s | ||
+ | |Linear X velocity | ||
+ | |- | ||
+ | |D<sub>lx</sub> | ||
+ | |mm | ||
+ | |Linear X position | ||
+ | |- | ||
+ | |θ<sub>wx</sub> | ||
+ | |Degrees | ||
+ | |Rotational X displacement of drive motor shaft. | ||
+ | |- | ||
+ | |rowspan="3"|Y Axis | ||
+ | |V<sub>ly</sub> | ||
+ | |mm/s | ||
+ | |Linear Y velocity | ||
+ | |- | ||
+ | |D<sub>ly</sub> | ||
+ | |mm | ||
+ | |Linear Y position | ||
+ | |- | ||
+ | |θ<sub>wy</sub> | ||
+ | |Degrees | ||
+ | |Rotational Y displacement of drive motor shaft. | ||
+ | |- | ||
+ | |rowspan="3"|Z Axis | ||
+ | |V<sub>lz</sub> | ||
+ | |mm/s | ||
+ | |Linear Z velocity | ||
+ | |- | ||
+ | |D<sub>lz</sub> | ||
+ | |mm | ||
+ | |Linear Z position | ||
+ | |- | ||
+ | |θ<sub>wz</sub> | ||
+ | |Degrees | ||
+ | |Rotational Z displacement of drive motor shaft. | ||
+ | | | ||
= References = | = References = |
Revision as of 18:26, 8 May 2010
Contents |
MakerBot: Control System Design, Implementation and Characterization
Time to brush off some of that rusty old control system design knowledge I once majored in.
Goals
My goals will be to:
- Describe the MakerBot thermal, electrical and mechanical system in terms of a state-space model.
- Model said system using the GNU Octave free open-source software (FOSS) suite of tools.
- Design test and measurement criteria and data to generate a set of parameter estimation functions to calibrate the control system model.
- Generate discrete-time state-space octave model.
- Implement discrete-time algorithm using microcontroller or DSP (as required).
The Model
Controllable Parameters
Extruder
- Heater On/Off (PWM control code)
- DC Motor Voltage (PWM control code)
- Nozzle aperture diameter (fixed)
- Incoming filament diameter (fixed)
X Axis
- Stepper Velocity (step rate)
Y Axis
- Stepper Velocity (step rate)
Z Axis
- Stepper Velocity (step rate)
Observable Parameters
Extruder
- Relative Nozzle Temperature (thermistor ADC code)
- Closed loop
- Calibrated Nozzle Temperature (thermocouple based digital thermometer)
- Open loop
- Incoming filament position (with encoder wheel/sensor)
- Closed loop
- Incoming filament travel (callipers)
- Open loop
- Outgoing filament diameter (callipers)
- Open loop
- Outgoing filament length (callipers)
- Open loop
- Outgoing filament mass (scale)
- Open loop
- Possibly closed loop with build platform integrated weight cells.
X Axis
- Endstop activation
- Closed loop
- Position (ruler)
- Open loop
Y Axis
- Endstop activation
- Closed loop
- Position (ruler)
- Open loop
Z Axis
- Endstop activation
- Closed loop
- Position (ruler)
- Open loop
Variable Definition Table
Subsystem | Variable | Units | Description |
---|---|---|---|
Global | Tra | Celcius | Room Ambient temperature |
Subsystem | Variable | Units | Description |
---|---|---|---|
Build Platform | Vbp | Volts | Build Platform, PWM generated voltage through nichrome |
Tbp | Celcius | Build Platform temperature, ADC sampled thermistor | |
Tbc | Celcius | Build Chamber temperature, ADC sampled thermistor |
Subsystem | Variable | Units | Description |
---|---|---|---|
Extruder | Vem | Volts | Extruder Motor, geared DC, PWM generated voltage |
θwe | Degrees | Rotational Extruder displacement of drive motor shaft. | |
Veh | Volts | Extruder Heater, PWM generated voltage through nichrome | |
Ten | Celcius | Extruder nozzle temperature, ADC sampled thermistor | |
Dif | mm | Input Filament diameter, entering extruder | |
Def | mm | Exiting Filament diameter, emerging from nozzle | |
Den | mm | Exit Nozzle diameter |