spiral formula?

I have a Crusader II (anilam), no "spiral" command, it will do CW or CCW arcs.

You have to specify Start X,Y, End X,Y, and center X,Y.

I am trying to cut a spiral into a piece of metal.

1/2" cutter, with 1/4" of steel between each cut.

Can anyone recomment a CAD program or tell me the math I need to use to program this into my machine?

A spiral has several arcs, all from different center points. I need to know the start X,Y, end X,Y, and center X,Y for each of these arcs.

Any help appreciated.

Rich

Reply to
aiiadict
Loading thread data ...

A true spiral has a continuously changing radius. Some high end CNC machines have this feature built in to the control. Otherwise it is usually programmed as a series of very short straight lines generated by CAD software, a whole lotta G-code. An approximate spiral can be cut by making half circles, each one smaller by the difference of the gap and the width of the cutter.

Fred

Reply to
ff

Google for Archimedan spiral and you should find some links that will help with the design.

The basic formula is something like:

r = b * theta^a

where r = the radius, theta = the angle in the X-Y plane b = a scaling factor a = coefficient that determines the degree of the spiral

Work out the values of "r" for different angles (theta in radians, I think) and from that calculate the X-Y coordinates for various points. Play with "a" and "b", to get the right number of spirals and distances between.

We did this at work for a small, flat-sheet, lab-scale membrane housing a while back. We wanted a spiral groove in the face plate to direct fluid flow in a spiral out from the center inlet to the outlet at the periphery of the circular membrane. If it would help, I can email you the Excel spreadsheet I used to calculate the coordinates that made up the curve. I used a mechanical 3-D program (Alibre) to generate the dimensioned part with the spiral groove, importing the coordinates from Excel to define the path of the spiral. From there a DWG file was exported and sent off to the machinist, who had no problem making the part. That's probably a lot more work and expense than is justified for you, but it can be done pretty easily given the right software and hardware tools.

That said, someone here will probably describe a simple method using a Dremel tool and protractor .

Mike

Reply to
Mike Henry

Google for Archimedan spiral and you should find some links that will help with the design.

The basic formula is something like:

r = b * theta^a

where r = the radius, theta = the angle in the X-Y plane b = a scaling factor a = coefficient that determines the degree of the spiral

Work out the values of "r" for different angles (theta in radians, I think) and from that calculate the X-Y coordinates for various points. Play with "a" and "b", to get the right number of spirals and distances between.

We did this at work for a small, flat-sheet, lab-scale membrane housing a while back. We wanted a spiral groove in the face plate to direct fluid flow in a spiral out from the center inlet to the outlet at the periphery of the circular membrane. If it would help, I can email you the Excel spreadsheet I used to calculate the coordinates that made up the curve. I used a mechanical 3-D program (Alibre) to generate the dimensioned part with the spiral groove, importing the coordinates from Excel to define the path of the spiral. From there a DWG file was exported and sent off to the machinist, who had no problem making the part. That's probably a lot more work and expense than is justified for you, but it can be done pretty easily given the right software and hardware tools.

That said, someone here will probably describe a simple method using a Dremel tool and protractor .

Mike

Reply to
Mike Henry

There is an infinite universe of spirals out there. The simplest being a constantly expanding radius vs rotational angle. Then you get into exponential functions, hyperbolic functions, etc. etc. The CNC program has to be capable of plotting the selected function. Bugs

Reply to
Bugs

Send me your email address and I will send you a copy of lisp code that will work with autocad or intelicad to generate the spiral. Also I have a program I wrote [qbasic] that will convert HPGL [not HPGL/2] to gcode. [versions available for emco f1, hurco, Bport BOSS] Not hard to rewrite for most any controller as it only does straight lines.

GmcD

Reply to
F. George McDuffee

Great! Very simple.

I drew one with a compass... I have a question... There are two center points in this scheme, one for each "side" of the spiral. My drawing wasn't very precise, so I cant get a good measurement of the distance between these center points.

1/2" cutter, 1/8" space between cuts, 11" diameter outer half circle (11" between CENTER of cutter)

What will distance between centerpoints be?

Rich

Reply to
aiiadict

