Date: Wed, 18 Jan 2006 02:10:45 -0600 (CST) Subject: battery tray and power/performance tradeoffs X-UID: 124 Content-Type: IMAGE/JPEG; NAME="img2556.jpg" Content-Type: IMAGE/JPEG; NAME="img2559.jpg" The battery tray is fixed. It uses a clamping bar (not standard terminology - just made it up). I've seen this kind of solution for automotive batteries. A steel bar is clamped over a battery using a threaded rod and nut. In this case, the battery packs are clamped between a square steel tube and the two aluminum rails under the lexan plate. I'm going to use velcro on the bottom of the batteries (leave air vent holes clear) to prevent them from sliding around. I may also wrap electrical tape around the batteries and tray for extra insurance. This robot uses two low power embedded router boards, the Soekris 4801, that are based on the National Semiconductor Geode processor. Absolute maximum power consumption by each mainboard without any expansion cards is 5 watts. The balance of cost at around $200 for a 266 MHz Pentium MMX with 128 MB of RAM is competitive compared to industrial PC104 boards that cost several hundred percent more for equivalent specifications (although the PC104 products are usually super rugged). The smallest and lowest power desktop mainboards I could find were the VIA C3 based mini-ITX line with the fanless CPU heatsink 600 MHz model drawing 12 watts minimum. Typical power is higher. Unfortunately, Pentium M based boards are typically limited to OEMs. You could salvage them from laptops. But that's even more expensive than going the PC104 route. The 400 MHz gumstix boards weren't mature at the time I chose the Soekris 4801. The gumstix company was still starting up. The boards lacked I/O support beyond bluetooth and a serial port. Today, they'd be an interesting choice, especially for aerial vehicles. Anyway, mass market products like desktop PC mainboards and laptops typically work as you expect. They don't have too many quirks. So far, my experience with industrial OEM products is that you have to know much more to get them to work. They can be strange because the market accepts quirky products. My job is like this. The products that customers use are typically of higher quality with better support than systems used internally. Customers complain, trouble brews, problems are fixed and product is improved. Internally, it's completely different. Workers soldier on with holes in their boots. The market again accepts quirky products. Anyway, more than a year ago, I was riding in a friend's car near the MicroCenter store in Richardson. He asked why I didn't consider using a laptop instead of embedded boards. I replied that I was worried about durability to shock and also available I/O pins on the board. Well, I think that it's not so crazy an option now that I'm looking back. So long as the hard disk is removed and the entire laptop shock mounted, it'll probably work. It is certainly a quick way to get going although somewhat expensive. Time and money are somewhat interchangeable, though. I don't think I understood that back then. So back to the Soekris boards. I had problems getting DMA to work. Specifically, the computer would lock up hard if I had two USB webcams grabbing frames at the same time. They were on separate host controllers. So it was bus related. If DMA doesn't work, then performance suffers probably by 10x. That's about what I saw in frame rate then. The robot will have crippled vision if DMA doesn't work. So now I'm reading about DMA on the National Semiconductor Geode. It turns out that DMA is available with the following restrictions. "data transfers need to be dword aligned and it cannot do an exact 64Kbyte data transfer" So I read that kernel 2.6.12 should have the proper support. Well, it didn't work for either the DMA capable Sandisk Ultra 2 compact flash cards or the ov51x based D-Link webcams. Anyway, I'm going to have to figure out what's going on with the kernel and drivers as the performance boost is so great. However, I'm going to get the robot together first. After work tonight, I'll work on the drill motors and solder the power cables for the battery packs. I think that's reasonable to get done.