Sovol SV08 Multiple Motion System Upgrade.
-
@o_lampe thanks i hadn't spotted that nema8's are faster.
I have been toying with the idea of doing some sort of lever based force amplification as you suggest - perhaps backed up by some sort of springs or counterbalance.
Will probably be more efficient if I set up some sort of off gantry force testing mechanism to better investigate the options.
One concern I do have with adding lever type mechanisms though is play in the extra linkages / pivot points.
Could also be an idea for a fairly interesting video comparing different linear motion options - with different motor sizes / gearing . movement translation mechanisms - to show how they stack up in terms of speed, strength and weight.
-
Created short slideshow about the Bondtech INDX vs my Parallel printer - whether it is the answer for going beyond 4 colours depends a lot on the price....
-
@dwuk3d said in Sovol SV08 Multiple Motion System Upgrade.:
Created short slideshow about the Bondtech INDX vs my Parallel printer - whether it is the answer for going beyond 4 colours depends a lot on the price....
Get enough views and they might send you one... or two!
Ian
-
@droftarts Will be interesting to see if the video gets much pick up as it is certainly a very elegant design and could completely remove the need for me to add single nozzle multiplexing on top of tool changing - plus also remove the need for lots of electronics and motors etc. for the extra tools and multiplexer
Might do a better version of the video with a few animations of the different options next.
-
@dwuk3d Yes, I really like the look of it, would be great on my Sovol SV08! Though I'm expecting it to be pricey.
Ian
-
@dwuk3d The way you mounted the rear INDX tool bar will not work, because it blocks Y-motion of both IDEX arms. You'll need overlapping motion to have full access to the center of the bed.
You could turn around the rear IDEX arm and put the INDX tool bar to the very rear of the frame....
There would also be a problem with the number of filament-holders you've places on each tool bar unless you want 4 filament holders for each extruder + the center one available for both.Should Bondtech be aware of your virtual design, they might be convinced by an animated simulaton. If not, try to start a kickstarter campaign...
Edit: as a sidenote, if you had a moving bed (in Z) instead of a flying gantry you could even print while you change tools. That would be a huge timesafer
-
@o_lampe thanks for the comments - you are correct about the Y axis issue.
My initial plan to overcome this is for both of my INDX gantries to have their own independent Z movement (a bit like the MissChanger). I was already planning to do this with the normal toolchanger option.
I could as you said reverse the 2nd gantry too - but I would like to try first having a tool gantry in a place where both Y gantries could occasionally reach. This would allow individual tools to be loaded onto any of the 4 print heads- which firstly think would look interesting in a video, but more importantly would mean the full build plate area is accessible for every filament colour.
In terms of the number of tools - I am aiming for 12 colours - so a minimum of 12 in total.
But I also want a few extra to allow some colours to be duplicated to allow them to be parallel printed.
Ultimately where I think I am aiming to get to is being able to demonstrate doing up to 12 colour prints of models faster than a single colour print of the same model on most other printers. Plus also have no waste other than a few prime towers. With the prime towers being shaped so that they can be stacked and joined to make useful objects.
The Bondtech INDX would help me particularly in keeping waste down - as before this I was expecting to have to do some single nozzle multiplexing for a few of the colours.
I've posted some stuff on the INDX discord - but Bondtech understandably seem much more interested in simpler, single head designs - Even if their prices are quite high I think I will purchase two of their extruders heads and a few Nozzles for my project in a few months,
Fitting a Duet 1lc toolboard into one of their print heads, plus a Z Lift motor outside is probably going to mess up the aesthetics of the INDX extruder toolheads quite a lot though.
I am planning to design some covers for my existing toolheads soon to make them look a bit neater - I think I might make them look a bit like the INDX!
-
@dwuk3d Where did you find the CAD files for the INDX? Annoyingly, the Discord link on https://www.bondtech.se/indx-by-bondtech/ is not valid.
Ian
-
@droftarts I have posted about the problem on the Discord and they say they will update the link with a permanent one - so hopefully it will be fixed soon.
Re the CAD - it's not to scale - I just knocked up a rough presentation of the components from a few screenshots from the video an the 3D Musketeers Podcast - so that I could play with different configurations.
-
@dwuk3d Bondtech INDX Projected costs now out - $35 per tool head. Really happy with that.
$250 for the toolhead/extruder - a bit pricey - but worth it I think for the reduced complexity the solution brings.Availability Nov25 - which is quite a while off unfortunately.
Tool change time 12 secs, with heat up only 4 secs.
Overall looks very promising.
I don't think I could justify adding 4 toolheads at that price to my system - but two I think would work quite well - one on each gantry - with the IDEX extruders on the gantries being single colour, or maybe with an MMU/Box Turtle type add-on (which wouldn't have to wait until November).
-
Might have solved the problem with my Nema8's - which seemed to work before but then stopped working.
I first thought it might be my new improved design and secondly maybe the firmware.
With the help of Physics Teacher Anthony - who reminded me that I need to lubricate the bolt - that helped a fair bit and the lifting improved - but the motor still kept stalling.
The biggest issue though was an oversight on my part re motor speed. I was just using the Dashboard controls - and I'm not sure how to control the speed.
But when I do a G1 H2 A1 F100 for example it seems to works ok - so I think I was just running the motor too fast from the dashboard in my initial tests.
If I had just connected up the end stop, and ran the proper homea.g with lower feed rates- It probably would have worked ok.
Will still investigate over engineering the lift motors a bit - but a good step forward.
-
@dwuk3d said in Sovol SV08 Multiple Motion System Upgrade.:
The biggest issue though was an oversight on my part re motor speed. I was just using the Dashboard controls - and I'm not sure how to control the speed.
You can change the feedrate in Settings > Machine-specific > Feedrate for move buttons (mm/min). However, it applies to all axis buttons, except extruder axes.
Ian
-
@droftarts Thanks will try that.
I guess I should set the maximum feedrate for the motors in the stepper configs too - however the problem with that is gravity - i.e. They can go quite a lot faster downwards than up - and for Z hopping I should use the fully available speed in both directions.
-
SV08 Double Gantry INDX option - with middle tool rack having independent Z
Tools can be moved between front and rear gantry.
Parallel Printing and Parallel tool changes
A bit messy - but probably what I might end up with -
INDX on 2 heads on both gantries - with IDEX too - using existing SOVOL heads, with option to offload both IDEX heads when not needed.
So this is making me think I will probably still do a tool changer upgrade on my printer if I complete the 4 head stage before INDX becomes available.
Some estimates of tool change/colour change times
INDX tool change is about 17 seconds in total including reheat and priming.
XL based on PrusaSlicer about 14 seconds (3 secs quicker).
Doing the same thing with Bambu Studio and an H2D - Intra Nozzle total change times seem to be estimated at 11.7 seconds (about 5.3 secs quicker). IDEX times likely to be similar
If you move all swaps to the same Nozzle then Bambu Studio estimates 76secs for a normal Multiplexing filament change.
Doing the same thing for an X1C comes out as 95 seconds per change -
An MK4 with MMU3 using the same method is estimating at 67 seconds per change.
Dual Gantry parallel INDX or Stealtchanger tool changes could be as quick as sub-second - and faster than Ratrig toolshift..
Parallel printing could then reduce single colour printing by appx 40% on dual gantry for some larger models, and by over 70% for symmetrical models on quad head printer.
-
Don't really understand what is happening with my NEMA8 motor.
It started working pretty well with the slower speeds, and I created a sort of test bed - and it lifted 500g quite happily.
Then it stopped working - it might be electronic, the motor, or my mechanical design - I might be over constraining the bolt
Lead Screw Nema11 now arrived - the lead screw is a bit long - 50mm - but will try that - with the coupler for the lead screw not too constrained if I get any trouble.
This motor is rated at 1.0A - will be interesting to see how more powerful it is.
Nema 11 installed - sticks up more than it really needs to - might chop off the lead screw, or try and source one with shorter screw - but managing to lift 500g and the extruder so far
-
Simplified Dual IDEX belt routing.
Decided it will be easier to put one 'Ratrig Hybrid' Y Axis motor above (for rear gantry) and below (for front gantry).
It will mean that the bed needs to be raised up a bit - due to the height of the bottom motor - but this will be needed eventually anyway when I move
to an occasionally moving bed.Will have to redesign the extruder carriage belt couplings so that there is room one of the belts to fit through.
I think this should work well for the front gantry in particular as the belt fix point will be very near the Y axis rail carriage.
For the rear gantry they are further away - as the fix point is at the top - so there might be a slight pendulum effect.
Setup will be mirrored on the other side - could I suppose swap the top and bottom couplings - but I guess it will be better to keep both sides of each gantry the same.
-
@dwuk3d said in Sovol SV08 Multiple Motion System Upgrade.:
Don't really understand what is happening with my NEMA8 motor.
Their internal magnets might have degraded due to overheating? I noticed the same on some NEMA14 pancakes I used to use for extruders. They survived only when I reduced their rated current by 50%.
I replaced them with brushless gimbal motors and a selfmade simpleFOC-interface and the problem was gone.Torque/weight ratio improved a lot, too.
-
@o_lampe Thanks - looks interesting - especially the gearing you have added.
I would like to investigate adding some nylon or metal gears if I can source some suitable ones.
I haven't really investigated driving normal motors from Duet - but it would be useful to be able to try something like your motors if I can control them ok with GCODE.
I switched away from servo's partly as they didn't play well with parallel gcode processing.
I'm wondering whether the type of Servo Motors that BambuLab have started using in the H2D extruder and AMS2 might be of use.
I guess the ideal solution would involve some sort of close loop feedback and temperature monitoring.
Think I will at least put some speed and reliability testing in my Macros - I think I should be able to home the ZHopper AXIS, do a few up and down movements and check the home point hasn't drifted due to missed steps.
Could also I guess use the same method to find the maximum move speeds up and down, plus also use the same method on my U & V axis with their optical end stops.
So far in my first steps my Nema11 seems to be able to handle F1000 moves up - which look pretty fast. -
Nema11 seems to be able to handle F1900 on a 1mm pitch lead screw - which is faster than I expected.
Started to get a bit warm at end of test - so probably shouldn't push it that hard - will probably limit this ZHopper to F500 or F1000
Test sequence was:
I homed A.
Then lifted it 0.2 slowly (F100)
Then lifted it at the test rate 1mm
Then lowered it slowly (F100) back to the end stop using G1 H4 - to check how far it had drifted.
Then G92 A0 - to reset end stop - and repeat.
5 times for each federate31/03/2025, 09:34:54 rate 2000 max pos 0.033 average 0.0107500 total 0.054
31/03/2025, 09:34:49 rate 1900 max pos 0.015 average 0.0075000 total 0.038
31/03/2025, 09:34:44 rate 1800 max pos 0.015 average 0.0068750 total 0.034
31/03/2025, 09:34:38 rate 1700 max pos 0.014 average 0.0044375 total 0.022
31/03/2025, 09:34:33 rate 1600 max pos 0.010 average 0.0045625 total 0.023
31/03/2025, 09:34:28 rate 1500 max pos 0.014 average 0.0034375 total 0.017
31/03/2025, 09:34:22 rate 1400 max pos 0.004 average 0.0018125 total 0.009
31/03/2025, 09:34:17 rate 1300 max pos 0.006 average 0.0039375 total 0.020
31/03/2025, 09:34:12 rate 1200 max pos 0.008 average 0.0050000 total 0.025
31/03/2025, 09:34:06 rate 1100 max pos 0.008 average 0.0030000 total 0.015
31/03/2025, 09:34:01 rate 1000 max pos 0.004 average 0.0023125 total 0.012
31/03/2025, 09:33:55 rate 900 max pos 0.002 average 0.0006250 total 0.003
31/03/2025, 09:33:50 rate 800 max pos 0.003 average 0.0023750 total 0.012
31/03/2025, 09:33:44 rate 700 max pos 0.005 average 0.0023125 total 0.012
31/03/2025, 09:33:39 rate 600 max pos 0.010 average 0.0057500 total 0.029
31/03/2025, 09:33:33 rate 500 max pos 0.002 average 0.0010000 total 0.005
31/03/2025, 09:33:27 rate 400 max pos 0.003 average 0.0013750 total 0.007
31/03/2025, 09:33:22 rate 300 max pos 0.007 average 0.0036250 total 0.018
31/03/2025, 09:33:15 M98 P"0:/macros/Speed TestA.g"
rate 200 max pos 0.014 average 0.0061875 total 0.031Test Macro
;Speed TestA.g M98 P"homeA.g" M400 G91 var maxV = 0 var totalV = 0 var count = 0 var rate = 200 while var.rate <= 2000 while iterations < 5 G1 A0.2 F100 M400 G1 A1 F{var.rate} G1 H4 A-2 F100 M400 var pos = abs(move.axes[5].machinePosition) if var.pos > var.maxV set var.maxV = var.pos set var.totalV = var.totalV + var.pos set var.count = var.count + 1 G92 A0 if var.pos > 0.1 break echo "rate",{var.rate},"max pos",{var.maxV},"average",{var.totalV}/{var.count},"total",{var.totalV} if var.maxV > 0.1 break set var.rate = var.rate + 100 set var.maxV = 0 set var.totalV = 0 set var.count = 0 Config
; Smart Drivers M569 P0.0 S1 D2 ; driver 0.0 goes forwards (Z axis) M569 P0.1 S1 D2 ; driver 0.1 goes forwards (Z axis) M569 P0.2 S0 D2 ; driver 0.2 goes backwards (Z axis) M569 P0.3 S1 D2 ; driver 0.3 goes forwards (X axis) M569 P0.4 S0 D2 ; driver 0.4 goes backwards (Y axis) M569 P1.3 S1 D2 ; driver 0.5 goes backwards (Z axis) - changed to 1.3 forwards ;M569 P1.0 S0 D3 V2000 ; driver 1.0 goes backwards (U axis) ;M569 P1.1 S0 D3 V2000 ; driver 1.1 goes backwards (V axis) M569 P1.0 S0 D2; driver 1.0 goes backwards (U axis) M569 P1.1 S0 D2 ; driver 1.1 goes backwards (V axis) M569 P1.4 S0 D2 ; Z-hopper 2 M569 P0.5 S1 D2 ; Z-hopper 1 M569 P121.0 S0 D2 ; driver 121.0 goes backwards (extruder 0) M569 P122.0 S0 D2 ; driver 122.0 goes backwards (extruder 1) ; Motor Idle Current Reduction M906 I30 ; set motor current idle factor M84 S30 ; set motor current idle timeout ; Axes M584 X0.3 Y0.4 Z0.1:0.2:0.0:1.3 U1.0 V1.1 A1.4 B0.5; set axis mapping M350 X16 Y16 Z16 U16 V16 A16 B16 I1 ; configure microstepping with interpolation M906 X800 Y800 Z800 U800 V800 A750 B150 ; set axis driver currents ; A - 1.8 degree, 0.7mm pitch - 200*16/0.7 = 4571 ; A - 1.8 degree, 1mm pitch - 200*16 = 3200 M92 X80 Y80 Z533.33 U80 V80 A3200 B629 ; configure steps per mm if exists(global.vMin) == false global vMin = 120 global vMax = 340 global yMin = -5 global yMax = 210 M208 X-5:310 Y-5:210 Z0:300 U27:350 V120:340 A0:3 B0:3 ; set minimum and maximum axis limits M566 X540 Y540 Z12 U540 V540 A300 B300 ; set maximum instantaneous speed changes (mm/min) M203 X10000 Y10000 Z720 U10000 V10000 A2000 B200 ; set maximum speeds (mm/min) M201 X10000 Y10000 Z500 U10000 V10000 A2000 B20 ; set accelerations (mm/s^2)