Shop OBEX P1 Docs P2 Docs Learn Events
Propellerized Lapidary Saw — Parallax Forums

Propellerized Lapidary Saw

localrogerlocalroger Posts: 3,451
edited 2010-10-12 21:20 in Robotics
Scope:

This is a Lortone LS-14 lapidary (rock cutting) saw. It uses a diamond blade to cut through stones up to 5 or 6 inches across. It is used principally to cut semiprecious gemstone rough into slabs. Since the blade is basically a very thin grinding wheel, it cuts very slowly, taking 20 to 30 minutes for some cuts.

The LS-14 is a very unusual design. Most similar saws power the stone into the fixed position blade with a screw-driven carriage feeder, and lubricate the blade by dipping its lower edge in a pool of oil. Since the LS-14 lowers the blade onto the work it needs a lubricant pump, and Lortone's intention was that gravity would do the feeding. In practice this didn't work very well and I quickly figured out I would need a slow feeder to drop the blade onto the work to avoid destroying blades. This project is the third such feeder I've built since acquiring the saw about 15 years ago.

The lead screw is a length of 3/8x16 all-thread, driven by a rotisserie drive at about 5 RPM. The all-thread was ground into a square shape at the drive end to fit in the rotisserie drive's square drive socket, and the drive is attached to the unistrut frame by a magnet salvaged from a microwave oven magnetron. To reset the feeder I pull the drive off of the shaft and use a cordless drill to draw it back home.

Since the purpose of the feeder is to let me do other things while the saw cuts, it needs to implement a few important functions:

1. Stop the saw and feeder at an adjustable travel limit.

2. If the slack switch indicates that the blade is sitting on the rock, keep cutting but stop the feed screw. If the slack doesn't tighten up in a reasonable time, stop the saw.

3. If the power comes on with the saw on, don't actually start the saw. (The lubricant drains out of the lines when the saw is off, and starting dry can damage the motor and blade.)

These functions can be done with relays. The reason for the Propeller is to add a remote monitor feature. My computer and electronics bench are all the way across the house from the garage where the saw lives, and with the garage door closed I can't hear it to tell whether it's stopped. So I decided to implement a Telnet server so the saw could report its status right on my computer screen. (I could, of course, have implemented a webserver instead, but this was much simpler and completely adequate; and I actually like the scrolling history of what the saw has been up to as it changes state.)

I also added a rotation sensor so the remote monitor could indicate how many turns have been completed, in case it's still running and I've lost track of how long it's been running. My original plan was to count fast turns as reverse reset drive by the drill and slow turns as forward cutting, but in practice the reed switch I'm using isn't fast enough to keep up with the drill. I may switch to a Hall Effect sensor one day. Pressing the limit switch (or Z via Telnet) resets the counter. The remote monitor also displays a warning on rotation sensor timeout but doesn't stop the saw since this is not a dangerous failure mode.

Implementation:

The circuit board is a PropRPM with a uController.com PropNIC ENC28J60 module mounted to its prototyping area. This was originally built for a prototype industrial project which has since moved on to custom hardware. For this project I added two NPN transistors to pull the output relays, five pullup resistors for switch inputs, and screw terminals for outside interfacing. The PropRPM is mounted under an acrylic picture frame to keep debris off the board while keeping the LED bar and connections visible. The user interface is a push on/push off style switch. There is no schematic because I didn't use one; all wiring was ad-hoc with some changes made along the way and the connections can be noted from the project source code.

The saw and rotisserie drive are controlled by mechanical relays. While these relays are technically capable of carrying the saw's rated current, its 1/3 HP motor is a big honking inductive load and on several occasions it has blown the house circuit breaker when the blade jammed, so I used the 9V coil relay to drive a big honking contactor which in turn enables the big honking motor. There is also a manual off switch mounted under the saw.

The PropRPM LED bar shows the status of the inputs and outputs, and one LED flashes coded messages indicting the saw's state. The PropRPM also generates a video output similar to the Telnet monitor, but I'im not using it because I don't have a TV monitor in the garage.

Interesting Software Features:

For this project I used an older version of Harrison Pham's TCP stack which had a couple of bugs in it I had to fix. He has since come out with a newer version which fixes the bugs and adds features (see his award winning Thumper project), but I used this one because it's the one I was hacking around with last time I did anything serious with ethernet. I have also included in the source a simple sample Telnet client/server example I did in those days which was the starting point for this project.

