找回密码
 立即注册

QQ登录

只需一步,快速开始

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

26万转:用最短代码,转最快电机

  [复制链接]
191#
匿名  发表于 2025-5-30 11:50:10
Angus 发表于 2017-12-5 17:41
如果在启转之前电机已在转,要测一下转动周期,找到一个过0点,直接从过0点的下一相启转,就可以直接同步 ...

那如果测到转动周期,然后过零点时代码执行下一项启动,这时候电机处于高速转动(5000-6000RPM),但是占空比仍为初始化值4%,这个占空比会不会强制电机降速导致电机卡顿,还是说这个占空比驱动电机的电压是叠加到原来电机的状态上的呢。
回复 支持 反对

使用道具

192#
 楼主| Angus 发表于 2025-5-31 14:52:05 | 只看该作者
本帖最后由 Angus 于 2025-5-31 15:19 编辑
游客 113.116.27.x 发表于 2025-5-30 11:50
那如果测到转动周期,然后过零点时代码执行下一项启动,这时候电机处于高速转动(5000-6000RPM),但是占 ...

顺风启动时,先检测到某相的换相时刻。比如A 相上沿时刻,是 CB 换成 AB 时刻。然后开始通电 AB 转动 (可以先 CB 半个周期,也可以直接AB驱动)。

顺风启动的开始不要用互补模式,从较低的占空比启动就不会有刹车效果。
想用互补模式,要完成几十或几百次换相后,再切换成互补模式。


我们的代码,启动函数 BLDC_Start(PeriodNow, 0)的不同范围,用于区分静止启动和顺风启动。参数二是0或1时,表示顺风启动,不用互补模式。


启动后,调用函数 BLDC_Modify(0, 30)  调整后续的转动方式。 参数一若用 6 (用第二组数据转动)就是互补模式,用 0 就是继续非互补模式。

回复 支持 反对

使用道具 举报

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

本版积分规则

新唐MCU