MOTIX™ MCU Forum Discussions
I have spent many hours working on a single BLDCSHIELDTLE9879TOBO1 evaluation board mated to an Arduino Uno R3, trying to run the setParameter() function to change the parameters of the control algorithm within the TLE9879 device.
The TLE9879 device was programmed at the factory, I haven't changed it, and I have no desire to do so....
I tried running the "BLDC Single motor test" example, and then adding "shields->setParameter(FOC_START_ACCEL,1);" at various points after "shields->setMode(FOC);" is called. I have tried adding "BOARD1" to the setParameter command but this has no affect either..
I get an acknowledgement in the serial data coming back to my PC stating that the parameter has changed, but there is no difference in the way that the evaluation board behaves.
I have tried this approach of changing multiple different parameters, within both the BEMF and FOC modes, but nothing seems to affect the behaviour of the shield...
I hope that someone can help... 😀
My application is spinning a small Maxon BLDC motor in a high temperature environment, downhole, 150 deg C ish. That's why I'm considering the TLE9879. Also because of its promise for high integration, fewer wires, less glue ICs around it.
The TLE9879 should be a slave connected to a master CPU. I'm neutral if that would be serial UART, SPI or CAN. LIN is too slow I think. The module with the TLE9879 should behave like an industry standard VFD 'drive' with, say a Profibus or CANopen type of fieldbus. With that I mean I'd like to cyclically (~500 updates per second) interrogate it: every two millisecond it receives ~10 PZD values and returns 10 PZD values. Those values typically being Control Word, Setpoint RPM, Torque Limits to to unit, and Status Word, Actual RPM, Actual Torque, Actual orientation/position back from it. The sub milliseconds deterministic motor control for the TLE9879. The less real time critical supervisory control tasks for the host CPU.
The unit to support SSI encoder, A/B encoder, maybe a TLE5012, and tripple Hall as feedback for the BLDC motor. The unit to support sensor and sensorless modes, Hall and/or encoder. The unit to support three control modes: just torque mode, speed mode, and position mode. Mode selection over the same 'fieldbus'.
So I got both the Infineon '12V Motor Control Kit', the 'TLE9879 EVALKIT', and two 'TLE9879 BLDC Shields'. Hardware wise that all looks as capable to do some prototyping. But I've now spent 2 weeks digging through uVision for/backwards incompatibility issues and Example Codes that all have issues and bugs slowing we down badly. And I have seen no example that gives me a running start with the 'fieldbus' type of cyclic read/write interface for writing ControlWord, StatusWord, SetpointRPM/Position/Torque, and reading StatusWord plus actual values, once every ms ish.
Question now is: do I start from scratch rewriting a project for what looks to me as the most common use case for such TLE9879 hardware? Has anyone done this already? And would anyone be willing to share? The Arduino examples are the closest I could find, but they lack the cyclic fieldbus style interface. And they have bugs, bugs and...Show Less
I've just received the arduino shield and seems to work fine in FOC mode (in my case for a 3 phase brushless dc without sensors)
However I am unable to make it work in BEMF mode, I've tried some variations in the parameters without luck, however, In my attempt to read the current values it uses it seems that the arduino libraries and the board firmware are out of sync, the following sequence gives me an error:
shields = new TLE9879_Group(1);
In the arduino serial monitor the following message appears:
"WARNING: Board; Action[read dataset]; checksum does not match -> calc: 63; recv: 125 "
Doing some debugging I've figured that the board sends a response of 29 messages, while arduino library expects one of 30 messages as defined by:
Any chances of downloading the "correct" arduino library files for the "mysterious firmware version" I have in the shield?
Hi I have a project requiring some form of electronic braking and I am using the TLE9879QXA40 board to power the motor. Is there any way using software or hardware to achieve this.Show Less
I have tried to test the tle9879 deme kit.
But seems can not find the device use my Jlink version of V7.52c.
Could you please help check how to fix it?
We are using Infineon controllers and other parts for our product development.
Can you anyone connect me to your FAE team from Gurugram, India to streamline the product development process.
We would require the following from firmware perspective:
- Firmware used in the TLE9879 BLDC Arduino Shield.
- Firmware flashing procedure during production.
Anzo Controls Pvt. Ltd.
Absolutely disappointed. The glossy https://www.infineon.com/cms/en/product/evaluation-boards/motorcontrolkit_12v/#!documents advertises:
"The motor control kit comes with example code which is pre-flashed, so the motor will run instantly after plugged in. The source code is available for the user to analyze, understand and adapt different motor control schemes."
"Rapid Prototyping due to pre-assembled kit including example software"
"Hardware and Software both in one pack"
"The best way to reach out to our Applications Engineers is through our Developer Community https://community.infineon.com"
Not true. OK, I did get from forum moderator Raj_JC a .zip with the source code for what probably goes into these units before they ship. However, this code has serious bugs and bad practices. Only one control scheme example is provided. And even that one does not work properly on my kit. I think that's because my BLDC motor is aligned just a little different to its TLE5012B sensor so that the 1st of its 6 electrical steps is at a different TLE5012 orientation. The auto-calibrate in the example code does not pick that up (...). It is also old code from earlier packs and incompatible libraries and config tools. And BTW the now default ARM compiler 6 must first be downgraded to v5...
The SSC1 interface to the TLE5012 chip: not properly tri-stated, outputs always wired together and both active... Clear signs in the 'example source code' that the programmer was fighting with this but failed to properly resolve...
And then after notifying here that this is pissing off customers, the forum moderator simply says 'We do not provide support for the code.' WTF? There is no serious code provided by Infineon, despite the promise as advertised.
No application notes for THIS kit specifically. No hints on HOW things should be wired up for different motor control modes like with/without which Halls. No hints on how to make a basic UART -> USB -> PC serial link for just a basic printf stdio for traditional old style code debugging that I would be comfortable with (not everyone has LIN masters at hand...).
Unbelievable that Infineon think they can get away with this.
No, this post is not asking for help. It is a warning to others that are thinking about buying the "12V Motor Control Kit" for the purpose of ''accelerating the learning curve and doing rapid prototyping or proof on concepts". For me, it was not.