Archive for the ‘Projects’ Category

Posted 13 September 2008 at 23:03:26 by dub

A while back I wrote about a project called OpenServo which basically replaces the guts of normal RC servos with higher performance electronics. I thought this project was really cool, mainly because you could pump a series of position values to the servo and it would fit a Bezier curve to the points for you. The main problem was that the project was setup for analog feedback only - encoders were not supported - which means it would be hard to adapt this project to normal servo motors. It turns out that adding encoder support would be hard because the microcontroller (the ubiquitous ATmega168) was basically tapped in terms of processing power.

I really wanted to add encoder support so that decent motion control could be added to projects for not much cash (hopefully less than $25 per board). So I have taken a first stab at a solution. I’ve picked the LS7366 to handle encoder reading duties. This chip decodes the two encoder phases and updates a 32 bit position value, which is then pumped out over an SPI bus to the ATmega168. This should be a fairly straightforward code change, but I still need to calculate or experiment to see if the SPI comms are as fast or faster than the analog reading they are replacing.

The original OpenServo uses a 50 milliohm shunt to measure motor current. I have replaced that shunt with the ACS712 hall effect current sensor. The reason for this change was two fold. The first reason is to allow currents greater than 2 amps to be measured (the power rating of the 50 mOhm resistor means only 2 amps can safely pass through the resistor). The second reason is just to improve the efficiency of the board, even if only slightly, by not burning any power in a shunt.

So anyway… above you can see my version of the OpenServo. It is almost ready to be sent for manufacturing. Updates will follow. Oh by the way, shipping was $13 from US Digital for 3 LS7366 chips… ouch.

Posted 5 April 2008 at 10:16:22 by dub

Here is a project I have been following over at AVRfreaks. A guy known only as Brad has developed an entirely AVR based game console in a surprisingly short amount of time. The console uses one microcontroller for the low-level video stuff, and another micro for sound generation. The “cartridge” can consist of any microcontroller of your choosing so long as it has enough IO lines to interface with the console. A unique RAM sharing setup makes the whole system very fast. I’m thinking about designing PCBs for this project when he releases his schematics.

Posted 20 February 2008 at 15:47:47 by dub

steam1.JPG

I must have been living in a cave. I-Wei Huang has been building steam powered RC vehicles for a couple of years now. They are expensive, complicated, impractical, and basically just all around ridiculous. And he’s built lots of them. But there is just something cool about seeing and hearing these contraptions chugging along. Check out some of the videos on his site… this is one thing I definitely won’t be attempting to recreate.

Posted 18 February 2008 at 15:07:07 by dub

mp31.jpg

A guy known only as ChaN has got some serious engineering skills. His talents include hardware, software, firmware, DSP, etc, but the thing that always strikes me is his protoyping abilities. He hardly ever makes real PCBs, instead he prefers to use tiny enamel coated wire to make connections between itty-bitty surface mount parts. His latest project is no exception. I think the concept of moving the actual device around to control it is kind of goofy (it’s an MP3 player, not a Wii controller), but the implementation is something to behold. Check out the rest of his site, he’s done tons of cool stuff.

Posted 3 February 2008 at 14:12:53 by dub

rgbled.jpg

rgbled21.jpg

So I finished up the PCB design, ordered boards, and populated one board. The LM3404 based current regulators work fine, but I haven’t scoped the critical signals yet to make sure there are no serious problems. I need to get an IR receiver (the missing 3 pin device on the bottom right corner of the board) and write the firmware. I think the pushbutton will be used to select different fade effects. I also need to buy some RGB LEDs, currently I am just using white 3 watt Cree LEDs. They are INSANELY bright. Once the firmware is finished up, I will post the Eagle files, gerbers, and firmware for all to enjoy.

Posted 25 January 2008 at 8:15:56 by dub

woodbike.jpg

I’m not big on picking up stories that all the other sites have covered to death, but this is just too cool. A 16 year old kid has built a bike made entirely of wood. To me, the most interesting part of the machine is the “ratcheting” mechanism that lets the rear wheel coast when you’re not pedaling. Though, I guess the chain was pretty tough to design.

Link - via Make

Posted 3 January 2008 at 22:12:29 by dub

motionprofileimage.jpg

