Archives: Power_dist

mjpower-ss

It’s another new product day here at mjbots! Introducing the mjpower-ss:

This provides many of the same functions as the power_dist r4.5b:

  • Pre-charge: High capacitance, low-impedance loads up to 4000uF will be safely turned on in a controlled manner.

  • Undervoltage and overcurrent protection: If the instantaneous current exceeds 100A, a soft circuit breaker is engaged.

  • Connector multiplexing: 1x XT90 input feeds 6x XT30 output connectors which are wired in parallel.

  • External switch: An external illuminated switch is supported, with the same connector and pinout as for the power_dist. A switch harness can be purchased separately.

power_dist r4.5b

Here is yet another new product announcement! In the same line as the new pi3hat, here is a new minor revision of the power_dist, the r4.5b:

The changes are largely the same as for the new pi3hat:

  • The input voltage range is extended from 10-44V, to 10-54V [EDIT 2024-05-24: derated back to 44V].

  • The CAN-FD port has +-58V bus fault protection, up from +-12V.

  • Additionally, the measurement noise of the output current has been improved from 300mA to approximately 30mA.

mjbots power_dist r4.3b

I’d like to introduce the newest mjbots product, an updated revision of the power_dist, 4.3b available at mjbots.com today!

This version has a number of improvements over the previously released r3.1:

r4.3b r3.1
Voltage Range 10-44V 8-34V
Maximum load capacitance 4,000 uF 400 uF
Quiescent Current 300uA 5mA
Current (Continuous / Peak) 45A / 80A unrated / 100A
Energy Monitoring YES NO
Switch Mode High Side Low Side
Dimensions 50x80mm 45x70mm
Price $139 $79

The only real downsides are that is more expensive and slightly larger.

Failed power_dist r4 designs (part 4)

For context, see part 1, part 2, or part 3.

r4.0

My first attempt at an r4 design was based on the TI LM5066 hot swap controller. It is one of the more full featured controllers, since it supports built in energy monitoring over a SPI bus with no additional components. This first iteration was actually surprisingly close to being workable. There were two factors that it performed poorly on, quiescent current and energy monitoring. The quiescent current was similar to the r3.1 version. Energy monitoring was present, but at the full scale range necessary for power_dist, it was almost unusably inaccurate. With a design set for a peak of 100A, and also the lower 25mV current sense range, the current noise was measured in multiple amps.

Hot swap controllers (next get power_dist part 3)

This is one of a series covering the new mjbots power_dist board. See part 1 and part 2 for more context.

As mentioned previously, hot swap controllers are primarily used to allow a card to be inserted live into a server backplane, while minimizing disruption to the primary power bus while doing so. Additionally, they often implement protection features like over-current and short-circuit protection, and some support energy monitoring.

Typical topology

A typical hot-swap topology looks like:

Next-gen power_dist (part 2)

Last time I covered the limitations of the power_dist r3.1, here I’ll cover some iterations of the design process.

My initial design goals for this version are based largely around improving the major limitations identified before:

  • Positive side switching: By switching the positive rail, a whole class of use failures is removed, as most people expect ground to be common throughout a system.
  • Increased voltage range: moteus r4.5 and the pi3hat both support 44V, so any new power_dist board should support at least that.
  • Lower quiescent current: Ideally, the quiescent current would be measured in microamps, or at least at a level that it does not confuse BMS systems.
  • Energy monitoring: Often in the development of the quad A1, I wanted to have a system level power and energy monitoring solution so as to identify the energy cost of various maneuvers and gaits. Tracking that at the power_dist level seems like a logical place.
  • Wider load envelope: The 3.1 version had a relatively limited maximum downstream capacitance and turn-on current draw. It was enough to power on 12 moteus controllers and a small computer, but not much else.

To achieve these goals, I decided to try using what is known as a “hot swap controller”. These are integrated circuits that are intended for use in cards that plug into server backplanes. Given that any given card could potentially have a large decoupling capacitance, inserting it live into a backplane could cause arcing, and high currents that cause the overall bus voltage to drop outside of tolerable limits.

Development of next-gen power_dist (part 1)

The current iteration of the mjbots power_dist board released back in the summer of 2020 is pretty useful. It pre-charges the input, provides a soft switch, and gives you a bunch of output connectors to make wiring easier.

r3.1 Limitations

However, this version did have some limitations and potential problems. The first is that the pre-charge method it uses, a simple on/off pre-charge resistor, is unable to support a wide range of supply voltages. Either the resistor has a low value, in which case large input voltages will cause thermal failure, or for larger values, it isn’t able to actually pre-charge the bus sufficiently before engaging the primary MOSFET.

power_dist load test circuit

While testing some variants and new versions of the power_dist board, I wanted to be able to simulate the types of loads that it experiences with a fully loaded robot. Some things are easy, like this capacitor attached to an XT30 connector:

I also have giant power resistors in a similar form factor:

However, a dumb load resistor isn’t a particularly representative load. Most likely, the loads that a power_dist will drive are active loads with switching regulators. When the output voltage is lower, the current will be correspondingly higher. That is especially important when validating pre-charge behavior, because it means that the current is much higher during the initial pre-charge window than it would be for a pure resistive load.

New product Monday: mjbots power dist r3.1

I’ve displayed versions of this numerous times in the past (May 2019, Feb 2020, March 2020), but now I’m proud to announce that I have a productized version of the power dist and precharge board available in the mjbots store for $79.

This board has convenient connectorization for powering sub-components of your robot, and also provides a smooth pre-charge sequence so that you can safely connect a large battery to high capacitance loads. I made a short video to show it off.