搜索
bottom↓
回复: 56
打印 上一主题 下一主题

【CDFOC】开源 FOC 有感电机驱动

[复制链接]

出615入1076汤圆

跳转到指定楼层
1
发表于 2023-9-24 18:25:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 dukelec 于 2023-9-24 18:29 编辑

开源地址:https://github.com/dukelec/cdfoc
wiki 有中文版 readme,代码库有原理图和 pcb 截图

- 支持多种 SPI 接口的编码器,默认 tle5012b,其它有 tle5014、ma731、ma732、ic-mu 等
- 三路采样电阻,pwm 输出可以开到 100%
- 一路 RS485 支持用户控制、打印调试、波形调试、代码 IAP 升级
- RS485 最高速率 50Mbps(需要接口芯片支持,默认贴的接口芯片是 14Mbps,后续可能默认贴 20Mbps 的)
- MCU 为高性能的 STM32G431CBUx
- MOS 驱动芯片为高性能的 DRV8323RS,保护齐全,驱动力等参数可软件调节
- 电路简洁,布局布线合理,干扰小,可提供完整的 KiCad 工程文件









本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

2
发表于 2023-9-24 18:29:59 | 只看该作者
赞一个,有空研究一下。

出0入63汤圆

3
发表于 2023-9-24 18:49:10 | 只看该作者
赞一个?

出0入0汤圆

4
发表于 2023-9-24 19:38:29 | 只看该作者
谢谢!不能下载,可以发到这个论坛上吗

出20入0汤圆

5
发表于 2023-9-24 20:18:20 | 只看该作者
虽然大佬全开源了,但我还是懒得画板,请直接给个链接吧,我想买一套玩.

出0入13汤圆

6
发表于 2023-9-24 21:04:24 | 只看该作者
非常支持,厉害厉害....

出0入8汤圆

7
发表于 2023-9-24 21:21:06 | 只看该作者
感谢大佬分享,厉害厉害

出615入1076汤圆

8
 楼主| 发表于 2023-9-24 22:19:54 来自手机 | 只看该作者
本帖最后由 dukelec 于 2023-9-25 09:13 编辑
newlife2lyf 发表于 2023-9-24 20:18
虽然大佬全开源了,但我还是懒得画板,请直接给个链接吧,我想买一套玩. ...
(引用自5楼)


淘宝店铺搜我论坛 id

建立顺便带一个 cdbus bridge,不要外壳现在超便宜了
调试波形之类的更方便一些

使用 ft232 之类的 usb 转 485 也可以控制电机,可能要改 ft232 等板子的上下拉和终端电阻,
建议上下拉电阻改 330 欧姆,终端电阻默认不接。

出20入0汤圆

9
发表于 2023-9-24 22:25:00 | 只看该作者
dukelec 发表于 2023-9-24 22:19
淘宝店铺搜我论坛 id
(引用自8楼)

好的,全套含BM3520H电机

出615入1076汤圆

10
 楼主| 发表于 2023-9-24 22:28:56 来自手机 | 只看该作者
newlife2lyf 发表于 2023-9-24 22:25
好的,全套含BM3520H电机
(引用自9楼)

多谢支持

出105入79汤圆

11
发表于 2023-9-24 22:40:06 | 只看该作者
太棒了,整体架构和我们量产的很像

出100入312汤圆

12
发表于 2023-9-24 23:17:25 | 只看该作者
大神科普下,这个一般用在什么产品上?冰箱、空调的电机,还是吹风的电机,还是叉车的电机,还是无人机的电机?

出675入8汤圆

13
发表于 2023-9-25 00:32:19 来自手机 | 只看该作者
学学习了再说

出0入0汤圆

14
发表于 2023-9-25 01:04:07 | 只看该作者
最近给朋友定制的一块 一拖二FOC驱动,进行到第三版了,150kg载重底盘测试了2个月,10月份准备小批量了。

功能上比楼主的多了一些

带刹车电阻,可在控制调试软件可配置刹车电阻启动电压、
可带2个电机、
车规级抗干扰SSI差分长线编码器接口、做了磁编自动线性校准算法
USB type C 线直连电脑免驱、调试软件即插即用
使用CAN接口、
mos测温、2个电机测温、







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

15
发表于 2023-9-25 01:13:24 | 只看该作者
散热层叠。

载重150kg,坡道保持电流40A,MOS最大温度不到50℃



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

