Commit Graph

107 Commits

Author SHA1 Message Date
raiden00pl
144bf0bd1f examples/foc: remove obsolete CONFIG_EXAMPLES_FOC_IPHASE_ADC option 2023-11-15 18:49:42 +01:00
raiden00pl
fa19b71ba4 examples/foc: get iphase scale from the FOC device interface 2023-11-15 03:48:53 -08:00
raiden00pl
9eb5bd4091 examples/foc: pass from velocity controller to torque controller 2023-11-14 09:46:07 -08:00
raiden00pl
ce53f0fc4c examples/foc: add torque saturation 2023-11-14 09:46:07 -08:00
raiden00pl
dc4330476d examples/foc: add velocity saturation 2023-11-14 09:46:07 -08:00
raiden00pl
32a8c29753 examples/foc: don't raise error when EXAMPLES_FOC_IPHASE_ADC isn't set
This is the first step towards getting rid of CONFIG_EXAMPLES_FOC_IPHASE_ADC completely
2023-11-14 04:42:13 -08:00
raiden00pl
eeacbdde3a examples/foc: get velocity from observer if sensored mode 2023-11-14 10:30:52 +01:00
raiden00pl
c5314b54a4 examples/foc: fix active brake for sensored mode 2023-11-14 10:30:52 +01:00
raiden00pl
cb36d9c8b2 examples/foc: fix compilation for open-loop without angle observer 2023-11-14 10:30:52 +01:00
raiden00pl
b52f7dae0c examples/foc: set direction when updating new setpoint 2023-11-13 08:49:21 -08:00
raiden00pl
1095aec162 examples/foc: start from the beginning if control loop is started
After the start request to FOC device, we should return to the
beginning of the loop and wait for the first synchronization event.

This also fixes the problem with the extended first loop cycle,
so we can remove the workaround in foc_perf.
2023-11-13 08:48:22 -08:00
raiden00pl
f9a4ace59a examples/foc: fix warning for sensored configurations 2023-11-13 08:47:21 -08:00
raiden00pl
87dcf877e7 examples/foc: raise error if both sensorless and sensored modes enabled 2023-11-13 08:47:21 -08:00
raiden00pl
8a04e2b282 examples/foc: add #error messages 2023-11-13 08:47:21 -08:00
raiden00pl
3c541c496b examples/foc: allow sensored velocity mode 2023-11-13 08:47:21 -08:00
raiden00pl
9ba7092000 examples/foc: add support for control loop performance measurements
also format CMakeLists.txt
2023-11-06 09:02:28 +08:00
raiden00pl
73ab7dedd4 examples/foc: refactor control loop
1. get FOC device state at the beginning of the loop
2. simplify if-else block
2023-11-05 13:56:52 +08:00
raiden00pl
7e918964e4 remove examples/xxx/README.md. Migrated to Documentation/applications/examples
part of examples/bastest is moved to examples/bastest.testcases.md
2023-10-30 10:00:01 +08:00
raiden00pl
292b0cbc28 examples/foc: change the velocity ramp parameters scale to x1
controlling the ramp with greather accuracy makes no practical sense
2023-10-29 10:40:27 +08:00
raiden00pl
8568439b80 examples/foc: configure acceleration and deceleration from command line 2023-10-29 10:40:27 +08:00
raiden00pl
aad2bcb621 examples/foc: use the current configuration values when printing the help message
This is useful when tuning the controller and running application many times with different parameters from the NSH
2023-10-19 19:18:48 -04:00
raiden00pl
1c922f2d2d examples/foc: add phase angle observer support (sensorless mode)
This app can work now as sensorless ESC.

Also introduce a cmd line option that force open-loop control
which is useful when tuning angle/velocity observers
2023-10-19 19:33:43 +08:00
raiden00pl
8398297518 examples/foc: add an option to call nxscope work from control thread
This alows nxscope data to be sent with every cycle of the control loop,
which increases the execution time of the control loop, but allows data
to be sent at a highier frequency using the small nxscope buffer.

Useful when tuning and debuging using RTT transfer.
2023-10-19 01:24:07 +08:00
raiden00pl
4652c5516d examples/foc: rename SETPOINT_ADC_SCALE to SETPOINT_INTF_SCALE
SETPOINT_INTF_SCALE is more appropriate name because this definition is not only used for ADC scale
2023-10-18 14:15:47 +08:00
raiden00pl
de6a384668 examples/foc: add velocity PI controller 2023-10-18 14:15:12 +08:00
raiden00pl
9dde6983e6 examples/foc: add support for feedforward compensation 2023-10-17 22:45:26 +08:00
raiden00pl
c8a4abfcb2 examples/foc: remove align configuration checks
these are already done when you configure the align routine
2023-10-17 22:42:42 +08:00
raiden00pl
fd0da7d4df examples/foc: open-loop needs initial phase alignment 2023-10-17 22:42:42 +08:00
raiden00pl
8e0819df04 examples/foc: add velocity observers 2023-10-17 22:42:42 +08:00
raiden00pl
9bcca69967 examples/foc: initialize motor phy 2023-10-17 22:42:42 +08:00
raiden00pl
9ee4daea43 examples/foc: configure active breake current 2023-10-17 14:24:58 +08:00
raiden00pl
e8ff9ad005 foc/example/Kconfig: cosmetics 2023-10-17 14:23:42 +08:00
raiden00pl
969607ac44 examples/foc: fix setpoint scale for char interface 2023-10-17 14:23:42 +08:00
raiden00pl
4c4976a4e9 examples/foc: add warning if no controller enabled 2023-10-17 14:23:42 +08:00
raiden00pl
5dd4813b34 examples/foc: fix wrong nxscope functions for fixed16 2023-10-16 13:53:40 -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
b88057fffd examples/foc: support svm3 state with nxscope 2023-10-05 20:42:46 +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
raiden00pl
5cbd9b2b7b examples/foc: allow nxscope transfer over RTT interface
For UART serial interface TERMIOS is required, but for RTT serial interface it's not.
2023-10-02 21:46:52 +03:00
Xiang Xiao
8083b094c3 Kconfig: Simplify the conditional default statement
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-07-25 09:51:09 +08:00
raiden00pl
ed370ec674 cmake: port nxscope and foc and add missing directories 2023-07-14 22:04:35 +08:00
raiden00pl
7e5a436ff9 examples/foc: add real time data capture with the NxScope library 2023-05-19 20:18:38 +08:00
raiden00pl
55b296a5c6 examples/foc/foc_thr: get controller type from controller ID 2023-05-19 20:18:38 +08:00
raiden00pl
54bcf3afdd examples/foc/foc_thr: fix mutex logic 2023-05-19 20:18:38 +08:00
raiden00pl
111e02dbdb examples/foc: improve the readability of the motor structures 2023-05-17 13:45:24 +08:00
raiden00pl
caba5a0a6f examples/foc: add missing deinit calls 2023-05-15 13:19:34 -03:00
raiden00pl
f358bdfcb3 examples/foc: send messages only to active control threads 2023-05-15 13:19:34 -03:00
raiden00pl
beb5369a0d examples/foc/foc_main.c: fix de-initialization sequence 2023-05-15 13:19:34 -03:00
raiden00pl
cc189ef170 examples/foc: add controller IDLE mode 2023-05-15 13:19:34 -03:00
Xiang Xiao
7c37421266 Replace all sprintf with snprintf
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-05-08 21:35:16 +03:00