找回密码
 立即注册

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, 下载次数: 1290)


Mini52 BLDC 代码简介.pdf

2 MB, 下载次数: 17067

分享到:  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

使用道具 举报

地板
 楼主| Angus 发表于 2014-5-9 14:05:04 | 只看该作者
本帖最后由 Angus 于 2014-5-30 15:35 编辑
xiaoxiao2013 发表于 2014-4-29 15:40
新唐采用AD检测过零点的BLDC方案例程序,速度响应很慢,不符合客户要求,请问留的有接口可以改吗?我看了看 ...


目前我们已推出采用比较器检测过零的方案,  硬件和以前的基本兼容。从启转到加100%加压, 不到半秒.  
回复 支持 反对

使用道具 举报

5#
xiaoxiao2013 发表于 2014-5-13 15:32:51 | 只看该作者
Angus 发表于 2014-5-9 14:05
目前我们已推出采用比较器检测过零的方案,  从启转到加100%加压, 不到半秒.   ...

但是现在用了那个AD采样检测过零的方案,那个是不是不好?动态响应有什么方法可以改?就是速度变化很快到某个值,封装的太多,不好用啊
回复 支持 反对

使用道具 举报

6#
 楼主| Angus 发表于 2014-5-27 17:43:18 | 只看该作者
本帖最后由 Angus 于 2016-12-8 11:38 编辑
xiaoxiao2013 发表于 2014-4-29 15:40
新唐采用AD检测过零点的BLDC方案例程序,速度响应很慢,不符合客户要求,请问留的有接口可以改吗?我看了看 ...

电机工作电压是多少?
如果是15V以下,可直接使用软件包里的电路。
如果是15V~100V之间,改一下MOS驱动方式。
若是100V以上,改动较大,硬件软件都要改。
回复 支持 反对

使用道具 举报

7#
w70770777 发表于 2014-9-16 15:42:33 | 只看该作者
LZ大大 “如果是300V的电机,由PWM4去控制分压比。” 这句话怎么理解 和 怎么具体操作  是不是线路板要改动?
回复 支持 反对

使用道具 举报

8#
 楼主| Angus 发表于 2014-9-16 18:09:22 | 只看该作者
w70770777 发表于 2014-9-16 15:42
LZ大大 “如果是300V的电机,由PWM4去控制分压比。” 这句话怎么理解 和 怎么具体操作  是不是线路板要改动 ...

300V分压到5V要衰减60倍,启转时,反电势较小,再衰减这么多,增加过零点检测难度,这时可以用一路PWM控制一个三极管调整分压比,启转时分压比降到1:5左右,转起来后,让三极管关断,分压比恢复至1:60。这部分要软硬件配合。  
回复 支持 反对

使用道具 举报

9#
xiaoxiao2013 发表于 2014-9-17 11:40:41 | 只看该作者
本帖最后由 xiaoxiao2013 于 2014-9-17 11:42 编辑

《《《《新发布的水泵方案电路图中的Neutral point比较电压接到电路哪里?》》》
看出来了,没问题了
回复 支持 反对

使用道具 举报

10#
 楼主| Angus 发表于 2014-9-17 19:22:17 | 只看该作者
本帖最后由 Angus 于 2014-9-17 19:24 编辑

把 Mini51 的 ADC 配置成 300Ksps,一次ADC只需3us,在过零点附近只采样过零相,参考电压可在过零后再测供下次过零参考, 这样过零点时间误差就是一次 ADC 时间。优化一下代码,时间误差不超过5us。我们的 ADC 方案就是这么做的,所以速度才做到了20万转。

用三个电阻产生一个中点,ADC 采用差分式,做一次 ADC 就可知两相电压差了,深圳某专业电调公司就这么做的。

ADC做过零需要丰富的经验和高超的技巧,相比之下,比较器方式较简单,只要读一下比较器的输出值为0还是为1就可以了。我们现在已推出比较器方式做过零检测的方案,过零检测时间误差 1us,建议您采用我们的新方案。
回复 支持 反对

使用道具 举报

11#
xiaoxiao2013 发表于 2014-9-18 14:44:43 | 只看该作者
本帖最后由 xiaoxiao2013 于 2015-9-15 10:11 编辑
Angus 发表于 2014-9-17 19:22
把 Mini51 的 ADC 配置成 300Ksps,一次ADC只需3us,在过零点附近只采样过零相,参考电压可在过零后再测供 ...

非常感谢你的解惑,理解了很多,还有一点不能确定,是不是这样:

回复 支持 反对

使用道具 举报

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

本版积分规则

新唐MCU