16
发表于 2023-9-25 01:20:08 | 只看该作者
嘉立创的仿真图




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出20入62汤圆

17
发表于 2023-9-25 08:37:14 | 只看该作者
666啊~我赶紧弄回来一套学习~

出0入0汤圆

18
发表于 2023-9-25 08:53:55 | 只看该作者
果断入手一套玩玩,向楼主致敬

出0入0汤圆

19
发表于 2023-9-25 08:55:01 | 只看该作者
MCU用G431是个好选择,性价比高!TI的DRV8323现在价格还好,之前太贵了。

出615入1076汤圆

20
 楼主| 发表于 2023-9-25 10:13:06 | 只看该作者
本帖最后由 dukelec 于 2023-9-25 10:15 编辑
sy8501 发表于 2023-9-25 01:04
最近给朋友定制的一块 一拖二FOC驱动,进行到第三版了,150kg载重底盘测试了2个月,10月份准备小批量了。

...
(引用自14楼)


我之前是有考虑把外置编码器改成差分通讯,最后没有改的主要原因是:

我倾向伺服的形态,每个电机带一个控制板,控制板和传感器板之间距离很近,而且有精心设计的屏蔽线可选,没必要用差分。
(个别产品我会把编码器芯片直接放在主控板上,做成圆形的板子。但我更多的是用这种通用的板子,免了不同电机都要重新画板。)

转成差分再转回单端,两次转换会带来延迟,特别是 SPI 处理起来很麻烦,SSI 方式不是所有编码器都支持。

譬如说 MA731/732 的效果,远比不上 TLE5012B-E1000



MA73x 默认 filter window 太大了,是 1024 us,一般要用 spi 配置成 64us 才适合 FOC 控制,否则电机效果出不来:
参数调猛一点,由于编码器的 filter 延迟,会导致电机抖动;参数调弱电机刚性又会很差。

MA73x filter 调成 64us 的时候,编码器有效位数只剩下 9.5 bits,相同条件下对比过其锁定噪音明显大于 TLE5012B 编码器

对于刹车电阻,我是计划有需要的时候单独做一个板子,外挂在母线电源上,检测到电源超标,就启动储能或者发热耗散。模块化的思想。

至于测温,我另一款相同代码方案的大功率板子有加,用的是 i2c 总线的数字温度传感器,可以加很多个点,当时加了两个点,一个加在电机一个加在 mos。

開一個 DIY 動力滑翔傘(電動)的【直播】貼
https://www.amobbs.com/thread-5753059-1-1.html


至于 usb,我比较反对加在电机控制板,特别是大功率的,伺服器的干扰很大,usb 抗干扰不行
额外增加电路面积和软件复杂度,容易引入小概率 bug,使用 usb 的 bootloader 也要大很多
而且对于一些机械臂之类的场景,机器一边甩动,一边用 usb 接在中间或末端关结调参,不是很方便,特别是机械臂包了外壳的时候
用我这个方式,可以在机械臂底部的控制线上直接调试任意关结的电机,同理方便用于其它各类设备的调试
而且,485 比 12M usb 还可以快好几倍


至于 can 接口,给力的话你也不用留 usb 接口了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入10汤圆

21
发表于 2023-9-25 10:18:26 | 只看该作者
sy8501 发表于 2023-9-25 01:04
最近给朋友定制的一块 一拖二FOC驱动,进行到第三版了,150kg载重底盘测试了2个月,10月份准备小批量了。

...
(引用自14楼)

你这3d图 用什么软件渲染的?很好看

出0入0汤圆

22
发表于 2023-9-25 11:02:26 | 只看该作者
到楼主店去看看,弄一个来玩玩。

出0入0汤圆

23
发表于 2023-9-25 11:22:43 | 只看该作者
dukelec 发表于 2023-9-25 10:13
我之前是有考虑把外置编码器改成差分通讯,最后没有改的主要原因是:

我倾向伺服的形态,每个电机带一个 ...
(引用自20楼)

SSI的局限性确实有,目前只有MP的磁编在用这套协议。所以编码器限制死了,只能MA73x

但spi单端引线,想要数据不出错,只能走个0.1m,跟电机绑一块的时候,0.1m有时候也很困难。

实际这种应用,驱动和电机分体,引线长度需求在0.8~5米不等,必须走差分通信。而SPI转差分的话,引线又太多,所以SSI省线的优势就出来了。

