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

    Sovol SV08 Multiple Motion System Upgrade.

    Scheduled Pinned Locked Moved
    My Duet controlled machine
    8
    232
    25.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.
    • o_lampeundefined
      o_lampe @dwuk3d
      last edited by o_lampe

      @dwuk3d said in Sovol SV08 Multiple Motion System Upgrade.:

      Made a start on the IDEX belt design.

      Not sure if I get it right: the two Y motors positions indicate a different kinematic model, it seems you want to use a H-bot design mixed with CoreXY? Or is it some markforge stuff?

      Another problem might be the M800 macro. IDK if it's smart to use macros while printing dual stream...IMHO you should replace G10/G11 commands with the macro-content by your postprocessor

      dwuk3dundefined 1 Reply Last reply Reply Quote 0
      • dwuk3dundefined
        dwuk3d @o_lampe
        last edited by

        @o_lampe I think it is called Dual Markforge - its the same as the Ratrig Vcore4 idex - doubled up.

        Attempt at demo here - although when I re look at it I think there are some errors in the animation - as it should be top belt for one X axis and bottom for the other
        https://youtu.be/CjgITPc4vNg?si=SDhkxPcVuqdtXxy6

        Re G10/G11 - changed post processor to be aware of them and switch the Z movements to my M800's, which handle both servo and stepper based Z hopping.

        Also added in G10/M800 M800/G11's around long added G0 moves due to segmenting that seems to work quite well.

        Have decided to drop the servo and switch both gantries to stepper based Z hoppers - which might allow me to remove the M800's and let the G10/G11s to do the Z hopping.

        Also my little Z hopping stepper isn't really up to the job I think as it is a bit slow and gets hot on idle. I'm currently turning off idle current after every move - but that makes it lose its homed status which I doubt G10/G11 would be happy with.

        Tried lowering currents down to 1% instead of- but that seems to mess with parallel printing as I don't think the current changing code works well on motion system 1.

        Have ordered two more motor options to try - lead screw Nema8 and lead screw Nema11 - hopefully one or both of those will be faster and have less heatup issues.

        dwuk3dundefined 1 Reply Last reply Reply Quote 0
        • dwuk3dundefined
          dwuk3d @dwuk3d
          last edited by dwuk3d

          @dwuk3d !IMG_8703.jpeg IMG_8702.jpeg
          https://www.aliexpress.com/item/1005008402852335.html

          https://www.aliexpress.com/item/1005004769535321.html

          1 Reply Last reply Reply Quote 0
          • droftartsundefined
            droftarts administrators @dwuk3d
            last edited by

            @dwuk3d said in Sovol SV08 Multiple Motion System Upgrade.:

            Update - found a command by looking at the RRF code - M606 S1.

            This seems to be needed to get the parallel printing to work - it is not mentioned in the Multi Motion System documentation - but is in the Gcode dictionary.

            Thanks for pointing this out, this may be the reason that multiple motion systems haven't been working for people. Unfortunately, it mostly beyond my test rig (and comprehension) to test! However, from your description, I think I understand how it should be used. I've a couple of the paragraphs in the documentation to highlight M606:
            https://docs.duet3d.com/en/User_manual/RepRapFirmware/Multiple_motion_systems#enabling-and-selecting-a-motion-queue
            https://docs.duet3d.com/en/User_manual/RepRapFirmware/Multiple_motion_systems#command-streams-from-file

            Can you check they are correct from your understanding, please?

            Ian

            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

            dwuk3dundefined 1 Reply Last reply Reply Quote 0
            • dwuk3dundefined
              dwuk3d @droftarts
              last edited by

              @droftarts Looks good. The only comment I have is that in my current test configuration I have the M606 near the end of the Start Gcode in Orca Slicer, not at the start of the print file - just before it starts actual printing - as I didn't need homing etc. to be parallel processed.

              I wouldn't personally expect to put it in the start.g - as I wouldn't want every print to be forked, also I guess the Macro issue mentioned in this post might start occurring.

              https://forum.duet3d.com/topic/35023/mutiple-motion-systems-macro-conflicts-in-3-5/20?_=1741787414435

              1 Reply Last reply Reply Quote 0
              • dwuk3dundefined
                dwuk3d
                last edited by

                Managed to get Voron Tap type probing to work on the front gantry, and printing now working fairly well. Time now to return to the alignment probes.

                Electromagnet wired up - on Mini5+ 6A output - which has a flyback diode ok

                ; Electro Magnet
                M950 P4 C"1.out1"
                M42 P4 S0
                

                Magnet seems to work ok - and hold pliers on anything above S30
                2CAC24FD-BF17-4504-89BC-661AD72D1D60_1_105_c.jpeg

                Next on to Servo - decided to use on of these, as I have a few in stock
                0B57D298-CCC3-438D-A4AA-A2AE51DF9406_1_105_c.jpeg

                Powering it with 6v for now - via a LM2596 Buck Converter from the main input PSU
                9C40CE03-08E2-409C-9EED-48382F0E0773_1_102_o.jpeg

                F5FBBEC3-7A3C-46A9-85E7-543ED1D7D481_1_105_c.jpeg

                Tried it on io0 - but it didn't work as no PWM (although no error message).
                Switched to io1 and now working

                M950 S0 C"1.io1.out"  ; Probe Servo
                M280 P0 S60  ; Set Servo
                

                Made hole in case to hold servo next to bed.
                F64B40A1-7775-4CF1-AF55-C8B39DE06F92_1_201_a.jpeg A54AAD31-F841-4A10-ACBE-91D0BCE7BCB0_1_201_a.jpeg

                3d printing of parts and macro's tomorrow.

                o_lampeundefined 1 Reply Last reply Reply Quote 1
                • o_lampeundefined
                  o_lampe @dwuk3d
                  last edited by

                  @dwuk3d Those digital servos can draw a lot of current. You'd not want to block the arm or run it above the spec'd angle or the buck converter might fail.

                  dwuk3dundefined 1 Reply Last reply Reply Quote 0
                  • dwuk3dundefined
                    dwuk3d @o_lampe
                    last edited by

                    @o_lampe Thanks - yes I was a little worried about that - I can't find it documented anywhere how much power the Servo uses.

                    It goes up to 8.4 volts - so decided to keep it down to 6v, plus also am turning off the servo as soon as I have done any moves.

                    Might switch to a geared stepper at some point

                    1 Reply Last reply Reply Quote 0
                    • dwuk3dundefined
                      dwuk3d
                      last edited by

                      Auto alignment with ball probe complete.

                      Original plan was to use the electro magnet on the bed - but it is quite weak - despite specs being near to the permanent magnet that works very well.

                      So switched to having the magnet off the bed grabbing a big circular plate.

                      Not sure how much it is really needed.

                      Also ordered a bigger magnet - but not sure if I will need to use it.

                      Demo video of homing, levelling, deployment of probe and alignment attached.

                      6C958E75-0CB9-49CB-97B0-2673E6C0A2D6_1_201_a.jpeg

                      https://youtu.be/kpVAuKwoTiQ

                      o_lampeundefined 1 Reply Last reply Reply Quote 1
                      • o_lampeundefined
                        o_lampe @dwuk3d
                        last edited by

                        @dwuk3d Nice video, but I watched it without sound.
                        The problem with any nozzle touch probes is, you have to make sure the surface is completely clean. (and conductive too?)
                        I hope your homing macros are ready for "murphy's law"

                        dwuk3dundefined 1 Reply Last reply Reply Quote 0
                        • dwuk3dundefined
                          dwuk3d @o_lampe
                          last edited by

                          @o_lampe Thanks - sorry about the music - will have to get a bit more creative with that - and maybe think about some narration.

                          Agreed about the nozzles needing to be clean, will have to add in some auto cleaning as part of my start up phase. I've put a cleaning pad on the swing out arm - but haven't done the automation for this yet.

                          The ball probe is mechanical - so no worries about conductivity.

                          I think my ultimate solution is likely to be a 3 stage approach - with the inductive probe or an eddy probe to find the ball probe and do some basic alignment, then using a cleaned nozzle pressing on the ball probe for a 2nd phase of alignment, with then a final check using the camera for fine adjustments,

                          There is some software to do the camera based adjustments automatically - but I suspect that it will be hard to get that to work reliably too - especially in different lighting conditions and with different bits of waste on the nozzle.

                          dwuk3dundefined 1 Reply Last reply Reply Quote 0
                          • dwuk3dundefined
                            dwuk3d @dwuk3d
                            last edited by

                            @dwuk3d Added Nozzle cleaning into alignment process, also decided to start making use of Daemon.g for timeouts of things like magnets, servo's, hot ends - which seems to be working ok.

                            Only issue is with the hot ends - where if the process is left on when a print is about to start then the daemon.g could drop in and switch tools - so will need to disable any tool based timers when prints are started.

                            Example switch on Servo and Magnet - in Probe Deploy Macro.

                            M42 P5 S1 ; Servo On
                            
                            if exists(global.servo5Off) == false
                                global servo5Off = 0
                            
                            set global.servo5Off = state.upTime + 120
                            
                            M42 P4 S255 ; Magnet on
                            
                            
                            if exists(global.magnetOff) == false
                                global magnetOff = 0
                            
                            set global.magnetOff = state.upTime + 200
                            

                            Example Daemon.g

                            ;daemon.g
                            
                            if exists(global.servo5Off)
                                if global.servo5Off != 0 && global.servo5Off < state.upTime
                            
                                    M42 P5 S0 ; Servo Off
                                    set global.servo5Off = 0
                                    echo "daemon.g servo5 switched off"
                                    
                            
                            
                            if exists(global.magnetOff)
                                if global.magnetOff != 0 && global.magnetOff < state.upTime
                            
                            
                                    M42 P4 S0 ; Magnet off
                                    set global.magnetOff = 0
                                    echo "daemon.g magnet switched off"
                                    
                            if exists(global.T1Off)
                                if global.T1Off != 0 && global.T1Off < state.upTime
                                    M596 P0
                                    T1
                                    M109 S0
                                    set global.T1Off = 0
                                    echo "daemon.g T1 switched off"
                            
                            if exists(global.T0Off)
                                if global.T0Off != 0 && global.T0Off < state.upTime
                                    M596 P1
                                    T0
                                    M109 S0
                                    set global.T0Off = 0
                                    echo "daemon.g T0 switched off"
                            
                            dwuk3dundefined 1 Reply Last reply Reply Quote 0
                            • dwuk3dundefined
                              dwuk3d @dwuk3d
                              last edited by

                              @dwuk3d Trying out various different options for head cleaner location while still waiting for Nema8 and Nema11 Z lifters to arrive.

                              Not sure whether to put the cleaner at the front of the gantry - so that it can be wiped in 2 dimensions,
                              or just on the end of the Y gantry - so can only be wiped in the X direction.

                              I suppose I could add another servo at the end of the Y gantry, or some sort of 3d printed mechanism to make the Y wiper move backwards and forwards a little bit.

                              Long thin arms working quite well on low Z heights - as they bend slightly rather than fouling on the bed.

                              93D9553A-0FF4-49E6-8768-03B06F873D23.jpeg 4B2F4CDE-36F2-47BA-8D7E-398DF3B744CB_1_102_o.jpeg

                              dwuk3dundefined 1 Reply Last reply Reply Quote 0
                              • dwuk3dundefined
                                dwuk3d @dwuk3d
                                last edited by

                                @dwuk3d NEMA11 stepper arrived.

                                Doesn't work quite like I expected as there is a thread inside the motor - so the lead screw has to be held for the motor to move.

                                Also quite heavy and bit big - so think I will hold off until the lead screw NEMA8 arrives.

                                Motor size comparison
                                2DE4E381-CC15-4313-8EFA-91F6E110AEF0_1_201_a.jpeg

                                1 Reply Last reply Reply Quote 0
                                • dwuk3dundefined
                                  dwuk3d
                                  last edited by

                                  I think Nema8 might end up working quite well for the Z hoppers.

                                  Decided to try and create some sort of lead screw for the existing NEMA8 I got a few weeks ago.

                                  Took quite a few iterations - but ended up doing my first ever 'captive print' - with an M4 Hex Headed Bolt captured inside a coupler print.

                                  72854120-7CD6-434F-BDDF-F3321EB187BF_1_105_c.jpeg

                                  C4CB144C-32A0-4E42-8C50-5A69D442CA96_1_102_o.jpeg

                                  As its a bolt rather than lead screw then it is quite sloppy - but might be able to use that as a slight advantage as will hopefully be able to use a single optical end stop for both
                                  a) The homing of the Nema8 based Z hopper
                                  b) The X axis
                                  c) Z Axis tapping too.

                                  Have replaced Servo on the rear gantry with the Nema8 motor and it is looking good so far.

                                  Comparison photo with the slow soon to be replaced front gantry stepper, rear gantry with almost completely installed NEMA8, with 3 way optical end stop below, plus the NEMA11 motor also included.
                                  672B5713-1AE9-4CB0-8EED-992AA1C5300E_1_102_o.jpeg

                                  Had to move the 1LC tool board about 16mm to the left to accommodate the taller stepper/lead screw combination.

                                  o_lampeundefined 1 Reply Last reply Reply Quote 0
                                  • o_lampeundefined
                                    o_lampe @dwuk3d
                                    last edited by

                                    @dwuk3d said in Sovol SV08 Multiple Motion System Upgrade.:

                                    As its a bolt rather than lead screw then it is quite sloppy - but might be able to use that as a slight advantage

                                    Vertical slop is a 1st layer killer.
                                    Although it might have advantages with other stuff, you sure don't want to risk bad adhesion to the bed.
                                    Maybe you can add a spring to reduce backlash?

                                    dwuk3dundefined 1 Reply Last reply Reply Quote 0
                                    • dwuk3dundefined
                                      dwuk3d @o_lampe
                                      last edited by

                                      @o_lampe Thanks will try a spring over the bolt.

                                      Will be interesting to compare the 'bolt' version with the proper lead screw Nema8 version I have ordered.

                                      1 Reply Last reply Reply Quote 0
                                      • dwuk3dundefined
                                        dwuk3d
                                        last edited by dwuk3d

                                        Nema8 motor working quite well as a zlifter on rear gantry - so have ordered a few more for other extruders.

                                        Will create a short video next showing use of a single optical endstop for U,A and Z Axis.

                                        In the meantime - another interesting video from teaching tech with a comparison between Marlin, Klipper and RRF - with another little mention of this project in the RRF section about 9mins30 in.

                                        https://youtu.be/fahU6UXl7g8?si=W7gJpKrv2_YfzKT-

                                        dwuk3dundefined 1 Reply Last reply Reply Quote 0
                                        • dwuk3dundefined
                                          dwuk3d @dwuk3d
                                          last edited by

                                          @dwuk3d Initially I was finding that the Nema 8 motors were not powerful enough to reliably lift the gantry.

                                          The Non Lead screw one was I thought rated at 0.4a and the Lead Screw one at 0.24A.

                                          However it looks like on further investigation that the Non lead Screw one is actually rated at 0.8A - and when I set it to 0.6A in Config.g it is working very reliably.

                                          Before I found this out I ordered some smaller (28mm) Nema11-s however as the Nema8's look ok I have ordered two more of those too
                                          9F725473-F75E-454A-A312-04BE205AC6C9.png

                                          Short video attached of Nema8 in operation, and also showing what may or may not be a good idea - using the same (very cheap) optical sensor for

                                          1. MicroZ (A Axis)
                                          2. U Axis
                                          3. Z Axis tapping

                                          In order to swap the 122.io2.in pin between the 3 axis - I found I had to first swap the other axis to dummy IO pins - so that they would release 122.io2.in - so that it could be assigned to the correct axis using M558 commands.

                                          https://youtu.be/0jkH4YBIZDc

                                          1 Reply Last reply Reply Quote 0
                                          • dwuk3dundefined
                                            dwuk3d
                                            last edited by

                                            Little time saver GCode command created,

                                            M98.1 - For running Macro's - without needing to specify the full path, or .G suffix

                                            M98.1 A"ClearAllocs"
                                            Instead of
                                            M98 P"0:/macros/ClearAllocs.g"

                                            ;m98.1.g - Run Macro
                                            if exists(param.A)
                                                var P ="0:/macros/"^{param.A} 
                                                if fileexists(var.P)
                                                    M98 P{var.P}
                                                else
                                                    var P2 =var.P^".g"
                                                    if fileexists(var.P2)
                                                        M98 P{var.P2}
                                                    else
                                                        echo "M98.1 Macro file not found",{var.P}
                                                        
                                            
                                            else
                                                echo "M98.1 Macro Parameter A not found"
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA