|Product Performed to Expectations:||10|
|Specifications were sufficient to design with:||10|
|Demo Software was of good quality:||10|
|Product was easy to use:||10|
|Support materials were available:||10|
|The price to performance ratio was good:||10|
|TotalScore:||60 / 60|
PLEASE NOTE: that my entire review is based on the perspective (or Point Of View--POV) of an average hobbyist. That is, I intended to test the Infineon Motor Shield from the perspective of a Do-It-Yourselfer, Maker, Inventor, Hobbyist/Toy maker and how they would implement using the Infineon DC Motor Shield with/TLE94112EL for Arduino as well as the XMC1100 for Arduino. Although my particular roadtest has a POV from a more general or perhaps "recreational" perspective, my tests, procedures, and equipment used were comparable and held to the same standards as an item being tested according to standard electrical engineering practices. The TLE94112EL apparently already has been used in the automotive and HVAC industries with a proven success, so my point was to focus on its use as a hobbyist.
Unpacking and Package: What's Inside?
There were issues with the XMC1100 Card and shipping. (FYI--the XMC does not come with headers or the power connector. You'll have to supply and solder them on yourself although the power can be supplied via USB or a phone charger). I don't believe this was a result of the manufacturing process but the package appeared to be handled "roughly" during transit. As a result, my first attempts at using the XMC1100 with the Arduino IDE platform or using DAVE encountered errors, mainly not being able to access the card. After some testing and thorough review of the card and packaging, I discovered that an SMD diode had become "un-soldered" along with other physical issues (see photo). The defective card was replaced, and there were still issues. Now I could access the card to the extent of turning it on and being recognized by my computer, but I was unable to use the card to debug or program the chip. Final analysis yielded the answer: The XMC1100 comes with an attached, detachable Seggar J-Link Debugger (nice touch I might add--allows the user to use the card without the need for purchasing an additional debugger, and can be detached permanently once programming the card is completed.) and unbeknownst to the roadtesters (I think) and myself, the J-Link firmware required updating. Easy fix thanks to Infineon, especially Johannes and Manuel, as well as fellow road tester, Enrico Miglino. However, I must admit, this did leave me with some uncertainty and a bit of a lack of confidence when I encountered an additional issue (mentioned later).
As I just mentioned, this led to uncertainty in testing the actual Shield which I though was also damaged, so Element14 and Infineon were kind enough to send me another shield as well. You can see the initial packaging in other roadtesters' reviews so I will spare the photos here, however, the second shield did come in the following package which I hadn't seen before:
TESTING AND PROCEDURES
Once issues with the XMC1100 were worked out, I tried using Infineon's sample sketch to power 6 "hobby" motors at once----no go. Unless the voltage supply was kept in a very narrow range from 5.1 to about 6.1 Volts. Note that the 5.1 volts is below the power supply operating specifications for the DC Motor Shield 5.5 to 18V typical). I also tried using different voltage supplies (AC/DC converter, 12V Lead acid battery, dry cells, etc.) The shield comes with a 16 bit diagnostic system that can determine different faults with the circuit including under/over voltage power supply, over load current, thermal warning/shutdown, and even open load situations. I kept receiving over current and load errors, regardless of the motor or power supply. However, after several exchanges with Manuel and Johannes from Infineon (excellent support and very knowledgeable of their product), it was finally determined that the motors were in fact triggering an over current situation.
Below is the video I prepared for Johannes and Manuel based on my testing platform. I designed and printed a motor testing platform with my 3D printer using ABS filament to allow testing of up to 6 motors at once.
So the question that became apparent was why was I having such a difficult time with this while it appeared that other roadtesters were not. My motors were all rated to operate at less than .9A, the operating limit for each output, the motors were within the specified voltages and other requirements, as were the voltage supplies. I was certain the shield was bad and so tried using another one. Again the same results. So based on Infineon's recommendation, I set up current monitoring with my oscilloscope using various low-ohm (1 to 10) shunt resistors. Take a look at some of the recordings:
After conducting some rather arduous DC motor research, I was finally able to determine that most DC motors used for hobby applications are usually either high-torque or high RPM type motors. Both the high torque and RPM brushed motors have the capability of creating initial current spikes up to 20 times or more their average current rating when initiating. Because of the inductive forces incurred, the energy needed to initiate momentum of the drive shaft, etc. some of these motors, though rated for an average operation of .1 to .5A, can produce a momentary spike of up to 10A or more! Unfortunately, for this purpose, the diagnostics and shutdown latching times are a bit too quick. Even though each output can support up to .9A of continuous operating current, Both High-Side (HS) and Low-Side (LS) thresholds for the over-current shutdown protection is around + or - 1.4A. Although the shield has these higher current thresholds to trigger shutdown, it only takes the TLE94112EL chip an average of 20 uS to detect this. If the motors are started from a stand-still position (not free-wheeling), their over current spikes tend to last a little longer than 20 uS triggering detection and latching shutdown. Not good for many hobby applications such as cars, boats, planes, quad copters, etc.
Overcoming this inherent safeguard which becomes an obstacle in this circumstance however, is relatively easy. Instead of utilizing all 12 outputs of the Infineon DC Motor Shield to drive 6 or more motors, outputs can be tied together in pairs to operate 3 motors with a doubled operating current capacity ( Outputs 1+2 and 3+4 drive Motor 1; Outputs 5+6 and 7+8 drive Motor 2; and Outputs 9+10 and 11+12 drive Motor 3). I also discovered another work around. In addition, high wattage, low ohm resistors (ex. 25W 1 Ohm) can also be used with any combination of motors to help dampen the initial current spikes enough to prevent detection during motor initiation by the Shield. Depending on the motor type, power supply, load and usage, the ratings and placements of these resistors can vary to achieve success.
Also, hobbyists may want to note that this problem does not always occur when using the PWM feature of the Shield, as some of the diagnostic features are shut down when using this mode.
After overcoming the "current spike" issue, testing continued on datasheet specifications and the Shield performed remarkably well, including PWM, free-wheeling motors, braking, and reverse direction.
For the hobbyist that may be interested in using the shield, it may be helpful to have an idea of what types of motors do not typically cause the over-current situation discovered above. At the risk of over simplification, I am providing the following image of motors that I found that DID NOT trigger the over-current spike situation, however, obviously the look of the motor can not be a determining factor but rather the Stall Current (even though the Stall Current is the typical current used when the motor is held stopped or stalled, it seems to be a good indication of what you may expect in regard to performance on initiation and the current spikes as well) and ultimately testing the motor(s) with the Shield.
On the other hand, these motors will typically require in line resistors to limit current or doubling outputs to increase current limits to avoid over-current impulses latching shutdown:
The Infineon DC Motor Shield delivers what is specifies in its advertising and datasheets, no doubt about it. Performance is great, and as I learned from above, especially it's diagnostics (maybe a bit TOO good) for some hobby applications. The price is competitive with other devices similar to it, while its SPI diagnostics seems to give it a superior "edge." I would recommend it for use with either the Arduino Uno or the XMC1100 (there are advantages to both). I am currently finishing a 3D printed "Marble" run where the Infineon DC Motor Shield is used with the Arduino Uno to perform various tasks (such as elevating marbles to height, driving other lifts, etc). What make the Shield so useful in this case is that while the shield is tending to the motors, the remaining GPIO pins can be utilized for initializing other features such as sounds and lights. I will amend or post a new blog with a video of the marble run as soon as I can complete the finishing touches.
While working on this roadtest, I designed a 3D printed case holder for the Infineon XMC1100. I have provided a free STL file if you would like to print your own on my Thingiverse page here: https://www.thingiverse.com/thing:2372206
I also intend to develop a library for the hobbyist to use with the shield in the future. Check back here for it when I post it.
Thanks to Randall Scasny,Element14, and Infineon for giving me the opportunity to roadtest this product. Thanks to Manuel Hollfelder and Johannes Breitschopf from Infineon for their excellent customer/technical support, and thank you to Enrico Miglino and Gerald Scwarz, fellow road testers, for their help and collaboration.