窗口延迟的问题,实际上没有你想的那么严重,MA732用默认参数就可以了,用的12bit,做了线性校准后效果还是很好的。

出0入63汤圆

24
发表于 2023-9-25 11:24:59 | 只看该作者
jaywen 发表于 2023-9-25 10:18
你这3d图 用什么软件渲染的?很好看
(引用自21楼)

这个只是3D,没有渲染 ,真正的渲染是可以以假乱真的

参考一下我这个帖子的30楼渲染效果

出0入0汤圆

25
发表于 2023-9-25 11:25:04 | 只看该作者
jaywen 发表于 2023-9-25 10:18
你这3d图 用什么软件渲染的?很好看
(引用自21楼)


AD的3D视图,没有线条,所以糊到一块了。

导出step后,到任意专业3D软件,选择带线的视图,都有这个效果。(没有渲染)

可惜我显示器比较小,截图时候,很多细节都没了。

出105入79汤圆

26
发表于 2023-9-25 11:35:08 | 只看该作者
sy8501 发表于 2023-9-25 01:13
散热层叠。

载重150kg,坡道保持电流40A,MOS最大温度不到50℃
(引用自15楼)

你这个是车规级的高级东西了  是AGV底盘用的吗

出0入213汤圆

27
发表于 2023-9-25 11:41:50 | 只看该作者
周末画了一个无感无刷的驱动板,移稙代码还无从下手,有一起玩的吗?


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

28
发表于 2023-9-25 11:53:34 | 只看该作者
qwe2231695 发表于 2023-9-25 11:35
你这个是车规级的高级东西了  是AGV底盘用的吗
(引用自26楼)

是AGV专用。

朋友公司就是干这个的。

出0入0汤圆

29
发表于 2023-9-25 11:54:12 | 只看该作者
sy8501 发表于 2023-9-25 01:13
散热层叠。

载重150kg,坡道保持电流40A,MOS最大温度不到50℃
(引用自15楼)

板子画的很漂亮,电容下面是什么胶?

出0入0汤圆

30
发表于 2023-9-25 12:23:01 | 只看该作者
flash3g 发表于 2023-9-25 11:54
板子画的很漂亮,电容下面是什么胶?
(引用自29楼)

普通的704硅橡胶 半流淌型

出0入0汤圆

31
发表于 2023-9-25 12:28:35 | 只看该作者
sy8501 发表于 2023-9-25 12:23
普通的704硅橡胶 半流淌型
(引用自30楼)

好的,谢谢您

出0入0汤圆

32
发表于 2023-9-25 13:50:21 | 只看该作者
支持一下,楼主论坛的开源达人啊

出0入0汤圆

33
发表于 2023-9-25 15:01:08 | 只看该作者
有无感的开源吗?

出100入143汤圆

34
发表于 2023-9-25 15:10:14 | 只看该作者
你好,请教一个CDBUS技术问题,我想将CDBUS用于开发通用IO模块的背板总线,想请问50Mbps速率下距离能做到5米吗?另外1ms的双向数据更新,大约能收发交互多少字节?

出0入0汤圆

35
发表于 2023-9-25 15:16:24 | 只看该作者
sy8501 发表于 2023-9-25 01:20
嘉立创的仿真图

漂亮,就喜欢看大佬们的作品。

出0入0汤圆

36
发表于 2023-9-25 16:42:21 来自手机 | 只看该作者
给力,dukelec出品,必是精品。

出0入0汤圆

37
发表于 2023-9-25 16:53:38 | 只看该作者
强烈支持楼主

出700入127汤圆

38
发表于 2023-9-25 21:29:54 | 只看该作者
sy8501 发表于 2023-9-25 01:20
嘉立创的仿真图
(引用自16楼)


你的画板、走线风格跟我的很像

出0入0汤圆

39
发表于 2023-9-25 22:39:46 | 只看该作者
期待无感的

出100入312汤圆

40
发表于 2023-9-26 08:34:09 | 只看该作者
sy8501 发表于 2023-9-25 01:04
最近给朋友定制的一块 一拖二FOC驱动,进行到第三版了,150kg载重底盘测试了2个月,10月份准备小批量了。

...
(引用自14楼)

请教下,大神主控用的哪家mcu,用的哪家foc算法

出20入62汤圆

41
发表于 2023-9-26 08:41:49 | 只看该作者
再来顶个贴。大佬是来普度众生的么。这个价格。~这技术。。。。还开源了。。。

