Infineon Smart Power Switch Bundle - Review

Table of contents

RoadTest: Infineon Smart Power Switch Bundle

Author: hlipka

Creation date:

Evaluation Type: Development Boards & Tools

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: Infineon has quite a number of smart and protected switches.

What were the biggest problems encountered?: null

Detailed Review:

First, I want to thank Infineon and Element14 for this road test. It was an interesting change from my previous tests. I had not that much contact with devices from Infineon, so I was curios to get first-hand experience.

(This also means I will not really touch on the Arduino or the XMC1100 board in this review, since I was focusing on the shields)

 

The boards

So there are three Arduino shields to test, which 'just' provide load switching capability. At a first glance this seems silly - why should you by such a shield when you easily can use a MOSFET for switching your load? Especially when considering that these switches are, when compared to the FETs that Infineon has to offer, quite limited in their current and voltage capability?

 

The answer is hidden in the word 'protected'. In contrast to your standard FET, these switches are protected against to high current and to high voltages. This means you can easily use them for 'difficult' loads such as motors and relays (with high voltage spikes) or lamps (with high inrush currents), without needing additional precautions. They also are useful in environments with problematic supplies, such as cars, where there might be high voltage spikes induced.

 

The high-side switches also take care of creating the voltages needed to drive their internal N-FETs high enough so they can be used in this setting. Normally one would use a P-FET since they are easier to drive.

 

So what are the three shields?

image

24V protected switch shield

This is the work horse of the three. Even though it does not feature the highest current capability of the three shields, it is designed for 24V loads (so it can withstand 65V on its supply rail) and comes with 5 switching channels. Both the BTT6020 and BTT6030 can drive a 70W incandescent lamp at 24V, so it can replace a number of relays and switches in cars. they can handle inrush currents up to about 10 times the nominal switching current, which makes it an ideal candidate for such uses. Relays and switches do not like such high inrush currents, since it wears down their contacts faster (so one needs special constructions to handle that).

image

 

BTS50010 protected switch shield

Even though the BTF50010 is designed only for 12V loads, it can switch loads with up to 80A. This capability shows in the PCB design:

 

{gallery} Big PCB traces on the 12V protected switch shield

image

PCB top side

image

PCB bottom side

 

Such high currents need wide traces and big connection pads. In addition the shield comes with circuitry to monitor the load current (by using an ADC in the MCU), and can also signal overload situations. This shield is a single channel only, though.

Since this device is designed for 12V systems, it must handle higher currents for the same switching power. On the other hand, the BTS50010 is designed for up to 18V power supplies (although it can withstand 28V). In addition it can withstand a reverse battery connection without external components.

 

BTF3050 low-side switch shield

In contrast to the other two, this shields is a low-side shield. What does this mean? Well, when you use it your load is connected to the positive power supply rail, and the the switch sits between the loads negative rail and ground. Such switches are usually cheaper and can handle more current (this is due to the fact that N-FETs used for low-side-switching have lower drain-source resistance), but they cannot be used for loads that need to be connected to ground. Take a car as an example - most loads (such as the head lamps) are connected to the metal chassis which is used as ground connection. In this setup, you cannot switch the low side of the load since its fixed to ground - you need a high-side switch such as the two other shields.

image

 

A comparison

All three shields are of the same size - they fit an Arduino board directly. They come with mounting holes matching the Arduino holes, which makes seating them permanently easier. Unfortunately none of the shields comes with stacking headers, so you cannot place another shield on top of them (e.g. a LCD shield). And since the pin headers are pre-installed, this cannot be changed easily.

 

None of the shields is designed to be standalone. Even though two of them comes with buttons installed, they are connected to the Arduino inputs only, and are not meant to drive the switches directly. Its the low-side switching shield and the 12V high-side shield with the BTS50010 that come with buttons and LEDs. The buttons are all routed to the Arduino headers, and on the BTF3050 low-side shield also the LEDs are accessible.

 

All three shields are not designed for low-voltage applications. The high-side switches expect a supply voltage for at least 8V (although they can work with 5V as extended supply voltage range). The low-side shield accepts a supply voltage between 3 and 5V, and a battery voltage (that is, load voltage) between 5 and 18V (with the range of 3 up to 28V as extended range). Since they are designed for automotive applications, this is OK. But if you want to use them in other scenarios, one needs to make sure to meed these ranges. One of the motors I wanted to test  was designed for 3V, so I could not test it with the high-side switches. (The other one is for 18V, with my power supply delivering 19V, so it was suitable for all three shields)

 

When you look at the shields and their documentation, its obvious that they are designed with the XMC1100 board in mind, and the regular Arduino seems to be an afterthought. This was especially obvious with the BTF3050 low-side shield - it only lists the pin connections with their XMC1100 designations (Px.y), and omits the Arduino notation completely.

Its also a pity that the pins are used differently between the shields, and not even the pins driving the switch itself are consistent across the shields. If you have decided already which one you need this is not a big deal, but when you are evaluating the different devices it makes your work unnecessary complicated.

 

Speaking of complications: during my tests I have found that the terminal blocks are quite small. For current up to 7A (which is what the BTT6020 can drive as nominal load) I would choose wires larger than what fits into these terminal blocks. I would have preferred a different choice here (and yes, there are terminal blocks available that allow bigger wires and still fit an Arduino shield).

 

A deeper look and some tests

I already mentioned that the pin assignments for driving the output channels differ per board. What I also found when programming the shields is that some of the channels are connected to pins that don't support PWM on the Arduino. For example on the 24V shield, 4 of the 5 channels cannot be driven by PWM. The only one is OUT1_0. This is better on the XMC1100 board, whose 4 PWM channels can be routed to nearly all pins. So choose wisely when you need PWM capabilities. When I was driving the remaining channel on the BTT6030 with a 50% PWM on my test motor, the device went into current limiting and subsequently into thermal shutdown.

