What is my motor current unders these scenarios?
-
@bearer I appreciate that it's not a common use case but I do know a few other CoreXYUV users and I can't believe their carriage masses are identical. The firmware is ever expanding and recent changes allow for just about any kinematics class using the matrix (M669, not the film) We now also have IDEX machines, tool changers and so forth and who know what other things crazy old farts like me might come up with.
Personally, I don't see why motor current can't be set on a per motor basis the same as motor direction is, rather than on a per axis basis. But I've just been put in my place for suggesting such an outrageous concept.
Pity you are in Norway - otherwise I'd ask to borrow your clamp meter
-
@deckingman said in What is my motor current unders these scenarios?:
But I've just been put in my place for suggesting such an outrageous concept.
that was certainly not my intention, i merely found your wording amusing given the ever so slightly exotic nature of your creation
-
@deckingman said in What is my motor current unders these scenarios?:
how difficult this is becoming, nor that I am the only person
If 99% of the users buy commercial printers and the remaining 1% distribute to RAMPS, exotic printer and different firmware, it is possible that you are the one unicorn out there!
-
@bearer said in What is my motor current unders these scenarios?:
@deckingman said in What is my motor current unders these scenarios?:
But I've just been put in my place for suggesting such an outrageous concept.
that was certainly not my intention, i merely found your wording amusing given the ever so slightly exotic nature of your creation
That wasn't aimed at you so please don't take offence. I didn't make the suggestion about per motor drive currents on this forum but elsewhere.
-
@JoergS5 said in What is my motor current unders these scenarios?:
@deckingman said in What is my motor current unders these scenarios?:
how difficult this is becoming, nor that I am the only person
If 99% of the users buy commercial printers and the remaining 1% distribute to RAMPS, exotic printer and different firmware, it is possible that you are the one unicorn out there!
Great! Now I can add "Unicorn" to my list of accolades which include "old fart".
-
Thought about changing my user name to "AgedFlatulentProneHornedQuadruped" but that's too many letters
-
@JoergS5 said in What is my motor current unders these scenarios?:
@deckingman said in What is my motor current unders these scenarios?:
how difficult this is becoming, nor that I am the only person
If 99% of the users buy commercial printers and the remaining 1% distribute to RAMPS, exotic printer and different firmware, it is possible that you are the one unicorn out there!
That has triggered a train of thought. The implication of what you say is that Duet users buy "standard" commercial printers and the other 1% of "exotic" printer users run Ramps or other hardware variants and different firmware.
Until now, I've only ever used Duet products right from the days of the first 06 board with it's "shield" expansion up to present day gen 3, and I've only ever used RepRap Firmware so I have no knowledge of other hardware/firmware. Do you have any recommendations as to alternative hardware/firmware which might be worthy of consideration?
-
@deckingman Klipper
-
This post is deleted! -
Being an old fart and getting senile, I did a search of previous threads where I had asked about setting motor currents, thinking that my memory must have failed me more than I realised and came across this.
https://forum.duet3d.com/topic/7131/could-there-be-a-possibility-to-set-motor-currents-per-drive
DC42s post of 3rd October 2018 15:32 is interesting. It says this quote .........
"Yes, the settings will be preserved until you send M906 again. You could also do something like this:
M584 X1:2:3
M906 X1500
M584 X1
M906 X800
M584 X1:2:3which will leave drive 1 at 800mA and drives 2 and 3 at 1500mA."....end of quote.
Which is what I thought I was doing and why I thought it was correct. But then in this thread https://forum.duet3d.com/topic/17596/m906-motor-current/8 on 16th July 2020 at 13:37 DC said quote
"Maybe I did say that; however when the motors are switched between idle hold and active mode, or when you use M913, the current will be reset to the configured value for that axis. So it's only useful for making a temporary change prior to doing some specific moves, when you know that idle hold won't kick in."...end of quote.
Which made me a bit miffed and is what lead to me starting this thread because I have no idea what my motor currents are actually set to.
I've just looked at the wiki for M906 which now states quote .....
"RepRapFirmware does not support individual motor settings where an axis has multiple motors connected to different stepper drivers. The first parameter specified will be used for all motors on the axis. You should use identical motors on any axis that has more than one motor to avoid unexpected behaviour". ...end of quote.
So it would seem that the official answer to my question is that I should replace all my lower current Nema17s with identical, higher current Nema 23s, in contradiction to all previous advice.
I guess that's one way of dealing with it, but this is one very long term user and supporter who is now seriously pi**ed off.
-
@deckingman Just in case you are still around, Iโve tried out my idea, and it seems to work! I can only test it in a simplistic way, but I donโt see why it shouldnโt work scaled up. Soโฆ
In my config.g I assign a dummy driver number to X and Y. My first (and only) โrealโ axis is defined as U and V. So driver assignments are:
M584 X5 Y6 Z2 U0 V1 E3
This is just on a Duet 2 WiFi, so drivers 5 and 6 arenโt there, but need to be defined, otherwise it defaults to driver 0 and 1.
For the kinematics, I told it to move U/V to move with X/Y, for the same X and/or Y input move, with:
M669 X1:1:0:1:1 Y1:-1:0:1:-1 Z0:0:1:0:0 U0:0:0:1:1 V0:0:0:1:-1
This shows the matrix as (I've formatted it to show the gcode input axis as rows, and shows how it affects each axis in the columns):M669 Kinematics is modified CoreXY, matrix: Motor driver: 5(X) 6(Y) 2(Z) 0(U) 1(V) (G1 input) (X) 1.00 1.00 0 1.00 1.00 (Y) 1.00 -1.00 0 1.00 -1.00 (Z) 0 0 1.00 0 0 (U) 0 0 0 1.00 1.00 (V) 0 0 0 1.00 -1.00
So a move in X eg G1 X10 causes a move in dummy motors X/Y, and real motors U/V. The X position in DWC changes, but the U position does not. A move in U cause the U/V motors to move and their position is reported in DWC, but not the X or Y position.
I also tested motor current. I set M906 X100, and G1 X10. U and V motors moved correctly, and X10 reported in DWC. I waited for idle hold and did it again, U and V motors moved correctly. I then sent M906 X1000 U100 and tried it again. U motor stalled on moving. So it would seem that the axes keep their individual motor settings this way.
This setup allows for individual โCoreโ axes homing, with each motor pair being able to have itโs own motor settings. Youโd set X/Y as the dummy axis (though there are no motors attached, so you would just set it with G92 X0 Y0), and define the other 3 Core axes pairs as U/V, A/B, C/D, which can be homed individually. From there, normal X and Y movement inputs would cause all three axis pairs to move together. Care would be needed to set accelerations and speeds to settings that all axes are capable of, though.
Ian