找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

15万转无感FOC: 高压风机水泵吸尘器,冰箱空调压缩机

  [复制链接]
74#
 楼主| Angus 发表于 2024-7-1 11:00:37 | 只看该作者
本帖最后由 Angus 于 2024-7-15 13:35 编辑

积分饱和

假如输出电压最高时,电机达到最快的 5Krpm,电流稳定在3A。如果设定转速此时是 6Krpm, 转速误差仍有1K, 转速 PI 运算中的积分运算,仍会一次次增加电流设定值,一直加到控制器电流上限,假如是 20A 。  

这时如果转速设定值突然变成 4Krpm,转速 PI 结果——设定电流,从20A慢慢往下降,在降到 3A 前,输出电压不会降,所以转速不会降、保持5Krpm。只有电流降到 3A 再降时,输出电压才开始降,转速也才开始从 5k 往下降。 转速控制会有一个长时间的滞后才反应过来。这就是积分饱和、造成的不良后果。
一个性能优良的电机控制代码,一定有积分抗饱和运算



回复 支持 反对

使用道具 举报

73#
 楼主| Angus 发表于 2024-6-2 17:07:38 | 只看该作者
本帖最后由 Angus 于 2024-6-3 18:06 编辑

用新唐 M451 做的一个 24V 的空气泵,无感 FOC 控制。

反复启动的视频

24V泵反复启动的视频.zip (5.72 MB, 下载次数: 154)

示波器一大格是50ms,  可以看出,起动时间每次都不到 0.05秒。
回复 支持 反对

使用道具 举报

72#
 楼主| Angus 发表于 2024-5-30 13:32:47 | 只看该作者

高压无感 FOC 代码执行后,用 PinView 查看引脚配置


回复 支持 反对

使用道具 举报

71#
 楼主| Angus 发表于 2024-5-30 12:32:37 | 只看该作者
本帖最后由 Angus 于 2024-5-30 13:53 编辑

高压电机控制的 CPU 部分。


回复 支持 反对

使用道具 举报

70#
 楼主| Angus 发表于 2024-5-30 12:31:34 | 只看该作者
高压电机控制的功率驱动部分。



R114 的阻值按保护电流选取,取值 75欧时,保护电流 10A
回复 支持 反对

使用道具 举报

69#
 楼主| Angus 发表于 2024-5-30 11:35:28 | 只看该作者

高压电机控制的 AC/DC 部分。



回复 支持 反对

使用道具 举报

68#
 楼主| Angus 发表于 2024-5-30 11:33:55 | 只看该作者
高压电机控制的电源部分


回复 支持 反对

使用道具 举报

67#
 楼主| Angus 发表于 2024-4-26 23:03:34 | 只看该作者
本帖最后由 Angus 于 2024-4-27 11:00 编辑

24年4月26日以后更新的代码,完善了状态 3 起转。 下图可见,切同步较快。

压缩泵起转波形,50ms 内切同步,电流 PI 值可以稍大一点,以加快响应。


风机起转波形,0.2 秒切同步

回复 支持 反对

使用道具 举报

66#
 楼主| Angus 发表于 2024-4-24 13:25:42 | 只看该作者
本帖最后由 Angus 于 2024-4-28 10:00 编辑

状态 4 起转波形


从上图可见,收敛速度很快,电流方向追赶估算角度的速度有点慢。若要加快起转,就要缩短这段时间。
回复 支持 反对

使用道具 举报

65#
 楼主| Angus 发表于 2024-4-19 17:36:13 | 只看该作者
本帖最后由 Angus 于 2024-7-16 09:28 编辑

状态 4 起转流程图



锁定电流 CURRENT_MotorLock_f12 的取值:大小让重载时能转得动。
锁定时间 TIME_MotorLock 的取值: 反转最大角度时,能转到位。比如想逆时针转,电流在 12点锁定,此时磁铁若在8点会是最大反转角度,锁定时长要让磁铁转到12点差不多。先用电流半值驱动,是让轻载时减缓转速、减轻在 12 点左右的来回抖动。

线性加速度 PULL_Ommega_Inc_f16 的取值,重载起动时(起转较慢), 拖动最少的圈数能起转成功,一般两三圈, 或四五圈就能同步。
轻载时磁铁跟得紧,线性加速度若取值小,要到转速较高时、要转很多圈电流方向才能追上Q轴,就用指数加速度加快电流增速。逐步增加指数加速度值,让轻载能较快同步。

拖动转速上限 PULL_Ommega_Max_f16 :比最小能同步的转速高一点。比如在500 rpm 以下无法同步转,则拖动转速上限可取值700rpm 以上。
拖动转速下限 PULL_Ommega_Min_f16 : 一般比最小同步转速小一点。比如500rpm以下无法同步转动,则拖动转速下限可取值 300rpm以下。高于此转速才判断是否同步。




回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU