RoadTest: NXP Sensorless Motor Control Eval Kit + Motor
Author: vplacint
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?:
What were the biggest problems encountered?: There were some problems to first start the GUI and the application which weren't properly documented in the available documentations.
Detailed Review:
1. Introduction
Many thanks to element14 for choosing me to play with this BLDC kit. I have been designed in the past some BLDC inverters and this was a good opportunity for me to test and validate my designs. The package arrived well packed and in good shape as in image 1, and it contains: the BLDC motor, the controller and the power adapter.
Image 1. The package
The controller, S12ZVML-MINIBRD, which was used to control this motor is based on the MC9S12ZVML128 MCU, see image 2. This MCU drives the BLDC motor via a 3-phase MOSFET inverter in a sensor-less configuration.
The S12ZVML-MINIBRD embeds the following features (courtesy of NXP S12ZVML-MINIBRD datasheet):
• power supply voltage in the range of -25 V to +25 V, nominal +12 V • reverse battery protection
• load current in range of -10 A to +10 A
• load current monitoring
• boost circuitry designed to allow driving Vgs = 10 V MOSFETs from a +3.5 V power supply
• on-board charge pumps to allow driving the high side MOSFETs
• analog and digital inputs for target application control and monitoring
• FreeMASTER enabled
• LIN enabled
• BDM enabled
• OSBDM enabled: — download and debug MCU code — virtual serial line (USB to SCI)
• board size of 5 cm x 9 cm: — MC9S12ZVML128 related part size of 5 cm x 5 cm — OSBDM related part size of 5 cm x 4 cm
Image 2. The S12ZVML-MINIBRD
The BLDC motor used in these tests is a 3-phase Linix 45ZWN24-40 PM motor, shown in image 3. This BLDC motor is rated for: 24 V, 2.3 A, 4000 rot/min speed and 990 g/cm torque.
Image 3. The 3-phase Linix 45ZWN24-40 PM motor placed on a plexiglas holder
1.1 BLDC Inverter Schematic
Courtesy of NXP, I have found the schematic of the S12ZVML-MINIBRD, see image 4. The inverter stage is pretty simple due to the fact that all the monitoring and control logic is done in the MCU, having only a few external key components.
Image 4. Partial schematic of the S12ZVML-MINIBRD (inverter stage)
Having all of these said, the setup prepared for these tests is presented in image 5. I have not included here the original 12 V adapter, as I wanted to play with the voltage and to monitor also its power consumption, hence I used a handheld power supply.
Image 5. A close-up of the setup
In figure 6 the block diagram of the inverter and its driver are presented.
Image 6. BLDC commutation control (Courtesy of NXP)
2. Testing
To start spinning this BLDC motor several steps have to be taken into account in order to have a proper operation as stated in the NXP quick start guide, and highlighted in images 7-9.
Image 7. Quick start guide: steps 1-6 (courtesy of NXP Quick Start Guide S12ZVML-MINIKIT)
Image 8. Quick start guide: steps 7-8 (courtesy of NXP Quick Start Guide S12ZVML-MINIKIT)
Image 9. Quick start guide: step 9 (courtesy of NXP Quick Start Guide S12ZVML-MINIKIT)
After this, the user should be able to control the BLDC motor using the GUI from FREEMASTER tool as in the image 10. In this GUI the user can turn on/off the motor, control its speed (up to a limit, depending on the applied voltage) and monitor various fault parameters (over-voltage, over-current etc.).
Image 10. The GUI from FREEMASTER tool used to control the BLDC motor
With the BLDC motor supplied with 16 V, and running free at a maximum speed of 3000 rpm, a first test was done to check the start-up current of the motor, by using the embedded feature "Idc_startup" from Alignment & Startup tab. See image 11 for results.
Image 11. BLDC start-up current measurements
Another test was done with the same conditions to check the current consumption of the motor, by using the embedded feature "Current" from Speed Loop tab. See image 12 for results.
Image 12. BLDC current consumption measurements
The BackEMF voltage was readout using the embedded feature "BEMF recorder" from BEMF tab and it is given in image 13. However its shape is somehow strange, but with a closer look is similar with a BEMF waveform. It may be due to some settings which I missed in the application, however I will have a look with an oscilloscope to confirm later if it can be improved.
Image 13. BLDC BEMF measurements
Tests were carried out with the speed loop, to see the correlations between the actual speed and the requested speed. As can be seen in image 14, there are correlations between actual speed (with green) and requested speed (with red) upon on a given voltage. With a 16 V power supply the maximum actual speed was of about 3000 rpm, even though the requested speed was 3500 rpm. However another issue was seen when the motor was turned off while was running at maximum speed. The GUI shows the last value of actual speed to be around 3000 rpm in this case, while the motor is turned off, see the last 2 divisions from image 14.
Image 14. BLDC speed measurements
By increasing the bus voltage to 17 V the over-voltage protection fault engaged, as in image 15, and the user is not allowed to spin the motor till the fault is mitigated.
Image 15. Over-voltage fault testing
With an oscilloscope some measurements of the inverter and its driver waveforms were carried out, to see the signals. Hence, in the following images 16-18, some results are presented.
Image 16. BLDC inverter: output phases (motor connections)
Image 17. BLDC inverter: low side MOSFETs control signals
Image 18. BLDC inverter: single phase high and low side MOSFETs control signals
Finally, a short video showing the operation of the BLDC motor.
3. Conclusions
To conclude, even though I am really late with this review, I enjoyed it. I think the GUI and the whole control routine can be optimized and documented to be more user friendly, as also others have noticed. However, this inverter along with its MCU dedicated driver is an excellent solution for use in controlling sensor-less BLDC motors, having only a few external components. Also, it can be useful to control DC motors.
Thanks again and let me know if something is not clear.
Cheers,
Vlad-Mihai PLACINTA