Archive for the Electronics Category

haven’t written in a while

because we’ve been busy winding brushless motors and designing motor controllers. 

We have tried about 30 different motor / prop configurations and we still haven’t gotten better than about 15 grams of thrust.   Ever hear that expression, “you just can’t buy that”?  Well when it comes to GPS guided, autonomous, solar powered boats, you just can’t buy that.  You also can’t buy the parts that go in them.  Try it.  Go down to a hobby place, or Ebay or whatever and try to purchase a motor that will push a prop under water at over 15 grams of thrust with 200 mA.  You won’t find it.

 We figure our best option is to wind our own brushless motors with a very low KV value (thin wire, lots of turns).  We thought we could use off-the-shelf brushless motor controllers, but no, they are built to control RC airplanes, not low current water props.  So, we need to design our own brushless motor controllers to drive these low current brushless motors efficiently.

I never thought we’d get this deep.  Also, I burned my thumb today really badly on a mosfet that got super hot trying one of the configurations.  Try winding a 500 turn brushless motor with a blister on your thumb.

Guts

I really like that picture of me in the track pants and golf shirt below.  Very flattering. 

The eletronics guts are coming together.  Here is a 30,000 ft view of what’s happening:

The main board reads sensors from a number of sources - GPS module, compass sensor, light sensor, battery voltage sensor and temperature sensor.  It retrieves GPS coordinates from an eeprom and logs data to another eeprom.  In the off chance that we get our boat back after its big trip - we can see how hot it was, what the battery levels were, etc.

The main PIC microprocessor is programmed to calculate a target bearing from its current lat/long coordinates and the next lat/long coordinate.  It compares the target bearing to the compass (actual) bearing and then adjusts the motors using differential steering and pulse width.

The target bearing calculation is surprisingly tricky to do on a microprocessor.  Most of the issues are around precision when you’ve only got a maximum of 32 bits of precision and some complex calculations involving PI and arc-tangent.  Note how I use those terms like I know what they mean.  It’s all a ruse.

Thank goodness the fine people at HI-TECH have a C compiler which has trigonometric math functions and does floating point calculations.  Often when working with microprocessors, floating point calculations are a luxury.

The GPS module (home grown) offloads the work of parsing the GPS serial stream and serves it up as an I2C message to the main board.  Otherwise, this process alone would suck up about half of the microprocessor program and data space.

The Compass is a Devantech Magnetic Compass Module CMPS03

There is a real time clock chip on board to support the timed operations.  We would use the GPS time but we need to turn the GPS module off when it’s not being used.  That’s 50 milliamps we can’t afford.

Here’s what it looks like:

boat-electronics-may-7-2009.jpg

Ratsnest

Here is a shot of the data logger we used to capture battery voltage levels, sunlight, current draw, etc.

logger.jpg

Electronics Development Tools

The Solarcrawler was built on-the-cheap!  All development tools are open source or free/student versions.  Tools used in this project are:

KICAD Schematic and Circuit Board Design Software (open source):

gpsserverschematic.jpg gpsserverboard.jpg

HI-TIDE IDE and HI-TECH C Compiler for PIC 8/10/12 bit compiler:

hi-tide.jpg

|