打印
[电动工具]

开源有感BLDC

[复制链接]
4783|40
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 鸥芯电驱港港 于 2022-9-1 22:56 编辑
玩转有感BLDC电机

介绍:有感开源BLDC程序支持功能
  • 支持正反转功能。
  • 支持电位器调速功能,速度单位为转每分钟(RPM)。
  • HALL信号错误检测。
注意:        
  • 改程序没有HALL相序学习功能,如果更换电机需要根据实际测量的反电动势与HALL信号推导出换相时功率管导通顺序与HALL信号关系,然后将导通顺序填写到Hall_forward数组内。假定Hall_forward的HALL相序为电机正转的HALL相序,那么Hall_Direct就为反向时的HALL相序,它们的关系是HALL相序相差180度。
  • 如:正转HALL相序Hall_forward[6] = {3,2,6,4,5,1},那么反转Hall_Direct[6] = {4,5,1,3,2,6},把Hall_forward的第4位放到Hall_Direct第1位,然后其它HALL状态按照顺序依次填写即可。如果想要知道具体原理可以通过电机模型进行推导。
重点
         如何通过HALL信号与反电动势波形确定HALL信号与功率管通电顺序呢?
  • 如图1我们将示波器三个探头接到板子的UVW相,测得电机反电动势对应电压如图2所示:
         图2中黄色为板子的U相反电动势(U相对应芯片MCPWM模块输出的MCPWM_CH0通道),绿色为V相反电动势(V相对应芯片MCPWM模块输出的MCPWM_CH1通道),蓝色为W相反电动势(W相对应芯片MCPWM模块输出的MCPWM_CH2通道)。
  • 我们知道电机一个电周期是不是需要6次换相,那么就对应6个扇区,每个扇区功率管通电顺序是固定的。我们再看图3,假如我们以U相反电动势由低到高之后的60度为第一扇区,那么此时UVW三相如何通电呢?
  • 这里我们需要明白一个东西,端电压与相反电动势同向,所以我们知道三个HALL信号状态对应的三相相反电动势幅值就知道对应的UVW端电压幅值,即可得到UVW通电顺序。
  • 如图三第一个扇区U相(黄色)高电平,V相(绿色)第电平,W相(蓝色)由高到底,所以得知W相为悬空相。这样我们是不是就可以知道第一个扇区U相需要通高电平(U相桥臂上管导通下管截止,对应芯片MCPWM_CH0P和MCPWM_CH0N输出,注意输出极性),V相通低电平(V相桥臂上管截止上管导通,对应芯片MCPWM_CH1P和MCPWM_CH1N输出,注意输出极性),W相悬空(W相桥臂上下管均截止,对应芯片MCPWM_CH2P和MCPWM_CH2N输出,注意输出极性)。
  • 我们在测量这个扇区对应的HALL信号如图4所示,这里需要注意芯片引脚标记的HALL_IN2,HALL_IN1,HALL_IN0对应 demo HALL接口丝印的 HA,HB,HC,那么图4对应绿色就是HA对应芯片引脚的HALL_IN2,蓝色HB对应芯片引脚的HALL_IN1,粉红色HC对应芯片引脚的HALL_IN0。

  • 这里我们知道第一扇区三个HALL信号,那这个对应芯片HALL结果寄存器的值是多少呢?
  • 因为我们需要根据读取HALL寄存器的值进行对应功率管通电,所以就需要了解凌鸥MCU的HALL输入信号与对应HALL模块信息寄存器对应位结果。
  • HALL信号结果是在HALL模块信息寄存器HALL_INFO的低三位,它与输入信号的对应关系是HALL_IN2的信号为HALL_INFO的低三位的最高位,HALL_IN1的信号为HALL_INFO的低三位的第2位,HALL_IN0的信号为HALL_INFO的低三位的最低位。那么从图4可以看出,扇区一对应的HALL_INFO结果为101(二进制)即为5(16进制)。
         结论来啦!
  • 当程序读HALL_INFO低3位为5时,U相上管导通下管就截止,V相上管截止下管导通,W相上下管均截止。我们再看一下第二扇区,U为高,V为悬空W为低,对应图5 HALL_INFO低3位为1(16进制),此时U相上管导通下管就截止, V相上下管均截止,W相上管截止下管导通,其它几个扇区分析也一样。
  • 最终我们的到正转相序为5/1/3/2/6/4。例程中我们将管子导通状态顺序固定啦,Hall_forward[0]的对应状态是U悬空,V高电平(上通下截止),W低电平(上截止下通),这样Hall_forward[0]我们就填3,那么依次Hall_forward[1]为2......Hall_forward[5]为1,即Hall_forward[6]={3,2,6,4,5,1},那么反转与正转相差180度,所以Hall_Direct[6] = {4,5,1,3,2,6}。


图1


图2



图3


图4


图5


图6


图7


图8


图9


软件配套硬件:MCU板:https://www.linkosemi.com/uploadfiles/Updatefile/nutstore/Linko_DEMO/08x_MCU/LKS_EVB_MCU081083088_V2.0.zip
功率板:https://www.linkosemi.com/uploadfiles/Updatefile/nutstore/Linko_DEMO/No_built_in_Baseplate/LKS_EVB_MVPOWPRE_V5.0.zip


电机使用带HALL的三相无刷直流电机或永磁同步电机。
源程序在下面哦
                 I

                 I

                 I

                 I

                 I

        V













LKS081_BLDC_HALL_PureV1.2_Speed_PID.zip

1.59 MB

开源有感BLDC例程

使用特权

评论回复
沙发
kingking11| | 2022-9-6 10:12 | 只看该作者
请问下用的是什么型号的电机?

使用特权

