mirror of
https://github.com/goldenfishs/MRobot.git
synced 2025-09-14 21:04:32 +08:00
53 lines
1.5 KiB
C
53 lines
1.5 KiB
C
#pragma once
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Includes ----------------------------------------------------------------- */
|
|
#include "device/device.h"
|
|
|
|
/* Exported constants ------------------------------------------------------- */
|
|
/* Exported macro ----------------------------------------------------------- */
|
|
/* Exported types ----------------------------------------------------------- */
|
|
typedef struct {
|
|
float rotor_abs_angle; /* 转子绝对角度 */
|
|
float rotor_speed; /* 实际转子转速 */
|
|
float torque_current; /* 转矩电流 */
|
|
float temp; /* 温度 */
|
|
} MOTOR_Feedback_t;
|
|
|
|
/**
|
|
* @brief mit电机输出参数结构体
|
|
*/
|
|
typedef struct {
|
|
float torque; /* 目标力矩 */
|
|
float velocity; /* 目标速度 */
|
|
float angle; /* 目标位置 */
|
|
float kp; /* 位置环增益 */
|
|
float kd; /* 速度环增益 */
|
|
} MOTOR_MIT_Output_t;
|
|
|
|
/**
|
|
* @brief 转矩电流控制模式参数结构体
|
|
*/
|
|
typedef struct {
|
|
float current; /* 目标电流 */
|
|
} MOTOR_Current_Output_t;
|
|
|
|
typedef struct {
|
|
DEVICE_Header_t header;
|
|
bool reverse; /* 是否反装 true表示反装 */
|
|
MOTOR_Feedback_t feedback;
|
|
} MOTOR_t;
|
|
|
|
/* Exported functions prototypes -------------------------------------------- */
|
|
float MOTOR_GetRotorAbsAngle(const MOTOR_t *motor);
|
|
float MOTOR_GetRotorSpeed(const MOTOR_t *motor);
|
|
float MOTOR_GetTorqueCurrent(const MOTOR_t *motor);
|
|
float MOTOR_GetTemp(const MOTOR_t *motor);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|