timegate 发表于 2010-8-22 10:34:05

修正了一些错误后的文档,感谢所有读过和提出过意见的朋友。

点击此处下载 ourdev_576868.pdf(文件大小:4.58M) (原文件名:无感无刷直流电机之电调设计全攻略.pdf)

lijieamd 发表于 2010-8-22 11:39:28

回复【98楼】timegate 墨鸢
-----------------------------------------------------------------------

"他们的差模电压应该是可以随时比较的,而分压电路又是这两相电压的忠实按比例再现,所以比较器应该是可以一直开着的"

-----------------------------------------------------------------------
恰恰是续流的存在,导致比较器输出在某些情况下是没有意义的


这是采用上管PWM方式,PWM分别是ON 和 OFF时的电流通路
可以看到OFF时Va被钳位于-Vd(体二极管压降),忽略Rds,Vb是0,因此在忽略反电势ea和eb,中性点是-Vd/2
http://cache.amobbs.com/bbs_upload782111/files_32/ourdev_576885.JPG
(原文件名:上管PWM ON.JPG)

http://cache.amobbs.com/bbs_upload782111/files_32/ourdev_576886.JPG
(原文件名:上管PWM OFF.JPG)

这是采用下管PWM方式,PWM分别是ON 和 OFF时的电流通路
可以看到OFF时Va被钳位于Vdc(电源)+Vd(体二极管压降),忽略Rds,Vb是0,因此在忽略反电势ea和eb,中性点是Vdc+(Vd/2)
http://cache.amobbs.com/bbs_upload782111/files_32/ourdev_576887.JPG
(原文件名:下管PWM ON.JPG)

http://cache.amobbs.com/bbs_upload782111/files_32/ourdev_576888.JPG
(原文件名:下管PWM OFF.JPG)

这是采用双边PWM方式,PWM分别是ON 和 OFF时的电流通路
忽略反电势ea和eb,中性点会在Vdc/2
http://cache.amobbs.com/bbs_upload782111/files_32/ourdev_576889.JPG
(原文件名:双边PWM ON.JPG)

http://cache.amobbs.com/bbs_upload782111/files_32/ourdev_576890.JPG
(原文件名:双边PWM OFF.JPG)

可见在上管PWM调制,或者下管PWM调制时,PWM OFF态初期,悬浮相电压是没有意义的,因为它们被钳位了,自然也就不能体现反电势了

可能理论有一定偏差,或者不能令人信服,还不足以说明问题,那么我用实践来证明我的观点
这是我以大约20%PWM,下管PWM调制方式的测试波形,蓝色是分压后的中性点,黄色是分压后的相电压
第一张图片可以明显的看到两种颜色的曲线有一个上升交叉过零事件,大体上看好像是在过零之前蓝色大于黄色(这是我们所期望的),但是请看放大以后的第二张图,明显在每个PWM OFF初期,蓝色被钳位到比黄色还小
http://cache.amobbs.com/bbs_upload782111/files_32/ourdev_576911.JPG
(原文件名:中性点与悬浮相.JPG)

http://cache.amobbs.com/bbs_upload782111/files_32/ourdev_576912.JPG
(原文件名:中性点与悬浮相2.JPG)

zzy9903 发表于 2010-8-22 14:04:14

超级大作呀,非常感谢楼主。

af00 发表于 2010-8-22 14:12:16

谢谢

xj_1232005 发表于 2010-8-22 17:07:21

lijieamd兄实验功底很强啊。照这样看,比较器如果一直处在比较工作状态是不对的了。因为在上管PWM,下管ON的工作模式中,会带来过零误判的问题。我得去看看4AXIS的BL-CTRL实际代码,再来讨论。

xj_1232005 发表于 2010-8-22 18:05:51

【楼主位】 timegate 墨鸢

攻略的69页中间原文如下:
-------------------------------------------------------------------------------------------------------------

