5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)

标题: 自己DIY的无刷电机和控制器 [打印本页]

作者: yqxyqx    时间: 2006-4-14 00:32
标题: 自己DIY的无刷电机和控制器
用普通有刷电机该装的无刷电机和用89C2051做的控制器

电机照片:






原来打算用霍尔元件来控制的,所以电机上面粘了3个霍尔元件(那堆细线就是霍尔元件的引出线),现在改成检测感应电动势的方法了,但粘上去的东西就没拆下来了,呵呵!:em15::em15:
转动时的照片:

控制器照片:

为什么叫控制器呢?因为目前还没编写调速的程序,只能控制正转和反转,不能调速。把程序改一下就可以实现调速了。
明天再把电路图和程序发上来。

[ 本帖最后由 yqxyqx 于 2006-4-14 00:42 编辑 ]
作者: copy0080    时间: 2006-4-14 00:42
真是太好了,功德无量,好人一生平安!!!!!!!!!!!!!!!!!
作者: bymxd    时间: 2006-4-14 07:41
顶!!!!!!!
作者: xxff    时间: 2006-4-14 09:41
无感外转子!外转子上的磁钢是原来的两极的磁铁吧!旁边是个电容吗?
作者: h4014    时间: 2006-4-14 11:19
能发张图纸吗?各器件型号,我也想试试。谢了
h4014@163.com
作者: CRITERIA    时间: 2006-4-14 12:30
好手 ................
作者: alkkk    时间: 2006-4-14 13:15
好...............
作者: etticheung    时间: 2006-4-14 13:32
好啊!善心人技術分享交流,值得支持,支持!
作者: cljtm    时间: 2006-4-14 14:08
坚决支持楼主的DIY精神!!!!
作者: pinguo    时间: 2006-4-14 14:13
支持!! DIY乐趣如此
作者: yqxyqx    时间: 2006-4-14 17:15
电路图:

单片机暂时用89C2051,实验成功后可以改成性能更好的宏晶(STC)的12C2052,12C2052内部结构、引脚跟89C2051的差不多,指令跟89C2051完全相同,但晶振信号不经过12分频,直接就是工作时钟,因此速度快的多,而且最高可以上到35M,比AVR的还快。如果是12C2052AD还带有AD转换功能,价钱比2051还便宜。我手头上的89C2051比较多,所以实验就先用89C2051。

[ 本帖最后由 yqxyqx 于 2006-4-14 18:06 编辑 ]
作者: yqxyqx    时间: 2006-4-14 17:32
驱动电路实验时也暂时用三极管,因为场效应管比较容易损坏,价格又贵。
这次实验就发生过程序出错造成同一相的一对管子同时导通,持续了20多秒钟,如果是场效应管的话早烧了。
当然三极管的驱动能力确实太差了,电流2A时居然有2V多的压降,电源只用了4节镍氢电池,电压才4.9V左右,一半电压都让三极管给吞掉了。实验完后要换成场效应管。
作者: yqxyqx    时间: 2006-4-14 17:41
感应电动势过零检测由4电压比较器LM339来完成,电路是从网上找到的,目前一些廉价的无刷电调也用这种电路。这里只用了3个电压比较器,剩下1个可以用来做电源电压过低检测,现在还在实验的初级阶段,先不考虑了。
作者: yqxyqx    时间: 2006-4-14 17:58
这个电路现在已经能让无刷电机正转和反转,除了图中自己做的无刷无刷外,还能让铃铛、CD无刷和红薯2030内转子无刷转起来,是通过按键来控制的,要求不高的话可以用来改装开关通的道玩具车为无刷。完善程序后应该可以调速,不过需要时间。
晚上我把现在的程序整理一下,发上来。
程序比较长哦,版主不会以为我故意刷屏而删我的贴吧!!!:em15::em15::em15::em15:
资料我可是整理得很辛苦的喔!今天白天上班时间我一直在画电路图,幸亏领导没看见,否则我可就惨了!!:em06::em06:
作者: alkkk    时间: 2006-4-14 18:26
学习中....................
作者: 转速    时间: 2006-4-14 18:41
原帖由 yqxyqx 于 2006-4-14 17:58 发表
这个电路现在已经能让无刷电机正转和反转,除了图中自己做的无刷无刷外,还能让铃铛、CD无刷和红薯2030内转子无刷转起来,是通过按键来控制的,要求不高的话可以用来改装开关通的道玩具车为无刷。完善程序后应该可 ...




