All posts by Simon

Tool Grinding Machine Saacke UW II: many new copper nerves, and a new silicon brain

With the basic installation of the servo motors complete, still some work to connect all the motors and encoders solidly to the controllers inside the (massive) control cabinet. First, wiring the cables through the base of tool grinder, a heavy iron casting. This casting is made of a rather hard type of cast iron, difficult to drill larger holes by hand tools. So I tried to to re-use existing plugs and connectors as much as possible. While for the power connections, there are plenty contacts of the big industrial connectors and cabling available, for the encoders I wanted to use twisted pair cable and plugs that are physically separated from the power cable feed-throughs and plugs.

Shopping around, I found these Aliexpress plugs, from China, but with good IP rating, IP68. The cost is very moderate, and the size “SP20” happens to fit the openings and screws of the former fan power connectors.

Fortunately, these connectors arrived quickly and there was no need for any modification of the machine base.

To guide the cables of the encoders (total of 4 cables, 2 twisted pairs each), there was not enough space in the existing duct. So rather than wasting time with pulling heavy cables, I just decided to add another duct from the machine base to the control cabinet, dedicated to the encoder cables.

Installation was not easy – drilling a sizeable hole in the machine base took quite some effort, but eventually, the cast iron could not resist a sharp Cobalt-alloyed core drill.

Next, some important work inside the control cabinet. After removing all the old controls and motor drivers, there is now ample space available, but all we will need is a 160×100 mm board, and even that is mostly needed to connect all the cables.

Key part is a ESP32 board, which does all the heavy work, on the other side, a W5500 ethernet interface, connected through SPI.

The soldering went faster than I thought, and the board is now mounted to the frame of the old control system. All powdered by a single 5 V power adapter (and an on-board 3.3 V regulator).

More time consuming that was all the other cabling, each of the controller has a 50 pin high density D-sub plug, with the fault, step and direction signals. I used some twisted pair (CAT) cable to make the short connections from the servo driver to the ESP controller.

At the driver side, it now all looks neat, and also the connectors of the encoders were cabled with IEEE1394 (SM-6P) standard. Lots of work with tiny wires, heat shrink tubing, etc.

Finally, I mounted a CAT6 panelmount connector, so the whole grinding machine is now controlled by one ethernet cable, running UDP protocol.

Key part of this is the software, and while I have other machines running with (expensive and – in Europe – difficult to get) MESA cards, this time I resorted to a public domain development found on Githup. A really great project there. I managed to get some bugs removed and to make it work for my needs with 4 axis and one ESP32. The pin layout is quite critical, because the signals and the ethernet SPI will basically require almost all outputs of the ESP32.

Some issue existed with the configuration, so I decided to hard-code the pins. Anyway, for now it is the only machine I have to control by this ESP32 motion control software, and there is no problem to customize it directly in the code.

For those interested in detail, here is the port layout.

As before, the motion control will happen through LinuxCNC, with a HAL driver that is talking to the ESP32 through UPD updating the motion commands every few milliseconds. All the step generation and time-critical motion control tasks are done directly in the ESP32, so the communication between the LinuxCNC and the ESP32 is not that time critical. I won’t describe all the driver tuning and LinuxCNC configuration here in detail. Drop me a line if you are interested. Probably I can get you started on some own projects.

From Aliexpress, also another part arrived – a handwheel – rather low cost but good look and feel. This will be connected to a parallel port, because there is no time-critical events there, just reading the signals and linking them to a software quadrature encoder in the LinuxCNC HAL.

Agilent 4352B VCO/PLL Signal Analyzer: see you again, after 5 years

After some years, again on the bench, a trusty 4352B VCO/PLL Signal Analyzer. A rather specialized instrument, but hard to replace with any more recent instrument, unless you are shopping in the 50 kEUR+ category.

he earlier repair: Agilent 4352B VCO/PLL Signal Analyzer: working! – I left a mark inside the cover, as I typically do after performing significant repairs.

Over time, the display has aged and unfortunately became unreadable. Not a big issue, because there is a connector for an external monitor, but still not very practical to use.

The polarizer can be pulled off, but the glue stinks and is very sticky, would be a big effort to do a polarizer repair.

The LCD, a Sharp LQ9D340H is still available, but the cost is high, even when sourcing from China, about 200 EUR a piece. Note: don’t mix up the LQ9D340 with the LQ9D340H – these are not necessarily compatible according to the datasheets.

After some study, I found a good offer for a used LQ084V1DG21 8.4″ 640×480 Sharp LCD panel. These are compatible with the 340H.

Offer of a German IT used parts seller:

The used panel had a special adapter – not compatible with the Agilent flat ribbon adapter of the 4352B – removed the screw and the adapter with no problem at all.

The installation went without any trouble.

The new LQ084 is a little thicker than the 340H, but it all fits into the LCD compartment.

The backlight driver and even the backlight cable position are compatible – just needed to plug the new LCD in.

Finally, not too much to do further – close the case, insert the screws, a quick test run.

Flawlessly working – starting up like before – and, I didn’t even have to remove the inner cover or any boards – just the front panel and LCD compartment.

Tool Grinding Machine Saacke UW II: fitting new servos to the the old machine (A, X drivers)

For the X (ball screw driven left and right) and A (rotary) axes, now as the servo motors have arrived, we need to find a way to mount the servos to the existing drive mechanism. My intention is not to modify any of the shafts and precision parts of the Saacke machine, but to determine a way to mount the servos with high precision of axis alignment, and a coupling that can transmit the torque without slop or delay.

The mechanical parts and brackets, I decided to use aluminum alloy rather than steel, even Saacke manufactured the stepper motor mounting plate for the A axis from aluminum plate, and the strength will be good enough, with no need to paint or oil the necessary adapter plates.

