WO2017086908A1 - Correction de paramètres de filament - Google Patents

Correction de paramètres de filament Download PDF

Info

Publication number
WO2017086908A1
WO2017086908A1 PCT/US2015/060821 US2015060821W WO2017086908A1 WO 2017086908 A1 WO2017086908 A1 WO 2017086908A1 US 2015060821 W US2015060821 W US 2015060821W WO 2017086908 A1 WO2017086908 A1 WO 2017086908A1
Authority
WO
WIPO (PCT)
Prior art keywords
filament
extruder
velocity
kinematic parameter
lag
Prior art date
Application number
PCT/US2015/060821
Other languages
English (en)
Inventor
Sam A. Stodder
Jonathan Munir SALFITY
Mark Majette
Original Assignee
Hewlett-Packard Development Company, L.P.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett-Packard Development Company, L.P. filed Critical Hewlett-Packard Development Company, L.P.
Priority to PCT/US2015/060821 priority Critical patent/WO2017086908A1/fr
Publication of WO2017086908A1 publication Critical patent/WO2017086908A1/fr

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • B29C64/393Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/10Processes of additive manufacturing
    • B29C64/106Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/10Processes of additive manufacturing
    • B29C64/106Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material
    • B29C64/118Processes of additive manufacturing using only liquids or viscous materials, e.g. depositing a continuous bead of viscous material using filamentary material being melted, e.g. fused deposition modelling [FDM]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y10/00Processes of additive manufacturing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y50/00Data acquisition or data processing for additive manufacturing
    • B33Y50/02Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes

