Development of a Motor Controller and an Application Layer (using MATLAB), for a BLDC Motor
About the Customer:
Our customer is a leading Japanese OEM of Electric Motors. Their products find application in hard-disk drives, electric appliances, automobiles, and commercial and manufacturing equipment.
As part of the automotive product development roadmap, the customer desired to design a motor controller solution for a Brushless DC (BLDC) motor. This motor control solution, along with the motor, was to be integrated with the transmission control unit (TCU) product line.
The in-house product development teams of our customer had in-depth expertise and experience in hardware design and development. But the in-house teams faced several challenges during the software development lifecycle. Our customer realized how critical is the software design in building an efficient motor control solution and in achieving the desired speed-torque characteristics.
During the time when our customer confronted this challenge, they were already partnering with Embitel Technologies for a Functional Safety Project. Based on this partnership, our customer had developed a lot of trust in software development capabilities of our Automotive Teams. This ensured that our partnership with the customer was further strengthened and our teams took up this challenge of designing an efficient BLDC Motor Control Solution.
- The Development team at Embitel proposed the use of MATLAB (Model Based Development) for developing the application. This was suggested so that the developers could simulate the actual motor in MATLAB and ensure that it showed intended behavior before actually implementing it within the Transmission Control Unit.
- In order to reduce the turn-around time, we deployed SimScape, which are readymade simulation modules that need some tuning for specific use-cases. These modules were able to simulate the real scenario so that developers were required to only work on the base application.
- Real motor parameters were found out by consulting with experts and technical papers. These parameters were then fed to the simulators and output graphs were checked. We also fine-tuned the PI gains to get the real speed-torque curve. The best practices suggested by MATLAB, Mathematical calculations and models were used to arrive at the correct parameters and then they were used in the development.
- Reducing the hardware components was also one of the value-adds our customers expected from us. Our engineers used one-shunt resistance for current reading. Using one-shunt resistance with a three-phase motor can get very tricky because it is difficult to find out the current from which phase is going through the shunt. Our Motor Controller development team design an algorithm to determine how and where to sample the current. This was the toughest part of the solution.
- Another major part of the project was to integrate the base software of the motor (BSW) with application generated by MATLAB. BSW included low level drivers (MCAL), Hardware Abstraction Layer (HAL), diagnostics UDS stack, scheduler, and flash bootloader software
- Read-to-deploy and production-grade UDS Protocol Stack (ISO 14229) and Flash Bootloader software (for ECU reprogramming) proved to be value-adds for our customer. These re-usable software components ensured cost and time savings for the overall project.
Our Automotive Teams were successful in delivering a motor controller solution with the required speed-torque characteristics.
Tools and Technologies:
- Hardware Platform: Infineon
- BLDC Motor: 400 watts
- MATLAB and SimScape
- Integration of our proprietary and production-grade UDS Protocol Stack (ISO 14229) \
- Current Reading Algorithms