Archive for June, 2008

Z-Axis Probe Update

Friday, June 27th, 2008

So, finally got the motherboard, back in the machine and everything, drilled, wired, soldered, etc… and… It don’t work 😉

Come to find out that the cool and groovy old green binding post I used has no conductivity from top to bottom.  That’s right folks if you have not learned the lesson all ready, you probably will again, never assume.

Lucky for me it was easy to figure out and I was able to remove the binding post without taking the motherboard back out.  I replaced it with a small bolt and lock nut. Added another ring connector for the wire on the top side of the board.   WahLah, it works!

I added a banana jack to the back of the machine so I can plug different types of probes in, I would really like to do some Scanning .

I spent some time last night trying to get the hang of Zeroing out the Z-axis with the probe.  Still having a bit of trouble with the concepts and the gcode.  The nice folks on #EMC irc freenode are helping me out.

The idea is you use G38.2 (May be for EMC only) like:

G38.2 Z-1 F1 (Tries to move Z axis below work surface stops at probe top)

G92 Z.060  (Moves Origin to new location, this is the tricky part, .060 just compensates for probe height)

Will post back more when I actually get a good system going.

EDIT: Thanks to SWPadnos Coordinate Systems in the wiki really helps.

Hold On, Hold Down

Tuesday, June 24th, 2008

I am almost to the point that I can actually start making chips, and have been thinking about material hold down options.  Ahhh, the little things 😉

Here are couple of articles I found interesting…

Drewtronics writeup on a vacuum table hold down system that looks really nice for circuit boards or other small flat objects.

I’ll probably start with some double face tape and see how that does.  Somewhere in my junk pile I have a couple of old, 1/4″ thick pieces of fiberglass that have an array of holes.  This may have been some kind of heavy duty prototyping breadboard back in the day.  It seems like it may work well as a hold down jig for the moment, while I get a feel for the machine and learn about other options.  I may add to this post as I find more hold down techniques.

Just a picture of one way to construct a t-slot table…

CNCzone Comprehensive list of different hold down techniques

MojoSofts site detailing some very interesting holdown tables etc…

Z-Axis Touch Plate

Tuesday, June 24th, 2008

A touch plate or zero plate is used to zero the toolbit on the Z-axis.  I first saw this in a Hackaday post about quick CNC setup routines.   This person uses a usb pendant, laser and touch plate to very quickly set up a piece of work in the machine.   Here is a link to the video and post…

My machine would really benefit from this setup.  First the machine is far enough away from the computer that I can’t easily see whats going on (I think this must change anyway),  second the spindle I am using has a brush on the bottom that blocks the view of the bit.  The brush is nice, as it locks in debris and helps the vacuum remove chips.  However, it touches down first before the bit makes contact and makes it hard to tell when the bit reaches the surface of the work.

To make this work you need an input pin on the parallel port pulled high and then connect this input pin to a conductive plate.  When the bit, which is at ground potential, touches the plate, it will pull the pin low and signify that the top of the work has been reached, just compensate for the thickness of the plate in software.

I had to pull the mother board out in order to see the bottom of the connector, find a 5 volt rail and map my pull-up resistor to one of the connector pins.  I have been wanting to pull this board off for a while just so I could get a picture of the underside.

Pin 10 goes to the small jumper board but no where else :) Its also an EMC software input.

I found a 5 volt rail close by

There are number of these old binding post in my parts bin, so I decided to use one, had to drill a hole in the board, however I love the way it matches the connectors.

I wired the connector pin for the parallel port to the 5 volt rail through a 10k pullup resistor and wired the connector pin to the binding post.  Now all I have to do is bring the binding post low and the probe pin output should change, indicting the bit has reached the surface of the plate.

Looks kind of orginal from the top, hope it works…

Some Software Success

Saturday, June 21st, 2008

As I am working through the hardware side of this CNC project I have been trying to figure out the software that will enable me to prep my designs for the machine. Really, this has been almost a bigger hurdle for me, though I realize once I get a tool chain figured out it will probably flow without difficulty.

One problem, is sorting through the tons of software that is available. Every package seems to have a different and often funky-clunky GUI with a different tack on how to organize the elements. After trying several methods some of the process is starting to jell.

It seems like there is no do all box for this process at least not yet. You have to find something to do drawings in, then find something to create tool paths and create gcode. Really, I also wanted something that could take images, like bmps, jpgs, etc and prep them for the machine, this would allow me to start with a drawing on actual paper.

What seems like it may work for now, is Inkscape to do tracing, converting from Raster to Vector, or just doing Vector drawings with. Save as DXF, looks like the linux version of Inkscape is the only one that will write AutoCad style DXF files, watch out for this if you try it. After I have the DXF I use CamBam to generate tool paths and GCode.

I have been trying to convert this bitmap that I found via google images for weeks now. So far this is the first method that has worked from start to finish. Seems remarkably easy now, but let me tell you, it was confusing getting here.