I think you're describing an Archimedian spiral. To calculate the points along the toolpath:

If the center of the spiral is at (h,k),

r = (0.5 + 0.25) * angle / (2 * pi)

x = h + r * cos(angle)

y = k + r * sin(angle)

If it starts out at angle=0, then the spiral will start off in the positive x-direction and proceed in a counter-clockwise pattern. You can fudge its behavior by playing with the starting value for angle, the polar expressions, and by adding an offset to angle.

HTH

-- Morris

Reply to
Morris Dovey

I did a Google search on "definition spiral", and after looking at a few of the hits, below seems to describe what need.

The site said difference between a Archimedean spiral and a logarithmic spiral is that the Archimedean has a constant distance between the spirals, whereas the distance in a logarithmic spiral forms a geometric progression.

Suggest you check it out.

formatting link
Ace

Reply to
Ace

Hi,

The link is interesting. Problem is, all the spirals mentioned on the page would require a formula entered into the milling machine.

I have a 1976 Anilam Crusader II. No serial port, no parallel port. It has a tape drive. I have to manually enter any program I want to run. As far as I know, you can only program x,y,z movements (lines), and arcs (startx&Y, endx&y, centerX&y).

I can't even have a CAD program draw a true spiral, convert it to a series of x/y movements (straight lines) and move it to the machine. No way to transfer data from the PC to the crusader.

The "half circle" method that Fred (FF) mentioned is *perfect* for my application. I only have to program approximately 16 instructions into the machine.

16 of these: ARC CCW X,Y to X2,Y2 center = X3,Y3

easy and quick.. I understand how the half-circle-spiral diameters work. I am just trying to figure out how the center points relate to eachother for programming into the machine.

Rich

Reply to
aiiadict

If this is like the Crusader II that I used back around 1980 or so, the tape drive sits on top of the controller, and connects to a serial port on the controller. Unplug the tape drive, and you can plug in a serial cable from a PC, and save or load files.

In a task which the *real* machinist there had to do, there was a complex shape (intended as a special reflector) which had to be machined from some 2" thick aluminum block, and then polished. The shape was defined by a computer program, and it produced a file containing the series of X and Y points.

While you don't program from the front panel with G-codes (at least not fully), when you *save* a program, it *is* G-codes in the saved form, and we were able to use that as a start, and edit the data points file to produce the desired shape into the G-code file, and then re-load it into the machine and run it.

Interestingly enough, examining the dumps of programs onto the PC also showed some of the canned cycles, and taught me how it referenced variables. It also gave me some hints as to which variables were not yet in use, so I could write some custom canned cycles. (The experiment involved canned cycles to engrave letters which could be scaled when you called the cycle.)

So -- unless yours is different, you *do* have a serial port, which just happens to be talking to the tape drive at present.

Hmm ... there should be a collection of canned cycles, such as doing circular and rectangular pocket milling -- and perhaps even helical milling for when you want to do thread milling.

I believe that there is -- if you investigate the port to which the tape drive is connected. (Doesn't that drive use a weird version of the mini cassettes?)

For that -- I am too far in time from the Anilam Crusader II that I used -- and as I said, I was not the *real* machinist there, so I just got to play with it from time to time. It is what convinced me that I needed a CNC machine. :-)

I was the electronics technician who was also a computer geek, so that is why I was playing with the saved program format looking for a way to program it the way *I* knew to program.

Good Luck, DoN.

Reply to
DoN. Nichols

The distance between center points for your spiral is 0.3125

So if the center is X0 Y0 and you start on the left side:

ARC CCW X-5.500, Y0 to X4.875, Y0 center = X-.3125, Y0

and the second arc would be:

ARC CCW X4.875, Y0 to X-4.875,Y0 center = X0,Y0

third arc:

ARC CCW X-4.875,Y0 to X4.250,Y0 center = X-.3125,Y0

and so on...

Fred

Reply to
ff

Hi,

There may have been an RS232 (serial) tape recorder for the crusader, but mine is definitely NOT a serial port. The signals available on the 25 pin connector are data in/out, "tape in", "tape write protect", "record button", "play button", etc. I don't know what level the data line is at, and I don't know what protocol is used. I would have to disassemble the ROM....

