What's new
What's new

My little (home) shop

What you REALLY need is a billet windshield! CNC machined from transparent aluminum (aka sapphire...) billet...

As easily as Aluminium Oxide can be cracked as a laser core, watch crystal, or grinding wheel?

B'lieve I'd stick with and inch or so of Lexan!

Especially if I COULD "bill it"... to someone else..
 
Not related to the *shop*, but it's only 12ft away :D

This is what I did with my weekend:

attachment.php

attachment.php
 

Attachments

  • 20170807_134643s.jpg
    20170807_134643s.jpg
    91.4 KB · Views: 470
  • 20170807_134620s.jpg
    20170807_134620s.jpg
    98 KB · Views: 475
Yes, it has been smokey here. Not as bad as 2014, but still hazy, and you can smell it from time to time. You can see the haze in the background of these pictures -- normally there would be no haze at all, it would be perfectly clear.
 
I'm a little late on this, but, I've kicked around the idea of doing a Fadal VMC15 LinuxCNC retrofit.

The X,Y,Z servos are simple enough, no worries there.

The ATC gets a bit harder. LinuxCNC supports ATCs well in theory, but figuring out how to interface to the actual ATC motor/servo would take some doing.

And then for the ATC you also need to get Spindle Orientation interfaced in too, and doing that seemed like quite a hurdle.

Finally, my machine has two speed spindle, and figuring out how to interface with that was still another unknown.

So overall, I felt the risk of starting on the retrofit and then hitting a wall was too high. But if somebody else has gone through it and documented some/all of those problems, that might make it more reasonable to attempt.
Tool changer is not that bad, just a remapped m-code does the trick. I just haven't had time to button mine up on the Hurco.
Do you have a spindle orient command on your spindle drive? If you do it's super easy for that portion, in the modified m-code for the tool change, you will have a spindle-orient command output, then spindle-is-oriented input to confirm it did. I have a Yaskawa CIMR spindle drive which deals with the orient and not the control.

M Codes



Sent from my XT1650 using Tapatalk
 
Fadal logic is something like this:

Turn on spindle CW, zero speed, until it sees hall sensor, then engage spindle brake.

If it sees hall sensor again and it doesn't stop, rotate CCW until it orients to the sensor.

If it continues this for a couple iterations, call a tool change failure.

Once oriented, command ATC IN

Wait for ATC-IN hall sensor trigger.

If no trigger after time, call ATC failure.

Once ATC IN, unclamp tool.

Move to tool clearance height.

If spring-loaded ATC pivot shaft switch is triggered, call failure. (this is what happens if the tool sticks in the spindle)

Tool is in carousel at this point.

Index ATC to next desired tool, watching hall sensor for geneva index. If geneva doesn't index after given time, call index failure.

Once at desired tool pot, bring spindle down to HOME, when X.XXX above home, begin tool clamping.

If HOME move failure, tool change failed.

If hall effect sensor on drawbar is still asserted, call tool change failure.

Retract ATC, look for ATC-OUT hall sensor, if no asserted within time limit, call ATC fail.

Tool change complete.

This is what I've observed on my machine. The orient is done by having a "zero speed" setting of 2.5-5hz in the VFD. When 0v is sent to the VFD, and a direction is commanded, it spins at the "zero speed" setting, causing an orient.

I don't know if many modern VFDs have this capability.

A way to emulate this with a modern VFD is to have a board/device that looks at the dir/speed signals and tells the VFD to use a different map depending on orient or non-orient mode. Many have multiple settings that can be triggered by an external input, causing the min/max speeds to be different depending on which map is chosen.
 
Something I've been tinkering on for a couple weeks. I've got the parts ordered, now I need to design the test harness board and do a final review before ordering the boards. It's been 20 years since I designed anything this complicated and the tools have gotten very good. I paid $$$$ for crappy schematic capture and PCB design software back then. This is KiCAD, free, and does an amazing job. It doesn't have a useful auto-router, so that's a bummer. I used DipTrace to do some board design 10 years ago, it had a decent autorouter. Eagle got bought by Autodesk and is basically dead to me at the moment. You have to sign up for a commercial Fusion 360/Eagle subscription to use it. Given that Fusion 360 got nerfed a number of years ago, I'll probably end up getting a sub if I do some complicated machining parts.

