On Thu, 23 Jul 2020 at 09:22, John Dammeyer <jo...@autoartisans.com> wrote:
> Not ignoring you at all. Just waiting for an idea for the math that leads to > calculating MAX_ACCELERATION in the ini file given the parameters I've > mentioned before. I think that the problem is treating the motor as an ideal torque source. It has inertia, it has inductance, it has a non-linear current-torque graph and it has back-emf. I think that the approach most likely to yield success here is a discrete time-stepping approach, starting with calculating the motor current. At any time dI/dt = (Vs - Vb) / L where Vs is supply voltage, Vb is back-emf and L is the motor inductance. We can calculate Vb from the nameplate: Vb = rated-voltage * ( actual-rpm / rated-rpm ) Start from time=0: Time (t) = 0, current (I) = 0, Vi = 180, motor speed, revs per sec(R) = 0, Vb = 0, torque (T) = 0 I += L * (Vs - Vb) dt Use the motor torque rating graph to calculate torque for the new I. Or calculate proportionally from rated torque / rated current. We now know the instantaneous torque from the motor. Part of this goes to overcome rotary inertia, part goes to overcome linear inertia. Ideally you match these (which is why servo motors come in low, medium and high inertia variants) Generally speaking, with W = speed in radians/sec (1) dW/dt = 2pi dR/dt = T/J, so we need an equivalent J (moment of inertia) for the table linear motion. for a table speed V and leadscrew pitch P (in mm or in, not tpi): (2) dR/dt = dV/dt / P Inertial force = M.dV/dt As already derived F/T = 2pi/P (https://en.wikipedia.org/wiki/Screw_(simple_machine)#Frictionless_mechanical_advantage) So M dV/dt / T = 2pi/P Substitute dV/dt (2) => M P dR/dt = 2pi T / P Re-arrange to look like (1) M P dW/dt / 2pi = 2pi T / P dW/dt = T (4 pi^2 / M P^2) => T / (M P^2 / 4 pi^2) ....... I am unhappy with this, you rarely see a pi^2 term. So now we can say that the equivalent moment of inertia of the table (Je) = M P^2 / 4pi^2 Combining motor inertia (Jm) and table inertia (Je) dW / dt = T / (Jm + Je) R += (T / 2pi(Jm + Je) ) dt ...... There is an 8 pi ^ 3 in there now, I think I got something wrong... V = PR And loop back, calculating the new Vb, the new I, new T and so on. I am confident in the physics here, less so in my algebraic manipulations, specifically the 2pi which I feel should have cancelled rather than squared somewhere. It might be better to re-work in radians/sec throughout. I am a little surprised to see P^2, but that has to be a factor. I had that cancel and re-thought (2) Consider a pitch of zero..... -- atp "A motorcycle is a bicycle with a pandemonium attachment and is designed for the especial use of mechanical geniuses, daredevils and lunatics." — George Fitch, Atlanta Constitution Newspaper, 1912 _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users