欢迎共享,支持DIY,不但不删,准备给你加精呢。
作者: lgq5106    时间: 2006-4-14 18:51
希望各位支持,并对驱动程序中的问题提出改进意见.
目前发现的问题是,用检测感应电动势控制比用霍尔元件控制转动速度慢些,估计是程序设计引起的.
作者: cainiao    时间: 2006-4-14 19:57
这样得帖子是一定要顶地!
作者: palm    时间: 2006-4-14 20:04
顶!严重支持DIY!!
作者: ESC_RC    时间: 2006-4-14 20:26
顶!,..................
作者: wcdsxm    时间: 2006-4-14 20:38
真有能人啊,佩服佩服!!!
作者: yqxyqx    时间: 2006-4-15 02:45
标题: 程序来了
;定义各驱动端口
AXZ BIT P3.7   ;P3.7为A线圈接电源正极控制端
;按照本电路的接法,当P3.7为低电位时(P3.7=0),驱动A线圈的三极管TIP42导通,A线圈接到电源正极
;当P3.7为高电位时(P3.7=1),驱动A线圈的三极管TIP42截止
;
AXF BIT P1.0   ;P1.0为A线圈接电源负极极控制端
;当P1.0为低电位时(P1.0=0),驱动A线圈的三极管TIP41导通,A线圈接到电源负极
;
BXZ BIT P1.1   ;P1.1为B线圈接电源正极控制端
;当P1.1为低电位时(P1.1=0),驱动B线圈的三极管TIP42导通,B线圈接到电源正极
;
BXF BIT P1.6   ;P1.6为B线圈接电源负极控制端
;当P1.6为低电位时(P1.6=0),驱动B线圈的三极管TIP41导通,B线圈接到电源负极
;
CXZ BIT P1.5   ;P1.5为C线圈接电源正极控制端
;当P1.5为低电位时(P1.5=0),驱动C线圈的三极管TIP42导通,C线圈接到电源正极
;
CXF BIT P1.7   ;P1.7为C线圈接电源负极极控制端
;当P1.7为低电位时(P1.7=0),驱动C线圈的三极管TIP41导通,C线圈接到电源负极
;
;定义各探测端口
ADUAN BIT P1.2   ;P1.2为A线圈感应电动势检测端
BDUAN BIT P1.3   ;P1.3为B线圈感应电动势检测端
CDUAN BIT P1.4   ;P1.4为C线圈感应电动势检测端
;定义各按键端口
ZZHUAN BIT P3.5  ;P3.5为正转控制端口
FZHUAN BIT P3.4  ;P3.4为反转控制端口
STOP BIT P3.3    ;P3.3为停转控制端口
;以上端口可以根据实际情况自行设置
;********
;
ORG 0
JMP START
;
ORG 0BH
JMP SUBTIMER0
;********
;初始化程序
START:
MOV SP,#65H
MOV TMOD,#1
MOV IE,#10000010B
MOV P1,#0FFH
MOV P3,#0FFH
MOV R6,#0
MOV R7,#0
;********
;按键检测程序
KONGZHI:
SETB AXZ
SETB AXF
SETB BXZ
SETB BXF
SETB CXZ
SETB CXF
;以上指令作用是将各驱动端口拉到高电位,即不驱动各推动管,让所有线圈断电
JNB ZZHUAN,ZZHUAN0  ;如果“正转”按钮被按下,则跳至正转部分程序
JNB FZHUAN,FZQD00   ;如果“反转”按钮被按下,则跳至反转部分程序
JMP KONGZHI         ;如果上述按钮未按下,则返回并重新检测
;********
;下面两条指令起跳板作用。
;JNB指令的跳转范围是前、后128个地址,
;如果超过这个范围,可以先跳到一个较近的地址,
;再由这个地址跳到最终的目的地址。
FZQD00:
JMP FZHUAN0
;********
;正转程序
;正转程序的第一相序
ZZHUAN0:
SETB CXZ
SETB AXF
;以上两条指令的作用是让上一相序的通电的线圈断电
CLR TR0    ;取消上一相序中还未产生的定时中断。为什么用到定时器中断呢?下面再解释
JNB STOP,KONGZHI   ;如果“停止”按钮被按下,则返回按键检测程序,电机停止转动
CLR AXZ    ;将A线圈接到电源的正极
CLR BXF    ;将B线圈接到电源的负极
;给A、B线圈通电,电流方向:从A流到B。到这里本相序才真正开始
MOV TL0,R6  ;将R6寄存器的数值传给TL0寄存器
MOV TH0,R7  ;将R7寄存器的数值传给TH0寄存器
;上面两条指令实际上决定了产生定时中断的时间长短
SETB TR0    ;启动定时器0中断
;采用定时中断的主要目的是为了以后进行调速作准备
;假如再检测到换相之前就让原来的线圈断电,那么电机的转速就要比换相前线圈一直通电要慢。
;而且通电时间越短,转速就越慢。
;因此,适当改变线圈在换相前通电时间的长短,就可以改变电机的转速,这就是无刷调速的原理。
;在定时中断子程序中,关闭了所有的驱动,也就是给所有的线圈都断了电。
;这样,我们只要适当改变R6、R7的数值就可以改变这一相序中线圈在达到换相位置前通电时间的长短,从而达到调速的目的。
;如果想让电机达到最大转速,只要让线圈在换相前一直通电就行了,
;即定时中断的时间大于线圈从通电到换相所需时间就行了。
;比如说我们可以把定时中断的时间设为定时器的最长定时时间,即R6=0,R7=0。
;在本程序开始时,就把R6和R7设为0,后面一直没有改变,因此电机转动稳定后就是最高转速。
;另外,在电机启动时,由于转速很低,也应该把R6和R7设为0。
;如果在换相后,还没产生定时中断,应该取消定时中断,以免对电机正常转动产生影响,
;因此,在每一相序开始时,都应该取消上一相序中还未产生的定时中断。
CALL DELAY   ;调用延时子程序
;DELAY是一个时间很短的延时子程序。
;为什么要延时呢?
;因为线圈在刚通电时,电流从无到有,变化非常大,
;这样会在不通电的线圈,也就是检测感应电动势过零信号用于换相控制的线圈,产生较强的感应电动势,
;这样就会产生错误的换相信号,使电机停传。
;前面的第4、5条指令刚给线圈通电,虽然隔了3条指令,但时间还是太短,
;因此要延时一段时间才能进入下面的检测换相信号的指令。
;但延时的时间也不能太长,不能都过了换相位置了延时还没完,
;因此延时时间比较短。
;
;从以下位置一直到正转程序的第二相序前的几条指令是检测换相信号用的。
;利用感应电动势检测无刷电机换相位置原理:
;举例来说,例如:当A线圈和B线圈通电时,最多能让转子转到一个特定位置,
;在这个位置有一个特点:C线圈中的感应电动势为0,
;转过这个位置后,C线圈中感应电动势跟没转过之前相反。
;如果我们检测到C线圈中的感应电动势方向发生变化,就说明应该换相了。
;利用电压比较器我们可以检测出线圈感应电动势的正或负。
;按照本电路的接法,当线圈中感应电动势为正时输出高电平,感应电动势为负时输出低电平。
;如果比较器输出原来是高电平,那么当它变为低电平时,就应该换相了;
;或者比较器输出原来是低电平,那么当它变为高电平时,就应该换相了。
JB CDUAN,ZZHUAN02   ;如果C线圈的感应电动势为正,则跳转至ZZHUAN02等待感应电动势变为负
ZZHUAN01:
JB CDUAN,ZZHUAN1    ;否则等待C线圈感应电动势变为正就跳到下一相序。
JMP ZZHUAN01        ;感应电动势没有变为正,则跳回上一条指令,继续检测。
ZZHUAN02:
JNB CDUAN,ZZHUAN1   ;等待C线圈感应电动势变为负就跳到下一相序。
JMP ZZHUAN02        ;感应电动势没有变为负,则跳回上一条指令,继续检测。
;第二、第三相序的原理跟第一相序原理相同,只是通电线圈不同而已,这里就不做解释了。
;正转程序的第二相序
ZZHUAN1:
SETB AXZ
SETB BXF
CLR TR0
JNB STOP,KONGZHI
CLR BXZ
CLR CXF
MOV TL0,R6
MOV TH0,R7
SETB TR0
CALL DELAY
JB ADUAN,ZZHUAN12
ZZHUAN11:
JB ADUAN,ZZHUAN2
JMP ZZHUAN11
ZZHUAN12:
JNB ADUAN,ZZHUAN2
JMP ZZHUAN12
;正转程序的第三相序
ZZHUAN2:
SETB BXZ
SETB CXF
JNB STOP,JMPKONGZHI
CLR TR0
CLR CXZ
CLR AXF
MOV TL0,R6
MOV TH0,R7
SETB TR0
CALL DELAY
JB BDUAN,ZZHUAN22
ZZHUAN21:
JB BDUAN,ZZHUANEND
JMP ZZHUAN21
ZZHUAN22:
JNB BDUAN,ZZHUANEND
JMP ZZHUAN22
ZZHUANEND:
JMP ZZHUAN0
;正转程序结束
;********
;下面两条指令也是起跳板作用
JMPKONGZHI:
JMP KONGZHI
;********
;延时子程序
DELAY:
MOV R2,#100
DJNZ R2,$
RET
;********
;反转程序
;反转的原理跟正转的相似,只是相序不同而已,这里也不详细介绍了。
;反转程序的第一相序
FZHUAN0:
SETB BXZ
SETB AXF
CLR TR0
JNB STOP,JMPKONGZHI
CLR AXZ
CLR CXF
MOV TL0,R6
MOV TH0,R7
SETB TR0
FZHUAN00:
CALL DELAY
JB BDUAN,FZHUAN02
FZHUAN01:
JB BDUAN,FZHUAN1
JMP FZHUAN01
FZHUAN02:
JNB BDUAN,FZHUAN1
JMP FZHUAN02
;反转程序的第二相序
FZHUAN1:
SETB AXZ
SETB CXF
CLR TR0
JNB STOP,JMPKONGZHI
CLR CXZ
CLR BXF
MOV TL0,R6
MOV TH0,R7
SETB TR0
CALL DELAY
JB ADUAN,FZHUAN12
FZHUAN11:
JB ADUAN,FZHUAN2
JMP FZHUAN11
FZHUAN12:
JNB ADUAN,FZHUAN2
JMP FZHUAN12
;反转程序的第三相序
FZHUAN2:
SETB CXZ
SETB BXF
CLR TR0
JNB STOP,JMPKONGZHI1
CLR BXZ
CLR AXF
MOV TL0,R6
MOV TH0,R7
SETB TR0
CALL DELAY
JB CDUAN,FZHUAN22
FZHUAN21:
JB CDUAN,FZHUAN0
JMP FZHUAN21
FZHUAN22:
JNB CDUAN,FZHUAN0
JMP FZHUAN22
;********
;
JMPKONGZHI1:
JMP KONGZHI
;********
;定时器中断子程序
SUBTIMER0:
CLR TR0   ;取消定时中断
SETB AXZ
SETB AXF
SETB BXZ
SETB BXF
SETB CXZ
SETB CXF
;上面6条指令的作用是给所有线圈断电
MOV R2,#100
DJNZ R2,$
;上面2条指令起延时作用,
;线圈断电时,同样也会在别的线圈中产生感应电动势,
;所以也要延时再返回。
RETI
;
END
作者: yqxyqx    时间: 2006-4-15 02:51
好辛苦啊,搞到半夜三更才整理完!!!好不容易到了双休日,却不得上网、玩游戏!!@@:em25::em25:
版主是不是考虑一下加精啊。:em15::em15:

