AvionicsPowerSystemLv2 - New system page for LV2's APS... in design mode right now.
BatteryResearchLv2 - research into Li-Ion/Li-Polymer batteries for LV2
ChargerIcResearchLv2 - research into charging ICs for Li-Ion/Li-Polymer batteries
AandTBatteriesLv2 - Information (and pictures) on the A&TB Li Ion batteries from Electronic Goldmine
The APS is the power system of the LV2A's avionics. It's a pretty simple system of a prototyped power distribution board and a misc. CAN node board. It also has:
- 2 12V battery packs of made up of 2 2CR5 6V primary Li batteries (think camera batteries).
- a two conductor umbilical cord, which provides shore (external) power to the system as well as serving as a launching system interlock.
- measurement of voltage on the umbilical cord, and voltage and current on the power bus.
- an IRF smart switch (high side MOSFET switch) to turn the power bus on and off.
Firmware Page: CanNodeFirmwarePwr
Battery datasheets (we have a dozen of the kodak's):
- Switch power to the avionics system On/Off on CAN message (usually from uplink or FC - WARNING! ADD DELAY SO FC DOESN'T GET SHUT OFF, OR MODIFY SHUTDOWN SCRIPT).
- Switch power on to the avionics system if there is an acceptable umbilical cord voltage.
- Send CAN message when umb connector status changes (plugged/unplugged).
- Send CAN message when umb power status changes (valid/invalid voltage).
- Assert/de-assert "RocketReady" (umbical line) based on CAN message (Send warning message when asserting RocketReady with umb power on).
Since the misc CAN node is always powered on so minimize power usage, especially when on battery and avionics system is switched off. Power modes of the APS:
- On when: Avionics System on, actively monitor CAN bus and umbilical cord.
- Sleep when: Avionics system off: wake on CAN message (wake-up and wait 30s for another CAN message since the first message will be lost; if no wakeup confirmation go back to sleep) or on umbilical voltage change of state.
CAN Messages (see CanBusIDs for details):
- Send isochronous voltage message: max, avg, min
- Send isochronous current message: max, avg, min
- Send isochronous charge message: accumulated charge (stored periodically in EEPROM)
- Send battery low warning message on low battery voltage (voltage TBD)
- Umbilical cord connect/disconnect
- Umbilical cord voltage
- Turn power switch on/off (with delay?)
- Assert/de-assert RocketReady
- Reset charge count
- Change rates of isochronous messages
- Change UMB resistor to 47K and add 100nF cap
- Test test test
What the HELL is our power consumption? See also the BatteryPack discussion.
This table is current from the *battery pack (12V? nom.), not into the device (which may use a DC-DC converter).
|ATV: CAN Node (idle)||0.035||Measured|
|ATV: Overlay board||0.053||Measured|
|ATV: 1.27 GHz FM TX||0.122||Measured|
|ATV: 1.3 GHz Power Amp||1.211||Measured|
|FC: PC104 Stack||0.415||Measured|
|FC: 802.11b PCMCIA||?||-|
|FC: 2.4GHz Power Amp||0.629||.900||Measured, data sheet|
|APS: CAN Node||0.012||0.047||Measured|
|GPS: CAN node||0.025||Measured|
|GPS: GPS (low pwr mode)||0.092||Measured|
|GPS: 1.5 GHz preamp||0.125||Measured|
|IMU: CAN node||0.025||Measured|
|REC: CAN node||?||-|
|REC: 2m board||?||-|
|REC: HAP battery Chrgr||?||-|
Hnmmmm. So at - call it 4A - that means if we use a 0.050 ohm shunt that's a 0.2V drop and 0.8W of dissipated power. Eech! Sucks. So let's parallel two up and get 0.025 which gives us 0.1V of drop and 0.4W of dissipated power. Seems better, so let's stick with it.
To get 5V full scale out of the INA168 we need a gain of 5V/0.1V = 50 which also seems ok since that implies R(L) = 50*5kohm = 250kohm. But we're using LM358's which have a minimum v_out of 3.5V so we'll use something smaller - 150kohm which will give us a gain of 30, which gives us 0.75V/A. That's 3.75V @ 5A so we can go a bit over our allotted current and not hit the rail. We happen to have 100k 0.1% in an 0805 package so 2x 100k in parallel + 1x 100k to give us 150k.
We decided to try and use real LPF's on the bus voltage and current in order to get useable values of system performance. We chose a f3db = 1KHz, 4 pole Bessel filter in a sallen-key configuration. We choose that LPF, along with a sampling rate of 15KHz, in order to get 10bit performance out of our ADC. Yeah, right we'll get 10bits with the way this thing is hacked up ;)
We used Microchip's Filter Lab to come up with RC networks around the LM356's.
SmartBatteriesLv2: Past thoughts on using smart batteries