Definitions

  • a three-dimensional (3D) printer may produce a 3D object based on a predetermined set of instructions.
  • the 3D printer may include an extruder assembly to melt a filament (e.g., a polymer filament, a metal filament, a carbon fiber filament, a ceramic filament, a wood filament, etc.) by heating the filament.
  • the extruder assembly may deposit the melted filament at predetermined locations on a print bed.
  • the extruder assembly or the print bed may move so the extruder assembly is aligned with the predetermined locations.
  • the filament may cool and solidify at the predetermined locations. Additional layers of filament may be melted and deposited on previous layers to construct the 3D object.
  • Figure 1 is a schematic diagram of an example extruder assembly to correct filament parameters to compensate for compression of a filament.
  • Figures 2A-2B are schematic diagrams of another example extruder assembly to correct filament parameters to compensate for compression of a filament.
  • Figure 3 is a schematic diagram of an alternate example extruder assembly to correct filament parameters to compensate for compression of a filament.
  • Figure 4 is a flow diagram of an example method to correct filament parameters to compensate for lag.
  • Figure 5 is a flow diagram of another example method to correct filament parameters to compensate for lag.
  • Figure 6 is a chart of an example of a corrected filament position and a filament position at an extruder assembly output during an example print.
  • Figure 7 is a block diagram of an example computer-readable medium including instructions that cause a processor to correct for lag.
  • Figure 8 is a block diagram of another example computer-readable medium including instructions that cause a processor to correct for lag.
  • An extruder assembly may include a filament gripper to push filament through an extruder tip.
  • the extruder tip may melt the filament so that it can be deposited on the print bed.
  • the term "extruder tip” refers to a device that transfers heat to the end of a filament and outputs melted filament.
  • the extruder tip also may be referred to herein as a melt region, a heater barrel, a tapered barrel, or a tapered heated region.
  • the extruder assembly may also include a cooled region (e.g., a heat sink region) that prevents the filament from melting before it enters the extruder tip.
  • the extruder assembly may include an encoder to measure the position of the filament.
  • the term "extruder assembly” refers to a device that takes in solid filament and outputs melted filament at specified rate.
  • the 3D printer may send synchronized signals to the filament gripper and to the motors controlling horizontal movement of the extruder assembly or the print bed.
  • a z-axis may be perpendicular to the print bed and parallel to the filament as it is output from the extruder assembly.
  • An x-axis and a y-axis may be perpendicular to the z-axis and parallel to the print bed.
  • the 3D printer may move the extruder assembly or the print bed through a kinematic trajectory based on predetermined position, velocity, or acceleration parameters or the like for the 3D object to be printed.
  • the volumetric flow rate output by the extruder assembly may correspond to a kinematic parameter of the extruder assembly or print bed along the x-y plane.
  • the extruder assembly may output the melted filament at a higher rate when the extruder assembly or print bed is moving at higher velocities or accelerations.
  • the extruder tip may output the melted filament at a predetermined width.
  • the layer thickness of the deposited filament may be determined based on the change in the position of the print bed or extruder assembly along the z-axis prior to the printing of the layer.
  • the lag may result from compression of the filament and the viscosity of melted filament.
  • a substantial portion of the extruder lag is first order lag.
  • a time constant of the first order extruder lag may be proportional to a distance between the filament gripper and the extruder output (i.e., the length of the filament under compression). Accordingly, the extruder lag can be minimized by placing the filament gripper as close to the extruder output as possible.
  • the filament gripper may be placed upstream of the cooled region so that the filament gripper is able to engage solid filament that has not been melted.
  • the time constant of the first order extruder lag may vary based on the velocity, temperature, material, etc. of the filament. Accordingly, a static correction may not accurately compensate for the lag.
  • a 3D printer would be able to print high quality pieces at higher speed by accurately compensating for the lag.
  • FIG. 1 is a schematic diagram of an example extruder assembly 100 to correct filament parameters to compensate for compression of a filament 140.
  • the extruder assembly 100 may include an extruder tip 130 to melt the filament 140.
  • the filament 140 may exit an output 132 of the extruder tip 130 once it has been melted and may form a printed piece on a print bed (not shown).
  • a filament gripper 120 may drive the filament 140 into the extruder tip 130.
  • the force from the filament gripper 120 may drive the filament 140 through the extruder tip 130 and out the output 132.
  • the extruder assembly 100 may include a controller 110.
  • controller refers to hardware (e.g., a processor, such as an integrated circuit, or analog or digital circuitry) or a combination of software (e.g., programming such as machine- or processor-executable instructions, commands, or code such as firmware, a device driver, programming, object code, etc.) and hardware.
  • Hardware includes a hardware element with no software elements such as an application specific integrated circuit (ASIC), a Field Programmable Gate Array (FPGA), etc.
  • ASIC application specific integrated circuit
  • FPGA Field Programmable Gate Array
  • a combination of hardware and software includes software hosted at hardware (e.g., a software module that is stored at a processor-readable memory such as random access memory (RAM), a hard-disk or solid-state drive, resistive memory, or optical media such as a digital versatile disc (DVD), and/or executed or interpreted by a processor), or hardware and software hosted at hardware.
  • software hosted at hardware e.g., a software module that is stored at a processor-readable memory such as random access memory (RAM), a hard-disk or solid-state drive, resistive memory, or optical media such as a digital versatile disc (DVD), and/or executed or interpreted by a processor
  • hardware e.g., a software module that is stored at a processor-readable memory such as random access memory (RAM), a hard-disk or solid-state drive, resistive memory, or optical media such as a digital versatile disc (DVD), and/or executed or interpreted by a processor
  • the controller 110 may determine a correction for a compression of the filament based on an operating condition of the extruder assembly.
  • operating condition refers to a parameter or external condition that can change during a print job or between print jobs.
  • the operating condition may include a kinematic parameter of the filament, a temperature of an extruder tip, a material of the filament, or the like.
  • the operating condition may affect how much compression is experienced by the filament, so the controller may determine how much of a correction will be needed to correct for the lag that will result from a particular operating condition.
  • the controller 110 may compute a corrected kinematic parameter for the filament 140 based on the correction for the compression of the filament 140 and a reference kinematic parameter for the filament 140.
  • kinematic parameter for the filament 140 refers to a position of the filament 140 or one of the derivatives of position (e.g., instantaneous velocity, average speed, instantaneous or average acceleration, instantaneous or average jerk, instantaneous or average snap, etc.).
  • reference kinematic parameter refers to a kinematic parameter at the output 132 of the extruder tip 130 that is to be achieved by the controller.
  • the controller 110 may compute the reference kinematic parameter used to print a predetermined object or may receive the reference kinematic parameter.
  • a kinematic parameter of the filament 140 at the output 132 may not match a kinematic parameter of the filament 140 at the filament gripper 120.
  • the controller 110 may determine from the correction for the compression a kinematic parameter at the filament gripper 120 that will produce the reference kinematic parameter at the output 132.
  • the controller 110 may determine the corrected kinematic parameter by adjusting the reference kinematic parameter to compensate for the lag expected due to compression.
  • the controller 110 may control the filament gripper 120 based on the corrected kinematic parameter.
  • control refers to any action that affects operation of the target being controlled.
  • the controller 110 may output a digital or analog signal to the filament gripper 120, may output a digital or analog signal to another controller for further processing (e.g., a proportional-integral-derivative (PID) controller), or the like.
  • PID proportional-integral-derivative
  • FIGS 2A-2B are schematic diagrams of another example extruder assembly 200 to correct filament parameters to compensate for compression of a filament 240.
  • the extruder assembly 200 may include an extruder tip 230 to melt the filament 240 and extrude it from an output 232 of the extruder tip 230.
  • the extruder assembly 200 may also include a heat sink 250 to maintain the solidity of the filament 240 until it enters the extruder tip 230.
  • a filament gripper 220 may drive the filament 240 through the heat sink 250 and the extruder tip 230.
  • An encoder 260 may measure a kinematic parameter of the filament 240, such as the position of the filament 240.
  • the encoder 260 may be situated near the filament gripper 220, so the kinematic parameter measured by the encoder 260 may about equal a kinematic parameter of the filament 240 where it is engaged by the filament gripper 220.
  • the extruder assembly 200 may include a controller 210 communicatively coupled with the filament encoder 260 and the filament gripper 220.
  • the controller 210 may receive an indication of a reference kinematic parameter for the filament 240 (e.g., a reference position, a reference velocity, etc.).
  • the reference kinematic parameter may indicate a kinematic parameter of the filament 240 at the output 232 that the controller 210 is to achieve.
  • the controller 210 may determine a correction for a compression of the filament based on an operating condition of the extruder assembly.
  • the controller 210 may compute a corrected kinematic parameter for the filament 240 based on the reference kinematic parameter for the filament 240 and based on the correction for the compression of the filament 240.
  • the corrected kinematic parameter for the filament 240 may be the kinematic parameter that the controller 210 is to achieve at the filament gripper 220 to produce the reference kinematic parameter at the output 232.
  • the controller 210 may correct for the compression by correcting for a first order extruder lag resulting from compression of the filament 240.
  • the first order extruder lag may be modeled as a damped spring with a rigid massless link between the damper and the spring.
  • the sum of forces may be represented by the equation:
  • c is the viscous damping coefficient of the damper
  • k is the spring constant of the spring
  • k is the position of the filament 240 at the filament gripper 220
  • k is the position of the filament 240 at the output 232
  • r e is defined as £ and is referred to herein as the extruder lag time constant.
  • the velocity transfer function may be represented by the equation:
  • the controller 210 may compute the corrected kinematic parameter for the filament 240 by applying a lead compensator to the reference kinematic parameter.
  • the lead compensator may cancel some or all of the extruder lag.
  • a transfer function of the lead compensator may be specified by the equation:
  • s is the Laplace variable and and are parameters of the compensator.
  • the extruder lag time constant may be selected to be equal to the extruder lag time constant so that the numerator of the lead filter cancels the extruder lag. The closer that is to zero,
  • small values of may result in the lead compensator requiring large accelerations of the filament 240. So, may be selected to be as small as possible while being large enough that the maximum acceleration output by the lead compensator is within the capabilities of the filament gripper 220.
  • the lead compensator may be implemented as a filter, and the transfer function of equation 5 may be converted to difference equation form to simplify implementation.
  • the output from the lead compensator may result in a negative velocity, so the filament gripper 220 may be able to reverse the direction that it drives the filament 240.
  • the controller 210 may determine the lead compensator parameters by estimating the time constant for the extruder lag.
  • the time constant may vary depending on the material used as the filament 240, the velocity at which the filament 240 is being extruded, the temperature of the extruder tip 230, or the like. Accordingly, the controller 210 may determine the time constant for the extruder lag based on the filament material, the filament velocity, the temperature, or the like. The controller 210 may update the time constant as the operating conditions of the extruder assembly change.
  • the controller 210 may receive reference kinematic parameters as a digital signal, and the controller 210 may update the time constant with every reference kinematic parameter received, every time a reference kinematic parameter corresponding to a new filament velocity is received, or the like. Alternatively, or in addition, the controller 210 may update the time constant more frequently or less frequently than the rate of the digital signal for the reference kinematic parameter.
  • the relationship between the time constant and the velocity or temperature may be determined experimentally for a material and stored in a persistent computer readable medium communicatively coupled to the controller 210 or in the controller 210.
  • the controller 210 may receive an indication of which filament material is being used for a particular print job, and the relationship between the time constant and the velocity or temperature for that material may be retrieved from the persistent computer readable medium.
  • the retrieved relationship may be used to update the time constant.
  • the relationship may be deduced based on the material of the filament 240, the size and shape of the filament 240, the material of the extruder tip 230, the size and shape of the extruder tip 230, or the like.
  • the relationship may be specified as a polynomial relationship.
  • the relationship may be of the form:
  • the controller 210 may determine the velocity based on the reference kinematic parameter, a previously computed corrected kinematic parameter, or the like.
  • the controller 210 may determine the temperature by receiving an indication of a temperature setting for the extruder tip or the like. For example, the controller 210 may retrieve a stored indication of the temperature setting, receive a temperature measurement, or the like.
  • the controller 210 may update the time constant continually to compensate for variations in the lag as operating conditions change.
  • the velocity or temperature may change continually during printing, and the time constant may be recomputed continually.
  • the transfer function may be updated continually based on the time constant.
  • an update frequency for the time constant may equal a data rate for the velocity or temperature or may be greater or less than the data rate.
  • the time constant may be updated whenever the velocity or temperature changes.
  • the controller 210 may include a PID controller to control the filament gripper 220 based on the corrected kinematic parameter.
  • the corrected kinematic parameter may be compared to feedback from the encoder 260 to produce an error signal for the PID controller.
  • the PID controller may determine a control signal (e.g., an analog or digital signal) for the filament gripper 220 based on the error signal.
  • the PID controller may transmit the control signal to the filament gripper 220, and the filament gripper 220 may drive the filament based on the control signal.
  • the PID controller may produce a pulse-width modulated (PWM) signal to control operation of the filament gripper 220.
  • PWM pulse-width modulated
  • the controller 210 may compute a correction for the motor lag and control the filament gripper 220 based on the correction.
  • the controller 210 may determine a reference velocity and a reference acceleration based on the reference kinematic parameter. Separate feed forward gains may be applied to each of the reference velocity and the reference acceleration. The results from applying the gains may be added to the control signal output from the PID controller to correct for the motor lag. For example, the controller 210 may add extra PWM load to or subtract PWM load from the control signal based on the results.
  • the feed forward correction may compensate for the motor lag and cause the kinematic parameter of the filament at the filament gripper 220 to correspond more closely to the reference kinematic parameter as modified by the lead compensator.
  • the controller 210 uses feed forward gain to compensate for motor lag and uses the lead compensator to correct for extruder lag dynamically, the residual lag may be minimal.
  • the kinematic parameter of the filament 240 at the output 232 to the extruder tip 230 may closely correspond to the reference kinematic parameter received by the controller 210.
  • the extruder assembly 200 is able to print at high speed without starvation at the beginning of a print movement or overfill at the end of the print movement. Thus, the extruder assembly 200 is able to print at a higher speed than a printer that does not correct for motor or extruder lag without any loss of structural integrity or aesthetic quality.
  • FIG. 3 is a schematic diagram of an alternate example extruder assembly 300 to correct filament parameters to compensate for compression of a filament.
  • the extruder assembly 300 may include a controller 310 communicatively coupled to a filament gripper 320.
  • the feed forward gains to correct for motor lag are applied to a corrected velocity and a corrected acceleration determined based on the corrected kinematic parameter.
  • the feed forward gains in the extruder assembly 300 may be different from the feedforward gains in the extruder assembly 200, but the outputs to the filament grippers 220, 320 may be identical.
  • the time constant is still determined based on the reference kinematic parameter rather than the corrected kinematic parameter. However, in other examples, the time constant may be determined based on the corrected kinematic parameter.
  • Figure 4 is a flow diagram of an example method 400 to correct filament parameters to compensate for lag.
  • the method 400 may be performed by a motor or filament gripper or a processor in combination with a motor or filament gripper.
  • the method 400 may include driving filament into an extruder tip at greater than an indicated velocity based on an operating condition of the extruder tip. Driving at greater than the indicated velocity may compensate for lag.
  • the lag may vary depending on an operating condition of the extruder tip (e.g., a kinematic parameter of the filament, a temperature of the extruder tip, a material of the filament, etc.).
  • how much the velocity at which the filament is driven exceeds the indicated velocity may be determined based on the operating condition to compensate for the lag resulting from that operating condition. If the indicated velocity remains constant, the filament may be driven at a constant velocity greater than the indicated velocity or at various velocities greater than the indicated velocity. In an example, the amount of time for which the filament is driven at greater than the indicated velocity may be determined based on the operating condition.
  • Block 404 may include driving the filament into the extruder tip at about the indicated velocity.
  • the term "about” equal refers to values that differ by no more than .1%, .5%, 1%, 2%, 5%, 10%, or the like.
  • the velocity at which the filament is driven may equal the indicated velocity to the extent practicable by the processor and motor or filament gripper. If the indicated velocity remains constant for a sufficient time, the filament may reach a steady state once any lag has been compensated for by driving the filament at greater than the indicated velocity. In the steady state, driving the filament at the indicated velocity may result in the filament being extruded at the indicated velocity.
  • the filament may be driven at the indicated velocity as long as the filament remains in the steady state and the indicated velocity remains unchanged.
  • the filament gripper 120 of Figure 1 may drive the filament into the extruder tip in accordance with blocks 402 and 404.
  • FIG. 5 is a flow diagram of another example method 500 to correct filament parameters to compensate for lag.
  • the method 500 may be performed by a motor or filament gripper or a processor in combination with a motor or filament gripper.
  • the method 500 may include driving filament into an extruder tip at greater than a first indicated velocity based on an operating condition of the extruder tip. For example, a reference kinematic parameter may be received, and the first indicated velocity may be determined based on the reference kinematic parameter and based on the operating condition.
  • block 502 may include driving the filament into the extruder at greater than the first indicated velocity based on the first indicated velocity exceeding a previously indicated velocity.
  • the filament may be driven at greater than the first indicated velocity to compensate for lag in the transition from the previously indicated velocity to the first indicated velocity, such as lag due to compression of the filament.
  • Driving the filament at greater than the first indicated velocity may include driving the filament to compensate for an expected lag between the driving of the filament and the output of the filament.
  • a time constant for the lag may vary depending on the operating conditions, such as by increasing for increasing velocity.
  • how to drive the filament may be determined based on the previously indicated velocity, the first indicated velocity, a previous velocity at which the filament was driven, a time constant computed based on the first indicated velocity, or the like.
  • the velocity at which the filament is driven may be determined by the transfer function of equation 5 with the parameters of the transfer function adjusted according to the time constant.
  • the time constant may be computed based on operating conditions, such as by being computed according to equation 6 based on velocity.
  • the time constant may be updated each time an indicated velocity is received, each time an indicated velocity differs from a previously indicated velocity, or the like.
  • the velocity at which to drive the filament may be computed based on the most recent time constant.
  • the operating conditions may include a temperature of the extruder tip.
  • the time constant for the lag may vary depending on the temperature, such as by decreasing for increasing temperature. Accordingly, the time constant may be determined based on the temperature.
  • how to drive the filament may be determined by the transfer function of equation 5 with the parameters adjusted according to the time constant (e.g., a time constant computed according to equation 6 based on temperature).
  • the temperature at the extruder tip may be determined based on a setting specifying the temperature.
  • the operating conditions may also, or instead, include a material of the filament.
  • the time constant may be determined for the material being extruded.
  • the constants and coefficients of equation 6 may be determined based on the material being extruded (e.g., retrieved from a lookup table, estimated from material characteristics, etc.).
  • the time constant may be computed from the determined constants and coefficients and then may be used to determine how to drive the filament.
  • the velocity or temperature may change continually, so the time constant may be updated continually as well.
  • the filament may be driven based on the most recent time constant.
  • the method 500 may include driving the filament into the extruder tip at about the first indicated velocity. If the first indicated velocity remains constant, a steady state may be reached once the lag has been compensated for. In the steady state, driving the filament at about the first indicated velocity may result in the filament being extruded at about the first indicated velocity. Thus, in an example, the filament may be driven at a velocity as close to the first indicated velocity as is achievable. Once in the steady state, the filament may be driven at about the first indicated velocity as long as another velocity is not indicated.
  • Block 506 may include driving the filament into the extruder tip at greater than a second indicated velocity.
  • a reference kinematic parameter may be received that corresponds to a second indicated velocity different from the first indicated velocity.
  • the second indicated velocity may be greater than the first indicated velocity.
  • the filament may be driven at greater than the second indicated velocity to compensate for the additional lag resulting from the increase in velocity.
  • the additional lag may result from compression due to the application of additional force to achieve the increased velocity, changes to the time constant because of the increased velocity, or the like.
  • the velocity at which the filament is driven may be selected based on the additional lag due to compression and the changes to the time constant (e.g., using a transfer function determined according to equations 5 or 6).
  • Block 508 may include driving the filament into the extruder tip at about the second indicated velocity.
  • a steady state may be reached where driving the filament at the second indicated velocity results in the filament being extruded at the second indicated velocity.
  • the steady state may be reached once the additional lag has been compensated for.
  • the filament may be driven at about the second indicated velocity as long as the reference kinematic parameter continues to correspond to the second indicated velocity.
  • the method 500 may include driving the filament into the extruder tip at less than a third indicated velocity.
  • the third indicated velocity may be less than the second indicated velocity.
  • the third indicated velocity may equal the first indicated velocity, may be zero, or the like.
  • the decrease in velocity may result in a reduction in lag, for example, due to less compression of the filament and a lower time constant. However, the lag may still need correction.
  • the filament may be driven at less than the third indicated velocity to compensate for the lag.
  • Driving the filament at less than the third indicated velocity may include driving the filament based on the operating conditions to account for the reduction in lag. How to drive the filament may also, or instead, be determined based on how much less the third indicated velocity is than the second indicated velocity, or the like. In an example, how to drive the filament may be determined based on equations 5 and 6.
  • Driving the filament into the extruder tip at less than a third indicated velocity may include retracting the filament from the extruder tip.
  • the third indicated velocity may indicate that the filament should be driven into the extruder tip, but the filament may instead be retracted from the extruder tip.
  • the retraction of the filament may compensate for lag that would otherwise result in continued extrusion at the previously indicated velocity.
  • the filament may be retracted based on the third indicated velocity being less than the previously indicated velocity but greater than zero, the third indicated velocity being zero, or the like. Backlash in the filament gripper may be minimized so the filament gripper is able to retract the filament effectively when instructed to do so.
  • the filament gripper 220 may drive the filament into the extruder tip in accordance with blocks 502-510.
  • Figure 6 is a chart 600 of an example of a corrected filament position and a filament position at an extruder assembly output during an example print.
  • the chart 600 includes a reference filament position 610 as a function of time.
  • a corrected filament position 620 to be achieved at a filament gripper may be computed from the reference filament position 610.
  • the reference filament position 610 may begin by increasing at a first velocity 611.
  • the corrected filament position 620 may initially increase at greater than the first velocity 611 as seen at label 621.
  • the corrected filament position 620 may then increase at approximately the first velocity 611 as seen at label 622.
  • the reference filament position 610 may then increase at a second velocity 612.
  • the corrected filament position 620 may increase at greater than the second velocity 612 as seen at label 623.
  • the amount of correction may vary depending on operating conditions. For example, the time constant associated with first order lag of the system may increase when the velocity increases.
  • the correction at label 623 may be significantly greater than the correction at label 621 to compensate for the increase in the time constant.
  • the corrected filament position 620 may then increase at approximately the second velocity 612 as seen at label 624.
  • the reference filament position 610 may decrease to a third velocity 613 before finally decreasing to a velocity of zero 614.
  • the corrected filament position 620 may increase at less than the third velocity 613 as seen at label 625, increase at approximately the third velocity as seen at label 626, and increase at less than the velocity of zero 614 as seen at label 627. Indeed, the corrected filament position 620 may decrease as seen at labels 625 and 627, which may result in an indication to the filament gripper to retract the filament.
  • the chart 600 includes a filament position at the extruder output 630.
  • the filament position at the extruder output 630 closely tracks the reference position 610 across a plurality of velocities 611-614 due to the correction based on the operating conditions.
  • the illustrated chart 600 includes long periods with constant reference velocities, the reference velocity (or temperature) may change continually, and the time constant and corrected filament position may be updated continually based on the changes to the reference velocity (or temperature).
  • Figure 7 is a block diagram of an example computer-readable medium 700 including instructions that, when executed by a processor 702, cause the processor 702 to correct for lag.
  • the computer-readable medium 700 may be a non-transitory computer readable medium, such as a volatile computer readable medium (e.g., volatile RAM, a processor cache, a processor register, etc.), a non-volatile computer readable medium (e.g., a magnetic storage device, an optical storage device, a paper storage device, flash memory, read-only memory, non-volatile RAM, etc.), and/or the like.
  • a volatile computer readable medium e.g., volatile RAM, a processor cache, a processor register, etc.
  • a non-volatile computer readable medium e.g., a magnetic storage device, an optical storage device, a paper storage device, flash memory, read-only memory, non-volatile RAM, etc.
  • the processor 702 may be a general purpose processor or special purpose logic, such as a microprocessor, a digital signal processor, a microcontroller, an ASIC, an FPGA, a programmable array logic (PAL), a programmable logic array (PLA), a programmable logic device (PLD), etc.
  • a microprocessor a digital signal processor
  • a microcontroller an ASIC
  • an FPGA a programmable array logic
  • PDA programmable logic array
  • PLD programmable logic device
  • the computer-readable medium 700 may include a reference input module 710, a filter module 720, and a corrected parameter output module 730.
  • a “module” in some examples referred to as a "software module” is a set of instructions that when executed or interpreted by a processor or stored at a processor-readable medium realizes a component or performs a method.
  • the reference input module 710 may cause the processor 702 to receive an indication of a reference kinematic parameter for a filament of a filament extruder (not shown) (e.g., a 3D printer, a portion of a 3D printer, an extruder assembly, a PID controller and filament gripper, or the like).
  • the reference input module 710 may cause the processor 702 to receive the indication of the reference kinematic parameter from another module (not shown) operating on the processor 702, retrieve the indication of the reference kinematic parameter from the computer- readable medium 700 or another computer-readable medium (not shown), receive the indication of the reference kinematic parameter from another processor (not shown), or the like.
  • the reference kinematic parameter may be a position or a derivative of position (e.g., instantaneous velocity, average speed, instantaneous or average acceleration, instantaneous or average jerk, instantaneous or average snap, etc.).
  • the filter module 720 may cause the processor 702 to apply a filter to the indication of the reference kinematic parameter to correct for a first order lag.
  • the filter module 720 may cause the processor 702 to adjust the indication of the reference kinematic parameter based on a previously received indication of a reference kinematic parameter, a previous result from the filter, or the like.
  • the filter module 720 may cause the processor 702 to determine the filter based on an operating condition of the filament extruder.
  • the filter module 720 may cause the processor 702 to adjust parameters of the filter based on the operating condition.
  • the corrected parameter output module 730 may cause the processor 702 to provide to the filament extruder an indication of a kinematic parameter resulting from application of the filter.
  • the corrected parameter output module 730 may cause the processor 702 to provide the indication of the resulting kinematic parameter directly to the filament extruder, to provide the indication of the resulting kinematic parameter to another module or processor (not shown) that further adjusts the kinematic parameter before providing it to the filament extruder, to generate a control signal based on the indication of the resulting kinematic parameter and provide the control signal to the filament extruder, or the like.
  • the reference input module 710, the filter module 720, or the corrected parameter output module 730 when executed by the processor 702, may realize, for example, the controller 110.
  • Figure 8 is a block diagram of an example computer-readable medium 800 including instructions that, when executed by a processor 802, cause the processor 802 to correct for lag.
  • the computer-readable medium 800 may include a reference input module 810 to cause the processor 802 to receive an indication of a reference kinematic parameter for a filament of a filament extruder.
  • the reference kinematic parameter may be a reference velocity of the filament.
  • the reference velocity may be a velocity of the filament that is to be achieved at an output from the filament extruder.
  • the computer-readable medium 800 may include a filter module 820 to cause the processor 802 to apply a filter to the indication of the reference kinematic parameter to correct for a first order lag.
  • the filter module 820 may cause the processor 802 to compute a corrected kinematic parameter that compensates for an estimate of the first order lag based on the filter.
  • the filter may limit an acceleration applied to correct the first order lag. For example, a filter without an acceleration limit or with too high an acceleration limit could produce a corrected kinematic parameter that corresponds to an acceleration beyond the capabilities of the filament extruder. Accordingly, the filter may limit acceleration based on the capabilities of the filament extruder, based on expected input accelerations, or the like. In an example, the filter may be specified based on the transfer function of equation 5.
  • the computer-readable medium 800 may include a parameter adjustment module 840.
  • the parameter adjustment module 840 may cause the processor 802 to adjust parameters of the filter based on a material of the filament, a reference velocity of the filament, a temperature of an extruder tip, or the like.
  • the parameter adjustment module 840 may include a time constant computation module 845.
  • the time constant computation module 845 may cause the processor 802 to compute a time constant based on the filament material, the reference velocity, a previously corrected velocity, the temperature, or the like.
  • the parameter adjustment module 840 may cause the processor 802 to adjust the parameters of the filter based on the time constant.
  • the time constant computation module 845 may include a model similar to equation 6.
  • the parameter adjustment module 840 may cause the processor 802 to determine an updated transfer function based on the time constant computed according to the model (e.g., an updated transfer function similar to equation 5).
  • the filter module 820 may cause the processor 802 to apply a filter to the reference kinematic parameter based on the updated transfer function.
  • the time constant computation module 845 and parameter adjustment module 840 may cause the processor 802 to update the time constant and filter parameters each time an indication of velocity or temperature is received.
  • the filter module 820 may cause the processor 802 to apply the most recent filter from the parameter adjustment module 840 to the reference kinematic parameter.
  • the computer-readable medium 800 may include a corrected parameter output module 830.
  • the corrected parameter output module 830 may cause the processor 802 to provide an indication of a kinematic parameter resulting from the application of the filter to the filament extruder.
  • the corrected parameter output module 830 may cause the processor 802 to provide the resulting kinematic parameter to a controller for a motor (e.g., a PID controller) (not shown).
  • the motor controller may cause the motor to drive the filament according to the resulting kinematic parameter.
  • the resulting kinematic parameter may correct for lag between the motor and the output of the filament extruder.
  • the reference input module 810, the filter module 820, the corrected parameter output module 830, the parameter adjustment module 840, or the time constant computation module 845 when executed by a processor, may realize the controller 210 of Figures 2A and 2B.

