找回密码
 立即注册
楼主: 梁工

BLDC, 三相无刷直流电机驱动-8H系列/32G系列-无HALL, 12万转, 视频讲解

 火... [复制链接]

0

主题

4

回帖

18

积分

新手上路

积分
18
发表于 2024-5-3 23:10:45 | 显示全部楼层
梁工,换相子程序的的ADC语句adc11 = ((adc11 *7)>>3) + Get_ADC10bitResult(11);    为什么要把adc11*7再>>是什么意思?
截图202405032309005634.jpg

点评

adc11 = ((adc11 *7)>>3) + Get_ADC10bitResult(11); 一阶低通滤波算法,Yn = Yn-1*(1-a) + x*a,这里Yn-1=上一次adc11,Yn=本次adc11,X=adc,为了避免小数运算,则a使用整数运算,相当于 Yn=Yn-1*7/8+X,但结果会  详情 回复 发表于 2024-5-4 00:07
回复 支持 反对

使用道具 举报 送花

0

主题

4

回帖

18

积分

新手上路

积分
18
发表于 2024-5-3 23:35:06 | 显示全部楼层
dong9*** 发表于 2023-5-30 10:49
梁工,你好!正反转数字调整,上升,下降沿更换好就行了。看到后面有个程序段没理解,帮忙介绍一下不?

                 ...

同问,我也理解不了,你问题后面理解了吗。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:52
  • 最近打卡:2025-05-03 23:41:15

73

主题

5884

回帖

1万

积分

超级版主

积分
12085
发表于 2024-5-4 00:07:30 | 显示全部楼层
本帖最后由 梁工 于 2024-5-4 00:10 编辑
WpLiuZ*** 发表于 2024-5-3 23:10
梁工,换相子程序的的ADC语句adc11 = ((adc11 *7)>>3) + Get_ADC10bitResult(11);    为什么要把adc11*7再> ...

adc11 = ((adc11 *7)>>3) + Get_ADC10bitResult(11);
一阶低通滤波算法,Yn = Yn-1*(1-a) + x*a,这里Yn-1=上一次adc11,Yn=本次adc11,X=adc,a取1/8,Yn=Yn-1*7/8+X*1/8,为了避免小数运算,我使用整数运算,改为 Yn=Yn-1*7/8+X,但结果会扩大8倍,10位的ADC会得到13位的结果。这个算法好像很少人这样用。如果使用浮点运算,则可以直接计算Yn=Yn-1*7/8+X*1/8,结果是10位。
回复 支持 1 反对 0

使用道具 举报 送花

0

主题

4

回帖

18

积分

新手上路

积分
18
发表于 2024-5-4 00:10:47 | 显示全部楼层
梁*** 发表于 2024-4-15 14:09
数字滤波是一个专门的知识,不是几句话就能说明白的,这个你要搜一些基础知识来看看。
我的例子是最简单 ...

我也没理解

点评

那就从上述的最简单的数字一阶低通滤波开始去了解,其对应的是模拟的一节RC低通滤波,是模拟滤波的数字化(离散化)处理。我总结一下贴在下面,但具体的知识还是得自己去学习,因为不是几句话能说明白的。 这还是最  详情 回复 发表于 2024-5-4 11:51
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:52
  • 最近打卡:2025-05-03 23:41:15

73

主题

5884

回帖

1万

积分

超级版主

积分
12085
发表于 2024-5-4 11:51:25 | 显示全部楼层

那就从上述的最简单的数字一阶低通滤波开始去了解,其对应的是模拟的一节RC低通滤波,是模拟滤波的数字化(离散化)处理。我总结一下贴在下面,但具体的知识还是得自己去学习,因为不是几句话能说明白的。
这还是最基本的一阶低通的情况,高阶的则更为复杂但效果更好、响应更快(比如噪声比信号大但仍能滤波提取有用信号),还有好几种不同的滤波算法,其中的DFT与FFT则更加经典。
截图202405041148205728.jpg

截图202405041148579633.jpg


回复 支持 反对

使用道具 举报 送花

0

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2024-5-5 17:22:37 | 显示全部楼层
梁工,那个STC32方案的pcb文件用哪个软件打开?

点评

protel99  详情 回复 发表于 2024-5-5 19:44
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:52
  • 最近打卡:2025-05-03 23:41:15

73

主题

5884

回帖

1万

积分

超级版主

积分
12085
发表于 2024-5-5 19:44:52 | 显示全部楼层
xyg2*** 发表于 2024-5-5 17:22
梁工,那个STC32方案的pcb文件用哪个软件打开?

protel99
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:23
  • 最近打卡:2024-06-09 18:04:05

5

主题

22

回帖

172

积分

注册会员

积分
172
发表于 2024-5-5 21:18:41 | 显示全部楼层
很好,感谢分享
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-05-07 21:31:16

0

主题

7

回帖

62

积分

注册会员

积分
62
发表于 2024-5-7 20:32:27 | 显示全部楼层
梁工你好,在下图所示方案的框架下,我想让其驱动新西达的A2212无刷电机,由于电源是用3s、1300mah、30c的锂电池供电,故将A04616换为了IRFR1205PBF(ID为44A)和IRFR5305IRBPF(ID为-31A),电源芯片换为了LM2596S-5,dcdc电源芯片。结果上电之后NMOS(IRFR1205)直接炸了,而且电源芯片很大概率不正常工作,发生这种情况的原因有哪些啊,难道是因为我使用的VCC电源线太粗导致的吗(电源网络的敷铜宽度和电源线的宽度都在300mil左右)?下图是我画的PCB。此外还有一个现象:在之前的一个版本中,我只将VCC电源线的线宽调整为50mil,其他部分和上述一致,当接入电源之后板子里的电源铜线会直接烧穿,对!直接烧穿,从绿油里面裸漏出来了,所以我才会在上个方案中将电源线部分增粗敷铜以避免这种情况。
截图202405072004576842.jpg
截图202405072023118752.jpg
截图202405072023245836.jpg
截图202405072029459678.jpg

点评

跟VCC粗细没关系的。 第一次通电时,用一个可设置恒流值的可调电源供电,恒流0.5A,小油门试试,没有大电流,再用1A恒流,调大油门至100%,2212电机空载3S电池100%油门电流一般不超过0.6A。电流正常,再调到3A电流,  详情 回复 发表于 2024-5-8 00:20
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:52
  • 最近打卡:2025-05-03 23:41:15

73

主题

5884

回帖

1万

积分

超级版主

积分
12085
发表于 2024-5-8 00:20:39 | 显示全部楼层
qg*** 发表于 2024-5-7 20:32
梁工你好,在下图所示方案的框架下,我想让其驱动新西达的A2212无刷电机,由于电源是用3s、1300mah、30c的 ...

跟VCC粗细没关系的。
第一次通电时,用一个可设置恒流值的可调电源供电,恒流0.5A,小油门试试,没有大电流,再用1A恒流,调大油门至100%,2212电机空载3S电池100%油门电流一般不超过0.6A。电流正常,再调到3A电流,上螺旋桨,逐渐加大油门至2.5A左右,正常运转半小时,没明显发热、没炸管,示波器观察一下电枢波形对称,OK,成功了,可以用3S 30C的电池了。
你都没调试过就上3S 30C的电池,我都没那么大胆。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-4 04:11 , Processed in 0.183282 second(s), 117 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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