First Print

Discussion in 'Getting Started' started by Spoon Unit, Aug 22, 2019.

  1. orcinus

    orcinus Well-Known Member

    Joined:
    Oct 20, 2015
    Messages:
    336
    Likes Received:
    113
    It's not really buried, though. It's behind a layer of acrylic, that in my case wasn't even on, and was quite literally facing the router. Supposedly (according to the docs) the ESP32 module can be replaced with one with a connector in place of the antenna so you can attach an external one via a pigtail. Replacing it does require a hot air reflow station though.

    It seems to be fine now that i've moved it about 5m closer.
     
  2. orcinus

    orcinus Well-Known Member

    Joined:
    Oct 20, 2015
    Messages:
    336
    Likes Received:
    113
    Working on something like this:

    [​IMG]

    Adjustable height silicone wiper holder and a tiny removable bucket.
    We'll see if it's viable...

    The holder is designed for the wipers that came with BigBox (but half the length).
     
    garethky likes this.
  3. orcinus

    orcinus Well-Known Member

    Joined:
    Oct 20, 2015
    Messages:
    336
    Likes Received:
    113
    That bucket is EXTREMELY tiny, lol.
    I might redesign next iteration with something bigger.
    Or just make the bucket about 2x as deep.
     
  4. Spoon Unit

    Spoon Unit Well-Known Member

    Joined:
    Sep 6, 2015
    Messages:
    1,546
    Likes Received:
    481
    The biggest issue with the rubbish is that it can drop directly onto the spool directly below. The bucket would prevent that, but would still fill up over a long print. Options to mitigate that.
    • Mount the spools (or even just that single spool) on the outside instead of the inside, either with longer feeder tubes or the same tubes plus a new hole in the side panels.
    • Mount the spools in front of the machine on standard spool mounts
    • Move the prime/purge location to the front of the machine. There's not much clearance, but there is some.
     
  5. orcinus

    orcinus Well-Known Member

    Joined:
    Oct 20, 2015
    Messages:
    336
    Likes Received:
    113
    Or you could print some covers and install them over the spools.
    Like tiny roofs.
     
  6. orcinus

    orcinus Well-Known Member

    Joined:
    Oct 20, 2015
    Messages:
    336
    Likes Received:
    113
    Here's another idea:
    cutout in the acrylic and a garbage chute leading outside the enclosure.
     
  7. Spoon Unit

    Spoon Unit Well-Known Member

    Joined:
    Sep 6, 2015
    Messages:
    1,546
    Likes Received:
    481
    Yep. I also thought of the garbage chute on the Bigbox but never did it, despite the huge holes there waiting to make it happen. Spool roof might work. Only one spool in dire need too.
     
    orcinus likes this.
  8. orcinus

    orcinus Well-Known Member

    Joined:
    Oct 20, 2015
    Messages:
    336
    Likes Received:
    113
    The new purge/wipe/brush station mostly works, but... i'm finding it's very filament-dependent.
    Some PLA filaments stick to Nozzle X like crazy, and no amount of wiping or brushing helps - it just smears it over the nozzle.
    For others, it works perfectly, the nozzle purges, the wipe detaches the string, the brush picks up any remains, and it's perfectly clean every time.

    White and black seem to be the worst, followed by glitter-filled PLA.

    Semitransparent and low opacity filaments, like orange, work the best.
    So i'm guessing the pigment/filler is to blame.
     
    Spoon Unit likes this.
  9. Spoon Unit

    Spoon Unit Well-Known Member

    Joined:
    Sep 6, 2015
    Messages:
    1,546
    Likes Received:
    481
    What's your current purge/prime looking like?
    I experimented with ram purging yesterday, but it doesn't feel properly dependable, but again this could be filament dependent. I could also just be overthinking things.
    My goal is to print a dual-colour benchy, but so far every attempt results in one of the extruders jamming. Very frustrating.
     
    orcinus likes this.
  10. orcinus

    orcinus Well-Known Member

    Joined:
    Oct 20, 2015
    Messages:
    336
    Likes Received:
    113
    I started with just a regular purge + small retract (0.25-0.5mm) but that did nothing.
    I tried ram purging too, but it still drools considerably.
    About the only thing i haven't tried is very slow purge + very slow retract, which might actually do something - if the filament is simply too liquid, a fast retract will just rip out the filament at the melt zone and leave a considerable amount inside the melt zone, so it might make sense to try a very slow retract.

    What i'm currently annoyed by (apart from the drool) is the fact that all my attempts to design a successful wipe result in the complete opposite of a clean nozzle - either it just flips the free air extrusion up and it sticks to the nozzle, or it sticks to the wiper and gets picked up later, or doesn't even detach from the nozzle and ends up on the bed. I don't get it, i've had wipes going and working perfectly well on the bigbox, but now, all of a sudden, it's a huge issue. Is it the combination of Nozzle X and the PLA i'm using, or what?

    Extruders jamming are usually a sign of retracting too far and too quickly.
    I've had no jams so far, but i haven't gotten further than 5 layers so far on the tree frog before i just stop it because it's full of dragged-in rubbish.
     
  11. orcinus

    orcinus Well-Known Member

    Joined:
    Oct 20, 2015
    Messages:
    336
    Likes Received:
    113
    Been experimenting with doing a very deep retract last night and not even bothering with a purge - just wipe, then reprime after moving the tool out, immediately before the print start. That was actually the best so far for black and white filament, but not for the less viscous orange filament that i'm using, which - curiously - works way better with a traditional purge and prime.

    When i do that with that particular filament, the 2cm fast reprime builds up so much pressure it just blurts out a huge extrusion sausage as it's approaching the printing position. Quite annoying.
     
  12. Spoon Unit

    Spoon Unit Well-Known Member

    Joined:
    Sep 6, 2015
    Messages:
    1,546
    Likes Received:
    481
    OK. My tree frog is the best so far. Despite the rubbish, I was able to clean it up and it looks good. That was a combination of HobbyKing Premium Black PLA and E3D Red PLA. I was not using any special purge prime at the time. The purge was empty, and the prime was merely 10 to 15 of prime followed by some brushing. As a result, I did have drool once the tool was parked, but this was cleared by the re-prime and swipe, which I tweaked more and more as I went on, eventually developing this prime, pause, wipe, and swipe routine.

    Over the course of the print, I lowered the temps to try to address stringiness. So, I ended up moving down from 220 to 200.

    The other thing that I could control over time was the retraction and tfre processes.

    Retraction has become somewhat of a burden, but I think I have a decent processing plan now. I'm using S3D to slice. S3D doesn't understand G10, G11. If I allow it to generate M101, M103 commands then it results in a retraction at the end of every move, which I don't want. So I've chosen to use S3D retraction with crazy settings so that I can post process the results of those settings into standard G10, G11. This then gives me the benefit of configurable moves without retraction combined with G10,G11 for in-print retraction calibration. I ended up using 100 for retraction and using a standard S3D post processing script to catch and treat the results.

    Code:
    {REPLACE "G1 E-100.0000 F0" "G10 ; retract"}
    {REPLACE "G1 E-99" "G1 E-99\n;"}
    {REPLACE "G1 E-99" "G10 ; retract"}
    {REPLACE "G1 E100.0000 F0" "G11 ; unretract"}
    
    Because I also use the option to retract while wiping, this results in the 99.nnnnn retractions which are then also turned into G10 retractions, regardless of any rounding.

    The next challenge is that of tool changes. Tool changes are presumed to occur instantaneously. This is quite clearly not the case. We have to dock the tool, pick up another, prime it to some extent, and then return to position. There are two problems with that. If we return directly to the spot we were in, we will un-retract into the place we don't want to be, and secondly any tiny amount of ooze will be dragged on the part. To counter this, I use both S3D post processing and a separate Notepad++ macro to post process.

    First the S3D post processing looks like this:

    Code:
    {REPLACE "\nT0" "\nG10\nT0\nG1 R2 X0 Y0 Z1 F99999\nG1 R2 Z0 F1200\nG11 ; tool change replacement"}
    {REPLACE "\nT1" "\nG10\nT1\nG1 R2 X0 Y0 Z1 F99999\nG1 R2 Z0 F1200\nG11 ; tool change replacement"}
    {REPLACE "\nT2" "\nG10\nT2\nG1 R2 X0 Y0 Z1 F99999\nG1 R2 Z0 F1200\nG11 ; tool change replacement"}
    {REPLACE "\nT3" "\nG10\nT3\nG1 R2 X0 Y0 Z1 F99999\nG1 R2 Z0 F1200\nG11 ; tool change replacement"}
    
    What this does is to augment a tool change with additional commands. These commands first retract, then tool change (invoke tfre which I'll cover in a moment), then return the tool at high speed to the X and Y coordinated automatically stored during a tool change event (R2), at a position of Z+1 above the print. The reason for the crazy speed is that I essentially want to move as fast as the machine is configured to allow regardless of whether I've decided to slow down the print for some other reason. Finally I drop into position and unretract the new tool.

    That's the first part of the processing, but it's still not ideal. We actually don't want to unretract a blob at the place we were at before we wanted to move. We want to move to the next position before we descend and unretract. To achieve that, I need to look for a pattern in the GCODE and move a couple of lines around. To do this, I use a macro in notepad++, though you could use other tools if you prefer. The replacement is essentially just the result of a couple of regular expressions. If you have notepad++, find your shortcuts.xml file and add this Macro for SHIFT+CTRL+F6:

    Code:
            <Macro name="GCODE post-process" Ctrl="yes" Alt="no" Shift="yes" Key="117">
                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                <Action type="3" message="1601" wParam="0" lParam="0" sParam="^(G1 R2 Z0 F1200)\r\n(.*)\r\n(G1 Z.*)$" />
                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                <Action type="3" message="1602" wParam="0" lParam="0" sParam="\3\r\n\2" />
                <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
                <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
                <Action type="3" message="1601" wParam="0" lParam="0" sParam="^(.*\r\nG11 ; tool change replacement)\r\n(.*)$" />
                <Action type="3" message="1625" wParam="0" lParam="2" sParam="" />
                <Action type="3" message="1602" wParam="0" lParam="0" sParam="\2\r\n\1" />
                <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
                <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
            </Macro>
    As you can see, this is getting a big mad, but someone said we were pioneers here, so I just kept pushing. Anyway ...

    What we have to do here is cope with two possible types of tool change. A tool change on a layer boundary, and a tool change within a layer. The fist replacement looks for a tool change on a layer boundary. Essentially, it swaps the move step with with the Z change step. It does this because the next macro is look for a G11 on a tool change and moving the line after the tool change before the line before the G11. As a result, you end up making the move step in mid air to the next place for the new tool before finally descending into position and finally unretracting.

    Ah yes, the result of my messing around with the G code here can also sometimes result in a G11 followed by a G10, so I snip that and convert to a comment using this in S3D.

    Code:
    {REPLACE "G11 ; tool change replacement\nG10 ; retract" ";remove unretract/retract"}
    But in the end I don't want comments in the file due to the notepad++ post processing above. So I finally snip all comments in the file:

    {STRIP ";"}

    Finally, here's my entire post processing script as it currently stands.

    Code:
    {REPLACE "G1 E-100.0000 F0" "G10 ; retract"}
    {REPLACE "G1 E-99" "G1 E-99\n;"}
    {REPLACE "G1 E-99" "G10 ; retract"}
    {REPLACE "G1 E100.0000 F0" "G11 ; unretract"}
    {REPLACE "\nT0" "\nG10\nT0\nG1 R2 X0 Y0 Z1 F99999\nG1 R2 Z0 F1200\nG11 ; tool change replacement"}
    {REPLACE "\nT1" "\nG10\nT1\nG1 R2 X0 Y0 Z1 F99999\nG1 R2 Z0 F1200\nG11 ; tool change replacement"}
    {REPLACE "\nT2" "\nG10\nT2\nG1 R2 X0 Y0 Z1 F99999\nG1 R2 Z0 F1200\nG11 ; tool change replacement"}
    {REPLACE "\nT3" "\nG10\nT3\nG1 R2 X0 Y0 Z1 F99999\nG1 R2 Z0 F1200\nG11 ; tool change replacement"}
    {REPLACE ";Tool0" "T0"}
    {REPLACE ";Tool1" "T1"}
    {REPLACE ";Tool2" "T2"}
    {REPLACE ";Tool3" "T3"}
    {REPLACE "G11 ; tool change replacement\nG10 ; retract" ";remove unretract/retract"}
    {STRIP ";"}
    The strange Tool0 replacements are to allow me to have starting scripts that select tools, but which aren't processed by the tool change replacements in the preceding lines.

    My start script looks like this at present (only currently working with 3 tools):

    Code:
    ; Warm bed
    M140 S80
    ; Wait for heat
    M116 H0
    ; Wait for soak
    G4 S30
    
    ; Home
    M98 Phomeall.g
    ; Measure Mesh
    G29
    
    ;Duet Firmware Retract
    M207 S3.75 R-0.025 F5500 T5500 Z0.5
    
    ;Prime Line Tool 0
    ;Tool0
    G1 X1 Y150 Z1 F99999
    G1 Z0.3 F6000
    G1 E5  F3000
    G10
    G11
    G1 X1 Y50 E5.9868 F600
    G10
    ;Prime Line Tool 1
    ;Tool1
    G1 X2 Y150 Z1 F99999
    G1 Z0.3 F6000
    G11
    G1 X2 Y50 E5.9868 F600
    G10
    ;Prime Line Tool 2
    ;Tool2
    G1 X3 Y150 Z1 F99999
    G1 Z0.3 F6000
    G11
    G1 X3 Y50 E5.9868 F600
    G10
    
    I'm thinking Firmware Retract should probably end up being in the tool change scripts. But I'm a bit loathe to put them in there as they might be different for different materials and it feels like that should be instructed by the slicer. I don't think I can configure tool-specific firmware retract at present for the Duet. It's just one setting for the whole system.

    These prime tool lines just let me get the state right for the rest of the print and also give a quick check that everything is working.

    Maybe something in there can help you get to the next step, or you can just tell me how crazy I'm being and how to do better.
     
    mhe likes this.
  13. Spoon Unit

    Spoon Unit Well-Known Member

    Joined:
    Sep 6, 2015
    Messages:
    1,546
    Likes Received:
    481
    I put all this together for another run at the frog last night. Into the mix, I moved one of my spools to a front-mounting to test this.

    [​IMG]

    I found a useful T-nut model that will take M3 screws and nuts, and I have many of those lying around compared to M5 bolt to fit the metal T-nuts.

    https://www.thingiverse.com/thing:3199057

    I'm not 100% happy with it yet, but it does seem viable.

    With that in place, I put all the stuff above into play and scarily left my printer tool-changing over night for the first time. When I went to bed I had this:

    [​IMG]

    I awoke to find this:

    [​IMG]

    Not quite 100% success. Out of the 177 tool changes (this is 0.2 resolution), 1 seems to have re-collected the purged filament and attached it to the model.

    [​IMG]

    As you can see there's still a lot of angel hair (easily burnt off with a cigarette lighter), and I think this could be tough to resolve completely with the challenging combo of a long bowden tube and pressure advance. My settings for this print were:

    M207
    Retraction/un-retraction settings: length 3.75/3.72mm, speed 3400/3400mm/min, Z hop 0.08mm

    I also ran this whole print with reduced currents to test that.

    M906
    Motor current (mA) - X:1500, Y:1500, Z:1330, C:500, E:1000:1000:1000:1000, idle factor 30%

    The print used tools 0 and 2. I had PA set as follows

    M572
    Extruder pressure advance: 0.160, 0.130, 0.110, 0.150

    I accidentally cut Tool 2's bowden shorter than the docs. Tool 0 is 790mm, and Tool 2 is 750mm.

    During the first couple of layers I made some more changes to purge/priming. This print has change every single layer, so you do get a change to tune this part of your setup in this way. When I finally left I had this thinking in mind. For priming:

    [​IMG]
    And for purging:

    [​IMG]

    This is encoded as prime.g:

    Code:
    ;; move in
    G0 X-39 Y200 F99999
    
    
    
    ; prime
    G92 E0
    ;G1 E100 F500     ; use if ram purging
    G1 E10 F500      ; use with normal purge
    G1 E10 F250
    G4 S6
    
    ;wipe
    G0 X-39 Y120.5 F99999
    G0 X-43 Y152.5 E0.1
    G0 X-9 Y152.5
    
    G92 E0
    And purge.g

    Code:
    ;; move in
    G0 X-39 Y100 F99999
    G0 X-39 Y172.5
    
    ; purge
    ;G1 E5 F350
    ;G1 E12 F255
    ; G1 E12 F2550        ; ram
    ; G1 E-100 F35000    ; purge - high speed retraction of cold filament to prevent bulging
    G4 S6
    
    ;wipe
    G0 X-39 Y122.5 F99999
    G0 X-39 Y152.5
    G0 X-39 Y122.5
    G0 X-39 Y152.5
    It's not completely 100% guaranteed, but does do well.
     
  14. orcinus

    orcinus Well-Known Member

    Joined:
    Oct 20, 2015
    Messages:
    336
    Likes Received:
    113
    That's what I was getting too - my wipes work for a while, then eventually, there's filament left on the wiper or the brush and it drags a whole bush of crap onto the print.

    I left for a trip so can't experiment more for a while, but unless I get it to not ooze at all while idling, I'm going to work out some kind of a metal plate the tool can slide the nozzle against when docking, so it plugs the nozzle when idle. I think someone had a similar setup going with the BigBox IDEX back in one of the IDEX threads.

    I actually worked out the retract and idle temp settings that got the black PLA ooze to almost nothing - even without a wipe. But the orange filament still oozes like crazy. Even with a prime pillar and an idle 190 deg C temperature, it would still manage to ooze enough in the short span from the prime tower to the frog that the frog ended up a mess. Maybe I should just give up on that filament altogether...
     
  15. Spoon Unit

    Spoon Unit Well-Known Member

    Joined:
    Sep 6, 2015
    Messages:
    1,546
    Likes Received:
    481
    Yeh. Interesting how different filaments of the 'same material' really can be. This is why you could maybe do with retraction settings per tool too.
     
  16. dc42

    dc42 Well-Known Member

    Joined:
    Aug 16, 2016
    Messages:
    460
    Likes Received:
    206
    That's because unlike some other firmwares, RepRapFirmware always respects the Z jerk setting. When you use mesh bed compensation, the Z axis has to change direction at the mesh boundaries. So if the bed is very uneven or your Z jerk is set too low, it will decelerate/accelerate the XY motion at the boundaries in order to respect the Z jerk limit while keep the motors synchronised.

    Solutions include: reduce max XY speed; increase Z jerk if the Z axis can handle that without skipping steps; or for the particular case of motion after cancelling a print, you could use G92 s2 in the cancel.g file to cancel bed compensation, before the move to the front of the dock.
     
  17. dc42

    dc42 Well-Known Member

    Joined:
    Aug 16, 2016
    Messages:
    460
    Likes Received:
    206
    External antenna is now available as a standard option on the Duet WiFi. It makes a big difference to the signal strength.

    I'm glad you have it working reliably now. Changing the WiFi channel used by the router often makes a big difference too. I have a theory that the ESP module works better on some WiFi channels than others.
     
  18. orcinus

    orcinus Well-Known Member

    Joined:
    Oct 20, 2015
    Messages:
    336
    Likes Received:
    113
    Any particular channel that seems to work better than others?
     

Share This Page