Re: [Emc-users] Motorman Robot with absolute Yaskawa encoders

2019-03-29 Thread Roland Jollivet
On Mon, 9 Sep 2013 at 14:48, Rudy du Preez  wrote:

> I am busy converting a Motorman 6-axis robot to Linuxcnc. The original
> Yaskawa motors and servo drives are used. The motors are all fitted with
> absolute encoders. The encoders have ..
>

Hi Rudy

I know this is a while back, but did you get your robot working?

Roland

___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Motorman Robot with absolute Yaskawa encoders

2013-09-10 Thread Rudy du Preez
I now realize that the A phase cannot go through the counter in the firmware
of the 6i25+7i77 setup and then read serial data.

Would it be easier to use a 5i20 + 7i33 combination. Then modify the
firmware so under some control input bit the A phase is first passed through
by-passing the counter, so that bit-banging can be done for the first 8
bytes to get the absolute offset.

Another way suggested by Marius is to use a differential multiplexer on the
encoder line before it gets to the 7i77, then first pass the A phase to a
gpio input and then switch to the encoder input.

Any more ideas?

Rudy


--
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=5127iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Motorman Robot with absolute Yaskawa encoders

2013-09-10 Thread Peter C. Wallace
On Tue, 10 Sep 2013, Rudy du Preez wrote:

 Date: Tue, 10 Sep 2013 19:50:53 +0200
 From: Rudy du Preez r...@asmsa.co.za
 Reply-To: Enhanced Machine Controller (EMC)
 emc-users@lists.sourceforge.net
 To: emc-users@lists.sourceforge.net
 Subject: Re: [Emc-users] Motorman Robot with absolute Yaskawa encoders
 
 I now realize that the A phase cannot go through the counter in the firmware
 of the 6i25+7i77 setup and then read serial data.

Well... Thats not entirely true, the muxed data serial can be recovered just 
like the muxed encoder data is. 9600 baud is so slow that the muliplexing will 
cause minimal distortion (it will be sampled at 4 MHz so something like 400 
samples/bit time)

So _it is_ possible to have a dual use pin, though its a fair hack to the 
firmware (adding the multifunction UARX/Counter pin and arranging it to get 
wired correctly) and HM2 driver (supporting that new pin type)

If you had free differential input pins (7I74 on P2 etc) it might make more 
sense to simply connect the A/'A pins to the second differential input that 
connects to a UART.

Other options are using the PC's serial or USB/serial with 422 adapters since 
the absolute position is only read once and need not be read real time


 Would it be easier to use a 5i20 + 7i33 combination. Then modify the
 firmware so under some control input bit the A phase is first passed through
 by-passing the counter, so that bit-banging can be done for the first 8
 bytes to get the absolute offset.

 Another way suggested by Marius is to use a differential multiplexer on the
 encoder line before it gets to the 7i77, then first pass the A phase to a
 gpio input and then switch to the encoder input.

 Any more ideas?

 Rudy


 --
 How ServiceNow helps IT people transform IT departments:
 1. Consolidate legacy IT systems to a single system of record for IT
 2. Standardize and globalize service processes across IT
 3. Implement zero-touch automation to replace manual, redundant tasks
 http://pubads.g.doubleclick.net/gampad/clk?id=5127iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


Peter Wallace
Mesa Electronics

(\__/)
(='.'=) This is Bunny. Copy and paste bunny into your
()_() signature to help him gain world domination.


--
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=5127iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Motorman Robot with absolute Yaskawa encoders

2013-09-10 Thread andy pugh
On 10 September 2013 21:09, Greg Bentzinger skullwo...@yahoo.com wrote:

 Remember this serial input will be needed for every joint/servo drive.

 That is several serial channels if they need to be read all at once. Otherwise
 you will need some form of switching unit to feed each channel as you 
 'home/read home'.

If you enable the encoders in sequence then they would fill the UART in order.
One possibility might be to connect each encoder to the preceding amp-enable:

