Commit Graph

57 Commits

Author SHA1 Message Date
raiden00pl
d589443980 industry/foc: fix direction alignment
CCW direction wasn't properly detected when we start alignment from near zero position
2023-11-18 08:39:40 -08:00
raiden00pl
57f98ee20e industrial/foc: add options to configure foclib logs 2023-11-05 12:15:03 +08:00
raiden00pl
ce2ee9bb3f industry/foc: use b16sign() instead of custom ABS() macro
fixedmath now supports sign functions so we no longer need to use a dedicated macro
2023-10-19 19:34:04 +08:00
raiden00pl
f117860a16 industry/foc/ramp: fix acceleration in CCW direction and simplify code 2023-10-18 14:16:53 +08:00
raiden00pl
6cf6a73fc0 industry/foc: add support for PMSM feedforward compensation
reference: https://electronics.stackexchange.com/questions/386246/field-oriented-control-feed-forward-term
2023-10-17 14:24:23 +08:00
raiden00pl
53b7486528 industry/foc: reset velocity observer output foc_velocity_zero_xx() is called 2023-10-16 13:46:09 -04:00
raiden00pl
5a65f3d48f industry/foc: reset align data when align is finished
this allows the align procedure to be run multiple times
2023-10-16 13:44:37 -04:00
raiden00pl
8ee684e586 industry/foc: make direction alignment configurable
for sensorless velocity controller (ESC) we don't need to align the direction,
but we have to align the initial motor phase each time the motor start
2023-10-16 13:44:37 -04:00
raiden00pl
768d5b29f1 industry/foc: force angle observers output to zero if motor stopped
this prevents junk data from the observer when the motor is stopped
2023-10-16 13:42:57 -04:00
raiden00pl
baa23afbd3 industry/foc/openloop: don't use direction argument, instead use signed velocity
otherwise, when dir=-1 and the velocity value is negative, the output from
velocity is in the opposite direction than the intended one
2023-10-16 13:11:49 -04:00
raiden00pl
a36318c536 industry/foc/fixed16/foc_ang_onfo.c: use b16abs operation
we get rid of custom ABS() macro
2023-10-16 22:36:34 +08:00
raiden00pl
6a814dd41f industry/foc/nfo: use float numbers in all calculations
we want to use FPU instructions in calculations not __aeabi
2023-10-15 22:45:13 +08:00
raiden00pl
a56f0922c5 industrial/foc: add an interface that returns the modulation state
Useful for debugging and demonstrating FOC operation
2023-10-05 20:42:46 +08:00
simbit18
85988dc77f Fix nuttx coding style
Remove TABs
2023-08-01 23:10:32 -07:00
raiden00pl
ed370ec674 cmake: port nxscope and foc and add missing directories 2023-07-14 22:04:35 +08:00
Gustavo Henrique Nihei
efb4e0bc91 Add another batch of missing headers throughout the repository
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2023-03-28 14:54:16 -03:00
Xiang Xiao
a29d9ea9da fsutils/examples: Include unistd.h explicitly
to get the prototypes or macros are defined in it

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-02-05 08:46:59 +02:00
raiden00pl
8609c92081 industry/foc/fixed16/foc_ident.c: add b16_t overflow protection 2022-11-04 02:08:08 +08:00
raiden00pl
4beb637925 industry/foc/fixed16/foc_ident.c: fix div operation 2022-11-04 02:08:08 +08:00
raiden00pl
9517b46958 industry/foc/fixed16/foc_ident.c: port changes from float32 implementation 2022-11-04 02:08:08 +08:00
raiden00pl
8d61a10a74 industry/foc/foc_ident: make the Ki resistance measurement parameter configurable
The hardcoded parameter may not be suitable for various types of motors
2022-10-24 01:14:52 +08:00
Xiang Xiao
4941182cc6 Make.defs: Change "ifeq ($(XXX),y)" to "ifneq ($(XXX),)
to support the tristate option correctly and unify the usage

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-16 14:59:08 +02:00
Xiang Xiao
9291d07a87 Fix the coding style issue
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-06 12:20:32 +02:00
zouboan
d1cbbcdb41 reset state machine to support identification once more without restart app 2022-08-22 13:57:12 +08:00
zouboan
bd82e8d39f improve flux linkage identification method
improve flux linkage identification method
2022-08-22 13:57:12 +08:00
zouboan
30dbdf71ff industry/foc foc_ident: adding flux linkage identification 2022-06-01 01:06:26 +08:00
zouboan
5ae5ab7f44 industry/foc foc_ident: improving the measuring of resistance 2022-06-01 01:06:26 +08:00
raiden00pl
fbb09ff128 foclib/fixed16: add support for observers 2022-02-20 21:55:14 +08:00
raiden00pl
52beb5f717 industry/foc/float: cosmetics 2022-02-20 21:55:14 +08:00
raiden00pl
7df20da96c industry/foc: refactor and fixes for angle observers 2022-02-20 07:36:36 +08:00
raiden00pl
8422f9c3f9 industry/foc: remove choice option for angle observers 2022-02-20 07:36:36 +08:00
raiden00pl
c16f1408a6 industry/foc: update comments 2022-02-20 07:36:36 +08:00
raiden00pl
d76a7c242b industry/foc: fix compilation for smo 2022-02-20 07:36:36 +08:00
raiden00pl
d6cdc5a423 industry/foc: rename dir to sensor_dir to be clear that it relates to the direction of the sensor, no movement direction 2022-02-20 07:36:36 +08:00
zouboan
34e4da2304 industry/foc: add support for angle from sensorless observer 2022-02-19 15:37:35 +01:00
raiden00pl
5ef9d3630b industry/foc/float: add velocity observers support 2022-02-16 23:49:12 +08:00
zouboan
1e2b0fc790 new commit 2022-01-12 17:36:01 +01:00
Fotis Panagiotopoulos
bc5d8034f1 Typo fixes. 2022-01-06 10:30:41 +08:00
Xiang Xiao
ea9db635d6 industry/foc: Fix the wrong header file inclusion
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-12-20 09:13:21 +01:00
raiden00pl
54c0b9a9d8 industry/foc/foc_align: add support for sensor index search 2021-11-07 03:46:17 -06:00
raiden00pl
171a3c41df industry/foc/qenco: add support for encoder index 2021-11-07 03:44:03 -06:00
raiden00pl
5a9b3a70f7 industry/foc/fixed16/foc_ang_hall.c: fix warning 2021-11-04 13:50:57 -05:00
raiden00pl
9076c899d4 industry/foc/fixed16/foc_align.c: fix incorrect b16_t operations 2021-11-04 13:50:57 -05:00
raiden00pl
4001d27571 industry/foc: add support for Hall sensor 2021-10-30 10:17:07 -05:00
raiden00pl
5b52247625 industry/foc: add support for qenco 2021-10-30 10:17:07 -05:00
raiden00pl
df1638a3aa industry/foc/*/foc_openloop.c: rename files to foc_ang_openloop.c 2021-10-30 10:17:07 -05:00
raiden00pl
ff839dcf3e industry/foc/*/foc_openloop.c: adapt to previous changes 2021-10-30 10:17:07 -05:00
raiden00pl
515a25fbb8 industry/foc/*/foc_velocity.c: add methods to set the zero velocity and direction of the velocity 2021-10-30 10:17:07 -05:00
raiden00pl
6cafdae44a industry/foc/*/foc_angle.c: add methods to set the zero angle and direction of the angle 2021-10-30 10:17:07 -05:00
raiden00pl
2e61b3e310 industry/foc/*/foc_velocity.c: run method should return int 2021-10-30 10:17:07 -05:00