Jump to content


  • Content Count

  • Joined

  • Last visited

Everything posted by lars86

  1. I haven't run a second extruder before, but I think everything should be in configuration.h: // This defines the number of extruders // :[1, 2, 3, 4, 5] #define EXTRUDERS 1 Probably should make sure you have good values defined for the second extruder (E1) as well: /** * Default Axis Steps Per Unit (steps/mm) * Override with M92 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 500 } /** * Default Max Feed Rate (mm/s) * Override with M203 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } /** * Default Max Acceleration (change/s) change = mm/s * (Maximum start speed for accelerated moves) * Override with M201 * X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]] */ #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 }
  2. Di you do any calculations on the difference in torsional stiffness? My gut says that while the rulers will be stiffer in bending, they will deform more in torsion (trying to rotate the print head about the X or Y axis)
  3. I think the only change you will really need is changing: #define BOARD_ULTIMAKER // Ultimaker to: #define BOARD_ULTIMAIN_2 // Ultimainboard 2.x (Uses TEMP_SENSOR 20) ...and using these for your temp sensor definitions: #define TEMP_SENSOR_0 20 #define TEMP_SENSOR_1 20 #define TEMP_SENSOR_2 0 #define TEMP_SENSOR_BED 20
  4. I think you guys will have more luck following my thread: The UM2 or UMO+ should only need a couple small changes compared to my branch (motherboard, temp sensor).
  5. Mine is an earlier 1.5.7 board, with an official heated bed.
  6. The dual print fans should run via the existing PWM circuit. I went ahead and just ran a couple cheap 12v 30mm axial fans, in parallel, on that circuit. So far they have survived. I'm not sure what the worst case is if they fail. It would suck to burn out the transistor if they fail as a short. Not sure if fans ever really do that. I'm running a complete external power supply for the hot end fan right now. I would like to clean that up and have a pretty good path to take. I can solder in my voltage step down board, into the UM supply circuit and step down to 12v so that fan has a higher chance of success. I'm just curious how those voltage regulator board would handle a PWM signal (for the print fans).
  7. Thanks for the reply @conny_g I'm pretty sure that VCC/2 is 19v on the UMO and that they just found a 12v fan that "lives" at 19v.
  8. This sounds like a cool idea andy! Are you going to build some adjustment into your bearing mounts, so you can adjust lash against the rulers?
  9. Crickets!!! Anyone know how these voltage step up/down boards will do with a PWM signal?
  10. Very thorough! A couple of thoughts: - "Jerk" in Marlin is not the second derivative of velocity. It is a maximum allowable instantaneous change in velocity. It certainly isn't ideal, but with the limited computational power of 8-bit boards, and no provision for allowable path deviation to smooth path motion, it is a necessary evil. You can imagine the jerk setting can have a lot to do with balancing motion stutter (as the planner tries to move around a faceted model and connect all the "dots"), and accelerations above the max acceleration setting. I guess you would have to compare the forces exerted by two cases: max acceleration & maximum stepper torque (a jerk move); to see which is higher. - It seems like you could save a lot of time by deciding which parts deflect a relevant amount. Pretty easy to estimate max force exerted on the print head. Then compare elastic elongation of the belts, with point loaded deflection of a shaft.
  11. Hi Togeir, thanks for the reply! It looks like the S3D print might be a much thicker layer height, which could explain the color difference. Maybe we should start a thread to compare resonant test prints at comparable speeds and max accelerations. It would be interesting to benchmark different modifications.
  12. Maybe the thought of extra noise is from people who kept the same paneled design, but made it aluminum. I could see more resonance and noise in that case.
  13. Reducing max acceleration has a huge impact on ringing. Remember, Force = Mass * Acceleration. Deflection (ringing) is proportional to force. You won't see a true comparison of your modification unless you match the print settings from your older tests. Makerbots do use GT2 belts but they are direct drive printers. With all that extra weight on the print head, it's no wonder you see ringing. My print head is a printed assembly. I'm working on a new revision of it to hold an E3D V6. I have been running a sort of Franken-hot-end with a stock heater block & nozzle, but a custom stainless heat break and heatsink. I actually designed an entire hot end from scratch and made all the parts on my CNC machines. But was shocked that my press fit connections between the heat break and heater block leaked molten filament! I never came back around to remake it. If I were you, I would print some big circles at very slow speed (20mm/s). This should remove any inertial flex. If you still get the flat spots, then you likely just have too much backlash in your spiral followers. Yes. That photo doesn't show the fan configuration. I currently run two 30mm radial fans with light ducting to direct flow. I print almost exclusively high-end PLA and feel like cooling is very key to high quality prints. In addition to not wanting to breathe styrene gas, generally I find printing ABS a nightmare with very little upside. Modified PLAs tend to have better stiffness, less shrinkage, similar strength, great bed and inter-layer adhesion, etc. I just don't see the allure of ABS. Having prints that look good, but peel apart along layers does not interest me. Also, not being able to run adequate cooling means overhangs will be garbage. If I were you, I would grab some Polymax or Protopasta PLA and do some test prints to get your printer dialed in. You can run much cooler nozzle temps 200 or less, full speed fans, prints stay stuck to even a cold bed (with blue tape). This will make sure you aren't trying to calibrate a printer off warped ABS. $0.02
  14. Just thought I would share my reply to Andy, from a different thread:
  15. Wow, that is quite a modification you made there! I'm surprised with the lengths you went to on the motion control, that you are still using the stock print head. Looking through your pictures, it seems like you have inconsistent extrusion and could benefit from some improvements there. Are you running the original extruder drive? I'm still not so convinced that most ringing is caused by the belts. For sure, running the short belts contributes a good bit. But with a direct drive setup and GT2 belts (a big improvement over MXL), I don't think belt stretch is a significant factor. For example, with the printer stopped, I can push the head in an X or Y direction, and see noticeable deflection of the head form the 6mm rods bending, but essentially no movement of the XY blocks: Also, the bronze 8mm bushings aren't a bad thing in my eyes either (so long as they fit well and are kept clean). Yes, they suffer from more static friction to overcome during starts/reversals. Once moving though, they move quite nicely (as long as they are not put into bind by an improperly squared machine). Since they are driven directly from the belts, their friction will not increase ringing. It increases the load on the steppers, and at the very worst, could affect micro stepping precision. But I think the amount of force they contribute is negligible on a well tuned machine. They are super easy to deform though. So, if your XY bocks clamp too aggressively, they will bind like crazy. The print head bearings on the other hand can really mess with head precision and ringing, since any friction in them acts with inertial forces, making them worse. Since linear ball bearings will always have some radial lash, I think that minimizing the distance from the bearings, down to the nozzle tip is an important aspect. Radial bearing freeplay causes angular misalignment of the print head. So, the longer the head is, the greater the imprecision of the nozzle's XY position. My print head is nearly 1" shorter than the stock head! This is about the practical minimum height, as I am nearly out of Z travel:
  16. I know that the very early UMOs came with 8mm carriage shafts and then were switched over to 6mm, going forward. Has anyone "gone backwards" on this? It is all a balance between lightweight (for inertial benefit) vs stiffness (for positioning repeatability). The 6mm carriage shafts are very easy to deflect, especially near gantry center. This includes the Z direction from varying force imparted by the bowden/extruder drive; and also in the XY directions from inertial forces when changing the velocity/direction of the print head. As you tune the machine for better and better print quality, your eyes get drawn to smaller anomalies in the printed surface. Even with slow outer perimeter speeds and acceleration, I see ripples at sharp direction changes. I also see slight Z banding that I believe is from the bowden tube changing the print head height slightly. Supporting the print head with 8mm rods instead, will certainly increase stiffness. But also increase the inertial forces. My guess is that there is an optimal diameter... I just am not sure exactly where that lies. Has anyone put some serious thought into this? My calculations show that a 6mm rod weighs ~60g, while 8mm is ~105g. That is a total weight gain of ~90g. This weight gain is distributed evenly along the length of the shaft though, so not all of it contributes to inertial forces that deflect the shafts. Some is put fairly directly into the XY blocks themselves. I think it would be fair to say only ~75% of the increased inertial force works to bend the shafts. Misumi does have hollow 8mm linear motion shaft. The ID is 3mm, which doesn't reduce the weight all that much. Each shaft would drop from 105g to 90g. Not a bad reduction though. LM6UU = 8g and LM8UU = 13g. So another 10g of weight gain there, entirely on the head. So, we have added ~55g of weight to the head. (using hollow shaft) The next step would be to calculate and compare the increase in stiffness (reduced deflection), against the increase in acceleration forces, for a given realistic printer move...
  17. Correct. That's why I prefaced those settings with: I upgraded my machine to GT2 pulleys/belts I updated the original post for clarity.
  18. Okay, I finally got with the program and created my own fork of Marlin. This will make it a lot easier to keep my customizations, while merging in new changes to the Master branch. Here is my fork: https://github.com/CCS86/Marlin-UMO-CCS86 This shows a comparison of my changes to the Master: https://github.com/MarlinFirmware/Marlin/compare/1.1.x...CCS86:1.1.x
  19. On this 1.1 version, "stop print" now does turn all the heaters off, but still does not park the nozzle first. I actually might edit mine to leave the heaters on. The only time I seem to use "stop print" is when I had some issue and want to restart the print. It's annoying rushing to get temps set again, before they cool down. I tried the Advanced Pause feature, but ended up with a compile error. Apparently, it is not compatible with Extruder Runout Prevent. I use that feature a lot to keep the filament fresh while I am getting code ready for the printer. I posted on Github to see why they won't work together. One nice bonus I have noticed: I use a REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER and used to get occasional interruption of print motion while navigating the menus. That has gone away, which makes me think the motion control loop has been optimized.
  20. @ataraxis, can you tell from looking at the Arduino library whether it would play nice with the 2560? https://we.tl/hk9job3xXR I looked through the Marlin references, but it didn't seem as relevant: // @section TMC2130 /** * Enable this for SilentStepStick Trinamic TMC2130 SPI-configurable stepper drivers. * * You'll also need the TMC2130Stepper Arduino library * (https://github.com/teemuatlut/TMC2130Stepper). * * To use TMC2130 stepper drivers in SPI mode connect your SPI2130 pins to * the hardware SPI interface on your board and define the required CS pins * in your `pins_MYBOARD.h` file. (e.g., RAMPS 1.4 uses AUX3 pins `X_CS_PIN 53`, `Y_CS_PIN 49`, etc.). */ //#define HAVE_TMC2130 #if ENABLED(HAVE_TMC2130) // CHOOSE YOUR MOTORS HERE, THIS IS MANDATORY //#define X_IS_TMC2130 //#define X2_IS_TMC2130 //#define Y_IS_TMC2130 //#define Y2_IS_TMC2130 //#define Z_IS_TMC2130 //#define Z2_IS_TMC2130 //#define E0_IS_TMC2130 //#define E1_IS_TMC2130 //#define E2_IS_TMC2130 //#define E3_IS_TMC2130 //#define E4_IS_TMC2130 /** * Stepper driver settings */ #define R_SENSE 0.11 // R_sense resistor for SilentStepStick2130 #define HOLD_MULTIPLIER 0.5 // Scales down the holding current from run current #define INTERPOLATE 1 // Interpolate X/Y/Z_MICROSTEPS to 256 #define X_CURRENT 1000 // rms current in mA. Multiply by 1.41 for peak current. #define X_MICROSTEPS 16 // 0..256 #define Y_CURRENT 1000 #define Y_MICROSTEPS 16 #define Z_CURRENT 1000 #define Z_MICROSTEPS 16 //#define X2_CURRENT 1000 //#define X2_MICROSTEPS 16 //#define Y2_CURRENT 1000 //#define Y2_MICROSTEPS 16 //#define Z2_CURRENT 1000 //#define Z2_MICROSTEPS 16 //#define E0_CURRENT 1000 //#define E0_MICROSTEPS 16 //#define E1_CURRENT 1000 //#define E1_MICROSTEPS 16 //#define E2_CURRENT 1000 //#define E2_MICROSTEPS 16 //#define E3_CURRENT 1000 //#define E3_MICROSTEPS 16 //#define E4_CURRENT 1000 //#define E4_MICROSTEPS 16 /** * Use Trinamic's ultra quiet stepping mode. * When disabled, Marlin will use spreadCycle stepping mode. */ #define STEALTHCHOP /** * Let Marlin automatically control stepper current. * This is still an experimental feature. * Increase current every 5s by CURRENT_STEP until stepper temperature prewarn gets triggered, * then decrease current by CURRENT_STEP until temperature prewarn is cleared. * Adjusting starts from X/Y/Z/E_CURRENT but will not increase over AUTO_ADJUST_MAX * Relevant g-codes: * M906 - Set or get motor current in milliamps using axis codes X, Y, Z, E. Report values if no axis codes given. * M906 S1 - Start adjusting current * M906 S0 - Stop adjusting current * M911 - Report stepper driver overtemperature pre-warn condition. * M912 - Clear stepper driver overtemperature pre-warn condition flag. */ //#define AUTOMATIC_CURRENT_CONTROL #if ENABLED(AUTOMATIC_CURRENT_CONTROL) #define CURRENT_STEP 50 // [mA] #define AUTO_ADJUST_MAX 1300 // [mA], 1300mA_rms = 1840mA_peak #define REPORT_CURRENT_CHANGE #endif /** * The driver will switch to spreadCycle when stepper speed is over HYBRID_THRESHOLD. * This mode allows for faster movements at the expense of higher noise levels. * STEALTHCHOP needs to be enabled. * M913 X/Y/Z/E to live tune the setting */ //#define HYBRID_THRESHOLD #define X_HYBRID_THRESHOLD 100 // [mm/s] #define X2_HYBRID_THRESHOLD 100 #define Y_HYBRID_THRESHOLD 100 #define Y2_HYBRID_THRESHOLD 100 #define Z_HYBRID_THRESHOLD 4 #define Z2_HYBRID_THRESHOLD 4 #define E0_HYBRID_THRESHOLD 30 #define E1_HYBRID_THRESHOLD 30 #define E2_HYBRID_THRESHOLD 30 #define E3_HYBRID_THRESHOLD 30 #define E4_HYBRID_THRESHOLD 30 /** * Use stallGuard2 to sense an obstacle and trigger an endstop. * You need to place a wire from the driver's DIAG1 pin to the X/Y endstop pin. * If used along with STEALTHCHOP, the movement will be louder when homing. This is normal. * * X/Y_HOMING_SENSITIVITY is used for tuning the trigger sensitivity. * Higher values make the system LESS sensitive. * Lower value make the system MORE sensitive. * Too low values can lead to false positives, while too high values will collide the axis without triggering. * It is advised to set X/Y_HOME_BUMP_MM to 0. * M914 X/Y to live tune the setting */ //#define SENSORLESS_HOMING #if ENABLED(SENSORLESS_HOMING) #define X_HOMING_SENSITIVITY 19 #define Y_HOMING_SENSITIVITY 19 #endif /** * You can set your own advanced settings by filling in predefined functions. * A list of available functions can be found on the library github page * https://github.com/teemuatlut/TMC2130Stepper * * Example: * #define TMC2130_ADV() { \ * stepperX.diag0_temp_prewarn(1); \ * stepperX.interpolate(0); \ * } */ #define TMC2130_ADV() { } #endif // HAVE_TMC2130
  21. @ataraxis Did you ever get these running on the UMO with firmware based control? I know that Marlin has support.
  22. Actually I meant the square shaft itself getting "wound up" in torsion. Not an eccentricity in that shaft changing the height of the nozzle.
  23. Awesome work guys! I am currently hanging my extruder drive (my own design), over the printer with bungee cord, in order to run a shorter (~12") straight-shot bowden. It helps, but definitely isn't ideal. I may just have a go at getting your system implemented. Have you guys observed much torque induced deflection on the square shaft? It seems like that could add back a bit of hysteresis to the system. Igus has some cool squart linear motion gear that could be a slick addition: https://www.igus.com/wpck/15459/DryLin_Q_Overview?C=US&L=en
  24. Bumping the thread to see if any more extrusion based printers have materialized!
  • Create New...

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!