Another promising solution that I will probably also use is the GMAX CNC-toolkit combination. GMax is a 3D game scene builder. There is a script called CNC toolkit that you can plug into this software and use to generate toolpaths and gcode. All this ends up being free if you can figure out how to do it. There is a site with documentation and links to the software

Also check out Qcad for an easy to use 2D CAD drawing software. Perfect for drawing up a part with precision for the machine. Saves as DXF so that other CAM processing software can open them.

Here are some screen shots of the original image one with tool paths:

The original image is a mandala from The Mandala Coloring Book
by Monique Mandali

First the image was traced with the linux version of inkscape, the resulting image looks almost exactly like the original, however it is now made up of vector line segments instead of dots, all the better to do math on! The image was saved as a dxf in autocad format and then opened with CamBam.

Mandala converted to tool paths with cambam

Once you have the tool paths and cutters defined its a one click operation to generate the Gcode for the machine.

This is a copy of the mandala gcode if you want to run or look at in a gcode simulator, may have to do just a bit of tweaking with a text editor to make it suite your particular machine, spindle, feedrate etc…

A Donation Wow!!!

Saturday, June 21st, 2008

A reader of my progress on the OZO machine has offered to donate a compressor for the cause (see comments on last post). This is fantastic news, as the tank I have been using is not sealed enough to hold pressure for long periods. If I pressurize to about 80 PSI the tank holds air for about two days. I have not made a serious attempt with soapy water and a brush to find the leaks though.

It doesn’t take many trips out of the house to find air, to realize this idea is not going to work. The compressor will allow me to keep the tank topped off and may even provide auxiliary vacuum for a hold down platform.

I’ll post some pictures when the compressor arrives,

Thanks again Michael, this is very kind of you and a real surprise for me.

EDIT: Here are some pics of the compressor once I got it in the mail

I added the feets as I had them laying around, note how small this cute little guy is.

Here it is sitting on the tank, for perspective, tank is about 1.2 cubic feet and this little pump, pressureizes it to 60psi in about 10min or so…

The compressor is made by GAST, this is a link to the DataSheet

The info is not for this exact pump as the model number is SAA-PXXX-NA

and it states “Derivative Prototype”

Air for the Spindle

Tuesday, June 17th, 2008

Over the weekend, I managed to scrounge together enough plumbing pieces to resurrect an old air tank I have into a working portable air supply. Basically its a tank with air gauge, pressure relief, hose, quick connect, and valve that I can fill up and then attach to the spindle.

The idea was that I would get multiple open/close cycles on the collet without the need for an air compressor. While I managed to get the tank built and worked the collet several times, its still not completly tested.

One flaw in the plan was that they removed the free air line that was a couple of blocks from my house. So, I had to drive around and the only place I found near my house, has a pretty crappy compressor that would only pressurize the tank to about 40 psi.

I was able to actuate the compressor many times with this weak fill however. So… it remains to be seen, if I can fill up the tank and use it for about a week. Still even if it doesn’t work, I am not out much money and it will be a portable tank for filling tires etc…

My Kingdom For a Schematic

Wednesday, June 11th, 2008

You never know how handy a schematic is until you are without one. I tried various ways of enabling and controlling the spindle without success. Part of it was confusion with EMC however most of it was because I was unsure of the layout of the encoder board.

I knew that it boiled down to the signals being presented to the Enable and Vtrip input pins on on the Spindle control board. Enable needed to be held high and the voltage at Vtrip would control the speed of the spindle. I proved that to myself by removing the encoder board and hot wiring the Spindle card directly with the needed signals.

Still, I could not get the spindle to spin up with the encoder board in the machine. Finally I decided to take the time to trace out the circuit on the encoder card. It took a while, 4 opamps, 5 transistors and quite a few discretes on a double sided board can get fairly confusing. I just took it slowly worked on it a bit each evening and eventually came up with this.

Once the mysteries were revealed it was obvious that the control signals where going to have to be repetitive square waves as all the inputs ultimately go through a cap before they can induce voltage on Vtrip. Looks like there is some kind of feedback from the S1 and S2 encoder signals on the spindle itself too, so I am guessing once you set a speed it will maintain even if you encounter a load, this is good news if its true.

In the end I just removed the clamshell from the parallel port cable I was using. Removed all but the signal wires for the XYZ axis, then routed Pin1 from computer to Pin11 of the machine port. Added that control pin to my config file using stepconf, and joy oh joy. I now have control of the spindle from the computer.

Next step is air, the spindle collet opens and closes with air pressure, looks like it may finally be time to get a small compressor for the shop. 😉


Friday, June 6th, 2008

Reviewing the EMC2 manual it seems that pins 18-25 on the parallel port or always ground. The signals I want access to next on the OZO are the encoders and the spindle control. Unfortunately the encoder signals look mapped to Parallel 20,23,24 and the likely spindle control is on Pin 11.

These pins are not going to work with the Parallel port in the computer. I may not even have enough I/O on the port to completely control this machine, however, what I really need next is spindle control, at least on off. Looks like the OZO may have had a proprietary card in the computer after all.

