A typical three dimensional (3D) printer uses spools of plastic filament as input. This plastic filament comes on rolls in various sizes. Rolls are typically 1 kg, or sometimes 3 or 5 kg. The plastic filament may be various types of thermoplastics such as PLA, ABS, PETG, Nylon, etc.
During the operation of the 3D printer, the filament is consumed by being re-melted and extruded into fine layers to build up a part. If the filament runs out, then typically one of two things happen. Either A) the printer does not detect this and continues without filament, causing a failed print, or B) the printer has filament out detection and automatically stops, parks the extruder head in a corner, and waits for an operator to manually change out the filament and signal the printer to continue.
For mass produced 3D printed parts, both cases are undesired. In case A), the print is unrecoverable, time is wasted, and the extruded plastic is scrapped. In case B) the printer is not operating for some time and thus downtime is incurred. Manual labor is also required to change the filament and continue the print, which scales poorly. Filament rolls may take a few minutes to swap, and the printer calibration may be impacted while the operator manipulates the machine in the middle of a print.
Furthermore, the inability to automatically change filament leads to significant waste. If a 1 kg spool used for batched prints of 250 g has only 150 g left, it would have to be set aside as waste. There is a need for a solution that provides seamless, automatic switching between filament rolls.
This disclosure relates to a method for automatic filament change, comprising loading a plurality of filament rolls into a queue. Each of the filament rolls contains a strand of filament for use as a print medium for a three-dimensional printer. The method further comprises feeding a lead end of the strand of filament to the three-dimensional printer and detecting a tail end of the strand of filament as the filament roll runs out. The method then comprises automatically feeding the lead end of a next strand of filament from a next filament roll immediately behind the tail end of the strand of filament from the filament roll just emptied. Finally, the method comprises repeating the three previous steps on condition that at least one of the filament rolls in the queue is not empty.
This disclosure further relates to an apparatus for automatic filament changer 212 comprising a plurality of input ports that each accept a strand of filament from a filament roll in a queue. The apparatus further comprises an output part that directs the strand of filament to a three-dimensional printer. The apparatus further comprises an end sensor capable of detecting the end of the strand of filament as it passes out of the input port. The apparatus further comprises a feed motor that propels the strand of filament through the input port and the output port. The feed motor speed and rotational direction are controlled by a feed motor controller. The apparatus further comprises a selection motor that aligns the output port with one of the input ports. The distance and direction of motion generated by the selection motor to align the input port selected with the output port is controlled by a selection motor controller.
To easily identify the discussion of any particular element or act, the most significant digit or digits in a reference number refer to the figure number in which that element is first introduced.
This disclosure relates to a method and apparatus for queuing three dimensional (3D) printing filament rolls of any size and automatically switching to a new roll when the current one is finished, with no interruption in the printing process. In a typical embodiment, two spools may be queued, and a blade may be used to cut the tail end of the current strand of filament and the leading end of the next strand of filament clean before switching to the next filament roll.
As the printer continues to print, an operator may remove the empty filament roll and replace it with a new filament roll. Once the second filament roll is empty, this new filament roll may be switched to automatically. This process may continue indefinitely so as to operate the printer continuously with no downtime from filament changes.
The primary solution disclosed herein may provide a continuous feed of filament of any type and color. Other embodiments of the automatic filament changer may be used to control switching between filament colors, filament materials, or any other application where automated filament switching may be desired.
Referring to
As this strand of filament runs out, the tail end may be detected as it passes an end sensor (block 106). The end sensor may be an optical sensor, a microswitch, or similar sensor. The tail end may be cut by one or more blades to form a smooth face (block 108).
The lead end of the next strand of filament may also be cut to form a smooth face (block 110). The lead end of the next strand of filament may be automatically fed to the extruder, immediately behind the tail end of the previous strand of filament (block 112). While this filament roll is in use, an operator may replace the empty filament roll. As long as at least one filament roll in the queue is not empty, this process may be repeated, allowing for continuous, uninterrupted printing (block 114).
Referring to
Filament roll 1204 may be loaded into the queue 202 by the operator. At this time, or any time before filament roll 1204 runs out, the operator may also load filament roll 2206, filament roll 3, up to filament roll n 218, depending on how many rolls the queue will hold. A typical embodiment may have a queue of two filament rolls.
The strand of filament from filament roll 1204 may be fed into the automatic filament changer 212. The automatic filament changer 212 includes a feed motor that may move the filament through the automatic filament changer 212 to the extruder 216 of a 3D printer 214. The strand(s) of filament from filament roll 2206 through filament roll n 218 may also be fed into the automatic filament changer 212.
As the current strand of filament 208 from filament roll 1204 runs out, this may be detected by a sensor. When this happens, the automatic filament changer 212 may automatically begin feeding the next strand of filament 210 to the extruder 216.
The system may incorporate some means of alerting the operator when one of the filament rolls runs out. An alert may be signaled by means of a notification light, and audible alarm, or a network notification, that filament roll 1204 is empty. Logic to activate the alerts may be incorporated into an alert control system on the automatic filament change apparatus. In a typical embodiment the end sensor may be capable of sending an output signal to activate an alert. A signal to activate an alert may also be sent by means of a computer terminal, or the 3D printer, in addition to the end sensor. The apparatus may also include a hardware mechanism that allows the operator to manually trigger a filament change. The operator may then replace filament roll 1204 as the 3D printer 214 prints using filament from one of the other filament rolls in the queue 202. The mechanisms that may actuate this process at the automatic filament changer 212 are shown in more detail in
Referring to
In an embodiment of the disclosed design, an automatic filament changer 300 may have two input positions, configured to accept two strands of filament from two filament rolls. The first input position may direct a strand of filament across roller 1302, powered by feed motor 1304. The second input position may direct a strand of filament across roller 2306, powered by feed motor 2308. Feed motor 1304 and feed motor 2308 may be Bowden drive stepper motors equipped with a slip-free frictional rubber or other drive mechanism (represented here by roller 1302 and roller 2306). In some embodiments the drive mechanism may be a soft rubber wheel on the output shaft of the stepper or a neoprene belt along with a few rollers, increasing the contact area of the motor's output on the filament. It is important that the drive mechanism impart a relatively large frictional force on the element without crushing it with pressure or deforming it with teeth. This avoids damage to the filament, deposition of filament residue, or other effects that may impact the longevity of the mechanism.
Feed motor 1304 and feed motor 2308 may be controlled by a feed motor controller 310. The feed motor controller 310 may control the feed motor of the active input port so as to impart a feeding force upon the active filament, while maintaining the feed motors for the inactive input port(s) in an idle state. The feed motor controller 310 may receive input from end sensors, such that when a tail end is detected at an input port, that feed motor goes idle, and remains idle, even when the associated input port is selected, unless the associated end sensor senses filament at the port. The feed motor controller 310 may carefully limit maximum motor torque, which correlates directly to force on the filament, to a relatively low value. Depending on the system, certain embodiments may work well with 1N to 10N of force.
The extruder located on the 3D printer may include a motor intended to exert a pulling force on a strand of filament, in order to continuously feed filament directly from a roll. Under some operational conditions, the motor at the extruder may reverse direction, to back filament away from its printing nozzle. The automatic filament changer 300 may be carefully designed such that the feed motors may be back driven. This means that, should a force be exerted on a strand of filament in opposition to the driving force of the feed motor, the feed motor may accommodate that opposing force, allowing the filament to move backwards through the input and output ports, as well as forward. In this case, the stepper may electrically slip and torque limit, so as not to damage the filament. This may further ensure that there is no mechanical slippage between the filament and motor drive mechanism.
The feed motor controller 310 may accept operator input or send status to the operator through a network connection or user interface. The feed motor controller 310 may include memory to maintain an operation log for the feed motors.
At the end of the feed motors, the two filaments may run into guide block 312, configured with an input port 1314 and an input port 2318. Each filament may run past an end sensor (end sensor 1316 and end sensor 2320, respectively) that detects the presence of the filament. In some embodiments, this may be an optical sensor or a microswitch. End sensors in some embodiments may include weight sensors at each position in the queue (see
The output port 324 may be flanked by cutting blades 334. In some embodiments these may be straight blades or curved blades. In other embodiments, the blade may be a hole with a sharpened interior edge. The selector block 322 output port 324 may be aligned with one of the two input ports in the guide block 312 by means of a selection motor 330. In some embodiments, this may be a high-powered motor on a lead screw 332. In other embodiments, this may be a rotating wheel mechanism with a motor on the periphery (see
The selection motor 330 may be controlled by a selection motor controller 328. The selection motor controller 328 may receive input from the end sensors and may use this input to determine if a position has filament present to feed. The selection motor controller 328 may instruct the selection motor 330 to reposition the selector block 322 so as to accept the filament fed from a new input port. The selection motor controller 328 may accept operator input or send status to the operator through a network connection or user interface. the selection motor controller 328 may include memory to maintain and operation log for the selection motor 330.
The current strand of filament 208 exits the output port 324 through a Bowden tube 326. The Bowden tube 326 extends all the way to the extruder 216 of the 3D printer 214, keeping the filament aligned with the extruder mechanism and allowing the extruder to exert a pulling force on the filament as the filament is used up.
Referring to
Referring to
Referring to
Referring to
In the input side of this embodiment, multiple input ports may be configured in a guide block 312, configured in a circular array, i.e., equidistant from a central pivot point 706. Each input port may accept a strand of filament from a filament roll. For the purposes of this example, the current strand of filament 208 from filament roll 1 is shown as routed to input port 1314. The next strand of filament 210 from filament roll 2 is shown as routed to input port 2318. Additional strands of filament are represented by filament n 702, from filament roll n, routed to input port n 704. As in the linear embodiment, shown in
Referring to
Referring to
As illustrated in this figure, a current strand of filament 208 may have just detached from filament roll 1204. Weight sensor 1902 may detect, based on the known empty weight of a filament roll, that filament roll 1204 has run out of filament. The sensor may communicate with the automatic filament changer 212 and an operator over a wired or wireless network connection. Based on the empty roll weight being reached, the automatic filament changer 212 may immediately switch to the next strand of filament 210 on filament roll 2206.
Alternately, the feed motor controller may calculate, based on a conservative estimate of filament length left once the roll itself runs out completely, and a known feed motor rate, a more exact approximation of when the tail end of the current strand of filament 208 will pass through the input port of the automatic filament changer 212. The feed motor controller may communicate with the selection motor controller in order to switch the output port to the next input port based on that time estimate.
Introducing a weight sensor may facilitate additional functional applications using the automatic filament change apparatus. Multiple colors of filament may be loaded for a multi-colored 3D printed design. Known parameters for the print job in progress, as well as weight data from the sensor under each filament roll, may be used to switch to a new filament color at the correct time as the job is in progress. In embodiments where the automatic filament change apparatus may actively alert an operator when filament roll status changes, weight data and print job parameters may be used to determine whether or not a filament roll might be expected to run out before the job in progress completes. If all other positions in the queue are empty when such a situation is detected, a high priority alert may be sent to notify an operator that new filament rolls are needed to prevent a print failure.
Referring to
As described above, end detection sensors 1002 may include some combination of optical sensors 1004, weight sensors 1006, and/or microswitches 1008. When the sensors detect the tail end of a strand of filament or detect that a filament roll has run out of filament, a signal 1010 may be sent to selection control logic 1012, which may in turn signal the feed motor controller 310 and selection motor controller 328 to automatically change the filament fed to the extruder. In addition, the end detection sensors 1002 may send a signal 1010 to notification control logic 1014, in order to alert an operator 1036 that an empty filament roll needs to be replaced.
The notification control logic 1014 may include or connect to audible alarm control logic 1020. The audible alarm control logic 1020 may send an output signal 1018 to an audible alarm 1032, which may sound an alert to notify the operator 1036 of an empty filament roll. The audible alarm 1032 may be integrated into the automatic filament changer 212. The audible alarm 1032 may alternately be external to the automatic filament changer 212 and may receive the output signal 1018 over a wired or wireless connection. The notification control logic 1014 may include or connect to light control logic 1022. The light control logic 1022 may send an output signal 1018 to a notification light 1034, which may generate a visible notification of an empty filament roll. The notification light 1034 may be integrated into the automatic filament changer 212 or may be external to the automatic filament changer 212 and receive the output signal 1018 over a wired or wireless connection. In a preferred embodiment, a notification light 1034 may be installed at each filament roll position in the queue, such that an operator may see from a distance which queue position requires a new filament roll.
The notification control logic 1014 may also communicate over a local or wide area network, either wired or wireless, by means of a network controller 1016. The network controller 1016 may allow for a network connection 1024 with a computer terminal 1030 accessible by the operator 1036. In this manner, a network notification 1028 may be displayed on the operator's computer terminal 1030 to alert the operator 1036 to the need for a new filament roll. This capability may additionally allow for a more urgent level of communication to be made beyond the physical confines of the printer and automatic filament changer 212 location. In some embodiments, the network controller 1016 may also communicate with the selection control logic 1012. In this manner, the operator 1036 may be able to command the selection control logic 1012 to switch to a new input port, regardless of whether the end detection sensors 1002 have detected the tail end of a strand of filament.
The automatic filament changer 212 may further include or connect to an operator input hardware mechanism 1026. This may be a keypad, a set of buttons or switches, or some other configuration allowing the operator 1036 to interact with the automatic filament changer 212. In some embodiments, the operator may be able to cancel notifications and alarms by means of the operator input hardware mechanism 1026 once the empty filament roll has been replaced. In some embodiments, the operator 1036 may be able to use the operator input hardware mechanism 1026 to manually switch the automatic filament changer 212 to a new input port.
The method and apparatus in this disclosure are described in the preceding on the basis of several preferred embodiments. Different aspects of different variants are considered to be described in combination with each other such that all combinations that upon reading by a skilled person in the field on the basis of this document may be regarded as being read within the concept of the invention. The preferred embodiments do not limit the extent of protection of this document.
In addition, as used herein, the wording “and/or” is intended to represent an inclusive- or. That is, “X and/or Y” is intended to mean X or Y or both, for example. As a further example, “X, Y, and/or Z” is intended to mean X or Y or Z or any combination thereof.
Having thus described embodiments of the present invention of the present application in detail and by reference to illustrative embodiments thereof, it will be apparent that modifications and variations are possible without departing from the scope of the present invention.