Skip to content

Commit b984271

Browse files
authored
Update README.md
Some documentations
1 parent 202ba0c commit b984271

File tree

1 file changed

+37
-1
lines changed

1 file changed

+37
-1
lines changed
Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,39 @@
11
# Flux Observer Sensor
22

3-
[MESC Book](https://davidmolony.github.io/MESC_Firmware/operation/CONTROL.html#the-sensorless-observer)
3+
The MXLEMMING has been ported from the MESC Firmware, it's also the default Flux observer in Vesc.
4+
The [MESC book](https://davidmolony.github.io/MESC_Firmware/operation/CONTROL.html#the-sensorless-observer) explains the math behind the 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 Flux 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 ([code](https://github.com/Candas1/Arduino-FOC-drivers/blob/202ba0c4ae11558f6391c4bdff1e130a8735e178/src/encoders/flux_observer/FluxObserverSensor.cpp#L10)) which is key for the flux observer to run well.
18+
```
19+
BLDCMotor motor = BLDCMotor(15, 0.1664, 17.0, 0.00036858); // Hoverboard Motor
20+
```
21+
flux_linkage parameter can be adjusted from the code.
22+
23+
### Current Sense
24+
The current sense is required as this flux observer only relies on phase currents.
25+
26+
### Sensor Alignment
27+
The flux observer sensor doesn't need sensor alignment.
28+
```
29+
motor.sensor_direction= Direction::CW;
30+
motor.zero_electric_angle = 0;
31+
```
32+
33+
### Bemf Threshold
34+
The sensor also has a bemf_threshold parameter (0 by default) that prevents the flux observer from tracking if the estimated bemf is not high enough ([code](https://github.com/Candas1/Arduino-FOC-drivers/blob/202ba0c4ae11558f6391c4bdff1e130a8735e178/src/encoders/flux_observer/FluxObserverSensor.cpp#L29)).
35+
This can help when starting the motor as the flux observer is not good at tracking the position at low speed.
36+
37+
### To do:
38+
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.
39+

0 commit comments

Comments
 (0)