Where to start?
Please Log in or Create an account to join the conversation.
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.
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.gandalf69 wrote:
Not necessarily. Resolvers are actually very good feedback devices if you can get them to work. They are tough, reliable, accurate and absolute.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.
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.
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:)
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?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
Please Log in or Create an account to join the conversation.
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.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.
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.
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.www.linuxcnc.org/docview/devel/html/man/man9/hostmot2.9.html
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.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?
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.
gandalf69 wrote:
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.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.
That's a relief:)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.
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:)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.
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.It looks like about 200 but there are probably multiple outputs, they have a multiple angled mirror arrangement.
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.
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.gandalf69 wrote:
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.It looks like about 200 but there are probably multiple outputs, they have a multiple angled mirror arrangement.
Please Log in or Create an account to join the conversation.
gandalf69 wrote:
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?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.
en.wikipedia.org/wiki/Gray_code
(Specifically the single-track gray-code)
Please Log in or Create an account to join the conversation.