Yeah, it uses strange microcassettes... Standard micros' won't work, they're too small..

Rich

Reply to
aiiadict

Hmm ... do you know what CPU it uses? I never got a chance to dig into the hardware of the one at work.

As for the pins -- they may be *called* different things, but I'll bet that they are the same as RS-232 anyway. Just for starters, the "data-in" and "data-out" pins -- are those by any chance pins 2 and

3 (or perhaps reverse order)? The others could be the standard handshaking pins -- DTR, DSR, RTS, CTS, DCD, RI and the like.

If it were non-RS-232, it would be more likely to have a parallel interface -- eight pins used at once as data, with other pins selecting for data-in or data-out direction.

It *could* even be that the cassette does use a different interface, but uses pins other than the ones needed for RS-232. The absolute minimum would be pins 2, 3, and 7 (Data in and out, and logic ground), with possibly pins 4 and 5 used for flow control (RTS & CTS). IIRC, the cable which I had to make to use it was only four wires -- 2,

3, 7, and one of RTS or CTS (4 or 5).

Since you appear to have a listing of the pins from somewhere, could you post it, and I'll see how it matches up to RS-232? (I'll actually *check* references for the pin numbers, instead of working from memory as I am doing at the moment.

I found some micros sold for answering machines which looked about the right size, but which were physically different enough so they could not be used. I believe that the ones use by the Anilam (and certainly the ones used by my Emco-Maier Compact-5/CNC) were the Phillips micro cassettes, and the dictating machine/answering machine ones were a different family from a different designer.

Good Luck, DoN.

Reply to
DoN. Nichols

8080

yeah, but does RS232 have 1 in, 1 out, (data), plus 2 data IN (the record and play buttons are wired directly to the connector)... I don't think this is RS232. I have the schematic.

It *might* be parallel, but I doubt it. 1 pin is used for data. It is digital. I haven't been able to find a timing line, so I believe the tape player is pre-calibrated to run at the same speed as the CPU.

tomorrow I will put a list of the pins I have been able to trace. If you email me (aiiadict AT gmail DOT com) I will email schematics.

We figured this out too. If I can get a PC to "emulate" a tape drive, then I can at the very least use Notepad to create programs (nice with a copy/paste/delete/select) and "Load" them to the crusader II.

And when I do any editing on the crusader, I could "save" to the PC.

There are no synch or timing lines to the 25 pin recorder connector. I believe it operates like all the old tape drives did (apple II, commodore, etc)

Rich

Reply to
aiiadict

Ouch! Not very powerful I would have expected at least the

8086, or a 68000 series CPU for the task. I seem to remember it having more memory than an 8080 could address.

You mean *pin* 1 as data? If so, that is certainly not RS-232. Pin 1 is supposed to be the (often ignored) safety ground.

If you want the full documentation on RS-232 pinout (using the DB-25 connector, at least), it can be found at:

formatting link
A lot of the pins listed in this are not commonly used. Pins 2, 3, and

7 are almost always used. Pins 4, 5, 6, 8, and 20 are frequently used, especially for modem connections, which are what RS-232 was designed for.

Pins 2 and 3 are serial data transfer pins. The remainder serve handshaking functions, such as "hold on a minute -- until I empty my buffer and make more room for data" (CTS) or "The phone just rung, and the modem is about to answer (RI).

As for voltages, you can have both negative and positive voltages on the pins. The voltages can be as high as +/- 15V, or as low as +/- 5V. (Actually, IIRC, 3V is supposed to be accepted on inputs, but outputs should produce at least 5V. Negative voltage is signal true, positive voltage is signal false.)

If a single pin is used for data, then it is serial data, and RS-232 is a common serial data interface. (But that "pin 1" is a problem -- at least for the DB-25 connectors.) Pin 1 *is* used on the

9-pin RS-232 connector used on PCs these days. You can find that pinout at:

formatting link

That probably won't work. My email server is tailored to reject any e-mail larger than 30K -- and almost any scan of a drawing will be bigger than that.

If you've got a web page where you could put it up for a short while, that will work.

