DISCLAIMER: Applications shown here are just some examples . They were developed and tested with standard NXP development kits and a LINIX 45ZWN24-90-B BLDC motor. Other combinations of DevKits and motors will probably require additional tuning and setup. Please see these applications only as examples not as official NXP solutions.
While these examples were developed with Motor Control Development Toolboxes for S32K144 and MPC5744 with the HW setup described below, binaries are also made available for users who want to try these setups quickly without developing themselves the complete solutions. Details on how to load the binaries are offered below.
This is a short and simple HOW TO SPIN a motor with NXP's latest development kit: DEVKIT-MOTORGD
Code is provided as binaries so no building is required.
Steps below describe:
HARDWARE: Two setups from NXP's low-cost evaluation boards are available:
- S32K144EVB-Q100 development kit based on ARM technology
- DEVKIT-MPC5744P development kit based on NXP's Power Architecture technology
SOFTWARE: Binaries already built files for the motor control application are available:
Both applications do the same thing:
S32K - MOTORGD SETUP
MPC5744 - MOTORGD SETUP
Leave a comment below if you have any issues.
Original Attachment has been moved to: BLDC_S32K.mot.zip
Original Attachment has been moved to: BLDC_MPC5744.mot.zip
As this is such an old post, there was no one watching this (I don't blame them), so I asked the same question as a new topic in the forum and they responded to me in a day with the code! If any intrepid software engineer like myself came here seeking solace after accidently overwriting the code off their own NXP control card, look no further than this post which has the code for the S32K144EVB-Q100 version:
Please check this topic here: https://community.nxp.com/thread/455356#comment-925154
I think it is the same issues - with the same resolution.
FYI the RBF file needed is attached here. You need to flash it via the S32 Design Studio for POWER ARCHITECTURE as described in the reference.
Hope this helps!
I'v programed the BLDC_MPC5744.mot file into the mpc5744p devkit, but I found the GD3000 chip was very hot, and could not drive bldc motor. I'm sure my mpc5744p devkit and the motorgd devkit setups was the same as your above pictures. I used 12V dc power, and the current was 0.2 A, was the GD3000 chip broken?
That is strange. The GD3000 chip itself is just a pre-driver for the MOSFETs. It should not be hot since there is only logic signals passing thru.
If the MOSFETs are how, then that would suggest a mismatch between the motor hall sensors setup and the ones expected by the SW or a possible issues with the phase vs hall order. In that case, only 2 motor phases will be power on, but the DC bus current should be high - limited only by the 2xphase resistance.
In normal operation the temperatures should be similar with the ones captured with the FLIR camera above.
Do you have MATLAB/Simulink License ? If so, then you can open a Simulink model and do additional testing without power on the MOSFET just to see if the GD3000 is still alive.
This topic has been created back in the days when there was no solution available yet to drive this combinations of boards and we thought it might be useful to some of the users to have a quick way to test the setup using just a binary.
In general, we provide the Simulink Models but since some of the users might not have the appropriate licenses to generate the code we were asked by Marketing to provide such binaries.
Anyhow, to answer your question - it is not this team responsibility to provide the C reference code for such devices. In fact, what are you looking for is part of another tool scope - it is called MCAT and it contains a reference code for running on MPC5744P and also a UI control to configure the motor parameters. More information can be found here: MPC5744P 3-phase PMSM Development Kit|NXP
Hope this helps!
Thanks Daniel !
I have the one provided by NXP, type FRDM-MC-LVMTR. On the motor label is written LINIX 45ZWN24-40
The one you used is LINIX 45ZWN24-90-B BLDC
I guess the difference is only related to watts ( 40 or 90 )
Just recently at MATLAB Expo US we had the chance to inspect the boards with a professional FLIR IR camera. Here are a few interesting snapshots:
Note: the demo runs non-stop all day long. These are the captures at the end of the day. The hottest temperature on the MotorGD recorded was on the MOSFETs: 42 deg C
I tried your example code, after having completed all the requested steps but it's not working.
I downloaded the BLDC_S32K.mot file version. I'm using a S32K144EVB with DEVKIT-MOTORGD ans LINIX motor. I see the hall effect signals moving correctly when rotating manually the motor but I have no phase voltages on motor.
On the S32K EVB the led is always red. Is this correct ? Can you provide some hints ?
Do you have the exact BLDC motor as the one shown in the DISCLAIMER? Any other motor might have a different hall pattern switching relative to the motor phase connection and therefore it might not work. In case you do not have the same motor you need to go thru all the steps shown in BLDC Motor Control with Model Based Design in order to build the application.