Tuesday, August 23, 2011

MakerBot DC Servo Controller and Quadrature Divider

I've been working on putting together the parts that will run one of the Makery robot arms for an art show. Part of this involves getting a MakerBot DC Servo controller working with the 1000 ppr servos on the arm. At moderate speeds the encoder output is over 25kHz, which is apparently too fast for the servo controller software. If the encoder output changes at all the controller gets confused and runs away.

To address this I loaded a 3 channel quadrature divider program onto an ATmega168. This will divide the quadrature pulse stream by 16 (it is configurable, powers of two up to 16), which should make it slow enough for the servo controller to handle it pretty easily.

I uploaded a video of it running, and added a bazillion annotation bubbles.

The next step is to feed it a pulse stream and see how well it responds.

Sunday, August 7, 2011

Doorbell Upgrade

Recently I discovered that my doorbell has become unreliable. The UPS guy never wants to wait around, and sometimes he takes the packages with him, so I had to do something about this problem. I picked up a new bell at the hardware store for a couple bucks, but it's a cheap plastic model, where the original is a nice heavy metal model with a light in it.

I took apart the old one to see if I could swap parts to reuse the nicer one, and found that the only part that was really a problem was the button, which has degraded on the side facing the afternoon sun.

Fortunately the new one is almost exactly the same size, so I swapped it in and had a like-new repair. Cool, 5 minutes and the job was done.

Of course, as soon as I reconnected the wires the little light bulb burned out. It's been running continuously for 5 years now, so I guess that isn't too bad a lifetime, but I'd like the button to be lit, so I'll need to get that little guy out of there and find a replacement.

I'd probably have to spend $15 on a new lighted switch to get one of those little 20VAC bulbs, so I'll be looking for something else. Twenty volts is a little low for neon bulbs and electroluminescent wire or film, so I guess it'll have to be an LED. Fortunately I've got a ton of those. Red would be neat, but maybe a little boring. I have a bunch of IR LED's and some luminescent powder, so I could coat the inside of the button and make it glow, but I'll probably have to replace it again in a few years, and I don't want to have to reapply the glow powder. So I think I'll go with one of the blue LEDs I had left over from my binary clock project.

The LED will need a diode to block half the AC voltage and a resistor to limit the current. I used 33mA for the clock, and that's plenty bright for this, so I found an ~800 ohm resistor for this.

There isn't much space in the doorbell, so I marked where the circuit board did not lay on top of the metal contacts, connected the resistor and diode and laid them out to see where I'd need new holes for the leads.

Looks like it will fit without much trouble. There is just enough room between the PCB and the wall to avoid squashing the resistor. I marked the trace where the new holes will go and drilled them out.

Then cut the trace between the new holes.

A little work with a needle file to make some new pads around the holes...

And I can solder in the new components.

Next the LED goes in, but first I lopped off the lens with the dremel to turn the end of the LED into a diffuser. There isn't enough room in the switch body to stand it up, and the beam is too narrow for that anyway.

Before I reassembled the switch I took the chance to bend the contacts into a higher arc so that the button only has to be pushed about 2mm to make contact. It was set for more like 3mm, which put the button almost inside the switch body, which was contributing to the difficulty of getting it to work.

I put it back together and hooked it up, and it's working as planned:

A neat improvement on this would be to replace the factory board with a custom board with an ATtiny13 and a couple SMT RGB LEDs so that the button could cycle through a set of colors. It would reset when the switch is pressed, so the startup code could do a neat flash of colors to indicate that it had been pressed before returning to the usual slow color cycle.

Saturday, August 6, 2011

Motorized Potentiometer

I had a broken micro RC car that used a gearbox with a tiny potentiometer on it for controlling the steering angle. I thought it would be interesting to replace the little potentiometer with a regular sized version so I could set the position either manually or from a microcontroller by driving the motor.

I drilled a bit of brass rod to fit over the gearbox output and to fit the stub of shaft on the back of the pot. I used some loctite and epoxy to connect the shafts together, and ran it a bit to get it all concentric, then epoxied a bit of aluminum strap to both.

The next step is to come up with some code to read the pot and drive the motor to the commanded position. Since it holds position without power to the motor, the h-bridge can be left idle except when it is moving to a commanded position, so that a user can turn the knob to adjust a setting.

Monday, August 1, 2011

Stepper Heat Sinks

I've been using some Pololu A4983 Stepper Motor Driver Carrier boards to run the stepper motors on my mill, but I noticed the other day that they are overheating and cutting out briefly, even with a small fan blowing on them. This isn't surprising, since I'm not running them with any sort of heat sink. As a test I held a bit of brass rod against the top of one of the chips and the glitching went away immediately.

