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

    Sovol SV08 Multiple Motion System Upgrade.

    Scheduled Pinned Locked Moved
    My Duet controlled machine
    8
    244
    27.6k
    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.
    • dwuk3dundefined
      dwuk3d @dwuk3d
      last edited by

      @dwuk Upgrade PSU to a meanwell one - I can see why people seem to like them - its almost silent, rather than being really noisy like the previous one.

      D9C4EA59-ED3E-473B-AAD0-37D47E4675EC_1_105_c.jpeg

      I think I might be getting somewhere with my homing

      Based on here
      https://docs.duet3d.com/User_manual/Connecting_hardware/Z_probe_auto_levelling#axis-levelling-using-endstops

      I think I might have to split my 4xZ motors in to 2 separate AXIS (back and front), then move the two gantries to the back and front, then allocate the two probes to the two separated Z Axis, and then move down on both axis down at the same time - and hopefully it will move down until both probes are triggered.

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

        Think I have figured a way to get the Z motors level.

        Step 1 - Define an extra AXIS A in Config.g with same parameters as Z - but set to a dummy drive and switch.

        Step 2 - Align Back and Forward.
        Move front gantry to near front centre and rear gantry to near rear centre
        ;Set Z axis to Probe 0 - front gantry
        M574 Z1 S2 K0
        ;Set A axis to Probe 1 - rear gantry
        M574 A1 S2 K1
        ;Split Gantries - front and back
        M584 Z2:5 A0:1 P6
        ;Move both gantries down until they hit their probes
        G91
        G1 H1 Z-999 A-999

        Step 3 - Align Left and Right

        ; Now Move Gantries close to each other in the centre of the bed,
        ; Plus move rear gantry print head to near to the left and front to near to the right

        ; Resplit Axis - with A left and Z right
        M584 Z1:5 A0:2 P6

        ; Now Move down to end stops again
        G91
        G1 H1 Z-999 A-999

        ; Now all 4 z's are I think closer to alignment.

        Step 4 - Re Merge Z
        M584 Z1:2:0:5 P5

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

          Homing working -

          See short video demo

          https://youtube.com/shorts/oHtVsdHTPQc?si=w-lnOgmzNzxqfvRK

          Lots of refinements to do - but basic homing and 4 AXIS levelling done

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

            Tuned heaters today. The heads worked ok, got this from the print bed

            28/01/2025, 11:29:21 Warning: heater behaviour was not consistent during tuning
            Auto tuning heater 0 completed after 3 idle and 25 tuning cycles in 4667 seconds. This heater needs the following M307 command:
            M307 H0 R0.527 K0.163:0.000 D5.70 E1.35 S1.00 B0
            Edit the M307 H0 command in config.g to match this. Omit the V parameter if the heater is not powered from VIN.

            Will try using it anyway to see what happens.

            Also decided to try backing up settings today - tried various methods and ended up using FTP with VSCODE. Annoyingly I some how ended up losing my HomeX,Y,Z and All settings - so had to re do them.
            Improved the Z homing as part of this.

            Now ready to try some mesh levelling.

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

              Gradually getting there with bed levelling.
              Found my two probes trigger at slightly different heights, plus the nozzles are also at different heights too - so will add some manual adjustment capability in before trying first print.

              I can't get auto 4 axis calibration to work - it keeps saying it is not supported for the kinematics. I've tried coreXY too and it still says the same thing.

              So I have settled for now on probing and a level of auto adjustment in bed.g that seems to work.

              My HomeZ does still seem to mess up the gantry levelling, and I am getting some issues with probes getting stuck on in the software.

              But I think with this bed.g I now have a pretty flat Z axis after a few iterations.

              M671 X410:-60:-60:410 Y420:-10:420,-10
              M400
              
              while true
                  G1 X300 Y200 F20000
                  G30 P0 X300 Y200 Z-99999 ; probe near a leadscrew
              
                  var adjust1 = (sensors.probes[0].lastStopHeight)
              
              
              
                  G1 X20 Y20 F20000
              
                  G30 P1 X20 Y20 Z-99999 ; probe near a leadscrew
              
                  var adjust2 = (sensors.probes[0].lastStopHeight)
              
              
                  G1 X20 Y200 F20000
                  G30 P2 X20 Y200 Z-99999 ; probe near a leadscrew
              
                  var adjust0 = (sensors.probes[0].lastStopHeight)
              
              
                  G1 X300 Y20 F20000
                  G30 P3 X300 Y20 Z-99999 S-1 ; probe near a leadscrew and calibrate 4 motors
               
              
                  var adjust5 = (sensors.probes[0].lastStopHeight)
              
                  echo var.adjust1, var.adjust2, var.adjust0, var.adjust5
              
                  if (abs(var.adjust1) < 0.01 && abs(var.adjust2) < 0.01 && abs(var.adjust0) < 0.01 && abs(var.adjust5) < 0.01)   || iterations > 6
                      break
              
              
                  G91
              
                  if abs(var.adjust1) < 1
                      set var.adjust1 = var.adjust1 * 2
                  if abs(var.adjust2) < 1
                      set var.adjust2 = var.adjust2 * 2
                  if abs(var.adjust1) < 1
                      set var.adjust0 = var.adjust0 * 2
                  if abs(var.adjust1) < 1
                      set var.adjust5 = var.adjust5 * 2
                  
              
              
              
                  M584 A1 P6
                  G1 A{var.adjust1}
                  M584 A2 P6
                  G1 A{var.adjust2}
                  M584 A0 P6
                  G1 A{var.adjust0}
                  M584 A5 P6
                  G1 A{var.adjust5}  
              
              
              
              M400
              G1 Z0 F2000
              G92 Z2.55
              

              Screenshot 2025-01-29 at 08.33.40.png

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

                Current thinking on first Z Hopper prototype

                an MG90S servo - for Z offset, first layer meshing and Z hopping only for other layers.

                The mechanism will unfortunately add another around 10mm to the depth of the extruder due to the tiny MGN7 linear rail.

                2BDA9EF1-342D-4820-8456-7B5FD34E9120.png D1CA5A25-C00F-4BFF-81DA-76EC4FCB5BDE.png FEAB4F20-409C-4963-A9C1-9C96E1B9334D.png
                1E8AF8C0-8C94-4AB0-9B4B-26D8099AAAAF.png

                I don't think the 1LC board 5V can handle the stall current of about 700ma - so will add a buck convertor onto the 24v input supply. Will put the servo on IO-0.out on the 1LC.

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

                  @dwuk Hi David,

                  I did a quick sketch to show you the cam concept. I can't upload a photo, so I put the link below. You should erase the spaces.

                  I tried to use arrows to explain which part is which.

                  You should add a mechanical switch to limit the lower Z position of the extruder. When the extruder reaches the lower Z limit, the spring should have slight tension—this will likely provide sufficient accuracy.

                  Additionally, if you add a screw to adjust the lower Z limit, you can fine-tune the adjustment to ensure both extruders are on the same plane.

                  https :// freeimage . host / i/2Qk9jcl

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

                    @_MRT_ Thanks very clever- like it.

                    Especially the fact that is should allow more precision and also the servo motor will not need to take the full weight in its rotational axis. Will add limit switch in too as you suggest.

                    Have added a screenshot of your photo below.
                    Screenshot 2025-01-29 at 20.25.55.png

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

                      @dwuk Basic rigid Cam version created for first test.

                      Will then experiment with adding springs as suggested by @_MRT_

                      Need however to limit the width as much as possible to avoid clashes with the other head on the same gantry. I guess I could move the servo and cam onto the other side and reposition the X end stop.

                      The Cam is offset 0.75mm from the centre of the shaft - so I am guessing this means about 1.4mm of movement within the range of about 140 degrees of the servo.

                      Will add in screw height adjustment and end stop later.Screenshot 2025-01-29 at 21.32.29.png

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

                        @dwuk Servo wired up and tested. On the 1LC board io_0.out, with an LM2596 DC to DC convertor to bring down the 24V input to 5V for the servo.

                        Prototype parts printed - just need to install them and test them - might be a few days due to other commitments.

                        IMG_6648.jpeg

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

                          Back from holiday - lots of deliveries while I was away - so ready for IDEX.

                          Made mistake with Order I think and bought 30 Buck Convertors instead of the 3 more I need - but only about £12 for all of them. All got a nice variety of end stops - both optical and mechanical.

                          EE6425AF-E92B-4E2F-87C5-29B89CD50775_1_105_c.jpeg

                          Also now have various different stepper motors to try for z hopping in addition to servo. Think a stepper motor might be easier to control as will be able to set it as an AXIS which will move in line with head moves when doing bed mesh adjustments. I think the tiny geared stepper motor in the middle from ThePiHut with a cam is probably the best solution. But the larger linear stepper also a possibility.

                          A8A6678C-3DB3-4641-9DEC-0B7904C83E74_1_102_o.jpeg

                          First test of servo lifter - need to make some changes - probably to move belts to be on fixed part rather than moving part. Also should probably move servo back a bit plus add a bearing to the cam,.

                          415F302E-5CD4-4601-A611-A43078A8B714_1_201_a.jpeg

                          But anyway it works - see short video.
                          https://youtube.com/shorts/AQexkpbFp64?si=ysh9GKfc63iHuNRg

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

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

                            add a bearing to the cam

                            That's what I meant before when I said use excenter bearings. Three of them in a planetary gear fashion could also replace the mgn-linear guide and have a wider footprint.
                            I'm not good with CAD or napkin drawings, otherwise I'd sketch up an example. Probably best suited for a pancake stepper.

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

                              @o_lampe Thanks - I thought It was probably getting closer to what you were suggesting - but I am afraid I still don't really understand the planetary gear suggestion, especially how it would eliminate any side to side movement - but it sounds interesting if it can eliminate the need for the linear rail and if possible remove some depth from the solution.

                              I am thinking I am going to need some sort of gearing to have enough power to lift the print head.

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

                                Not getting consistent Z heights with the new 'z-hopper' extruder, so remodelled it with a bigger linear rail (MGN9 vs MGN7), plus also made the rail bolt directly onto the back of the main X carriage - this will hopefully eliminate a lot of the wobbles.

                                Also corrected the issue with the belts being on the moving side, rather than the fixed side.

                                Also improved G32 / bed.g macro a bit - but would really like to get G30 S4 working properly - rather than having to the do calculations myself.

                                220C4863-9A24-4B23-95AB-826AD125DF03.png 5B8CE4A2-0210-4C35-B024-D968360AED2B.png 35695BE4-69E0-44AF-8242-4F1D2749A5EF.png

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

                                  @dwuk One point of concern is the tiny screw that connects the excenter with the servo. It has to hold the whole weight of the tool?
                                  There is also a big distance between tool-COG and the anchor point of the excenter, which adds the tendency to tilt the extruder rather than lift it. (risk of racking?)

                                  I just thought: worm gear! The smallest motor will be able to lift the tool and it comes with inbuild self locking.

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

                                    @o_lampe Good point - may have to strengthen that part up - I just wanted to make it slightly adjustable/easy to print a small extra bit.

                                    I can't get the servo any closer if I mount it on the side - but may be able to move it behind somewhere - especially if I attach it to the rail part rather than the extruder.

                                    The new design will be easier to take apart and put back together to try out different options.

                                    One of the motor options I bought - the linear stepper is worm/lead screw based so will try that out at some point.

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

                                      Managed to get proper G32 4x Z motor levelling to work

                                      G32
                                      Leadscrew adjustments made: -0.435 -0.410 -0.334 -0.474, points used 4, (mean, deviation) before (-0.421, 0.027) after (0.000, 0.000)

                                      Not sure why the adjustments are so large - but the Z height seems to be quite consistent across the bed now on Gantry A.

                                      I found the problem by looking at the code in GitHub and trying to work out the reasons for the 'Kinematics not supported' message coming out - in the end I found this line section - and thought numLeadscrews might not be set - and the condition of xSize not matching ySize was the problem - as I had specified a comma instead of a colon in my M670 for the lead screw positions.
                                      M671 X410:-60:-60:410 Y420:-10:420,-10

                                      I see now that M98 P"config.g" would have found this problem - so need to run that more often.

                                      if (seenX && seenY && xSize == ySize)
                                      	{
                                      		for (float& v : lastCorrections)
                                      		{
                                      			v = 0.0;
                                      		}
                                      		numLeadscrews = xSize;
                                      		reprap.MoveUpdated();
                                      		return false;							// successful configuration
                                      	}
                                      
                                      o_lampeundefined 1 Reply Last reply Reply Quote 0
                                      • T3P3Tonyundefined
                                        T3P3Tony administrators @dwuk3d
                                        last edited by

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

                                        servo lifter

                                        Just as a potentially useful datapoint. the very first iterations of e3d toolchanger used a metal gear hobby servo (not that one, I think more powerful one), as the tool lock motor. They quickly swapped to a small servo motor because of longevity. If this is doing Z hops then it will probably have several orders of magnitude more activations per print than a tool change in a toolchanger so I would look carefully as the service life of those servos.

                                        www.duet3d.com

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

                                          @T3P3Tony Thanks - I am mainly just initially using the hobby servo to get the 2nd print head level with the first one - so I can do my first print, plus for some initial tests with z hopping and mesh levelling.

                                          I've got a couple of small geared stepper motors that I think are going to work better in terms of the gcode at least - as I should be able to assign them to axis and get the movement to better synchronise with the X & Y movements. But the point about longevity might apply to those too.

                                          I've also got some bigger ones - a Nema8 and Nema14 pancake to try too - but will need a lead screw with them probably as they are not geared.

                                          Will have a look into what Servo Motors they used for the e3d tool changer too - so thanks.

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

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

                                            Not sure why the adjustments are so large

                                            It's just the difference between the configurated tool offset and trigger point of the probe.
                                            Since they are all pretty close (-0.4ish), your bed level looks fine.

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