You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The MXLEMMING Obserser has been ported from the MESC Firmware, it's also the default Flux observer in Vesc firmware.
4
+
The [MESC book](https://davidmolony.github.io/MESC_Firmware/operation/CONTROL.html#the-sensorless-observer) explains the math behind this flux observer.
5
+
6
+
It's a simple solution for sensorless motor control only using phase currents and motor parameters, if tracking the position at low speed and when not driving the motor is not relevant.
7
+
8
+
### Motor Parameters:
9
+
The MXLEMMING Observer needs the following motor parameters to be set:
10
+
- phase resistance
11
+
- KV rating
12
+
- phase inductance
13
+
- pole pairs
14
+
15
+
It will not track the position if any of those parameters are missing.
16
+
17
+
The KV rating and pole pairs parameters are used to derive the motor flux linkage which is key for the flux observer to run well.
flux_linkage parameter can be adjusted from the code.
25
+
26
+
### Current Sense
27
+
The current sense is required as this flux observer only relies on phase currents.
28
+
29
+
### Sensor Alignment
30
+
The flux observer sensor doesn't need sensor alignment.
31
+
```
32
+
motor.sensor_direction= Direction::CW;
33
+
motor.zero_electric_angle = 0;
34
+
```
35
+
36
+
### To do:
37
+
- The Clarke transform is running both in the loopFOC and in the sensor update now, it can be remove from the sensor when the Alpha and Beta currents will be persisted as a BLDCMotor member
38
+
- The flux observer is calculating the electrical angle directly, but SimpleFOC needs to derive the electrical angle from the sensor angle for the FOC calculation
0 commit comments