[ 本帖最后由 yqxyqx 于 2006-4-15 03:27 编辑 ]
作者: yqxyqx    时间: 2006-4-15 03:25
程序是汇编语言的,加了比较详细的注释。
    为了加这些注释,可把我累坏了,如果能对大家有所帮助的话,那也就值了。
    大家把程序复制下来,粘贴到Keil uVision2里的ASM文件里,再编译就可以形成HEX文件烧录单片机了。
    大家看一下还有什么需要改进的地方,欢迎多提意见,大家共同学习共同进步!
    现在最主要的问题是:
    其实感应电动势过零位置并不是最佳换相位置,因为此时原来通电的线圈对转子磁极的合推力为零,而将要通电的线圈对转子磁极的合推力已经变得比较小,这样一来,电机转动时的扭矩较小。
    如果能将换相的位置提前一些的话,效果就好很多了,原来通电的线圈对转子磁极的合推力还没减少到零,而将要通电的线圈对转子磁极的合推力也比较大,这样电机转动得就更稳定,扭矩也更大。
    如果改用霍尔元件来检测,效果就好得多,霍尔元件检测出来的就是最佳的换相位置。
    比如说,我用普通有刷电机改装的无刷,原来就是用霍尔元件检测换相位置的,在同样的电池,同样的驱动电路的条件下,空载电流只有500多mA,而改用感应电动势过零检测后,空载电流高达接近1A,而转速、扭矩反而小了一些。
    我不知道如何得到最佳的换相位置。
