Friday, June 25, 2010

Arduino Common Knowledge, Part 1 of N: LEDs Without Resistors

Some time ago I read a book called "C++ Common Knowledge". It consisted of a series of short 2-3 page articles, each detailing some important, but often misunderstood detail of C++. Recently, I've answered a number of Arduino/Electronics questions that seem to have this same feeling to them. This is the first in a series of short articles I'm going to call "Arduino Common Knowledge".

Today, we'll start with an idea that seems to go against all safety warnings: you can blink an LED directly off an Arduino/AVR pin. Yep, no resistors. We've probably all experienced the fun of plugging an LED in between our 5V and ground rails, and watching it glow brightly for a second before exploding and smelling quite awful -- so it seems natural we'd always want to install a current-limiting resistor to stop this problem.

But here's the interesting part: your Arduino/AVR is a current-limiting device. The I/O pins can typically only source about 15-20mA of current. Thus, if we connect our LED between the pin and ground, and toggle the pin high, our LED glows nicely without exploding.

There are a few caveats to this though: you can't do this on every pin on the AVR at the same time, or even a large number of pins. The ATMEGA168 data sheet specifies that the Absolute Maximum DC current between Vcc and GND is 200.0mA. Since the AVR core and periphrasis such as the UART/SPI/ADC draw some current of their own, we clearly can't control a huge number of LEDs this way. Also note that if we leave the LEDs on for a long time, you'll probably notice the AVR getting a bit warm sourcing that much current.

Next Up: Pull-Up Resistors (and Why You Need Them)

Tuesday, June 22, 2010

Another Day of Printing (and Issy Building)

I got another day of solid printing out of the Makerbot. Finished printing Issy's legs, printed his head camera mount, and the first segment of the tail. The head camera mount is a fairly massive print, at 3.5" x 1.75" and an inch tall. The first attempt warped massively after the first 3 layers and had to be tossed. I got a much better raft on the second one, and it came out fine (some warpage, but not enough to ruin the print). I'm hoping to crank out the snout and second tail section tomorrow.

Unfortunately, no pictures. My camera is on vacation in Florida. But, here's a rendering of the final head/snout with the MS Lifecam cameras:

Sunday, June 13, 2010

Printing Grippers

The Makerbot has gotten a decent workout this past week, printing legs for Issy and (among other parts) a gripper for an upcoming bot. The third time really is the charm: with all the designs for this gripper and Issy's legs, the third design was the one I stuck with. Here's some pics of the aforementioned HS-55 based grippers I'm creating for a 2011 robowaiter entry:



















Each gripper has two printed parts: the HS-55 mount and the C-bracket. The servo mount is the same part for both the left and right sides but I had to slightly tailor the C-brackets to get decent range of motion. Each HS-55 mounts to an AX-12 C-bracket.

The gripper fingers are made of 1/16" thick 5052, about 3/4" wide, mounted with two 2mm screws. Instead of a bearing, I'm using a 3/16" Chicago bolt on the non-driven end of the printed C-bracket. Preliminary tests show the grippers have no problem holding the robowaiter plate.

-Fergs

Thursday, June 10, 2010

Issy's New Legs

One of the key features desired for Issy3 is a set of feet with tactile feedback. I've played with FSR versions in the past, and they tend not to survive that long.

Two afternoons of prototyping and printing has yielded the first of Issy's new feet. I have one leg assembled, but I'll still have to get some different hardware tomorrow to tweak it completely.

The foot consists of three printed parts: the outer case, the foot pad, and a retainer insert inside the case. A screw connects throw the foot pad and the retainer, and a spring pushes the foot downward. There will be a little spring steel connector on top that will get touched by the screw -- acting as a simple switch. A vinyl footpad gives traction.

Each foot takes about an hour of printing on the Makerbot.

-Fergs




Thursday, May 20, 2010

Robogames Wrap-Up

Well, it's almost a month since Robogames, but it's been hectic with the end of the semester. The semester is now over though, so it's robot time again.

Issy did terrible in Mech Warfare. He walked like a champ, but had numerous other issues. On Friday afternoon his gun literally exploded inside. Thankfully, I found a Sports Authority around the corner and purchased an extra gun(have I mentioned how much more convienient of a venue San Mateo is over the old place?). Apparently though the Trendnet camera decided that 6V was just too much - it stopped working on Saturday, and Issy was dunn for. He's already been torn down, and retired from Mech Warfare.

He'll be rebuilt over the course of the next month or so, this time with a Fit-PC2, stereo camera head, and a tail. He's going to be running ROS, which ought to be cool. Here's a teaser shot of what he will (hopefully) look like:

On other fronts, I'll be posting some other robot goodies over the coming days. I'm currently working on some finishing software touches for our first "social" robot at Albany, Nelson. I'm also working on a robowaiter entry for next April.

-Fergs

Friday, April 9, 2010

Announcing the RX Bridge

Our friend Andrew Alter, over at Trossen Robotics, has a bit of a servo fetish. He's the kind of guy for whom AX-12+ servos are just not enough -- he has to have RX-28s and RX-64s -- he recently even upgraded a number of his servos to the EX-106+ (you can read more about his robot Giger over here). Anyways, Andrew wanted to control some RX servos with his ArbotiX, and made that fact well known.

It's often said that "you can't eat your cake and have it too" -- but we at Vanadium Labs don't like idioms, because if we use them, our robots will too. What could be more annoying than a robot telling you "There is no free lunch"? So, we decided that the ArbotiX had to now control RX servos -- and that's exactly what our new RX-bridge can do! This little board plugs into your ArbotiX, transforming it into the lowest cost RX controller on the market -- and you can still use your favorite apps like PyPose/NUKE and the familiar Arduino IDE.

-Fergs

P.S. You can see it all in action on Andrew's RX-64 based quadruped -- powered by NUKE:

Sunday, March 14, 2010

Vacuum Former Finished

I've been working on building a vacuum former, on and off, since about November. Prior to today, it was still just a pile of parts -- it's now operational.

The former is build out of Home Depot aluminum, a cookie sheet with holes drilled in it, a portable grill/crockpot thingy, and massive shop vac.

It's pretty much a monstrosity. I tried to keep it small, by reducing the height of the lower box, but then ended up finding out I didn't have enough space to get the vacuum tube to turn... I then found these great adjustable legs, from a commercial range, they brought up the height a bunch, and made it easy to plug the tube in. They also add a bunch of weight to the bottom, making it quite a bit more stable.

Unfortunately, you'll have to wait a bit longer to see some of the results, as I didn't get around to snapping shots of Nelson's face plate.

-Fergs