(2)第334~446行:测试六个MOSFET 的短路特性。
(main.c的void MotorTon(void)函数的第334~346行有两个用意:一是看看是否有管子已被击穿,二是看看场效应管的开关特性是
否足够陡峭。现分析如下:第336,337行打开A相的下单臂(即NA-管),并测一下电流。此时,电流应该是极小,但是如果测到大电流,则说明NA+管已是击穿状态。然后第338~340行先关断所有管,然后延时一下,再打开A相的上单臂,在第341行测电流时也应该是极小,如果测到大电流,说明可能有两种情况:1. NA-场效应管已是击穿状态,2. NA-场效应管的下降沿过于缓慢,以至于NA+都打开了,NA-还没彻底关断。如果测到大于0.5A的大电流,不管哪种情况,都会在343行将局部变量anz设为4,表明故障点,并通过串口发给上位机。
--------------------------------------------------------------------------------------------------------------------

V0.41版本BL-ctrl相应代码如下:
334: for(i=0;i<t;i++)
335:    {
336:      LOW_A_EIN;
337:      DelayM(1);
338:      FETS_OFF;
339:      Delay(5);
340:      HIGH_A_EIN;
341:      DelayM(1);
342:      FETS_OFF;
343:      if(Strom > grenze + RuheStrom) {anz = 4; uart_putchar('4'); FETS_OFF; break;}
344:      Delay(5);
345:    }
346:Delay(10000);

此段代码用来测试NA+与NA-场效应管是否已坏。但是337行调用DelayM(1)测NA-场效应管单独导通时电流,341行同样调用DelayM(1)测试NA+场效应管单独导通进电流。而DelayM(1)的返回值并没有利用起来(有利于判断是上管还是下管)。另外,343行的判断是有问题的。因为如果337行的检查没有通过,但341行的检测通过了,即上管的strom不满足> grenze + RuheStrom,但下管的strom满足> grenze + RuheStrom满足,则此段程序仍然视为通过检测。所以,如果上管导通时,电流变大,说明下管关断能力不强或是已坏。当关断上管,轮到发信号给下管使其导通时,尽管可能下管已坏,但如果上管关断得好,此时测得电流并不大。会被视为A的上下管都没有问题,通过。实际上上管存在问题。这个可能性是存在的。

所以,判断语句最好应使用上下管测得的最大电流值作为判断依据。即343行判断语句中不应使用Strom,而应使用Strom_max,而且在使用前和使用后应对Strom_max清零。以便取得的是A管上下管测试时取得的最大电流值,且在对B管进行测试前清零。

以上不知妥否?

timegate 发表于 2010-8-22 21:24:06

回复【103楼】lijieamd
-----------------------------------------------------------------------

你的实验确实做得比我细,这里佩服一下 :)

回帖中上半段所说的续流状态我完全同意,我也是这么理解的,但最后2张图中有若干不明之处,还望指教。1.悬浮相的电压由于二极管的钳位作用可以突变,这个没问题,但为什么电压Vc不能突变,是否因Coes电容的原因才导致Vc不能突变?2.如果在每个PWM OFF期间,Vc都会超过悬浮相的话,那MK的程序应该早出问题了,不知为何还可以运行?(我目前正在分析另一个德国人Bernhard Konze写的开源电调代码,不过那是汇编写的,相信比较完这两个电调代码后应该可以解释这个问题)。3. 倒数第二张图中的蓝色曲线的波峰为何呈吊桥型?

另外,看了你倒数第二张图中的消磁事件的波形,我认为我对MK如何消除“消磁事件”这段代码的理解可能也有问题,等比较完Bernhard Konze的代码后再作计较。很感谢你的回帖,能让我们对事物本质的理解和探讨更加深一层。

timegate 发表于 2010-8-22 21:33:15

回复【107楼】xj_1232005
-----------------------------------------------------------------------

说的对,我也认为337行那句DelayM(1)写的有些莫名其妙。姑且只能这么认为,MK这个BL-Ctrl的代码是经过多次修改而进化来的,期间留下了很多老版本未消除干净的痕迹,而MK的作者并没有花大力气对BL-Ctrl这个模块上的程序作优化。上面已提到,我正在分析Bernhard Konze的电调代码,等看完,有了比较后,应该可以对MK的代码作一个比较客观的评价。

lijieamd 发表于 2010-8-23 00:13:34

回复【108楼】timegate 墨鸢
-----------------------------------------------------------------------

1.因为在续流期间(PWM OFF初期),整个回路为电流通路,中性点电压仅仅由A,B相反电势,A,B相内阻,续流电流大小来决定,因此在关断瞬间,是连续电流,但是是突变电压,而此时悬浮相是断路,悬浮相通过场效应管CDS与GND相连,因此悬浮相是电压连续,电压无法突变

