Go to the documentation of this file.
18 #ifndef SPD_OBSERVER_H
19 #define SPD_OBSERVER_H
44 #define SPD_OBSERVER_DEFAULTS { \
76 obs->
Err = (obs->
Err > 0.5f) ? (obs->
Err - 1.0f) :
77 (obs->
Err < -0.5f) ? (obs->
Err + 1.0f) : obs->
Err;
81 obs->
ui += obs->
Ki * obs->
Err * Ts;
89 obs->
Fbk += obs->
Out * thetaMax;
92 obs->
Fbk = (obs->
Fbk > 1.0f) ? (obs->
Fbk - 1.0f) :
93 (obs->
Fbk < 0.0f) ? (obs->
Fbk + 1.0f) : obs->
Fbk;
109 obs->
Err = (obs->
Err > 0.5) ? (obs->
Err - 1.0) :
110 (obs->
Err < -0.5) ? (obs->
Err + 1.0) : obs->
Err;
125 obs->
Fbk = (obs->
Fbk > 1.0) ? (obs->
Fbk - 1.0) :
126 (obs->
Fbk < 0.0) ? (obs->
Fbk + 1.0) : obs->
Fbk;
131 #endif // end of SPD_OBSERVER_H definition
float32_t Out
Definition: speed_observer.h:28
float32_t Err
Definition: speed_observer.h:27
float32_t Kp
Definition: speed_observer.h:29
float float32_t
Definition: sfra_f32.h:42
float32_t Fbk
Definition: speed_observer.h:26
float32_t up
Definition: speed_observer.h:34
Definition: speed_observer.h:23
float32_t KiT
Definition: speed_observer.h:31
float32_t Umax
Definition: speed_observer.h:32
float32_t thetaMax
Definition: speed_observer.h:38
static float32_t runSpeedObserve(SPD_OBSERVER *obs, float32_t theta)
Definition: speed_observer.h:101
float32_t Ki
Definition: speed_observer.h:30
static float32_t SPD_OBSERVER_run(SPD_OBSERVER *obs, float32_t theta, float32_t IqErr, float32_t Ts, float32_t thetaMax)
Definition: speed_observer.h:64
float32_t ui
Definition: speed_observer.h:35
struct _SPD_OBSERVER_obj_ SPD_OBSERVER
float32_t IqMax
Definition: speed_observer.h:36
float32_t Ref
Definition: speed_observer.h:25
float32_t IqKf
Definition: speed_observer.h:37
float32_t Umin
Definition: speed_observer.h:33
Copyright 2023, Texas Instruments Incorporated