作者: yqxyqx    时间: 2006-4-15 03:33
夜已深,不说什么了,睡觉去!忙了大半天,累死了!!!!
作者: tony7078    时间: 2006-4-15 10:48
PIC单片机没有AVR快
虽然都是8位精简指令的
但是AVR的性能要比PIC好的多
ATMEL公司就是照着PIC做的AVR所以
推荐用AVR
尤其是MAGA8
内部集成运算放大器
不用外接339
作者: hanchaos    时间: 2006-4-15 11:47
辛苦辛苦,佩服佩服!!
对于提前角你可以根据反馈的转速和无刷电机转子和磁极数试着编写以下啊,比如根据现在的转速决定下次换向提前五度看看效果,实验出最佳提前角,不过这是对特定无刷电机的最佳位置。:)
作者: RENAULT    时间: 2006-4-15 13:31
不远千里赶来拜一下楼主

作者: FreedomEagle    时间: 2006-4-15 18:46
楼主厉害,辛苦了,顶起!
作者: 玟珑    时间: 2006-4-15 20:34
标题: 小弟我佩服得五体投地
:em26::em26::em26::em26::em26:
作者: yqxyqx    时间: 2006-4-15 20:43
原帖由 tony7078 于 2006-4-15 10:48 发表
PIC单片机没有AVR快
虽然都是8位精简指令的
但是AVR的性能要比PIC好的多
ATMEL公司就是照着PIC做的AVR所以
推荐用AVR
尤其是MAGA8
内部集成运算放大器
不用外接339

PIC单片机????
89C2051用的是51系列的单片机。
我也知道MAGA8好,但我手头上没有空闲的啊!
我们这里电子元件的价格特别高,特别是AVR的单片机,我去年买了3片MAGA8-8PI,每片18元,一片MAGA48-20PI,用了15元,比广东贵了一倍啊。
再说了,我弄无刷电调不是为了商业目的,完全是兴趣和爱好而已,主要想弄清除原理,弄清原理就行了,并不一定要用上(当然能用上最好)。
现在实验尚处于实验阶段,弄清除原理后再换好的单片机也不迟。
作者: ouxg55    时间: 2006-4-15 22:00
用示波器检查6个输出控制端的波形时序,是否正确?
作者: alkkk    时间: 2006-4-15 22:44
检测感应电动势过零信号在低转速时准确吗?
作者: yqxyqx    时间: 2006-4-15 23:25
原帖由 ouxg55 于 2006-4-15 22:00 发表
用示波器检查6个输出控制端的波形时序,是否正确?