Landscapes

  • Chemical & Material Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Materials Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Mechanical Engineering (AREA)
  • Optics & Photonics (AREA)
  • Extrusion Moulding Of Plastics Or The Like (AREA)

Abstract

L'invention concerne un ensemble extrudeuse illustratif comprenant une pointe d'extrusion afin de faire fondre un filament. L'ensemble extrudeuse comporte également une pince à filament pour entraîner le filament dans la pointe d'extrusion. L'ensemble extrudeuse comprend également un dispositif de commande. Le dispositif de commande est destiné à déterminer une correction pour une compression du filament en fonction d'une condition de fonctionnement de l'ensemble extrudeuse. Le dispositif de commande est également destiné à calculer un paramètre cinématique corrigé pour le filament selon la correction de la compression du filament et un paramètre cinématique de référence pour le filament. Le dispositif de commande est également destiné à commander la pince à filament sur la base du paramètre cinématique corrigé.
PCT/US2015/060821 2015-11-16 2015-11-16 Correction de paramètres de filament WO2017086908A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2015/060821 WO2017086908A1 (fr) 2015-11-16 2015-11-16 Correction de paramètres de filament

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/060821 WO2017086908A1 (fr) 2015-11-16 2015-11-16 Correction de paramètres de filament

Publications (1)

Publication Number Publication Date
WO2017086908A1 true WO2017086908A1 (fr) 2017-05-26

