|
HRI board firmware
v2.1
Microcontroller firmware of the board used during the HRI labs.
|
#include "communication.h"#include "drivers/adc.h"#include "drivers/dac.h"#include "drivers/debug_gpio.h"#include "drivers/incr_encoder.h"#include "drivers/hall.h"#include "drivers/h_bridge.h"#include "drivers/callback_timers.h"#include "lib/basic_filter.h"#include "lib/pid.h"#include "lib/utils.h"#include "torque_regulator.h"Macros | |
| #define | KP_CURRENT_DEFAULT_VAL 100.0f |
| #define | KI_CURRENT_DEFAULT_VAL 500000.0f |
| #define | KD_CURRENT_DEFAULT_VAL 0.0f |
| #define | FF_CURRENT_DEFAULT_VAL MOTOR_RESISTANCE |
| #define | CURRENT_INTEGRATOR_SAT_DEFAULT_VAL 10.0f |
| #define | CURRENT_LOOP_PWM_MAX_DUTY_CYCLE 0.98f |
| #define | CURRENT_LOOP_PERIOD 50 |
| #define | SOFTER_PID_DURATION 0.005f |
Functions | |
| void | torq_RegulateCurrent () |
| Current regulation "loop" function. More... | |
| void | torq_Init (void) |
| Initialize the position and current controllers. More... | |
| void | torq_StartCurrentLoop (void) |
| Start the current regulation. More... | |
| void | torq_SetTorque (float32_t torque) |
| Sets the target motor torque. More... | |
Variables | |
| volatile float32_t | torq_targetCurrent |
| volatile pid_Pid | torq_currentPid |
| bool | torq_regulateCurrent |
| float32_t | torq_pidSoftModeTime |
| #define CURRENT_INTEGRATOR_SAT_DEFAULT_VAL 10.0f |
| #define CURRENT_LOOP_PERIOD 50 |
| #define CURRENT_LOOP_PWM_MAX_DUTY_CYCLE 0.98f |
| #define FF_CURRENT_DEFAULT_VAL MOTOR_RESISTANCE |
| #define KD_CURRENT_DEFAULT_VAL 0.0f |
| #define KI_CURRENT_DEFAULT_VAL 500000.0f |
| #define KP_CURRENT_DEFAULT_VAL 100.0f |
| #define SOFTER_PID_DURATION 0.005f |
| void torq_RegulateCurrent | ( | void | ) |
Current regulation "loop" function.
| volatile pid_Pid torq_currentPid |
| float32_t torq_pidSoftModeTime |
| bool torq_regulateCurrent |
| volatile float32_t torq_targetCurrent |
1.8.13