Where to start?

More
17 Feb 2011 17:31 #7289 by PCW
Replied by PCW on topic Re:Where to start?
A driver is needed (the driver should be simple, the register interface is just 32 bit absolute position and 32 bit velocity) but a bigger issue is teaching EMC to support absolute position sensors

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

More
17 Feb 2011 17:44 #7290 by andypugh
Replied by andypugh on topic Re:Where to start?
It seems like a natural extension to the existing hostmo2 driver, the resolvers could present themselves as normal encoders (I imagine that firmwares supporting both the resolver card and normal encoders would be rather unusual)
The absolute nature could be hidden (if required) simply by subtracting a stored offset inside the driver, however encoder zeroing is rarely performed, normally they are latched to the index, and that is just a case of saying "yes, I just latched" next time the encoder hits zero.
I guess that a simulated index pulse might be required for some EMC2 functions (which is something I am discussing on the mailing list at the moment too)

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

More
18 Feb 2011 08:07 - 18 Feb 2011 08:12 #7302 by gandalf69
Replied by gandalf69 on topic Re:Where to start?
andypugh wrote:

gandalf69 wrote:

The servos have a 2 wire power input, an analog tacho output for speed feedback, and a sine wave shaft position encoder for position calculation. I expect to need to change the shaft encoders to digital.

Not necessarily. Resolvers are actually very good feedback devices if you can get them to work. They are tough, reliable, accurate and absolute.
I am working on a way to read them with an Arduino (in fact, I ordered 10 PCBs yesterday). A better/more professional approach would be the Mesa 7i49, though I am not entirely sure how well that interfaces with EMC2 at the moment. I suspect that, with the correct firmware, it just appears as a set of absolute encoders in HAL and EMC2 is none the wiser.

Sorry, I should have checked, the servos do not have resolvers , they have a simple optical encoder which uses a disc with a bunch of slots in it so the output is just a sine wave and the controller needs to count the cycles in order to calculate axis position. The machine zeros each axis at startup for reference.

Note that Pico also do a Resolver converter pico-systems.com/resolver.html

The info (5i20man.pdf et al) seem a bit light on, no block diagrams, etc, is anymore info supplied with the board?
Or maybe I should ask whether the info supplied was sufficient for you to make all the connections without blowing it up:)

The problem is that the 5i20 by itself doesn't really do very much. It only becomes useful with firmware downloaded to it, at which point it can be all sorts of different things.
The best documentation on what the 5i20 et al do with the EMC2 drivers is probably here:
www.linuxcnc.org/docview/html/drivers_hostmot2.html
Though some other capabilities are due to be released in the next revision (which is fairly imminent) and are included here:
www.linuxcnc.org/docview/devel/html/man/man9/hostmot2.9.html

Well it may be the best documentation but sadly the software speak is totally incomprehensible to me at the moment given my non-unix/linux background. What I need is to ease myself into EMC2 gently. Is there someway to play with a simulation of a machine on the PC without any external hardware connected?
Last edit: 18 Feb 2011 08:12 by gandalf69.

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

More
18 Feb 2011 09:14 #7304 by andypugh
Replied by andypugh on topic Re:Where to start?
gandalf69 wrote:

Sorry, I should have checked, the servos do not have resolvers , they have a simple optical encoder which uses a disc with a bunch of slots in it so the output is just a sine wave and the controller needs to count the cycles in order to calculate axis position. The machine zeros each axis at startup for reference.

How many slots? If it is hundreds then you can probably just use the same encoders, if it is dozens then it is rather more difficult. Converting from analogue voltage to high-resolution position is possible (An Arduino has 6 analogue inputs, so could do the job for $30 and some software writing) but is something of a project all of its own. Swapping to high-resolution encoders is probably easier, unless the drives are dependent on the sinusoidal version for something.

www.linuxcnc.org/docview/devel/html/man/man9/hostmot2.9.html

Well it may be the best documentation but sadly the software speak is totally incomprehensible to me at the moment given my non-unix/linux background.

It isn't so much a linux thing, as a systems-engineering thing, I suspect. There is a configuration wizard (pncconf) which takes most of the pain out of configuring Mesa hardware.