Family

ID=58718128

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/060821 WO2017086908A1 (fr) 2015-11-16 2015-11-16 Correction de paramètres de filament

Country Status (1)

Country Link
WO (1) WO2017086908A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4180150A1 (fr) * 2021-11-15 2023-05-17 Markforged, Inc. Appareil et procédé de compensation d'extrusion dans l'impression 3d
US20230271385A1 (en) * 2021-11-15 2023-08-31 Markforged, Inc. Apparatus and method for extrusion compensation in 3d printing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4120630A (en) * 1976-03-12 1978-10-17 Phillips Petroleum Company Automatic control of extrusion rate
US5764521A (en) * 1995-11-13 1998-06-09 Stratasys Inc. Method and apparatus for solid prototyping
US6280785B1 (en) * 2000-03-28 2001-08-28 Nanotek Instruments, Inc. Rapid prototyping and fabrication method for 3-D food objects
US20070228590A1 (en) * 2006-04-03 2007-10-04 Stratasys, Inc. Single-motor extrusion head having multiple extrusion lines
WO2015027938A1 (fr) * 2013-08-28 2015-03-05 CEL Technology Limited Robot de bureau

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4120630A (en) * 1976-03-12 1978-10-17 Phillips Petroleum Company Automatic control of extrusion rate
US5764521A (en) * 1995-11-13 1998-06-09 Stratasys Inc. Method and apparatus for solid prototyping
US6280785B1 (en) * 2000-03-28 2001-08-28 Nanotek Instruments, Inc. Rapid prototyping and fabrication method for 3-D food objects
US20070228590A1 (en) * 2006-04-03 2007-10-04 Stratasys, Inc. Single-motor extrusion head having multiple extrusion lines
WO2015027938A1 (fr) * 2013-08-28 2015-03-05 CEL Technology Limited Robot de bureau

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4180150A1 (fr) * 2021-11-15 2023-05-17 Markforged, Inc. Appareil et procédé de compensation d'extrusion dans l'impression 3d
US20230271385A1 (en) * 2021-11-15 2023-08-31 Markforged, Inc. Apparatus and method for extrusion compensation in 3d printing

