Update README.md
This commit is contained in:
parent
a0fe701264
commit
38b518a86f
14
README.md
14
README.md
|
@ -23,24 +23,25 @@ The FOC algorithm architecure is illustrated in the figure below:
|
||||||
|
|
||||||
![FOC algorithm](https://raw.githubusercontent.com/EmanuelFeru/hoverboard-firmware-hack-FOC/master/docs/pictures/FOC_algorithm.png?token=AF5B7SMHSBHOIMKNDO6MI6K5THYDQ)
|
![FOC algorithm](https://raw.githubusercontent.com/EmanuelFeru/hoverboard-firmware-hack-FOC/master/docs/pictures/FOC_algorithm.png?token=AF5B7SMHSBHOIMKNDO6MI6K5THYDQ)
|
||||||
|
|
||||||
In this firmware 2 control methods are available:
|
In this firmware two control methods are available:
|
||||||
- Commutation method
|
- Commutation method
|
||||||
- FOC method
|
- FOC method
|
||||||
![Schematic representation of the available control methods](https://raw.githubusercontent.com/EmanuelFeru/hoverboard-firmware-hack-FOC/master/01_Matlab/02_Figures/control_methods.png?token=AF5B7SKKAOYGW53BEGBSWBK5THYFU)
|
![Schematic representation of the available control methods](https://raw.githubusercontent.com/EmanuelFeru/hoverboard-firmware-hack-FOC/master/01_Matlab/02_Figures/control_methods.png?token=AF5B7SKKAOYGW53BEGBSWBK5THYFU)
|
||||||
|
|
||||||
|
|
||||||
A short video showing the noise performance of the Commutation method vs advanced control method:
|
A short video showing the noise performance of the Commutation method vs advanced control method:
|
||||||
|
|
||||||
[►Video: Commutation method vs FOC](https://drive.google.com/file/d/1vC_kEkp2LE2lAaMCJcmK4z2m3jrPUoBD/view)
|
[►Video: Commutation method vs FOC](https://drive.google.com/file/d/1vC_kEkp2LE2lAaMCJcmK4z2m3jrPUoBD/view)
|
||||||
|
|
||||||
![Hoverboard wheel](https://raw.githubusercontent.com/EmanuelFeru/hoverboard-firmware-hack-FOC/master/docs/pictures/hoverboard_wheel.JPG?token=AF5B7SLDXZCN4P2IJ6WWBYC5THYIO)
|
![Hoverboard wheel](https://raw.githubusercontent.com/EmanuelFeru/hoverboard-firmware-hack-FOC/master/docs/pictures/hoverboard_wheel.JPG?token=AF5B7SLDXZCN4P2IJ6WWBYC5THYIO)
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
GENERAL NOTES:
|
## General Notes
|
||||||
- The C code for the controller was auto-code generated using [Matlab/Simulink](https://nl.mathworks.com/solutions/embedded-code-generation.html) from a model which I developed from scratch specifically for hoverboard control. For more details regarding the working principle of the controller please consult the [Matlab/Simulink model](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/tree/master/01_Matlab).
|
- The C code for the controller was auto-code generated using [Matlab/Simulink](https://nl.mathworks.com/solutions/embedded-code-generation.html) from a model which I developed from scratch specifically for hoverboard control. For more details regarding the working principle of the controller please consult the [Matlab/Simulink model](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/tree/master/01_Matlab).
|
||||||
- A [webview](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/tree/master/01_Matlab/BLDC_controller_ert_rtw/html/webview) was created, so Matlab/Simulink installation is not needed, unless you want to regenerate the code
|
- A [webview](https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC/tree/master/01_Matlab/BLDC_controller_ert_rtw/html/webview) was created, so Matlab/Simulink installation is not needed, unless you want to regenerate the code
|
||||||
|
|
||||||
NOTES Field weakening:
|
### Notes Field weakening:
|
||||||
|
|
||||||
- By default the Field weakening is disabled. You can enable it in config.h file by setting the FIELD_WEAK_ENA = 1
|
- By default the Field weakening is disabled. You can enable it in config.h file by setting the FIELD_WEAK_ENA = 1
|
||||||
- In BLDC_controller_data.c you can find the field weakening Map as a function of speed: MAP = id_fieldWeak_M1, XAXIS = n_fieldWeak_XA
|
- In BLDC_controller_data.c you can find the field weakening Map as a function of speed: MAP = id_fieldWeak_M1, XAXIS = n_fieldWeak_XA
|
||||||
|
@ -48,14 +49,15 @@ NOTES Field weakening:
|
||||||
- If you re-calibrate the field weakening map please take all the safety measures! The motors can spin very fast!
|
- If you re-calibrate the field weakening map please take all the safety measures! The motors can spin very fast!
|
||||||
- During the recalibration make sure the speed values in XAXIS are equally spaced for a correct Map interpolation.
|
- During the recalibration make sure the speed values in XAXIS are equally spaced for a correct Map interpolation.
|
||||||
|
|
||||||
---
|
|
||||||
## Parameters
|
### Parameters
|
||||||
- All the calibratable motor parameters can be found in the 'BLDC_controller_data.c'. I provided you with an already calibrated controller, but if you feel like fine tuning it feel free to do so
|
- All the calibratable motor parameters can be found in the 'BLDC_controller_data.c'. I provided you with an already calibrated controller, but if you feel like fine tuning it feel free to do so
|
||||||
- The parameters are represented in Fixed-point data type for a more efficient code execution
|
- The parameters are represented in Fixed-point data type for a more efficient code execution
|
||||||
- For calibrating the fixed-point parameters use the [Fixed-Point Viewer](https://github.com/EmanuelFeru/FixedPointViewer) tool
|
- For calibrating the fixed-point parameters use the [Fixed-Point Viewer](https://github.com/EmanuelFeru/FixedPointViewer) tool
|
||||||
- The parameters data Fixed-ppoint types are given in the following table:
|
- The parameters data Fixed-ppoint types are given in the following table:
|
||||||
|
|
||||||
>> Table
|
![Parameters table](https://raw.githubusercontent.com/EmanuelFeru/hoverboard-firmware-hack-FOC/master/docs/pictures/paramTable.png?token=AF5B7SPW4GUSLSRZKCAZ7WC5THY4M)
|
||||||
|
|
||||||
|
|
||||||
### Future work
|
### Future work
|
||||||
- conversion of the remaining filters (for the battery voltage, current, and temperature) from floating point to fixed-point. This will reduce further the SMT32 computational load
|
- conversion of the remaining filters (for the battery voltage, current, and temperature) from floating point to fixed-point. This will reduce further the SMT32 computational load
|
||||||
|
|
Loading…
Reference in New Issue