2.MK的电调貌似不是同步检测,而是采用相电压低通滤波,因此不存在这些问题,况且还有众多软件滤波可以选用(典型如 择多滤波),
这个问题仅仅在同步检测时才需要考虑

3.因为是三相电机,三相反电势理想情况下应该是三个相位相差120度的正弦波,因此满足 Ea+Eb+Ec=0
在PWM ON态,中性点电压是 VCC/2 - (Ea+Eb)/2, 而在一个完整的周期中,显然Ea+Eb会出现一次最大值和一次最小值
最大的值出现在Ec为最小的时候(从Ea+Eb+Ec=0 这个等式可以显然看出),从图上看就是黄色反电势最小的时候,
因此这个时候 VCC/2 - (Ea+Eb)/2 出现最小
其实也就是两个相位差120度的正弦波叠加而已,分析一个极值应该就可以弄明白了

(两个通道由于pwm太密集,有些地方出现重叠,请自行脑内删除)
http://cache.amobbs.com/bbs_upload782111/files_32/ourdev_577063.JPG
(原文件名:中性点与悬浮相3.JPG)

xj_1232005 发表于 2010-8-23 00:15:04

攻略的69页第二部分从(3)标题倒数3行:
    “之后365~363行”
应改为
    “之后的348到363”。
------------------------------------------------
只是觉得文章写得太好,不忍心看到瑕疵而已。

xj_1232005 发表于 2010-8-23 07:47:30

【100楼】 timegate 墨鸢
关于us级的延时,有一点不同的想法
-----------------------------------------------------------------------

又看了一下源代码,觉得你说的没错,这里毫秒级的最大延时确实只能达到0x7FFF,微秒级的延时也只能达到127,谢谢指正!

-------------------------------------------------------------------------------------
us级的算法是{(CountMilliseconds当前值+要延时的时间t-1)-CountMilliseconds不断递增的当前值},这个结果的最高位为1时即认为延时时间已经到了。

以四位二进制数为例:

延时时间            T0(us级)
t               CountMilliseconds(当前值)                  
0b1000                     0b0010                           

有0b0010+0b1000-0b0001=0b1001

在CountMilliseconds跳变到0b1001前,都有{(CountMilliseconds当前值+要延时的时间t-1)-CountMilliseconds不断递增的当前值}的结果的最高位为0
在CountMilliseconds跳变到0b1001时,结果仍然为0.
直到CountMilliseconds跳变到0b1010时,结果才为1.
所以貌似延时五位二进制数的一半可以满足要求。
如果以上分析正确,则延时17位进制数的一半时间即0x8000,仍然是满足要求的。

liumapple 发表于 2010-8-23 10:12:25

mark

librae8226 发表于 2010-8-23 10:29:55

学习学习

whitelight 发表于 2010-8-23 10:46:42

mark

maxwell_lee 发表于 2010-8-23 11:20:07

非常不错的东西,很少有人能静下来写这些东西,嘿嘿。

kaesi0 发表于 2010-8-24 16:44:38

好资料 不得不顶起

timegate 发表于 2010-8-24 18:22:32

回复【110楼】lijieamd
-----------------------------------------------------------------------

多谢,我再仔细想想。

timegate 发表于 2010-8-24 18:27:12

回复【112楼】xj_1232005
-----------------------------------------------------------------------

呵呵,最近好像我的疏漏很多呀,-1看漏掉了,0x8000应该是可以的;MK的代码隔了一段时间没看,都有些生疏了。

以后等我的Bernhard Konze的电调代码分析出来,也请你来抓BUG哦:p

dpedison 发表于 2010-8-26 20:02:00

回复【10楼】flyunlimit飞行无极限
-----------------------------------------------------------------------

请问下
mk开环起动:定位,加速,换向,循环一段时间后切换到比较中断,进入闭环控制。
    问题是一开始启动时电机堵转,启动时间结束,此时电机未转动,转子内部发出杂音,应该是电流的作用,我试过在堵转时第二次在启动,还是不行
这时候该怎么处理呢, 另外开环的话是不是无法满足所有电机的启动,
    现在就是启动成功率不高,时常有卡住的情况

dpedison 发表于 2010-8-26 20:02:47