出0入0汤圆

42
发表于 2023-9-26 11:30:26 | 只看该作者
akey3000 发表于 2023-9-26 08:34
请教下,大神主控用的哪家mcu,用的哪家foc算法
(引用自40楼)

STM32F405RGT6 / APM32F405RGT6 / APM32F407RGT6 / APM32F407RGT7

出0入0汤圆

43
发表于 2023-9-27 21:34:42 | 只看该作者
大神,你开源的文件夹cdnet 为什么是空的?

出615入1076汤圆

44
 楼主| 发表于 2023-9-27 22:22:48 来自手机 | 只看该作者
887799 发表于 2023-9-27 21:34
大神,你开源的文件夹cdnet 为什么是空的?
(引用自43楼)


看我 readme 写的 git 命令,下载的时候要带一个 submodule 参数

出615入1076汤圆

45
 楼主| 发表于 2023-9-28 12:02:27 | 只看该作者
zzh90513 发表于 2023-9-25 15:10
你好,请教一个CDBUS技术问题,我想将CDBUS用于开发通用IO模块的背板总线,想请问50Mbps速率下距离能做到5 ...
(引用自34楼)

布线好的话,5 米没有问题

CDBUS 有两个核心模式,仲裁模式 和 BS 模式(break 字符同步)

仲裁模式不建议使用太高波特率,因为首字节速率一般最高设定在 1Mbps, 首字节、以及同等速率换算的帧空格时间(至少 1.1 字节,一般建议 2 字节或 1.5 字节)会成为瓶颈

譬如 1.1 字节帧空格时间(其中 1 字节为空闲,0.1 byte 或 1bit 为发送等待),加上首字节,总共 2.1 字节时间。

如果使用 1Mbps+10Mbps,低速 2.1 字节可以换算成高速的 21 字节,一个帧除了用户数据,还剩下 2 字节帧头,和 2 字节 crc 帧尾,加起来共 25 字节。
如果用户数据 40 字节(最多 253 字节),那么总共 65 字节,对应时间为:1÷10000000×10×65 = 65us

如果使用 1Mbps+50Mbps,低速 2.1 字节可以换算成高速的 2.1×50 = 105字节
同样 40 字节用户数据,那么总共 105+4+40=149 字节,对应时间为:1÷50000000×10×149 = 29.8us

实际时间只快一倍,如果用户数据更短,则时间区别更小。


BS 模式可以单速率保存高速通讯,但是节点数不建议超过 10,越多效率越低
(而且要避免太高速率的情况下,一个大包后面跟多个小包,spi 来不及接收会导致丢包。)


而且,速度太快,要考虑 MCU 能不能及时接收数据,我这两天在优化 usb 转 485 盒子 cdbus bridge,之前使用 hal 库代码,dma 模式收一帧数据要 100 多 us(一个字节用户数据),空闲占了太多

改成寄存器控制 dma,只需要 8 us 多了(5 字节用户数据),很难进一步优化,是因为 mcu 主频有点低,跑到最高只有 64 MHz,SPI 也受 MCU 限制,当前设置为 32MHz。
(本来想换 170MHz 主频的 stm32g431cbux,SPI 最高 42.5MHz,但是 ram 32KB 太小,用来做 bridge 中转数据不太爽。现在 bridge 用的 stm32g0 是 144KB 内存)




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出100入312汤圆

46
发表于 2023-9-28 12:37:58 来自手机 | 只看该作者
sy8501 发表于 2023-9-26 11:30
STM32F405RGT6 / APM32F405RGT6 / APM32F407RGT6 / APM32F407RGT7
(引用自42楼)

大神foc算法是自研,还是用的哪家的方案

出0入0汤圆

47
发表于 2023-9-28 13:41:08 | 只看该作者
akey3000 发表于 2023-9-28 12:37
大神foc算法是自研,还是用的哪家的方案
(引用自46楼)

没有参考开源,全部自己写的。



出100入143汤圆

48
发表于 2023-9-28 13:44:32 | 只看该作者
dukelec 发表于 2023-9-28 12:02
布线好的话,5 米没有问题

CDBUS 有两个核心模式,仲裁模式 和 BS 模式(break 字符同步)
(引用自45楼)

