image

06-18-10

Open Source Hardware

Hey. Welcome to the lab. Our current location is upstate NY just south of Kingston. They got bugs up here. Insects, I mean. Here is the first post in a series on open hardware development. I think the basic idea is to share, so here goes.

The device currently on the table: Rechargeable Battery Management. Quite an open ended topic. I’ll prune it down for you a bit. The charging circuit should be able to interface with varied sources of energy. Solar panels, wind/water generators, Piezo crystal, Peltier Junction effect, etc. For this I’m choosing a variation on the Miller Engine over at BEAM. There are special considerations in applying an SE to battery management that I will get to when that aspect of the design is covered. The first problem is knowing how much voltage you have left in a battery and acting acordingly. That is, if you’re a robot.

It’s one thing to read a variable voltage in relation to a stable source, as is done all the time now on microcontrollers with on-board A to D converters. But for a μC to get a sense of the value of the very voltage that it is being powered by?  That takes a device called a Voltage Supervisor. The TL7700 (Texas Instrument, the bag says Mexico, C of O) is the choice I came down to after looking a numerous competitors. It has a fixed voltage reference that puts the output pin in high Z when a voltage on its Sense pin goes above 500mV. High Z is equivalent to ‘not electrically connected to anything’. Otherwise, under 500mV, the output is connected to ground (0V). This device is used as a POR/BOR (Power On Reset/Brown Out Reset). In that capacity it would monitor voltage as it rises when the power is turned on to make sure that sensitive equipment doesn’t start up before the proper voltage is achieved. It also will cut power from the device if the voltage ever falls below that same critical level. It has a wide operating range, so the Voltage in question can be anywhere from 1.8V to 40V! How do we set the Sense voltage, you ask? with a simple voltage divider. Two external resistors dividing the voltage on the sense pin from the V supply. That makes the 7700 very nice for us, because our μC (arduino) can drive a digital potentiometer to scan the Sense pin of the 7700, all the while feeling for the change on the output. The battery I’m using has a working voltage range of 3.0 to 3.4 or so, likely up to 3.4V. I got the parts in over the last week, and lashed up a test circuit today. Here’s what I’ve got so far:

This is the circuit that I built to test my application of the TL7700. Without a doubt the most critical design consideration is sizing fixed and variable resistors to the SENSE pin. With the right values, a small range can be ‘magnified’ for greater resolution. By the way, that unlabeled pot is 10K.

Here’s a video that gives a pretty good idea of the range I squeezed out of a 10K pot on the TL7700 sense pin with resistors that happen to be on hand. The digi-pot that I have is 100K. I have to figure out the best fixed resistor values to trim down the range appropriately.

My next task will be to control the DigiPot with arduino and then bringing the whole thing together to test with my 741 Voltage Follower. After that, an in depth excursion into the land of Solar Engines. Hope you’ll come back!

Going out now to clean the grill :]

Leave a Reply