5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 6336|回复: 36
打印 上一主题 下一主题

过零检测

[复制链接]
跳转到指定楼层
楼主
发表于 2007-11-7 01:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求助,无刷电调的过零检测

我弄了两个月从热天到冬天,反电动势的过零信号就是检测不到.:em25: :em25: :em25: :em25:
用的LM339N,1/2端电压法,电机是9极4磁铁,单片机轮询.MAGE8
eeprom显示端口无变化.
请哪位大侠指点,感激不尽.
15度开始------停PWM---通持续直流--延时---轮询三端口(LM339输出的三相过零信号端口)---有变化写入EEPROM---无变化继续---45度,更高优先的中断---结束检测恢复PWM.
同相2个47K并联,10K接地,反相47K串联,10K接地.
请指点迷津,
ququbin@avl.com.cn

欢迎继续阅读楼主其他信息

沙发
发表于 2007-11-7 11:59 | 只看该作者
呵呵,你慢慢玩吧,想问问你延时是怎么延的?准不准,不准你很难转得起来。
我上学时自己做过一个,可能电路和你的差不多,一样的硬件。但我没有延时,意思就是说有30度的提前角启动,启动没有问题。但当时我做的好简单,就是开机启动旋转。后来没有玩它了。
3
 楼主| 发表于 2007-11-7 19:23 | 只看该作者

回复 #2 王清华王清华 的帖子

我的是开环启动,主要是得不到过零信号,大约在10000转失步
延时32微秒是为了避开PWM关闭的影响,便于检测,不要求精度
能指点我吗?过零信号过零信号过零信号
4
发表于 2007-11-8 09:50 | 只看该作者
你先测试一下LM339的过零检测电路有没有问题。用万用表去测量。如果这个电路搭错了就没有救。 你可以直接步进启动到一个速度后等一段时间,可以用1/2秒来等,最后软件检测过零事件查表输出。 但那个步进速度要调好,要多试。

不知道你是哪一个版的电路图,你发给我。我帮你改一下再发给你。
     原版的电路会造成经常启动不成功。
5
 楼主| 发表于 2007-11-8 23:31 | 只看该作者

回复 #4 王清华王清华 的帖子

1.比较器是正确的,我的验证方式如下:
   令定时器T2为1024分频,在很低的速度下运行(好几秒才一步),用机械式万用表测3个输出端口.
  可以看到指针的摆动(很规律,对应为高---断---低---断--高).
2比较器电路我用过三种,虚拟中点,中心抽头(好象叫做相电压法,就是用电机中心线与截止相比较)
现在我用1/2端电压法,我不会做图,就描述一下
两相用47K电阻串联,对地10K分压接比较器负端
截止相两个47K电阻并联(得到47K的1/2),对地10K分压接比较器正端
6
 楼主| 发表于 2007-11-9 00:50 | 只看该作者

回复 #5 ququbin 的帖子

用1/2秒等什么?
"软件检测过零事件查表输出"我不明白?
我试过用BMP上图,太难,给你传图在哪?
控制换相的定时器是t1,溢出中断时换相,用初值控速
开环用给定初值,闭环用过零时定时器的值算出初值
硬件驱动用2个PNP(TIP42C)做复合管控制正极(8050导通为开)(其通断由PB3的PWM控制)
3个PNP(TIP42C)做上臂,3个NPN(TIP41C)做下臂
最大电流6A,太热了,烧了我好几个管
现在电流2A,可以运行
7
 楼主| 发表于 2007-11-9 01:57 | 只看该作者
王清华您好:
    非常感谢您的指导,如果我成功,我会公开我的资料.
我每天都做这东西到深夜,这两天的进展向您汇报
1.在7.5度(换相时间的前1/8---1/4)出现信号,具体数字为26/160,和29/96
换一种说法:初值为0x60,信号在0x7a出现,初值为0xa0,信号在0xbd出现,怎么解释,为什么
2为什么比例不同,
3 为什么不在30度左右出现?
4我用3相6拍驱动,只有AB,BC,CA有信号,其他3状态无信号(是无,不是未测到).
5用3相3拍驱动,用此信号能进入自换相(是自换相吗?我不确定)
现象是:
1转速突然变快,突变不很明显但能看出,然后不再受控制,恒定于中速(约3000)
2调节占空比,有声音的强弱变化,速度看不出变化,偶尔会卡死,发出尖叫
3用手卡死,不能再运转.
我的思考:
1由于占空比的变化-------------,转矩边法化-------------,过零信号的时间变化------------,由此信号算出的换相时间变化----------,转速变化
是这样吗?我是这样做的,行不行?
2给定换相时间---------由信号算出占空比-------以此控制转矩------维持给定的转速.-----这种我基本不懂
8
 楼主| 发表于 2007-11-9 02:31 | 只看该作者
刚才又进行了实验
将转速升到比较高(约5000),这时减占空比,转速会降到2000-----3000,就不再降
这时加占空比,它也不升高
启动后进入3000,加占空比,它不加速,改变换相时间也不加速
9
发表于 2007-11-9 08:42 | 只看该作者
你的电话是多少?
10
 楼主| 发表于 2007-11-9 22:35 | 只看该作者

回复 #9 王清华王清华 的帖子

023-44573503
11
发表于 2007-11-12 08:54 | 只看该作者
做的怎么样了啊?转起来了没有?关注中。
12
 楼主| 发表于 2007-11-13 01:30 | 只看该作者
