|
正在努力.
我当时其实没有真正明白你的意思,后来我看到一篇资料(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 编辑 ] |
|