Jump to content
Ultimaker Community of 3D Printing Experts
  • Sign Up


  • Content Count

  • Joined

  • Last visited

  • Days Won


yyh1002 last won the day on May 30

yyh1002 had the most liked content!

Community Reputation

57 Excellent


Personal Information

  • Country

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. The default esteps is for stock extruder. You do need to change it. The estep value can also be set through the menu.
  2. Have a browse in the menu on the printer, there is an option called motor invert or something similar. You can invert the E2 motor there.
  3. DXU profiles are now included in Cura 4.6 by default. The profiles in 4.6 is pretty much the same as the one on Github for 4.5. One for single nozzle print and one for dual nozzle print. The postprocessing script is no longer needed.
  4. I haven't used the latest Mark2 firmware. I'll share my understanding based on 17.10.1. The problem with printing with Head 2 only is caused by both the firmware and Cura. The firmware takes T0/T1 command and change active extruder without doing switch gesture when it doesn't know head position (head not homed/motor released). When printing with head 2 only, Cura puts a T1 code to the very beginning of the gcode. The firmware changes the active extruder to Head 2 accordingly, but doesn't actually do the gesture. No matter how many T1 you put in the start code, the firmware already thinks it's holding head 2. Then it start printing with head 1. The fix is to ask the firmware to ignore any T0/T1 command when head position is unknown. @alexjx did the trick for DXU firmware based on 17.10.1 Mark2 firmware. Line 3658 in Marlin_main.ccp: (The latest UM2Marlin by tinkergnome no longer have this part) https://github.com/yyh1002/Ultimaker2Marlin-DXU/blob/096c3348782ae575e5ee0e6826900935a1ee8370/Marlin/Marlin_main.cpp#L3658-L3665 if (!(position_state & (KNOWNPOS_X | KNOWNPOS_Y))) { // head not homed // active_extruder = nextExtruder; SERIAL_ECHO_START; SERIAL_ECHOLNPGM("Header position not yet known"); return false; } I then use the firmware with a "smarter" start code in Cura which only involves "initial extruder nr" The result is that I have one machine for single nozzle printing of any of the head. It automatically picks and purges the nozzle used. I set up another machine dedicated for dual nozzle print with purging of both nozzles.
  5. I've just uploaded the step file, something to play with for anyone interested during the crisis .
  6. Hi Anzen, Sorry for the late reply. There is a critical bug for Cura 4.4.1, which is exactly what you found. It cannot generate correct tool number in start code for dual prints. They fixed the bug in 4.5 beta. You can use 4.5 beta now. But I think the first layer path of 4.3-4.5 is not as clean as 4.2.1. I uploaded new profile for Cura 4.5 to Github. And also an updated version of firmware. This new firmware will prevent any tool change when head position is unknown. It avoids the problem of bad start code movement caused by the first "T0" or "T1" generated by Cura which makes the printer to think it's holding a wrong head. It works together with a new start code that automatically select and purge the nozzle used in a print. The machine "DXU" should be used for single nozzle print, either left or right nozzle. The machine "DXU Dual" should be used for dual nozzle print. The difference between the two is start code.
  7. I haven't checked the new embedded Mark2 profile. You will also need to change platform shift and print area. I'm not sure if Mark2 has the material adhesion option enabled. But for me the old DXU profile works directly with Cure 4.3, so I didn't find it necessary to do a new version. Did it not work for you? I use 6.5mm, 25mm/s, same as UM2+ default.
  8. Not really. There needs to be about 1-2mm spacing between the top of heat block and hex flange on heat break. The block is loose before install the nozzle, and you can turn it to proper direction so it doesn't touch anything. When nozzle comes in, it will lock everything tight.
  9. Thanks. Good observation. On the front housing, there are two bores to restrain the hotend for xy precision, one is above the heatsink and spring, the other is around the bowden coupler. Both bores have teeth around them so it's easier for the hotend to slide. I made the tolerance quite tight and use a drill to spin the hotend inside the housing to run-in. It's metal vs plastic so they fit quite well without being all fixed. I agree that it's not as precise as UM3's tapered socket solution, technically. But I think it's good enough for 3D printing purpose if fitted well, just like the brass bushing on XY rails. I would like to go with more precise solution if I have easy access to machines. The PI insulator does go between the nozzle and bowden tube. The bowden tube coming with hotend is intended to be used without PI insulator, so it needs to be trimmed slightly shorter. But the total length of tube+PI should be slightly longer (about 0.5mm) than the shaft to keep the bowden tube in compression so it doesn't get squeezed shorter by hot filament over time. You need to make sure the nozzle is right up against the heat break, metal to metal. Heat the block to at least 160 degrees before install. And hold the block firmly when screw nozzle in. If there is cold plastic, debris or air gap between the nozzle and heat break, it will leak.
  10. For example, in the extruder offset menu, say the detected z offset is 1.90. Feel the flush point on the z calibration print with finger. If the +0.04 section is where the blue is flush with yellow, it means nozzle 2 is 0.04mm lower than ideal. In extruder offset menu, increasing z offset will raise nozzle 2 (this is where it's confusing). Therefore, changing z offset to 1.94 will make the two nozzles level.
  11. There is advantage of doing your three step levelling. Because the standard bed levelling detects corners of the bed with nozzle 1, while the nozzle offset detects with center of the bed, there might be discrepancy due to glass not being perfectly flat. However I think the nozzle 1 z offset levelling will overwrite you three point levelling. But IMO the z offset detection is too coarse anyway, i.e. moving increment by turning dial is too much. So what I do to calibrate the z offset is: 1. Do three point levelling with nozzle 1 2. Swap to nozzle 2, do z offset levelling, get a rough offset 3. Print the z calibration model with 0.02 layer height to fine tune the z offset, and update the value in menu. Once the z offset between 1 and 2 is calibrated, you shouldn't need to redo z offset levelling in the dual print menu unless you did something to throw away the relative position between the two nozzles, such as changing nozzles. The z offset is very valuable, it takes some effort to get it perfect, it shouldn't be affected by bed levelling. In you are only changing beds, you only need to do the standard bed levelling with nozzle 1. Both nozzle 1 and 2 should be good to go.
  12. The hardware will constrain you to have a rough nozzle offset of x19mm, y0mm, and z2mm. It then gets fine tuned by calibration models. The calibrated offset, say x19.03, y-0.06, z1.94, is manually set on the LCD manu to firmware. Basically, the dual print Gcode from Cura gives absolute coordinates, without any offset between the two nozzles. The firmware will step in and shift nozzle 2 relative to nozzle 1 according to the offset values.
  13. That’s not how I find it works. I think the XY offset in cura is only for reference to see available print area. It makes no change to gcode coordinates, at least for Ultimaker 2+ machine type. Only the firmware Mark2 offset will take effect at the end. I set rough XY offset in cura and real offset in firmware and it works without problem. @Whom you can take a look at the cura machine for DXU to see how to get the dynamic print area working. DXU has a X offset of 19mm. I changed the X dim of printer from 220(?) to 239 to be able to shift the area for both nozzle 1 and 2. I think I also changed the buildplate shift in json to re-center the larger print area. DXU is based on Mark2 firmware and the cura offset has been working well for us. https://github.com/yyh1002/DXU
  14. https://github.com/TinkerGnome/Ultimaker2Marlin/tree/Mark2 这里是mark2固件源代码
  15. Sorry I didn't see your comment earlier. You can use 2*4*1.5 PI insulator and the original 2+ feeder with 2*6.35 tube with DXU. In the BOM I try to list a generic link where possible. Only when the parts are very rear, I specifies the Taobao seller. All the parts from the taobao seller are very good quality, you can absolutely by all possible parts from them. I have the same question as burdickjp. Why do you need to replace the original heat break with the all threaded one?
  • Create New...