February 1st, 2014 — Books, Projects
I’ve finished reading the Home Machinists Handbook by Doug Briney and am starting on some of the projects. Project 1: Make your own center and prick punches.
All finished except for the heat treating to harden the steel. Each punch was about 0.19 USD worth of steel, plus an hour of (technical, but non-union) labor.
January 14th, 2014 — Projects
After building an insulated cover for my 3D printer, I decided that I needed to put some lights inside. This allows me to see how the print job is progressing, both via the porthole, and via the interior webcam. Because green surplus neon tubes for computer cases are inexpensive and take 12 volts, I riced up the cover with two green neon tubes. The color complements the light teal of the foam insulation nicely, and gives my
Garage Laboratory an evil green glow at night.
December 20th, 2013 — Projects
My 3D printer lives in the garage. I use it to print ABS plastic, so the smell needs to be out there. However, as my garage is unheated, I have problems with ABS prints warping and cracking, especially during the winter due to the cold air around the part as it is printed. To solve this problem (and get better performance even in the summer) I built an insulated cover for my 3D printer.
I cut a round viewport in the door that is covered by shrink fit window insulation plastic. Continue reading →
December 18th, 2013 — Projects
(Or, “My UPS is bigger than yours, Na Nah Na Na Na!”)
Most consumer grade Uninterruptable Power Supplies (UPS) are designed to give you just enough time to save your work and shut down your computer, and run off of a 5 to 7 Amp Hour 12 volt battery (and because they are discharged so quickly, the pieukert effect means that you don’t get anywhere near the full 5-7 amp hour capacity).
The battery core of my UPS is a pair of two six volt GC2 deep cycle golf cart batteries rated at a 208 Ah capacity. Running a standard computer system, they will be well within their 20 hour rate curves, but as they can deliver 75 amps for 100+ minutes they can also run higher draw appliances such as a toaster oven or refrigerator if needed.
These are the same type of batteries as power my electric pickup truck, so I have a ready supply of halfway-used batteries. They can also act as a backup battery for my truck if one of the traction pack batteries need replacing. In addition, if we have a freak ice storm that takes out power for multiple days, I can swap batteries into the UPS from my truck and keep the refrigerator and some lights running for a week.
Of course, to run a 15 amp (120 volt) appliance off of a 12 volt supply you need something better than a $50 harbor freight inverter. Meet the Xantex Freedom 458, an inverter/charger originally designed for RV use. It provides dual 20 and 15 amp AC circuits plus a battery charger and AC pass-through from shore power when available. This means that it operates like a true UPS, running on grid current (shore power) and keeping the batteries charged when available, and immediately switching over to inverter power from the battery bank if the grid goes down.
I used AWG 2 gauge cables to connect the batteries to the inverter (because I couldn’t buy AWG 1 at Walmart) which should be good to at least 180 amps continuous (at 12 volts, this is the 2000 watt max rating of the inverter, well more than I plan on running through the system.)
The most time consuming part of assembling the UPS was building an enclosure out of 2×4′s and plywood. (4x 28″, 4x 16″, 4x 9″, plus 2 shelves of 16×14.5″ and 1 top of 16×17.5″). I put the batteries on top under a removable top cover so that every few months I can unscrew a few wood screws, lift up the top, and easily water the batteries. If I expand the system to use more than 2 batteries I’ll probably invest in a tube based battery watering system.
I also added casters to the bottom so that I can roll the UPS around to anywhere I want it (assuming it’s on the concrete garage floor, parking pad, driveway, or walkway).
November 24th, 2013 — Projects, Technology
We have owned an electric S-10 pickup truck for the last 1008 days (2.75 years) and used it as a daily driver. It was driven most frequently to the MARTA station, a 4 mile round trip commute, but also made trips to hardware stores, the Georgia Tech Campus, and to the homes of various people who were selling furniture or other larger items on craigslist. It uses twenty (six volt lead acid) golf cart batteries for its traction pack, and they have gradually lost capacity. When brand new, I would take the truck on 20 to 25 mile trips without stressing the battery pack. Recently however, the absolute maximum range of the truck had dropped to 12-14 miles and if you actually drove it 14 miles you could watch individual batteries hitting their absolute end of their state of charge. Although it could have functioned as a “Get to the MARTA station” vehicle for another year (or two?) I decided it was time to replace the pack to be able to comfortably go to the hardware store or make an extra emergency trip without worry. I have placed 685 charge cycles on the pack, which is in line with the lifespan for lead acid golf cart batteries.
The replacement pack cost $2,171 (I gave back all but one of the used batteries for the core charge), which gives me the final piece of information needed to calculate the total cost of ownership over the last 1008 days. We spent $464 on electricity (estimated at $0.11 a KWH), $610 on maintenance, and the previously mentioned $2,171 on batteries. Obviously, the battery pack is the large cost here. In fact, the electricity cost is very small on a monthly basis, and was never more than 10-15% of our total KWH usage.
We drove a total of 4,861 miles in that timeframe, giving a cost of $0.66 a mile or $3.22 a day. This does not take into account licensing and insurance, but those costs would be exactly the same for an internal combustion engine (ICE) vehicle. If the S-10 were an ICE model, it would probably get around 20 mpg, so the fuel cost (estimating $3.50 for a gallon of gas) would be $0.175 per mile. So for 4,861 miles it would take 242.55 gallons of gas or a fuel cost of $849. This would imply that an ICE vehcile would have to have a maintenance cost of $2400 to get the same per mile cost of ownership as my EV.
Although ICE vehicles are more expensive to maintain, unless something major on the engine exploded, it looks like my hypotheical ICE S10 pickup wins the straight up cost comparison. Of course, I never had to drive out of my way to stop at a gas station, and there is the matter of 242.5 gallons of gas I didn’t use. (the lead and plastic in my batteries goes back to the factory to make new batteries)
In the interest of full disclosure, my first pack of batteries was purchased at a Sam’s Club for $1,800, so my true cost per mile is closer to $0.59. (But I used the pack replacement cost as an estimate for the cost of ownership for my next pack.)
I am hopefull that my 2nd pack (from Interstate batteries) will last longer, either because Interstate sells better batteries, or because I have learned how to care for them better. (Although I don’t think I did anything horrible to murder the first pack…)
October 13th, 2013 — Commentary, Linux, Projects
I set up a Raspberry Pi as a print host for my RepRap (using the Pi Camera Board as a webcam to view the print status). Here are my summary steps:
- Install Rasberrian and update it.
- Configure your system to enable wifi (if used) and camera board (if used) and enable the SSH server if you want to remotely administer the pi board using the “sudo raspi-config” command (you may also want to tweak your overclocking settings here, I’m using “Moderate”)
- Install OctoPrint following directions here: https://github.com/foosel/OctoPrint/wiki/Setup-on-a-Raspberry-Pi-running-Raspbian
- If you have a camera board, you may need to update your pi firmware (sudo apt-get install rpi-update; sudo rpi-update)
- To get the camera board set up as a streaming webcam, install mjpg-streamer experimental version from here:
“git clone https://github.com/jacksonliam/mjpg-streamer”
- You can compile it on the Pi using these instructions:
http://www.instructables.com/id/Create-an-internet-controlled-robot-using-Livebots/step5/Get-the-webcam-streamer-for-Raspberry-Pi/ (ignoring the step to download from sourceforge.net)
- Install the plugins to /usr/local/lib with “sudo make install”. Copy the www directory to the same location.
- Start the webcam streamer: mjpg_streamer -o “/usr/local/lib/output_http.so -w /usr/local/lib/www” -i “/usr/local/lib/input_raspicam.so -x 640 -y 480″
- Start OctoPrint (“OctoPrint/run”)
- Test it by pointing your browser to your raspberry pi’s IP address, port 8080 for the mjpg-stream and port 5000 for OctoPrint
- When all that works, put some commands in your /etc/rc.local file to start them both up whenever your Pi boot sup. I used: su pi -c ‘/home/pi/OctoPrint/run’ & AND su pi -c ‘/usr/local/bin/mjpg_streamer -o “/usr/local/lib/output_http.so -w /usr/local/lib/www” -i “/usr/local/lib/input_raspicam.so -x 640 -y 480″ ‘ &
My Thoughts: Everything works great on a wired (ethernet) connection, but my wifi adapter is performing extremely poorly for streaming video of the printer. Also, why can’t the camera board just have V4L support out of the box?
September 22nd, 2013 — Projects
I brought my rostock-mini 3D printer home so that I could take it to a class, and while I had it here, I decided to update a few minor things.
First, I swapped out the stepper motor brackets (which also serve as the legs) with three I had designed and printed that were 20mm taller. I have a full RAMPS board under the base plate of the rostock-mini, and although it fits, the fit was “very close”. I didn’t like the fact that my stepper motor wires would touch the surface the printer was sitting on, and the limited airflow paths. This extra 20mm really helps things out, and also opens up the possibility of installing an LCD control panel under the base plate in the front. (If I can figure out how to avoid my bed leveling knobs.)
Second, I upgraded the springs on my adjustable print bed to some that were a bit taller and a bit stiffer. My overall build volume was shortened from 187mm to 185mm, but now I have a lot more range for adjustments and the bed is more rigid (while still allowing the print head to push the spring loaded bed down if it crashes horribly).
Third, I wrapped some plastic spiral wire harness wrap around the wires leading down to the print head, to give them a better visual appearance.
Finally, I changed out my bowden tube from using M4 nuts to hold the tube to using screw in Push To Connect adapters. The goal was to allow me to remove the tube from either end without having to unscrew the plastic part holding the nut in place. However, the cheap PTC adapters I bought appear to be single use, in that they don’t release the tube reliably without breaking, so basically it just makes the bowden tube look slightly more professional.
September 20th, 2013 — Commentary
I am using the OpenSCAD parametric 3D design tool to teach students about programming concepts such as conditional execution, encapsulation of code, and iteration. Students are motivated by building visual objects, and if you have access to a 3D printer the students are very motivated to get their part printed.
Here are some documents I share with educators to be used to learn/teach about OpenSCAD and 3D printing:
Outline of the class
3D printing vocabulary
September 18th, 2013 — Commentary, Linux, Uncategorized
I purchased an external HD that was “mac compatable” but I used it with a linux system and used fdisk to put two partitions on it.
Later on, I wanted to use gparted to easily resize one of the partitions, but it refused to see any partitions at all on the disk.
fdisk could still see them just fine, but reported “Partition type: mac”
It turns out that the problem was that the disk originally came with a mac partition table in addition to (right after) the regular MBR Master Boot Record.
I noticed that the first partition didn’t actually start until 63 sectors into the disk (at the beginning of the 2nd cylinder).
Device Boot Start End Blocks Id System
/dev/sdb1 63 1171893554 585946746 83 Linux
So I used DD to copy the first cylinder to a file:
sudo dd bs=512 count=62 if=/dev/sdb of=firstCyl.bin
62+0 records in
62+0 records out
31744 bytes (32 kB) copied, 0.000715733 s, 44.4 MB/s
Looking at that bin file in an editor, I saw the string “Apple_partition_map” which is a dead givaway of what the problem was.
So, I wrote out all zeros to the first cylinder:
sudo dd bs=512 count=62 if=/dev/zero of=/dev/sdb
62+0 records in
62+0 records out
31744 bytes (32 kB) copied, 0.00165608 s, 19.2 MB/s
And then I copied the first sector (512 bytes) back from the firstCyl.bin file I had made:
summetj@constantine:~$ sudo dd bs=512 count=1 if=firstCyl.bin of=/dev/sdb
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.00183878 s, 278 kB/s
And it worked! Now gparted is no longer confused by the apple (mac) partition table that I zeroed out, and sees my partition.
September 9th, 2013 — Commentary
I recently replaced a MakerGear hot end with a different model (MG Plus) but wanted to maintain the same connectors (used for the resistive heater and the thermocouple). The MakerGear connectors had a positive locking clip, while the JST connector that came with the MG Plus thermocouple was only friction fit.
FYI – The MakerGear hot end and Prussa Mendel kit I have use the following Molex Micro Fit 3.0 Family parts:
- The female connector (with the bump) is a Molex 0436450200 (DigiKey part number WM1845-ND).
- The male connector (with the hook that catches the bump) is a Molex 0436400201 Digi-Key part number WM1855-ND
- You will also need the associated female and male crimp connectors for the internal contacts: Molex 43030-001 tin 20-24 guage wire (DigiKey part: WM1837CT-ND CONN TERM FEMALE 20-24AWG TIN) and Molex 43031-007 tin 20-24 gauge wire male terminal (DigiKey Part: WM1841-ND WM1841-ND CONN TERM MALE 20-24AWG TIN)
( You might want to get the crimp connectors for smaller wire (higher gauge numbers) depending upon what wires your thermocouple uses, but I got 20-24 gauge for use on power connections and just soldered my thermocouple wires into them.)
The cartridge heater on the MG Plus nozzle came with enough wire to reach all the way down to my RAMPS board so I ended up only using the molex connectors for the thermocouple, and running the resistive heater wire all the way down. This left me with a set of wires going to my hot end terminating with a molex, and I eventually plan on using this for an “always on” fan for cooling the top of the hot end (as opposed to the “under RAMPS control” fan for layer cooling).