To make some heat sinks I decided I would cut down a heat sink I pulled out of some salvage equipment. Probably a computer monitor. I stopped by the Makery to use the sawzall and scroll saw to chop it up into suitably sized bits, then returned home to finish them off.

I spent some time with the dremel to make a 5x5mm pad on the bottom of the heatsink. I just eyeballed it, but the micrometer says they are all within 0.15mm of the target size, except one, which was off by 0.5mm. Not bad for eyeballing.

I didn't have any thermal tape, which would be perfect for this, so I just put some thermal compound on it to be a weak adhesive. I'll just have to be careful with them for now. Once I have the machine running with this cobbled-together electronics setup I'll use it to make something to mount the parts more robustly.

Now they just have to sit around so the heatsink compound can set up a bit.

Binding Books

This weekend some friends and I spent a few hours working on binding some books. We started with the paper from some drawing pads which we folded in half in sets of 4 to 6 to form signatures. We stacked between 5 and 8 of the signatures and stitched book tapes to them, then glued on the mull to form the book block.

I cut some 1/8th inch hardboard to make coverboards and the spine. To this we glued some card stock to make the hinge, and then to the coverboards we glued some fabrics.

The book block was then pasted into the cover along with end papers made from scrapbooking papers. This was then clamped to prevent the pages wrinkling while the paste dried.

The spines ended up being to wide IMO, I think I prefer them to be about 1/8 to a 1/4 inch narrower than we made these. On the other hand, we can put lots of stuff between the pages of these books and then the spine will be just right.

Zinc Casting

Did a quick zinc casting of a small knight figure. This was a sand casting demo for some friends who are interested in the skill. I was surprised that the shaft of the mace came out, since it is only about 2mm in diameter.

The casting ended up with a poor surface finish. I haven't worked out the main cause of this. It may be related to pouring temperature or venting.

For small things like this I think it would be interesting to try building a small electric furnace.

Monday, July 25, 2011

Re-Recording Test: I Am Sitting in a Room

A few years ago I ran across composer Alvin Lucier's work "I Am Sitting in a Room".

I thought that this was pretty cool, though excessively long. I've thought that it would be interesting to reproduce it, just for fun. Since the Makery is in a large multi-chambered concrete basement, it has some interesting acoustic properties.

So on Saturday I took my laptop down and plugged it into a little stereo and a USB microphone from the parts box at the Makery and tried some very simple re-recording experiments.

While I was doing the recording inside the Makery we noticed that the drywall was resonating fairly strongly, enough to rattle the array of hard disk platters hanging from the corkboard on that wall.

For recording I just used the Windows Sound Recorder. I mistakenly allowed it to save in the default WMA format which made getting the audio into Audacity tedious, since Audacity doesn't support WMA. For playback I just dropped the WMA files into Windows Media Player.

The work flow was pretty simple. I would listen to the recording to check the levels. If it sounded like it was clipping I'd adjust the volume on the stereo, delete the recording and rerun the one before it. To record I'd just hit play, wait a few moments, then hit record. Wait for the clip to end, then press stop and save the file. Repeat.

The microphone had to be pretty close to the speakers to get enough input level, but it picked up the room sound well enough. It would have been nice to get only the room sound by locating the microphone farther from the speakers, but on the other hand the original signal might degrade too fast to be as interesting to listen to.

The small speakers I was using have some pretty bad panel resonances, and don't have any low frequency extension to speak of, and I did get some pretty bad clipping in a couple of the samples, so the result is not nearly as clean as it could be, but it's a good first pass. For the next try I want to use some higher quality speakers and keep a closer eye on the input and output levels to avoid clipping anywhere in the signal path, and hopefully the speakers will be sufficiently constructed to eliminate most of the panel resonances.

A waterfall spectragraph shows the room modes, and how the sample degrades over time, which is interesting, but I want to do a higher quality recording before I post pictures of that.

Anyway, here are links to the clips. The first one is from inside the Makery, the second from the large room outside the Makery.

Sunday, July 10, 2011

Testing the Aluminum Furnace

I and a couple guys from the Omaha Maker Group got together all the tools for doing some aluminum casting this morning. We're going to do a forge day with the group at some point, and we wanted to make sure my burner, the furnace body, and the crucible all work together.

Yesterday we fired it up at the Makery to make sure it at least worked well enough to go forward, which it did. We also made a box and a little ingot mold to use to cast some ingot-shaped ingots. We could use a muffin tin too, but we thought some traditional rectangular frustrum ingots would be cool.

For the second pour I rammed up a small mold from a previously made mold. We're thinking it will be fun to keep casting copies of copies and see how it degrades. While I was packing the cope we left the forge running. It went a little over temperature. The pouring temperature we aim for is about 1450F, when the aluminum has just a bit of a pink glow to it. This is way hotter than that.