正确
作者: 弄个灯笼    时间: 2006-4-15 23:26
楼主能不能直接把单片机的程序文件传上来啊!?
作者: parkming    时间: 2006-4-15 23:48
做实验而已,把原理搞通了再换呗,MEGA8我这里8块,贴片的,PLCC44的52还在10块呐,光冲着MEGA8带个AD啥都不说了:em15:
楼主不要把这张好帖沉啊:em26:

[ 本帖最后由 parkming 于 2006-4-15 23:50 编辑 ]
作者: yqxyqx    时间: 2006-4-16 00:01
原帖由 alkkk 于 2006-4-15 22:44 发表
检测感应电动势过零信号在低转速时准确吗?


理论上是准确的,关键在与电压比较器是否能准确地比较信号。
低转速下感应电动势较低,但LM339的开环增益较大,当同相输入和反相输入间的电压差达到0.03V是,比较器的输出端就能进入饱和导通或完全截止状态,因而检测结果还是准确的。
在我的程序里并没有专门的启动程序,电机仍然能够比较顺利启动。有时电机停机时刚好在第一相序的平衡位置,通电时,转子自能在原地振动一下,检测电路都能检测到过零信号。
作者: yqxyqx    时间: 2006-4-16 00:04
原帖由 弄个灯笼 于 2006-4-15 23:26 发表
楼主能不能直接把单片机的程序文件传上来啊!?


我不知道怎么把文件传上来!:em17:
作者: lgq5106    时间: 2006-4-16 00:12
大家不要再讨论用什么芯片了,无刷电调的关键是驱动程序,其他方面的问题我们都好解决.其中检测感应电动势的过零和电流的换向关系,更是关键中的关键,将影响电机的转矩,功率,效率等性能.希望大家多给些建设性意见.当实验成熟后,楼主将心得和更完善的源程序公布出来,对各位模友今后开发也有帮助啊.到时无刷就要大降价了.
作者: yqxyqx    时间: 2006-4-16 00:21
今天测了一下电机的转速:电源电压4.9V,三极管压降共0.7V,电机空载时转速大约:8000转/分,电流大约1A。
换用买来的50元的无刷电调,把转速调到8000转/分,电流也是大约1A。
说明其实这种电调实际上也没有考虑到提前角问题,或者考虑了但没有多大的效果。
其实我们如果是个人制作,要求不高的话,完全可以不用考虑这个问题,成本低就行。
作者: flt008    时间: 2006-4-16 00:47
厉害,楼主能做个上到36V电压,电流60A以上的吗?
作者: xunicheng    时间: 2006-4-16 13:17
程序好像没有考虑进角啊!

感生电动势检测必须考虑进角,不然效率很低啊!成品电调又可以调整进角的,5度、7度、一直到30度,光驱的有感无刷专用片子进角一般固定在30度。
作者: xunicheng    时间: 2006-4-16 13:22
原帖由 yqxyqx 于 2006-4-16 00:21 发表
今天测了一下电机的转速:电源电压4.9V,三极管压降共0.7V,电机空载时转速大约:8000转/分,电流大约1A。
换用买来的50元的无刷电调,把转速调到8000转/分,电流也是大约1A。
说明其实这种电调实际上也没有考虑 ...


空载和带载工作状态差很多啊!
作者: lgq5106    时间: 2006-4-16 19:22
原帖由 xunicheng 于 2006-4-16 13:17 发表
程序好像没有考虑进角啊!

感生电动势检测必须考虑进角,不然效率很低啊!成品电调又可以调整进角的,5度、7度、一直到30度,光驱的有感无刷专用片子进角一般固定在30度。

这个问题我们已经知道,就是不知道怎样设进角,所以效率不高,另外,此电路是实验电路,驱动管用的是三极管,也是效率不高的原因,如果用场效应管会有较大改善.希望大家能在程序方面帮完善进角问题,这就是发这个帖子的本意.
作者: 弄个灯笼    时间: 2006-4-16 20:21
原帖由 yqxyqx 于 2006-4-16 00:04 发表


我不知道怎么把文件传上来!:em17:



有个办法可以先在yahoo或其它有免费邮箱的网站申请一个邮箱.然后将程序以附件的方式附在一封邮件上面,最后把邮箱的账号和密码公布在主题的某个地方,这样大家就都可以以去下了以后程序有什么更新是也能更方便的发布了:em00:
作者: tj0091979    时间: 2006-4-16 20:25
厉害啊 真的是动手能力超强 理论也不差
作者: kenzhou    时间: 2006-4-16 22:54
:em26::em26::em26:顶!一定要顶!!!!



                          kenzhou
作者: 弄个灯笼    时间: 2006-4-17 01:20
我想问一下在图中用红圈圈住1,2那两个零件叫什么啊!第三个圈的电容是不是104pf的啊?