My motor comes from an old cordless drill (running at 18V nominal voltage) and is used in a bench drill. Its stall current is at only about 3A, but its start current is somewhat higher, so its a good candidate to test the shields.

 

The low-side fares better. Even though the BTF3050's rated load current is lower than that of the BTT6030, is did not go into current limit or thermal overload. Running at 50% PWM, the chip temperature goes up to 65°C (with thew motor running freely). When the motor gets under load, the temperature rises to about 75°C. I would not dare to drive all three channels at this load level, since it might heat up too much.

Speaking of that board: its documentation seems not up to par with the actual board. It is mentioned that, for operation on the Arduino R3, connector SV5 needs to be removed. But on my board this connector points upwards, so it cannot interfere with anything on the Arduino. And on the XMC1100 board, where it could connect to one of the headers, it still points into the wrong direction...

image

 

I did not test the 12V BTS50010 shield. Since its constructions means that the Vout connector will quite likely touch the ground connection of the USB port, one cannot use it with the Arduino R3 (at least not directly).

image

 

Even when you add electrical tape to the USB connector, it means you cannot use screw connectors to attach your load. Since I did not want to spend my time on getting to learn the XMC1100 and its programming, I skipped on testing this shield. I do not have a power supply and a load to really test it to its limit anyway...

OTOH this shield is more interesting when you want to go to town in analyzing it - it comes with quite a number of test points so when you want to look at waveforms and protection features, anything should be available.

 

Speaking of measuring: be careful when connecting your scope to the low-side switch shield. When your shield is attached to an Arduino which is connected to a PC, the shields ground plane is connected to earth - and so is the ground connection of your probe. Which means that when you connect the scope across your load, the scope ground connection will short out the load to ground via the PC ground connection. Depending on the current and your setup this can interesting results.

 

I still need to do some more scope shots of the switching waveforms to show them here. (Unfortunately our home reconstruction project took more of my time that what I was hoping for). At least for the 24V high-side shield the switching times (using a resistive load) look as promised, but I need more experiments.

 

Conclusions

So far, I like these devices. They are a very good solution to your switching needs whenever something better than just a simple MOSFET is needed. Whenever your load is not just resistive, or your environment is not as clean as a lab power supply under controlled conditions, have a look at them. Infineon also has a much bigger range or these smart switches, look at them too. They go up to more than 100A of load  current, and some version can handle voltages up to 60V (while still providing all protection features).

The shield, however, are a different matter. When used with the Arduino they show some limitations (such as problematic layout and sub-optimal pin routing). Some of these would go away if Infineon would provide them with the headers not soldered in.  But when you intent not use them for PWM, and don't want to use the full current handling capability, they are a good go-to solution. I will certainly use them in future projects.

 

Rating

I rate the products so that a 5 means 'meets expectations'.

  • The switches themselves, and the boards do what I expect them to do. The switches are even better than I initially thought, but the boards were disappointing in some ways. So its a 5.
  • The specifications, which means data sheets and documentation, are quite good. Nearly anything I want to know is in there, there is no need to go hunting for missing information. The shield documentation is too focused on the XMC1100 in some parts. Overall its still better than expected, so its a 7.
  • The demo software gets a 5 - I did not use any so I cannot comment on it.
  • Ease of use gets only a 3. The 12V shield is not really usable with an Arduino, the pin routing is clearly not OK when you want to use the switches with PWM and the terminal blocks are too small. Weren't these switches so damn useful the scoring would be even lower.
  • Support materials get a 6 - its easy to find and quite comprehensive.
  • And final and 8 for price-to-performance. I already commented on the usefulness of these switches - they can solve so many problems they can be much more expensive than a single FET and are still a win. Then shields lack a littler bit in that regards, otherwise this would be even higher.

Overall, 35 out of 60. A 'better than expected'. Not spectacular, but quite solid.

 

Addendum

Test code

Here is the code I used with the low-side side for my experiments. Use buttons S1 and S4 for changing the PWM duty cycle, connect the motor to output 1.

// pin 6 is the motor for the low-side shield
#define MOTOR 6

int val=100;

void setup() {
  pinMode(6, OUTPUT); // Motor
  pinMode(5, INPUT); // down
  pinMode(A0, INPUT); // up
  Serial.begin(9600); 
}

void loop() {
  analogWrite(MOTOR,val);
  delay(100);

  int btnUp=digitalRead(A0);
  int btnDwn=digitalRead(5);
  if (1==btnUp)
  {
    if (val<255)
      val++;
      Serial.println(val);
  }
  if (1==btnDwn)
  {
    if (val>0)
      val--;
      Serial.println(val);
  }
}

Arduino vs. XMC1100

This is not really a review, but since I looked at both boards I can at least add some comments.

Them XMC1100 is mechanically compatible to the Arduino. This affects not only the headers, but also the mounting holes and the power connector (the later one is not populated, though). So wherever an Arduino is mounted, an XMC1100 board will fit too. Its nice that the debugging part of the XMC1100 can be removed, that way the board is smaller when its part of a permanent installation.

The XMC1100 is missing the headers - you need to buy your own. While this gives you the flexibility to choose which ones you need (e.g. mount the XMC1100 above the shield) it makes the work more complicated since you need to have them available.

The XMC1100 also comes with a set of non-standard connector rows, so it might be possible that some signals you need are not routed to the standard headers (I did not look at the complete pin assignment). Since the XMC1100 can re-arrange its pin assignment quite flexible this might not be a big issue, though.

I did not look at the programming side of things, so I cannot comment on the availability of libraries, and how easy the advanced features of the XMC1100 can be used.

Anonymous