回复【楼主位】timegate墨鸢
-----------------------------------------------------------------------
请问
mk开环起动:定位,加速,换向,循环一段时间后切换到比较中断,进入闭环控制。
    问题是一开始启动时电机堵转,启动时间结束,此时电机未转动,转子内部发出杂音,应该是电流的作用,我试过在堵转时第二次在启动,还是不行
这时候该怎么处理呢? 另外开环的话是不是无法满足所有电机的启动?
    现在就是启动成功率不高,时常有卡住的情况

avrwoo 发表于 2010-8-26 20:32:48

mark

yulongkui 发表于 2010-8-26 21:24:50

看来作者花了很多精力,致敬!

xj_1232005 发表于 2010-8-26 22:37:28

回复 【119楼】 timegate 墨鸢
----------------------------------

好,My pleasure.

BLDC2010 发表于 2010-8-27 14:03:16

好贴,顶

Meteora 发表于 2010-8-27 15:32:43

牛叉的四轴.

ChenHaoran 发表于 2010-9-1 22:39:51

谢楼主强帖,让我们做电调快速入门。不加酷对不住楼主啊。

jiangjx 发表于 2010-9-2 17:02:59

很好的东西 正用得着
非常感谢!

bluemouse 发表于 2010-9-3 14:40:20

丁顶啊。

bluemouse 发表于 2010-9-4 14:04:57

赞扬楼主的精神,如果每个人都能像楼主这样讲的精辟,我想我们国家的技术和研发能力肯定能提高的很快。

yuyutiantang 发表于 2010-9-4 15:09:33

谢谢LZ的分享,希望以后还有更多的像LZ这样的人。

ilawp 发表于 2010-9-7 11:09:26

mark

jaylondon 发表于 2010-9-10 17:05:47

刚接触电调,看来读完楼主这本应该会有理解了吧!

orange191905 发表于 2010-9-17 00:03:25

诚挚的感谢

springvirus 发表于 2010-9-17 12:35:35

无感无刷直流电机之电调设计全攻略.pdf下来这个文件才1.03M,而且损坏,打不开啊!

humy 发表于 2010-9-30 16:06:13

真的是太好资料了,哈哈,感谢LZ

whyjld 发表于 2010-9-30 16:51:42

学习。
十分感谢

wangma 发表于 2010-10-2 00:44:48

能找到这个论坛真是幸运,看到这么多高手

muziyusx 发表于 2010-10-5 10:18:09

楼主写的太好了,

yywin 发表于 2010-10-5 12:07:09

mark

hdragon627 发表于 2010-10-8 22:34:41

有个文字错误,六臂全桥驱动电路原理那里,

有个Q2Q2

应该是Q1Q2吧

326498096 发表于 2010-10-8 22:56:18

真的是太好资料了,哈哈,感谢LZ

fy024 发表于 2010-10-8 23:26:16

mark

wangyj173 发表于 2010-10-9 12:38:29

这个绝对要顶!

LoHasMan 发表于 2010-10-10 14:51:54

强帖留名

balcoyang2010 发表于 2010-10-15 01:36:38

看完了资料,有空做个60A的试试。

polar 发表于 2010-10-15 05:30:17

好资料 马克一下

mxfahm 发表于 2010-10-15 08:31:24

mark

PEcontrol 发表于 2010-10-15 10:17:25

mark

XiangZhiDZ 发表于 2010-10-16 13:24:38

先mark,等学习后再来回复。

sbdyq1988 发表于 2010-10-16 14:40:29

很不错

will727 发表于 2010-10-16 18:38:40

非常好,我开始在电调地址那也犯错了,看了这篇文档才发现问题

syzywc 发表于 2010-10-22 19:13:58

作为新人,一定要顶

chenmodebu 发表于 2010-10-23 16:53:06

一定会仔细拜读。。

DigiCat 发表于 2010-10-25 11:45:10

回复【楼主位】timegate 墨鸢
-----------------------------------------------------------------------

膜拜下

lusen 发表于 2010-10-25 17:59:45

非常正点 非看不可

denglu 发表于 2010-10-25 20:58:35

mark

elphen 发表于 2010-10-29 11:42:19

好人,好贴,谢谢分享

zhuhongjun 发表于 2010-10-29 13:42:25

MARK!

303310116 发表于 2010-10-29 19:50:22

多谢LZ了,虽是新手菜鸟,先下载学习!赞LZ

skyxjh 发表于 2010-10-31 11:31:30

讲得很透彻