作者: h4014    时间: 2006-4-17 08:45
狂顶!!!!!!!!!
作者: xunicheng    时间: 2006-4-17 08:47
1、LM339,4比较器,圈里的是其中的一路;一般运放也这样画。
2、7805,5V三端稳压;
3、104是0.1uf,10乘以10的4次方pf,也就是10后面加4个零pf,类似的比如473是47000pf,0.047uf;
作者: chengke    时间: 2006-4-17 14:23
好贴!顶了!楼主辛苦了!可是怎么看不到图呢?
作者: palm    时间: 2006-4-17 15:24
收藏了,认真研究研究。
作者: yqxyqx    时间: 2006-4-18 00:20
这两天都在忙着和电脑病毒做斗争,没有弄到无刷电调,刚刚重装完系统,上来冒个头。
电路图由于画得急了点,发现不少错误,大家如果要实验的话要注意。非常抱歉!
首先,驱动部分电路就有问题。我实验时是用4节镍镉电池做电源的,没有用到三端稳压,驱动电路可以用图中所示电路。但如果要升高电压,按照图上的接法就不行。要适当改变驱动电路,并适当修改程序。
作者: yqxyqx    时间: 2006-4-18 00:30
虽然实验还没成功,但我有一个惊喜的发现。今天用买来的电调接到我做的无刷电机(就是照片中的那个)上,发现效率挺高的,比我买来的红薯2030无刷高多了,在同样的电源、带同样的螺旋奖、转速差不多(很难调到相同)的情况下,2030的电流居然比DIY无刷大了将近一倍。
不过我DIY的无刷好想启动有点困难。
作者: yqxyqx    时间: 2006-4-18 00:41
我现在有一个解决问题的方案,不知道行不行得通?
首先利用检测感应电动势过零法检测出换相一次所需时间,然后根据这个时间算出最佳的换相时间,应用在后面的N个相序中。过了N个相序后又再重复前面的过程。具体N=?可以通过具体实验来得到。
不知道大家觉得怎么样?
作者: lxs1029    时间: 2006-4-18 16:45
问一个菜的问题:
我见过的无刷是三条线,楼主的咋那么多!
另外用普通的三匝有刷改三匝无刷的话,用一般的无刷电调能控制吗?
作者: lgq5106    时间: 2006-4-18 18:54
原帖由 lxs1029 于 2006-4-18 16:45 发表
问一个菜的问题:
我见过的无刷是三条线,楼主的咋那么多!
另外用普通的三匝有刷改三匝无刷的话,用一般的无刷电调能控制吗?

这个电机原来用霍尔元件检测转子位置,现在不用了,所以多了一些线.普通机改的无刷有无刷电调都可以控制.
作者: 峰回路转    时间: 2006-4-18 19:00
学习学习........
作者: xlg    时间: 2006-4-18 19:26
原帖由 yqxyqx 于 2006-4-18 00:41 发表
我现在有一个解决问题的方案,不知道行不行得通?
首先利用检测感应电动势过零法检测出换相一次所需时间,然后根据这个时间算出最佳的换相时间,应用在后面的N个相序中。过了N个相序后又再重复前面的过程。具体N ...

看啦你的控制程序,线圈的供电顺序AB-BC-CA.三种状态,我在别处看到的资料好像是有6种状态AB-CB-CA-BA-BC-AC,是否效率会高一些。另外商品的电调VMOS管都用较高频率的PWM来调速,过零检测的干扰会更密集,不知你有好方法吗?提前换相按你的方法应该可行,换一次就计算一次好一些,
作者: 王清华王清华    时间: 2006-4-18 20:00
请楼主帮忙啊,我正在搞无刷的毕业设计。
QQ:52709987
作者: 弄个灯笼    时间: 2006-4-18 21:03
那个89c2051可不可以用其它的芯片代替我们这边买不到这个芯片
作者: yqxyqx    时间: 2006-4-18 23:36
原帖由 xlg 于 2006-4-18 19:26 发表

看啦你的控制程序,线圈的供电顺序AB-BC-CA.三种状态,我在别处看到的资料好像是有6种状态AB-CB-CA-BA-BC-AC,是否效率会高一些。另外商品的电调VMOS管都用较高频率的PWM来调速,过零检测的干扰会更密集,不知你 ...


多谢指教!感激不尽!!!
一圈里面相序越多效率应该会越高。我现在用的相序是把电机的相序照搬过来的,我用你介绍的相序试一下。
对于高频信号对过零检测的干扰,我也没有很好的解决方法。
作者: yqxyqx    时间: 2006-4-18 23:41
原帖由 王清华王清华 于 2006-4-18 20:00 发表
请楼主帮忙啊,我正在搞无刷的毕业设计。
QQ:52709987


水平有限啊!帮不上什么忙啊!!
QQ:304303268,加的时候最好说明是搞无刷的,一般我不乱加人。
不过我很少上Q啊!!:em15::em15:
我觉得QQ太浪费时间了,:em15::em15:
作者: yqxyqx    时间: 2006-4-18 23:55
原帖由 弄个灯笼 于 2006-4-18 21:03 发表
那个89c2051可不可以用其它的芯片代替我们这边买不到这个芯片