Similar Documents

Publication Publication Date Title
JP6263275B2 (ja) 三次元物体の生成
EP3134780B1 (fr) Compensation d'écarts de mouvement de robot
EP3065935B1 (fr) Fabrication d'objets tridimensionnels
US20200047417A1 (en) Method And Apparatus For Controlling Heat For Improved Extrudate Flow In Three-Dimensional (3D) Printing
JP5998009B2 (ja) 成形機の制御装置及び成形機の制御方法
US20030064124A1 (en) Melt flow compensation in an extrusion apparatus
US20220324169A1 (en) Liquid Cooling for Pellet Extruder in a Fused Deposition Modeling System
US11241836B2 (en) Method and apparatus for determining extrudate flow in three-dimensional (3D) printing
US11485079B2 (en) System for leveling heated platen in 3D printer
EP3445566B1 (fr) Dispositif de chauffage pour vis sans fin d'imprimante 3d
WO2014167808A1 (fr) Dispositif d'excitation de moteur
WO2017086908A1 (fr) Correction de paramètres de filament
CN104669623A (zh) Fdm快速成型机进丝速度控制系统及方法
JPH03164224A (ja) 加熱温度制御装置
EP2757427B1 (fr) Procédé de commande d'actionneur et dispositif de commande d'actionneur
US20140218499A1 (en) Image obtaining apparatus and stage control method
KR20200130443A (ko) 고속 압출 3-d 프린팅 시스템
KR20160125614A (ko) 3d 프린터용 압출기의 온도조절장치
JP5815040B2 (ja) 射出成形機における保圧工程制御方法
JP3971367B2 (ja) トグル式型締装置の型締力補正方法
WO2021110507A1 (fr) Ensemble de nivellement pour appareil de fabrication additive, appareil de fabrication additive et procédé associé
US20210370596A1 (en) Controlling an energy source of an additive manufacturing system
CN203918161U (zh) 一种热熔机结构
CN106990754A (zh) 一种基于温度区间的机床位移补偿精度调节方法和系统
US20210362414A1 (en) Determining an amount of material in a material supply module

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15908908

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15908908

Country of ref document: EP

Kind code of ref document: A1