Hello Guest it is February 25, 2021, 05:58:53 AM

Author Topic: Delta servo and uc 300 5 lpt motion controller.  (Read 4113 times)

0 Members and 1 Guest are viewing this topic.

Re: Delta servo and uc 300 5 lpt motion controller.
« Reply #10 on: December 15, 2017, 12:23:39 PM »
Hi,
well, that's a different kettle of fish altogether.

You need position mode. Forget velocity and torque mode, they don't provide positional motion.

With the exception of the extra enable, fault and fault reset wires the servo drive behaves and is wired the same as a stepper drive.

Craig
My wife left with my best friend...
     and I miss him!
Re: Delta servo and uc 300 5 lpt motion controller.
« Reply #11 on: December 15, 2017, 01:20:27 PM »
Hi,
as a preliminary matter there are a couple of things to think about and decide. The drive manual does not tell me the number of pulses the encoder will produce.
I'm going to assume it has a 2500 line (ppr) encoder for 10,000 counts per revolution. 10,000 count per rev is now the entry level standard for differential encoders
while 17bit seems the standard for absolute encoders.

If your servos are capable of 3000 rpm (50 rev/sec) then the encoder will count 50 x 10,000=500k per second. To get maximum resolution would require Mach,
your UC300 and BoB to produce pulses at 500kHz. The specs for the drive input alone say that open collector the input speed max is 200kHz so you will require
differential signalling, ie using two wires rather than just one. This is certainly possible but will markedly increase the difficulty of getting your machine to work.
Sensible decisions about speed and resolution will bring the pulse rate back to 200kHz, ie open collector, and be very much easier to get to work.

You need to decide what you think is a reasonable maximum axis speed which will determine the max rpm of the servo. While it is nice to have full resolution ie
10000 steps per rev, ie 2.6 arc min/step, with a 5mm pitch ballscrew that results in a linear resolution of 0.5um, very good indeed. Can you really use this very
fine resolution, unless you have a hundred thousand dollar plus machine then the answer is probably not. If you decided that a 0.005 mm (5um) resolution is
adequate then the calculation starts to look a lot more achievable.

If you wish to have max speed, ie 3000 rpm (50 rev/sec) at a resolution of 1000 count per rev the numbers are: 50 x1000 =50kHz, easy! In fact you could increase the
resolution and still be comfortably within the open collector limit. Say resolution of 2.5 um, ie 2000 count per rev with a 5mm pitch ballscrew:
50 x 2000 =100kHz. This would be a good compromise.

You may ask how you can vary the resolution of the servo, surely that is fixed by the encoder? That is what 'electronic gearing' is provided for. It allows you to program
your drive so that one step pulse can mean one or more encoder pulses, very convenient and very very crafty, it allows you to use a servo with a built in encoder
to behave as if it had a different encoder fitted if you were replacing an existing device for instance.

Can you post some of the numbers that relate to your machine, ballscrew pitch etc and the specs of the servo you've got, speed and encoder count?

Craig
My wife left with my best friend...
     and I miss him!

Offline ger21

*
  • *
  •  6,288 6,288
    • View Profile
    • The CNC Woodworker
Re: Delta servo and uc 300 5 lpt motion controller.
« Reply #12 on: December 15, 2017, 02:16:50 PM »
The USB UC300 has a max pulse rate of 200Khz. The UC300ETH goes up to 400Khz.
I use the UC300ETH, with a UB1 breakout board, which has differential step/dir.
Gerry

2010 Screenset
http://www.thecncwoodworker.com/2010.html

JointCAM Dovetail and Box Joint software
http://www.g-forcecnc.com/jointcam.html
Re: Delta servo and uc 300 5 lpt motion controller.
« Reply #13 on: December 15, 2017, 02:34:51 PM »
Hi ger21,
I have an ESS which is supposedly good to 4MHz! I suspect that this really only of significance as an input, who tries to signal to a servo drive
at 4Mhz?. I found it entirely enough of a battle to differentially signal my Allen Bradley servo at 480kHz let alone MHz. Even then I realised that I was
trying to achieve best possible resolution which is far far better than I could ever use and so made a rational decision about resolution and got back to
open collector signalling rates.