So, GPIO-0 enables encoder 0, when encoder 0 is inited then amp-enable
0 is set high.
Amp-enable 0 enables encoder 1…
amp-enable 1 enables encoder 2...

-- 
atp
If you can't fix it, you don't own it.
http://www.ifixit.com/Manifesto

--
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=5127iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Motorman Robot with absolute Yaskawa encoders

2013-09-10 Thread Stephen Dubovsky
Run physical signal to two pins?  Encoder  gpio.  Encoder wont care about
extra twiddling at start (and you're going to reset its counter anyway).
Gpio (uart) doesn't care if you ignore its output later.

SMD


On Tue, Sep 10, 2013 at 1:50 PM, Rudy du Preez r...@asmsa.co.za wrote:

 I now realize that the A phase cannot go through the counter in the
 firmware
 of the 6i25+7i77 setup and then read serial data.

 Would it be easier to use a 5i20 + 7i33 combination. Then modify the
 firmware so under some control input bit the A phase is first passed
 through
 by-passing the counter, so that bit-banging can be done for the first 8
 bytes to get the absolute offset.

 Another way suggested by Marius is to use a differential multiplexer on the
 encoder line before it gets to the 7i77, then first pass the A phase to a
 gpio input and then switch to the encoder input.

 Any more ideas?

 Rudy



 --
 How ServiceNow helps IT people transform IT departments:
 1. Consolidate legacy IT systems to a single system of record for IT
 2. Standardize and globalize service processes across IT
 3. Implement zero-touch automation to replace manual, redundant tasks
 http://pubads.g.doubleclick.net/gampad/clk?id=5127iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users

--
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=5127iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Motorman Robot with absolute Yaskawa encoders

2013-09-10 Thread Greg Bentzinger
Quote: Peter C. Wallace p...@mesanet.com

snip -
 
Well... Thats not entirely true, the muxed data serial can be recovered just 
like the muxed encoder data is. 9600 baud is so slow that the muliplexing will 
cause minimal distortion (it will be sampled at 4 MHz so something like 400 
samples/bit time)

So _it is_ possible to have a dual use pin, though its a fair hack to the 
firmware (adding the multifunction UARX/Counter pin and arranging it to get 
wired correctly) and HM2 driver (supporting that new pin type)

If you had free differential input pins (7I74 on P2 etc) it might make more 
sense to simply connect the A/'A pins to the second differential input that 
connects to a UART.

Other options are using the PC's serial or USB/serial with 422 adapters since 
the absolute position is only read once and need not be read real time

end quote:
 
Remember this serial input will be needed for every joint/servo drive.
 
That is several serial channels if they need to be read all at once. Otherwise 
you will need some form of switching unit to feed each channel as you 
'home/read home'.

--
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=5127iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Motorman Robot with absolute Yaskawa encoders

2013-09-09 Thread Rudy du Preez
I am busy converting a Motorman 6-axis robot to Linuxcnc. The original
Yaskawa motors and servo drives are used. The motors are all fitted with
absolute encoders. The encoders have differential A and B pulse trains, but
the A channel is used in the beginning to send 8 bytes of serial data plus
some incremental pulses to establish the absolute positions of the axes when
activating the robot after a start-up. The 8 bytes give P(+ or -)X(CR)
with M=X the number of full turns of the motor from the home position.
The next incremental pulses (Po) give the number of counts of a partial
turn. So if R is the number of counts/rev, the position in counts is M*R +
Po. After this short burst of serial data and pulses the encoder behaves
like a normal incremental encoder.

I have set up one motor on a bench and have tuned the PID for it. I have to
reset the encoder count to zero before I carry on after the initialization,
ie. I currently ignore the initial serial data and pulses, but of course
like to use this data to have absolute encoding functional.

A component seems necessary to read the serial data and count the initial
pulses to set the initial offset. Has anybody perhaps prepared such a
component. I have looked at the lsrio16.comp and could probably make
something similar work for me. The tricky part for me would be to get the
right clock speed to synchronize with the serial data speed of 9600 baud.

I am using a Mesa 6i26 + 7i77 interface system.

Rudy


--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58041391iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Motorman Robot with absolute Yaskawa encoders

2013-09-09 Thread andy pugh
On 9 September 2013 13:28, Rudy du Preez r...@asmsa.co.za wrote:
 The encoders have differential A and B pulse trains, but
 the A channel is used in the beginning to send 8 bytes of serial data plus
 some incremental pulses to establish the absolute positions of the axes when
 activating the robot after a start-up. The 8 bytes give P(+ or -)X(CR)
 with M=X the number of full turns of the motor from the home position.
 The next incremental pulses (Po) give the number of counts of a partial
 turn.

As it is all on channel A then the Mesa encoder counter won't see the
serial data as counts, which is good.

I think that the encoder channels pass-through to the FPGA card, so
are visible as GPIO. It is possible to run a base-thread with a Mesa
system and bit-bang the GPIO in that thread.

So, it seems plausible to run a 50.2 uS base-thread and sample the
A-channel in a component.

It might also be possible to add a UART to the bitfile that shares the
A channel hardware pin with the encoder counter, though this would
probably also need a custom component to manage it.

Step 1 is probably to create a base thread and run Halscope in it
while sampling the A-channel. If you can see the serial data then the
chances are good that it can be made to work.

-- 
atp
If you can't fix it, you don't own it.
http://www.ifixit.com/Manifesto

--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58041391iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Motorman Robot with absolute Yaskawa encoders

2013-09-09 Thread Peter C. Wallace
On Mon, 9 Sep 2013, Rudy du Preez wrote:

 Date: Mon, 9 Sep 2013 14:28:25 +0200
 From: Rudy du Preez r...@asmsa.co.za
 Reply-To: Enhanced Machine Controller (EMC)
 emc-users@lists.sourceforge.net
 To: emc-users@lists.sourceforge.net
 Subject: Re: [Emc-users] Motorman Robot with absolute Yaskawa encoders
 
 I am busy converting a Motorman 6-axis robot to Linuxcnc. The original
 Yaskawa motors and servo drives are used. The motors are all fitted with
 absolute encoders. The encoders have differential A and B pulse trains, but
 the A channel is used in the beginning to send 8 bytes of serial data plus
 some incremental pulses to establish the absolute positions of the axes when
 activating the robot after a start-up. The 8 bytes give P(+ or -)X(CR)
 with M=X the number of full turns of the motor from the home position.
 The next incremental pulses (Po) give the number of counts of a partial
 turn. So if R is the number of counts/rev, the position in counts is M*R +
 Po. After this short burst of serial data and pulses the encoder behaves
 like a normal incremental encoder.

 I have set up one motor on a bench and have tuned the PID for it. I have to
 reset the encoder count to zero before I carry on after the initialization,
 ie. I currently ignore the initial serial data and pulses, but of course
 like to use this data to have absolute encoding functional.

 A component seems necessary to read the serial data and count the initial
 pulses to set the initial offset. Has anybody perhaps prepared such a
 component. I have looked at the lsrio16.comp and could probably make
 something similar work for me. The tricky part for me would be to get the
 right clock speed to synchronize with the serial data speed of 9600 baud.

 I am using a Mesa 6i26 + 7i77 interface system.

 Rudy



Its probably possible a make a special pin type that combines a UARTRX and a 
encoder (its a little trickier since its a muxed encoder), But the driver 
would have to be taught to understand the pin tag.



 --
 Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
 Discover the easy way to master current and previous Microsoft technologies
 and advance your career. Get an incredible 1,500+ hours of step-by-step
 tutorial videos with LearnDevNow. Subscribe today and save!
 http://pubads.g.doubleclick.net/gampad/clk?id=58041391iu=/4140/ostg.clktrk
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


Peter Wallace
Mesa Electronics

(\__/)
(='.'=) This is Bunny. Copy and paste bunny into your
()_() signature to help him gain world domination.


--
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58041391iu=/4140/ostg.clktrk
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users