正在努力.
我当时其实没有真正明白你的意思,后来我看到一篇资料(PIC,微芯公司),才明白你说的是"方法2"
我的错误1:
我的程序是向端口输入低电平,控制加减速,而那资料上要求加速过程自动(匀加速,),我正在改这部分.
错误2:
在检测时改变PWM 会影响扭矩,由此影响滞后,用方法1采集的话,在同一状态,PWM应该恒定(我的理解对吗?)
另外我请教一下:
1.在断电的时候,1/2V=0,比较器怎么工作?
资料上说,方法2是AD取样(不是过零哦),计算换相时间---换相,然后在闭环中用过零.
就是说只采集1次,进入自换相就不用AD,用过零.
2,你教我的方法是断电后等待过零,然后进入自换相是吗?
我参考的是""""""""dsPIC30F 在无传感器BLDC 控制中的应用"""""""""""
这是检测过零的一段:还请指教
ldi r22,0xf0
rcall dey
;*****************
tzb:
cpi r30,0x85              ;ab
breq cxz
cpi r30,0x8a
breq bxz
cpi r30,0x8f
breq axz
cpi r30,0x94
breq cxz
cpi r30,0x99            ;
breq bxz
cpi r30,0x80            ;cb
breq axz
;*********************
axz:
sbic pinc,4
rjmp axf
axz00:
sbis pinc,4
rjmp axz00
rjmp huanh00
axf:
sbic pinc,4
rjmp axf
rjmp huanh00
;============
bxz:
sbic pinc,3
rjmp bxf
bxz00:
sbis pinc,3
rjmp bxz00
rjmp huanh00
bxf:
sbic pinc,3
rjmp bxf
rjmp huanh00
;================
cxz:
sbic pinc,2
rjmp cxf
cxz00:
sbis pinc,2
rjmp cxz00
rjmp huanh00
cxf:
sbic pinc,2
rjmp cxf
rjmp huanh00
huanh00:
ldi r25,0x0b

in r17,tcnt1l
in r16,tcnt1h
lds r18,tfch
lds r19,tfcl
clc
sub r17,r19
sbc r16,r18
clc
rol r17
rol r16
clc
neg r16
neg r17
sts tfch,r16
sts tfcl,r17
rjmp fxd

[ 本帖最后由 ququbin 于 2007-11-13 01:42 编辑 ]
13
发表于 2007-11-14 21:56 | 只看该作者
啥东西 电调吗
14
发表于 2007-11-15 09:24 | 只看该作者
采用电流方式时(不知道对应你的方法几?),采用开环步进把电机转子旋转到一个合适速度后停止通电。转子在惯性旋转时,会把三个绕组都感应出电动势的。你的过的过零检测电路一样能工作,整个波形有点类似三相交流电的波形。你找本书来看看这个波形,或者自己画出这个波形,看看是不是一样能找到这个过零点!!
15
发表于 2007-11-15 13:09 | 只看该作者
不错,有空也做个,有电路图
和原理可以参考吗?
  isbit@163.com
谢谢
16
发表于 2007-11-15 13:46 | 只看该作者
无刷电调也已经开始做了。。。。大家真是牛人。。。
17
 楼主| 发表于 2007-11-16 00:50 | 只看该作者

回复 #14 王清华王清华 的帖子

这次我是真正明白你的理论了.
但你的理论与"dsPIC30F 在无传感器BLDC 控制中的应用"中有出入.
我会按你的理论去实验.
我刚把比较器做好,以前的元件有问题,不准确
;=================================
<<dsPIC30F 在无传感器BLDC 控制中的应用>>:
;===============================
示波器图3(图9)显示了采集方法2。图的中心(11)
显示出电机的开环步进停止点,在该处采用方法2 来检
测位置。此时, BEMF 不再有通电时通常会看到的&frac12;
VDC 偏置。系统检测相电压大于Acquire Threshold 参
数(参数#34)所给定值时的所处的点。可以看到这种
情况发生在B 相上,就在波形中心后(12)。下一个上
升沿出现在C 相(未显示),用来确定方向、速度和位
置。然后系统就会转换到常规闭环无传感器运行。
图 9: 示波器图3: 采集方法2
注意,上升到断电点的波形表明,当相不通电时可看到
的BEMF 波形不会显示任何BEMF 过零点。过零事件
被通电隐藏起来。缺少可检测的过零点会导致采集方法
1 失败,但对于采集方法2 却不存在问题。
要成功使用方法2,必须设置加速参数,让步进过程中
的加速满足下述三个条件。
• 首先,转子的加速度不能高于最高加速度。如果加
速度过快,转子失去同步,则增大Ramp Duration
参数(参数#10),减少Ramp End Speed 参数
(参数#7),或者增加Ramp End Demand 参数
(参数#9)。
• 第二,BEMF 电压幅值对于Ramp End Speed 参数
(参数#7)必须足够大。
• 第三,在加速结束时不应该有非常大的转速振荡。
振荡过大会导致上升沿检测错误并且检测到的位置
不正确。实际位置与检测位置的误差会导致出现触
发脉冲的位置不正确,此时出现的严重错误可能引
起电机停转。
javascript:parent.EY_SetSelected(1)

[ 本帖最后由 ququbin 于 2007-11-16 01:13 编辑 ]
18
发表于 2007-11-16 08:45 | 只看该作者
努力吧,我们都会为你加油的。记得把自己的进展定期传上来,以便大家交流和学习了。
19
发表于 2007-11-16 15:50 | 只看该作者
各位大虾。有电压过零检测这方面的资料吗?我也有一样的困惑,我现在在开发电调
20
 楼主| 发表于 2007-11-17 02:29 | 只看该作者
搜索"dsPIC30F 在无传感器BLDC 控制中的应用"

[ 本帖最后由 ququbin 于 2007-11-17 02:30 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

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