Natural inclination is 'I'm going to build this sucker to go at max speed with max resolution at max power' and then realise its just not possible or practical.
Rational decisions can reduce those hurdles to manageable.

Craig
My wife left with my best friend...
     and I miss him!

Offline ger21

*
  • *
  •  6,288 6,288
    • View Profile
    • The CNC Woodworker
Re: Delta servo and uc 300 5 lpt motion controller.
« Reply #14 on: December 15, 2017, 02:45:19 PM »
I recently ran into an issue with a Leadshine AM882 drive.
I was just doing some testing with a single stepper motor on a test bed.

The drive has a max input of 200Khz. When I set the UC300ETH at 200Khz, the drive wouldn't see the pulses correctly when the pulse rate went over ~130Khz. But with the UC300ETH set to 400Khz, I was able to send pulses right near the 200Khz limit of the drive.
I was spinning the motor over 3000RPM with 1/16 microstepping.
Gerry

2010 Screenset
http://www.thecncwoodworker.com/2010.html

JointCAM Dovetail and Box Joint software
http://www.g-forcecnc.com/jointcam.html
Re: Delta servo and uc 300 5 lpt motion controller.
« Reply #15 on: December 15, 2017, 02:54:20 PM »
Hi ger21,
whoops, I try to stay comfortably within the specs for this reason.

Do you have a scope? Would be nice to see the waveform at max speed, could it be input capacitance of the drive dragging the output of the BoB down
or is the BoB output just not plain fast enough?

Craig
My wife left with my best friend...
     and I miss him!

Offline ger21

*
  • *
  •  6,288 6,288
    • View Profile
    • The CNC Woodworker
Re: Delta servo and uc 300 5 lpt motion controller.
« Reply #16 on: December 15, 2017, 03:10:35 PM »
No, I don't have a scope, or even know how to use one. :)

Since I won't be running the motor anywhere near the speeds I was testing at, I'm not too concerned about it.

It's not the breakout board. I'm using a UB1, which is based on the MB2, that was designed to work with the ESS. It's an excellent, high quality breakout board.

When I get a chance, I'll wire up the DMM servo I have and do some more testing at high pulse rates.
Gerry

2010 Screenset
http://www.thecncwoodworker.com/2010.html

JointCAM Dovetail and Box Joint software
http://www.g-forcecnc.com/jointcam.html
Re: Delta servo and uc 300 5 lpt motion controller.
« Reply #17 on: December 15, 2017, 10:47:19 PM »
Hi,
Thanks Craig and Gerry for the quick help,
As per my servo specs,it has a 17 bit incremental encoder and it's 3000rpm and 2.4nm torque. My ball screw is 32mm dia 5mm pitch and I plan to have 2:1 reduction.
A 2.5 microns resolution is perfect for me cuz it's a conventional lathe and I don't intend to use it at full 3000rpm,cuz with reduction it will automatically be half of full rpm.thats fine for me.
  My drive manual says it can accept frequencies of max 200khz with open collector and 500khz with line driver.
I will definitely go with open collector to reduce the complications.
So, how to hook up signals coming from uc300 and Bob to drive.
Do I need some additional driver circuitry for open collector (I.e from mach3 to uc300 to Bob and in between Bob and drive do I need to put any driver).
Or I can directly feed the signal from uc300/Bob to the pulse/sign input of the drive?

Regards
Jeetesh

 

Re: Delta servo and uc 300 5 lpt motion controller.
« Reply #18 on: December 15, 2017, 10:52:55 PM »
Or even a resolution of 5 microns is even fine for me.
Re: Delta servo and uc 300 5 lpt motion controller.
« Reply #19 on: December 16, 2017, 12:28:26 AM »
Hi,
I think that if your servo has a 17 bit encoder then it will be absolute and if memory serves it has a resolution of 131,072 counts per rev.