What I need is to ease myself into EMC2 gently. Is there someway to play with a simulation of a machine on the PC without any external hardware connected?

Yes, you can boot your existing PC from the LiveCD and play around with the simulator configs that are provided. All without making any changes to the PC at all.

Boot from the CD (you might need to change a BIOS setting to enable this)
Choose CNC-EMC2 from the applications menu.
Pick a sim.... Config.
reset e-stop (F1), machine power on (F2) and play around.

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

More
19 Feb 2011 09:13 #7315 by gandalf69
Replied by gandalf69 on topic Re:Where to start?
andypugh wrote:

gandalf69 wrote:

How many slots? If it is hundreds then you can probably just use the same encoders, if it is dozens then it is rather more difficult. Converting from analogue voltage to high-resolution position is possible (An Arduino has 6 analogue inputs, so could do the job for $30 and some software writing) but is something of a project all of its own. Swapping to high-resolution encoders is probably easier, unless the drives are dependent on the sinusoidal version for something.

It looks like about 200 but there are probably multiple outputs, they have a multiple angled mirror arrangement. I assumed I'd need to change them simply because they are analog and old and digital ones are cheap. The Arduino looks pretty neat.

It isn't so much a linux thing, as a systems-engineering thing, I suspect. There is a configuration wizard (pncconf) which takes most of the pain out of configuring Mesa hardware.

That's a relief:)

Yes, you can boot your existing PC from the LiveCD and play around with the simulator configs that are provided. All without making any changes to the PC at all.

Boot from the CD (you might need to change a BIOS setting to enable this)
Choose CNC-EMC2 from the applications menu.
Pick a sim.... Config.
reset e-stop (F1), machine power on (F2) and play around.

I have EMC2 on my PC, thanks for the instructions, I'm a bit slow to begin with. Great, now I can see what code is doing what:)

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

More
19 Feb 2011 11:56 #7316 by andypugh
Replied by andypugh on topic Re:Where to start?
gandalf69 wrote:

It looks like about 200 but there are probably multiple outputs, they have a multiple angled mirror arrangement.

That's rather a low resolution to use as digital encoders, so unless you are looking for a fun project, swapping them to 1000+ count digital encoders looks like the best plan.

Make some alignment marks on the existing encoders before you remove them though, just in case.

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

More
21 Feb 2011 01:09 #7341 by gandalf69
Replied by gandalf69 on topic Re:Where to start?
andypugh wrote:

gandalf69 wrote:

It looks like about 200 but there are probably multiple outputs, they have a multiple angled mirror arrangement.

That's rather a low resolution to use as digital encoders, so unless you are looking for a fun project, swapping them to 1000+ count digital encoders looks like the best plan.

I just found some specs for the machine, says the encoders are 125 line and that the axis position accuracy and repeatability is 0.01mm. The ballscrew pitch is 5mm and there is a 1:2 reduction. So there are 50 lines/mm. I had another look at the encoder, the 'mirror' arrangement I mentioned is more likely 6 discrete planar photo diodes, they are arranged to read each slot at different times and the light source has 5 apertures, the 'diodes' are wired in 3 parallel anode to cathode pairs which accounts for the 6 signal wires to each encoder. It would be interesting to put a scope on the outputs.

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

More
27 Feb 2011 00:33 #7479 by andypugh
Replied by andypugh on topic Re:Where to start?
(I have been away)
gandalf69 wrote:

I just found some specs for the machine, says the encoders are 125 line and that the axis position accuracy and repeatability is 0.01mm. The ballscrew pitch is 5mm and there is a 1:2 reduction. So there are 50 lines/mm. I had another look at the encoder, the 'mirror' arrangement I mentioned is more likely 6 discrete planar photo diodes, they are arranged to read each slot at different times and the light source has 5 apertures, the 'diodes' are wired in 3 parallel anode to cathode pairs which accounts for the 6 signal wires to each encoder. It would be interesting to put a scope on the outputs.

That sounds interesting. I have seen discussion of ways to make absolute gray-scale encoders with mutliple sensors on the same disc. I wondr if you have a 6-bit version of that?
en.wikipedia.org/wiki/Gray_code
(Specifically the single-track gray-code)

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

Time to create page: 0.150 seconds
Powered by Kunena Forum