当然可以,只不过程序要和电路可能要改一下!!如果不想改程序的话,可以用89C4051、89C51、89S51、STC的12C2052和12C4051等芯片来代替,不知道你对电路和单片机熟不熟。
不知兄弟是什么地方人啊?89C2051是比较常见的单片机啊,居然找不到。我们南宁也算是落后的地区了,也还找得到,呵呵!:em15::em15:
建议如果电路不熟的话,暂时不要仿制了,我贴出来的电路图有问题。到时候如果实验成功的话,我会把最终的电路图和程序都贴出来的。现在只是实验而已,没有实用价值。
作者: ouxg55    时间: 2006-4-19 00:14
标题: 进角的计算
把最近相邻两次换相的时间间隔记下来,作为下次换相的时间间隔的预测值。在这一时间内,电机的速度变化不大。用这个<预测值>-<进角值>设一个计时中断,用中断服务程序来进行换相。
作者: 会飞的鹌鹑    时间: 2006-4-19 01:18
楼主抽空把改制的无刷电机的结构贴几张上来!关切中
作者: 龙之魔    时间: 2006-4-19 10:53
可以,,顶!!!!!!!!!!!!!!
作者: yqxyqx    时间: 2006-4-19 23:44
原帖由 会飞的鹌鹑 于 2006-4-19 01:18 发表
楼主抽空把改制的无刷电机的结构贴几张上来!关切中


好的,明天多拍几张照片上来。

今天工作太忙,没时间弄,所以没什么进展。
作者: ken1y    时间: 2006-4-20 21:01
支持,希望能尽快完善。
作者: lgq5106    时间: 2006-4-20 21:56
程序修改中,初步改善了运行性能.希望再给些建议,进一步完善驱动程序.
作者: alkkk    时间: 2006-4-22 22:48
还会公开吗?
作者: CHELSEA    时间: 2006-4-23 09:57
标题: 不顶你=不讲道理~~~
不顶你=不讲道理~~~
作者: pipilu    时间: 2006-4-23 10:47
不顶你对不起对不起中国人民!
作者: lgq5106    时间: 2006-4-23 14:48
还处于实验阶段,如果达到使用效果,电路,程序和电机制作都会公开.现在的电路还有些问题,已经做了些改动,程序方面也有了一些进展.谢谢各位支持,更希望得到帮助.
作者: bymxd    时间: 2006-4-23 15:17
请问过零检测是怎么一回事?能否用作转速检测?
作者: uikyhuang    时间: 2006-4-27 14:24
不论结果如何都顶先!
作者: yqxyqx    时间: 2006-4-27 22:59
这几天工作太忙了,没多少时间继续实验,没什么进展,想进一步改善电调性能,但却遇到了困难。
主要困难是:一个线圈通、断电时会在自己和别的线圈上产生感应电动势,影响过零检测,我现在解决的方法是:延时,具体来讲就是在线圈通、断电一段时间后再去检测过零。但转速高了以后,线圈从通电到换相的时间很短,比上面所讲的延时时间还要短,这样就会造成电机失步。
不知道大家有什么办法解决这个问题。
作者: yqxyqx    时间: 2006-4-27 23:05
另外,这几天通过画图仔细分析了无刷电机的原理,发现采用检测感应电动势检测换向位置,效果都不如使用传感器好,如果没有很好的办法解决上面的问题的话,我打算先做一个有传感器的无刷试试看,看看效果怎么样。
作者: alkkk    时间: 2006-4-28 00:21
你能详细解释一下你实验过零检测的做法,计算公式?
作者: palm    时间: 2006-4-29 19:57
不知道能不能有帮助:
无刷电调一些资料(䆩帖子是violit发的)

资料一:一个国外网站的两个无刷电调项目,可以参考其电路图,并且还有汇编源码,能够拿来直接做也可以深入研究。
http://home.versanet.de/~b-konze/index_en.html


资料二:微芯公司dsPIC处理器用于无感无刷电机的资料,中文的,非常深入,技术性相当强,想自己开发无刷电调的朋友千万不要错过
http://ww1.microchip.com/downloads/cn/AppNotes/cn021179.pdf
作者: suncxc    时间: 2006-4-30 11:26
你是不是把它当作步进电机控制了?
作者: lgq5106    时间: 2006-4-30 12:44
原帖由 suncxc 于 2006-4-30 11:26 发表
你是不是把它当作步进电机控制了?

启动是,以后不是.
作者: kmwjs    时间: 2006-4-30 16:01
原帖由 lgq5106 于 2006-4-16 19:22 发表

这个问题我们已经知道,就是不知道怎样设进角,所以效率不高,另外,此电路是实验电路,驱动管用的是三极管,也是效率不高的原因,如果用场效应管会有较大改善.希望大家能在程序方面帮完善进角问题,这就是发这个帖子的 ...

