王biubiu
发表于 2024-6-3 11:03:50
lking 发表于 2024-6-1 22:00
梁工你好,在打板验证您的无感大功率的方案时,在启动电机的时候上电旋转滑动变阻器aod4132这个mos管就冒烟 ...
我修改了一款感觉还行但是有感觉不太行,还没达到满足
梁工
发表于 2024-6-3 11:10:32
王biubiu 发表于 2024-6-3 11:02
不过您开源的代码,响应速度不太够,堵转的时候,会滋滋响,有没有更好的方法 ...
我的代码为了简单、通用,没有太多的处理方法,这是给初学者学习的,尽量力求简单,搞得太复杂不好学习。
可以根据具体的电机,检测换相的周期,或者对过0中断进行处理,会有改善。
王biubiu
发表于 2024-6-3 11:32:30
梁工 发表于 2024-6-3 11:10
我的代码为了简单、通用,没有太多的处理方法,这是给初学者学习的,尽量力求简单,搞得太复杂不好学习。 ...
这个延迟30°,怎么计算这个时间,我看您的延迟30°是通过定时器3的值求出,然后给定时器装初值。
梁工
发表于 2024-6-3 12:06:38
王biubiu 发表于 2024-6-3 11:32
这个延迟30°,怎么计算这个时间,我看您的延迟30°是通过定时器3的值求出,然后给定时器装初值。 ...
我的30度延时,是换相间隔时间的一半,为了偶发干扰影响,又不至于滞后明显,我是用8次换相时间累加(每次换相更新一个数据再求8次累加和)再除以16得到的。
PhaseTimeTmp = PhaseTime; //保存一次换相时间
if(++TimeIndex >= 8) TimeIndex = 0; //累加8次
for(PhaseTime=0, i=0; i<8; i++) PhaseTime += PhaseTimeTmp; //求8次换相时间累加和
PhaseTime = PhaseTime >> 4; //求8次换相时间的平均值的一半, 即30度电角度
然后将时间装载Timer4做30度角移相控制,定时中断中做换相动作。实测各种电机、各种转速下(最高12万转),换相时刻都很正确,可以从电枢波形的对称性看出来。
王biubiu
发表于 2024-6-3 12:33:29
梁工 发表于 2024-6-3 12:06
我的30度延时,是换相间隔时间的一半,为了偶发干扰影响,又不至于滞后明显,我是用8次换相时间累加(每次 ...
这个30°还能通过其他方式进行计算吗?
梁工
发表于 2024-6-3 14:27:50
王biubiu 发表于 2024-6-3 12:33
这个30°还能通过其他方式进行计算吗?
无传感器的只有此法,我别无他法。
王biubiu
发表于 2024-6-3 16:34:56
梁工 发表于 2024-6-3 14:27
无传感器的只有此法,我别无他法。
好的,谢谢您
王biubiu
发表于 2024-6-3 22:32:23
梁工 发表于 2024-6-3 14:27
无传感器的只有此法,我别无他法。
对了,使用8位PWM好一点,还是16位的PWM
梁工
发表于 2024-6-3 23:27:06
王biubiu 发表于 2024-6-3 22:32
对了,使用8位PWM好一点,还是16位的PWM
10位的PWM比较合适,有更精细的控制,可以参考下面的帖子:
三相无刷电机驱动-STC32G-无HALL-PID控制-OLED显示-串口绘图
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=7472
王biubiu
发表于 2024-6-4 09:31:31
梁工 发表于 2024-6-3 23:27
10位的PWM比较合适,有更精细的控制,可以参考下面的帖子:
三相无刷电机驱动-STC32G-无HALL-PID控制-OLE ...
好的,怎么样做一款,都通用的电调,都适用于无人机航模电机,我这几天一直在想这个问题,做了一个目前适用了三款电机,但是不知道其他电机行不行。我想用STC做通用的电调