12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #ifndef __TORQUE_SENSOR_H
- #define __TORQUE_SENSOR_H
- #include "stm32f1xx_hal.h"
- #include "adc.h"
- #include "var.h"
- //力矩传感器启动值默认值
- #define TORQUE_SENSOR_STARTDATA 368
- //力矩传感器历史零点值,占用空间24bytes
- typedef struct
- {
- uint16_t Data[9];
- uint16_t MaxData;
- uint16_t MinData;
- uint16_t PresentData;
- }TorqueOffSetData_Struct_t;
- //传感器属性
- typedef struct
- {
- TorqueOffSetData_Struct_t Torque_OffSetData;//零点历史值
- uint8_t Torque_Cal_K;//标定系数
- }TorqueSensor_Param_Struct_t;
- //线性校正系数
- typedef struct
- {
- uint16_t Torque_Measure;// N.m * 28
- uint8_t Torque_Load; // N.m
- uint8_t Correction_K; // * 128
- }TorqueSensor_LinearCorrectionParam_Struct_t;
- //传感器故障状态
- typedef union
- {
- struct
- {
- uint8_t Sensor1 :1; //传感器1故障状态位
- uint8_t Sensor2 :1; //传感器2故障状态位
- uint8_t Sensor3 :1; //传感器3故障状态位
- uint8_t RS :5;
- }FaultBit;
- uint8_t FaultStatusCode;
- }TorsueSensorFaultStatus_Struct_t;
- //全局变量声明
- extern TorqueSensor_Param_Struct_t TorqueSensor_1_Param;
- extern TorqueSensor_Param_Struct_t TorqueSensor_2_Param;
- extern TorqueSensor_Param_Struct_t TorqueSensor_3_Param;
- extern TorsueSensorFaultStatus_Struct_t TorsueSensorFaultStatus;
- extern uint16_t TorqueSensorStartData;
- extern TrueOrFalse_Flag_Struct_t IsTorqueOffSetUpdateEnable;
- extern TorqueSensor_LinearCorrectionParam_Struct_t TorqueSensor_LinearCorrectionParam[15];
- //全局变量定义
- extern void TorqueSensor_ParamSetDefaultData_Init(TorqueSensor_Param_Struct_t* p_TorqueSensor_Param, uint16_t AdcData);
- extern void TorqueOffSetData_Process(TorqueOffSetData_Struct_t* p_TorqueOffSetData, uint16_t AdcData);
- extern void TorqueOffSetData_Present_Update1(uint16_t* PresentData, uint16_t AdcData, uint8_t Cal_K, MC_ErrorCode_Struct_t* p_MC_ErrorCode);
- extern void TorqueOffSetData_Present_Update2(uint16_t* PresentData, uint16_t AdcData, uint8_t Cal_K, MC_ErrorCode_Struct_t* p_MC_ErrorCode);
- extern void TorqueOffSetData_Present_Update3(uint16_t* PresentData, uint16_t AdcData, uint8_t Cal_K, MC_ErrorCode_Struct_t* p_MC_ErrorCode);
- #endif
|