Waiting around for some aluminum blocks to melt. There are some scrapped pieces of robot arm in there.

Opening up the mold after casting the skull.

Here is the setup for pouring from the crucible.

The crucible after pouring.

The inside of the furnace after running it up a bit too hot. Looking a little melty.

Hot ingots.

Here's a hard drive being recycled.


This was lots of fun, I'm looking forward to getting everyone together for forge day.

Wednesday, July 6, 2011

Ozone Generator

I've found that the fat cables that came with the robot arm I got from the Makery are out-gassing a horrid stink of damp basement. Whelwick is starting to smell like an old barn. To address this I'm going to take a two phase approach. I'll need to address the source of the odor, the cables, and also, mostly for fun, I'll build an ozone generator to eradicate the airborn odor through oxidation of whatever fumes it's been putting in the air here.

To treat the cables I intend to soak them in bleach solution for a few days. Before I do this, I want to leave the ozone generator running for a while, to see how effective it is at neutralizing the odor causing particles.

The simplest way to generate ozone, at least for me, is to use the corona discharge method to convert atmospheric oxygen, O2 to ozone, O3. I'll be using a 12kV 30mA neon sign transformer. This operates at the line frequency of 60Hz, which isn't great for ozone production, but it does work. Another way to do this is to repurpose the flyback transformer from an old CRT (I have half a dozen if anyone needs such a device). The flyback can be driven from a simple 555 or microcontroller circuit to produce a high voltage, high frequency signal which is more effective than 60Hz for ozone production. It's also smaller.

To produce the corona discharge I'm going to try using conductive plates separated by an insulator. In this case, aluminum ductwork tape and glass. First I cut a bit of glass from a piece of scrap.

I then applied the tape to both sides and trimmed it clear of the edges to avoid arcing around the edges.

The corona discharge occurs at the edges of the plate, not where they overlap, so I want as much edge as I can get. Overlap provides capacitance, which for this application, I don't need or want, so I want a plate pattern with no overlap and plenty of edge. I went with an 'E' pattern. It's easy to cut.

I decided to use copper wire from a length of Romex 10/3 as connectors, so I could easily support the panel with the connectors. To maximize the contact area I made the wire long and gave it a right angle bend to prevent it twisting.

