Yaskawa Servomotors

More
01 Aug 2014 21:28 #49402 by cwalker1960
Since the subject was already stepper/servo control I thought this might be the appropriate place to at least start this. I have used Linuxcnc in the past with a home built cnc desktop router with good results. It had 1 stepper motor for each axis and was relatively simple to set up. Now i've purchased 2 yaskawa servomotors and drives and Wow , I don't even know where to start. the drives I have take an analogue signal for speed and torque. all i've ever had to deal with was pulse and direction. I would like to use these on a supermax mill (bridgeport clone) that was previously set up for cnc. It already has ballscrews (5TPI) and belt drive with 3 to 1 reduction but the motors and controls were removed before I got it. I have all the literature for the drives and the best I can tell (from reading other posts) I will need something like the mesa 5i25 and 7i77 to run them. I'm good with that, the price is fair enough but what I don't want to do is spend the money and still not have a clue. The drives I have are yaskawa SGDL-04AS and the motors are SGML-04AF12. I'm not even positive they are large enough for a bridgeport type mill but the reading I've done seems to lead me to believe that 400 watt servos will handle the x and y axis. So what I'm asking is 1) will the motors run it sufficiently? and 2) has anybody out there used these motors and drives that is willing to hold my hand when/if i start this?

Please Log in or Create an account to join the conversation.

More
05 Aug 2014 00:53 #49499 by DaBit
Replied by DaBit on topic Stepper/Servo Control
Those drives look a lot like mine:





Mine are Omron R88D-U drives, which are rebranded Yaskawa Sigma 1 drives.

I use Mesa 6i25+7i77 hardware to run those drives.

Regarding your questions:
1) Yes for sure. 400W nominal / 1200W peak is an awful lot of power. I have not seen the motors on my mill deliver even close to nominal torque let alone peak torque.
2) If your drives are the same (or equal enough) as mine and you are willing to spend the time and learning curve involved, sure.

