Re: [Emc-users] simple servo amplifier
Gentlemen, I have another question/problem. The EMC2 will not move the machine faster than 100 ipm. I have changed the max everything to high numbers and still get only 100 ipm. It seems as if the limit again is knowledge/intelligence. :) I disconnected the signal to the DAC output and set the DAC value using setp. The machine moves fast and smooth. What is limiting my EMC2 output? I will tune it again when I get the speed to where it needs to be. I timed the move. 40 inches takes 24 seconds. The machine is moving the exact velocity the touchy status shows. again - the latest file is here http://www.mpm1.com:8080/machines/enshu/enshu.ini having some fun now thanks Stuart -- dos centavos -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
On Thu, Sep 16, 2010 at 08:24:00AM -0500, Stuart Stevenson wrote: Gentlemen, I have another question/problem. The EMC2 will not move the machine faster than 100 ipm. I have changed the max everything to high numbers and still On touchy's right side is a MV button - that is max velocity, you will see it is set to 100 - poke that and turn the wheel to increase it. Wheel control over MV is my favorite tool for proofing programs. -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
OOOK - I assumed it represented 100% - I hadn't paid any attention to that. Is there a way to set a max limit or set a default? thanks :) Stuart On Thu, Sep 16, 2010 at 8:53 AM, Chris Radek ch...@timeguy.com wrote: On Thu, Sep 16, 2010 at 08:24:00AM -0500, Stuart Stevenson wrote: Gentlemen, I have another question/problem. The EMC2 will not move the machine faster than 100 ipm. I have changed the max everything to high numbers and still On touchy's right side is a MV button - that is max velocity, you will see it is set to 100 - poke that and turn the wheel to increase it. Wheel control over MV is my favorite tool for proofing programs. -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- dos centavos -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
Stuart Stevenson wrote: Gentlemen, I have another question/problem. The EMC2 will not move the machine faster than 100 ipm. I have changed the max everything to high numbers and still get only 100 ipm. It seems as if the limit again is knowledge/intelligence. Well, PID_MAX_VEL = 30, and OUTPUT_SCALE = 2.0, so if I understand this right, that sends values up to +/- 15 to the DAC. The DAC, however, cannot produce output greater than +/- 10 V, so the rest of that range will flattop at 10 V. If I'm right about these calculations, that is very undesirable. I'd change OUTPUT_SCALE to 3.0 to keep the voltage output within the +/- 10 V range. Then, you may have to re-tweak the tunings a bit, like raise PID and FFx by 50%. Jon -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
On Thu, Sep 16, 2010 at 10:14:00AM -0500, Stuart Stevenson wrote: OOOK - I assumed it represented 100% - I hadn't paid any attention to that. Is there a way to set a max limit or set a default? Currently both those features are unimplemented... It might also be nice if it were saved across sessions with the other preferences. -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
On 15 September 2010 02:50, Stuart Stevenson stus...@gmail.com wrote: Gentlemen, The servo amps on the Enshu have different accel/decel shapes. The PID.output trace has a sharp corner to it. The trace raises a little and then turns almost straight up. The decel trace is MUCH more rounded. Does this sound like an amplifier problem? Do you have braking resistors? Is it possibly just that it can suck more power out of the mains than it can dump? -- atp -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
On Wed, Sep 15, 2010 at 12:07 AM, Jon Elson el...@pico-systems.com wrote: Stuart Stevenson wrote: Gentlemen, The servo amps on the Enshu have different accel/decel shapes. The PID.output trace has a sharp corner to it. The trace raises a little and then turns almost straight up. The decel trace is MUCH more rounded. Does this sound like an amplifier problem? Not necessarily. It may just be a symptom of friction. During acceleration, the motor is not only accelerating the mass, it is also fighting the friction of the slide, both have the same mathematical sign. On deceleration, it must fight the mass of the table, which exactly mirrors the accel condition, BUT the friction is now of opposite sign, and is HELPING the deceleration. So, you can't perfectly optimize FF2 to cover both conditions. once again pictures trump words - my explanation was not correct as you will see the acce/decel look the same but the beginning and ending phases of each are not balanced and the trace is the axis following error not the PID.output - I should have said PID.error and axis following error - I had looked at the output trace so that must have been stuck in one of the holes in my head I wouldn't look at the PID.output, but just at following error, and set FF2 to balance the error of the two situations. If you have large discontinuities at the accel/decel time, then you may have to reduce acceleration in the .ini file, you may be asking for too much accel. I am thinking it would be possible to convert this Fanuc amp to a simple amp by fooling the tach feedback. This servo amp accepts the encoder feedback on two terminals and converts these two signals into a tach voltage for comparison to the velocity signal. Would it be possible to do one of two things to convert it to a simple amp with no tuning to the motor. I think the best way would be to find where the chip ouputs the matching tach voltage and connect the velocity signal voltage at that point. The amp would think the motor is following the signal perfectly and require no output adjustment. Well, I happen to think a real velocity servo amp is just about unbeatable. It does require some more tuning than some other systems, but can be expected to perform better under a wide variety of conditions. so far in my world a Fanuc servo system is about as real as you can get I don't think it is any better than what EMC can do and maybe not as good and certainly not (by me) as adjustable. I have no way of adjusting any parameters on these amps. There are some pots and jumpers. Does anyone know how to change the parameters without using a Fanuc control? Does anyone have the information explaining the jumpers and pots? I have some information about the pots but nothing about the jumpers. or I could use an ADC to accept the velocity signal and generate an encoder pulse to match what would be seen as feedback from the motor. Either way this feedback would be perfectly matched to the input. EMC2's tuning would then have complete and total control of the servo motor (axis motion) Not sure how an analog-digital converter would be used here. More likely, you'd need This Fanuc servo system has a servo amp that accepts: an analog velocity signal from the control digital signals to close the loop from the motor - an encoder on the motor sends pulses to the servo and the control The Fanuc servo motor has no tach. I propose using an ADC to convert the analog velocity signal to a pseudo encoder pulse to replace the motor feedback. I think this would remove the tuning from the servo amp as the amp would see the motor as perfectly following the velocity signal at all times. Even better would be to shunt the velocity signal directly to the tach signal the chip on the control generates. Even better would be to disable the internal tuning by shifting jumpers. Maybe (I am not sure) better would be to have a procedure to tune the amps and motors as a unit. This may be better but I don't like it as well as any of my other thoughts. a digital to analog converter to produce the simulated tach signal. But, most servo amps can be converted to torque mode, usually by pulling a jumper that bypasses the velocity error amp. But, I still feel that a velocity servo with a real tach should work well, and you need a VERY high resolution encoder to move smoothly without a tach. Maybe you could post the trace you are concerned about. pictures are here http://www.mpm1.com:8080/machines/enshu there are pictures of all three axes both positive and negative moves thanks Stuart -- dos centavos -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev
Re: [Emc-users] simple servo amplifier
I forgot to mention the files in the enshu directory with the pictures are the current files the machine is configured with. thanks Stuart -- dos centavos -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
On Wed, Sep 15, 2010 at 08:22:41AM -0500, Stuart Stevenson wrote: pictures are here http://www.mpm1.com:8080/machines/enshu there are pictures of all three axes both positive and negative moves It looks like the axes can't accelerate as fast as you are requesting. It seems like they have about half the acceleration you request. It looks like 10 or 12 instead of 20 will work (althought that seems pretty sluggish) Was this a snappy machine or was it a bit on the sluggish side? -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
On Wed, Sep 15, 2010 at 09:07:28AM -0500, Chris Radek wrote: It looks like the axes can't accelerate as fast as you are requesting. After looking at it again, this comment is wrong. The problem is that your tuning is completely wrong for velocity mode. With P only, you're commanding a velocity proportional to the position error. This is not at all what you want. Setting this up is a little tricky. Your amps probably have their gain set so that something around 9v is the rapid speed for the axis. You need to set your ppmc dac scaling so a commanded rapid velocity (in inches/second) gives this 9 volts. Looks like on ppmc, duty cycle = value / scale. So with value 8 (rapid speed from your ini) if you want duty cycle 0.9 your scale should be 8.89. Then you should set FF1 = 1 to make the pid output equal to the commanded velocity (plus or minus the adjustments that will come from P and D as you settle on a good tuning.) Once you have your scale set correctly you will get better following but there will probably be a little steady following error that is proportional to the velocity. You can adjust this by adjusting FF1, scale, or (my preference) the tach gain knob on the amp. This will fine tune that 9 volts to be your rapid speed. Everything else will fall into place then. Chris -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
Chris, I have tried all sorts of combinations of tuning. I set this to be the simplest and show what I am seeing. Nothing I have done has changed the general shape of the traces. I will see what I can do with your instructions. thanks Stuart On Wed, Sep 15, 2010 at 9:26 AM, Chris Radek ch...@timeguy.com wrote: On Wed, Sep 15, 2010 at 09:07:28AM -0500, Chris Radek wrote: It looks like the axes can't accelerate as fast as you are requesting. After looking at it again, this comment is wrong. The problem is that your tuning is completely wrong for velocity mode. With P only, you're commanding a velocity proportional to the position error. This is not at all what you want. Setting this up is a little tricky. Your amps probably have their gain set so that something around 9v is the rapid speed for the axis. You need to set your ppmc dac scaling so a commanded rapid velocity (in inches/second) gives this 9 volts. Looks like on ppmc, duty cycle = value / scale. So with value 8 (rapid speed from your ini) if you want duty cycle 0.9 your scale should be 8.89. Then you should set FF1 = 1 to make the pid output equal to the commanded velocity (plus or minus the adjustments that will come from P and D as you settle on a good tuning.) Once you have your scale set correctly you will get better following but there will probably be a little steady following error that is proportional to the velocity. You can adjust this by adjusting FF1, scale, or (my preference) the tach gain knob on the amp. This will fine tune that 9 volts to be your rapid speed. Everything else will fall into place then. Chris -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- dos centavos -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
Gentlemen, http://www.mpm1.com:8080/machines/enshu/Screenshot.png This is set up with Pgain = 10, FF1 = 1 and scale = 8.89. I have tried Pgain = 0 - got no PID output Pgain = 100 - got a little better Pgain = 300 - not much better but didn't feel as good The accel side looks much better but as I increase P I start to see sharp points and flats on the curve. I think I want to reach symmetry? How to do that? thanks Stuart -- dos centavos -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
Stuart: Didn't Cradek just do this?? ... the tach simulation with some Mesa controls on his Mori Jr mill? So your drives do not require the commutation signals that on some Fanuc systems was derrived from the encoder on the motor via the controls?? I never really fully understood the Fanuc commutation dilemma as I don't have any Fanuc equipped machines. Skyko used to sell a little converter board that would make the commutation signals for a Fanuc drive based on the rotor position that was detected by the motor encoder. I know that was an issue on some retrofits. Dave On 9/15/2010 9:22 AM, Stuart Stevenson wrote: On Wed, Sep 15, 2010 at 12:07 AM, Jon Elsonel...@pico-systems.com wrote: Stuart Stevenson wrote: Gentlemen, The servo amps on the Enshu have different accel/decel shapes. The PID.output trace has a sharp corner to it. The trace raises a little and then turns almost straight up. The decel trace is MUCH more rounded. Does this sound like an amplifier problem? Not necessarily. It may just be a symptom of friction. During acceleration, the motor is not only accelerating the mass, it is also fighting the friction of the slide, both have the same mathematical sign. On deceleration, it must fight the mass of the table, which exactly mirrors the accel condition, BUT the friction is now of opposite sign, and is HELPING the deceleration. So, you can't perfectly optimize FF2 to cover both conditions. once again pictures trump words - my explanation was not correct as you will see the acce/decel look the same but the beginning and ending phases of each are not balanced and the trace is the axis following error not the PID.output - I should have said PID.error and axis following error - I had looked at the output trace so that must have been stuck in one of the holes in my head I wouldn't look at the PID.output, but just at following error, and set FF2 to balance the error of the two situations. If you have large discontinuities at the accel/decel time, then you may have to reduce acceleration in the .ini file, you may be asking for too much accel. I am thinking it would be possible to convert this Fanuc amp to a simple amp by fooling the tach feedback. This servo amp accepts the encoder feedback on two terminals and converts these two signals into a tach voltage for comparison to the velocity signal. Would it be possible to do one of two things to convert it to a simple amp with no tuning to the motor. I think the best way would be to find where the chip ouputs the matching tach voltage and connect the velocity signal voltage at that point. The amp would think the motor is following the signal perfectly and require no output adjustment. Well, I happen to think a real velocity servo amp is just about unbeatable. It does require some more tuning than some other systems, but can be expected to perform better under a wide variety of conditions. so far in my world a Fanuc servo system is about as real as you can get I don't think it is any better than what EMC can do and maybe not as good and certainly not (by me) as adjustable. I have no way of adjusting any parameters on these amps. There are some pots and jumpers. Does anyone know how to change the parameters without using a Fanuc control? Does anyone have the information explaining the jumpers and pots? I have some information about the pots but nothing about the jumpers. or I could use an ADC to accept the velocity signal and generate an encoder pulse to match what would be seen as feedback from the motor. Either way this feedback would be perfectly matched to the input. EMC2's tuning would then have complete and total control of the servo motor (axis motion) Not sure how an analog-digital converter would be used here. More likely, you'd need This Fanuc servo system has a servo amp that accepts: an analog velocity signal from the control digital signals to close the loop from the motor - an encoder on the motor sends pulses to the servo and the control The Fanuc servo motor has no tach. I propose using an ADC to convert the analog velocity signal to a pseudo encoder pulse to replace the motor feedback. I think this would remove the tuning from the servo amp as the amp would see the motor as perfectly following the velocity signal at all times. Even better would be to shunt the velocity signal directly to the tach signal the chip on the control generates. Even better would be to disable the internal tuning by shifting jumpers. Maybe (I am not sure) better would be to have a procedure to tune the amps and motors as a unit. This may be better but I don't like it as well as any of my other thoughts. a digital to analog converter to produce the simulated tach
Re: [Emc-users] simple servo amplifier
Stuart, From your .ini file : MAX_VELOCITY = 12 or 15 inches/second? That is 720 or 900 IPM. Can the machine really do that? You don't show pid.0.output, it would be useful to see if the PID output is saturating. (It probably is.) I think Chris is right, the servo, at least set up the way it is, is not able to deliver such acceleration. 20 inch/second^2 sounds like a lot of accel to me, but then I'm not that familiar with high-end machines. There may be an option that changes the current limit of the servo amps in different modes, like turns up the permitted torque/current limit after homing is complete. You might check the motor current when the servo is accelerating to see if it is at the rated peak current for the motor. Jon -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
On Wed, Sep 15, 2010 at 12:24 PM, Dave e...@dc9.tzo.com wrote: Stuart: Didn't Cradek just do this?? ... the tach simulation with some Mesa controls on his Mori Jr mill? So your drives do not require the commutation signals that on some Fanuc systems was derrived from the encoder on the motor via the controls?? these drives do derive the tach signal from an encoder on the motor I never really fully understood the Fanuc commutation dilemma as I don't have any Fanuc equipped machines. Skyko used to sell a little converter board that would make the commutation signals for a Fanuc drive based on the rotor position that was detected by the motor encoder. I know that was an issue on some retrofits. Dave On 9/15/2010 9:22 AM, Stuart Stevenson wrote: On Wed, Sep 15, 2010 at 12:07 AM, Jon Elsonel...@pico-systems.com wrote: Stuart Stevenson wrote: Gentlemen, The servo amps on the Enshu have different accel/decel shapes. The PID.output trace has a sharp corner to it. The trace raises a little and then turns almost straight up. The decel trace is MUCH more rounded. Does this sound like an amplifier problem? Not necessarily. It may just be a symptom of friction. During acceleration, the motor is not only accelerating the mass, it is also fighting the friction of the slide, both have the same mathematical sign. On deceleration, it must fight the mass of the table, which exactly mirrors the accel condition, BUT the friction is now of opposite sign, and is HELPING the deceleration. So, you can't perfectly optimize FF2 to cover both conditions. once again pictures trump words - my explanation was not correct as you will see the acce/decel look the same but the beginning and ending phases of each are not balanced and the trace is the axis following error not the PID.output - I should have said PID.error and axis following error - I had looked at the output trace so that must have been stuck in one of the holes in my head I wouldn't look at the PID.output, but just at following error, and set FF2 to balance the error of the two situations. If you have large discontinuities at the accel/decel time, then you may have to reduce acceleration in the .ini file, you may be asking for too much accel. I am thinking it would be possible to convert this Fanuc amp to a simple amp by fooling the tach feedback. This servo amp accepts the encoder feedback on two terminals and converts these two signals into a tach voltage for comparison to the velocity signal. Would it be possible to do one of two things to convert it to a simple amp with no tuning to the motor. I think the best way would be to find where the chip ouputs the matching tach voltage and connect the velocity signal voltage at that point. The amp would think the motor is following the signal perfectly and require no output adjustment. Well, I happen to think a real velocity servo amp is just about unbeatable. It does require some more tuning than some other systems, but can be expected to perform better under a wide variety of conditions. so far in my world a Fanuc servo system is about as real as you can get I don't think it is any better than what EMC can do and maybe not as good and certainly not (by me) as adjustable. I have no way of adjusting any parameters on these amps. There are some pots and jumpers. Does anyone know how to change the parameters without using a Fanuc control? Does anyone have the information explaining the jumpers and pots? I have some information about the pots but nothing about the jumpers. or I could use an ADC to accept the velocity signal and generate an encoder pulse to match what would be seen as feedback from the motor. Either way this feedback would be perfectly matched to the input. EMC2's tuning would then have complete and total control of the servo motor (axis motion) Not sure how an analog-digital converter would be used here. More likely, you'd need This Fanuc servo system has a servo amp that accepts: an analog velocity signal from the control digital signals to close the loop from the motor - an encoder on the motor sends pulses to the servo and the control The Fanuc servo motor has no tach. I propose using an ADC to convert the analog velocity signal to a pseudo encoder pulse to replace the motor feedback. I think this would remove the tuning from the servo amp as the amp would see the motor as perfectly following the velocity signal at all times. Even better would be to shunt the velocity signal directly to the tach signal the chip on the control generates. Even better would be to disable the internal tuning by shifting jumpers. Maybe (I am not sure) better would be to have a procedure to tune the amps and motors as a unit. This may be better but
Re: [Emc-users] simple servo amplifier
the max velocity for the latest scope picture is 8 and the DAC scale is 8.89 the machine was moving at 400 ipm with the original control 8 is the result of many attempts up/down to cause a difference in the feedback I just happened to stop with 8 as the number. This would be 480 ipm. I don't necessarily expect the machine to do this but it should be capable of doing VERY close to 480 ipm. On Wed, Sep 15, 2010 at 12:31 PM, Jon Elson el...@pico-systems.com wrote: Stuart, From your .ini file : MAX_VELOCITY = 12 or 15 inches/second? That is 720 or 900 IPM. Can the machine really do that? You don't show pid.0.output, it would be useful to see if the PID output is saturating. (It probably is.) I think Chris is right, the servo, at least set up the way it is, is not able to deliver such acceleration. 20 inch/second^2 sounds like a lot of accel to me, but then I'm not that familiar with high-end machines. There may be an option that changes the current limit of the servo amps in different modes, like turns up the permitted torque/current limit after homing is complete. You might check the motor current when the servo is accelerating to see if it is at the rated peak current for the motor. Jon -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- dos centavos -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
On Wed, Sep 15, 2010 at 12:16:40PM -0500, Stuart Stevenson wrote: Gentlemen, http://www.mpm1.com:8080/machines/enshu/Screenshot.png This is set up with Pgain = 10, FF1 = 1 and scale = 8.89. I have tried Pgain = 0 - got no PID output Pgain = 100 - got a little better Pgain = 300 - not much better but didn't feel as good The accel side looks much better but as I increase P I start to see sharp points and flats on the curve. I think I want to reach symmetry? How to do that? thanks Stuart It doesn't look at all right to me. Unless the machine was very sluggish originally, the accel you are getting here seems really low. Could you update the ini and hal files online? The ini still says OUTPUT_SCALE 1.0 - is that the one you changed to 8.89? In this screenshot the axis starts decelerating halfway through your 1 move, which is about when EMC thinks it's already at the endpoint. Something is still grossly wrong with dac/pid scaling/maxoutput or amp settings; you're not yet into the realm of where tweaks to tuning numbers will fix it. Can you put a voltmeter on the amp's velocity input and see if you're getting near 10v when you command a rapid? If you have it set the way I suggested, and all is working right, you should see about 9 volts. If it's 0.9 or some other number, you've got a smoking gun. I think it should be working a LOT better than this. -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
Hi Stuart, Do you have some part numbers for these drives? - Original Message - From: Stuart Stevenson stus...@gmail.com To: Enhanced Machine Controller (EMC) emc-users@lists.sourceforge.net Sent: Wednesday, September 15, 2010 3:22 PM Subject: Re: [Emc-users] simple servo amplifier On Wed, Sep 15, 2010 at 12:07 AM, Jon Elson el...@pico-systems.com wrote: Stuart Stevenson wrote: Gentlemen, The servo amps on the Enshu have different accel/decel shapes. The PID.output trace has a sharp corner to it. The trace raises a little and then turns almost straight up. The decel trace is MUCH more rounded. Does this sound like an amplifier problem? Not necessarily. It may just be a symptom of friction. During acceleration, the motor is not only accelerating the mass, it is also fighting the friction of the slide, both have the same mathematical sign. On deceleration, it must fight the mass of the table, which exactly mirrors the accel condition, BUT the friction is now of opposite sign, and is HELPING the deceleration. So, you can't perfectly optimize FF2 to cover both conditions. once again pictures trump words - my explanation was not correct as you will see the acce/decel look the same but the beginning and ending phases of each are not balanced and the trace is the axis following error not the PID.output - I should have said PID.error and axis following error - I had looked at the output trace so that must have been stuck in one of the holes in my head I wouldn't look at the PID.output, but just at following error, and set FF2 to balance the error of the two situations. If you have large discontinuities at the accel/decel time, then you may have to reduce acceleration in the .ini file, you may be asking for too much accel. I am thinking it would be possible to convert this Fanuc amp to a simple amp by fooling the tach feedback. This servo amp accepts the encoder feedback on two terminals and converts these two signals into a tach voltage for comparison to the velocity signal. Would it be possible to do one of two things to convert it to a simple amp with no tuning to the motor. I think the best way would be to find where the chip ouputs the matching tach voltage and connect the velocity signal voltage at that point. The amp would think the motor is following the signal perfectly and require no output adjustment. Well, I happen to think a real velocity servo amp is just about unbeatable. It does require some more tuning than some other systems, but can be expected to perform better under a wide variety of conditions. so far in my world a Fanuc servo system is about as real as you can get I don't think it is any better than what EMC can do and maybe not as good and certainly not (by me) as adjustable. I have no way of adjusting any parameters on these amps. There are some pots and jumpers. Does anyone know how to change the parameters without using a Fanuc control? Does anyone have the information explaining the jumpers and pots? I have some information about the pots but nothing about the jumpers. or I could use an ADC to accept the velocity signal and generate an encoder pulse to match what would be seen as feedback from the motor. Either way this feedback would be perfectly matched to the input. EMC2's tuning would then have complete and total control of the servo motor (axis motion) Not sure how an analog-digital converter would be used here. More likely, you'd need This Fanuc servo system has a servo amp that accepts: an analog velocity signal from the control digital signals to close the loop from the motor - an encoder on the motor sends pulses to the servo and the control The Fanuc servo motor has no tach. I propose using an ADC to convert the analog velocity signal to a pseudo encoder pulse to replace the motor feedback. I think this would remove the tuning from the servo amp as the amp would see the motor as perfectly following the velocity signal at all times. Even better would be to shunt the velocity signal directly to the tach signal the chip on the control generates. Even better would be to disable the internal tuning by shifting jumpers. Maybe (I am not sure) better would be to have a procedure to tune the amps and motors as a unit. This may be better but I don't like it as well as any of my other thoughts. a digital to analog converter to produce the simulated tach signal. But, most servo amps can be converted to torque mode, usually by pulling a jumper that bypasses the velocity error amp. But, I still feel that a velocity servo with a real tach should work well, and you need a VERY high resolution encoder to move smoothly without a tach. Maybe you could post the trace you are concerned about. pictures are here http://www.mpm1.com:8080/machines/enshu there are pictures of all three axes both positive
Re: [Emc-users] simple servo amplifier
On Wed, Sep 15, 2010 at 1:53 PM, Chris Radek ch...@timeguy.com wrote: On Wed, Sep 15, 2010 at 12:16:40PM -0500, Stuart Stevenson wrote: Gentlemen, http://www.mpm1.com:8080/machines/enshu/Screenshot.png This is set up with Pgain = 10, FF1 = 1 and scale = 8.89. I have tried Pgain = 0 - got no PID output Pgain = 100 - got a little better Pgain = 300 - not much better but didn't feel as good The accel side looks much better but as I increase P I start to see sharp points and flats on the curve. I think I want to reach symmetry? How to do that? thanks Stuart It doesn't look at all right to me. Unless the machine was very sluggish originally, the accel you are getting here seems really low. Could you update the ini and hal files online? The ini still says OUTPUT_SCALE 1.0 - is that the one you changed to 8.89? will do - should be there within 5 minutes In this screenshot the axis starts decelerating halfway through your 1 move, which is about when EMC thinks it's already at the endpoint. Something is still grossly wrong with dac/pid scaling/maxoutput or amp settings; you're not yet into the realm of where tweaks to tuning numbers will fix it. Can you put a voltmeter on the amp's velocity input and see if you're getting near 10v when you command a rapid? If you have it set the way I suggested, and all is working right, you should see about 9 volts. just got back from lunch - this is the very next thing I will do If it's 0.9 or some other number, you've got a smoking gun. I think it should be working a LOT better than this. -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- dos centavos -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
On Wed, Sep 15, 2010 at 2:08 PM, Belli Button be...@iafrica.com wrote: Hi Stuart, Do you have some part numbers for these drives? p/n's are in this file http://www.mpm1.com:8080/machines/enshu/enshu.txt -- dos centavos -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
On Wed, Sep 15, 2010 at 12:42:55PM -0500, Jon Elson wrote: The PPMC driver takes a +/- 1.0 value and multiplies it by 10 to give a +/- 10 V output range. Are you sure? I was looking at the pwmgen code earlier instead of the dac code (not sure how these differ) and I *think* pwmgen full scale value at the hal input pin is +-1 and dac full scale value at the hal input pin is +-10. I think this means the scale I suggested is off by a factor of 10 (should have been 0.889 instead of 8.89). Here's the relevant code from the ppmc driver: volts = *(pg-value) / pg-scale; dc = (long) (((volts / 10.0) * 0x7FFF)+0x8000); Confusingly, I think we have PPMC: output in volts = value / scale Hostmot2: output in volts = 10 * (value / scale) STG: output in volts = (value - offset) * scale VTI: output in volts = (value - offset) * scale Motenc: output in volts = (value - offset) * scale (yay, I guess a few of them match) HAL Canonical analog output: output in volts = scale * value + offset or maybe the documentation means this (not sure): output in volts = scale * (value + offset) (HAL docs are from the time machine): http://www.linuxcnc.org/docs/2.1/html/hal/general_ref/index.html -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
Hi, I checked the DAC output - it was .889 - I changed the scale from 8.89 to .889 - the response was back to just like before. The config files to match this picture are available The latest picture is; http://www.mpm1.com:8080/machines/enshu/Screenshot-1.png thanks Stuart -- dos centavos -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
On Wed, Sep 15, 2010 at 03:32:31PM -0500, Stuart Stevenson wrote: Hi, I checked the DAC output - it was .889 - I changed the scale from 8.89 to .889 - the response was back to just like before. The config files to match this picture are available The latest picture is; http://www.mpm1.com:8080/machines/enshu/Screenshot-1.png Now THAT looks like something you can work with! Chris -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
On Wed, Sep 15, 2010 at 04:08:31PM -0500, Chris Radek wrote: On Wed, Sep 15, 2010 at 03:32:31PM -0500, Stuart Stevenson wrote: Hi, I checked the DAC output - it was .889 - I changed the scale from 8.89 to .889 - the response was back to just like before. The config files to match this picture are available The latest picture is; http://www.mpm1.com:8080/machines/enshu/Screenshot-1.png I notice one thing - you've got steady state negative error while stopped before the move, and steady positive error afterward. It looks like you are trying to correct this with I gain. I have found that doesn't work very well in velocity mode. Instead you might try leaving I at zero. If there's steady state error while stopped, try eliminating it with the offset adjustment on the amp. On the prefs tab, put touchy's DRO in feedback mode and in MDI command a move to a round number like G0 X1. Then adjust the offset on the amp until the DRO says 1.. In fact if you put touchy's DRO in mm/feedback you'll get three decimal places which will show you precisely every count on your micron-scale encoders and you can set it for 25.400. See if this gives you better results than I gain. It might make your ferror even flatter. Looks like you already have really good results. (why is your scale set weird? the screws can't be off that far can they? that's .002 per inch!) Chris -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
On Wed, Sep 15, 2010 at 5:34 PM, Chris Radek ch...@timeguy.com wrote: On Wed, Sep 15, 2010 at 04:08:31PM -0500, Chris Radek wrote: On Wed, Sep 15, 2010 at 03:32:31PM -0500, Stuart Stevenson wrote: Hi, I checked the DAC output - it was .889 - I changed the scale from 8.89 to .889 - the response was back to just like before. The config files to match this picture are available The latest picture is; http://www.mpm1.com:8080/machines/enshu/Screenshot-1.png I notice one thing - you've got steady state negative error while stopped before the move, and steady positive error afterward. It looks like you are trying to correct this with I gain. I have found that doesn't work very well in velocity mode. Instead you might try leaving I at zero. If there's steady state error while stopped, try eliminating it with the offset adjustment on the amp. On the prefs tab, put touchy's DRO in feedback mode and in MDI command a move to a round number like G0 X1. Then adjust the offset on the amp until the DRO says 1.. In fact if you put touchy's DRO in mm/feedback you'll get three decimal places which will show you precisely every count on your micron-scale encoders and you can set it for 25.400. I will try that. See if this gives you better results than I gain. It might make your ferror even flatter. Looks like you already have really good results. (why is your scale set weird? the screws can't be off that far can they? that's .002 per inch!) this is the count needed to correct the motion with a 1 inch dial indicator after tuning I will use the laser tracker to do a fine adjust and maybe lead screw comp I have noticed zero backlash in the screws so far thanks Stuart -- dos centavos -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
Stuart Stevenson wrote: Hi, I checked the DAC output - it was .889 - I changed the scale from 8.89 to .889 - the response was back to just like before. The config files to match this picture are available The latest picture is; http://www.mpm1.com:8080/machines/enshu/Screenshot-1.png OK, that is a servo response, what you had before was very close to an open-loop system! What did you do? I know that OUTPUT_SCALE = 8.89 was totally wrong, but the difference between 1.0 and 0.889 is not a big change, you must have done something else, maybe turn up P? Jon -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
The tuning numbers are in http://www.mpm1.com:8080/machines/enshu/enshu.ini as you will see the FF1 number is close to 1 I started with FF1 = 1 and P = 10 I still think I would get a better tune if I cancelled the tuning in the servo amp. Then my tuning numbers would make sense as I would not be tuning to control a tuned system. On Wed, Sep 15, 2010 at 10:07 PM, Jon Elson el...@pico-systems.com wrote: Stuart Stevenson wrote: Hi, I checked the DAC output - it was .889 - I changed the scale from 8.89 to .889 - the response was back to just like before. The config files to match this picture are available The latest picture is; http://www.mpm1.com:8080/machines/enshu/Screenshot-1.png OK, that is a servo response, what you had before was very close to an open-loop system! What did you do? I know that OUTPUT_SCALE = 8.89 was totally wrong, but the difference between 1.0 and 0.889 is not a big change, you must have done something else, maybe turn up P? Jon -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- dos centavos -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
Chris Radek wrote: On Wed, Sep 15, 2010 at 12:42:55PM -0500, Jon Elson wrote: The PPMC driver takes a +/- 1.0 value and multiplies it by 10 to give a +/- 10 V output range. Are you sure? I was looking at the pwmgen code earlier instead of the dac code (not sure how these differ) Well, quite a lot, in some regards. and I *think* pwmgen full scale value at the hal input pin is +-1 and dac full scale value at the hal input pin is +-10. Yes, probably all historical, (or is that hysterical), and it looks like you are right. Might be a big problem to change it now, maybe better to just document the discrepancies. I think this means the scale I suggested is off by a factor of 10 (should have been 0.889 instead of 8.89). Here's the relevant code from the ppmc driver: volts = *(pg-value) / pg-scale; dc = (long) (((volts / 10.0) * 0x7FFF)+0x8000); Confusingly, I think we have PPMC: output in volts = value / scale Hostmot2: output in volts = 10 * (value / scale) STG: output in volts = (value - offset) * scale So, basically, it follows the STG code, which was the only analog servo driver when the PPMC was developed. So, it is perfectly consistent with that. Now, if you use the OUTPUT_SCALE of 0.889, and PID is limited to +/- 1.0 as the maximum range, it will limit the DAC output to +/-1.12 V. Is this reasoning right? The limit of the PID output is set by parameter pid.n.maxoutput which is set (in my sample files) by ini parameter PID_MAXVEL, not a really accurate description. I have it set to 12.0, which also looks wrong! Ah, but so you need to set the pid.n.maxoutput to 10.0 if you want to get 10 V out of the DAC, or you can set pid.n.maxoutput to 1.0 and then set OUTPUT_SCALE to 0.1 Hmmm, neither of these is totally self-explanatory, is it? Documenting some of this crap would help, though. I am painfully aware that compared to some of the other documentation on hal drivers, the PPMC is AWFULLY terse. You must know this as you are using the source IS the documentation. Jon -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
On Wed, Sep 15, 2010 at 10:21:03PM -0500, Jon Elson wrote: Now, if you use the OUTPUT_SCALE of 0.889, and PID is limited to +/- 1.0 as the maximum range, it will limit the DAC output to +/-1.12 V. Is this reasoning right? Yes I think so. That's why Stuart S has his pid maxoutput set to 8, which is the same as the machine's maxvel. That lets pid units be real world units inches/sec. It turns out he could have used scales of 1 all the way through and set his amp gains so 1 volt = 1 inch/sec and his numbers would have been really simple. But in general that's not going to work well unless you happen to have an 8 or 9 inch/sec machine. Mine is about that speed too, and I *did* adjust the amps so the dacs are 1v = 1ips. I have an OUTPUT_SCALE of 10 (because of the mesa full scale being +-1 instead of +-10 at the hal pin). I have pid maxoutput of 10. My tunings are P=300 D=2 FF1=1 and the fine adjustment of tach gain and dac offset were just done with the amp knobs. I have excellent response and following with acceleration at 35. The limit of the PID output is set by parameter pid.n.maxoutput which is set (in my sample files) by ini parameter PID_MAXVEL, not a really accurate description. I have it set to 12.0, which also looks wrong! Yeah I wondered in his case whether it should be set to some number slightly higher than the machine maxvel for some headroom. Or maybe to whatever number allows up to 10 at the dac. Maybe a separate setting is better for that reason. It's tempting to leave it unset (unlimited) to give people one less number to worry about, but you can get integrator windup forever then. Ah, but so you need to set the pid.n.maxoutput to 10.0 if you want to get 10 V out of the DAC, or you can set pid.n.maxoutput to 1.0 and then set OUTPUT_SCALE to 0.1 Hmmm, neither of these is totally self-explanatory, is it? Documenting some of this crap would help, though. I am painfully aware that compared to some of the other documentation on hal drivers, the PPMC is AWFULLY terse. It would be nice to have good documentation for how a velocity mode setup should work. I have gone through it with several people - I don't think it's written anywhere. People think they are overly complicated, but dang they give unbeatable results once they're set up. If you start with a tuned working velocity loop like Stuart S has on his running machine, you can't go wrong. You must know this as you are using the source IS the documentation. Yep, you're not kidding. Chris -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
Stuart Stevenson wrote: The tuning numbers are in http://www.mpm1.com:8080/machines/enshu/enshu.ini as you will see the FF1 number is close to 1 I started with FF1 = 1 and P = 10 I still think I would get a better tune if I cancelled the tuning in the servo amp. Then my tuning numbers would make sense as I would not be tuning to control a tuned system. Hmmm, well, maybe. Yes, trying to set up a positioning loop outside one of those digital autotune servo amps can become complicated by the servo amp's own tuning. On the other hand, some of those fancy servo amps can deliver totally amazing performance. Jon -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
Chris Radek wrote: Yes I think so. That's why Stuart S has his pid maxoutput set to 8, which is the same as the machine's maxvel. That lets pid units be real world units inches/sec. Yes, this way of setting it up is starting to make sense (after only 10 years of making everything conform to 10 V as the nominal engineering unit). It turns out he could have used scales of 1 all the way through and set his amp gains so 1 volt = 1 inch/sec and his numbers would have been really simple. But in general that's not going to work well unless you happen to have an 8 or 9 inch/sec machine. Mine is about that speed too, and I *did* adjust the amps so the dacs are 1v = 1ips. I have an OUTPUT_SCALE of 10 (because of the mesa full scale being +-1 instead of +-10 at the hal pin). I have pid maxoutput of 10. My tunings are P=300 D=2 FF1=1 and the fine adjustment of tach gain and dac offset were just done with the amp knobs. I have excellent response and following with acceleration at 35. Nice! I think my servo amps (and motors) are way too wimpy, but I'm envious of that acceleration. The limit of the PID output is set by parameter pid.n.maxoutput which is set (in my sample files) by ini parameter PID_MAXVEL, not a really accurate description. I have it set to 12.0, which also looks wrong! Yeah I wondered in his case whether it should be set to some number slightly higher than the machine maxvel for some headroom. Or maybe to whatever number allows up to 10 at the dac. Maybe a separate setting is better for that reason. Yes, if the PID output ever maxes out, it does really horrible things to loop stability. You get integral windup as well as just going open-loop for a moment. The recovery is very abrupt and discontinuous. It's tempting to leave it unset (unlimited) to give people one less number to worry about, but you can get integrator windup forever then. Exactly. It would be nice to have good documentation for how a velocity mode setup should work. I have gone through it with several people - I don't think it's written anywhere. People think they are overly complicated, but dang they give unbeatable results once they're set up. If you start with a tuned working velocity loop like Stuart S has on his running machine, you can't go wrong. Yes, I've been trying to tell Igor this for some time. I guess he's never SEEN a properly-tuned velocity servo. Sometimes in my shop I'd demo this by shutting off the EMC positioning loop and trying to deflect the servo. It was amazing how well the velocity loop would resist outside forces. You must know this as you are using the source IS the documentation. Yep, you're not kidding. Well, I really do intend to add some documentation to the PPMC driver, but I'm up to my eyeballs now in nuclear gear manufacturing, and that pays a lot better than the EMC stuff. I could do a new Wiki tuning page that specifically goes over velocity servos, and use my Bridgeport as the test case. It is only a bit atypical. I had no IDEA what bandwidth was appropriate, and was starting with some class-D audio amp designs, so ended up putting WAY too much bandwidth in them, they start to roll off at 1 KHz. Testing with a signal generator, they gave good response out to 10 KHz, using the motors as speakers. Also, the whole axis drive system on my Bridgeport conversion is too weak, it is adapted from an Excellon PC board drilling machine, which moved a small aluminum table on air bearing sliders. So, I keep the acceleration at 3 inch/sec^2 to keep from snapping timing belts. Still, I think it could produce representative scope traces of the likely situations and what to do to fix each symptom. Most of what I have on my tuning page now is reasonably apropos, although not an analytical approach. Voltage amps roughly simulate a sloppy velocity servo. Jon -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] simple servo amplifier
Stuart Stevenson wrote: Gentlemen, The servo amps on the Enshu have different accel/decel shapes. The PID.output trace has a sharp corner to it. The trace raises a little and then turns almost straight up. The decel trace is MUCH more rounded. Does this sound like an amplifier problem? Not necessarily. It may just be a symptom of friction. During acceleration, the motor is not only accelerating the mass, it is also fighting the friction of the slide, both have the same mathematical sign. On deceleration, it must fight the mass of the table, which exactly mirrors the accel condition, BUT the friction is now of opposite sign, and is HELPING the deceleration. So, you can't perfectly optimize FF2 to cover both conditions. I wouldn't look at the PID.output, but just at following error, and set FF2 to balance the error of the two situations. If you have large discontinuities at the accel/decel time, then you may have to reduce acceleration in the .ini file, you may be asking for too much accel. I am thinking it would be possible to convert this Fanuc amp to a simple amp by fooling the tach feedback. This servo amp accepts the encoder feedback on two terminals and converts these two signals into a tach voltage for comparison to the velocity signal. Would it be possible to do one of two things to convert it to a simple amp with no tuning to the motor. I think the best way would be to find where the chip ouputs the matching tach voltage and connect the velocity signal voltage at that point. The amp would think the motor is following the signal perfectly and require no output adjustment. Well, I happen to think a real velocity servo amp is just about unbeatable. It does require some more tuning than some other systems, but can be expected to perform better under a wide variety of conditions. or I could use an ADC to accept the velocity signal and generate an encoder pulse to match what would be seen as feedback from the motor. Either way this feedback would be perfectly matched to the input. EMC2's tuning would then have complete and total control of the servo motor (axis motion) Not sure how an analog-digital converter would be used here. More likely, you'd need a digital to analog converter to produce the simulated tach signal. But, most servo amps can be converted to torque mode, usually by pulling a jumper that bypasses the velocity error amp. But, I still feel that a velocity servo with a real tach should work well, and you need a VERY high resolution encoder to move smoothly without a tach. Maybe you could post the trace you are concerned about. Jon -- Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users