outt60777 发表于 2010-11-1 08:31:31

写的太好了!!!!!!!!!!

westssd 发表于 2010-11-5 12:47:47

顶,准备学习

Eworm001 发表于 2010-11-5 14:26:33

回复【165楼】westssd
-----------------------------------------------------------------------

开工

mige062 发表于 2010-11-5 14:34:49

谢谢LZ的分享,希望以后还有更多的像LZ这样的人

jia1983 发表于 2010-11-5 15:22:47

感谢楼主分享!此精神能鼓励更多的人!

ccmj4708 发表于 2010-11-5 16:03:49

感谢楼主分享

wzr200408 发表于 2010-11-7 21:43:13

MARK

geshanyou 发表于 2010-11-7 23:00:13

好帖子呀!顶……

xhdzwzj 发表于 2010-11-10 13:05:27

顶一下

marty_f 发表于 2010-11-11 01:10:53

电调,简单而深奥

zjuhefeng 发表于 2010-11-11 15:10:10

mark

xiebo 发表于 2010-11-18 21:10:20

中国的希望,看完楼主的序,看完楼主呕心沥血的资料不赞不是人。楼主渊博,扎实,心广,不仅功夫好思想更高。

zyw19987 发表于 2010-11-22 17:17:35

好人,好贴
谢谢

joycat 发表于 2010-11-22 21:08:17

好贴就要狂顶~~~

AG17 发表于 2010-11-23 12:38:32

牛人

xxjs 发表于 2010-11-23 12:55:42

学习了

lbq12535 发表于 2010-11-25 22:56:47

对有心人的回帖也该用心。先下载文档,仔细看过再做评论。谢谢楼主。

fzy_666 发表于 2010-11-29 15:43:34

真心谢过楼主

qdsywh 发表于 2010-11-30 20:20:27

mark

gmcg 发表于 2010-11-30 21:04:03

顶起来,谢谢lz了!!!

linhuaou 发表于 2010-11-30 21:57:20

mark

bluelool 发表于 2010-12-2 09:17:04

菜鸟学飞

sai_chen 发表于 2010-12-2 12:56:27

强人啊,学习学习~~!

albert_lu 发表于 2010-12-7 16:26:54

mark

haso2007 发表于 2010-12-7 16:46:16

真希望自己也能做点创新的东西出来和大家共享,
感谢楼主

bd4sad 发表于 2010-12-7 18:37:45

mark

bd4sad 发表于 2010-12-7 18:55:01

刚才拜读了楼主的文章,真是用心了!佩服

rubinrubin 发表于 2010-12-9 20:34:05

好帖,必看的

zhuml2010 发表于 2010-12-10 15:12:41

我太佩服楼主了,这样的态度还有什么做不成功啊,顶

cjc2010 发表于 2010-12-11 13:09:06

mark

luojiyin 发表于 2010-12-11 16:58:13

学习

piaotianxia 发表于 2010-12-11 17:04:27

MARK

yanrz 发表于 2010-12-12 23:22:26

关注一下!!!!
想学习下!
佩服啊!

yanrz 发表于 2010-12-13 10:32:58

楼主实在是太厉害了,什么时候我也弄个无刷电机回来玩玩,到时候这篇文章就成了我的入门指导了!
多谢楼主!
辛苦了!

nison 发表于 2010-12-13 21:08:04

好帖就要顶啊,潜水半年了,很少发言,不过看到楼主的无私,也要出来支持下。无奈的是,莫老大,俺的身份咋还是正在审核呢

Chester 发表于 2010-12-15 17:42:48

谢了啊

gongyi 发表于 2010-12-30 15:46:45

非常感谢楼主,为新手的快手入门做出了巨大的贡献。

6liang 发表于 2010-12-30 16:53:04

唉 好帖子 忍不住想学了

hendeli909 发表于 2010-12-31 13:14:56

谢谢!

leoyang 发表于 2010-12-31 14:47:26

粗粗的看了一下目录,就知道楼主做学问的态度和分享的精神,令人感动
在下也有一个站长加裤的贴,连接出来,算是回报一下吧
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3753122&bbs_page_no=1&search_mode=4&search_text=ziiip&bbs_id=9999
感谢楼主的分析,加油
页: 1 [2] 3 4 5 6 7 8 9 10
查看完整版本: 写给四轴新人:无感无刷直流电机之电调设计全攻略