jun4052 发表于 2025-10-20 14:30
我知道这个参数是调正反转的,我用串口调整这个参数后,正转可以正常启动,反转转几秒后就停了,难道不能 ...
启停请参见最新版本的foc库函数
正反转使用我那个库函数是可以实现的,如果想要自己实现,请移植源程序实现
yf_gao 发表于 2025-10-20 17:47
我在调试一个水泵的时候,把phasetime打印出来观察,看到这个变量是变化的,而水泵实际转速大概在2500转 ...
你这个看起来不是很稳定的样子,正常讲应该是稳定的上下浮动几个数
至于换算,这个值的单位是0.5us,代表每次电角度一个周期的宽度
csy1991hf 发表于 2025-10-20 18:22
王工,电机转速是通过PhaseTime来计算是吧,那电流的计算是通过哪个变量来计算呀? ...
可以通过换向时间得到的转速
然后可以使用 “占空比/转速” 间接得到电流
王昱顺 发表于 2025-10-18 09:45
我的库中使用的是纯整数定点计算,没有用到浮点
32g12k128没有浮点加速单元,所以浮点只能模拟运算,比较 ...
那王工,正弦、余弦,你在STC32G12K128又是如何实现呢?
王昱顺 发表于 2025-10-20 18:37
你这个看起来不是很稳定的样子,正常讲应该是稳定的上下浮动几个数
至于换算,这个值的单位是0.5us,代表 ...
那要怎么改善,这个参数是库里传过来的,不知道要从哪方面下手使其稳定,从实际测试的转速又感觉正常,没有忽上忽下的变化;
yf_gao 发表于 2025-10-21 08:32
那要怎么改善,这个参数是库里传过来的,不知道要从哪方面下手使其稳定,从实际测试的转速又感觉正常,没 ...
已经是稳定数据了,是打印函数问题,跟电机没关系;
yf_gao 发表于 2025-10-21 08:47
已经是稳定数据了,是打印函数问题,跟电机没关系;
好的,那么按照0.5us的单位直接计算即可,可以翻翻前面的回答,我有说怎么计算
王工,你好!请问当把电机转速从高速切换成低速时会停机可以调整哪个参数优化?另外我加AD功能后,电机启动后AD就无效了,代码如下:
if(!Adc_Use_Flag)//A
{
staticu16 advol,adcaddvol=0;
staticu16 cants=0;
if(cants<8)
{
adcaddvol+=Get_ADC12bitResult(0x06);
cants++;
}
else
{
cants=0;
advol=adcaddvol>>3;//8次平均值
adcaddvol=0;
Txint16_chari(advol);//串口发送
}
}
当我发送指令让电机启动后串口就不能发送AD数值了,可以肯定串口是正常的。
{:baoquan:}
针对FOC高压板提几点意见,板子上存在重要的几个bug:
1.人机界面和调试/数据接口强烈建议必选隔离措施,串口和按键可以使用低速光耦隔离,并建议做好光耦下开槽的措施,低速光耦不贵。USB要么不留要么板贴隔离器(。当前的整板高压的设计太危险了
2.PCB背面的高压直流母线的爬电间距不够,PCB有脏污之后有打火风险
3.高压降5V/12V建议重新绘制一个基于反激隔离驱动的降压方案,当前方案在buck降压IC击穿之后有整板爆炸的风险