資深會員
Joined
: 2006/3/7 11:45 最後登入時間
: 2019/7/24 11:56
From 台南
Group:
註冊會員
Level : 13 HP : 0 / 307 MP : 67 / 16333 EXP : 28
|
**************************************************************************************** READ_SPEED_FEEDBACK movf VELRL, W addwf VELOCITY_LOW, F<==抓到VELRL值為什麼要做addwf?? movf VELRH, W addwfc VELOCITY_HIGH, F<==抓到VELRH,值為什麼要做addwfc?? bcf STATUS, C rrcf VELOCITY_HIGH, F <==為什麼要左移做除2動作?? rrcf VELOCITY_LOW, F<==為什麼要左移做除2動作??
incf VELOCITY_COUNT btfss VELOCITY_COUNT, 4 <==;Average 16 times, before setting the feedback update flag 不懂這用意是什麼 bra velocity_done clrf VELOCITY_COUNT bsf FLAGS1, FEEDBACK_UPDATE bcf PIE3,IC1IE velocity_done bcf PIR3,IC1IF RETFIE FAS ;****************************
CALCULATE_ROTOR_FREQUENCY movlw 0x12 movwf AARGB0 movlw 0x6C movwf AARGB1 movwf 0xCC movwf AARGB2 movff VELOCITY_HIGH, BARGB0 movff VELOCITY_LOW, BARGB1 call FXD2416U movff AARGB1, ROTOR_FREQUENCY_UPPER movff AARGB2, ROTOR_FREQUENCY_LOWER return
以上程式計算出來的值是轉子頻率?還是轉速值?
這部份看不懂QQ
CALCULATE_ROTOR_FREQUENCY Based on Timer5 period of .2usec and (2048 QEA edge transitions)/revolution
ROTOR_FREQUENCY = 20400d/QEAperiod = 4FB0h/(VELRH:VELRL)
上面的計算式ROTOR_FREQUENCY 20400d值是如何得知??
謝謝
發表於: 2006/12/13 22:37
|