This is just a side project I came up with because I bought a 1400-2 board for my mill and now the control is much more usable and it has lookahead/continuous contouring. The 1400-2 board supports up to 384KB of external memory (3 boards), along with the 192KB on the board.

I had the notion years ago that you could buy one of these 512KB SRAM chips for $6, so I did, and I reverse engineered the 1460-0 board to design this. Supposedly the 1460-0 board is only for use with the 1400-1 CPU, but all the segment addresses are there and when I rewired it, the control saw the memory and it tested OK.

This board should be a universal replacement for the 1460-0 and 1460-1, it supports the low segments on the 1400-1 at 7/8 and the high segments for 1400-2 at 9/A/B/C/D/E.

I ordered a current S100 bus edge connector and some Raspberry Pi Pico boards, along with some low-voltage bus drivers, so I can design a test harness board that runs from an ATX power supply and mixes 3.3v and 5v stuff. The plan is to exercise the original memory board using the Pico and test this board with the Pico, to make sure it's right, before I take the chance and put it in the machine.

All of the components on this board are current production, no NOS or Chinese pulls.

I substituted some modern parts, like replacing the N8T97 buffers with 74LS244 buffers, replacing the LM393 comparator brown-out circuit with a modern supervisory circuit designed to reset CPUs on power up. I kept the memory power gating circuit, this feeds power to the memory chip when bus power is available. The power gate in combination with the supervisory circuit ensure the memory chip enables are disabled when voltage is below 4.75v, so you are less likely to corrupt the memory on power up or down.

On the 1460-0 they didn't have a supercapacitor, but on the 1460-1 and 1400-2 CPU cards (and subsequent), the super capacitor provides backup power to the memory when the control is off. This has 2 purposes: keep the contents of memory when replacing the Lithium cell, and to reduce the power drawn from the Lithium cell. This is all quite ironic because my 1400-1 board has a Lithium cell from 1991 and it still reads 3.692v.

1460-1Efinal.jpg
 
I have no idea what you're on about, but its good to see you back.

Modern memory card for fadal? or something along those lines?
 
  • Like
Reactions: Ox
Yeah, so I upgraded the CPU board to a 1400-2 board because it was the cheapest way to get continuous contouring. From what I understand, this goes from a CNC 88 to a CNC 88HS, but I could be wrong. I already have 1 memory board, and supposedly these can take 3 add-on boards that have 128K each. I really don't know how they arrived at the numbers they claim for 422k of storage. The CPU has 192K of memory, some of it is obviously used for parameters and buffers, and the rest is program storage.

Anyhow, instead of spending hundreds of dollars procuring vintage memory boards, I figured I would design a new memory board. This one takes the place of the 1460-0 and 1460-1 board, but it's like having 3 of the boards in 1 (4 actually). So with the switch settings this can be a 1460-0 adding 1 board to a 1400-1 CPU, or it can be like 3x of the 1460-1 boards, adding 3 "cards" to a 1400-2 CPU.

The original 1400-1 CPU has 32KB (8Kx4) on board. The 1400-2 has 192K (32Kx6) on board. I'm assuming that the additional 128K of the 1400-2 occupies the same place as the 1460-0 board at segments 7 and 8.

To make a long story short, I think I can build this board for around $30, and it'll be brand new parts. One board will replace 3 expansion boards.

The next useless, but fun, trick would be to create a replacement for the 1420-1 video card so you could drive a modern cheap LCD (VGA display). As I understand it, the 1400-4 series had a mono card by default, but with graphics. There is a VGA graphics option too, but both of these "graphics" options appear to be -4/-5 era stuff, using the auxiliary bus.
 
I ordered the boards last night. There are some educated guesses on changes I made to the original board. Fadal replaced a bunch of logic on the 1460-1 board with a couple of PAL/GAL devices. I suspect they also replaced the P8216 Intel chips with a pair of 74LS244 buffers, like I did.

