![]() | |
| Home Page | Mark Forums Read | Today's Posts | My Replies | Classifieds | Reviews | Photo Gallery | Web Links | Share Files | Advertise With Us | Ad List |
| |||||||
| General Electronics Discussion Discuss basic electronics, power supplies and anything else electronic related here. |
| This forum is sponsored by: |
![]() |
| | LinkBack | Thread Tools | Search this Thread | Display Modes |
|
#1
| |||
| |||
| Dear Community, I am trying to identify the motor parameters of a NEMA23 stepping motor. All I know according to the manufacturer is: motor: HT23 - High-torque NEMA 23 size stepper motor coil impedance: 1 ohms coil inductance: 1.6 mH coil current: 3 amps coil voltage: 3 volts step angle: 1.8 degrees For my mathematical model, I do need more parameters, as known the basic mathematical equations of a stepper contain: Km - the motor constant J - the motor inertia B - viscous friction I would like to know if somebody knows how to identify or evaluate these parameters. So far I measured the step response of the stepper (one step) and tried to approximate the parameters with least square. When using the least squares method the algorithm always gets stuck on a parameter set, which approximates the function very bad. It doesn't respect the oscillating after making the step, just approximates the first overshoot and afterwards returns to the average value of the oscillation. It would be great if somebody would be able to help me. Thanks a lot in advance. fabsch |
|
#2
| |||
| |||
| I don't know what motor constant means, but the other factors can be 'evaluated' easily.... inertia... thier are a couple of methods for this, one requires pulling the rotor out and weighing it. but the easier way... -lock the motor with X amount volts in either half step or full step. place a string around the axle and tie a wieght to it. -when you start adding more wieghts, and finally the motor loses step... you can calculate the holding torque of the motor, from thier it's just a matter of transposing some formulas to get your impulse/inertia equations and values, for the specified current. (of course this changes depending on your power supply.... so some guestimation is involved (higher revs = more power = less torque) viscous friction... I presume this is the amount of friction the motor loses due to rotation (a total aerodynamic amount due to rotor rotation?) -could be measured by rotating the motor with a drill, and measuring the current being used by the drill to rotate the stepper at high rev (you'll need a descent high rev drill) -from thier you can calculate your work functions, for TOTAL friction at the specified rev. (if you take multilple readings at different revs, you should be able to calculate the 'Viscisutiy' too) --hope this helps... -guessing is easier though. ,,must be a hell of an algortihm.... are you getting the algorithm to guess where the stepper will stop? -without feedback/encoding? --I would love to know how you go, I too am looking to do 'better stepping' via logic and current control , but I have noticed that it has already been done before, just on a smaller scale (cdrom drives for example), and medical instrument motor (Faulhaber for example) already have very complex logic drives to get super accuracy out of otherwise inncaurate mechanical motors, of course the motors are matched to the controller in all those cases. |
|
#3
| ||||
| ||||
K is an spring constant. This spring is not a real spring. This is a imaginary magnetic spring between the rotor and stator teeth. J and K produce second order vibrating sistem. You see this vibration at the following photo Last edited by bunalmis; 05-17-2007 at 03:23 AM. |
|
#4
| |||
| |||
| Hello erlyrisa and bunalmis, thank you for your answer: @erlyrisa: the problem is that the motor is fixed in another mechanical system, and is not that easy to remove. So I thought there might be a way to calculate Km (as in M=Km*i) and afterwards have it easier identifying the other two system dependent parameters. I might try the torque measurement. @bunalmis: This is exactly what I am looking for. I do have the oscillation as shown in your pics. I do have the second order system and want to determine the parameters J and K. Do you have any clue how to evaluate those. The direct approach over least-squares is not working for me. Has somebody done that already and knows in what aspects I do have to be careful, or what I might have been doing wrong when approaching the oscillation with least squares??? Is there another way of identifying the parameters? |
|
#5
| ||||
| ||||
| @fabsch This problem is clasical spring-mass-friction problem. J, K and B are unknown parameters of our stepper motor. Response of the second order mechanical systems for the impuls signal is same as my picture My suggestion here. -Use high resolution position sensor for the motor shaft. -Give torque impulse to motor. (Give current pulse) -(In the real time) Take periodical position samples and store it in the digital media. Now you have numerical test results and you can draw the graphics of this data. Second order system response is M e^(-at)sin(wt+b) for the impuls signal. (M and b can neglegtable and you can scale) Now problem is "which a,b and w parameters give same graphics"? You can solve this problem by computer. a, b and w parameters are function of the J,K,B. If you know the abw you know the JKB. (Sory for my English.) |
| Sponsored Links |
|
#6
| |||
| |||
| The motor constant, Km, is a modeling number used for servo motors. Steppers are not modelled like servos. There are 2 separate pole sets to model a stepper. The second order spring-mass resonant pole pair that was mentioned before, and the L/R electrical pole from the electrical characteristics of the motor. You can emperically derive the resonant pair from scope traces. I don't remember all the equations, and my undergrad books are packed, but I do remember all you need to derive a model is step overshoot and damped natural frequency. You get both from that trace. I found a link that looks like it has all the equations from mithttp://web.mit.edu/2.151/www/Handout...econdOrder.pdf:
__________________ Steve DO SOMETHING, EVEN IF IT'S WRONG! |
|
#7
| |||
| |||
| hi bunalmis, hi Madclicker, thanks for your response. @bunalmis: This is exactly what I thought and tried. The problem right now is:
@Madclicker: Is it not possible to drive the stepper like a servo, and therefore the Km has to be also somehow included in the steppers properties... but in what way. I do have three equations 2 electrical - i_a and i_b (on two phases) 1 mechanical - the mechanical equation of motion 2nd order In those equations, obtained from a few papers (IEEE), Km is used. Do you remember how you adjusted the parameters to the measured step response? |
|
#8
| |||
| |||
| I'm no stepper motor expert by any means, but I have been doing research into the system models. I am sure that the system model for an armature controlled DC motor is much different than a conventional stepper. For one thing, a DC motor is modelled as a second order system, and a stepper is a 3rd order system. The second order model for a DC motor includes no resonant pole...in fact one of the poles is a pure integrator at the origin (s-plane) and is the reason a servo has no steady state velocity error to a step input. From everything I've been able to find, a stepper has a 3rd order transfer function. There is the L/R single electrical pole and a resonant 2nd order mechanical pole pair. The electrical pole is what rolls off torque with speed. The mechanical resonant pair is what causes the MBR problem. To model a resonant pole pair all you need is 3 parameters: 1. The damping factor 2. The natural frequency 3. The open loop system gain As I said before I don't have access to my undergrad texts. I have to move again soon, and just can't drag them out. I used to be able to derive these equations in my sleep, but that was a while ago. I do remember that you can get the damping factor from just the PO (percent overshoot). I got this from wiki: In control theory, the percentage overshoot is the maximum value minus the step value divided by the step value. In the case of the unit step, the overshoot is just the maximum value of the step response minus one. For a 2nd-order system, step input, the approximate PO=-ln(damping ratio). A better approximation is PO=-0.044-0.33757*ln(damping ratio). I don't know if it's right or not. They didn't explain squat. I don't trust wiki defs much. I do know that for a very lightly damped system like a stepper, the damped natural frequency is a good approximation for the undamped natural frequency. This paper says the damping factor is about .03, which is very low. Stepper Dynamics This is a very interesting problem; Wish I had more time to devote.
__________________ Steve DO SOMETHING, EVEN IF IT'S WRONG! |
|
#9
| ||||
| ||||
| @fabsch ?
But if we accept stepper motor is linear system and if we neglect the R/L pole we can thing only J, K and B. Following program will give an idea for you. (You remember we have experimental test result.) err=0: old_err=1E6: n=1: m=1 for J=0 to Jmax step .01 for K=0 to Kmax step .01 for B=0 to Bmax step .01 p=math_model() ' impuls responce of mathematical model y=storaged_data[n] ' (You must select a good windows for experimentel results) err=err+ abs(p-y) ' Integral of absolute value of error n=n+1 next B if err<=old_err then JJ[m]=J KK[m]=K BB[m]=B m=m+1 old_err=err endif err=0 n=0 next K next J for i=1 to m print JJ[m], KK[m], BB[m] ; print best values. next m Computer try all posibble JKB values and find the best values. Suggested method is too bad mathematical method. But it work. (Program may work few hours or one days for selected Jmax, Kmax, Bmax) |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | Search this Thread |
| Display Modes | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| stepper motor | joey1117 | CNCzone Club House | 4 | 02-24-2007 06:59 AM |
| servos motor controled by stepper motor driver? | mike10 | Servo Motors and Drives | 1 | 01-03-2005 05:05 PM |
| Which stepper motor should I buy | Graham S | FAQ of CNC Machine building | 0 | 08-27-2004 05:58 AM |
| stepper wiring and parameters | Ferenczyg | General Electronics Discussion | 13 | 04-12-2004 12:14 PM |
| stepper motor help | muzleldr | General Electronics Discussion | 7 | 06-10-2003 02:15 PM |