Step pulse limit
-
I think I' may have reached some sort of limit (at leastuntil gen 3 comes out) but just wanted to check.
I'm doing some high speed testing and have come across a strange phenomenon. All runs fine in CoreXYUV mode. That is to say when printing I have two motors mapped to X and two motors mapped to Y and I'm running 3 extruders. With this configuration I can reach very high speeds. However, if I then try to use the additional force cancelling gantry, that is to say have 3 motors mapped to X and 3 motors mapped to Y, I get severe under extrusion at speeds in excess of 120mm/sec. XY motion appears to be OK. But, I am running 128X micro stepping on the extruders but only 16X on the XY motors which might explain why the extruders are affected rather than the XY motors?
It is consistent and repeatable. That is to say, with the additional gantry enabled, I always get the problem, and with it disabled, I never get the problem.
M122 as follows:
M122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 2.01(RTOS) running on Duet Ethernet 1.0 or 1.01 + DueX5
Board ID: 08DAM-999TL-MQ4S8-6J9FA-3SJ6K-95B7W
Used output buffers: 3 of 20 (18 max)
=== RTOS ===
Static ram: 28476
Dynamic ram: 96972 of which 0 recycled
Exception stack ram used: 508
Never used ram: 5116
Tasks: NETWORK(ready,400) HEAT(blocked,1192) MAIN(running,3808)
Owned mutexes:
=== Platform ===
Last reset 00:16:35 ago, cause: reset button or watchdog
Last software reset at 2018-10-11 09:30, reason: User, spinning module GCodes, available RAM 5116 bytes (slot 0)
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
Error status: 0
Free file entries: 9
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest block write time: 0.0ms, max retries 0
MCU temperature: min 30.7, current 31.0, max 34.9
Supply voltage: min 24.1, current 24.3, max 24.7, under voltage events: 0, over voltage events: 0
Driver 0: ok, SG min/max 0/336
Driver 1: ok, SG min/max 0/297
Driver 2: standstill, SG min/max 0/1023
Driver 3: ok, SG min/max 0/283
Driver 4: ok, SG min/max 0/290
Driver 5: ok, SG min/max 0/1023
Driver 6: ok, SG min/max 0/325
Driver 7: ok, SG min/max 0/1023
Driver 8: ok, SG min/max 0/125
Driver 9: ok, SG min/max 0/319
Expansion motor(s) stall indication: yes
Date/time: 2018-10-11 09:47:22
Slowest loop: 104.53ms; fastest: 0.07ms
=== Move ===
Hiccups: 3, StepErrors: 0, LaErrors: 0, FreeDm: 105, MinFreeDm: 90, MaxWait: 65787ms, Underruns: 0, 0
Scheduled moves: 3182, completed moves: 3152
Bed compensation in use: none
Bed probe heights: 0.000 0.000 0.000 0.000 0.000
=== Heat ===
Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1
Heater 0 is on, I-accum = 0.0
Heater 1 is on, I-accum = 0.8
=== GCodes ===
Segments left: 1
Stack records: 2 allocated, 0 in use
Movement lock held by null
http is idle in state(s) 0
telnet is idle in state(s) 0
file is doing "G1 X123.277 Y181.980 E0.18184" in state(s) 0
serial is idle in state(s) 0
aux is idle in state(s) 0
daemon is idle in state(s) 0
queue is idle in state(s) 0
autopause is idle in state(s) 0
Code queue is empty.
=== Network ===
Slowest loop: 26.24ms; fastest: 0.02ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
HTTP sessions: 1 of 8
Interface state: 5
=== Expansion ===
DueX I2C errors 0 -
Maybe a current limit issue?
-
@brunofporto said in Step pulse limit:
Maybe a current limit issue?
Voltage looks fine - min 24.1 and no under voltage events
There are 3 "Hiccups" which are a bit concerning though.......
-
That's odd. The code is designed so that adding additional motor drivers on an axis shouldn't increase the processor load at all.
If you are reaching step pulse generation limits, I would expect the hiccup count to grow much faster.
-
@dc42 Yes it is odd. Also, I ran M122 2 or 3 times while it was misbehaving and only once saw those 3 "Hiccups" - the other times there were no hiccups at all.
I'm just wondering if it is in fact a power supply issue, even though Vin is reported as 24.1 min and there are no under voltage events.
I'm only running a 200W psu. The 3 extruders are all connected to the DueX 5. along with the 2 XY motors for the upper gantry. Whilst the upper gantry was performing as expected, those are bigger motors running at 1800 mA. The extruder motors are smaller at run at 600mA.
So, is it possible that if the psu was struggling, the smaller extruder motors, running a lower current would suffer, whilst the larger motors with higher current might not? Also, is it possible that the voltage could drop on the Duex5 but not be reported by M122, say because it's downstream of the measurement point?
The Duex5 to Duet power connection is as per the wiki (short thick wires about 20mm long) and I've checked that all the screws are tight and everything is secure.
-
Check the connection from the PSU or Duet to the +VIN terminal of the X5. You can wire the +VIN terminal of the X5 to the PSU if it helps; it's only the ground side of the X5 VIN connection that must be a short connection to the Duet.
-
@dc42 said in Step pulse limit:
Check the connection from the PSU or Duet to the +VIN terminal of the X5. You can wire the +VIN terminal of the X5 to the PSU if it helps; it's only the ground side of the X5 VIN connection that must be a short connection to the Duet.
Thanks David but TBH, I don't want to spend any more time on this gantry. Whilst it does a very good job of stabilising the printer, there is nothing wrong with the prints that get produced with it disabled, and the entire printer shaking about. Even very tall objects produced at extreme speeds. I can't believe that a printer can shake about so much and still produce really remarkably good prints, but the evidence is sitting in front of me. Much as it pains me, I have to admit that this has been a somewhat expensive and time consuming but fruitless exercise. My own fault - I should have done some proper testing first.
Oh well, as they say in Yorkshire "If tha's never made a mistake, tha's never made owt".
I've disconnect the steppers and put the printer back to CoreXYUV 5 colour configuration. I'll likely just remove the gantry in it's entirety. If I get chance, I'll maybe run some more high speed tests is this configuration and measure the voltage as you suggest, just to see if there is any difference even though everything will likely work fine.
-
@deckingman said in Step pulse limit:
I can't believe that a printer can shake about so much and still produce really remarkably good prints, but the evidence is sitting in front of me.
I believe that, in the end, your floor is an excellent damping system!
-
@brunofporto said in Step pulse limit:
@deckingman said in Step pulse limit:
I can't believe that a printer can shake about so much and still produce really remarkably good prints, but the evidence is sitting in front of me.
I believe that, in the end, your floor is an excellent damping system!
Maybe you are right! I guess the printer frame must be pretty rigid with no flex and also there can't be any flex in the coupling of the print bed to the linear rails fixed to the frame. But, I should have tested first by doing high speed prints of tall objects. I fell into the trap of finding a solution to a problem that doesn't exist and should have known better. Especially as I have in the past berated others for doing exactly that.
-
@deckingman well you have demonstrated that a moving mass damping system as you designed it works really well. this may be very useful to others that do not have quite as rigid a frame!
-
@t3p3tony Thanks Tony. Yes it does indeed work very well - just a shame that the prints come out so well without it. I'm working on another blog post and video and have included footage of just how badly the printer can be made to shake, yet at the same time, just how good the prints turn out - completely defies logic.
I might leave it in place for now and play with it at some later date. If nothing else, it might make a good talking point or demonstration at some show or other - perhaps TCT next year?
BTW, where have the emoticons gone?
-
If you imagine a printer floating in space, would it hurt anything to have the frame move opposite the carriages due to reaction forces? No, in fact, it may improve print quality, because the frame movement achieves some of the necessary displacement for the carriage. If you imagine a simple system like a camera slider with a point carriage mass moving along a line / rail of equal mass, the carriage and rail will each take half the displacement from a given move... and thus the drivetrain experiences half the internal force it would if the rail were rigidly fixed to an inertial reference frame.
(I find this kind of a complex concept to describe, let me know if that doesnβt make any sense.)
The issue with frame/table shaking comes from the XY motion coupling through to the Z stage, say via cantilever bouncing or internal frame flex. If you have a really good structural loop from the nozzle to the build plate, itβs BETTER for the frame to shake. That lets the frame soak up and damp off momentum changes from the XY motion.
-
@rcarlyle Yes I understand all that. What amazes me though is that the mass I throw around is about 4kgs and that can be 700 mm or so above the build plate. I was expecting to see some sort of flex in the frame, or some difference in the coupling of the XY gantry to the frame compared to the coupling of the build plate (which weighs around 8 Kg) to the frame. Yet everything moves in perfect synchronisation and harmony. I guess I must have designed and built the printer right, so I'll take some solace in that.
-
@deckingman said in Step pulse limit:
BTW, where have the emoticons gone?
Good question. They upgraded to being huge and annoying so i though i manged to reset them back to small. now they have gone completely from the menu..
-
@deckingman
back!
-