Do you have the cables also? If not: make them (wiring diagrams are in the manual, at least that's true for my drives)
Do you have a method to setup the drives? If not you must either get a control panel or download the SigmaWin software and make yourself a serial cable between drive and computer.

Please Log in or Create an account to join the conversation.

More
05 Aug 2014 04:13 - 05 Aug 2014 04:16 #49504 by cwalker1960
Replied by cwalker1960 on topic Stepper/Servo Control
DaBit,
Yes I do have all the cables. i even have a manual operator that I have used to run the drives and motors to test them. Your drives look exactly like mine. Are you using yours on a bridgeport conversion? Mine use the speed torque analogue signal and I know that the mesa 7i77 can deliver this although I am completely unaware as to how to set it all up. I've read some say speed mode best some say torque mode best ,, I don't have a clue what I'm doing so what i need is someone that has this setup working properly and tell me how to approach it. I can make stepper motors run just fine(but so can anyone willing to take 10 minutes to read) but I have never even attempted to operate servos. I can read a schematic and that would be huge help for starters as the yaskawa manual is very vague. Using the current pulleys, belts and ballscrews that I have, I will have 15 TPI . That's 5 turns on the screw and a 3 to 1 belt reduction. Does that sound adequate? again I do have a manual operator (it plugs into the serial port on the drive and allows you to set all parameters )that allows me to set everything up in the drive , will that work or do i need to make a serial cable?
Last edit: 05 Aug 2014 04:16 by cwalker1960. Reason: addition

Please Log in or Create an account to join the conversation.

More
05 Aug 2014 04:37 #49505 by cwalker1960
Replied by cwalker1960 on topic Stepper/Servo Control
If someone was to point me in a direction to some reading to get my head wrapped around the whole speed and torque thing I would happy to read it . I just can't get how controlling the speed even with feedback gets you where you need to be with proper timing.. I completely comprehend the step and direction approach.

Please Log in or Create an account to join the conversation.

More
05 Aug 2014 05:03 - 05 Aug 2014 05:05 #49507 by DaBit
Replied by DaBit on topic Stepper/Servo Control
My machine is a homebuilt gantry style machine using a 750W motor for the X axis and two 400W motors for the Y axes (one for each side of the gantry). The gantry is a large block of epoxy concrete, Z axis is steel, spindle motor is heavy, so the 400W motors have to move some 140-150kgs of weight. They do this through 10mm pitch ballscrews with 1:1.5 belt reduction, giving 7,5mm/rev (approx. three revs for an inch). I limited the speed to 18 meters/minute (~700ipm) since the linear scales used for secondary feedback can only do 20m/min. The motors will do more. Acceleration is set to 0,4G. Again, the motors will do much more, over 1G is possible but then the machine almost starts walking around.

All in all not exactly slow, but still those motors are picking their noses.

In your setup: motors do 3000rpm nominal (but can do more with reduced torque output when required), so with 15 turns per inch that results in a maximum speed of 200ipm. Sounds a bit slow to me, but on the other hand machines with sliding ways don't like very high speeds and the power required to move the slides increases rapidly with speed. No idea what the usual limits are for a bridgeport. So I would say it is a useable starting point. Going faster in the future is easy and cheap: replace a pulley and eventually the belt, and re-tune the servo.


I am using these drives in torque mode and use LinuxCNC to close the loop. Especially the 750W motor/drive was either very sluggish or unstable with the drive set to velocity mode control. These drives use PI control at low speeds, and P control only at high speeds. Oh well, these drives are a 20 years old design. Torque mode tuning is a bit more hairy and sensitive to the coefficients than velocity mode tuning, but it can be done. The advantage is that tuning is now completely done in LinuxCNC, which is far easier to access and provides a good (HAL-)scope to review the results.

In a nutshell I powered the 7i77 with 24V for the field I/O to match the drives 24V requirement, connected the TREF signal to the 7i77 (the REF signal is shorted to AGND and unused), the encoder outputs of the drive are also fed to the 7i77 (with the drive divisor set to 2048, giving 8192 counts/rev). Furthermore I connected the mandatory enable/alarm/etc. signals to the I/O of the 7i77. Next I increased the LinuxCNC servo thread rate to 3kHz to tighten up the control loops and used a PID controller inside LinuxCNC to control the drive. I handcrafted the confguration from scratch, no wizard was used. But I suppose you can use PnCConf to generate one if you want, although handcrafting one provides you an invaluable learning experience.

And then the tuning begins; that will take a few evenings with some swearing and some frightening moments when the loop goes out of control.
All in all it is not very difficult, but it does take a lot of time before the results are satisfactory. You do need to get familiar and comfortable with the bunch of Lego-blocks that LinuxCNC really is and the language used to connect them together (HAL).

I think I have the servo drive settings as a SigmaWin .ypm file; I could send you that (you do not need SigmaWin to upload the parameters; you can do that with the control panel also. On the other hand 2 sub-D connectors and 3 wires are cheap and a monitor+keyboard is a much more comfortable parameter-setup-interface). Same with my HAL/INI files.
I don't have a nice digital wiring diagram of my electrics, but I do have some hand written notes with dirty fingerprints on them that might be useful.
Last edit: 05 Aug 2014 05:05 by DaBit.
The following user(s) said Thank You: cwalker1960

Please Log in or Create an account to join the conversation.

More
05 Aug 2014 06:17 #49508 by cwalker1960
Replied by cwalker1960 on topic Stepper/Servo Control
DaBit,
hand written notes would be great, dirty fingerprints and all. I'm gonna need a massive amount of help inside lcnc. I guess i need to find out where to learn about the inner workings. can you post the drawings on here or you need my email?

Please Log in or Create an account to join the conversation.

More
05 Aug 2014 06:19 #49509 by cwalker1960
Replied by cwalker1960 on topic Stepper/Servo Control
if you don't mind I'll just pm you my email and if you can send me the servo drive file. and the hal file. that okay?

Please Log in or Create an account to join the conversation.

More
05 Aug 2014 14:47 #49514 by DaBit
Replied by DaBit on topic Stepper/Servo Control
Some preliminary information to keep you busy: :P









From the .YPM file

Most important settings are:

CN-01, bits A-D: these setup the drive in torque mode.
CN-13: this sets up the scale of the incoming torque command. Now it is 3 Volts for 100% torque. 9 volts will do 300% torque.
CN-14: The maximum speed you allow the motor to run at when in torque control mode. You can go up all the way to 4500rpm if you desire. I have no use for anything above 3000rpm.
CN-17: the torque filter time constant. I set this as fast as possible to tighten up the loop. If you have noise in the system you must slow this down.
CN18/CN19: during initial testing and first time running you might want to set this to a low value, 50% or so. A 400W servo motor at full peak power going out of control is a scary thing...

The rest of the parameters affect the internal speed control loops, which I disabled by selecting torque mode.


Part of the INI file that is different from a regular setup::
[EMCMOT]
SERVO_PERIOD = 			333333

Snippets of the HAL file that does the servo stuff:
..

# standard components
loadrt pid names=xservo_pid,y1servo_pid,y1scale_pid,y2servo_pid,y2scale_pid,xscale_pid,zservo_pid,zscale_pid

..

# encoder feedback, rotary 
setp hm2_[HOSTMOT2](BOARD).0.encoder.01.counter-mode 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.01.filter 1
setp hm2_[HOSTMOT2](BOARD).0.encoder.01.index-invert 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.01.index-mask 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.01.index-mask-invert 0
setp  hm2_[HOSTMOT2](BOARD).0.encoder.01.scale  [AXIS_1]INPUT_SCALE
net ypos-fb1 hm2_[HOSTMOT2](BOARD).0.encoder.01.position => y1servo_pid.feedback
net y1vel <= hm2_[HOSTMOT2](BOARD).0.encoder.01.velocity => y1servo_pid.feedback-deriv

..

# set PID loop gains from inifile
setp y1servo_pid.Pgain [AXIS_1]P
setp y1servo_pid.Igain [AXIS_1]I
setp y1servo_pid.Dgain [AXIS_1]D
setp y1servo_pid.bias [AXIS_1]BIAS
setp y1servo_pid.FF0 [AXIS_1]FF0
setp y1servo_pid.FF1 [AXIS_1]FF1
setp y1servo_pid.FF2 [AXIS_1]FF2
setp y1servo_pid.deadband [AXIS_1]DEADBAND
setp y1servo_pid.maxoutput [AXIS_1]MAX_OUTPUT
setp y1servo_pid.error-previous-target 1

..

net y1pos-corrected y1scale_sum2.out => y1servo_pid.command

setp hm2_[HOSTMOT2](BOARD).0.7i77.0.1.analogout1-scalemax [AXIS_1]OUTPUT_SCALE
setp hm2_[HOSTMOT2](BOARD).0.7i77.0.1.analogout1-maxlim [AXIS_1]OUTPUT_SCALE
setp hm2_[HOSTMOT2](BOARD).0.7i77.0.1.analogout1-minlim [AXIS_1]OUTPUT_SCALE_NEG
net y1motor-command  y1servo_pid.output  =>  hm2_[HOSTMOT2](BOARD).0.7i77.0.1.analogout1

Entire .INI file
Entire .HAL file

Please keep in mind that the mill is not finished yet and the INI/HAL files are still a work in progress.

I'll check for some of the notes when I am at home.
The following user(s) said Thank You: cwalker1960

Please Log in or Create an account to join the conversation.

More
01 Sep 2014 19:55 #50570 by BigJohnT
Replied by BigJohnT on topic Stepper/Servo Control
cwalker1960,

You sent me an email however your email on file is incorrect so my reply bounced back to me.

In any case it is always better to start a topic on here for questions like that because you will get better answers from the collective than from an individual.

Thanks
JT

Please Log in or Create an account to join the conversation.

More
10 Sep 2014 03:29 #50986 by cwalker1960
Replied by cwalker1960 on topic Stepper/Servo Control
Hey John
thanks for the response. I've since updated my email so all is good there. i agree that a lot of questions are better asked on the board to get collective answers ,, but also when you find someone that has successfully done what you are attempting to do , it's not a bad practice to follow their lead ,, at least until you figure things out enough to come up with a plan of your own... I vaguely remember the email now , but I believe it was pertaining to my plasma table.

cwalker1960,

You sent me an email however your email on file is incorrect so my reply bounced back to me.

In any case it is always better to start a topic on here for questions like that because you will get better answers from the collective than from an individual.

Thanks
JT

Please Log in or Create an account to join the conversation.

Time to create page: 0.079 seconds
Powered by Kunena Forum