Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Pallete 2 and Duet, DWC time estimates are off.

    Scheduled Pinned Locked Moved
    General Discussion
    3
    16
    1.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Danalundefined
      Danal
      last edited by Danal

      Let me say up front that I'm not all that concerned about this... I'm reporting it just so that you guys will know. Palette 2 has begun shipping to end users, and I have one that I'm using with a Duet based printer.

      The Palette hardware/software provides multi-color print from single-extruder printers. It does this by dyamically splicing up to 4 filaments into a single stream that is sent to the printer. The length of each splice is appropriate so that when it reaches the nozzle of the single extruder printer, the correct colors are laid down in the correct places.

      As part of the process the G-Code that comes from a Slicer (in my example, Cura 3.x.x) is passed through the Mosaic Palette provided "Chroma" application, and a modified G-Code file is sent to the printer. (There is a separate file that is put on the Palette device itself, via SD card).

      This all works... but... DWC reports incorrectly for the estimates that are based on Filament length. The file and layer estimates are OK-ish, like they always are. The only reason I even care at all is the Filament time is the one used for the percentage on a Tab when you are away from that Tab. So it is quite misleading.

      0_1544733180710_3d810f17-0745-4e70-9094-b4143252f5f9-image.png

      0_1544733163422_02fd603d-419b-40e4-a4dd-3c8f849996db-image.png

      Again, minor thing, thought you'd want to know.

      Delta / Kossel printer fanatic

      1 Reply Last reply Reply Quote 1
      • Danalundefined
        Danal
        last edited by

        Here are the beginning and end of the G-Code file AFTER it goes through Mosiac Chroma. (Before, it was just a Cura file).

        Start

        ; Post-processed by Chroma 3.1.1
        ;FLAVOR:RepRap
        ;TIME:2803
        ;Filament used: 1.46698m, 0.79558m, 0.452586m, 0m
        ;Layer height: 0.2
        ;Generated with Cura_SteamEngine 3.5.1
        T0
        M190 S60
        M104 S210
        M109 S210
        M82 ;absolute extrusion mode
        M82 ;Absolute Extrusion Mode
        G28 ;Home
        G1 F18000 ;In case anything needs a feedrate
        G32            ;Probe to finalize Z
        G1 Z15 F6000 ;Move the nozzle up.
        G92 E0 ;Reset Extruder (absolute)
        G1 E3 F200 ;Extrude a little
        G92 E0 ;Reset Extruder again
        M106 P2 S0.5 ;Turn on main board cooling
        G29 S1     ;Load the grid mesh height map
        M83 ;relative extrusion mode
        G1 E-5 F2400
        ;LAYER_COUNT:222
        ;LAYER:0
        M107
        G0 X-5.433 Y-8.586 Z0.3 F3600
        ;TYPE:SKIRT
        G1 E5 F2400
        G1 X-0.72 Y-11.411 E0.26043 F1800
        G1 X2.873 Y-13.8 E0.2045
        G1 X3.32 Y-14.053 E0.02434
        G1 X4.905 Y-14.807 E0.08319
        G1 X5.596 Y-15.053 E0.03476
        G1 X7.109 Y-15.423 E0.07382
        G1 X7.753 Y-15.52 E0.03087
        G1 X9.066 Y-15.597 E0.06234
        G1 X9.643 Y-15.584 E0.02735
        G1 X10.993 Y-15.446 E0.06432
        G1 X11.49 Y-15.36 E0.02391
        G1 X12.64 Y-15.076 E0.05614
        
        

        Delta / Kossel printer fanatic

        1 Reply Last reply Reply Quote 0
        • Danalundefined
          Danal
          last edited by

          End

          ;TYPE:WALL-OUTER
          G1 X-2.004 Y5.924 E0.00301 F600
          G1 X-1.964 Y5.997 E0.00263
          G1 X-1.928 Y6.101 E0.00348
          G1 X-1.859 Y6.265 E0.00562
          G1 X-1.855 Y6.35 E0.00269
          G1 X-1.797 Y6.566 E0.00707
          G1 X-1.802 Y6.66 E0.00297
          G1 X-1.83 Y6.795 E0.00436
          G1 X-1.847 Y6.923 E0.00408
          G1 X-1.921 Y7.134 E0.00707
          G1 X-1.982 Y7.247 E0.00406
          G1 X-2.014 Y7.277 E0.00139
          G1 X-2.043 Y7.336 E0.00208
          G1 X-2.117 Y7.398 E0.00305
          G1 X-2.171 Y7.47 E0.00284
          G1 X-2.235 Y7.518 E0.00253
          G1 X-2.297 Y7.582 E0.00282
          G1 X-2.384 Y7.645 E0.00339
          G1 X-2.61 Y7.738 E0.00772
          G1 X-2.69 Y7.762 E0.00264
          G1 X-2.753 Y7.76 E0.00199
          G1 X-2.835 Y7.784 E0.0027
          G1 X-2.889 Y7.792 E0.00172
          G1 X-2.916 Y7.787 E0.00087
          G1 X-3.039 Y7.796 E0.0039
          G1 X-3.109 Y7.779 E0.00228
          G1 X-3.153 Y7.776 E0.00139
          G1 X-3.27 Y7.736 E0.00391
          G1 X-3.352 Y7.658 E0.00358
          G1 X-3.454 Y7.583 E0.004
          G1 X-3.615 Y7.489 E0.00589
          G1 X-3.719 Y7.395 E0.00443
          G1 X-3.86 Y7.141 E0.00918
          G1 X-3.887 Y7.12 E0.00108
          G1 X-3.939 Y7.024 E0.00345
          G1 X-3.973 Y6.932 E0.0031
          G1 X-3.987 Y6.831 E0.00322
          G1 X-4.005 Y6.587 E0.00773
          G1 X-3.991 Y6.441 E0.00463
          G1 X-3.968 Y6.39 E0.00177
          G1 X-3.928 Y6.265 E0.00415
          G1 X-3.813 Y6.02 E0.00855
          G1 X-3.745 Y5.916 E0.00393
          G1 X-3.706 Y5.873 E0.00183
          G1 X-3.661 Y5.839 E0.00178
          G1 X-3.629 Y5.795 E0.00172
          G1 X-3.488 Y5.674 E0.00587
          G1 X-3.359 Y5.576 E0.00512
          G1 X-3.148 Y5.512 E0.00697
          G1 X-3.013 Y5.496 E0.0043
          G1 X-2.897 Y5.467 E0.00378
          G1 X-2.685 Y5.467 E0.0067
          G1 X-2.594 Y5.489 E0.00296
          G1 X-2.539 Y5.52 E0.00199
          G1 X-2.432 Y5.56 E0.00361
          G1 X-2.359 Y5.579 E0.00238
          G1 X-2.248 Y5.667 E0.00448
          G1 X-2.149 Y5.766 E0.00442
          G1 X-2.087 Y5.877 E0.00402
          G0 X-2.004 Y5.924 F7200
          G0 X-1.964 Y5.997
          G0 X-1.957 Y6.017
          G0 X-2.389 Y6.272
          G0 X-2.641 Y6.472
          ;TYPE:SKIN
          G1 X-2.601 Y6.62 E0.00484 F600
          G1 X-2.629 Y6.771 E0.00485
          G1 X-2.661 Y6.801 E0.00139
          G1 X-2.679 Y6.839 E0.00133
          G1 X-2.743 Y6.915 E0.00314
          G1 X-2.792 Y6.959 E0.00208
          G1 X-2.813 Y6.967 E0.00071
          G1 X-2.852 Y6.966 E0.00123
          G1 X-2.932 Y6.989 E0.00263
          G1 X-3.016 Y6.924 E0.00336
          G1 X-3.105 Y6.872 E0.00326
          G1 X-3.206 Y6.69 E0.00658
          G1 X-3.211 Y6.63 E0.0019
          G1 X-3.187 Y6.544 E0.00282
          G1 X-3.134 Y6.431 E0.00394
          G1 X-3.09 Y6.398 E0.00174
          G1 X-3.047 Y6.339 E0.00231
          G1 X-2.981 Y6.288 E0.00264
          G1 X-2.814 Y6.26 E0.00535
          G1 X-2.77 Y6.276 E0.00148
          G1 X-2.669 Y6.456 E0.00652
          G1 X-2.641 Y6.472 E0.00102
          G0 X-2.646 Y6.479 F7200
          ;TIME_ELAPSED:2803.779002
          G1 E-5 F2400
          M140 S0
          M82 ;absolute extrusion mode
          M107
          M104 S0 ;Extruder temp 0, don't wait
          M140 S0 ;Bet temp 0, don't wait
          G92 E1
          G1 E-1 F300
          G28 X0 Y0
          M84 ;De-energize extruder motor.  Others will time out
          M106 P2 S0 ;Turn off main board cooling fan.
          M83 ;relative extrusion mode
          M104 S0
          ;End of Gcode
          ;SETTING_3 {"global_quality": "[general]\\nversion = 4\\nname = Pallete 0.2 (no
          ;SETTING_3 tool retract)\\ndefinition = fdmprinter\\n\\n[metadata]\\ntype = qual
          ;SETTING_3 ity_changes\\nquality_type = normal\\nsetting_version = 5\\n\\n[value
          ;SETTING_3 s]\\nadhesion_type = skirt\\nlayer_height = 0.2\\n\\n", "extruder_qua
          ;SETTING_3 lity": ["[general]\\nversion = 4\\nname = Pallete 0.2 (no tool retrac
          ;SETTING_3 t)\\ndefinition = fdmprinter\\n\\n[metadata]\\nposition = 0\\ntype =
          ;SETTING_3 quality_changes\\nquality_type = normal\\nsetting_version = 5\\n\\n[v
          ;SETTING_3 alues]\\ndefault_material_print_temperature = 210\\ninfill_sparse_den
          ;SETTING_3 sity = 0\\nmaterial_final_print_temperature = 210\\nmaterial_flow = 9
          ;SETTING_3 5\\nmaterial_initial_print_temperature = 210\\nswitch_extruder_retrac
          ;SETTING_3 tion_amount = 0\\n\\n", "[general]\\nversion = 4\\nname = Pallete 0.2
          ;SETTING_3  (no tool retract)\\ndefinition = fdmprinter\\n\\n[metadata]\\npositi
          ;SETTING_3 on = 1\\ntype = quality_changes\\nquality_type = normal\\nsetting_ver
          ;SETTING_3 sion = 5\\n\\n[values]\\ndefault_material_print_temperature = 210\\nm
          ;SETTING_3 aterial_final_print_temperature = 210\\nmaterial_flow = 95\\nmaterial
          ;SETTING_3 _initial_print_temperature = 210\\nswitch_extruder_retraction_amount
          ;SETTING_3 = 0\\n\\n", "[general]\\nversion = 4\\nname = Pallete 0.2 (no tool re
          ;SETTING_3 tract)\\ndefinition = fdmprinter\\n\\n[metadata]\\nposition = 2\\ntyp
          ;SETTING_3 e = quality_changes\\nquality_type = normal\\nsetting_version = 5\\n\
          ;SETTING_3 \n[values]\\ndefault_material_print_temperature = 210\\nmaterial_fina
          ;SETTING_3 l_print_temperature = 210\\nmaterial_flow = 95\\nmaterial_initial_pri
          ;SETTING_3 nt_temperature = 210\\nswitch_extruder_retraction_amount = 0\\n\\n",
          ;SETTING_3 "[general]\\nversion = 4\\nname = Pallete 0.2 (no tool retract)\\ndef
          ;SETTING_3 inition = fdmprinter\\n\\n[metadata]\\nposition = 3\\ntype = quality_
          ;SETTING_3 changes\\nquality_type = normal\\nsetting_version = 5\\n\\n[values]\\
          ;SETTING_3 nswitch_extruder_retraction_amount = 0\\n\\n", "[general]\\nversion =
          ;SETTING_3  4\\nname = Pallete 0.2 (no tool retract)\\ndefinition = fdmprinter\\
          ;SETTING_3 n\\n[metadata]\\nposition = 4\\ntype = quality_changes\\nquality_type
          ;SETTING_3  = normal\\nsetting_version = 5\\n\\n[values]\\n\\n", "[general]\\nve
          ;SETTING_3 rsion = 4\\nname = Pallete 0.2 (no tool retract)\\ndefinition = fdmpr
          ;SETTING_3 inter\\n\\n[metadata]\\nposition = 5\\ntype = quality_changes\\nquali
          ;SETTING_3 ty_type = normal\\nsetting_version = 5\\n\\n[values]\\n\\n", "[genera
          ;SETTING_3 l]\\nversion = 4\\nname = Pallete 0.2 (no tool retract)\\ndefinition
          ;SETTING_3 = fdmprinter\\n\\n[metadata]\\nposition = 6\\ntype = quality_changes\
          ;SETTING_3 \nquality_type = normal\\nsetting_version = 5\\n\\n[values]\\n\\n", "
          ;SETTING_3 [general]\\nversion = 4\\nname = Pallete 0.2 (no tool retract)\\ndefi
          ;SETTING_3 nition = fdmprinter\\n\\n[metadata]\\nposition = 7\\ntype = quality_c
          ;SETTING_3 hanges\\nquality_type = normal\\nsetting_version = 5\\n\\n[values]\\n
          ;SETTING_3 \\n"]}
          
          

          Delta / Kossel printer fanatic

          1 Reply Last reply Reply Quote 0
          • Danalundefined
            Danal
            last edited by Danal

            PROBABLY... this is related to having the physical printer configured in Duet/RepRap as single extruder, and having the Slicer (Cura) set to four extruders.

            In particular, the Cura file has this statement (which appears to be unchanged by the Chroma post-processor):

            ;Filament used: 1.46698m, 0.79558m, 0.452586m, 0m

            And the "parser" in reprap is probably only looking at the first number.

            Delta / Kossel printer fanatic

            1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator
              last edited by

              As an aside, I'm curious what your overall impression of using the Palette 2 with the Duet has been since it's geared towards being used with Octoprint.

              Z-Bot CoreXY Build | Thingiverse Profile

              1 Reply Last reply Reply Quote 0
              • Danalundefined
                Danal
                last edited by

                So far, the learning curve has been very steep (for me).

                This is the new "Palette 2" and I chose to purchase a "Pro" which has more metal parts internally. I'm very impressed with the hardware device. Well thought out, heavy duty (darn, it is heavy to pick up off the table), transparent covers on everything, thumbscrews to remove covers to clear jams, etc. Looks really good.

                I started out with the Canvas Hub (Mosaic's own hardware with Octoprint+Plugins) and the Palette and a more-or-less stock CR10S. Mosaic chose a Pi Zero W (with an aux board to give it 4 USB ports). These are too slow. I found it VERY frustrating to have the slow "hub" while trying to figure out other things. After about 8 attempts to even get a print to start, and having the device hang, or this or that, I remove the "hub" and put the Palette 2 in "accessory" mode. I also set the CR10S aside and put the palette on my BFD (Big Fast Delta).

                In accessory mode, the post-processor generates two files, one for the SD on the Palette, and one for the printer. Of course, with a Duet, the printer file is just an upload. Fairly simple.

                I still had issues getting things to start. I eventually discovered that the output tube of the Palette must NOT be connected to the printer until after the palette tells you to do so (after it makes the first bits of spliced filament). Back pressure on the filament causes a hang. By the way, Mosaics instructions on this are VERY clear... nonetheless, I was "doing it backwards" and causing problems.

                Now that I understand how to start a print, I've made about six attempts to print and all have failed in various ways. Jams, Tangles, Breaks, etc... Notable, NOT inside the Palette, it has been flawless at a hardware level. I just need to get the reels that feed it, and several other things, completely worked out. I have had one or two prints proceed fairly far, but the colors are nowhere near where they are supposed to be.

                Palette goes through a calibration process for a new printer to figure out how far it is from the output of the palette to the nozzle on the printer. Keep in mind that my BFD has an 1100mm (yes, over one meter) Bowden. So the calibration is fairly painstaking... Then, on later prints, it "knows" this distance, but you still have to "load" the filament, and this is a little painful as well with this very long tube.

                Probably should put the Palette on a direct drive printer...

                Anyway, as I work out all the kinks, it is apparent the color is not "in sync". I'm trying to print this:

                0_1544755879421_88f1a575-1738-44f5-adff-d0451b09b847-image.png

                And all I'm getting is banding and random colors.

                The Palette uses "pings" to keep in sync with the printer. These are longish retracts, with a pause. When the Palette 'sees' the retract/pause, it 'knows' EXACTLY where the G-Code is... and can therefore avoid 'cumulative error' drift between the two devices. Well, in accessory mode, with my best calibrations, it does not ever see the pings. (if they are more than +/- 10% of where they 'should' be, it won't see them).

                THEREFORE, I've gone back to the 'hub', as it stays in sync a different way (since the hub is sending G-Code to the printer AND commands to the Palette, pings are not required). This time, I installed Octoprint + The mosaic plugins on a Pi 3B+ I already had. This is a great setup. High praise to Mosiac for making the plugins available so that we can build our own 'hub'.

                We'll see how that print comes out.

                Also, somewhere in all of the above, I've posted a few things on the Mosaic forums. They've always responded within 24 hours, and even pushed a firmware patch based on some of my feedback. Excellent support.

                Delta / Kossel printer fanatic

                1 Reply Last reply Reply Quote 1
                • Danalundefined
                  Danal
                  last edited by Danal

                  Summary, regarding Palette 2 Pro:

                  • Hardware seems VERY robust.
                  • Customer support from Mosaic is good to excellent.
                  • Steep learning curve. REALLY pay attention to their instructions; they have a lot of really well done stuff on the web site.
                  • Works fine with Duet in "Accessory" mode, where it generates two files, one for printer and one for Palette. Just send the printer file with DWC. (assuming I get it all calibrated and tuned up, that is)
                  • Works fine with an Octoprint base "Hub". In this case, DWC doesn't tell you much, but Octoprint does...
                  • I'd recommend NOT buying their "Canvas Hub" hardware, but instead "roll your own" hub on a Pi3B+ or similar

                  .

                  • TBD if it is going to work well on a printer with an 1100mm Bowden.

                  And, I will keep you posted when I get it all working.

                  Delta / Kossel printer fanatic

                  1 Reply Last reply Reply Quote 1
                  • Danalundefined
                    Danal
                    last edited by

                    Update: Running on the Hub, it is seeing pings!!!! Yay!!!

                    They are running about 112% and should be very close to 100... the mosaic doc has a way to tune this... so MUCH PROGRESS. Yay!!

                    Delta / Kossel printer fanatic

                    Danalundefined 1 Reply Last reply Reply Quote 0
                    • Phaedruxundefined
                      Phaedrux Moderator
                      last edited by

                      Thanks for the write up. That's exactly the kind of details I'm wondering about. I almost jumped on the Palette 2 pre-order but decided to wait for the dust to settle.

                      I'm curious if anything could be done on either end to better integrate with the Duet.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      Danalundefined 1 Reply Last reply Reply Quote 0
                      • nikkerundefined
                        nikker
                        last edited by

                        wow what a neat piece of hardware. I am with @Phaedrux and am going to keep an eye out although i dont need 4 filaments, just 2... my main and another for support material. Either way very cool. Please keep us posted on how things work, especially integration with the Duet.

                        1 Reply Last reply Reply Quote 0
                        • Danalundefined
                          Danal
                          last edited by

                          Update: The first almost successful print failed about halfway through because cura put in an M104 T1 S0 to allow Extruder 1 to cool off when the print got above the last layer that needed that extruder. Duet/RepRap sent an error because there is no Tool 1. Canvas Hub (Octoprint) saw the error and stopped the print.

                          There may be several ways around this. Convince Cura to not put these in the file. Have Chroma remove them. Configure the printer so that it won't error on Tool 1 being set to zero. Configure octoprint to ignore this error.

                          For debugging, I simply hand edited the G-Code file and removed the M104. Result: SUCCESS!!! YAY!!

                          .

                          Summary: Palette 2 Pro + Canvas Hub (built on Pi 3B+) works great with Duet controller. Be aware that you don't really use DWC when configured like this, you do your web control via Canvas Hub (which is really Octoprint with canvas and palette plug ins). I don't consider this a plus or a minus... just "the way it works".

                          Delta / Kossel printer fanatic

                          Phaedruxundefined 1 Reply Last reply Reply Quote 0
                          • Danalundefined
                            Danal @Danal
                            last edited by

                            @danal said in Pallete 2 and Duet, DWC time estimates are off.:

                            Update: Running on the Hub, it is seeing pings!!!! Yay!!!

                            They are running about 112% and should be very close to 100... the mosaic doc has a way to tune this... so MUCH PROGRESS. Yay!!

                            Edit: Palette 1 required you to tune pings. Palette 2 "learns". Nifty!!

                            Delta / Kossel printer fanatic

                            1 Reply Last reply Reply Quote 0
                            • Danalundefined
                              Danal @Phaedrux
                              last edited by Danal

                              @phaedrux said in Pallete 2 and Duet, DWC time estimates are off.:

                              I'm curious if anything could be done on either end to better integrate with the Duet.

                              To my very limited experience at the moment:

                              1. Fix estimation when Palette is running in Accessory mode.

                              2. Figure out how to deal with configuration for one extruder, but G-Code files that contain elements referring to more than one. In fact, the "estimation" above is really just a special case of this...

                              That's really it. Everything else seems to "just work".

                              Delta / Kossel printer fanatic

                              1 Reply Last reply Reply Quote 1
                              • Phaedruxundefined
                                Phaedrux Moderator @Danal
                                last edited by

                                @danal said in Pallete 2 and Duet, DWC time estimates are off.:

                                There may be several ways around this. Convince Cura to not put these in the file. Have Chroma remove them. Configure the printer so that it won't error on Tool 1 being set to zero. Configure octoprint to ignore this error.

                                How did you eventually solve this one?

                                My wife did a ninja job on me this christmas and got me a Palette 2. So far my experience has been far from smooth. Finally managed to work out some kinks and get a successful print using Canvas (That's their cloud based slicer) which was ok, but doesn't give much fine control over print settings. So I figured I'd try setting up Slic3r PE and then use Chroma (their gcode post processor) and I ran into the same M104 T1 S0 error on color change that octoprint choked on.

                                Z-Bot CoreXY Build | Thingiverse Profile

                                1 Reply Last reply Reply Quote 0
                                • Danalundefined
                                  Danal
                                  last edited by

                                  My first fix was to use a text editor (sublime) to take M104 for any tool not zero out of the file.

                                  My second fix was to find a setting in Octoprint that filters out any string match before a given line is sent to the printer. Set it to allow M104 T0 but suppress M104 Tn where n is one through nine. I'm not near enough to find the exact regex... I can post it if it is important.

                                  Delta / Kossel printer fanatic

                                  1 Reply Last reply Reply Quote 0
                                  • Phaedruxundefined
                                    Phaedrux Moderator
                                    last edited by Phaedrux

                                    I managed to get past that problem.

                                    I found that the Cura config file edit mosaic posted to remove heater changes worked. But in order for chroma to even import the gcode file I had to manually delete the very first T0 that Cura inserts before the start gcode block. I haven't tested yet but I think that first T0 is only inserted when Cura is set to reprapfirmware flavor gcode.

                                    As long as the temps for all extruders are set the same and the gcode start block had an M109 to set the temp and prevent Cura from inserting its own there were no other m104 entries in the file and chroma seemed to process everything properly.

                                    The only issue after that was the one I just posted about where it looks like chroma inserts a feed rate 0 move at layer change which caused very slow travel moves between purge block and print. Did you notice anything like that?

                                    Z-Bot CoreXY Build | Thingiverse Profile

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post
                                    Unless otherwise noted, all forum content is licensed under CC-BY-SA