Comments (13)
Benjamin, we have support for IPM motors with MTPA running promisingly well in the simulator. It also covers Field Weakening (#76), and l/q axis decoupling. We are going to field test it next week.
I will need to change the user interface because currently it only shows motor inductance, but an IPM motor will have Ld and Lq.
What I propose is to add a new field to the General FOC tab so the user can tune both Ld and Lq.
During parameter detection we will run the same inductance-detecting code and store Ld=Lq. That way no saliency torque will be calculated and the control algorithm will behave exactly the same as before.
Those who run a big IPM machine can just take Ld and Lq from the nameplate.
Would you be okay with such GUI change?
As a side note, I've been told outrunners do have a bit of saliency torque that could be extracted with this new control algorithm, like 5% or more. And FW can improve torque figure when you're close to base speed.
from bldc.
That sounds like a good plan and proposal. If you make a PR I will have a look and test it a bit, and merge the code if it works well. Thanks again for the effort and contributions!
from bldc.
As we can measure ld and lq now, it would be nice to look into this again. Best is probably to keep the inductance parameter, and add another parameter for ld-lq. By default that parameter can be 0, which disables MTPA. I will set up a rig where I can test this properly soon and see if there are efficiency gains from MTPA.
from bldc.
Yeah, yesterday I played a bit with the new inductance detection.
I am currently working on a very small IPM motor that measured 120uH and 35uH Ld-Lq difference.
We also have 2 big leaf motors on the dyno, its not using fw 4 yet but we did measure some substantial efficiency improvement by changing the resolver offset, which indirectly creates some id.
I will take a look at this once my small IPM is working well, I need to debug some observer issues.
from bldc.
Oh and this is our big dyno with a back-to-back nissan leaf motor:
https://www.youtube.com/watch?v=oLP35Ps0X4A
With a couple of external power meters we should be able to get some good insights for MTPA analysis, although we don't have a way to measure torque at the shaft yet.
from bldc.
Another good way is probably to drive a propeller at constant rpm, and measure the input power with and without MTPA.
I will start playing with your controller soon too. We got a bit delayed since I have to make a battery pack and BMS, but we are making good progress there. I will hopefully get it to work well once I can play a bit with the observer using IGBTs.
from bldc.
After resolving a few conflicts I have locally merged the latest master to the FW/MTPA branch for a clean PR. I'm hoping to test the code on the bench this week then push it to the remote branch.
Don't hesitate asking me about the controller setup. You are likely wanting to change a couple of components to increase current sense filtering. BMS integration is important in our end as well, I'd be super interested to hear more about that if its being integrated into vesc codebase.
The HFI is awesome groundwork for MTPA!
from bldc.
The Method for supporting IPM motor is
from bldc.
Not sure what are you talking about, but we are currently testing the MTPA trajectory in our dyno:
https://www.youtube.com/watch?v=CcFCPq4gO3s
There were a couple of minor errors on both TI app note and in vesc code, we hope to make the pull request for mtpa alone soon, I've been using mtpa on my bike for a while now.
It would be a new pull request because the mtpa code is very very short and #91 is getting though to keep updated.
from bldc.
I talk about how to contruct position estimator for IPM motor
but the estimator contain speed information.
from bldc.
Oh, I see, its math for an observer.
For what is worth, Ortega's observer seems to be working well for me even if its designed around assumptions of surface mount permanent magnet motor. I struggled to get sensorless IPM working on my motor with my own hardware, but I think its because vesc firmware doesn't like detecting motor parameters when the mosfets switch slower than Benjamin's hardware.
It would be interesting if you can provide an implementation in C code, the firmware could be adapted to include a new observer. I coded a different observer designed for IPM and it was tracking well, except that it had a constant offset that I couldn't figure out why was there, and then I got Ortega's working on my setup so I dropped it.
from bldc.
I use IPM motor parameters and fan load for simulation. When the initial pole position (pi / 3, 5 * pi / 3) is within the range, the position estimation fails. This expansion may not be suitable. I am looking for an algorithm that supports IPM motors, it is best to support zero speed.
from bldc.
The reason why Ortega's observer works well may be that the Ld and Lq of the motor you are using are relatively close, and the parameter I simulated is Lq = 2 * Ld. The parameter is Rs=4.765, Ld=0.007, Lq=0.014, psim=0.1848, no. of poles is 4, rated current is 3.06A, rated speed is 3750 rpm. Can you provide your motor parameter?
from bldc.
Related Issues (20)
- [LispBM] Registering an extension that doesn't start with "ext-" silently passes HOT 5
- It needs more default number HFI start samples to resolve the initial ambiguity HOT 1
- Feature Request: add option to invert wake up switch function from normally closed to normally open button
- Better support for digital/ switch-based brakes HOT 3
- Waiting for vesc suport step/dir interface!
- Feature Request:How to customize my VESC firmware?
- Can 1 STM32F drive 2 mosfet Driver? HOT 4
- I want to drive two mosfet drivers with one stm32f like foCbox unity. I'm going to use two DRV8301's. I don't know if VESC allows 1 STM32F to receive SPI from two Mosfet Drivers. Is there anyone who can help me with the PROJECT? HOT 2
- [LispBM] Shutdown event issues HOT 6
- Feature request: Redundant analog signals for throttle and brake
- Feature Request: Disable Field Weakening at compile HOT 2
- Current control tuning HOT 1
- make qt_install failed
- Adding MakerX hardware HOT 1
- Lisp app-adc-override wrong values HOT 16
- TCP connection for VESC tools is unavailable when uart connection is established with Lisp
- Unexpected sensor port voltage on VESC 6 75V HOT 1
- Traction control on dissimilar motors. HOT 2
- CAN bus spamming
- Suport UART commands VS LispBM commands HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bldc.