The new plan is to build a small converter board. I am hoping to use two wire wrap parallel port sockets, plug one end into the OZO and then map across to the plug that will connect to the computer. This way I can remap some of the OZO signals to the computer and have access to them at the port for probing etc…

We shall see!

Encoder Board

Friday, June 6th, 2008

Tried to do a bit of reverse engineering on the encoder board. Pin 1 starts on the end of the board that bolts to the machine.

Pin Signal
1 Routes to 1B and 8B on Spindle Board Ground FWD/REV
2 Signal in from actual encoder routes toSN74LS123N
3 Signal out from encoder board to Pin 20 Parallel
4 Signal in from actual encoder routes to SN74LS123N
5 Signal out from encoder board to Pin 23 Parallel
6 Signal in from actual encoder routes to SN74LS123N
7 Signal out from encoder board to Pin 24 Parallel
8 Routes to Spindle Board Pin 6B V-
9 Unknown
10 Unknown
11 Routes to Parallel Port Pin 1 and Pin 12 probable Ground
12 Routes to 1B and 8B on Spindle Board Ground FWD/REV
13 Unknown
14 Unknown
15 Routes to Spindle Board Pin 4B and 10B V+ Positive Voltage
16 Unknown
17 Routes to Spindle Board Pin 7B Vtrip
18 Routes to Spindle Board through 4.7K to Pin 9B Enable
19 Routes Parallel Port Pin 11 *****Possible Control signal for Spindle *******
20 Routes to Spindle Board Pin 2B (S1 Signal)
21 Routes to Spindle Board Pin 3B (S2 Signal)
22 Routes to 1B and 8B on Spindle Board Ground FWD/REV

Links to the data sheets for the major players on the board:

DM74LS123 Dual Retriggerable One-Shot, there are two of these, probably handling the signals from the encoders. The Q outputs of these go to the Parallel port and the B inputs go to the encoders, not sure yet how this works.

MC1458 High Performance Dual OpAmps, most likely controlling the speed of the spindle, there are two on this board.

CD4070BC Quad 2-Input Exclusive Or Gate, somehow tied with Enabling the Spindle, might be a phase detector? Square wave to enable spindle, I dunno, it gets confusing pretty quick around this thing.

The Spindle Moves

Wednesday, June 4th, 2008

Spent some more time with the LS7262 spindle motor chip datasheet today.  Used the drawing I made previously with the pinouts for the board and with the datasheet I tried to figure out what signals I should see on the various pins.

The first thing I noticed was that the LS7262 is supposed to be for transistors and the LS7260 is supposed to be for FETs, this is odd since the main power components on my board are obviously FETs.  Still there are some transistors (possibly gate drivers) in front of the FETs.

I noted that CS1 and CS2 where both tied low and that I was only showing two Sense pins coming out of the board.  Turned out that this was the configuration for Four Phase Operation (page 5).

Also, the Enable pin is active High and Low Disables the output.

The chip needs:

Voltage for a Logic 1 (High)  VSS-1.5V to VSS

Voltage for a Logic 0 (Low) 0V

Probing around this evening:

VSS Pin 11 to Ground: 15.0V with Small encoder card Removed

14.2V with encoder card in.

Common Pin 5 to Ground: Same as above

Brake Pin 9 to Ground: 0V

Enable Pin 10 to Ground: .5V with encoder card in 15 Volts with it out. (Hmmm!!!)

Ocillator Pin 14 to Ground: Sawtooth waveform Peak at 13.4V Floating on 4.60V (Perfect, I think)

Also, during all this probing, I noticed that the electric air valve that I think controls the spindle collet, engages with the button on the front panel only when the small encoder card is in the machines.

So, after I probe the signals and realize that all the signals are basically there, I try the spindle with out the small encoder card installed so that Enable is on and not being held low by the card.  No joy!

I decide to have a look at Vtrip and it is low.  This would indicate the spindle should be running at full speed.  I remembered at this point, somehow, that when we moved the machine a fuse cap had fallen off of one of the two fuses on the back of the machine.  I had picked up the cap and stuck it back on, at the time it hadn’t seemed to fit well.  Reinvestigating it seemed that there was a spring missing and the fuse was fitting very loose in the fuse casing.  Digging around in the surplus pile I found a small spring that fit in the cap. Once installed I tried starting the machine again, and much to my delight, the spindle motor spun up to life.  Sweet!!!

It seems there is a speed controller as part of the small encoder board, as when its installed the Spindle spins up however slows down and stops shortly.  Vtrip pin, which controls the PWM starts about 2 volts and then climbs to around 11.00 volt disabling the spindle.

Looks like the next step in all this is going to be to figure out the encoder board.  Still if I want to run the machine with the spindle now, I could do it with a small breakout board.  Transistor to control the enable pin and a voltage divider with a pot for the spindle speed control.  Looks like I am close to actually being able to cut something.

Scope Image of the Oscillator:



Test Jig: