cbb
|
9f56ab394e
|
feat(CAN): 实现多节点CAN总线通信与节点ID管理功能
- 添加CAN调试宏定义,支持条件编译调试信息输出
- 实现节点ID相关功能,包括构建CAN ID、消息过滤、获取/设置节点ID
- 支持Flash存储节点ID,提供加载和保存功能
- 实现节点ID设置和查询命令处理
- 更新CANFD发送函数使用节点ID构建发送ID
- 添加消息过滤逻辑,只处理目标节点的消息
- 重构DMA中断服务程序,优化数据传输处理
- 替换printf为调试宏,便于生产环境控制调试输出
|
2026-03-15 02:38:50 +08:00 |
|
cbb
|
2b93a4537c
|
refactor(FOC): 移除代码冲突标记并优化FOC控制器实现
- 移除了所有git冲突标记(<<<<<<< HEAD, =======, >>>>>>>)
- 清理了校准步骤相关注释代码
- 修复了Iq,Id计算中的角度处理逻辑
- 优化了PID控制器参数设置和初始化流程
- 重构了SVPWM相电压设置方法,移除了重复的相电压设置函数
- 修复了关闭功能和电源电压安全限制的计算
feat(CAN): 增强CAN通信协议支持多种控制模式
- 实现了目标电流、速度、角度的多参数控制
- 添加了PID参数动态配置功能
- 支持7种不同控制模式的切换
- 实现了控制模式切换时PID状态重置机制
refactor(pid): 扩展PID控制器功能接口
- 添加了set_P方法替代原有的set_P_percent
- 新增set_limit方法用于输出限幅控制
- 实现了reset方法用于PID状态重置
- 优化了PID参数设置接口
fix(timer): 优化定时器任务调度机制
- 重构了任务调度的时间片管理逻辑
- 实现了基于查找表的任务分配方式
- 优化了100us、1ms、10ms、100ms等不同周期的任务调度
- 提高了系统实时性表现
perf(config): 优化系统配置和数学常量定义
- 添加了必要的GD32头文件包含
- 重新组织了PID参数命名规范
- 定义了常用数学常量如三角函数相关数值
- 优化了定时器频率和周期计算公式
|
2026-03-09 01:48:12 +08:00 |
|
cbb
|
1ee2f68a89
|
Merge branch 'master' of http://172.30.0.1:8418/cbb/Robot_v2
|
2026-03-09 01:47:30 +08:00 |
|
cbb
|
a26dd1cc8e
|
feat(can): 增强CAN通信缓冲区管理机制
- 实现循环缓冲区队列管理CAN消息接收
- 添加缓冲区满/空状态检查函数
- 实现消息出队列dequeue_rx_message功能
- 在中断处理程序中添加消息入队列机制
- 优化CAN消息处理流程,支持批量处理
refactor(motor): 优化电机控制类结构和安全机制
- 重命名PID控制器参数变量名以提高可读性
- 添加过热关机标志位thermal_shutdown和相关处理函数
- 实现过热关机shut_down_thermal和过热恢复resume_from_thermal功能
- 调整关机逻辑,添加drv_stop调用确保电机完全停止
- 修正电流环控制中的占空比设置,改为单相保持
feat(motor): 实现FOC控制算法改进和零点校准功能
- 实现电机零点校准函数calibrate_zero_position用于位置补偿
- 修正FOC控制器中的电气角度计算,集成KTH7823校准角度补偿
- 新增d轴电流计算功能
- 重构PID参数初始化方式,使用统一的电压限制配置
- 更新SVPWM相电压设置算法,改进角度归一化处理
- 修改缺省扇区输出占空比从0.0f改为0.5f以提高稳定性
fix(control): 修复控制回路方向和频率计算问题
- 修正角度控制回路中的误差计算方向
- 修正开环速度控制中的频率参数使用
- 修正速度环控制中的误差计算方向
- 修正MIT模式下多级PID控制器的参数设置和误差计算
refactor(filter): 修正编码器速度计算算法
- 移除速度计算中的冗余乘法因子2
feat(pid): 扩展PID控制器功能
- 添加reset方法用于重置PID内部状态
chore(build): 更新开发工具版本和ADC配置
- 更新csolution版本至2.13.0
- 调整ADC采样时间配置以优化性能
|
2026-03-09 01:35:26 +08:00 |
|
cbb
|
9689841148
|
feat(FOC): 添加电流卡尔曼滤波器并优化MIT控制模式
- 优化MIT控制模式的角度和速度计算
- 调整多个PID控制器的参数配置
- 增强卡尔曼滤波器的数值稳定性
|
2026-02-08 18:53:55 +08:00 |
|
cbb
|
173fadadd2
|
feat(FOC): 重构FOC控制器实现并修复SVPWM算法支持
- 修复类名拼写错误:FOC_Controlroller -> FOC_Controller
- 移除不必要的角度归一化函数,直接使用fmod优化性能
- 添加完整的SVPWM算法实现,提高电机控制效率
- 重构PID参数配置,使用动态参数调整机制
- 增加电流反馈功能,实时监测电机运行状态
- 优化电压安全限制,提高系统稳定性
- 更新控制模式映射,支持更多控制策略
- 改进CAN通信协议,增加电流反馈传输
|
2026-02-02 02:23:16 +08:00 |
|
cbb
|
c9934849c5
|
feat(FOC): 重构FOC控制器实现并修复SVPWM算法支持
- 修复类名拼写错误:FOC_Controlroller -> FOC_Controller
- 移除不必要的角度归一化函数,直接使用fmod优化性能
- 添加完整的SVPWM算法实现,提高电机控制效率
- 重构PID参数配置,使用动态参数调整机制
- 增加电流反馈功能,实时监测电机运行状态
- 优化电压安全限制,提高系统稳定性
- 更新控制模式映射,支持更多控制策略
- 改进CAN通信协议,增加电流反馈传输
|
2026-02-02 02:12:14 +08:00 |
|
cbb
|
25e2edfd0c
|
Merge pull request 'DRV8313兼容性合并' (#1) from DRV8323 into master
Reviewed-on: http://192.168.31.10:8418/cbb/Robot_v2/pulls/1
|
2026-01-24 01:55:30 +08:00 |
|
cbb
|
1596b2beb0
|
DRV8313兼容版
refactor(algorithm): 移除冗余头文件
移除不必要的stdint.h头文件引用,统一使用<cstdint>
refactor(sys): 清理系统级头文件依赖
移除未使用的头文件引用,统一整型类型定义,优化初始
化过程中的GPIO配置
|
2026-01-24 01:50:39 +08:00 |
|
cbb
|
3f24292ac1
|
feat(FOC): 添加FOC控制器初始化函数、支持电压自适应PID调整
添加了FOC控制器的init()方法,用于统一初始化电机控制参数,
包括速度环、角度环和电流环的PID参数设置。同时优化了CAN通信
中的PID参数计算逻辑,引入电压补偿机制,提高了电机控制精度。
|
2026-01-21 11:48:31 +08:00 |
|
cbb
|
c0b5f6902b
|
docs(config): 新增软件和硬件版本号定义
- 定义SOFTWARE_VERSION 26.1.19.1
- 定义HARDWARE_VERSION 25.12.01.0
- 定义BOOT_VERSION 26.1.12.0
feat(motor-control): 实现FOC控制算法速度环优化
refactor(can-protocol): 升级CANFD通信协议支持版本管理
- 实现版本号管理和CANFD_VERSION_ID协议
- 扩展CMD_ID消息解析支持PID参数动态配置
- 添加版本管理器实例并实现版本信息发送功能
- 优化CANFD异步发送数据长度判断逻辑
fix(angle-sensor): 修正角度传感器方向和偏移校准
- 添加ANGLESENS_OFFSET补偿参数
- 反转角度传感器读数方向(DIR = -1.0f)
- 在角度计算中应用负向因子和偏移量
chore(memory-layout): 调整Flash存储布局和版本配置
- 扩展BOOTLOADER_SIZE从16KB到24KB
- 更新APPLATEST_START_ADDR和APPBACK_START_ADDR偏移
- 重新分配OTA配置参数存储区域
- 增加EEP_DEBUG调试开关
refactor(pid-controller): 增强PID控制器功能接口
- 添加set_P_percent方法支持百分比参数设置
- 格式化PID计算代码提升可读性
- 保留积分和微分环节的约束保护机制
|
2026-01-20 01:28:52 +08:00 |
|
cbb
|
9f84c85a28
|
feat(can): CAN休眠唤醒移动到BOOT以进行以支持40k硬件看门狗
- 更新深度睡眠实现,在跳转到bootloader前记录睡眠状态到Flash
- 添加gd32c10x_fmc.h头文件以支持Flash内存控制功能
- 将prepare_deep_sleep重命名为app_prepare_deep_sleep以提高命名清晰度
- 在CAN通信检测中添加应用层休眠准备功能
- 在接收OTA启动ID时解锁FMC、设置APP为非激活状态并锁定FMC
- 移除main.cpp中的看门狗复位休眠逻辑
- 在config.h中添加睡眠配置相关的常量定义
- 改进OTA_SET函数的Flash写入逻辑,优化数据更新流程
- 在OTA初始化和应用移动过程中添加FMC解锁锁定操作
|
2026-01-12 01:03:43 +08:00 |
|
cbb
|
72506ce87d
|
feat(FOC): 集成ARM数学库优化FOC算法实现
- 引入arm_math.h库以使用ARM优化的数学函数
- 将角度归一化从弧度制改为角度制,使用360.0f替代2*PI
- 使用arm_sin_cos_f32替代查找表实现正弦余弦计算
- 移除注释中的ARM Clark和Park变换函数调用
- 修正机械角度计算中的时间常量为TIMER2_FREQUENCY倒数
- 移除传感器角度到弧度的转换,保持原始角度值
- 激活电流环控制中的Iq/Id计算并发送CAN数据
|
2026-01-07 23:13:21 +08:00 |
|
cbb
|
fccb93dd41
|
feat(can): 添加OTA功能实现AB分区
- 添加新的CANFD消息ID处理,支持OTA请求响应
- 实现OTA状态检查和ACK发送功能
- 优化CAN_transmiter类方法声明格式
refactor(flash): 重构OTA设置和应用数据移动功能
- 修改OTA_SET函数参数类型从bool到u32
- 优化move_app_data函数实现,添加CRC校验和错误处理
- 添加调试输出信息和看门狗喂狗机制
- 修复数据移动过程中的地址计算错误
refactor(config): 优化Flash分区配置和常量定义
- 重新组织Flash分区地址常量定义
- 添加OTA相关CANFD消息ID定义
- 移动CANFD相关常量到合适位置
docs(flash): 更新函数注释和文档说明
- 更新move_app_data函数的注释说明
- 添加代码注释以提高可读性
fix(initial): 修复OTA初始化和看门狗配置
- 将看门狗初始化移到main函数中合适位置
- 修正OTA初始化逻辑
- 添加CAN模块外部引用
|
2026-01-05 00:55:00 +08:00 |
|
cbb
|
d0198fdff7
|
更新OTA功能,config独立成文件统一定义
refactor(build): 更新项目配置和链接器设置
- 修改GD32C103CB的ROM基地址和大小配置
- 更新系统时钟向量表偏移量设置
- 在cproject.yml中添加BIN输出格式支持
- 增加-O3优化级别和代码移除选项
- 更新csolution版本依赖
feat(device): 优化ADC采样和配置管理
- 将DengFOC依赖替换为FOC模块
- 从config.h引入配置常量
- 重命名FILTER_SIZE为ADC_FILTER_SIZE以提高清晰度
- 优化温度和电流采样滤波实现
refactor(algorithm): 简化FOC控制函数接口
- 为angle_control、velocity_control等函数移除不必要的参数
- 统一函数指针类型定义
- 优化电流计算函数的代码格式
- 调整PID控制器初始化参数
|
2026-01-04 22:26:22 +08:00 |
|
cbb
|
abd64da360
|
feat(FOC): 添加带速度限制的角度闭环控制功能
新增angle_control_with_velocity_limit函数,实现带速度限制的角度控制,
包含角度PID和速度PID双环控制,防止电机转速过快导致的不稳定。
- 新增带速度限制的角度控制函数
- 配置新的PID控制器用于速度内环和角度外环
|
2025-12-23 11:55:09 +08:00 |
|
cbb
|
8732174855
|
refactor(flash): 重构EEPROM数据存储逻辑以提升可靠性
- 修改FlashEEPROM类的数据读写流程,优化地址掩码和数据对齐方式
- 引入新的宏定义和常量用于数据校验及地址解析
- 调整系统配置保存函数,支持更精确的CRC校验机制
- 移除旧的角度保存接口,统一通过系统配置保存函数处理
- 在CAN通信检查中替换save_angle调用为format操作
- 增加调试开关EEPDEBUG控制打印信息输出
- 更新健康管理和系统休眠时的EEPROM保存策略
|
2025-12-22 02:20:25 +08:00 |
|
cbb
|
7354a71c51
|
feat(can): 增加CAN睡眠与唤醒功能并优化通信检查逻辑
- 在CAN通信类中添加了CAN_Sleep()和CAN_Wakeup()方法,支持设备进入低功耗模式
- 优化CAN通信检查逻辑,通过解析接收数据的首字节和末字节实现多种控制命令
- 支持远程复位电机、保存角度、清零角度、进入睡眠等操作
- 解决CAN发送邮箱满时可能导致的通信阻塞问题,增加重初始化机制
- 调整mailbox不可用计数逻辑,防止持续打印错误信息
refactor(flash): 移除软件CRC计算模块,改用硬件CRC外设
- 删除自定义CRC.cpp和CRC.h文件及其相关类实现
- 使用GD32硬件CRC模块替代软件算法,提高效率和可靠性
- 更新FlashEEPROM类中的CRC校验方式,调用crc_block_data_calculate进行计算
- 修正Flash地址遍历范围以适配新CRC逻辑及页面管理策略
- 修改save_angle接口签名,不再手动传入角度值,改为内部读取FOC实时角度
feat(timer): 新增RTC闹钟中断处理函数声明
- 在Timer.h中声明rtc_set_wakeup_interval和RTC_ALARM_IRQHandler
- 为后续实现基于RTC的定时唤醒功能做准备
chore(config): 同步csolution工具版本更新并调整组件配置
- 更新RTE_Components.h生成工具版本至2.12.0
- 启用BKP、CRC、RTC等标准外设组件宏定义
- 从项目配置文件中移除旧CRC源文件引用
- 添加SystemCoreClockUpdate调用确保系统时钟同步
refactor(main): 主循环任务调度重构并增强初始化流程
- 将主循环中的任务处理提取为独立do_task函数,提升代码可读性
- 提前执行电机初始化,并根据看门狗复位标志决定是否立即进入深度睡眠
- 调整EEPROM初始化顺序,保证依赖关系正确
- 添加sys/initial.h头文件包含以支持新增系统初始化逻辑
|
2025-12-20 19:53:52 +08:00 |
|
cbb
|
7c2860f302
|
feat(can): 增加EEPROM状态码和系统配置保存功能
- 在CAN通信中增加EEPROM状态码字段,并通过CAN FD发送
- 实现Flash EEPROM对系统配置参数的CRC校验与保存
- 改进目标角度、速度等关键参数的读写逻辑,支持掉电保存
- 调整EEPROM地址映射,优化错误处理和状态反馈机制
- 修复CRC计算相关问题,增强数据可靠性
|
2025-12-18 18:23:34 +08:00 |
|
cbb
|
d6cf143e87
|
fix(flash): 修改角度存储类型为float并更新读写逻辑
将FlashEEPROM中角度数据的存储类型从u16改为float,并相应地更新了读写函数。
新增readFloat和writeFloat函数以支持浮点数存储,同时调整了虚拟地址类型为u8。
修改了save_angle和read_angle函数实现,确保角度值能正确保存与读取。
优化了格式化函数中的数据解析方式,提高数据存储可靠性。
|
2025-12-17 02:34:08 +08:00 |
|
cbb
|
02572df688
|
fix(flash): 优化Flash EEPROM读写逻辑并修复角度保存问题
移除调试打印语句,改进Flash读写稳定性。
使用类型别名统一数据访问,增强代码可读性。
修正CAN通信中角度保存逻辑,确保正确写入实时角度值。
完善错误处理机制,增加对齐检查和状态反馈。
调整EEPROM起始地址以避免潜在冲突。
|
2025-12-17 01:38:48 +08:00 |
|
cbb
|
7371f97882
|
feat(PID): 调整速度与角度环PID参数
更新了FOC控制器中的速度环和角度环PID参数以改善控制响应,并微调电流环参数提升稳定性。
feat(Filter): 改进卡尔曼滤波器初始化逻辑及速度计算方式
引入系统运行时间计数器,修正编码器角度和速度卡尔曼滤波器的初始化流程,并基于实际时间间隔优化角速度估算精度。
refactor(Filter): 移动成员变量声明顺序
调整`EncoderAngleKalman`类中`last_angle`成员变量的访问权限和声明位置,增强封装性和可读性。
feat(Flash): 新增Flash EEPROM功能支持
添加FlashEEPROM类及相关头文件,支持电机角度等关键数据掉电保存,并在CAN通信复位时进行角度存储操作。
refactor(Timer): 优化定时器配置和中断优先级设置
删除冗余的TIMER3定义,修改TIMER1中断服务函数可见性,并调整NVIC子优先级分配,确保中断响应合理有序。
feat(AngleSensor): 完善角度传感器初始化与角度设定接口
重构角度传感器初始化方法并新增角度设置函数,支持从Flash读取初始角度值并与减速比结合应用。
feat(Health): 实现母线电压监测与保护策略
新增电源管理函数,在母线电压异常下降时自动关闭电机输出,防止因供电不足导致设备损坏。
|
2025-12-16 22:39:39 +08:00 |
|
cbb
|
839a32ff04
|
refactor(main): 统一外设初始化流程
集中所有外设初始化于main函数起始处,通过返回值确认各模块是否成功启动;
refactor(adc): 修改采样器初始化返回值
将sampler构造函数替换为带返回值的init方法,在main函数中加入初始化结果判断,
确保系统启动时硬件配置正确加载。
feat(motor): 引入motor模块并重构电机控制逻辑
将GPIO操作封装进motor_sleep和motor_resume函数,提升代码可读性和维护性。
引入motor.h头文件,并在main.cpp中进行电机初始化统一管理。
修改FOC控制器中的shutdown与resume方法调用新接口。
refactor(filter): 优化卡尔曼滤波器实现
重命名状态变量xp为x,简化访问逻辑;移除冗余注释及未使用的getlastAngle方法;
调整getVelocity计算系数,提高速度估算精度;增加init方法支持初始状态设置。
refactor(angle_sensor): 移除冗余速度计算功能
删除传感器内部的速度估算相关数组和方法,交由外部滤波器处理以降低耦合度。
更新SPI片选宏定义以区分不同设备,并增强错误处理机制。
refactor(can): 调整CAN通信ID及初始化流程
更改状态与配置帧的标识符ID,添加对特定命令ID的响应处理如电机复位指令。
将CAN_transmiter构造函数改为init方法,配合主程序完成模块化初始化检查。
|
2025-12-08 02:48:59 +08:00 |
|
cbb
|
93cbf18f1f
|
feat(FOC): 实现电流环控制并优化相关逻辑
新增了电流环控制功能,包括通过三相电流计算 Iq 的 `cal_Iq_Id` 方法,并在 `current_control` 中实现了基于 PID 的电流控制逻辑。同时对电压设置、占空比计算等部分进行了调整与优化。
refactor(filter): 移除冗余的电流卡尔曼滤波器实现
删除了 `Filter.cpp` 和 `Filter.h` 中关于 `CurrentKalman` 类的冗余代码,统一外部定义,简化结构。
refactor(health): 改进热量控制器算法和数据类型
将热累积计算改为更精确的分段处理方式,并引入 Q16.16 定点数提升运算精度与性能;增加对异常温度值的判断修正。
fix(CAN): 调整电流发送顺序及标志位设置位置
修改 CAN 发送中 V 相与 W 相电流打包顺序,确保通信正确性;调整发送标志设置逻辑至主循环任务内触发。
chore(headers): 清理无用头文件引用和结构调整
移除了多个源文件中不必要的头文件包含(如 `<cstdio>`、`<array>`),并对部分全局变量声明做了 extern 处理以避免重复定义问题。
|
2025-12-05 00:46:19 +08:00 |
|
cbb
|
871e33e10f
|
fix:修复任务调度不准确的问题,
feat:优化电流采样速率
feat:优化PIDramp效率
feat:优化角度采样效率
fix:回滚CAN打包逻辑
feat:去除timer3
feat(FOC): 优化帕克逆变换与克拉克逆变换计算方式
将原有的三角函数计算替换为查表法,提高运算效率。同时添加了 sqrt(3)/2 的预计算常量,并优化了电压限制部分的计算逻辑,减少重复运算。
|
2025-11-23 18:31:47 +08:00 |
|
cbb
|
59f161bd73
|
refactor(angle): 引入角度卡尔曼滤波器 EncoderAngleKalman
新增 EncoderAngleKalman 类以处理编码器角度噪声,改善角度反馈质量,并配合速度滤波器提供更准确的速度估算。
perf(CAN): 优化CAN数据打包与状态标识字段
改进 pack_u16_to_bytes 等函数实现方式,使用 reinterpret_cast 提高效率;
扩展 Status_code 为多个独立状态位,增强诊断能力。
feat(FOC): 添加电机锁止和停止功能
新增 drv_stop 和 drv_hold 方法用于控制电机占空比,支持紧急制动与角度保持。优化了FOC控制器的接口设计,提升安全性和可控性。
fix(filter): 修正中值滤波器数组大小动态分配问题
将 medium_filter 函数中的排序数组改为使用传入参数 size 动态定义,避免固定大小带来的资源浪费或越界风险,提高滤波精度和稳定性。
chore(project): 移除冗余文件及代码清理
移除了 thermal.cpp/h 文件及相关引用,调整项目结构,删除未使用的全局变量定义、注释和头文件包含,精简系统初始化流程。
|
2025-11-22 23:59:43 +08:00 |
|
cbb
|
a7a3805839
|
feat(ADC): 电流采样支持负数
将 CURRENT_OFFSET 从 0 修改为 -1.60f 以校准电流采样偏差。
同时将 ADC 规则通道的采样时间从 55.5 周期调整为 28.5 周期,提高采样响应速度。
feat(timer): 新增 TIMER1 中断及 PWM 周期位置触发功能
新增 TIMER1_CH3 用于在 PWM 周期特定位置(如 50%)触发中断,并配置相关 NVIC 和中断处理逻辑。
修改 TIMER3 的定时周期注释与实际值一致,为 50 微秒。
重新组织 TIMER2 中断中的任务调度顺序,提升执行效率和逻辑清晰度。
refactor(main): 重构主循环任务处理顺序
调整 main.cpp 中任务执行顺序,确保高优先级任务及时处理。
将部分传感器更新任务移动至更合理的位置,保证数据同步性和控制实时性。
|
2025-11-22 02:21:33 +08:00 |
|
cbb
|
67a1c04458
|
refactor(timer): 引入任务调度机制替代硬编码定时操作
通过定义 `TaskScheduler` 结构体和相关枚举类型,
将原TIMER2中断中耦合的操作解耦成多个独立任务标志,
便于后续维护和扩展,并提高系统实时响应能力。
feat(FOC): 优化电压安全范围与PID参数配置
将电压计算中的 `voltage_power_supply` 替换为更安全的 `v_safe`,
并引入电压有效性检测逻辑。同时调整PID控制器参数以适配12V供电场景。
此外,统一布尔变量初始化方式,提升代码可读性和安全性。
chore(build): 更新CMSIS工具链版本依赖
更新vcpkg配置文件中CMSIS Toolbox的版本要求,
从2.11.0升级至2.12.0,确保构建环境兼容最新功能及修复。
|
2025-11-13 02:04:58 +08:00 |
|
cbb
|
db2d08032c
|
feat(FOC): 优化FOC控制逻辑与热管理机制
- 移除冗余的三值约束宏定义 `_constrain3`
- 修改关机逻辑,引入 `thermal_uncontrol` 标志替代旧 shut_down 计数方式
- 调整恢复函数中错误标志位清零逻辑
- 将部分 uint8_t 类型成员变量改为 bool 类型以提高可读性
- 在类中添加电源电压成员变量并调整 PID 参数初始化
- 移除 PID 控制器中不必要的 CAN 测试代码
- 添加 thermal 控制相关文件引用及初始化
- 使用 switch 替代多重 if-else 提高控制模式处理效率
- 引入基于定时器的任务负载均衡调度机制
- 初始化热量控制器并在主循环中调用更新逻辑
|
2025-11-12 00:46:26 +08:00 |
|
cbb
|
7a602dda48
|
fix(FOC): 修正大角度下会导致角度控制失控的问题
移除冗余的 `_electricalAngle` 函数,修正 `setPhaseVoltage` 中电气角度的计算方式
在定时器中断中增加实时角度更新,支持新增的无 PID 角度控制模式。
|
2025-11-10 02:08:03 +08:00 |
|
cbb
|
b33574d392
|
fix(FOC): 修复角度控制中的冗余CAN传输与传感器角度获取错误
- 修正速度控制中角度传感器数据读取错误,使用current_sensorangle替代getRawAngle
- 在Timer中断中统一使用angle_control进行角度闭环控制
- 完善角度传感器类的角度读取逻辑,增加current_angle_deg和current_angle_rad成员变量
- 添加getcurrent_sensorangle接口用于获取当前原始角度值
|
2025-11-08 21:04:35 +08:00 |
|
cbb
|
99cc397931
|
feat(FOC): 优化SVPWM算法并重构角度控制逻辑
- 引入新的三值约束宏 `_constrain3` 用于SVPWM计算优化
- 修改 `setPhaseVoltage` 函数签名,移除冗余的角度参数,内部自动计算电气角度
- 调整PWM占空比计算方式,提高电压利用率和控制精度
- 移除旧的DEG2RAD和RAD2DEG常量定义,改由initial.h统一管理
- 在initial.h中新增减速比常量REDUCTION_RATIO,并修正拼写错误
- 为角度传感器类更新速度滤波器尺寸,提升速度估算稳定性
- 更新PID控制器时间片常量,简化dt计算逻辑,提高执行效率
- 切换角度闭环控制至新NPID版本,增强系统响应性能
- 修正CAN通信中的目标角度解析逻辑,确保指令正确应用
|
2025-11-08 02:15:14 +08:00 |
|
cbb
|
971374d8ec
|
feat(FOC): 增加闭环速度控制算法
- 重构setPhaseVoltage函数实现,提高执行效率
- 增加update_power函数,动态更新电源电压
- 优化velocity_open_loop函数,调用、setPhaseVoltage避免重复代码
- 实现angle_control和velocity_control闭环控制函数
- 调整PID控制器参数初始化及增加参数设置接口
- 改进电流和编码器速度卡尔曼滤波器实现
- 更新CAN通信数据打包逻辑,增加测试字段
- 在定时器中断中集成多种控制模式切换逻辑
- 完善角度传感器数据处理,改进速度计算方法
- 减小速度滤波数组大小,提升响应速度
|
2025-11-06 02:07:15 +08:00 |
|
cbb
|
516a7bd41d
|
refactor(foc): 重构FOC控制算法与角度传感器接口
- 移除冗余的电机方向和极对数参数传递逻辑
- 简化电气角度计算函数,直接读取角度传感器数据
- 调整电压设置函数,优化PWM输出逻辑
- 注释掉未使用的速度开环控制调用,启用角度闭环控制
- 增加角度和速度获取接口,支持原始值和输出级值区分
feat(sensor): 完善角度传感器数据处理与速度估算
- 增加速度滤波缓冲区,提高速度估算精度
- 改进角度绕回检测阈值,增强鲁棒性
- 添加获取原始角度和速度的接口
- 增加SPI DMA传输超时打印信息
fix(can): 修正CAN通信中的数据打包与解析问题
- 正确发送电机实时速度数据
- 修正CAN FD数据包长度以匹配实际内容
- 角度目标值增加缩放因子适配外部控制指令
|
2025-11-03 02:38:43 +08:00 |
|
cbb
|
974b8e6675
|
feat(FOC): 添加电源电压更新功能
在 FOC 控制器中新增 `update_power` 方法,用于实时获取母线电压,
提升控制系统对电源状态的感知能力。
feat(CAN): 优化 CAN 配置与通信处理
将 CAN 相关宏定义改为 constexpr 常量,并引入角度转换因子。
修正接收数据解析方式,增强通信稳定性与精度。
feat(angle_sensor): 实现角度累积与绕回处理
重写角度传感器驱动,支持角度连续测量与自动绕回处理。
新增 `update`、`getAngle` 和 `reset` 接口,提高角度读取准确性。
feat(main): 增加角度传感器磁感应强度测试
在主函数初始化阶段调用磁感应强度检测函数,辅助判断传感器工作状态。
|
2025-11-02 01:54:01 +08:00 |
|
cbb
|
0c5ab9c1d8
|
feat(ADC): 重构采样器初始化为构造函数
将 `sampler::init()` 方法改为构造函数 `sampler()`,并在其中完成 DMA 和 ADC 的初始化配置,
同时进行初始采样操作。
feat(CAN): 更新角度传感器类接口并修复拼写错误
将全局函数 `KHT7823_readAngle()` 替换为 `angle_sensor::readAngle()` 类成员函数调用,
统一命名风格并修正部分函数名中的拼写错误(如 KHT7823 -> KTH7823)。
refactor(Can): 移除冗余的 timeout 成员变量
在 `CAN_transmiter` 类中移除了未使用的 `timeout` 成员变量,减少资源占用。
refactor(Timer): 删除重复注释内容
清理 `Timer.cpp` 中关于定时器配置的重复注释信息,保留核心常量定义。
refactor(ADC): 修正头文件中函数声明
将 `adc.h` 中的 `init()` 函数声明更新为构造函数 `sampler()`,保持实现与声明一致。
refactor(ang_sensor): 将角度传感器相关功能封装为类
将原先分散的 C 风格函数封装进 `angle_sensor` 类中,提升代码结构清晰度和可维护性。
添加构造函数和读取角度的方法,并修正原有函数命名不一致问题。
refactor(main): 调整初始化顺序并移除多余包含
修改 `main.cpp` 中外设初始化顺序,移除对 `core_cm4.h` 的重复包含,
并将角度传感器和采样器通过类实例方式初始化。
|
2025-11-01 23:41:32 +08:00 |
|
cbb
|
bd77f7a9a9
|
角度传感器改使用DMA
|
2025-11-01 21:03:57 +08:00 |
|
cbb
|
71a92fa68e
|
fix(CAN): 使用DMA优化CAN通信数据收发
重新配置CAN引脚映射并实现基于DMA的数据收发机制,提升通信效率。增加了DMA通道4和5的中断处理函数,用于接收和发送CAN消息。修改了CAN发送函数以支持DMA传输,并去除了原有的轮询等待机制。
feat(ADC): 重新实现ADC与DMA初始化配置
将ADC和DMA的配置迁移至ADC.cpp文件中,完善了DMA循环采样模式配置及ADC多通道扫描功能。删除了initial.cpp中重复的初始化代码,并修正了相关头文件包含。
chore(headers): 清理冗余头文件引用
多个源文件中删除了不必要的标准库和硬件无关头文件引用,减少编译依赖,提高代码清晰度。
|
2025-11-01 20:29:11 +08:00 |
|
cbb
|
867a37ff79
|
```
refactor(device): 重构角度传感器模块并优化ADC电压计算
- 将 tle5012b 角度传感器相关文件重命名为 ang_sensor,统一接口命名
- 修正母线电压采样计算公式,增加 VCC_FACTOR 校正系数
- 移除 main.cpp 中重复和未使用的头文件引用
- 删除对旧角度传感器初始化函数的调用,改用新接口读取角度
```
|
2025-10-31 01:17:52 +08:00 |
|
cbb
|
180a46271c
|
```
feat(DengFOC):
新增了基于三相电流采样的dq轴电流计算函数`cal_Iq_Id`
调整了开环控制中的电压限制逻辑
更新了默认电源电压值为24V。
KHT7823测试代码
```
|
2025-10-30 20:20:14 +08:00 |
|
cbb
|
5d14731af5
|
feat(FOC): 添加开关机功能并优化定时器配置
|
2025-10-29 21:22:10 +08:00 |
|
cbb
|
7f0ca1857b
|
feat(FOC): 优化开环速度控制逻辑并提升性能
refactor(ADC): 重构采样逻辑并封装为 sampler 类
refactor(CAN): 更新 CAN 发送器以使用新的sampler 接口
refactor(timer): 调整定时器中断结构并优化任务调度
|
2025-10-19 23:20:28 +08:00 |
|
cbb
|
34df732659
|
FOC开环速度调试
|
2025-10-16 21:56:15 +08:00 |
|
cbb
|
aaee40f36b
|
FOC开环调试成功
|
2025-10-16 21:43:34 +08:00 |
|
cbb
|
35801d6f48
|
FOC开环调试成功
|
2025-10-16 21:43:19 +08:00 |
|
cbb
|
a63a344f89
|
完成CANFD通信调试
|
2025-10-14 00:49:58 +08:00 |
|
cbb
|
2d807260c5
|
SPI更新
|
2025-10-09 21:09:33 +08:00 |
|
cbb
|
d755715363
|
修复SPI通道错误的问题,增加看门狗功能
|
2025-10-02 23:50:12 +08:00 |
|
cbb
|
20fbb30067
|
ADC已完成
|
2025-10-02 02:52:07 +08:00 |
|
cbb
|
6f89355a8a
|
ADC已完成
|
2025-10-02 02:51:57 +08:00 |
|
cbb
|
f2ae2669fa
|
初始化
|
2025-09-23 00:27:51 +08:00 |
|