Lets work backwards and say that for simplicities sake you wish to keep the pulse rate to 100kHz. I imagine you'll still wish your servos to achieve max speed,
ie 50 rev/sec. Therefore the resolution is limited to:
100,000 / 50 =2000 counts per rev.

The electronic gear ratio is 131072/2000= 65.536   If you read the manual the gear ratio can be selected with two numbers, a numerator and a denominator.
Both numerator and denominator have to be integer and less than 65536. The exact ratio could be achieved by selecting numerator as 65536 and denominator
as 1000.

Just as a matter of interest with a 2:1 reduction and your servos having 2000 count per rev resolution your linear resolution would be:
5 (mm/rev) / (2 (gear reduction) * 2000 (servo count per rev)) = 1.25um, pretty damn good. Your Steps Per, that you would put in the motor tuning
would be 800 step/mm. If the servos reach their max speed the axis velocity in the motor tuning page would be 7500 mm/min, there again that's great
speed for a hobbyist machine.

I imagine you'll have a breakout board between the UC300 and the servo drive. Unless you bought an absolute dog any breakout board should do 100kHz
in a canter. ger21's recommendation, a UB1 sounds good.
There should be no extra circuitry required between the BoB and the drive. Probably a good idea to use a shielded cable and don't make the cable
any longer than it need be. Microphone cable would be a good idea, its beautifully flexible and shielded to preserve low level signals, two wires plus the shield.
That would cover your Step and Direction signals.

As I posted earlier you will need some extra wires, they will not be high speed signalling wires. One will be a Mach output from the UC300/BoB to the drive
to enable it. There will be one wire from the drive to a digital input on your BoB/UC300 to Mach to flag a fault. The last wire will be an output from Mach
to rest the fault condition. Note this last wire could probably go to the fault reset input of both servo drives.

You'll need to program your drive. I see in the manual that Delta produce software to allow you to easily program you drive. Do you have it? My Allen Bradley
servo can only be programmed this way, and its very very good. It has a database of all the servo motor models with all the limiting values, physical, thermal
and electrical characteristics and makes choosing and defining parameters for your application easy.  Delta drives can also be programmed with the digital
keypad, tedious but doable.

The essential parameters to set are that you wish to use step/direction position control. You need to set the electronic gearing numbers. There will also be the
limiting values, things like max speed, max current, overload duration and others. Hopefully Delta's setup software will provide all of those.
You will need to assign the digital inputs, your enable and fault reset signals and one digital output, drive fault signal.

Most servo drives, I haven't read the manual closely enough yet, allow you to hook limit switches direct to the drive. As you know it is common in Mach to hook
limit switches to your BoB/UC300 to signal Mach and Mach shuts down as a result of a over limit excursion. With a servo drive you can, within limits, program
what you want to happen. The limit switches would be hooked direct to the drive and would stop the servo from exceeding the limit  and would prevent any jogging
which would take the axis further out of bounds. It will if you wish signal Mach on an output of your designation of the condition. It could trigger some automatic
response like rehoming as well. I've not heard any argument that suggests that hooking limits to the drive offers any compelling advantage over hooking the limits
to Mach. As I'm using my servo as a spindle I've not had to worry about it. My suggestion would be to hook your limits to Mach in the normal way to start with.
If a reason comes up to change that strategy do it then. Keeping it simple to start with is probably the way to go.

You may have noticed in the manual that you can directly jog a drive by using two inputs per your designation and those inputs could be hooked to physical buttons
via your UC300/BoB. Likewise you can program a number of positions that can be selected by reading a number of digital inputs of your designation. In short the
servo drive has many more options than is required for your lathe but could be a great deal of use in huge printing press for instance which could have hundreds
of servos for any number of tasks. That those options exist does not mean you have to use them but could be useful to you at a future time.

Craig
My wife left with my best friend...
     and I miss him!