ycping
发表于 2016-8-17 16:33:44
谢谢分享
ycping
发表于 2016-8-17 16:34:01
谢谢分享
CoolRain828
发表于 2016-9-23 21:12:25
感谢楼主的无私分享,先研究看看
zhcj66
发表于 2016-11-5 11:30:34
20061002838 发表于 2013-1-24 23:38
是的,你的理解没错
时序就是这个样子的
请问一个STM32F1可以控制3个无刷电机吗?用BLCD
lavenderfr97
发表于 2016-11-11 17:43:59
markmark
lavenderfr97
发表于 2016-11-11 17:44:18
markmark
bingxiin8
发表于 2016-11-16 00:39:37
不错,有干颗
guzhongqi
发表于 2016-11-16 07:55:31
20061002838 发表于 2013-1-23 22:32
ADC并不怎么占用资源,定时器+ADC+DMA基本不需要COU干预,判断过零点也比较容易。用比较器的话需要增加硬 ...
换向时机不对导致的,开环启动这样的波形很正常,所以无感BLDC最难调的就是启动,而且要适应不同的启动电压。
smilepppp
发表于 2016-11-18 08:38:38
20061002838 发表于 2013-1-23 22:32
ADC并不怎么占用资源,定时器+ADC+DMA基本不需要COU干预,判断过零点也比较容易。用比较器的话需要增加硬 ...
我的波形也跟你一样,为什么会这样的,难道真的跟电机有关么,我用的也是你这个电机,我看资料上面不应该是这样的波形啊,
smilepppp
发表于 2016-11-18 13:59:11
奋进的蚂蚁 发表于 2013-9-11 23:35
楼主,从你的PWM波形分析,我发现和市面上面的控制器波形有很大出入,不如为什么,我的波形也和你的一样 ...
http://www.amobbs.com/thread-5663562-1-1.html
你好在这片帖子里面看到的,我的波形和你的一模一样,我用的也是A2212的四周电机,为什么我们的波形不是和资料上面的一样,你解决了吗,能不能告知一下,是哪里的问题,我都研究了好久了
20061002838
发表于 2016-11-18 14:43:22
smilepppp 发表于 2016-11-18 13:59
http://www.amobbs.com/thread-5663562-1-1.html
你好在这片帖子里面看到的,我的波形和你的一模一样,我 ...
我当初也是卡在这里,后面没有研究了,so,我帮不了你
你可以看下这个帖子,作者也是遇到同样的问题,他通过快速退磁解决的
http://www.amobbs.com/thread-5571972-1-1.html
cuiwei_my
发表于 2016-11-21 09:55:12
MARK{:biggrin:}
am-xgmmss
发表于 2016-11-21 11:30:46
感谢楼主分享!
hillchina
发表于 2016-11-23 17:47:25
板子在哪里能买到
lixin91985
发表于 2016-11-23 17:59:33
收藏不错的文章
shiang
发表于 2016-11-23 20:46:47
无感带载无刷电机驱动
zhcj66
发表于 2016-11-24 15:37:06
lz请问无刷电机如果只有3个电机的电源线 能否精确控制速度(1转的误差)
Xiyuhexuan
发表于 2017-1-16 13:00:50
好东西
Xiyuhexuan
发表于 2017-1-16 13:01:08
20061002838 发表于 2013-1-23 22:03
硬件讲完了,该讲软件了。
我的程序ADC检测反电动势的时刻位于PWM-OFF,由于续流时二极管的压降比较大,在 ...
mark
Xiyuhexuan
发表于 2017-1-16 13:01:33
顶 楼主
weichao4808335
发表于 2017-1-17 08:33:05
本帖最后由 weichao4808335 于 2017-1-17 08:37 编辑
楼主还在搞BLDC吗?帮忙看看我的这个反电势波形一直是正弦波很匪夷所思,我现在是使用强制换相,在pwm on时刻检测反电势
stevenh
发表于 2017-1-19 13:25:51
谢谢分享 !
就在今天
发表于 2017-1-20 13:45:59
学习了,正在研究
csy1991hf
发表于 2017-1-29 02:07:52
楼主厉害,半夜起来顶一下
lightzyg123
发表于 2017-3-23 14:28:28
谢谢分享~
upli
发表于 2017-3-29 21:34:05
极好的资料,细细学习下,谢谢了
SAILUO30
发表于 2017-4-5 09:13:18
mark!好贴!谢谢分享!
learner123
发表于 2017-4-5 21:11:14
楼主,加油,东西做的不错。
pengtaoABC
发表于 2017-4-6 04:36:24
资料很不错 学习了
xuzhiping9889
发表于 2017-6-19 11:17:26
不错,资料蛮全的
makeflyeasy
发表于 2017-7-6 16:35:38
请问下楼主的STM32的BLDC控制器是用的ST专利的那种方案吗?那么单周期多次检测是用定时器来实现的吗?
acchkr
发表于 2017-7-6 21:03:17
收藏了 多谢分享
308594151
发表于 2017-7-10 00:34:27
mark一下
我有我特色
发表于 2017-7-17 10:24:21
感谢楼主大公无私的分享,下来学习一下!
nitu
发表于 2017-7-17 19:22:27
楼主的精神我们都要发杨光大。。{:lol:} {:lol:}
多谢楼主的资料,改天一定要好好学习。
liu_shenglun
发表于 2017-7-23 19:01:50
多谢分享{:lol:}
unicode
发表于 2017-7-25 11:24:16
感謝樓主無私提供
chuanyang
发表于 2017-8-10 18:09:46
好贴,谢谢!
RudeBoy
发表于 2017-8-10 19:19:02
这是多久的好贴了
569350810
发表于 2017-8-10 22:40:48
谢谢分享~
rootxie
发表于 2017-8-11 23:29:52
本帖最后由 rootxie 于 2017-8-11 23:34 编辑
楼主还在搞吗?发现不少问题
power off 触发点在 period-100,实际上 PWM设置为25K,period=72M/25K=2880,而且ADC设置成7.5Cycle,实际一个通道需要12/14*(7.5+12.5)= 17.14us的转换时间,有6个通道扫描,DMA转换一次,共计17.14*6 = 102us 实际已经快要过了3个周期,所以造成了 换向周期不均衡
另外BEMF那块 也是非常诡异,VoltBEMF 是UINT16类型,实际上应该只要是ADC赋值 基本都是大于0
if (dir == 1)
{
if (VoltBEMF > 0)
return 1;
}
else
{
if (VoltBEMF <= 26)
return 1;
}
20061002838
发表于 2017-8-12 00:01:08
rootxie 发表于 2017-8-11 23:29
楼主还在搞吗?发现不少问题
power off 触发点在 period-100,实际上 PWM设置为25K,period=72M/25K=2880, ...
算错了吧兄弟,怎么可能转换一次要那么久
原来默认14M时钟,14个转换周期,1us时间
现在12M时钟,20个转换周期,一共慢了 14M/12M*20/14 = 1.667us,不是你算得那么多
后面一个问题你要自己研究了,我后面没有研究方波驱动了
rootxie
发表于 2017-8-12 00:15:17
20061002838 发表于 2017-8-12 00:01
算错了吧兄弟,怎么可能转换一次要那么久
原来默认14M时钟,14个转换周期,1us时间
现在12M时钟,20个转 ...
{:titter:}是算错了,是20/12=1.67,但是6个通道扫描 也要10us时间,
时间上CC4触发距离TIM1 UPDATE就100,实际也就100/2880* 1/25k = 1.39us,
说明第一个通道的ADC也没扫描完 就开始下一个PWM 了
20061002838
发表于 2017-8-12 00:33:36
rootxie 发表于 2017-8-12 00:15
是算错了,是20/12=1.67,但是6个通道扫描 也要10us时间,
时间上CC4触发距离TIM1 UPDATE就1 ...
后面3个通道的数据不需要PWM同步,所以不会造成影响
三路BEMF一共5us,25KHz 的 PWM,一个周期40us,怎么就上一次的还没转换完成下一次的PWM已经开始了
rootxie
发表于 2017-8-12 09:05:19
哥们,不好意思,昨晚睡着了,没及时回复,见示意图,一目了然
当然 如果程序我理解错的话,请见谅!
20061002838
发表于 2017-8-12 13:50:07
rootxie 发表于 2017-8-12 09:05
哥们,不好意思,昨晚睡着了,没及时回复,见示意图,一目了然
当然 如果程序我理解错的话,请见谅! ...
PWM是中心对称模式,触发ADC的时刻距离下次更新PWM还有20us左右
rootxie
发表于 2017-8-12 19:11:48
20061002838 发表于 2017-8-12 13:50
PWM是中心对称模式,触发ADC的时刻距离下次更新PWM还有20us左右
程序好像不是中央对齐模式的
20061002838
发表于 2017-8-12 21:44:48
rootxie 发表于 2017-8-12 19:11
程序好像不是中央对齐模式的
恩,是我错了,不应该使用边沿对齐模式
su33691
发表于 2017-9-26 15:01:56
把楼主的换相代码拿走了,用到有感BLDC上。多谢。
chenchunlin
发表于 2017-9-26 20:51:41
正在做类似的项目,很实用的资料
stm32_xiaocai
发表于 2018-1-4 15:21:15
tiancaigao7 发表于 2013-1-23 22:13
楼主可以考虑同步方式采样反电动势,但是不利用AD(利用AD一个是资源浪费,另外一个资源占用比较大);采用 ...
这方法不错
ronic
发表于 2018-1-6 20:05:00
好帖,谢谢FOC BLDC
No.5
发表于 2018-1-17 20:26:58
本帖最后由 No.5 于 2018-1-17 20:47 编辑
发现说的有错误
No.5
发表于 2018-1-17 20:28:49
本帖最后由 No.5 于 2018-1-17 20:47 编辑
发现说的有错误
No.5
发表于 2018-4-3 20:52:45
LiuShengAn 发表于 2013-11-6 09:24
我明白同步续流的作用,但不是整个PWM"OFF"阶段都处于续流状态。
我实际实验了一下,我觉得这个兄弟说的对。
请仔阅读他在197/199/201这三楼说的,我认为,所谓的同步整流,用不好就是刹车。
以AH-PWM,BL-ON为例,在PWMOFF期间,如果这个时间足够长,那么前半部分是续流过程,而接下来续流结束后,绕组AB工作在发电机状态,其电动势和电流方向与刚才的续流方向是相反的。如果是普通的二极管,这个能量就截住了,表现为转子在靠惯性空转。如果是AL-ON,BL-ON,那就是发电机输出短路状态。这个过程与电机、PWM频率、转速、负载都有关,也许明显,也许不明显,但肯定是不好的。
有个证据可以证明这一点:用同步整流的驱动方式,电机速度升降都很灵敏,特别是降速时。试问,这部分机械能去哪里了?在没有回馈电源的前提下,只能是消耗在绕组和功率管上了。
虽然帖子已经过气,但希望看到的还是讨论一下。
chxzh123
发表于 2018-8-25 13:00:17
MARK,好文章
jesse2012
发表于 2018-8-30 15:36:00
好文章 很长
thyewfty
发表于 2018-10-3 16:49:40
谢谢分享·{:smile:}
liwang
发表于 2018-10-6 16:32:10
用STM32F405来做, TIM_CCxCmd(BLDC_TIMER_NUM, TIM_Channel_1, TIM_CCx_Disable); // 0
TIM_OC1NPolarityConfig(BLDC_TIMER_NUM, TIM_OCNPolarity_High);
TIM_CCxNCmd(BLDC_TIMER_NUM, TIM_Channel_1, TIM_CCxN_Disable); // 0
/*PhaseB configuration 1*/
TIM_CCxCmd(BLDC_TIMER_NUM, TIM_Channel_2, TIM_CCx_Enable); // 1
TIM_CCxNCmd(BLDC_TIMER_NUM, TIM_Channel_2, TIM_CCxN_Enable);//
/*PhaseC configuration 0*/
TIM_CCxCmd(BLDC_TIMER_NUM, TIM_Channel_3, TIM_CCx_Disable); // 0
TIM_OC3NPolarityConfig(BLDC_TIMER_NUM, TIM_OCNPolarity_Low);
TIM_CCxNCmd(BLDC_TIMER_NUM, TIM_Channel_3, TIM_CCxN_Disable); // 1
像这样的没有输出
twjccmx
发表于 2018-12-2 09:48:28
最近也在研究BLDC,是我需要的
12tangyang12
发表于 2018-12-2 10:47:38
太棒了,研究研究
zcf287
发表于 2019-4-15 14:21:25
mark{:smile:}{:smile:}{:smile:}
zcf287
发表于 2019-4-15 14:28:48
mark{:smile:}{:smile:}{:smile:}
aisledianzi
发表于 2019-5-3 13:39:31
好贴!谢谢共享!
xyhh4
发表于 2019-5-3 14:15:36
20061002838 发表于 2013-1-23 22:32
ADC并不怎么占用资源,定时器+ADC+DMA基本不需要COU干预,判断过零点也比较容易。用比较器的话需要增加硬 ...
根据自己的经验,电机跑到这种波形,普通方法已经不行了,得把电机加速,产生相位差,才能过零换相成功
qqtfh
发表于 2019-8-29 14:17:49
做记号
wpp8504
发表于 2019-8-30 15:25:38
不错,还有调试心得,学习了
eastbest
发表于 2020-4-29 10:47:00
huangqi412 发表于 2015-10-4 22:41
对波形的下臂实现没看懂。 楼主意思应该是通过CCXE和CCXNE=0后输出无效电平,修改无效电平可以修改输出电 ...
OC1 和OC1N没有变化是因为你的OSSR没有置1。
“不由定时器驱动”的意思是:OC1和OC1N不再受CNT和ARR的影响,不是悬空。
eastbest
发表于 2020-4-29 10:48:58
7年前的文章,从头到尾看了一遍,收获良多,多谢楼主的分享!
eastbest
发表于 2020-4-29 11:07:43
本帖最后由 eastbest 于 2020-4-29 11:17 编辑
不知道为什么上传不了图片。。。。。
TIM_CCxCmd(BLDC_TIMER_NUM, TIM_Channel_3, TIM_CCx_Disable); // 0
TIM_CCxNCmd(BLDC_TIMER_NUM, TIM_Channel_3, TIM_CCxN_Disable); // 0
楼主用TIM_CCxCmd 和CCxNCmd这两个库函数分别把OCx和OCxN Inactive掉,OCxN引脚会出现一个窄脉冲,见下图绿色波形最右边。
更好的办法是重写一个函数同时把CCxE 和CCxNE清零
eastbest
发表于 2020-4-29 11:10:49
本帖最后由 eastbest 于 2020-4-29 11:12 编辑
图片。不勾选纯文本才可以
3466756555
发表于 2020-4-29 11:15:09
非常感谢lz 这么久的帖子 还能翻出来
经典就是经典
dlream
发表于 2020-6-10 13:48:58
学习学习
stronger123
发表于 2022-6-15 11:45:51
学习学习
lpx280666373
发表于 2022-8-7 21:32:43
好贴!谢谢共享!
lpx280666373
发表于 2022-8-29 10:40:26
拜读第二遍