The couplings, I used KTR Rotex, size 19, with 92 Shore TPU elastomeric couplers. These were available already machines to the right size, including matching keyways. Found them used, or old stock, a good deal.

To house the coupling, made a cylinder from aluminum alloy, and 4 holes drilled for draw-bolts. The draw-bolts screw into the A-axis head, and nuts will be used in the servo mounting plate to hold things together.

The servo mounting plate required quite some planning to match both the machine side, the servo flange, and the fan cover (which I plan to re-install to protect the servo – the cooling fan doesn’t seem to be required).

For the connection of the coupling and the head drive, made a rod with a long key slot (formerly, the long shaft of the stepper motor was directly fitting into the A axis drive head.

Fortunately, all the parts fit right away, torqued the draw-bolts carefully, and adjusted the couplings for proper clearance. There was a little slop in the coupling, so I bent some thin shim stock to pre-tension the polymer coupler a little more.

The distances and plate thickness was designed such that there is enough strength, without adding to much weight or unnecessary stick-out.

The fan cover, steel, had some other fans originally that you damaged during transport, and the adjustments for new fans were done by hand before, now a good chance to clean these (grit and dust filled) covers (there purpose was to direct the fan air around the stepper motors), and to mill out a little more space for the cables.

Handy to have the manual mill, and various workpiece holding.

With the cover mounted, all looks nice and neat, and overall a few kgs lighter compared to the former stepper motor. The cover is held in place by 4 screws, radially arranged, that have steel (stainless) spheres pushing onto the servo.

For the X axis, similar case, programming the CNC code, milling the aluminum plates. These mill jobs took a little while with some many features, but no purpose to optimize the program for a single piece.

There was no need to drill new holes, the plate was made such that the existing stepper motor threaded holes can be used.

The spindles shaft and the servo shaft have different diameter and key size, but also here I was able to find suitable KTR Rotex couplings.

With the cover, it looks like not much has changed vs. the stepper motor, and there is still enough space for the cables (drive cable 3 poles plus ground and encoder cable – 2 twisted pair plus shield).

With all the work on the X axis, I used the chance to clean the screw bearing thoroughly, and adjusted the ball screw precisely (with a micrometer resolution dial on the table, and checking the pre-tension), but also found that the bellow cover is was badly worn, full of grease and dirt.

Finding a replacement bellow cover, from the original manufacturer, a German company, I was not even able to get a quotation, which would likely be cost-prohibitive anyway. Looking through Aliexpress, found a very cooperative supplier in China – this company provided a custom made cover for just about 30 EUR, shipping to Germany included (no customs to be paid). They were not able to provide small “tabs” at the side to hold the bellow cover in place, therefore I cut some from PVC plate, white color was the only thing I had available – but it will not be visible once installed anyway. Using special PVC glue, which really softens the plastic and welds it firmly, these plates were attached with very good strength. Also made a test piece, and could not actually break the glue joint without destroying the whole piece.

Installation of the bellow cover was easy – some small brackets and 3 screws each side, and the dimensions fit well. The material of the Chinese supplier seems pretty durable, oil and solvent resistant material, and many PVC frames (in each fold) to make it stiff and keeping shape. Let’s see how it will perform over the years.

Tool Grinding Machine Saacke UW II: steppers to servo motors

Some more work on the Saacke, the original design had 3 motor drivers for 4 stepper motors – the Y and Z axis being operated by one drive. My original plan was to get another stepper motor driver, but for these 6-phase high current steppers, not an easy thing. While there may be some old controls available, they are pricey, like 1000 EUR and more. Also, I was not too thrilled by every year repairing at least once the driver – 30+ year old electronics doesn’t normally provide a particularly high level of reliability.

Another choice would be to replace the RDM-51117 steppers with some other (2-phase) stepper motors, but rather than 1000 steps per revolution that would result in only 400 steps (half-steps) per revolution, or not very precise micro-stepping. Not good, because the Y and Z pitch is 1 and 3 mm/rev, respectively, and a grinder normally should be controllable in 1 mikron, or smaller, increments.

Analyzing the torque requirements, I had the idea to use a servo motor instead, because the holding toque requirement is actually pretty small (the feed screws turn easily, and once at position basically no force needed). AC servos (with an encoder feedback loop) have become affordable in recent years, why not use one of these?

Shopping around at Aliexpress, I found these 80SS75 (750 W) AC servos, offered including drive and 3 meters of encoder and power cables. Available from a Chinese vendor (Hanpose), ready to ship from a Belgium warehouse.

Chatting with the sales manager a little, the lady offered my a very good deal, almost too good to be true – so rather than buying just one motor, I ended up ordering 4 sets, and decided to replace all the stepper motors by servos.

These servos come with ASD275 drivers, these are quite similar to other AC servo drivers I have used before, they all follow similar programming and characteristics. One important characteristic is that these drive need tuning of the control loop once installed.

Only a little wait, then 4 boxes arrived – all stuck together and wrapped in plastic, not bad!

These sets include not just the cables but also the connectors, great! Full sets! Even an English manual is available.

Some mechanical differences exist, so we have to make adapter plates, and modify the couplings. The Saacke design has just hard-coupled drives, there are no fancy parts, just a steel sleeve. This works well when all is centered up correctly.

Also the key had to be modified, because the sleeve has a 5 mm keyway, but the AC servos have 6 mm keys. So I milled away half a mm each side, to make it fit.

On the lathe, I used great care to center the sleeves precisely, to avoid excentricity.

Turning it to a larger hole diameter was easy, and a great surface finish.

Before fitting the motors to the machine, I did a quick desk test, and all working fine, out of the box!

For the cabling from the machine to the control system, I selected LiYCY-TP (twisted pair) cables, 2x2x0.5 mm2, for the encoders, and Lapp Ölflex Classic 110 CY (shielded) 4Gx1.5 mm2 control cable for the power drive. These are a recommended and cost-effective solution for all kinds of servo and stepper cabling.

The motors were easy to mount, and the cables installed in the machine – a little oily and dirty task, but also a good opportunity to give the Z axis guides a good clean. Luckily, I had in stock 2-cable feedthrough plugs from a project about 30 years (!) past, from my childhood days! Now finally I can use these for the grinder….

The adapter plates were quickly milled on my CNC machine, all with great care for perfect centering. For efficiency, I used AlMgMn alloy 5183, which is easy to machine to high precision and practically free of warping or internal stress.

Installation went smoothly – a little tight fit of the motor flange, but hopefully, this will be a one-time installation.

The motors are rated to 5 Amps and more, but as expected, the typical currents are just around 1-2 Amps when moving, and 0.3~1 Amp when stationary.

Next will be modification of the X and A drives.

Heraeus K1150/3 Oven: some cosmetics, some bricks, some electronics

There is always some need for heat treatment in my workshop, for example, hardening, softening, tempering of steel, hardening of aluminum alloys, etc., often just done with a torch and by visual judgement and feeling more than measurement. While this works for small parts and general tool steel quite well, it doesn’t work for hardening of aluminum (precipitation hardening), and larger pieces of steel may crack. Even smaller pieces may suffer from uneven heating, resulting in distortion.

A small electric oven is handy for that so far, a German brand, “Naber”, already pretty dated but it seems to have been very rarely used. Not long ago, added a controller, to allow curves and automatic controlled heating and cooling operation.

But recently, screening to classifieds, I found a much better oven, 4-side heated, Heraeus K1150/3 that can handle much larger pieces for heat treatment.

It came pretty quickly, for just a little over 400 EUR, including delivery and including a cart. First thing I did, painted the cart a little with red paint – RAL3000 “feuerrot” as it is called officially. For years I carried around a can of such red paint, never thought I would ever actually need it.

The oven, it can operate of 3 phase power, 380 V 14.5 Amperes, originally. Now with a mains voltage of 400 V, the power will be about 10% more. In any case, I can connect it to my 16 A outlets.

The oven has quite significant heating power for its size, good for heating up metals quickly, for hardening. Also, it is built such that it can be opened pretty safety in hot conditions, to take out the glowing parts – not all ovens (especially not common pottery ovens) can be opened when hot – the refractory bricks may brake, or the coils may bend, or similar.

The next difficult task was to get the oven back onto the cart, not easy, because of its bulky size and well over 100 kgs of weight. Even with 3 people, impossibly to carry, and not easy to grab. But with various pieces of wood, some small furniture rollers, eventually managed to get it onto the cart with the help of a friend, and no damage or injury!

The bricks of the oven are all in good state, except for some loose parts at the front door. There, the inner (hot) layer is held to the door by 4 metal parts.

With refractory glue, stable to well up to 1100°C, and easy to use.

To do a proper job, I cleaned up all the old cement, and thoroughly roughened the mating surfaces.

By the manufacturer, the oven has a very sturdy Pallaplat (Au-Pd-Pt vs. Pt-Rh) thermocouple, very thick wire, certainly worth almost the 400 EUR I paid for the whole oven, connected to an analog temperature regulator and a nice 96×96 mm instrument.

These Pallaplat thermocouples have a larger coefficient (several times larger) compared to common Type S (Pt-PtRh) thermocouples.

My intention was to keep the old regulator and instrument as a maximum temperature regulator basically, and add a (secondary) controller with ramp/segment control. The oven, fortunately, has already provisions for a second thermocouple, so I pulled two new isolation tubes and a new S-type compensation wire from the oven to the control cabinet.

Be careful when connecting compensation wires for thermocouples, because the color codes are misleading: BLACK is positive, RED is negative!

To make things even more complicated, there are colors codes that differ from country to country…

To install the new temperature controller, we need to modify the control cabinet a little. There is a timer so far, which will not be needed anymore, but the opening is not quite large enough.

Cutting a a little larger with a grinding disc, filling, quite laborious to do it precisely!

It is a nice part, with many functions and a complicated manual, but it works pretty well.

Rather than an expensive Western part, I resorted to a part imported from China, model PMA-900. It is available in various option, alarms, control output choices and so on.

Heraeus used a Siemens contactor to switch the heater on and off, but for finer control, I selected a 40 Amp solid state relais, which can modulate the power much more precisely, and without wear.

Installed – the heat sink came with the relais, and there is a small fan to keep it cool even in the control cabinet. Later, I added a plastic cover for touch protection, and some warning signs. 400 Volts is no joke!

The S-type thermocouple, about 300 mm long, I also got from China, at a very reasonable price. It is already protected by a ceramic tube, but the diameter didn’t fit the existing hole, and it looked all too fragile to be easily damaged with rough handling and over time.

Fortunately, I found a surplus protection tube, exactly the right diameter (inner and outer), made of 99+% sintered aluminum oxide. Just, a little long.

With a diamond wheel I cut it slowly, because it is a single piece not easy to get again (new protection tubes of this kind nearly cost 250 EUR in Germany, therefore, surplus discounted parts are the only reasonably choice).

Inside the oven, you can easily see the custom Heraeus brickwork (also used for smaller models of that oven), 4-side heating, and the bottom is normally covered with silicon carbide tiles.

Finally, a little brush-up of the outside, to protect it from rush, by using a high-temperature paint. I prefer the MIPA brand, silver paint. A small 375 ml can will go a long way. It is resistant up to 800°C, and from my experience, stops most rush and can be re-applied from time to time if needed without building thick layers.

It is a real paint, with a good small, any many solvents, not the water-based junk for wood. Real paint!

Now, will all repairs done, the oven is looking good again. Everything cleaned up and with a new controller. Great addition to the workshop (only trouble is, it is very heavy, and does consume a lot of space).

One final note – the power cables of machines, especially, industrial machines purchased used from unknown sources, never trust these cables! They may have no ground connected, may have damage, may have been repaired by people without proper education in electrics, and without the proper tools – or these cable may just have suffered from abuse in an industrial environment. In a household, with low power, must not a problem. But here we are talking about larger currents, and these should not flow over cables with compromised integrity.

The same this time – in the plug, the ends of the cable were badly work, short protection sleeves used and overtightened. Mostly, just half of the wire intact.

At the oven end, the inlet to the control cabinet is a little tight – the earlier guy working on that cable didn’t even bother to fit the cable, just removed the isolation and put some tape… asking for trouble.

Luckily, I had a few meters of good cable around, and managed to fit it through, and now all is nice and safe!

Crystal Chandelier Restoration: an antique brought back to safe operation

Recently, a very unusual type of repair, a restoration of an antique French chandelier, a really large and heavy piece. Here, still without the crystals.

It had various mechanical problems, temporary early fixes, and doubtful electric cables. For the cabling, the old cables were all gold-pvc twin leads – I pulled these out and fitted fabric covered wires, 0.75 mm2 cross-section which is the minimum diameter required for lamp fitting.

The ends were fitted with cable shoes, M2.5 size. Protected with some heat shrink tubing to avoid broken wires.

The fabric matches nicely to the old brass.

There are 6 arms with 3 fittings each, 18 lamps in total, plus the arm connections to the center piece, pulled 24 wires in total. All is a bit tight, but with patience and steel wire as pilot, it is quite possible.

All the wires were prepared at one end beforehand, with heat shrink tubing coated (at the inside) with hot melt glue. This will keep the fabric cover from unraveling.

The connections have 3 layers of heat shrink tubing. The wires (4 neutral, 4 phase at each connection) were first crimped together by a metal tube, then soldered, then covered with VDE/UL rated heat shrink tubing, followed by another two layers of brown tubing.

Of the many smaller mechanical repairs, a few examples. One arm was broken at the bottom end, at the weak spot near the cable exit hole. To make this a lasting repair, I decided to braze it (rather than glue or solder). Brazing requires clean surfaces and thus I had to remove the “antique” coloration of the brass.

A piece of brass bent in a U-shape, added flux (typical mixture of zinc chloride and ammonia that I am using all the time for brazing brass), and silver brazing rod.

Heated it up with a propane-oxygen torch, let the brazing metal flow in, and it is almost done. Then, washed off the flux, dried it, and made it “old” again by a secret mixture (sodium bicarbonate, some dishwashing detergent, warm water, time).

After the repair, the brazed connection is barely visible. Stronger now than it ever was.

The bottom cover was also fairly damaged and out of shape, carefully corrected it with rubber and plastic mallets, etc.

The bottom connections (at the bottom center of the lamp, hidden underneath the cover) were rather fiddly to make, but also there, patience paid off. The center conductor is 3x1mm2 cable type H05VV-F, and ground well connected to the lamp.

Surely I also did an electric isolation test, 2 kV successful. Grounding is also good. So the electrical safety is all guaranteed.

On one assembly, a screw was missing, respectively, just the head of the screw. These are special hand-made and non-standard imperial brass screws. But drilling out the screw, making a custom screw, all pretty expensive, so I decided to just drill a new hole, cut an M4 thread, and use a standard M4 screw, with a little bit modified head.

Looking good. There is always a balance of effort and effect, maybe for a museum piece it is worth the effort to restore to 100% identical state, but for all other purposes, the M4 screw will do just fine.

The arms are composed of 3 pieces each, screwed together by what appears to be imperial thread 7/16″- 20 TPI.

The tread was worn-out, and had signs of earlier repair attempts, including glue and hemp fibres.

I filed down the thread carefully, then fitted a cylinder piece (with a 7/16-20 outside thread cut).

All soldered together, rather than brazed – soldering will be strong enough at this location, and I don’t put the patina of the brass at risk, which would require lengthy restoration to make it look “antique” again.

Some other repairs related to the glass pieces and the center rod. The lamp is held together by a steel tube, and fitted brass tubes to hold the distance. However, over time, there seems to have been some damage to glass parts, and the brass tubes were not long enough and well-fitted.

Especially at the lower end this results in the fragile glass pieces to carry heavy load. Not good, considering vibration and shock during transport, etc.

So I decided to install an intermediate support, to take the load of the upper glass pieces from the lowest, already somewhat cracked glass.

Always amazing how much brass rod has to be cut to make thin-walled piece like that! Fortunately, still have many large brass rods around here from days long ago, when the copper price was low…

Now you can see the effect, with the brass holder ring soldered to the center tube, the load of the glass no longer rests on the lowest fragile piece.

Similarly, all the other center brass tubes were correctly fitted and adjusted in length, some new spacers made, and some (laser-cut) washers of brown felt inserted to cushion the class.

Finally – the transport back to its future home worked out without damage – all done! The crystal pieces will be installed by the owner himself.

Tool Grinding Machine Saacke UW II: adding a high speed spindle

With the grinding jobs at hand, we often need to achieve very close tolerance of internal dimensions, say, resonant cavities or some rings, spacers, etc. that require internal grinding.
By looking to various classifieds, I found someone offering a large set of internal grinding arbors, accessories and internal grinding media for just a bit over 100 EUR, a steal.

The set of tooling and parts used to belong to an internal grinder, likely, a Kellenberger brand, with a HJN-828 Fischer spindle, operated in the southern part of Germany.

Many high quality grinding media, 16 mm, 20 mm and larger diameter, all in quite suitable grain size 46~60.

These are simply mounted to the arbors by epoxy glue. So you can re-use the arbor many times. With my light use, the grinding media will last a long time, unless I need to do some dressing for geometry, taking off a large amount of grit.

The adapters HJND size were all a bit rusted, but they are made from case-hardened steel, so they don’t loose precision too quickly.

Gave them all a nice polish, and some light stoning.

These are normally expensive, and I would like to use them, but the Saacke UW II has a Blombach spindle with a 1:6 ratio taper nose, there is no adapter from such cone to match HJND size internal grinding holders, unless you custom-make it – considerable effort managing balance and precision to micron levels. May consider it later.

Another problem is the necessary cutting speed, normally 20-40 m/s at the perimeter of the grinding body, which is beyond the capability of the Saacke (6000 RPM).

The HJN-828 is certainly a great spindle, 9 kg of mass! But the price… 20 kEUR, well, that’s above the budget!

Looking around, there are many options, like, used spindles, spindle motors, water cooled spindles, air cooled spindles. After all, settled for this VEVOR brand 1.5 kW air-cooled spindle, 3.5 kg mass, ER11 collet (can fit up to 8 mm shank), and 24000 RPM at 400 Hz. I will be running it in the 12000-24000 range surely, so there is less concern with the air cooling, which does require high RPM to function – if you want to run high frequency spindles at low RPM, better get a water cooled version!

It is specified to 2 µm runout – in fact, I could barely measure any runout, maybe 1 µm, on my surface plate. It is at the limit of what can be reliably clamped in a ER11 collet, and what can be reliably measured. Fair enough.

For the internal grinding, we need to use grinding media of small diameter, say, 20 mm diameter for a 30 mm inner bore – this requires rather high RPM.

The spindle comes with a VFD (variable frequency drive), at 400 Hz, the spindle runs at 24000 RPM, and I have added some configuration about the start and stop ramps to operate the spindle gently. An analog output is used to drive a display of the current RPM (voltage output 0-5 V scaled to show RPM as volts).

For the speed selection, start-stop, display, I repurposed some of the existing controls (and added some new labels and cables internally). All quite easy to do. Documentation is a little sloppy, because it will be a little different for each VFD, and easy to figure out. Power is taken from the contactor for the axis drives, so if the axes encounter an error, the spindle will power down.

The spindle is a 65 mm diameter, so I decided to mount it underneath the primary spindle, using existing M8/10 mm T-slots of the Saacke UW II.

After all that, some test run, without any holder – the Vevor spindle is working great and quietly.

The Vevor spindle’s primary purpose is engraving, wood cutting, etc., but not sure how long it will last if grinding dust will get into the bearings. So, we better protect the bearings. Sliding seals are no good option at these high RPM. So I decided to use an air seal, pushing compressed air through a narrow gap, at very high linear velocities.

Contemplating about the material, aluminum alloy EN AW-2007 was in stock here in suitable diameters, and in case of some incorrect adjustment, clogging, etc., it will be soft enough to avoid damage to the spindle nose (made of steel).

Inside, a groove at the perimeter to take a silicon O-ring, and air supplied from the side, with a screw-adjustable air flow regulator.

The air is supplied by a 6 mm PU pneumatic tube.

All mounted such that it doesn’t get into the way of grinding.

Now, we can do some test. The high frequency spindle fits well to the Saacke, the T-slots are integral to the grinding head and solid, there is no vibration or anything.

Surely, we won’t use that for very fast cutting, high efficiency grinding, or anything like that. These are all good items for productivity increase of industrial grinding processes, but here in my workshop it is enough to cut a few micron at the time, minimal load to the bearing and machine.

For some first test, ground a 45° chamfer on a steel part, just roughly machined, mounted in the A axis, and then ground the chamfer in steps of 0.02 mm, easy!

Another addition – an air blasting gun, optionally can also add cutting oil or water – minimal amount lubrication is not quite effective for grinding, but may help. For the time being, I just use it to blow away the dust, and then use a vacuum dust collector to avoid a too big mess – but eventually, just cutting a few 100 milligrams of metal, so it is not too large a mess anyway.

JET BD-920N Lathe: MESA Anything IO 7I92TF Upgrade

For more than 10 years (nearly 15) I have been using this small 9×20 lathe, marketed by Jet tool company, and it has served me well, certainly earned multiple times its cost. Years back I converted it to closed-loop (0.001/0.01 mm resolution glass-scales, spindle encoder) operation, so it can do the very precise and tiny work I do without any problems. Many people may consider this lathe inferior to the big brands and expensive machinery, but well, you need to buy a machine that fits your needs, rather than just something that is expensive and heavy and has little practical use. This lathe at least can run automatically, with CNC control, machining microwave resonant cavities, antennas, all kinds of fine-thread screws and stuff with no effort, once you have written good code to control it.

The motion controller so far is based on two parallel ports, running LinuxCNC software on an old Ubuntu PC. Ubuntu 8.04 released in 2008! Finally time for some upgrade. With more recent LinuxCNC versions, and new (used) PC, it is much preferred to let the time-critical tasks be done by external hardware, namely, the step generation for the stepper motors, and the encoder counting. Both of these tasks have been working to my satisfaction on the old parallel port based real-time system (30 µs base thread, 1 ms servo thread), but the encoder counting for 3 encoders was at the limit, and fast moves or vibration of the Z axis (long axis) sometimes cause skipped steps, leading to loss of dimension reference. Needs a faster counter to capture all of the glass scale encoder transitions – something that can’t be done over the parallel port.

After some research, I settled for a Mesa 7I92TF, because this card can easily substitute two parallel ports, without any need to review the circuit and cables, and will work much faster and independent of the PC running LinuxCNC – at least independent for 1 millisecond at a time. A long time for real-time Linux, and easy to achieve without much bother.

Received the Mesa card from a dealer in Portugal, sure the tax, customs and intermediate tradesman were ripping me off – a cards just costing USD 109, sold for nearly 200 EUR here… but at least, it works! Connection to the host PC is by Ethernet, using UDP protocol.

To modify the pinout to the existing cables, I had to alter the Mesa software, fortunately, the source code is available, and even the programming tools for the FPGA – the 7I92TF uses a China-made EFINIX FPGA, available free of charge.

By default, the 7I92TF only supports one encoder, but easily changed in the software, and because I have already signal conditioning circuitry installed, no need to by even more expensive add-on cards for the Mesa.

Here are the major changes, just used an existing, similar configuration, then changed the number of step generators (only need two) and encoders (need 3).

A quick bench test, and working very well – we have three encoder counts.

The software integration to the existing HAL (LinuxCNC configuration) was easily done – just change the parallel port pins to the Mesa pins, some other minor changes to load the Mesa driver, etc. – within less than 1 hour, all done.

The old stepper drivers and interface board still working fine. Just moved the parallel cables to the inside of the case – and connected the two DB25 headers to the Mesa card. For the pin header – luckily, had a ribbon cable to DB25 adapter in my collected, probably, since childhood days when I disassembled electronic scrap to scavenge some parts – finally that part is getting some 2nd use.

Final function test on the lathe – all working. Z axis moved in and out as quickly as I could, certainly would be losing counts on the parallel port encoder counter, but not here. The Mesa seems to count even the fastest moves without skipping a step.

Also assume that the system will have very good noise immunity – no more parallel cables and galvanic connection of the driver and PC, just an (isolated-by-default) Ethernet cable, that’s it!

Tool Grinding Machine Saacke UW II NC: Fixing the Berger Lahr NI 3426 stepper control

According to my experience, failures of electronic devices have three main causes, 1, highly complex systems with inherent reliability issues because of all too many parts – these systems can only function with regular maintenance and repair, 2, high power circuits that run hot or otherwise stressful conditions, eventually, parts will fail, 3, bad design or insufficient design margin to reach lifetime expectations; even the best-designed system will eventually fail unless it is a very low power dissipation system of very low complexity (say, a telephone relais or a light switch).

Surely, for machine tools the life time expectations have been subject to change over the decade. 100 years back, a good metal working machine was made to last 100+ years, a major capital investment, and the complexity of such machines was kept low, heavy castings, and the machining done with conventional tools that had very little productivity overall – surely no comparison to the human-operated hand tools when it comes to machining metal, but also no comparison to nowadays high performance machinery. With the Saacke – a machine of quite some complexity with certainly over 1000 components, consisting of an estimated 30000+ single parts in total, 1000+ meters of wires, etc., the motors and controls have certainly held up to expectation after nearly 40 years, but the eventual failure of the NI 3426 can likely be traced to a combination of factors 2 and 3, say, the motor switching contactor selecting the Y-Z drive in combination with DC currents of 5 Amps, high inductance coils, difficult timing requirements of switching (only open or close the contactor after full decay of motor current), along with aging semiconductors and semiconductors of low design marking (e.g., C-E break-down voltage 125 V or the RCA 41013 used on the D190 current drive board, vs. 90 V operating voltage). It must have been some cost-performance evaluation at the time, along with the limitations of control systems for 4-axis control at the time, for Saacke to decide to select a single drive-two motors topology, and use one of the infeed controllers to drive either the Y or Z axis, rather than to provide drive systems and control for Y and Z individually.

A big advantage of the industrial electronics used here is their accessibility and serviceability, basically, all that would be needed are two new D190 assemblies, and you could bring back the machine to service within less than 20 minutes downtime, if you had certain Berger Lahr spare parts in stock. Barely a few hours if you had to pick them up at some Berger Lahr warehouse if you are in the South-West corner of Germany.

Their is ample free spaces in the case used to guide air through it with a big fan, keeping everything cool. The old engineers know that there is a direct correlation between operating temperature and lifetime of semiconductors!

There are the five identical current regulator cards, D190.

The “test points” for the current at the back panel – all the supply voltages, motor connections, and digital controls are routed through that panel, easily accessible for test.

Surely, Berger Lahr has long been renamed and sold to Schneider Electric, and they even don’t respond to enquires of private individuals, nor offer any service documentation for legacy equipment, as much as I can say, is a supercilious company now that has no time to devote to service of legacy products. Anyway, we are an electronics repair shop here, and fortunately, some paper documents came with the Saacke machine, including, a schematic of the D190 board – without part numbers, but at least, identifying the location of parts on the board, and a detail functional description of the circuit.

Q12, BC237B, a typical 80s NPN small signal transistor, Q16, BC251B, a small signal PNP failed, along with the power transistors, a Texas Instruments PT1132 and a RCA 41031. Also checked the Q14 transistor, PT1131, a rather rare transistor, but it seems to be just a typical fast NPN medium power transistor, nothing too special, and, it is working!

Doing some further research, also desoldered the good power transistors from the boards, and check the current gains:
PT1132, hfe: one has 30, one has 25 (anyway, these transistors are good, no need to replace)
PT1131, hfe: one has 46, one has 21
RCA 41031: one has 33, one 109(!) current gain.

Definitely, we need to use replacement that have reasonably high current gain, say, at least 20, sufficient breakdown voltage, say, more than 150 Volts, and roughly 10 Amps current carrying capacity.

The BUX41 is indeed a good choice for these, and, because these are used even by Berger Lahr on some of their newer boards, surely valid replacements. It is not quite clear why they used a combination of the RCA 41013 and PT1132 in the first place – could be because of gain, voltage ratings, or switching time considerations.

To get some BUX41 is rather easy, but prices are in the range of 5 to 15 EUR a piece, well above what I am willing to spend on a repair attempt, given that I need 8 pieces (no intention to re-use the working power transistors, because they may eventually fail or may have suffered some damage.

A kind reader of the earlier post pointed me to the “Tesla”-made devices, KUX41N, these would really be a good choice, but I would have to buy them from outside Germany, and there is no easy way to order them from Germany.

In some past project I have used power transistors of Tesla brand, and these really held up well, heavy duty cases, strong wires. They didn’t save on copper when making these.

The cheapest I could find were some BUX41 on Aliexpress. It says real but looks fake (the vendor even removed the “ST” logo on the picture”), anyway, let’s order a few.

After short waiting time, an envelope arrived with the “BUX41” transistors, and following good habbit, I had ordered 10 pieces, 8 for the repair job, 1 spare, and, one for fake analysis. These may or may not be original BUX41 dies, but it is good practice to have a look inside these to check at least the silicon area (sometimes there are just very tiny transistors inside that won’t be able to deliver the current), the heat conduction pad (sometimes absent), and the wire bonding (sometimes lousy). In my case, the BUX41 looked quite good inside.

Solid bonding wire, a strong heat conduction bag, solid case. Only the marking comes off easily, and the cases look polished/ground with sandpaper on the top.

So these must have been some generic high-power higher-voltage higher-gain NPN transistors that were then labeled BUX41.

When doing gain tests, 6 came out as 35-45, 3 as ~25, not bad. Used the higher gain transistors for the upper section of the H bridge, having the transformer driver.

Further testing the Aliexpress BUX41, I pulled out my old Harrison Laboratories 6209A 320 Volts D.C. Power Supply. With the base floating, not conduction up to the maximum voltage, roughly 325 V over the E-C junction. Also checked the RCA 41013 (good parts), and these break down at ~140 VDC.

With some fresh heat conduction paste, all the transistors mounted and soldered to the D190.

The small signal transistors, even found an original BC251B in my collection, but no BC237B – replaced it by a BC547B.

With the transistors installed, I checked all the transistors and diodes with a diode tester, to check the voltage drop, and compared it to a good assembly. Also checked all the voltages at the electrolytic caps, with the diode tester. Good practice to check for shorts.

Next, I connected the circuit to a power supply (+12 V, -8 V are needed) – the circuit is operating fine, the H bridge switching properly. Then I dared to install it back to the Berger Lahr drive, and powered it on.

One of the largest stepper motors ever on my workbench, it starts to turn. Repair success!

Also left it switched-on and turning for some hours, temperature is low. Regulated the current to ~3 Amps, plenty enough for that motor unless you need maximum torque.

Tool Grinding Machine Saacke UW II NC: getting the axis drives turning

Now with the tool grinder placed at its final location, time to have some more study of the electronics. Objective is, to get the drivers turning in the XYZA directions again, and then to determine the path forward. Surely overall intention is to replace the existing PEP control computer by a LinuxCNC-based motion control system, so I can control the machine with ordinary G code and use macros and such to easily do any kinds of grinding cycles without relying on computing technology of the 80s. Also, the affordable technology at the time has been limited to one axis or two axis simultaneous movement, but we are targeting 4 axis (at least 3 axis simultaneous movement. For the Saacke machine, the Y and Z axis were controlled by an independent, TTL logic based “infeed control”, with parameters set by a number of BCD switches at the front panel. Pretty useful for recurring tasks, but hard to program special features just by BCD switches, and, of course, each grinding cycle needs to be set again by hand – you can keep the settings in a notebook but there is no way to just load a program by clicking a button. If you make one mistake on the BCD switch, rotary switch, etc., the machine will likely crash in the old days…

First of all, we need to get power to the electronics, and there is some unreliable start-up condition to the circuits controlling the mains power to the axis drivers and control section. That power is switched through contacts of the K38 contactor, which is turned on if the voltage monitoring contactor K123 is actuated, and the K124 safety contactor is actuated. K124 state depends on the limit switches of the axis, if any of these normally-closed switches opens, power to the drives is immediately cut off, so even in case of some control system malfunction, the power will be interrupted safety. There are nice slide rails, except for the Y axis, where the limits can be set by an Allen key, so that you can limit, say, the X travel to within reasonably safe limits if there are any particular fixtures mounted on the table.

The K123 contactor is actuated if all current signals (closed contacts of the X and A axis drive controls, K400 and K401 relais) and the control voltage (nominal 24 V) is good, but it also has a feature that it will not re-actuate if tripped, by the 3-4 contact pair. So, if there is any fault with motor current or control voltage, even once, the machine will stay in that state until it is power-cycled by the operator (after correcting the error, hopefully).

However, at initial switch-on of the main switch, surely there won’t be any good control voltage, and with the trip function, K123 needs a current path to switch-on at initial power-up, which is done by the K10 time relais. This device closes a contact and actuates K123 for just one second, when powered on, then, opens and stays open until the next power cycle.

It is a little dated version of still available devices from Dold Mechatronics, AI983N.7100. The inner circuit is some simple monoflop circuit, some capacitor, a relais – and, a transformer.

Turns out, there is no voltage on the transformer secondary – the primary winding is open circuit. Heavy glued to the circuit board – these devices are made to be in a vibrating factory environment, but the circuit board is of pretty ordinary quality, not through-plated.

After a quick repair – fortunately had a similar print transformer in stock – and replacement of the electrolytic capacitor, K10 is working fine, and the drives are now powering-on normally each time the mains switch is set to “ON”.

With power now established firmly, to the axis motors. The Y and Z axis (Y is moving the spindle up and down, Z is moving the spindle forth and back – similar logic to a horizontal milling machine) is driven by two independent stepper motors.

These are pretty sizeable Berger Lahr RDM51117/50 frame size 110×110 (NEMA size 42) motors, pretty expensive back in their days, and some of the strongest stepper motor available in the market.

Current rating is about 5 Amp per coil, 500 steps full step, 1000 steps half step.

Because of the lack of computing power and also lack of immediate need, there are two motors, but only one drive! The drive used for infeed automatic control is selected by some switches, including rapid functions. The current is turned off during switch events, surely, never unplug or cut the current of a stepper motor while energized – it will likely damage the driver transistor.

The drives are “Quintronic” NI series drives, very solid built.

Made in Western Germany – probably all hand assembled, and with one dedicated logic control board, and 5 D190 current control boards (one per coil) – powered by a 90 Volts DC supply, rated at 750 VA.

However, before being able to tests these, need to get control signals (TTL level) from the LinuxCNC PC to the old control system (running on 24 V HV-TL, respectively, open collector inputs).

Copying some circuitry I found in the Saacke old interface, using 7406 and 7407 open collector, some resistors, and a high-voltage tolerant LM311 comparator, soldered together a small interface board providing two step and two direction signal conversion. These also connect to some counters for the A and X axis at the front panel that I may use later as an auxiliary display.

In order to select the Y or Z axis controls, I also re-wired some of the feed selector circuitry to two small Finder relais, driven by a small control board.

The control boards – no schematic even needed, just a TTL relais driver, so there is double isolation – the PC TTL level with its own ground and 5/24V rail driving a small relais, which in turn uses the 24 V control voltage of the Saacke machine to actuate the Finder relais. With such industrial controls, contactors, motors, chopper-based drives, etc., it is very critical to use low impedance noise-insensitive circuits, rather than just the thinnest unshielded wire, common power supplies, etc.

The Y and Z motors are switched to the driver by Siemens contactors K200 and K201, which need to carry the 5 Amps DC at a very low resistance, say, 0.1 Ohms, to not upset the current regulator. Coil resistance of the steppers is barely 0.5 Ohms. Generally, I would consider this a problematic setup, firstly, because the contactor resistance may not be held to these very low resistances over time, also, there is no precise timing of the current-off signal to the drives, and the switching (happens at the same time, but may be milliseconds or 10s of milliseconds misaligned). So, there may be some arcing in the contactors, etc., and eventually the contactors or the drives may fail. Upon closer examination, indeed, a different, newer Berger Lahr drive is in the cabinet, compared to the X and A drives. Likely, it had failed, and then been replaced by a unit from a different machine (still has a label corresponding to the “X” axis – the table traverse).

Next, the control circuit – the drives are controlled by common step and direction pulse signals, originating from a rather large card with some TTL logic on it.

For convenience, I added the new small control/level converter boards to one of the old control cards, with a temporary DB15 connector to cable it to the PC.

Next up, confirmation of the phase currents. The cables of the stepper motor DC supply are fortunately routed such that a simple clamp-on current meter can be used to probe the current of each motor phase without any need to disconnect cables.

The X driver had one phase at only 3 Amps of current, rather than 5 Amps, strange – the motor was still working normally. Fortunately, I have the manual and schematics (at least the schematics without values and part numbers of the circuit elements) of the D190 current regulator boards of Berger Lahr company, so it was easy to find the culprit. A tantalum cap, not shorted, but soldered with incorrect polarity. Very likely this problem existed since manufacture, and slipped through Berger Lahr’s quality control system. Maybe the tests for quality were done at a lower current, say 3 Amps, because the reversed tantalum acted like a voltage limiter at about 3.5 Volts.

Easy fix, replaced by a multilayer cap.

The current input is normally operated at 5 Volts, and a trimpot is used to adjust the phase current of each coil.

Unfortunately, the Y/Z driver has some problems, keeping unstable current regulation on two phases, and after a short time and trying to adjust it, blew the fuse on two of the phases.

The D190 current control cards apparently used several types of transistors, I tried to collect what I can about these, some are very rare PT1132 transistors, other expensive NTE386, some use BUX41 and PT1132 in mixed (PT1132 for the upper transistor of the H-bridges, BUX41 for the lower). Nowadays, we would design that with MOSFETs and some high side drivers, easy enough.

The PT1132 seem to be related to BD245 or similar, or BUxxx series transistors, like, BU426.

Surely, we need NPN transistors with reasonably high gain, to avoid overloading the high-side drive circuit, and rather high voltage resistance (because of the 90 VDC), and fast switching – because the transistors won’t be able to sustain the linear load region to the 0.5 Ohms coil resistance for any length of time.

Later, it seems, Berger Lahr used BUX41 a lot, 200 V, 15 Amp NPN.

Yet, another type of BUX41…

NTE386 devices, very solid devices, but expensive, more than 20 EUR a piece!!

Finally, I would like independent motors and controls for both Y and Z, to avoid complicated switching and programming, and surely no full-current switching between driver and motor – surely retire the K200 and K201 contactors.

The are some options,

(1) Repair the Berger Lahr D190 cards – will surely repair these after sourcing some BUX41, but this will need to wait for some winter days and less busy times. Even consider to modify the H bridge on the card, by using MOSFETs and modern drivers. The drivers I have have combinations of PT1132 with BUX41, and PT1132 with RCA 41013 (equivalent to BDY58, NPN 125 V – 10 Amp, current gain of at least 20).

(2) Replace the 5-phase steppers by some NEMA42 bipolar steppers, with conventional microstep drivers – easy to maintain and repair going forwards. Then I would have some spare control cards from the former YZ driver, should any cards of the X and A axis drivers fail.

(3) Consider using more modern drive topologies like AC servos with encoders for the Y and Z axis, even for all axis, one I have figured out necessary adaptions of drive geometry (shaft diameters, case diameters).

With all the troubles of the design and state of the Y and Z drives, the X and A axes are working very well, even with the dated drivers and motors. 1000 steps per revolution results in about 3 mikron per step, and the speed of the table can easily reach 500 mm/min and more (mostly limited by the maximum step speed of a LinuxCNC real time step generator over parallel port) – given that it has a ball screw and roller ways, the mechanics would certainly tolerate more without any problem. Also confirmed the very smooth action of the table, mechanically no problem at all with the machine. Also the Y and Z axis – mechanically – are very sound. Cleaned all the screws, guideways etc., from the black dust and grease (better not use grease on grinding machines, but some CLP or HLP 46 oil).