----------------------------
进角调整是从0到30度之间,这是指星形联接三相六拍二二驱动方式。此时反电动势过0点比应该导通相提前30度,当检测到过零号时,你还应获当前转速,根据转速你就能计算出每一度的时间,然后将延时多少度的时间数据写入延时子程序或相关寄存器中,当发生过零事件时,启动延时,延时到输出对应相的驱动信号.
用2051芯片速度不够,存储器容量太小,会转不难,耍得到好性能的电调需要机械电子软件工艺电拖等各方面的知识.祝你们成功!
作者: sp500    时间: 2006-5-3 23:35
标题: a
我们这里是用TI的DSP控制大功率的无刷电机(几百W的),电机内集成了霍尔传感器。小弟新手,对模型的电调还不太了解,不知是采用电流开环还是电流闭环控制? 在电机控制里,启动问题和低频下的转距是难点。再有直流无刷的转距脉动相对较大,不知道对模型控制是否有影响? 另外建议楼主在散热条件允许的情况下可选用表贴的MOS管,这样可以缩小体积呀。
作者: viawater    时间: 2006-5-8 17:12
原帖由 yqxyqx 于 2006-4-18 00:30 发表
虽然实验还没成功,但我有一个惊喜的发现。今天用买来的电调接到我做的无刷电机(就是照片中的那个)上,发现效率挺高的,比我买来的红薯2030无刷高多了,在同样的电源、带同样的螺旋奖、转速差不多(很难调到相同 ...

如果红薯2030的定子极对数和你的电机一样.那么它就会有和你的电机差不多的效率.你的定子有三个齿,而你的电机是三相的,所以你的电机的定子极对数是1.而一般的CDROM电机定子极对数是3(9个定子齿),我们常用的外转无刷电机定子极对数是4.一般来说定子极对数越多,电机可以越小,所用的材料也可以越少,成本月越低.但是效率却比定子极对数小的电机来的低.不过在这个追求低价的时代已经不管什么效率啦!
不过我窃以为,如果无刷电机和电调不考虑效率,那么我们为什么要使用无刷?用有刷多好啊!又便宜又可靠.

[ 本帖最后由 viawater 于 2006-5-8 17:13 编辑 ]
作者: tenente    时间: 2006-5-8 19:58
强啊...........
作者: alkkk    时间: 2006-5-8 21:29
85楼的"一般来说定子极对数越多,效率却比定子极对数小的电机来的低:

真的吗?
为什么呢,我还以为极数越多, 扭力大些...........
有相关理论吗?
作者: viawater    时间: 2006-5-9 07:15
原帖由 alkkk 于 2006-5-8 21:29 发表
85楼的"一般来说定子极对数越多,效率却比定子极对数小的电机来的低:

真的吗?
为什么呢,我还以为极数越多, 扭力大些...........
有相关理论吗?

我们可以看看定子极对数增多后,定子铁耗改变的情况.定子铁耗和磁场改变的速度及强度有关,改变的越快,改变的强度越大,在定子芯中的感生电流越大.对于定子极对数为1的电机,转子转一圈,磁场出现一次最大最小值,而对于定子极对数为3的电机,同样的时间会出现3次最大最小值,换而言之,磁场改变的速度加快了3倍,定子铁耗自然显著上升.
作者: palm    时间: 2006-5-9 10:42
再顶,密切关注。
作者: alkkk    时间: 2006-5-9 20:47
是否极数越多, 扭力大些?可以接受效率稍低些的
作者: 中山阿成    时间: 2006-5-11 09:22
佩服!!!
有空好好消化一下。。。
作者: 王清华王清华    时间: 2006-5-11 19:52
请问楼主:你的反电动势检测电路,是不是按你上传电路图的方法联结的啊?其电阻的阻值是不是也按上面的参数选的啊?
   最近搞无刷时,这块出了问题!我这块现在是参考的别的电路图,没有搞好,想按你的来试试!
作者: hotbob    时间: 2006-5-15 21:34
原帖由 弄个灯笼 于 2006-4-17 01:20 发表
我想问一下在图中用红圈圈住1,2那两个零件叫什么啊!第三个圈的电容是不是104pf的啊?

1:三端一个
2:比较器
作者: 流浪心    时间: 2006-5-25 20:27
标题: 高人
高高高嘎奥高高高阿高高阿高高高
作者: lgq5106    时间: 2006-5-25 23:26
原帖由 王清华王清华 于 2006-5-11 19:52 发表
请问楼主:你的反电动势检测电路,是不是按你上传电路图的方法联结的啊?其电阻的阻值是不是也按上面的参数选的啊?
   最近搞无刷时,这块出了问题!我这块现在是参考的别的电路图,没有搞好,想按你的来试试!
此电路中的一些参数作了修改,具体数值不记得了。现在实验暂时停止,以后有新进展再给新的电路和参数。
作者: lgq5106    时间: 2006-5-25 23:31
原帖由 hotbob 于 2006-5-15 21:34 发表

1:三端一个
2:比较器
1.是电压比较器
2.是78系列的5v三端稳压
3.是100000pf,104记法为10乘以10的4次方,单位为pf。
作者: 王清华王清华    时间: 2006-5-26 07:56
多谢楼主了!我没有参照你的检测电路,是用的别的电路。现在我也搞定了!

有机会交流一下!
作者: xmhyb2003    时间: 2006-5-26 23:07
标题: 速度?
请问转速多大?谢谢
作者: lgq5106    时间: 2006-5-26 23:48
原帖由 xmhyb2003 于 2006-5-26 23:07 发表
请问转速多大?谢谢
这是由电机和电源电压决定的。
作者: lxs78    时间: 2006-10-20 11:08
标题: 现在还有人在做吗
我正在考虑做一个无刷无检测器的实验,请各位高手指点,qq号是492908914,




欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://bbs.5imx.com/) Powered by Discuz! X3.3