- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
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);
shields->setMode(BEMF);
shields->readDataset(1);
In the arduino serial monitor the following message appears:
"WARNING: Board[1]; 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?
- Labels:
-
ispn:8004:1:0
-
l1:408:1:0
-
l2:146:1:0
-
l3:921:1:0
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @msuarez ,
To operate the BLDC motor at 28V you have to change the config wizard settings as per the following thread:
BLDC Sensorless FOC (TLE9879 Arduino Kit) - 24VDC and high speed
So, you will have to use J-Link to program the BLDC shield with the new firmware.
We, also recommend using the latest firmware for the BLDC shield.
Please, let us know if you need further clarification.
Thank you
Best Regards
Raj Chaudhari
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The original question stands as it was not answered: the arduino library and the firmware seems to be 'out of sync'
I need the arduino library that correctly deals with BEMF settings (29 vs 30 messages mismatch) for the firmware version this board was shipped, I was unable to find any way thru spi messages to get any "version info" so I dont know what the board currently has.
Flashing a new version doesn't seem to be a reasonable option if it cannot be done with the "free version" of uVision (which states it wont compile > 32kb) or by other "reasonable means", the "evaluation versions" are time bound and depending where I read they are of 7 or 30 days trial period, wont spend thousands of euros for flashing a 30€ board.
Out of curiosity I tried the community edition of uVision and went thru version hell: the documentation is out of sync with current versions and had to do a lot of troubleshooting (manual arm compiler installations, custom download old config wizard V1, etc), right now I'm not even able to compile due to 600+ errors when attempt to do so (tried arm compilers 5.01, 5.06v7 & 6.18)
Perhaps the uVision project files are under version control (git repo) somewhere to check thru the history changes?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
ah, finally after some struggling, managed to compile the projects in "uVision_project_files" folder with the community edition
so when you say "We, also recommend using the latest firmware for the BLDC shield."
do you mean that I should flash the shield with the files in the folder batch_flashing_shield_software using TLE9879_Shield_Flash.bat script?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @msuarez,
To run the motor in the BEMF mode we recommend flashing the BEMF shield software to the BLDC shield.
Path: \\03_shield_software\uVision_project_files\BEMF\BEMF.uvprojx
Please, let us know if you need further support.
Thank you
Best Regards
Raj Chaudhari
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Raj
Using the sources provided in Infineon-BLDC_Shield-Software-v01_00-EN.zip
the file 03_shield_software\uVision_project_files\BEMF\App\commands.h:
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Same problem here. I fixed it by changing that line in Board.cpp
calcCRC = CRC8(uint8ptr, NUMBEROF_BYTES_BEMF);
into
calcCRC = CRC8(uint8ptr, 2*nrofmessages);
And did that consistently for all 3 modes.
I also had to add more delay() before sendMessage. It was 100 us, I had to go up to 250 us to avoid errors when setting parameters... (a Teensy 4.1 is my Arduino host)
Before I could reload code with uVision I had to go through many iterations of incompatible versions. Eventually ended up downgrading to earlier versions, and had to re-enable the SSC2 MRST pin definition... Not impressed really.
Still in search for the right list of (motor) parameters and settings so that all modes finally work. Anyone has these for the "Torcster Black" motor that is also on the "12V Motor Control Kit"? So far I I have with Arduino Shield firmware is FOC with poorly spinning motor, BEMF with a runawayto overspeed fault, and HALL that does not spin at all no mater how I wire and Configure the 3 sensor signals.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Those delays springled around are nasty hacks patching the deficiencies in the protocol, I ventured interfacing it with a Raspberry Pi Zero and they haunted me all over, even discover some reads in the library that did not match data being sent from the firmware and acted instead as disguised delays, saw too many red flags in the code, ended up building my own pcb for driving my motor 😞
This may help you further