Stratasys uPrint Retrofit
- 1 Enabling Power to the Printer
- 2 Controlled Shutdown
- 3 Controlling Stepper Motors
- 4 Controlling the Servo Extruder Motor
- 5 Reading Thermocouple Temperatures
- 6 Reading Limit Switch States
- 7 Operating Door Lock and LED Lighting
- 8 Controlling Heaters & Fans
- 9 Reference
- 9.1 Power Distribution Board (PDB)
- 9.2 I/O Board
- 9.3 Toggle Head Board
- 9.4 Head Temperature Board
Enabling Power to the Printer
With no control system connected to the uPrint, the uPrint is in a safe state where it will automatically be in a standby state. No heaters will be on, no motors will be moving and the main fans will be operating to cool down the printer. Upon turning on the printer, all output pins should be low and all input pins should be correctly configured to accept input logic signals. It is recommended to add an interface between the I/O of the printer and the control board that can disconnect the signals, such as a TXS0108E Bi-Directional Logic Level Shifter. This type of device is capable of configuring all input and output signals and only making the connection once the controller board is ready. The printer can sit in standby without a controller connected until the time comes that it is ready to connect.
The process to enabling power to the printer is as follows:
- The power switch is switched ON by an operator.
- Mains power flows through the Power Distribution Board to the 5VDC and 12VDC power supplies.
- The printer starts in standby mode that ensures all heaters are disabled and cooling fans are enabled.
- The external controller is powering on and configuring the I/O (outputs set to LOW).
- When ready, the controller makes its connection to the PDB, likely through a TXS0108E or similar device.
- The cooling fan will cycle off, due to the now LOW signal on the blower fan.
- A 5 volt power signal can be applied to Pin #16 on PDB Connector J15.
- With the power enable signal set high, the 120VDC power supplies are supplied with mains voltage.
NOTE: The power enable signal on Pin #16 of PDB Connector J15 is not a logic level signal. It must be a higher amperage power level signal.
The uPrint is capable of handling the shut down of the printer in a controller manner. When power is applied, the mains voltage flows through the On/Off power switch. However once the external controller has control over the Power Distribution Board it can keep the printer powered on through an on-board relay. The On/Off position of the power switch becomes irrelevant.
Pin 21: Power Supply Enable (Off = 0V, On = 5V)
Pin 23: Power Switch Status (Off = 0V, On = 5V)
A standard procedure would be to enable the power to the power supply once the controller has control of the system. The controller should monitor the status of the power switch. If the power switch goes to off, the printer should begin a shutdown procedure if it is safe to do so. If the printer is in the middle of a print, the printer should go into a pause procedure and wait for the print to be cancelled or for the power switch to be turned back on. Examples of the pause and shut down procedures are given below.
Pause Procedure (during printing)
- The printer is in the middle of a print.
- The operator switches the Power Switch to Off.
- The printer finishes executing the current line of G-Code.
- The filament is retracted slightly.
- The print bed lowers by a small amount.
- The print head moves to the tip cleaning position.
- The print head cleans the print head.
- If in support mode, the printer should switch to the model mode.
- The print head should be stowed in the far left corner of the printer.
- The printer waits for the print to be cancelled, or waits for the power switch to be turned back on.
Shutdown Procedure (when possible)
- If the printer is not in the middle of print or any other procedure.
- The operator switches the Power Switch to Off.
- The printer initiates a shut down procedure.
- The cooling fans are enabled and all heaters are turned to off.
- The print head should be positioned into a safe home position (left rear of printer) and the print bed lowered all the way down.
- The Power Enable Pin (#16 on PDB J15) should be disabled.
- The printer cools down to below a safe threshold. Typically 100 degrees Celsius on the extruders and 50 degrees Celsius on the chamber temperature.
- Once the temperature is below the safe threshold, is is now safe for the printer to turn off the relay that is keeping power to the printer (#21 on PDB J15).
If for any reason the power switch is turned back on while the printer is cooling down, the printer can resume to a stand by position.
Controlling Stepper Motors
The X, Y and Z axis stepper motors are powered by two Allegro A3959 Full Bridge PWM Motor Drivers, one for each of the two coils in the stepper motors.
The inputs for each of the stepper motors can be found on PDB connector J13. Each axis contains the following individual connections: Phase A, Phase B & Voltage Reference A, Voltage Reference B. Additionally all motor drivers can be put to sleep simultaneously though J13 Pin #45.
As the stepper motors use a regular Full Bridge motor driver, they are not as easy to control as with regular stepper motor drivers that accept step and direction inputs. However, since we are controlling the signals directly, we can easily send whatever style of signal we want to obtain, for example: full stepping, half stepping or microstepping.
There are two phases we have control over the input of: Phase A and Phase B. These phases are directly linked to the two coils of the stepper motor and ultimately determine the direction the motor spins. Because of the design of the stepper motor, the two Phases are linked to one another, but 90 degrees apart. We will need to send a square wave signal to control the phases in the following type of pattern to both motor driver chips:
Forward Motion: HIGH - LOW, HIGH - HIGH, LOW - HIGH, LOW - LOW
Reverse Motion: HIGH - LOW, LOW - LOW, HIGH - LOW, HIGH - HIGH
By changing the logic levels of the Phases, we control the direction the current travels inside of each coil in the stepper motor. Each change represents one step, so moving from Phase A HIGH & Phase B LOW to Phase A HIGH & Phase B HIGH results in one step as one coil is energized after the other, advancing the motor. If the pattern were reversed, the motor would spin in the opposite direction.
Voltage Reference (VREF)
We also have control over voltage reference, which is an analog signal that regulates the amount of current that is able to flow through each coil of the motor. If we were using a full stepping scheme, the voltage references would follow a LOW / HIGH pattern similar to the phase waves.
If we modulate the voltage reference signal, we adjust the current and as a result end up with the ability to preform microstepping within the full steps.
Microstepping allows for a stepper motor to move a fraction of a step to increase the resolution of the motor. When you combine both the square wave of the phase control and the modulated data of the voltage references, you have a variable level of current flowing through the motor coils.
An example of the motor control can be shown here:
The shape of the Voltage Reference A is a Sine wave and Voltage Reference B is offset by 90 degrees, which is the same as a Cosine wave. The computation of Sine and Cosine waves is very time consuming on a microcontroller. The easiest way to make for quick outputs is to use a pre-generated lookup table and step through the values.
An example of a 1/8 microstepping table is shown here:
By controlling the voltage reference output as an analog signal, we have full control over the position of the motor within a full step. The best way to accomplish this is through a Digital-to-Analog (DAC) converter, though it can also be achieved through pulse-width-modulation (PWM). The most effective method to control the stepper motors is through an additional microcontroller that can take logical inputs such as step and direction and output the four signals to the two motor driver chips.
(Eventually we will have examples ready for use with an Attiny85 or Arduino).
Controlling the Servo Extruder Motor
The servo motor for the filament extruder is controlled with an STMicroelectronics L298P Dual Full Bridge Motor Driver. The extruder motor is a DC powered motor with a built in quadrature encoder that sends a signal back for computation of the current position.
The inputs for the servo motor are found on PDB Connector J13. There are two input pins for each of the motor driver signals: Phase A & B, as well as two outputs to be read from the quadrature motor encoder: Channel A & B. Additionally the servo and stepper motor drivers can be put to sleep simultaneously though J13 Pin #45.
Motor Control Phases
The L298P requires two inputs in order to control both the speed and direction of the servo motor. The signal involved uses pulse width modulation (PWM) in order to provide varying values of speed and direction to the motor. This is best done by providing an analog TTL voltage signal to the motor controller where a voltage of 0VDC is a stopped motor and 5VDC is a motor running at full speed.
While sending a full TTL signal to the motor chip will run it at full speed, we also need to control the direction. This can be done by only sending signals to one input at a time. For example, to run at 100% clockwise, we will send a 100% signal to Phase A and a 0% signal to Phase B. To run counter-clockwise we would send the opposite, 0% signal to Phase A and 100% signal to Phase B. A stopped motor would need a 0% signal on both Phase A and Phase B.
Since running the motor at 100% speed at all times would not be very useful, the logic controller must control the speed accurately. It should slowly ramp up and down to prevent large inrushes of current and bursts of speed that may be unnecessary. This should be done by the logic controller once the data from the encoder is read.
The Quadrature Encoder is a simple set of square wave pulses that are sent back to the logic board using two offset encoding wheels physically connected to the rotating motor shaft. They send a set number of pulses per rotation of the motor shaft and can also determine what direction the motor is spinning. At this time it is believed the encoder used on the servo motor is capable of 1000 counts per rotation. The exact number is not necessary to be known, but whatever method is used to read the signal, must be capable of reading the data in at a quick enough rate to accurately count the rotational position.
For example, a motor spinning at 100 RPM is 1.6 rotations per second. With 1000 signal steps per rotation, the logic computer must be able to read 1600 state changes per second at a minimum. It is recommended that there be 4-5 times that number to accurately account for all state changes, so an input signal of 8,000 readings per second (or 8Khz) would be sufficient at that speed. For our purposes, we recommend using a device that is capable of 30Khz or higher to prevent steps from being missed. The extruder servo motor shouldn't rotate more than approximately 200 RPM (16Khz minimum encoder read rate).
Reading either channel A or channel B is adequate for determining how many divisions the servo motor has changed, but in order to determine the direction the motor is spinning, both channels must be compared to one another. By comparing the data between channel A and B it can be seen which direction the motor is spinning based on which channel sends a High Logic level signal first.
For example if channel A sends a logic high signal before channel B sends a logic high signal, the motor may be spinning clockwise. If channel B sends a logic high signal before channel A does, it may be spinning counter-clockwise. The actual directions are not important, as your main logic controller should be able to invert the direction on the configuration settings should it not be correct initially.
Knowing the motor's position and having the ability to control the speed and direction of the motor is only half the battle. We need to close the loop between the encoder signals and the motor output signals through a Proportional - Integral - Derivative (PID) control system.
In order to move the motor, for example 1000 steps based on the encoder readout, we will need to supply power to the motor to spin in the correct direction. Let's say the motor starts spinning at 100% speed and then counts 1000 steps on the encoder and then turns off the motor power. The motor will keep spinning beyond 1000 steps, and perhaps stop at 1200 steps, this is called overshoot.
We need a system that will slowly ramp up the motor speed at the beginning of the movement, reach the highest possible speed and then as it approaches the 1000 count, slowly ramp down the motor speed until it stops on exactly 1000 counts. This can best be accomplished with a PID Controller, which takes into account the speed, acceleration and position of the motor and monitors how those numbers change over time.
There are three factors that must be determined for the PID system:
The Proportional value is the most important factor in the movement of the system. It determines how much power is to be supplied to get the motor to the correct position. As an example, if we wanted to move a motor 1000 positions on the encoder counter, a proportional approach would supply 100% power the farther away from the intended target and reduce power the closer you get. This approach generally works, but it results in overshoot, or takes a long time to reach the 1000 count.
The Integral value aids the power calculation by looking at the speed at which the motor is spinning as it approaches the intended value. If we add an integral value, it will greatly help reducing the potential for overshooting by adjusting the power accordingly. The Integral value effectively helps the motor spin as fast as it can given the speed it is currently rotating.
Similar to the Integral, the Derivative value works works by adjusting the motor power to ensure it reaches the intended target in relation to how close the motor is from the intended value. In our example if we want to reach 1000 positions on the encoder counter, but we arrive at 1001, the Derivative function will aid in reaching 1000 without going too deeply into the opposite direction and creating an oscillation called ringing.
In order to build an effective PID system, the motor must be tuned to determine what the proportional, integral and derivative values are for the system. This is something that needs to be determined for the uPrint servo directly with your intended control system by adjusting PID values.
The goal of tuning is to achieve the fastest response from a given input without overshooting and without ringing. There are many tuning methods, but it is generally best to adjust the values one at a time in order.
For your reference a known PID configuration for the uPrint Servo motor is here:
|Parameter||Value for uPrint Servo Motor|
Reading Thermocouple Temperatures
The thermocouples on the uPrint are a Type K, with a heat range from −200°C to 1,260°C. The thermocouples are manipulated using an Analog Devices AD579 Analog to Digital converter and a Texas Instruments MV3931 Voltage Comparator. Note: These chips may differ depending on the date of manufacture of your printer as Analog Devices has discontinued the AD579. The temperature data is offset and the effective range of the thermocouple is narrowed against a voltage reference.
The temperature can be read on the Power Distribution Board (PDB) at the area marked "TEST PTS". The uPrint outputs an analog voltage in reference to ground that changes 0.1 degree Celsius per 10 mV between 0V and 5V. The Type K thermocouple is therefore capable of a range of approximately 500 degrees across that voltage.
This analog voltage can also be read on the PDB on J13 pins 35 (model extuder), pin 37 (support extruder) and pin 39 (chamber temperature). The easiest way to read these temperatures is to read them with a 12-Bit Analog to Digital converter such as the Microchip MCP3204. This chip is capable of sending the voltage data over SPI bus to be read by a common controller card such as Duet or an Arduino. One MCP3204 is capable of reading four different data channels, which is more than adequate for the uPrint's three thermocouples.
The temperature range for the 12-Bit SPI data is believed to be from 87 degrees Celsius to 345 degrees Celsius for the extruders and a range from 22 to 90 on the chamber. An example of the SPI data that is expected can be seen in the following table:
|SPI Binary Data||Input Voltage||Chamber Temp||Extruder Temp|
|0000 0000 0000||0.00V||22.0 degrees C||87.0 degrees C|
|0000 0000 1000||0.01V||22.1 degrees C||87.5 degrees C|
|0000 1000 0000||0.16V||24.1 degrees C||95.3 degrees C|
|0001 0000 0000||0.31V||26.2 degrees C||103.0 degrees C|
|0010 0000 0000||0.63V||30.5 degrees C||119.5 degrees C|
|0100 0000 0000||1.25V||39.0 degrees C||151.5 degrees C|
|1000 0000 0000||2.5V||56.0 degrees C||216.0 degrees C|
|1111 1111 1111||5V||90.0 degrees C||345.0 degrees C|
As important as the thermocouple temperature readings, are the status of the temperature alarms. The uPrint is equipped with two alarms that monitor for potential failures of the thermocouples. The head alarm monitors both the model and support temperature thermocouples, and the chamber alarm monitors the chamber thermocouple.
The alarms will trigger in the following situations: Damaged thermocouple, unplugged thermocouple.
It is important that you monitor for the alarm condition to ensure that your printer does not overheat when presented with a damaged or unplugged thermocouple. Your controller board will otherwise not know if you have an unplugged thermocouple, or a temperature reading of 0 degrees Celsius.
Pin 32: Head Thermocouples (0V = No alarm, 5V = Alarm)
Pin 33: Chamber Thermocouple (0V = No alarm, 5V = Alarm)
Any time the alarms are triggered, should result in an emergency stop situation and powering down the affected heaters.
In addition to the thermocouples and temperature alarms, the head of the printer is equipped with a thermostat. This thermostat is designed to trip when the temperature in the head (or build chamber) exceeds a preset value of 100 degrees Celsius.
Pin 22: Head Thermostat (0V = Normal, 5V = Alarm)
Reading Limit Switch States
The limit switches on the uPrint are an optical sensor made by Optek Technology OPB830 for the print bed sensor and OPB620 for all others. These sensors all operate with a very simple infrared LED emitter and a photo-diode. When an obstruction is present, the IR signal is broken and the switch is triggered. These switches are normally closed (NC).
In total there are 9 optical switches that can provide information:
- X-Axis Home (left side of printer)
- X-Axis End of Travel (right side of printer)
- Y-Axis Home (back of printer)
- Y-Axis End of Travel (front of printer)
- Z-Axis Home (bottom of printer)
- Z-Axis End of Travel (top of printer)
- Model Toggle
- Support Toggle
- Print Bed Touch Sensor
The uPrint's various control boards take care of the signal from the optical switches and handle the conversion of the states from high to low. Once they are normalized, they can be read from the Power Distribution Board (PDB) from connections J14 and J15 as 0V (Logic Low) or 5V (Logic High).
Pin 8: Model Toggle Switch
Pin 10: Support Toggle Switch
Pin 2: X-Axis Limit
Pin 3: X-Axis Home
Pin 4: Y-Axis Limit
Pin 5: Y-Axis Home
Pin 6: Z-Axis Limit
Pin 7: Z-Axis Home
Pin 8: Print Bed Touch Sensor
Pin 15: Print Bed Touch Sensor Power Enable
The Print Bed touch sensor is slightly different from any of the other limit switches. It has the ability to be turned on and off based on Pin #15 on J15. This is because the print bed touch sensor has two functions, it detects when the probe is stowed and when the probe is touching the print bed. It may be useful to disable the power to the print bed touch probe when not in use.
Operating Door Lock and LED Lighting
There are features of the uPrint that can easily be controlled through an external controller. They are the door lock and the internal LED lighting. The door lock is comprised of two components, a magnetic switch to determine if the door is closed and a solenoid made by Guardian Electric Part #TP8x16, that operates on 12VDC. The LED lights operate on 24VDC can be controlled through the on-board relay on the Power Distribution Board (PDB).
Pin 12: LED Lights Enable (Off = 0V, On = 5V)
Pin 13: Door Solenoid Enable (Off = 0V, On = 5V)
Pin 14: Door Switch (5V when closed, 0V when open)
For safety, the controller should check to make sure the door is closed before operating the door lock solenoid. Under normal operation of the uPrint, the door is locked whenever the machine is to be moving. It is completely optional however.
Controlling Heaters & Fans
IMPORTANT: Do not operate the heaters unless you have an accurate temperature reading from the Thermocouples! See this section: Reading Thermocouple Temperatures.
There are four heater elements and three blower fans on the uPrint, however not all of them can be controlled. There are two chamber heaters, a model extruder heater, a support extruder heater, two chamber fans and a print head blower. The two chamber heaters are wired in parallel when powered by 120VAC and in series when powered by 240VAC. Each chamber heater element produces approximately 120 watts of heat. The chamber heaters include a thermal fuse that will cut power if your controller malfunctions in an emergency situation.
Under normal situations, the Chamber heater will power on immediately and begin warming the printer up to 77 degrees Celsius. The Chamber fans circulate the hot air through the printer, but most importantly direct air at the printed part to prevent warping during printing. The Chamber fan should be on at all times when the printer is on as it is actively blowing air over the chamber heater elements. The chamber fan cannot be controlled.
The model and support filament extruders each have their own heaters that run on 120 VDC. Using the proprietary ABS and soluable support materials, the uPrint heats up to 310 degrees Celsuis for the ABS and 300 degrees Celsius for the support material. It is believed that the print head is similar to the ones used in the Stratasys Fortus line, which are capable of heating up to near 400 degrees Celsius and can print a variety of high temperature materials. Extreme caution should be used when heating the extruders above the standard temperatures.
The print head has a controllable blower motor that blows room temperature air across the top and bottom of the extruder heaters to prevent the heat from melting the filament prematurely. Under normal operations, the head blower fan is on whenever the model or support heaters are above ambient temperature.
Pin 4: Print Head Blower Enable (0V = Off, 5V = On)
Pin 11: Chamber Heater Enable (0V = Off, 5V = On)
Pin 18: Extruder Model Heater Enable (0V = Off, 5V = On)
Pin 19: Extruder Support Heater Enable (0V = Off, 5V = On)
Your controller should use PWM to rapidly turn the heating elements on and off to regulate the temperatures. There are many methods, but most modern 3D printer controllers will use a PID closed loop to maintain temperatures and prevent damage. If a tuning profile can be determined, it will be added in a new section.
Power Distribution Board (PDB)
The Power Distribution Board (PDB) contains all of the voltage regulation, relays, motor driver controllers, servo driver as well as power connections. It is the main board for the electronic control and is the main board we need in order to operate the machine. In addition to managing the power coming in from power supplies, it has one power 120VDC power supply on board.
|A||J1||AC Power In|
|B||J2||Power Switch / Thermal Safety Switch|
|E||J22||Auxiliary 120VDC Power Supply|
|E||J8||Z-Axis Limit Switches, Chamber Fans & Machine Serial Number|
|G||J10||I/O Board Connection|
|H||J11||I/O Board Connection|
|I||J7||24VDC Power Supply|
|J||TEST PTS||Test points where you can diagnose signals and voltages|
|K||J4||5/12VDC Power Supply|
|L||TEST PTS LED's||LEDs that indicate various functions on/off|
|M||J12||Serial Connection to Material Bay|
|N||J16||Serial Connection to Uninterruptible Power Supply (UPS)|
|O||J18||Front Panel LCD Connector|
|P||J15||Samtech EHT-125-01||Controller Board Connection|
|Q||J14||Samtech EHT-110-01||Controller Board Connection|
|R||J13||Samtech EHT-125-01||Controller Board Connection|
Power Switch / Thermostat
Pin 1 / 2 between Power Switch Pin 3 / 4 Across Safety Thermostat
1 Ground 2 Ground 3 Ground 4 Ground 5 +3.3VDC (for eeprom) 6 Ground 7 Ground 8 Ground 9 +5VDC for filament detect 10 Ground 11 Z-Axis Home Signal 12 Pull up for endstop siganl? 13 Z-Axis Limit Signal 14 Pull up for endstop signal? 15 SCL (eeprom) 16 SDA (eeprom) 17 Filament Detection (Un-used, Dimension only?) 18 +24 VDC (Chamber Fan) 19 Filament Detection (Un-used, Dimension only?) 20 +24 VDC (Chamber Fan)
1 2 3 4
Connector J13 is a 50 position IDC connector with 2.0mm pitch. It is a Samtech EHT-125-01 with latching connector. The connector mainly carries signal data to control the X, Y, Z motors and extruder servo motor.
|1||X-Axis Voltage Reference #1|
|3||X-Axis Voltage Reference #2|
|5||Y-Axis Voltage Reference #1|
|7||Y-Axis Voltage Reference #2|
|9||Z-Axis Voltage Reference #1|
|11||Z-Axis Voltage Reference #2|
|15||N/C? (Probe Point 10)|
|17||X-Axis Phase #1 PWM|
|19||X-Axis Phase #2 PWM|
|21||Y-Axis Phase #1 PWM|
|23||Y-Axis Phase #2 PWM|
|25||Z-Axis Phase #1 PWM|
|27||Z-Axis Phase #2 PWM|
|29||Extruder Servo Motor Encoder #1|
|31||Extruder Servo Motor Encoder #2|
|33||Extruder Servo Motor PWM #1|
|35||Extrider Servo Motor PWM #2|
|37||JR2 (Pin 1 & 4, Unpopulated)|
|39||JR4 (Pin 1 & 4, Unpopulated)|
|41||N/C? (Probe Point 16)|
|43||N/C? (Probe Point 17)|
|45||Motor Enable (0V = Off, 5V = On)|
Connector J14 is a 20 position IDC connector with 2.0mm pitch. It is a Samtech EHT-110-01 with latching connector. There are only a few data signals on this connection related to the print head.
|2||Filament Detection Output (J8 #19) * Dimension only?|
|3||Filament Detection Input (J8 #17) * Dimension only?|
|4||Print Head Blower Enable (0V = Off, 5V = On)|
|6||Print Head Type B (Unknown function)|
|7||JR6 (Pin 1 & 4, Unpopulated) & J17 Spares Header|
|8||Print Head Model Toggle Switch (5V when model extruder is enabled)|
|10||Print Head Support Toggle Switch (5V when support extruder is enabled)|
|11||Eeprom Memory (SDA)|
|12||Eeprom Memory (SCL)|
|14||J17 Spares Header|
Connector J15 is a 50 position IDC connector with 2.0mm pitch. It is a Samtech EHT-125-01 with latching connector. The connector carries the majority of the logical data signals as well as data from the various parts of the 3D printer, including the limit switches, heater controls and thermocouple temperature readings.
|2||X-Axis End of Travel Limit Switch|
|3||X-Axis Home Limit Switch|
|4||Y-Axis End of Travel Limit Switch|
|5||Y-Axis Home Limit Switch|
|6||Z-Axis End of Travel Limit Switch|
|7||Z-Axis Home Limit Switch|
|8||Print Bed Touch Probe Limit Switch|
|10||N/C? (Probe Point 10)|
|11||Chamber Heater Enable (Off = 0V, On = 5V)|
|12||LED Lights Enable (Off = 0V, On = 5V)|
|13||Door Solenoid Enable (Off = 0V, On = 5V)|
|15||Print Bed Touch Probe Power Enable (Off = 0V, On = 5V)|
|16||Power Enable (NOT A LOGIC LEVEL SIGNAL, REQUIRES +5V = On, Ground = Off)|
|18||Extruder Model Heater Enable (Off = 0V, On = 5V)|
|19||Extruder Support Heater Enable (Off = 0V, On = 5V)|
|21||POWER ON (keeps machine running when main power switch is disabled)|
|22||Head Thermostat Status (Safe = 0V, Warning = 5V)|
|23||On / Off Power Switch|
|24||Uninterruptible Power Supply Signal (5V when power outage?)|
|25||N/C? (Probe Point 11)|
|26||N/C? (Probe Point 12)|
|27||N/C? (Probe Point 13)|
|29||N/C? (Probe Point 14)|
|30||N/C? (Probe Point 15)|
|31||Head Type A (unknown function)|
|32||Print Head Temperature Alarm|
|33||Chamber Temperature Alarm|
|35||Print Head Model Thermocouple Signal|
|37||Print Head Support Thermocouple Signal|
|39||Chamber Temperature Thermocouple Signal|
|41||Material Bay Serial Data (In)|
|42||Material Bay Serial Data (Out)|
|43||N/C? (Probe Point 18)|
|44||N/C? (Probe Point 19)|
The I/O Board is the main place where connections are made to the ancillary boards in the extrusion head, X, Y motors, limit switches and front panel display. It is also where the main chamber's thermocouple is connected along with an on board analog-to-digital converter.
|A||J510 (PDB 1)||Board to Board Interconnect to the Power Distribution Card (PDC)|
|B||J511 (PDB 2)||Board to Board Interconnect to the Power Distribution Card (PDC)|
|C||J507 (CHAMBER TC)||Omega PCC-SMP-K||Chamber Thermocouple|
|D||J501 (Y-MOTOR)||Molex Microfit 3.0 (4-Pin)||Y-Axis Motor|
|E||J502 (X-MOTOR)||Molex Microfit 3.0 (6-Pin)||X-Axis Motor|
|F||J503 (Y SENSORS)||Molex Microfit 3.0 (18-Pin)||Y-Axis Limit Switches|
|G||J504 (UPPER HARNESS)||Molex Microfit 3.0 (24-Pin)||Front Panel & Chassis wiring (blower fan, on/off switch, chamber lights, door solenoid and magnetic door switch)|
|H||J505 (UMB1)||Molex Microfit 3.0 (22-Pin)||Umbilical head harness 1. (Model and support heaters, toggle switch sensor, X-axis limit switches)|
|I||J506 (UMB2)||Molex Microfit 3.0 (12-Pin)||Umbilical head harness 2 (Print bed level sensor, head drive motor, model and support thermocouple)|
This connection connects the electronics to the Y-Axis motor (forward and back motion). This is a Molex Microfit 3.0 connector with 4 positions.
This connection connects the electronics to the X-Axis motor (side to side motion). This is a Molex Microfit 3.0 connector with 6 positions.
J503 (Y SENSORS)
|5||Yellow||Y-Axis End of Travel Limit Switch|
|12||Yellow||Y-Axis Home Limit Switch|
J504 (UPPER HARNESS)
|1||Red||Front LCD, unknown function|
|2||White||Front LCD, unknown function|
|3||Blue||Front LCD, unknown function|
|4||Orange||Front LCD, unknown function|
|9||Black||LED Lighting (Negative)|
|10||Black||LED Lighting (Negative)|
|12||Black||Head Blower Fan (Positive)|
|13||Green||Front LCD, unknown function|
|14||Yellow||Front LCD, unknown function|
|15||Green||Front LCD, unknown function|
|21||Red||LED Lighting (Positive)|
|22||Red||LED Lighting (Positive)|
|24||Red||Head Blower Fan (Negative)|
|1||Black||Model Heater (Negative)|
|2||Blue||Model Heater (Positive)|
|3||Green||Support Heater (Positive)|
|4||Black||Support Heater (Negative)|
|10||Black||Toggle Limit Switch|
|11||Grey||X-Axis End of Travel Limit Switch|
|12||N/C||Model Heater (Negative)|
|13||N/C||Model Heater (Positive)|
|14||N/C||Support Heater (Positive)|
|15||N/C||Support Heater (Negative)|
|17||White||LMV393 Comparator Output|
|21||White||Toggle Limit Switch|
|22||Red||X-Axis Home Limit Switch|
|2||Red||Print Bed Limit Switch Power|
|3||Orange||Extruder Servo Motor Encoder Pin 8|
|4||Yellow||Extruder Servo Motor Power (Positive)|
|6||Red||Support Thermocouple Signal (AD579A Output)|
|7||Purple||Print Bed Limit Switch|
|8||Grey||Extruder Servo Motor Encoder Pin 6|
|9||White||Extruder Servo Motor Power (Negative)|
|10||Black||LM26 (100degC) Thermostat Output|
|11||Yellow||Model Thermocouple Signal (AD579A Output)|
Toggle Head Board
The Toggle Head Board is located in the print chamber and is attached to the front of the Y-Axis carriage. The version for the uPrint is shown below. The uPrint SE had a slightly upgraded board that added visual LEDs that light up when the extruder heaters are active.
|1||Green||Support Heater (Positive)|
|2||Black||Support Heater (Negative)|
|4||Red||X (Home) Limit Switch|
|5||Red||Bed Probe Limit Switch Power|
|6||Purple||Bed Probe Limit Switch|
|7||White||Toggle Sensor Power|
|8||Black||Toggle Sensor Switch|
|9||N/C||Encoder Pin #1|
|11||Black||Model Heater (Negative)|
|12||Blue||Model Heater (Positive)|
|16||Orange||Encoder Pin #8|
|17||Grey||Encoder Pin #6|
|19||White||Extruder DC Servo (Negative)|
|20||Yellow||Extruder DC Servo (Positive)|
|21||Grey||X (End of Travel) Limit Switch|
Head Temperature Board
|6||Yellow||Model Thermocouple Signal (AD579A Output)|
|7||White||LMV393 Comparator Output|
|8||Black||LM26 (100degC) Thermostat Output|
|9||Red||Support Thermocouple Signal (AD579A Output)|