Fanuc servo drive integration

More
16 Jun 2012 04:38 #20982 by PCW
"The data rate is 1.024 MBits/second, and you get a 77-bit asynchronous stream of bits with no clock after the start bit. So, the clock rate has to be pretty well-matched to stay in sync.

Jon"

This sounds like our normal UART with the data length extended to 77 bits would work.
This UART uses a DDS started synchronously by the start bit to generate the sample clock.
This scheme has the advantage that it allows high resolution setting of high baud rates (rather than the more normal programmable divider baud rate generator that has high resolution settability only at low baud rates)

Currently this uses a 20 bit DDS so at 50 MHz and with some back of a napkin calculations, I get less then 5 % of bit cell timing error max at the last bit.

Its a bit obnoxious that it takes ~77 usec to get the data however.

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

More
16 Jun 2012 04:47 #20983 by jmelson
PCW wrote:

"The data rate is 1.024 MBits/second, and you get a 77-bit asynchronous stream of bits with no clock after the start bit. So, the clock rate has to be pretty well-matched to stay in sync.

Jon"

This sounds like our normal UART with the data length extended to 77 bits would work.
This UART uses a DDS started synchronously by the start bit to generate the sample clock.
This scheme has the advantage that it allows high resolution setting of high baud rates (rather than the more normal programmable divider baud rate generator that has high resolution settability only at low baud rates)

Currently this uses a 20 bit DDS so at 50 MHz and with some back of a napkin calculations, I get less then 5 % of bit cell timing error max at the last bit.

Its a bit obnoxious that it takes ~77 usec to get the data however.

Yes, well, that is the downside of serial encoders. The count rate can be insane, but you get large
latencies. So, the data as you receive it is where the machine was 77 us ago, and the position
updates occur every ~100 us, so timestamping to get better velocity estimates doesn't work as well.
Other than that, it is a solution to the problem of how to read position at high resolution
without excessive quadrature frequencies.

Jon

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

More
16 Jun 2012 04:51 #20984 by jmelson
andypugh wrote:

jmelson wrote:

It's not a great or preferred solution, but there is an alignment routine built in to bldc which blindly energises the poles in a particular pattern and takes note of the resulting encoder counts.

OK, that sounds quite interesting. You'd have to move the motor up to one
full turn to reach the index position,


it's not actually that complicated. The point is that all that matters for commutation is the motor magnetic positon. bldc simply takes the position with A at +V and B,C at -V as commutation angle zero (it's as good a choice as any). All the commutation inputs and outputs use this same convention internally, and it doesn't actually matter if this doesn't match the motor or drive assumptions because it all eventually cancels out.

The magnetic alignment process just wiggles the phases clockwise and anticlockwise, converging on the A+ B- C- position (an attempt to shake stiction free)

There are far cleverer ways to do it based on back-emf etc, and sensorless drives do exactly that, but AFAIK there is no way to get that data in to HAL, so it can't be used.

if anyone comes up with a scheme, I am happy to integrate it into bldc. ditto for any encoder schemes, I have already included the Fanuc 16 position commutation as both input and output modes, so for example you can (badly) translate Fanuc Gray code into Hall signals for a non-Fanuc drive. it's not a good solution, as 6 into 16 doesn't go, but it is enough to spin a motor until an index is seen and the component can start commutating sinusoidally.

Yes, this is exactly how my Fanuc encoder converter works, and the motor runs with some vibration until
it gets to the index, then it counts position from the encoder tracks.

Jon

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

More
16 Jun 2012 05:02 #20985 by jmelson
clkeck1 wrote:


The one servo motor is a model 5 part number A06b-0512-b031 and is marked "pulse coder".

I can't quite match this motor up with my data, but the B031 seems to indicate a taper
shaft (0) and a 2000 cycle/rev pulse coder (31) in their old number format.
If that is right, this has the 4 commutation signals and standard differential quadrature plus index.

Jon

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

More
16 Jun 2012 11:08 #20991 by andypugh
jmelson wrote:

If that is right, this has the 4 commutation signals and standard differential quadrature plus index.

In that case that means it will work well with the Pico-systems drive and either the hardware Fanuc converter or the bldc component, or with the Mesa drives and the bldc component.

There is some discussion on the cnczone thread between me and a chap with some Fanuc motors.
www.cnczone.com/forums/vertical_mill_lat...l-14.html#post992915

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

More
16 Jun 2012 13:46 #21000 by PCW
If its just a quadrature encoder (with commutation tracks) the next step is finding the drive interface specs or at least the correct pinout. Do you (clkeck1) have the controller part number? that might help.

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

More
16 Jun 2012 16:31 #21006 by jmelson
andypugh wrote:

jmelson wrote:

If that is right, this has the 4 commutation signals and standard differential quadrature plus index.

In that case that means it will work well with the Pico-systems drive and either the hardware Fanuc converter or the bldc component, or with the Mesa drives and the bldc component.

There is some discussion on the cnczone thread between me and a chap with some Fanuc motors.
www.cnczone.com/forums/vertical_mill_lat...l-14.html#post992915

"Al the Man" on the CNC Zone Fanuc discussion group used to be a Fanuc tech and has a treasure trove
of Fanuc docs. He has given me a lot of help in figuring out these encoders and motors so far.
He sent me some pages that cross-reference motor p[art numbers with encoder type, but the number
mentioned in this thread does not appear in that list.

Jon

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

More
16 Jun 2012 16:39 #21007 by clkeck1
I don't have the axis card number for the control because it did not come with the machine.

I ordered a fanuc manual for the drive and it should be here monday and might have a list of compatible cards.

Is there a benefit in running a 6057 "digital" setup with emc controlling the commutation and using PWM instead of using a 6050 "analog" setup and having emc just us a +-10V analog signal and letting the fanuc drive control the commutation?

I can get the 2 6050 drives for like $6-700 and sell the 6057's for $500


The spindle drive will be a separate issue as it is digital also but with my limited knowledge on the subject i believe it will not have the same commutation issues.

Thanks
Cory

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

More
16 Jun 2012 17:21 #21012 by PCW
I doubt there will be much performance difference, but I would make very sure the 6050 drives will work with your motors if you are going to change them. (and buying drives may just be opening another can-o-worms)

It may be that the 6057 drive will be easy to interface to, its just difficult to get info (so your manuals may help here)

Do you have the digital interface cables?

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

More
16 Jun 2012 22:46 #21022 by clkeck1
All the cables are still in the cases. They are just 10 pair shielded cables with 20 pin Honda connectors.

If I keep the 6057s what will I need for hardware for the 3 pwm outputs, 3 encoders, and 2 sets of fanuc inputs for commutation.

I would like to use mesa parts if possible since I am accustomed to it.

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

Moderators: cncbasher
Time to create page: 0.747 seconds
Powered by Kunena Forum