In total, I replaced 3 N8T97 buffers with 2 74LS244 chips and I replaced the P8216 transceivers with 2 74LS244 chips. It might have been possible to use 74LS245 transceivers, but the '244 is more of a direct replacement.

I replaced the LM393 brown out detector with a Microchip MCP100 supervisory circuit. This holds the memory enable line low until power has stabilized at 4.75V or higher for ~1/3rd of a second.

I replaced between 12 and 64 memory chips with 1 single chip, which is actually the same functional part as what Fadal used on the -4 and -5 memory boards, they used 512Kx8 memory chips on those boards.

I *think* this board should be right, I checked and double checked the bus pinout and schematic.

I am in the process of designing my "test harness" board that connects to all the pins on the bus and should allow me to control (at least memory) cards like the real system.

I bought some Raspberry Pi Pico boards, they are $4 each and pretty impressive. The downside is there is only around 26 GPIO pins, so I added several latch buffers to multiplex the few pins it has. I then realized that while the Pico has MicroPython support, so does the Propeller P2, and I've got experience with the Propeller 1. I downloaded the design data I needed to add a P2 Edge module to the design, so in theory I should be able to plug in a P2 Edge module or a Raspberry Pi Pico module to exercise boards via the test harness. With MicroPython being a more-or-less standardized API, I could literally write the same program and run it on 2 completely different compute modules and do exactly the same thing.

The Propeller P2 has 8 cores that can run up to 320Mhz, has 512KB of RAM, and a bunch of hardware support. It's a nutter of a processor, WAY faster than either the 8088 or 80386sx. A single core can execute 160 million instructions per second, a 386-25 was 7 MIPS. In theory, this P2 could replace the CPU board in a Fadal, add native USB support, SD storage support, VGA monitor, and 32MB of additional memory. The hard part would be the software. You'd basically create the Fadal Super-CPU, which replaced 4 boards and went in the 1020 slot. But really, I don't have the desire to write a whole new NC executive and figure out how to talk to the axis boards, M control, keyboard, etc.

This is my work in progress on the test harness:
fadal_test_harnessP2.jpg
 
You got a market for sure and who ever can speed up that slow a$$ tool changer...
I've thought about that too. I wonder if they governed the speed of the rotation so the software was reliable, or if they had a limitation on the speed because the mechanism wouldn't spin faster reliably?
I mean, if you have a 10lb tool, you don't want to accelerate that too fast. A servo motor direct drive with indexing feedback might work. If you could sniff what tool the control was going for, then you could just know where to end up at and fake the rotation feedback.
 
I think that your reverse engineering time could have a better payback when you come out with a new board for Haas.


-----------------

Think Snow Eh!
Ox
 
I think that your reverse engineering time could have a better payback when you come out with a new board for Haas.


-----------------

Think Snow Eh!
Ox
HAAS deliberately end-of-lifed their control to drive upgrades. It's a tactic that lots of companies do, especially with cell phones. The advantage of the Fadal is that it's "knowable" and old tech. It's reliable and dead simple. The HAAS is simple to a point, but they started developing their control an entire generation later than Fadal. They also went with the Mac camp in the Mac vs PC war, in essence.

When it comes to electrical problems, HAAS machines have far more issues in my experience, thus building an aftermarket control for it would be very support intensive. Also, the NXGEN control for Fadal is like 12 grand, not A BUNCH in the grand scheme if you are making good money, but outside of the scope of a hobbyist. A -4 board set is like $3800, a -5 board set is in the 5 grand range. There is a significant price differential between Fadal parts and HAAS parts, but people bellyache at the cost HAAS charges to upgrade the control. I'm not saying it's unfair bellyaching, but it's nearly on par with an aftermarket control for Fadal.

So making a control for a HAAS would be merely to satisfy those looking for a cheaper alternative. As a machine shop owner, do you want the "looking for a cheaper supplier" customers? What happens when you get those customers?
 








 
Back
Top