找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

  [复制链接]
跳转到指定楼层
#
Angus 发表于 2013-12-23 15:55:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 Angus 于 2024-7-17 11:11 编辑

点击图片-->实际大小,可查看高清大图

Mini51ZDE 航模电调——启转快,转速高,最高电转速 30万转以上


下图已达到 25.7万转/分,周期0.7ms/3=0.2333ms,  频率1/0.2333 =4.286KHz


Mini52LDE 电动工具——轻重载起转都顺利


310V (220V的峰值)高压,PWM1 控制过零分压比,启转效果佳


48V BLDC 控制器, 启用 Brake 功能,转动时输出线短路,功率管也不会烧。


吸尘器转速到13万6千转的波形


顺风起转





可以极低转速,4转/秒




上臂做 PWM 的电机端电压波形, 适用于高压BLDC


下臂做 PWM 波形, 下臂开关速度快


上下臂轮流做 PWM 的电机端波形, 上下MOS发热均衡


电流很大,续流时间较长,只单边有斜坡了,无感模式,仍正常转动



代码逻辑清晰:代码分三部分
1>,ADC 中断: 负责读取各路ADC值,以及保证电流不过流。即使功率管关闭仍会每个PWM 周期做ADC 测量,其它不管。
2>,Timer1中断:只负责检过0、换相。电压电流是多少一律不管,即使功率管关闭仍会检过0按时换相。除非关了Timer1的中断,才会停止这些工作。
3>,主循环: 控制起停、调速(决定输出电压)、正反转、高低压保护,以及温度保护等
Mini52xDE_BLDC_Code_V23.zip (132.21 KB, 下载次数: 2096)


Mini52 BLDC 代码简介.pdf

2 MB, 下载次数: 17831

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 顶 踩
回复

使用道具 举报

推荐
 楼主| Angus 发表于 2024-10-22 10:01:10 | 只看该作者
为提高检过 0 的准确性,我们是在一个时间窗检过 0 的。如下图,每次检到过0后,延时 T0 时间换相,延时 T1 时间检过 0。检过 0 是图中斜线阴影时间。
而这个 T1 延时,是变化的,在起转时,稍长。起转成功后,每个周期前 80% 多的时间是不检过0的,只在实际过 0 附近检过0,所以滤除了很多干忧。




你若想验证这一点,可在main() 主循环中反转一个引脚的电平,因检过 0 是在 timer1 中断里,所以此引脚电平不反转时就是在检过0,这样就能看到检过 0 的时间窗了。

下图绿色是 main() 中反转引脚的波形,那些空缺是代码在 timer1 中检过0时间。
  



提高转速,会发现,无轮转速多快,都会在过 0 时间附近有这个空缺,只有这段时间检过0,其它时间是不检过 0 的


回复 支持 1 反对 0

使用道具 举报

推荐
陈飞宇 发表于 2013-12-26 13:37:18 | 只看该作者
貌似非常强大啊
回复 支持 1 反对 0

使用道具 举报

192#
 楼主| Angus 发表于 7 天前 | 只看该作者
游客 122.225.82.x 发表于 2025-6-25 14:01
程序中好像没有有顺逆风判断吧,只有顺风启动,而且这个顺风启动是程序中判断出处于顺风状态吗,还是刚开始 ...

起动前,300行,调用了相位测量函数,若已在顺风转,此函数会返回启动参数,会按顺风参数起转。头文件中,启动函数前有顺风起动的说明。




顺风起动波形


若逆风转太快了,要先刹车,再按静止起动。


你若用新唐的芯片做项目,请联系新唐的代理直接支持。做电机控制,看似简单,实则有很多细节需要注意。
回复 支持 反对

使用道具 举报

191#
匿名  发表于 7 天前
程序中好像没有有顺逆风判断吧,只有顺风启动,而且这个顺风启动是程序中判断出处于顺风状态吗,还是刚开始就在程序中固定了顺风和静止2选1
回复 支持 反对

使用道具

190#
a20084666 发表于 2025-6-21 09:59:19 | 只看该作者
Angus 发表于 2025-4-29 20:03
有人在此代码基础上,做成并量产了 380V/4KW 的电机控制板,最大功率 5KW。

电机控制板能做到量产,不仅是 ...

新塘有没有380V的原理图和pcb  想做一个380V的空压机控制器
回复 支持 反对

使用道具 举报

189#
 楼主| 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 就是继续非互补模式。

回复 支持 反对

使用道具 举报

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

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

使用道具

187#
匿名  发表于 2025-5-24 14:00:58
Angus 发表于 2025-5-23 14:29
仔细看一下我的代码, 启动时每换相一次,占空比(电压)增加一点。调整这个增加量,可以做到轻载启动转速上 ...

确实是跟你们新塘工作人员联系过,他们也来过我们公司交流过。不过你们华南地区的技术人员可能对代码不够熟悉,说是只接触过低压几十V的无刷驱动器开发。真的非常感谢大佬你的多次解惑,也学到很多。无论怎么说,项目的关键卡点在你的解惑下都能顺利推进。
回复 支持 反对

使用道具

186#
 楼主| Angus 发表于 2025-5-23 14:29:49 | 只看该作者
本帖最后由 Angus 于 2025-5-23 14:39 编辑
游客 116.30.212.x 发表于 2025-5-23 09:51
大佬,这个方案启动那一部分代码是针对带载启动的,我参考了这套方案自己写了一套,电机运行效果不错,但是 ...

仔细看一下我的代码, 启动时每换相一次,占空比(电压)增加一点。调整这个增加量,可以做到轻载启动转速上冲小,重载启动也很好。
我们这个代码,针对不同的电机应用,有一些参数需要调整, 比如:启动电压,每次增加的电压,检过0的位置,功率管驱动方式,等等。所以这个代码即适合低压小电机,也适合高压大电机,高速电机也没问题。如果你在做项目,可直接与我们电话或邮件联系支持问题。

回复 支持 反对

使用道具 举报

185#
匿名  发表于 2025-5-23 09:51:12
大佬,这个方案启动那一部分代码是针对带载启动的,我参考了这套方案自己写了一套,电机运行效果不错,但是带载启动,调小启动占空比启动不了,调大启动占空比有噪声,加了六步脉冲注入也会有噪声,请问有什么比较好的解决方案。
回复 支持 反对

使用道具

184#
 楼主| Angus 发表于 2025-4-29 20:03:34 | 只看该作者
本帖最后由 Angus 于 2025-4-30 08:50 编辑

有人在此代码基础上,做成并量产了 380V/4KW 的电机控制板,最大功率 5KW。

电机控制板能做到量产,不仅是代码要完善,硬件细节没问题,还要了解电机的机械特性。如果你有项目需求,请直接联系新唐技术人员或新唐的代理公司寻求支持,能加快研发进度。
回复 支持 反对

使用道具 举报

183#
匿名  发表于 2025-4-29 15:38:47
Angus 发表于 2025-4-25 23:34
低通滤波器,对于直流,是没有衰减的。低通计算公式输入一个常量,多次计算,最后输出也是常量。
可用 Exce ...

感谢作者大大,请问能不能把没有封库的代码分享一下,这是我的邮箱1021351119@qq.com
目前在做大功率的角磨机,大概需要带2000W的载启动,请问这个方案合适吗?
回复 支持 反对

使用道具

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

本版积分规则

新唐MCU