Wednesday, July 21, 2010
A Few Thoughts On Obtaining Custom Machined Parts
If you do much building, creating, or inventing, you will have need of custom made parts that simply cannot be bought off the shelf. Many an inventor or engineer turns to a machine shop to make such parts. This solution is not without problems, however, and is usually out of reach of the average home hobbyist or tinkerer.
Despite the sorry state of the economy, machine shops charge a king's ransom these days even to do fairly simple jobs. This is, in part, due to the 'set-up' cost, any special tooling or jigs, ... required for doing a job. Much of the time and labor cost to fabricate something is taken up with preparation: laying it out, precision measuring, and readying the machine tools to do the work. Many machine shops concentrate on volume work and don't want to mess with "small" jobs, as they don't consider those profitable. While volume shops can amortize the set-up and tooling costs over a large number of widgets made, a prototype or short-run oriented shop must charge for that along with the materials and labor of making one or handful of parts. On a "one-off" job, the set-up often takes longer than making the part itself. Even in the unlikely event money is no object, try to find a local machine shop: it's nigh to impossible in many parts of the United States, given the off-shoring of manufacturing in the last 30 years. Sadly, very few young folks today are going into this trade. This is in part due to market forces, coupled with the general low esteem modern society has for "working with your hands" or "getting dirty".
Workarounds
Fortunately there are ways around the problem in many cases. Here are several ideas I've used:
1) If possible, change the design to use something that doesn't require expensive machining. Lots of things can be "re-purposed". One example: People have made wind-powered generators using a front brake rotor, wheel bearings, and spindle removed from a junked car.
2) If you must have something made 'from scratch', try to simplify your design to require as few machining steps as possible. Every step in the process of making a part requires more tooling and set-up, and thereby adds cost to the total project.
2) If you have access to a local community college or high school that offers a metal shop class for adults, you can take a course and gain access to the tools you need to do your project. As an aside, many people take auto shop classes in order to gain access to facilities and instructional advice for rebuilding classic cars.
3) Don't overlook resources at work. I was lucky enough for several years to work at a small engineering company that had its own machine shop. With the permission of my boss and the staff machinist, I was able to get some stuff done during lunch breaks and/or after hours.
4) Finally, you would be amazed at the stuff one can do in a pinch using simple hand tools, some skills, and much patience. For centuries prior to the advent of lathes, drill presses, and CNC machines, people made many things by hand that, to modern folk, would seem impossible. A couple examples include clocks that kept excellent time, and 10' long wooden blowguns with nice, smooth, straight bores.
I've mentioned Lindsay Publications in a previous blog post. These folks have reprinted many old, "outdated" manuals that detail long-forgotten skills that folks used to get things done prior to the modern era. They're online, or you can still order their books the old fashioned way by phone or 'snail'. Any inventor, engineer, hobbyist, tinkerer, or one interested in a more self-sufficient lifestyle would do well to regularly peruse Lindsay's book selection.
A "Simple" Project - Overcoming Some Challenges:
The photo above is of a 1.25" pipe plug I tapped for 1/4" NPT pipe. I pilot-drilled the hole to 1/8", then worked up in small drill size increments to a final hole size of 7/16". I tapped it using a Greenfield 1/4NPT TPR pipe tap bought from McMaster Carr. Note I tapped from BOTH ends, leaving a small unthreaded section in the center. I needed to be able to thread a pipe nipple into each side of the plug for a project I did a while back.
Sounds simple, right? Problem was I didn't have a tap handle that properly fit the tap nor did I have a good, bench-mounted machinist vice.
For a "tap handle" I used an adjustable "Crescent" type wrench to grip the square end of the tap. I turned the wrench with one hand, while using the palm of my other hand to press downward upon the "gripping" end of the wrench to drive the tap in straight. When I threaded the bottom side of the pipe plug, I was able to clamp it in an inverted position by its hex flange in my drill press vise, just as I had for drilling the hole. The threads in the top side were a bit more challenging.
As I mentioned previously, I didn't have a machinist bench vise available.
My drill press vise's jaws aren't deep enough to hold the plug's hex flange while I tapped that side. If I tried to clamp onto the threads I would ruin them and they would leak, assuming the plug would still even screw into a fitting afterward. So I bought a 1.25" pipe cap that I could clamp into the drill press vise. With the cap clamped securely, I simply screwed the plug into it and tapped the other side as before.
Not including the trip back to the hardware store to buy a pipe cap, this took about an hour to do all this. But it was MUCH cheaper and quicker than hiring a machine shop - ASSUMING they would even do a small job like this. I still did this myself in LESS time than I would take just to DRIVE to the nearest machine shop to pick up the work when it was done.
Granted, there are indeed some things, such as building a scroll type refrigeration compressor, that ARE impossible to do without some major machine shop tools. The original idea for that was conceived nearly 100 years ago, but it took the development of computerized machine tools to make the parts to the exacting tolerances needed for it to work. That said, many things can be and have been done under quite primitive - almost 'impossible' - circumstances.
Friday, July 2, 2010
Serial Relay Control Fixture
During my career as an electronic technician, I built many different test fixtures for both engineering and production testing. One thing nearly all automated test set-ups need is some PC-driven interface for controlling power and signals during testing. Enter the serial relay control fixture.
The serial relay fixture detailed here is used in an automated test tower to control power and signals to and from each of up to 8 assemblies, or units being tested (UUTs). This device consists of a 12 volt power supply, six RS-232 relay boards, connectors for each type of port, and quite a bit of interconnect wiring - all contained in an aluminum housing. As is shown in the above photo, there is both an exhaust fan as well as a filtered air intake port for ventilation. The cover is reversed in the photo showing the opened box - when assembled, the fan is normally positioned near the power supply to quickly remove the heat it generates. Each of the serial relay boards is uniquely addressable and contains 8 relays. Each of the relays is a DPDT unit which can be individually controlled with RS232 commands. Since there are six boards in the fixture, there are a total of 48 relays available for use.
Eight of these relays controlled power to each of the UUTs, most of the remaining ones switched signals between the UUTs and various pieces of gear. The RS-232 relay boards, a "commercial off-the-shelf" item, are PIC microcontroller based. These boards were designed such that up to 255 of them may be connected in parallel off the same RS-232 buss. Prior to being interconnected in this way, each one must be programmed individually by connecting it to a PC and assigning it a unique identifier number (address). Once this is done, each board can remember its address even if power is disconnected.
This fixture, as well as the complete refrigerator-size test tower it is a part of, is controlled via a Windows PC running LabVIEW software. The LabVIEW code performs two essential functions: it handles all the signals which control the sequence of the tests, and performs data acquisition via test gear equipped with GPIB or RS-232 ports. Each of the UUTs also communicates with another of the the PC's serial ports through a 16 port serial console switch - also controlled via the LabVIEW program.
While this serial relay control fixture was strictly used for control of an automated test tower, one could clearly use this same technology to accomplish other tasks - such as controlling industrial processes, or performing building automation functions.
Thursday, July 1, 2010
Getting JAVA to work in Firefox 3.66: The REAL Scoop
Recently, my Ubuntu LINUX box - a 2.4GHz P4 - suffered a catastrophic hardware failure. I will have to replace the motherboard, CPU, and memory. I have a dual-boot system with Windows VISTA and Fedora LINUX which I set up for experiments and for work on my graduate school classes. The Fedora box lacked some of the software I needed for email reading, listening to MP3s, ... that I did on the Ubuntu box. So under duress I scrambled to set it up to handle the slack.
After an evening-long battle, I have finally gotten most of the software installed that I need for important everyday business. Other than updating Firefox to the latest version (3.6.6 as of this writing), one of the most basic requirements is JAVA, since so many web sites use it extensively.
In order to get JAVA running in the Firefox browser in a LINUX environment, you need to add a symbolic link (symlink in IT speak) in your /usr/mozilla/plugins directory. In the past, the file one wanted to link to was libjavaplugin_oji.so. That all has changed, but most sites on the Internet have NOT caught up with the times! The file you NOW want to make your symlink to is libnpjp2.so.
Use the format of the instructions you read everywhere else, but you can generally use this default path to link the proper file:
/usr/java/jre1.6.0_20/lib/i386/libnpjp2.so
If your JAVA runtime engine is installed in another directory, or is a different version, modify the path accordingly.
Here's what to do:
Using the command line, navigate to your /usr/lib/mozilla/plugins directory (usual default path), su to root, and type the command seen below.
ln -s /usr/java/jre1.6.0_20/lib/i386/libnpjp2.so
As stated earlier, if your JAVA is installed in a location different than /usr/java, or if you are using a different release of JAVA, modify this command accordingly.
Then do a "ls" command and make sure the libnpjp2.so symlink appears.
Once this is done, you need to test your installation to make sure it works. Go to Sun's Java Test Page. Click on the link to verify your JAVA version. If all is working correctly you should get a message confirming what version of the JAVA runtime engine you are running.
MANY, many thanks to Albert Hayr for this information! You can reach his site here.
In a future post I'll cover which repositories actually DO have the plugins for MP3 playing. I'm finding that there's considerable wrong information on this as well.
See my update to this article here: ORACLE Java Issues.
After an evening-long battle, I have finally gotten most of the software installed that I need for important everyday business. Other than updating Firefox to the latest version (3.6.6 as of this writing), one of the most basic requirements is JAVA, since so many web sites use it extensively.
In order to get JAVA running in the Firefox browser in a LINUX environment, you need to add a symbolic link (symlink in IT speak) in your /usr/mozilla/plugins directory. In the past, the file one wanted to link to was libjavaplugin_oji.so. That all has changed, but most sites on the Internet have NOT caught up with the times! The file you NOW want to make your symlink to is libnpjp2.so.
Use the format of the instructions you read everywhere else, but you can generally use this default path to link the proper file:
/usr/java/jre1.6.0_20/lib/i386/libnpjp2.so
If your JAVA runtime engine is installed in another directory, or is a different version, modify the path accordingly.
Here's what to do:
Using the command line, navigate to your /usr/lib/mozilla/plugins directory (usual default path), su to root, and type the command seen below.
ln -s /usr/java/jre1.6.0_20/lib/i386/libnpjp2.so
As stated earlier, if your JAVA is installed in a location different than /usr/java, or if you are using a different release of JAVA, modify this command accordingly.
Then do a "ls" command and make sure the libnpjp2.so symlink appears.
Once this is done, you need to test your installation to make sure it works. Go to Sun's Java Test Page. Click on the link to verify your JAVA version. If all is working correctly you should get a message confirming what version of the JAVA runtime engine you are running.
MANY, many thanks to Albert Hayr for this information! You can reach his site here.
In a future post I'll cover which repositories actually DO have the plugins for MP3 playing. I'm finding that there's considerable wrong information on this as well.
See my update to this article here: ORACLE Java Issues.
Subscribe to:
Posts (Atom)