谢谢解答,因为不会FPGA,所以IO模块高速方案就受限了;目前IO模块主机准备用STM32H7,从机也准备用您说的STM32G431,总线上从机预计设计最多16或者32个;Output数据准备用轮询广播方式(上电初始化时将每个从机的数据映射到不同寄存器);输入数据只能依次轮询或者采用DC同步时间戳,主机发广播SYNC读指令,从机依次回复得方式。之前准备使用CANFD(5Mbps)方式,但算下来交互一遍需要几个ms,看到CDBUS(50Mbps),就想试试,能做到从机都收发一遍1ms内就完美了

出615入1076汤圆

49
 楼主| 发表于 2023-10-12 23:22:10 | 只看该作者
本帖最后由 dukelec 于 2023-10-14 09:49 编辑

上传一份当前的 github 的资料,方便一些网络不太好的用户









CDBUS GUI 电机出厂设置:
(每个电机的 bias_encoder 不同,要提前备份一下,或者导入配置后重新校准编码器)


注意:2806 电机请使用 12V 供电,3520 电机请使用 24V 供电。
PID 参数是按照这个电压调试的,电压相差太多的话,会影响效果。


目前 MOS 焊了两款,最早一批发货用的 mos 是: BSZ105N04NSG (INFINEON, 40V)
之后发货已改用 mos: DMT69M8LFV-7 (DIODES, 60V)
5264 的座子,之前觉得白色的好看一点,没想到质量差一些,也已经换回灰色
(HCTL(华灿天禄) HC-5264-4AW (白色) --> CJT(长江连接器) A2505WR-4P (灰色))


后续 github 会持续更新,此处代码无法持续或及时更新。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

50
发表于 2023-10-13 10:23:11 | 只看该作者
高级货  点赞

出20入62汤圆

51
发表于 2023-10-13 11:08:49 | 只看该作者
dukelec 发表于 2023-10-12 23:22
上传一份当前的 github 的资料,方便一些网络不太好的用户


(引用自49楼)

大佬~
我收到了~电机上的编码器板插座是7针的,和主控板对插的配线是6线6孔的插头,主控板那边没问题,编码器这边怎么插,一个是7针座,一个是6孔插头。。。。

出615入1076汤圆

52
 楼主| 发表于 2023-10-13 15:31:45 | 只看该作者
天下乌鸦一般黑 发表于 2023-10-13 11:08
大佬~
我收到了~电机上的编码器板插座是7针的,和主控板对插的配线是6线6孔的插头,主控板那边没问题,编 ...
(引用自51楼)



红色箭头这里空一个 pin 就行
前期发货太赶,不然都会换成 7p 的胶壳

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出20入62汤圆

53
发表于 2023-10-14 09:05:58 | 只看该作者
dukelec 发表于 2023-10-13 15:31
红色箭头这里空一个 pin 就行
前期发货太赶,不然都会换成 7p 的胶壳
(引用自52楼)

收到。你这个电机选的是真好。用手拧着这个丝滑。

出0入4汤圆

54
发表于 2023-10-14 20:43:02 | 只看该作者
sy8501 发表于 2023-9-25 01:13
散热层叠。

载重150kg,坡道保持电流40A,MOS最大温度不到50℃
(引用自15楼)

电阻是DB制动电阻还是泄放电阻?

出0入0汤圆

55
发表于 2023-10-14 20:45:36 | 只看该作者
suebillt 发表于 2023-10-14 20:43
电阻是DB制动电阻还是泄放电阻?
(引用自54楼)

这2个名词,应该指的是同一个东西?

DB是什么鬼,第一次听说

出0入4汤圆

56
发表于 2023-10-16 09:33:41 | 只看该作者
sy8501 发表于 2023-10-14 20:45
这2个名词,应该指的是同一个东西?

DB是什么鬼,第一次听说
(引用自55楼)

DB制动是三相短路刹车,泄放是指母线电压高于设定值,把能量泄放掉。
不是搞伺服?

出0入0汤圆

57
发表于 2023-10-16 11:28:40 | 只看该作者
suebillt 发表于 2023-10-16 09:33
DB制动是三相短路刹车,泄放是指母线电压高于设定值,把能量泄放掉。
不是搞伺服? ...
(引用自56楼)

三相短路刹不住的。不会采用这种方式。

特别是速度闭环下,必须有反向扭矩才能让电机立即停下来。

一旦有了反向扭矩,就必然造成电源升压。

回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-4 02:02

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表