评论回复
评论
一路寻你 2022-9-8 14:53 回复TA
一般的无刷直流电机都可以(推荐24V) 
板凳
kingking11| | 2022-9-8 10:59 | 只看该作者
BLDC_RunSpeedCtr.Elect_Speed = 60000000000/(BLDC_RunSpeedCtr.ElectPeriod_time * 10.4)中 10.4 是什么?

使用特权

评论回复
评论
pioneerAAA 2023-9-26 16:48 回复TA
@一路寻你 :你好,请问一下,这个电周期我如果是用MCPWM中断查看hall信号,大概是64us,这个电周期的值该怎么计算呢,是除以MCPWM的计数值吗? 
kingking11 2022-9-8 15:52 回复TA
@一路寻你 :明白了。谢谢 
一路寻你 2022-9-8 15:26 回复TA
1个电周期用时为BLDC_RunSpeedCtr.ElectPeriod_time*(1/96000000),则转速为1/(BLDC_RunSpeedCtr.ElectPeriod_time*(1/96000000)=96000000/BLDC_RunSpeedCtr.ElectPeriod_time,单位 电周期/秒,转换为电周期/分:60*96000000/BLDC_RunSpeedCtr.ElectPeriod_time 单位 电周期/分 即表示为:60000000000/(BLDC_RunSpeedCtr.ElectPeriod_time*10.4)。 
地板
yizhiic| | 2022-9-13 08:23 | 只看该作者
港工,有没有无感BLDC程序, 期待。

使用特权

评论回复
5
开张天岸马| | 2022-9-13 09:01 | 只看该作者
yizhiic 发表于 2022-9-13 08:23
港工,有没有无感BLDC程序, 期待。

无感方波的闭源程序,可以在交流群里获取;无感FOC在链接中获取 https://bbs.21ic.com/icview-3231310-1-1.html   

使用特权

评论回复
6
鸥芯电驱港港|  楼主 | 2022-9-13 09:09 | 只看该作者
本帖最后由 鸥芯电驱港港 于 2022-9-13 09:26 编辑
kingking11 发表于 2022-9-6 10:12
请问下用的是什么型号的电机?

有HALL的无刷直流电机即可

使用特权

评论回复
7
鸥芯电驱港港|  楼主 | 2022-9-13 09:13 | 只看该作者
yizhiic 发表于 2022-9-13 08:23
港工,有没有无感BLDC程序, 期待。

后续会有,出来了就更新上去,请耐心等待哦

使用特权

评论回复
8
guijial511| | 2022-9-13 12:02 | 只看该作者
总结的比较详细,谢谢分享经验。

使用特权

评论回复
9
Paddi0v0| | 2022-10-6 14:59 | 只看该作者
请问如何加入交流群

使用特权

评论回复
10
Paddi0v0| | 2022-10-6 15:00 | 只看该作者
开张天岸马 发表于 2022-9-13 09:01
无感方波的闭源程序,可以在交流群里获取;无感FOC在链接中获取 https://bbs.21ic.com/icview-3231310-1- ...

请问可以拉我进交流群吗,LazySheepOvO我的V

使用特权

评论回复
11
zero949079783| | 2022-10-12 22:33 | 只看该作者
开张天岸马 发表于 2022-9-13 09:01
无感方波的闭源程序,可以在交流群里获取;无感FOC在链接中获取 https://bbs.21ic.com/icview-3231310-1- ...

没有交流群怎么样获取?

使用特权

评论回复
12
炭市街的芦丁| | 2022-10-19 16:48 | 只看该作者
请问无感BLDC程序在哪可以获取,交流群中没有看到

使用特权

评论回复
13
中国龙芯CDX| | 2022-11-10 08:50 | 只看该作者
kingking11 发表于 2022-9-6 10:12
请问下用的是什么型号的电机?

应该是无刷直流电机就可以,主要是驱动板这一块看支持啥样子的吧

使用特权

评论回复
14
lddshouwangzhe1| | 2023-1-19 16:31 | 只看该作者
支持一下

使用特权

评论回复
15
QGQ2008| | 2023-2-14 09:18 | 只看该作者
港工,无感BLDC程序出来了没有啊

使用特权

评论回复
16
数据采集存储| | 2023-2-14 10:43 | 只看该作者
这个对电机有要求吗?

使用特权

评论回复
17
徐诗橙| | 2023-3-9 21:17 | 只看该作者
港工,无感BLDC开源程序出来了没有啊

使用特权

评论回复
18
foxpro2005| | 2023-3-12 21:55 | 只看该作者
数据采集存储 发表于 2023-2-14 10:43
这个对电机有要求吗?

不是FOC的或无感驱动的对电机要求不大, 有感唯一要注意HALL的角度是 60 或 120度 ?

使用特权

评论回复
19
鸥芯电驱港港|  楼主 | 2023-3-13 09:30 | 只看该作者
徐诗橙 发表于 2023-3-9 21:17
港工,无感BLDC开源程序出来了没有啊

无感BLDC还没有呢。

使用特权

评论回复
20
鸥芯电驱港港|  楼主 | 2023-3-13 09:31 | 只看该作者
数据采集存储 发表于 2023-2-14 10:43
这个对电机有要求吗?

只要是直流无刷电机带三个HALL就行

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:南京凌鸥创芯电子有限公司
简介:凌鸥创芯是一家专注于运动控制领域集成电路及总体解决方案设计的国家高新技术企业。公司以运动控制芯片为核心业务,整合上下游产业链资源。 凌鸥具有处理器、DSP、AD/DA、PGA等数模混合SoC研发能力;同时具备电机控制算法及电机本体设计能力。

20

主题

297

帖子

55

粉丝