SSI Interface for Servodrive communication

More
06 Aug 2010 18:45 #3610 by petter007
Hi,

I stumbled upon a SEF25 robotic arm (from 2000). It has 6 rotating joints all controlled by servocontrollers from SIEB & MEYER AG.
It's simular to this www.machineseeker.com/A630701.html
I managed to get the documentation for the SSI-PLUS interface and have all the documentation needed for interfacing it (I think).

SSI pinout:

1. 24V OK (Error if not high)
2. regulator OK
3 angle coder data +
4. angle coder data -
5. angle coder clock +
6. angle coder clock -
7. angle coder latch +
8. anglecoder latch -
9. angle coder watchdog+
10. angle coder watchdog-
11. parameter clock+
12. parameter clock-
13. parameter data IN +
14. parameter data IN -
15. parameter data OUT+
16. parameter data OUT-

The servo controllers have two shift registers with 24 bit's each (I guess one is active while the other is loading next move)
I have the Transmission protocol both from computer to Servo amplifyers and from servos to computer.

Has anyone sucsessfully interfaced Servocontrollers with SSI interface?

Has anyone any hardware to guide me to.

My goal is to attach a mill et the end of it and do milling in foam.
Has anyone done this with EMC2 before??

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

More
07 Aug 2010 02:17 #3616 by andypugh
Firstly I would say that that differential signalling scheme is not going to work as-designed with a parallel port.

It is not completely clear that the interface is digital, though the clock pins seem to indicate that is probably is.

You might well be able to bit-bash it with a HAL component, depending on the data rate.


What, technically, is SSI?

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

More
07 Aug 2010 02:24 - 07 Aug 2010 02:31 #3617 by PCW
Synchronous Serial Interface
Very much like SPI but framing is done by stop.start clock
Common for absolute encoders (theres a HM2 module for SSI encoders)

Often end of of frame is done by pausing clock for ~20 usec so its hard to bit bang unless its done all at once (not a bit per thread actuation)

forgot to say: SSI almost always uses differential signaling
Last edit: 07 Aug 2010 02:31 by PCW. Reason: ommision

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

More
07 Aug 2010 09:59 #3619 by petter007
I have done some SSI communication before, not with as many simular pin's. but still it's very easy by principal.

It goes like this:
When you switch the clockpin you can read next bit data on the input pin's and send one bit from the output pin's.
Since this is a 24 bit communication i have to switch 24 times to get the data in and out.
i then will need to pause for some ms between a new 24 pulse train can be sent.
The clockswitch frequency on this communication is 400 mhz (I think) so it can deliver and read data very fast.
(if the switch frequency is off by to much it will not transfer or recieve)

When i last did SSI communication it was from a ATMEL Microcontroller running 16Mhz.
I guess i can build a microcontroller board to interface it, but what i really want is a compatible hardware board with EMC2 to do this.

If i can use USB communication. I could use an AT90USB1286 chip from teensy++ (Great board for those into microcontrollers)
i guess it could handle everything running at 16Mhz, it has 41 IO's 8 of them is analog. But as i understand USB communication is a bad way to do communication since it's hard to get realtime action from it.

I don't know much about the HAL layer on EMC2, can it be configured for this task.
Or am i better off making a microcontroller layer between the robot and a basic io board.
Making the microcontroller do the convertion from step data to SSI data?

Anyone with any experience?

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

More
07 Aug 2010 12:04 #3621 by andypugh
With an external microcontroller you still have the data "outside" EMC2 with no immediately obvious way to get it in.
From what PCW has said it seems that the Mesa hardware and firmware supports SSI, but the missing link is the EMC2 Mesa driver.
There has been discussion of adding support for SPI (not SSI) but I don't know if anyone is actively working on it at the moment.
wiki.linuxcnc.org/cgi-bin/emcinfo.pl?SPI...-Driver_For_Hostmot2

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

More
07 Aug 2010 15:50 #3623 by PCW
I think the HM2 twiddler interface might work (it has a maximum of 31 input and 31 output bits, a ucontroller (33 or 50 MHz)
and a 32 bit register (1 to 64 deep) interface to HostMot2. What would be really nice to support these odd-ball interfaces would
be an extension of the RAW-WRITE RAW-READ kludge on HostMot2 to support a list of reads and writes instead of just one per thread
then all of the twiddler/SPI/SSI/Resolver/SSerial etc modules could be supported entirely by device specific HAL modules

BTW a common SSI shift rate is 400 KHz not 400 MHz (thank goodness)

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

More
09 Aug 2010 09:36 #3646 by petter007
I guess its 400 Khz, my mistake.

From what i can get from this reply's, i guess its easier to make the hardware fit the HAL on EMC2 than to make the HAL fit the hardware???

Hans Petter

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

More
09 Aug 2010 10:17 #3649 by andypugh
petter007 wrote:

IFrom what i can get from this reply's, i guess its easier to make the hardware fit the HAL on EMC2 than to make the HAL fit the hardware?

I would have said not. How do you intend to have your new hardware communicate to HAL? You are still likely to need some software. HAL only really accepts input from encoders, though you can use the encoder to interpret voltage-frequency devices too.
Modbus through Classic Ladder is an option, possibly.
wiki.linuxcnc.org/emcinfo.pl?ClassicLadder_Ver_7.124#Modbus

Most promising is probably PCWs suggestion of the Mesa bit-twiddling interface. You might be able to pick up some hints from this discussion:
www.linuxcnc.org/component/option,com_ku...tart,0/lang,english/

Writing HAL components with "comp" really is fairly easy.
linuxcnc.org/docs/html/hal_comp.html

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

More
11 Aug 2010 17:17 #3708 by petter007
I guess the microcontroller would act as a bridge between two protocols.
On one end emulate pulse interface, and on the other end translating it to servodrive action, feeding positions as emulated encoder back to an mesacard or some kind of IO.
anyone done this before?
B)

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

More
03 Mar 2011 06:13 #7554 by aru2000
I have the same Amplifiers / the same problem.

Hardware setup :
TR 600 tricept robot with Sieb Meyer, mesa 520.

out of the Sieb Meyer Handbook - SM Amplifieres want 1,5 Mhz clock freq. because it is a SSI plus interface.
I am going to make a Portsniffer with / emc2 gui / hostmot2 / mesa 520.
The project is at the beginning...

Andreas, Stuttgart

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

Moderators: PCWjmelson
Time to create page: 0.080 seconds
Powered by Kunena Forum