And my e-mail address in the headers above is real. But please don't send HTML if you can control it.

Agreed. That is what we used to do. And I do remember having to unplug the tape drive to plug in the RS-232. (Your tape drive *is* in a separate box, isn't it? I guess that it is possible that your Anilam and the one which I used were different.

That probably involves some smarts in the box, and RS-232 dumping the data into the buffer memory in the box, which would then write it onto the tape. Certainly the Commodore ones worked like this for the floppys, if not for the tape. The Apple II used audio tones recorded which encoded the serial data by switching back and forth between two tones. (Pretty much the way modems worked, too.) It was a very inefficient recording system, compared to digital cassettes (I've interfaced and used both in the early days.)

Good Luck, DoN.

Reply to
DoN. Nichols

O.K. I just did a web search, and this should tell you what you need to know:

formatting link
Note in particular the first sentence on that page:

"The Anilam Crusader II has an RS-232 communications port for serial communications between various storage devices (PC, paper tape punch/reader, printers, cassette, etc.)."

So -- *this* says that the Crusader II uses RS-232 to talk to the cassette drive (among other things)

It goes on to tell you how to set the parameter for the RS-232 communications (with AUX codes).

And the next page up will tell you a lot of other things about your Anilam Crusader II which you might not yet know:

formatting link
It even reminds me of the format of the variable referencing, such as:

G29 LV43=1.5

being used to set a variable in G-code (or just V43 from the front panel), and IIRC, something like:

G01 V43 V44, V45

would do a move to the location stored in those three variables. (Of course, those variable are already used by the canned cycles, but others (higher numbers) were not yet in use, so you could generate your own canned cycle to increment the angle and the distance, and thus generate the spiral directly in the machine. (Obviously experiment with no cutters and well clear of the anything to test the idea first.)

And -- you would need a way to test whether you were done, or it would simply keep getting larger, so there was a need to test for done. For that, I would have to play with the machine again to perhaps recover that information.

But -- this gives you hope -- at least of talking to the PC via the RS-232. Note that the people who wrote that web page used a switch box to switch between cassette tape, computer, and perhaps a printer or a punched tape reader or punch.

Enjoy, DoN.

Reply to
DoN. Nichols

Hey DoN,

Thanks for that site about the RS 232. At the same site, I also found a very useful page, for anybody with any of a large variety of older CNC machines, especially the ANILAM II stuff for me.

Take care.

Brian Lawson, Bothwell, Ontario. XXXXXXXXXXXXXXXXXXXXXXXX

On 22 Jun 2005 00:41:21 -0400, snipped-for-privacy@d-and-d.com (DoN. Nichols) wrote: SNIP>

BIGGER SNIP

Reply to
Brian Lawson

I have schematics..

there is PCB 483 (CPU with tape recorder port) there is PCB 493 (CPU with tape port, also 1 rs232 port)

I have 483, tape port only...

it is 8085 processor. tape port data lines come directly off a 8155 chip

"The 8155/8156 is a very old combination chip containing 256*8 RAM, a timer and 8+8+6 ports."

the 8155 has d0-d7 from the 8085 CPU connected, as well as reset, RD/WR and a few other CPU pins... The clk (out) from the 8085 is connected to some sort of ?divider?, then routed to the

8155.

off the 8155 there are:

(-xx-) = active low

O 1) DATA OUT >data from crusader to tape drive I 2) STOP/(-RUN)- >this controls tape drive motor (on/off) I 3) rewind/(-fwd) > this controls direction of tape drive motor I 4) read/(-write) >controls head.. to read or write I 5) slow/(-fast) >controls tape speed. fast = rewind/ffd slow = read or write O 6) read data in >data from tape drive to crusader ? 7) a/b >don't know ? 8) leader >don't know O 9) wr protect >this is a switch in the recorder. pushes agains the "write protect" area on the cassette O 10) cassete in place >this is a switch in the recorder. pushes against the cassette O 11) play switch \ O 12) record switch >to switches on cassete unit O 13) stop switch /

O = output (output from tape to crusader II computer) I = input (input from crusader II computer to tape drive)

total of 7 output lines

4 input lines 2 unknowns

Those aren't pin numbers... just a list.

I don't think it is rs232 compatible. The data is sent serially (1 data line), but there are no timing lines (handshake, etc).

the PCB 493 (which I don't have) has rs232 port built in.

PCB 483 schematic shows a small area of the circuit that has been "deleted" by the engineers, it is labeled "deleted-PC499 is used for serial i/o transmission"

I can't find PCB493 for sale anywhere.. I am tempted to run a parallel port monitor on my windows PC, connect the lines from the tape port to it, and watch what signals do what when data is saved to the "tape".

I could see what timing/format the data IN and data OUT pins are using. Perhaps a communications program on the PC will be able to talk to the crusader this way..

Or, I could write a C program to "emulate" the tape drive. example, LOADing a program into the crusader:

You press "get ready for program" on the crusader.

You would usually then press play on the recorder. The crusader can detect this button through the taperecorder cable.

On the PC, you would have a "play" button on a window, that would make the appropriate pin on the parallel port go HIGH.

Rich

Reply to
aiiadict

O.K.

Interesting -- because the web page to which I pointed said that the tape drive was serial and the same port could be used for other RS-232 devices.

O.K. And an 8155 is a PIO (parallel I/O) chip similar to the Motorola 6820 (except designed to interface to a different system bus).

Note that a Parallel I/O port can be used to talk to serial (RS-232) devices (called a "bit-banger" interface). The original SWTP

6800 computer used a few pins on a 6820 to talk to the terminal which served as a console, instead of using the 6850 chip (ACIA -- serial port chip). This was done because the serial chip was not yet in production when Motorola designed the first breadboard computer and ROM for engineers to play with.

In this case, the reason for doing a bit-banger on a parallel I/O chip is because of all of the sense and control leads which the tape drive needs. It could *still* be wired as an RS-232 interface, as long as you ignore enough of the spare pins. This is why I've been asking what connections go to which pins on the connector.

Yes, I agree.

Probably generating the bit rate clock which was then fed into an interrupt pin on the 8155, so it didn't have to do the timing in software. Hmm ... I don't see an interrupt pin on the 8155, but I do see a "Timer In" (pin 3 on the chip), which could dserve the function. The timer is a programmable divider, which could be programmed to generate the various baud rates needed. Does that divider go to pin 3? (There are advantages to having antique data books around. :-)

O.K. Can you trace this and tell me which pin it goes to on the DB-25 connector? Perhaps one of 2 or 3?

And does this one go to one of pins 2 or 3 on the DB-25 connector?

This probably goes to a sensor in the drive which can tell which side of the tape is out -- for a file big enough to take two tape sides to save, perhaps.

Some (though not all) of the tapes of this size have a transparent leader which could be sensed by a LED and photosensor in the drive, so the system doesn't start writing until you are past the leader and onto the writable tape.

Sure.

Yep -- to keep from attempting to save to a tape which was not in the drive.

O.K. Commonly shown as "" computer to tape.

I think that I have filled those in for you.

The pin numbers are important.

RS-232 does not *use* timing lines. It starts with a "start bit", then a series of known length of data bits, followed by an optional parity bit, and one or two stop bits. (Two stop bits were needed on the ASR-33 teletype, to allow the mechanism time to reset.)

Perhaps a secondary RS-232, instead of a bit-banger interface.

An optional bit of circuitry.

If you can verify that the data to and from the cassette are on pins 2 and 3, I would suggest trying to analyze it as RS-232. When talking to a computer via RS-232, it would not need to use all of the pins which talk to the tape drive, and those AUX codes could be to tell the Crusader to ignore those extra pins while talking to a computer or something else via RS-232.

I'm still willing to bet (at least until you feed me connector pin numbers which say that it can't be) that it can and will talk RS-232. But first use a scope to check the voltages on those pins -- as the computer might not like the RS-232 + and - voltages into parallel port (0-5V only) pins.

Yes.

I still believe that you can just use a plain communications program to talk to it via RS-232. Remember to make the cable as shown on that web page.

Good Luck, DoN.

Reply to
DoN. Nichols

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.