If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

With the Z finished, time to start on Y.
Actually, Z isn't finished, I need to find a way to lock the Z at the top (I decided to retain manual Z for quick drilling jobs), but that is a job for another day.

The ballscrew conversion of the Y axis was a bit of a challenge. The Acme leadscrew was originally screwed into the nut after the table was fitted. Not really an option with a ballscrew. However, due to assembly order constraints the screw has to be fitted with the knee mounted on the machine, so the ballscrew has to go in from the top, and can only be fractionally longer than the slot it lives in.
I needed a way to connect an extension to the ballscrew with good concentricity, no backlash and access only from one end, with very little radial clearance.
So, I stole an idea from the way that Wohlhaupter attach the shanks to their boring heads. A hex socket grubscrew/setscrew with two sections of different diameter and different thread pitch (actually, the diameters could be the same). You screw it all the way in, screw down the mating part, then back out the screw. The screw screws into the coarse threaded part faster than out of the fine-threaded part, and pulls them ever so tightly together.

I machined a 6 degree taper on the end of the end of the ballscrew (assuming that Stephen Morse had done his homework) and made a dual-threaded screw.

Then it is a case of screwing the screw fully home, then screwing on the extension piece not-quite home (so that the screw pushes it off to release it in the future). Then the screw is backed out with an allen-key down the central bore, and it all snugs up tight, concentric and backlash-free.

The conversion is going slowly. I keep getting distracted by other vaguely-related things (like software drivers for IO cards)
[QUOT]I purchased a Harrison mill with vertical head earlier this year and still looking for a manual.[/QUOTE]I bought a manual from eBay, it wasn't terribly expensive. Harrison Horizontal Milling Machine Manual | eBay

Two sorts of spindle feedback.

I am amazed that it is so long since I updated this thread, and equally amazed how little progress the actual machine has made in the last year.
This is partly because I spent a lot of time sailing (crossed the Pacific) and partly because I have been working on the software side of things.

So, an update. I have one axis working. But to get the other axes working with the drivers I have I need to update their firmware, and there is no Linux tool for that, so I am writing one.
I will post about that, with pictures and possibly video later.

The subject of this message is spindle feedback. It is handy for closed loop spindle-speed control (though I don't think spindle speeds have to be _that_ accurate). It is imperative for rigid tapping and gear hobbing though.

The Harrison Mill is a "Universal" mill, with a horizontal spindle and a vertical adapter. The mills came with two options of motor-to-gearbox pulleys and two vertical adapter ratios. With both fast ratios you have 100 to 2500 rpm. Guess which ratios I have? I have 47 rpm in the lowest gear, and 1000rpm in the highest. The VFD lets me boost that a bit.

In the long term I hope to make a pair of the high-speed vertical gears. You simply swap a 51:51 set for a 36:66 set inside the head rotate housing. However, that means that the spindle feedback needs to be in the head.

I decided to use some Allegro ATS667 devices running off the gears in the head:

The one at the bottom is for the index, it picks up off of a screw I put in a handy tapped hole on the spindle.
Because the sensors are running in oil, I needed an oiltight connector. Lemo connectors are lovely things, and vacuum-tight, so I used one of them.

My axis motors came from ebay. They are fairly nice Lenze motors, and at £50 for three of them seemed a bargain. That special sort of bargain that then makes you decide to buy a decent base machine to use them on…

One slightly awkward thing about these motors is that they have Resolver feedback. Resolvers are lovely things. Tough, accurate, reliable and noise-resistant (even if they glitch, the position is correct next time. An incremental encoder keeps a false-count until it powers down.)

What Resolvers aren't is easy to interface to a PC. They are analogue devices. Worse still they are high-frequency AC analogue devices. I made a converter to read the three resolvers and output quadrature pulses using an Arduino: LinuxCNC Documentation Wiki: ResolverToQuadratureConverter But that seemed to throw away a useful feature of the Resolvers (they are absolute) so I set up a 1Mbps serial link from the Arduino to my Mesa 5i23 to send absolute positions.

One of the things that I did while not converting this machine was to write a driver for the Mesa 7i49 6-Resolver interface card, nothing to do with me) even though I wasn't using it. The Mesa card reports angles to 24 bit resolution, my Arduino thing was precise to 10 bits and accurate to 8 bits. When something went wrong with it, I didn't bother trying to find out what it was, I just bought a Mesa 7i49. (Curiously I managed to write the driver without ever seeing the actual hardware).

I do wish I had used a 7i49 from the start (not that that was possible, as it didn't exist then). It's just so much better. Suddenly the motors (which are brushless and use the Resolver for commutation) are smoother and easy to control.

The switch to Resolver feedback did have one drawback. Suddenly I had no encoder counters to connect the spindle to[1].
So, I now needed Resolver feedback on the spindle. Luckily a chap on the LinuxCNC list had a couple going spare after a conversion. He even sent them to me for free. Clint Washburn, you are a truly nice chap.

There really is no easy way to mount a resolver in or on the vertical head. But after some thought I decided that I only really want the feedback for gear hobbing, and I am likely to do that in the horizontal spindle. The rear-end of the horizontal spindle is easily accessible. I was going to use a belt drive, but noticed that that would be unusual for a resolver, and likely to apply belt tension loads that they are not designed for. It then occurred to me that if I used a gear drive then it could be a miniature version of the vertical head gearing, and that a 51:51 and 36:66 0.8 mod gear set would both fit, and run at the same centres, and so I could simply swap gears if I ever changed between ratios.
It didn't take long to find that 51T and 66T 0.8mod gears are not off-the-shelf items, but that's OK, I can already make gears:
http://www.youtube.com/watch?v=ZhICrb0Tbn4]Hobbing (Gear cutting) on a Mini-Mill with EMC2 - YouTube
I decided to use Delrin, and made both the 51:51 and 66:36 set:

The 66 tooth gear, as the eagle-eyed might have noticed, demonstrates what you get if you make a 66 tooth gear with the dividing ratio at 12… But I decided to finish it anyway. It has zero addendum, but still seems to work. I will worry about making a better one if and when I swap the vertical head ratios.
I then just needed to machine a register on the spindle rear bearing locknut, make a clearance slot in the existing rear cover, and mount the Resolver:

This design rather commits me to making my own T5 belt pulleys. Luckily I have spindle position feedback now, so I can hob them.

[1] This is only partly true, My setup is a D510MO Intel motherboard with a Mesa 7i43 board, connected to a 7i44 which connects to the three 8i20 drives, and the 7i64 which handles all the GPIO. Then the Resolver feedback is handles by the 7i49 card which also controls the spindle VFD, and then there is a 7i39 board to drive the rotary axes. This has quadrature encoder counters, but they are taken…

Can you say a few more sentences about using the Allegro ATS667. I understand the principle of using three sensors for quadrature plus index.

It looks like the ATS667 has an open collector output so a pull-up resistor from "VOUT" to V+. I would be connecting to a MESA 7i48 which takes A /A B /B Z /Z. Do I just hook up to the A, B, and Z and ignore the "/" channels? I think this is called single ended vs differential.