All saw logic is written in spin and runs in one cog with a state machine. This logic builds a text description of what the saw is up to as its state changes, which is displayed on the TV output and transmitted once a second by the Telnet server working in a different cog. Two message buffers are used, with the saw logic writing to one while the other is displayed, so that the Telnet server won't try to transmit a half-completed string.

Binary patterns are used to blink the status LED to indicate the saw's state; fast and slow blinking are used for run and stop, while errors are Morse code letters.

The inputs and outputs are not hardware contiguous so they are dereferenced by a pointer array so that they can be conveniently debounced and displayed by common loop code.

There are routines in the source for formatting fixed-length decimal strings which some folks might find useful.

The elapsed time seconds counting is approximate only. It's possible to do this "right" in Spin but I didn't bother tweaking it because for this purpose approximate is fine. The display also does not deal gracefully with intervals over 59 minutes, but in normal operation a cut would never take that long.

Problems:

My original plan was to use a wireless bridge to link the ENC28J60 to my home wireless network. The first adapter I tried (TrendNet TEW-430APB) worked fine as long as the rotisserie drive wasn't running but when the saw was in use wouldn't stay connected to the Prop for more than a few minutes. (Not the RF link -- that was fine. The ethernet light on the Prop's RJ45 would actually go out, and only power cycling the Prop or access point would get it back.)

The next adapter I tried (LinkSys/Cisco WET610N) worked much better, but for reasons I could never figure out it would connect fine to the TrendNet in access point mode but it wouldn't connect to the Verizon MiFi2200 which I really use as my home network wireless router.

Finally I tried a set of NetGear XETB1001 powerline 85 ethernet adapters, and these work beautifully. The only caveat is that they don't like extension cords; you have to plug them straight into wall outlets. The one in the garage doesn't even mind being plugged into the same outlet as the saw and its contactor.

I also found that the Prop's ENC28J60 would sometimes lock up in response to the saw contactor cycling. I solved this by installing a QuenchArc across the contactor coil.

Because of the dropped connection problem I added a constantly changing activity indicator to the Telnet display even for saw states where nothing is happening, so I can tell whether the connection has frozen. Since installing the powerline ethernet adapters and quencharc, this has been less of a problem but now I'll have an indication if it recurs.

Originally the only Telnet remote command was ESC to close the session. I added Z to zero the counter because the reed switch doesn't roll the counter back when the saw is reset as I'd intended, and sometimes I forget to tap the limit switch to reset it when starting the saw. I added L to force a limit switch stop because when I'm running the saw with the garage door open (good weather only) so I can hear it, I can tell if it's finished the cut and go ahead and stop it from my PC.
1280 x 960 - 375K
900 x 1200 - 153K
1280 x 960 - 384K
1280 x 960 - 378K
1280 x 960 - 388K
1280 x 960 - 378K
1280 x 960 - 384K
900 x 1200 - 72K
640 x 480 - 68K

Comments

  • KaosKiddKaosKidd Posts: 296
    edited 2010-10-12 09:45
    Nice Project!
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-10-12 10:33
    Excellent work and great use of PropRPM with monitoring and sensors! Keep up the fine projects and look forward to seeing more. Would like to hear more about how you'll use this. Is it for the work place or another hobby field?
  • localrogerlocalroger Posts: 3,451
    edited 2010-10-12 12:15
    Thanks guys.

    Humanoido, this is a sort of hobby/side business. Back when I got this saw we were doing a bit of wheeling and dealing in semiprecious gemstone rough, setting up a booth at the local gem/mineral shows, and trading on eBay. But the booth fees drove us out of the shows, and shipping made mail order a pain (rocks are heavy), and we got into other stuff. But lately we've learned that some of our stock has increased in value, and there's the flat rate shipping boxes now, so we decided to get some of the rock cutting stuff back online and test the waters again.

    This project makes me a lot more productive because I can do other things while it cuts and it doesn't take nearly as long to remove the last item, reset the saw, and start a new one as it does to do each cut.
  • ElectricAyeElectricAye Posts: 4,561
    edited 2010-10-12 21:20
    Very cool. Who says the Propeller isn't cutting edge technology?

    :)
Sign In or Register to comment.