找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

  [复制链接]
42#
 楼主| Angus 发表于 2023-6-25 18:05:32 | 只看该作者
本帖最后由 Angus 于 2023-7-1 22:03 编辑
游客 116.30.102.x 发表于 2023-6-25 16:59
我用的M453板子,220V交流供电,采样电阻0.1欧姆,放大倍数5倍,由于驱动电路原因,PWM频率只能用7K左右, ...

这个贴子里有个 “M451无感FOC_V23.03代码说明” 文件。你先根据这个文件,把PWM 输出极性,电感参数,电流ADC常数,最大工作电流,等等参数配置正确。

转速PI 参数可以先小一点(加速度会小一点,容易起转),电流PI 参数按注释方法计算出具体值。

起转电流可取最大值的1/3~1/2,起转加速度设置可以小一点。就可以试着起转了。

你还可以电话或邮件向新唐技术人员咨寻细节,或带着实物到新唐办公室调试起转。
回复 支持 反对

使用道具 举报

41#
匿名  发表于 2023-6-25 16:59:33
我用的M453板子,220V交流供电,采样电阻0.1欧姆,放大倍数5倍,由于驱动电路原因,PWM频率只能用7K左右,家用油烟机变频风机,电机相电阻20欧姆,Ld=50mH,Lq=50mH,电机是4对极,请教一下我怎么设置参数才可以初步转起来?
回复 支持 反对

使用道具

40#
 楼主| Angus 发表于 2023-6-12 10:58:47 | 只看该作者
本帖最后由 Angus 于 2023-9-4 10:58 编辑
游客 223.166.142.x 发表于 2023-6-7 21:43
角度很小时,角度值=正弦值=正切值,所以下图不求反正切,直接用 Vd/Vq 代替Theta_e 是否也可以?

正弦值 < 弧度值 < 正切值。 角度很小时,三者的值差不多,可以约等于。

理论上,我们需要减小实际角度与估计角度的偏差,所以计算出角度偏差做反馈量,引入的计算误差最小。
用正切值 Vd/Vq 虽然也可以,但实际角度偏差稍大,就会引入较大计算误差。现在的单片机计算能力很强,不必为了省一点点微不足道的计算量而损失精度。

思路打开,还有一种算法,就是用d轴反电势 Ed 做为后面 PLL 的输入,省掉了除法运算,但缺点是相同的实际角度偏差,反馈量受转速影响。

反正切+PLL ,角度校正量只与角度差成正比,与转速无关。
回复 支持 反对

使用道具 举报

39#
 楼主| Angus 发表于 2023-6-8 17:25:27 | 只看该作者
本帖最后由 Angus 于 2023-9-4 09:59 编辑
游客 58.49.24.x 发表于 2023-6-8 11:17
这部分调整思路本省就是有问题的,估算角度-实际角度,调整方法中很多地方用到了估算角度,前提条件是估 ...

能提出这个疑问,说明你用心思考了,先给你赞一个。
是“估计角度Estimate_Q_Position - 拖动角度Angle_q“

坐标变换函数用的 q 轴角度是 Angle_q,拖动时Angle_q 是代码控制值递增、没用估计角度,因为估计角度还不准。所以拖动时实际电流方向是Angle_q 。

拖动转起来后估计角度Estimate_Q_Position 慢慢准确了,即估算收敛了,但估计角度与 Angle_q 不一定重合,有个夹角,即:电流方向(Angle_q)与“磁铁垂直方向Estimate_Q_Position”有个夹角。



另外磁铁角度刚开始收敛时,估计位置若隐若现,角度时而准确、时而不准(角度数据跳动),电流方向若立即使用估计角度,效果并不好, 逐步接近效果反而更好。
回复 支持 反对

使用道具 举报

38#
匿名  发表于 2023-6-8 11:17:30
Angus 发表于 2023-5-29 21:03
以下起转函数,函数 Adjust_Pull_Ommega()可以重载,所以可直接用这个函数名,加到文件中

这部分调整思路本省就是有问题的,估算角度-实际角度,调整方法中很多地方用到了估算角度,前提条件是估算角度是准确可靠的,既然估算角度已经可靠了,还要什么if拖动?直接速度闭环启动不就行了?
回复 支持 反对

使用道具

37#
匿名  发表于 2023-6-7 21:43:27
角度很小时,角度值=正弦值=正切值,所以下图不求反正切,直接用 Vd/Vq 代替Theta_e 是否也可以?


回复 支持 反对

使用道具

36#
 楼主| Angus 发表于 2023-5-29 21:03:40 | 只看该作者
本帖最后由 Angus 于 2023-6-1 09:15 编辑

以下起转函数,函数 Adjust_Pull_Ommega()可以重载,所以可直接用这个函数名,加到文件中



若有兴趣,可对此函数优化, 起转有很多方法


回复 支持 反对

使用道具 举报

35#
匿名  发表于 2023-5-11 22:26:55
Angus 发表于 2023-4-29 21:00
前面乘 2/3 是等幅变换。等幅变换是电压向量的模、等于相电压幅值的变换。

以下是推导:


回复 支持 反对

使用道具

34#
 楼主| Angus 发表于 2023-4-29 21:00:30 | 只看该作者
本帖最后由 Angus 于 2023-5-3 22:00 编辑

前面乘 2/3 是等幅变换。等幅变换是电压向量的模、等于相电压幅值的变换。

以下是推导:
假如 A,B,C 三相电压依次滞后120度,相电压幅度都是U, 就是如下图形和三个公式

三相线圈,空间上的位置是:A相在0度,B相在120度,C相在 240度(或-120度),所以三相电压的“向量和”就是下式


我们对此三相电压的向量和,化简一下



以上推导结果可知,三相电压的“相电压”幅度如果是U,  接到三相电机上,产生的电压向量:是模 U*3/2 的、均速转动的向量。
我们国家的三相电是220V, 有些国家的三相电是110V, 还有些国家用的是 240V,

假如你在国外见到一个用电器,用 ADC 测到某个时刻、此电器输入的三相电压的瞬时值是 ADC_a, ADC_b, ADC_c,此用电器接的电压是多少伏呢?显然只要求出此三个ADC 值的向量的模,然后再乘 2/3 就是三相电压的“相电压”幅值
  
所以,电机 FOC 控制,在求电压(或电流)向量时,乘系数 2/3 是等幅变换,求出的是方向不变、但 "模=相电压幅值" 的向量。



回复 支持 反对

使用道具 举报

33#
匿名  发表于 2023-4-25 11:58:03

RE: 15万转无感弦波: 风机水泵吸尘器,航模电调压缩机

请楼主讲一讲,为何电压向量要乘2/3 ?
A 相接电源 BC 接地时,假如一相电阻是R,  BC 相并联电阻是R/2,
所以 A 相分压是 VDD*2/3,BC 相分压是 VDD/3,
而 BC 相电压在 A 相方向的投影都是VDD/6, 如红色线。BC 相合成的向量是 VDD/3,

这样 ABC 相电压合成向量,应该是 A 相的 VDD*2/3 加 BC 相的 VDD/3,应 = VDD。  
但所有资料里都说是 VDD*2/3   ? 而且没有解释




回复 支持 反对

使用道具

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

本版积分规则

新唐MCU