Commit Graph

40 Commits

Author SHA1 Message Date
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
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
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
9291d07a87 Fix the coding style issue
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-06 12:20:32 +02:00
raiden00pl
fbb09ff128 foclib/fixed16: add support for observers 2022-02-20 21:55:14 +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
raiden00pl
cb78f6d0df industry/foc/*/foc_angle.c: run method should return int 2021-10-30 10:17:07 -05:00
raiden00pl
7a272dfca3 industry/foc/*/foc_model_pmsm.c: cosmetics 2021-10-30 01:19:43 -05:00
raiden00pl
f009d68a91 industry/foc: add motor identification routine 2021-10-30 01:18:12 -05:00
raiden00pl
f2fc2af8e3 industry/foc: add sensor alignment routine 2021-10-30 01:18:12 -05:00
raiden00pl
084cfa4e5e industry/foc: add general FOC routine handler 2021-10-30 01:18:12 -05:00
raiden00pl
a0fbd104fa industry/foc: add support for CORDIC 2021-07-28 14:24:08 -03:00
raiden00pl
d75d6b7af0 Add FOC library
Supported features:
- float and fixed16 operations
- helper interface to interact with the kernel-side FOC device
- general interface for FOC controller
- PI current/voltage controller
- 3-phase space vector modulation
- general interface for FOC model
- PMSM model
- general interface for phase angle data
- open-loop handler
- general interface for phase velocity data
- general interface for ramp (eg. velocity ramp, torque ramp)
- (WIP) CORDIC interface for hardware acceleration
2021-04-10 00:39:09 -05:00