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