A really cool open source project that has been brewing for a while is OpenServo. The basic idea was to create a high performance replacement for the guts of standard hobby servos. The clunky RC communication protocol has been ditched for a much more convenient I2C interface, which allows a truckload of OpenServos to be controlled by one master device. That’s great, but the real achievement is cascaded PID control of position, speed, and current. On top of that, the developers have given OpenServo the ability to interpret motion profiles based on a few parameters. The hangup is that the hardware and software design so far is intended to be used with hobby servos only, which get position feedback from a cheesy potentiometer instead of a quadrature encoder. If quadrature encoder support was added (and I believe it is in the works), the hardware design should scale up really well for larger motors. The software is already to a point that would make it useful for a wide variety of applications other than small hobby servos. This should be a great project to follow.

Posted 29 December 2007 at 22:26:23 by dub

scancammk4.jpg

It’s not very often that you run across someone who has crafted something unique and cool, but also genuinely useful. Tom Sharpless’s ScanCams fit the bill because they take impressive panoramic images using the guts of old scanners and photographic lenses. Especially interesting is his Mk4 machine. Granted, it may not produce images on the same level as the incredible Gigapan, but it is still an impressive achievement. It’s unclear if Mr. Sharpless has done any work within in the past few months, but we can only hope he will continue development of his awesome cameras.

Posted 21 December 2007 at 20:05:29 by dub

digitalreg.gif

There are as many techniques for precisely controlling a voltage as there are possible needs for such a technique. Here is a technique I wish I could take credit for, but you may not have seen before. The basic idea is kind of hackish: start with a normal adjustable voltage regulator (can be switching or linear, doesn’t matter) and inject a voltage onto the feedback node. The thing to keep in mind is that a regulator will do whatever it can (ie, raise or lower the output voltage) so that the voltage on the feedback node is always equal to a certain value - usually 1.25 volts. If we inject a voltage onto the feedback node, we can trick the regulator into raising or lowering its output. In reality, the idea isn’t as hackish as it sounds, because regulators are “basically” an op amp (with a high current output) and a voltage reference, which is exactly the key components that most fancy bench top power supplies are based on. The reasons why this technique is so appealing (to me at least):

  • Works with any regulator type: switching, linear, buck, boost, inverting, etc.
  • If the regulator is capable of it, you can produce negative voltages or a voltage which is above the input voltage by monkeying with the resistor values.
  • Can generate an output voltage below Vref (usually 1.25 volts) - you cannot do this with an unmodified regulator!
  • Possible to use a DAC or filtered PWM to digitally control the regulator.

Check out the attached Excel file. It will let you mess with resistor values and graph the output voltage. In the file, I have called the voltage we inject on the feedback node Vp. I’ve set up Vp to run from 0 to 5 volts with 10 bit resolution. This is only a brief intro to this idea and doesn’t represent a usable design. Maybe sometime in the future I can churn something out. Enjoy…

digitalreg.xls

Posted 15 December 2007 at 17:18:50 by dub

I have alot of projects that have most of the design work finished, but need finishing touches and the all important first build. These projects use the venerable ATmega168.

A balanced, bridged two channel amplifier. Idea came from DIYaudio. Actually this still has a fair bit of work left to do.

pcb06.gif
A super gnarly DAC + headphone amplifier. Has balanced outputs so it can be connected to the amp above. My attempt at “hi-fi.” I got a lot of inspiration and some schematic symbols from a project on DIYaudio.

pcb05.gif

A tiny robot/experiment board that has USB, 2.4Ghz wireless, dual H-bridges, and most pins brought out to headers. This is going to have to be manufactured at a pretty good board house because of the tight spacings on the CC2500 radio.

pcb01.gif

An LTC3401 boost converter.

pcb03.gif

An LTC1871 boost converter.

pcb02.gif

A “soft start” … this basically switches a power resistor in line with the primary of a transformer for a few milliseconds to limit in-rush current. The whole idea is that this circuit will let you pick a fuse that is appropriately sized for a large transformer since you won’t be having huge transients when the transformer is first plugged in. It’s a dangerous circuit because it works with live mains voltage, so I am kinda nervous about building it. Circuit came from DIYaudio, the layout is the only work I did.

pcb04.gif

RGB LED controller… after seeing Sylvain Bissonnette’s RGB LED controller, I just had to make my own. My version uses one LM3404 per color and has USB and IR interfaces.

pcb07.gif

In case you can’t tell, I like to layout PCBs. Keep checking back as I plan to complete these designs and publish ALL of the files.