Difference between revisions of "Power Distribution Board"

From Black Metal Forest
Jump to: navigation, search
(LED Indicators)
(LED Indicators)
Line 128: Line 128:
 
**<span style="background:#C0C0C0">0..</span> No Current
 
**<span style="background:#C0C0C0">0..</span> No Current
 
|}
 
|}
 +
 +
The RG LEDs are controlled by two 16 bit Shift Registers with Constant Current outputs. One register is used exclusively on the red, and the other, green. That way different current settings can be used for each color. In tests, Red needs 20ma to have the same relative brightness as Green at 0.5ma.
  
 
=Current & Voltage Sensing=
 
=Current & Voltage Sensing=

Revision as of 04:36, 24 February 2016

This Power Distribution Board (PDB) is specifically designed for Phoenix Solar Racing's Phoenix solar car and hopefully future solar cars.

click image for all kinds of photos!

Features

  • Current Sensing
    • All outputs
    • Total Battery input
    • DCDC input
  • Voltage Sensing
    • Battery inputs
    • DCDC inputs
  • Port Protection
    • Over Voltage
    • Over Current
    • Reverse polarity
    • Battery reverse current protection
  • LED status indicators
  • Remote operated isolation relay
  • CANbus enabled
    • PSR standard atmega32u4 μC
    • All outputs are on the bus
  • Current Rating
    • Output Port: 5 Amps
    • Total Input: 10 Amps

Files

Other files

  • PSR CANbus API















PCB

Design Considerations

I designed the board to handle 10 Amps of current. This is probably more than we will ever use, even in peak situations. To design the trace sizes I used simple geometric calculations of trace L*W*H, to get 0.01ohms from farthest-input to farthest-output. At 10A that's 1W of power dissipation and 0.1V drop. I used 2-once copper PCBs and removed the solder mask on the ground traces around the outside of the board, just in case I needed to increase the current handling by piling on solder.

I tried to keep power traces on one side, and signals on the other. Power-traces had to jump up to the top to connect to surface-mount current sensors.

>Flir photo >In tests, 10A of current showed no clear signs warm traces. Only fuses and input diode are warm >temperature resolution is very fine so if the traces were dissipating

>small PCB photo with Google photos link >micro scope photo?

Print

-Got from PCBWAY.com for 74$ & 22$ shipping, That's for Ten, 175mm x 120mm boards with 2-once copper. Please excuse me as I shill, but I am really impressed with the quality and price of PCBway as well as their advanced website that shows the status of your PCBs on the assembly line. A real person makes sure your Gerber files are not screwy, and the boards are tested with flying probes before they are shipped, but that might be for protecting their own reputation. >facebook post ;)

Circuit Protection

I simulated the input protection in Multisim and experimented and tested many different Zener Diodes. The diode I chose is a special type of Zenar called a TVS diode. Unlike normal zeners, TVS diodes can conduct thousands of Amps when in breakdown (for a few micro seconds). The simple cheap automotive fuses used on the board take relatively a long time to break. The TVS diodes "burn up" and fail closed by the time the fuse breaks. if the PDB experiences an Over-voltage situation, one or more TVS diodes will need to be desoldered and replaced. I chose this input protection circuit because of its simplicity, low cost, and feature-set.

5V Rail

I added 5.1V zener diodes on the 5V rail just in case a high voltage tries to find it way onto it.


LED Indicators

15 Red-Green combo LEDs display the status of different parts of the power bus.

Generally, (1) Green: good, (2 )Yellow: warning, (3) Red: bad, (0) OFF: N/A

  • Battery Input
    • G.. Battery >40%
    • Y.. Battery 10-40%
    • R.. Battery 0-10%
    • 0.. No Battery Connected
  • Batteries Input Current
    • G.. 0-7A
    • Y.. 7-10A
    • R.. >10A
    • 0.. No Current
  • DCDC Input
    • G.. 11.4V - 11.6V
    • Y.. --
    • R.. <11.4V - >11.6V
    • 0.. <3V, No Power Connected
  • DCDC Input Current
    • G.. 0-7A
    • Y.. 7-10A
    • R.. >10A
    • 0.. No Current
  • Output Port
    • G.. <3A
    • Y.. 3-4A
    • R.. >5A or <0A
    • 0.. No Current

The RG LEDs are controlled by two 16 bit Shift Registers with Constant Current outputs. One register is used exclusively on the red, and the other, green. That way different current settings can be used for each color. In tests, Red needs 20ma to have the same relative brightness as Green at 0.5ma.

Current & Voltage Sensing

Microcontroller

We use only one kind of microcontroller on the team for applications like this, a Sparkfun "pro micro" (20$) or equivalent knockoff (5$), loaded with the Arduino Leonardo boot-loader, not the Sparkfun boot-loader. It is coupled with a MCP2515 CANbus Controller IC to give the setup the ability to report the PDB's status to the bus.

Functions

  1. Analog sensors a read thorough a 16 port multiplexer IC.
  2. Values are converted to Currents and Voltages.
  3. Calibrations can be made via the USBserial to set for Vref, and every individual current sensor at 0A and 2A
  4. Voltages are mapped to battery percent values specific to our NiMH low voltage batteries.
  5. LEDs light up Green, Yellow, Red or Off depending on acceptable voltage and current ranges.
  6. Data about voltages, percents, currents, LEDs and misc. errors, are sent over CANbus using our PSRCAN protocall and API

Mistakes

Reverse Leakage Current

The reverse leakage current of the power input diodes is something that caught me off guard, 150uA or more at 13V. The leakage makes it appear as though there is a 11.5V ghost battery connected to empty ports. The 100k+10k voltage divider to ground dose not drain enough current away so I have to bodge in a 5K resistor in parallel. Even wth the 5K, the ghost voltage is about 3V, but in software I can say that anything below 5V will mean that there is no battery connected.

Relay Power

The relay coil power is sourced from the wrong side of the relay. That is, the relay needs to turn on... in order for the relay, to get power, to turn on... I noticed this problem when I was laying to the board, but forgot to change it! I also had no room left to route a trace and would of had to use a jumper anyway

Two VCC's

The current sensors output a ratiometric voltage per current, meaning for every 1A increase, the output voltage increases 5%vcc. This is great because the ADC on the micro-controller works the same way if you set the reference voltage to VCC as well. The problem arose when I supplied the the Arduino pro micro board with 5V on it "RAW" pin so the VCC that the 32u4 saw was only 4.2V, because of the voltage regulator on the board. The fix was just to put a jumper wire to short the VCC and RAW pin on the Arduino, lucky break.

If I Was To Do It Again