I secured the connectors with some Gorilla Tape (it was what was handy, and it's fun to use).

The corona panel is then connected to the transformer. For testing I've attached the neon sign transformer to a variable autotransformer so that I can start out at a low voltage and ramp up the output of the neon sign transformer. Too much voltage can puncture the glass dielectric, which will shatter the glass (another reason for the tape, to contain the glass). I don't think there is much danger of this, since I'm not reaching voltages where this should be a problem, but if there are flaws in the glass it is possible.

The wiring for the neon sign transformer also has a safety gap configured. The spacing of the gap is set so that any voltage much above the 12kV the transformer secondary is designed for will cause an arc across the safety gap to protect the transformer.

To verify that it is generating ozone, and just in case it bursts, I put a container over the corona panel until I ran it up to full voltage and let it sit for a while.

The corona is fairly faint unless your eyes are dark adapted. To get visualize it I've set the camera up for long exposure in the dark. My cameras are cheapie point-n-clicks, so you'll have to put up with the not-so-great quality. here it is from both sides.

Here's what happens if you up the voltage but forget to open up the safety gap.

From the corona images it is apparent that the sharp points of the 'E' pattern are producing a lot of corona (the shape of an electric field around sharp points encourage dielectric breakdown and corona discharge, this is why bulbous, polished surfaces are so popular in high voltage labs). If you look closely though, you can see that there is discharge along the edges as well, as was intended. I don't know which is better. Regardless, it generates enough ozone. The staticy odor of ozone is strong after running for a couple of seconds of running.

I guess that qualifies this as a success.

Saturday, July 2, 2011

Robot Arm Obtained

One of the Omaha Maker Group's generous members donated some robot arms a while back. A couple of them had some mechanical issues, and we've stripped those for parts. Some of the remaining arms are reserved to possibly share with some other groups. This leaves a few that are mostly just being stored. Today while I was at the Makery I claimed one of the remaining arms and brought it home. I'm not down at the space often enough to make much progress working on an arm there, so I figure I'll work on it here at Whelwick.

First step is to hose the danged thing off; it's incrusted with old oil and grease, into which is embedded dust, grime, and cat hair, all of which is infused with a funk of barn with overtones of old machine shop and dank basement.

So, first a spray with the garden hose, then couple of good soakings with engine degreaser (my phone ate the picture of it coated in nice white foam :( ). This was followed by a couple more sprayings. This removed the bulk of the grime and cat hair. I followed this with some paper towels and Simple Green, some Oops for the tape gunk, etc. Then I spent a while blowing it all out with the leaf blower to get it reasonable dry.

As part of the cleaning and drying I removed the cover panels and discovered that the cast iron base on this particular arm has cracked. I could probably braze this, but since we scrapped a couple of identical arms, we've got a couple of spare bases sitting around. I'll pick one of those up next time I'm there and replace this one.

After a couple of hours of cleanup work, it still has a little bit of an odor, but it's fit to sit on the bench and wait for more technical attention.

Sand Casting Beads

For the sand casting demo for the Omaha Maker Group, I picked up some beads at Hobby Lobby to use as patterns. I thought that since these were convex they would make for an easier demo than the glass dish I used in my first attempt. These turned out to be pretty good patterns.

The two at the top are the original metal-finished plastic beads, the rest are my zinc castings. You can see on the larger casting on left that I had insufficient metal coming in to avoid a little bit of a shrinkage cavity at the top. The four smaller castings at the right were done in one pour. They came out better, with somewhat less shrinkage, but I didn't do quite as nice of a job of packing the sand, so the surface finish wasn't quite as nice. I took the best one and colored it with a sharpie and then polished it with a rag to remove the ink from the high points.

Casting these was pretty much like any other simple casting, nothing much to say about the process. For the demo I did a pretty rushed job of making the mold, so the results were fairly low quality, but the pour went well.

Wednesday, June 29, 2011

Small Subwoofers Project

I picked up a couple of cheap 8 inch subs to help fill out the bottom end in my RX-8. Not sure yet what the install will be, hoping they will fit between the back seats in an IB configuration.

I remembered seeing an image of a driver installed in this location on the RX8Club.com forums, but couldn't remember whether that install had used one or two drivers. With a little googling, I was able to locate the thread about the installation, which included this image provided by the guys who did the install (MotorMusic, Inc, who appear to be based in Oakland, CA).

The stock configuration looks like this.

And with the pass-through cover removed.

When I picked up the speakers I had intended to install both in this location, because I thought I remembered seeing an install like that. While the space is physically large enough to fit both drivers there (particularly if mounted basket-out), the layout of the plastic would make it a pretty tight fit. It would be possible to strip it out that stuff for a fully custom install, but I'm not going to get that deep into it.

From this it appears that if I want the driver facing into the cabin here without a lot of work, it'll need to be a single driver. There are a couple of other installation options to consider though.

A 4th order bandpass with the speakers in the trunk with a shared vented chamber ported through the passthrough would allow me to use both speakers, but would require a lot more space. This isn't necessarily a problem, since I'll probably have to remove the spare in any case and will likely have more trunk space even with a bandpass box.

Stacking the drivers in an isobaric configuration would reduce the sealed box size from 0.5 cubic feet down to about 0.25 cu.ft. I'm not all that interested in this configuration for one and only one reason: power. Isobaric configuration trades a driver for box size, and I hate to trade half of the possible output power for a quarter of a cubic foot.

A more typical configuration for this car would be to place the drivers at the sides of the trunk in sealed boxes.
I'm a little hesitant to hide relatively low powered drivers in the trunk though. Might have to stuff the spare 12" box in there and see how it sounds.

To test fit the driver at the side of the rear of the trunk, to verify that i would have enough volume to meet the recommended 0.5 cubic feet spec, I cut a cardboard panel to fit where the front baffle would be.
This defines the space and lets me see what the speakers will do to my available trunk spack. To estimate the volume I filled the cavity behind the cardboard with packing peanuts.
I then transfered the peanuts to a rectangular container to calculate the volume.
In this case it worked out to 0.8 cubic feet. That is a good start. The front baffle will be 3/4 inch MDF, and so ends up taking up about 183 cubic inches. Combined with the 10 cubic inch displacement of the driver, this reduces the space to 0.69 cubic feet. This will be reduced somewhat by the fiberglass shell and bracing, but it looks like it will work out quite well. I will still need to mount the amps somewhere. I think the best place for these is going to be on the backs of the seats. Thay will be way back out of the way that way. This configuration will let me keep my spare tire.

Automatic cat feeder project

Here is a short video of the slide portion of my automatic cat food dispenser project.

Ruben's tube

We put together a little Ruben's tube at the OMG meeting today. There has been some discussion about building a large tube for a week or so, but no one has yet come up with a length of tubing to use. We were standing around talking after the meeting and someone observed that the remnants of a small telescope that was sitting on the table could probably be used to make a small Ruben's tube. So we scrounged up some additional parts from the parts bins (pc speaker, vinyl hose, bread bag, aluminum sheet, duct tape) and whipped up this little guy.

One of the guys got some good video of it running, which I expect will show up on the Omaha Maker Group website or mailing list before too long.