會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





BLDC控制
新會員
註冊日期:
8月31日 21:06:12
所屬群組:
註冊會員
文章: 3
等級: 1; EXP: 10
HP : 0 / 2
MP : 1 / 1
離線
各位前輩大家好,小弟最近在做關於BLDC的控制。
先前在網路上找到關於PID控制的組合語言,但小弟使用了以下檔案後,卻發現馬達啟動就會直接爆衝至最高速,且沒辦法減速。或是會逐漸加速,直到最高速,也一樣無法減速。想請問各位前輩可能是哪種問題? 謝謝
_SpeedControl:
BSET CORCON, #SATA ; Enable Saturation on Acc A
; Init Pointers
MOV #_ControlDifference, W8
MOV #_PIDCoefficients, W10
MOV #_RefSpeed, W1
MOV #_Speed, W2
MOV #_ControlOutput, W0
; Calculate most recent error with saturation, no limit checking required
LAC [W1], A
LAC [W2], B
SUB A
SAC A, [W8]
; Prepare MAC Operands
MOVSAC A, [W8]+=2, W4, [W10]+=2, W5
LAC [W0], A ; Load Acc with last output
; Perform MAC
REPEAT #2 ; Repeat 3 times
MAC W4*W5, A, [W8]+=2, W4, [W10]+=2, W5
; Store result in ControlOutput with saturation
SAC A, [W0]
BCLR CORCON, #SATA ; Disable Saturation on Acc A
MOV #_ControlDifference, W8
MOV [W8+2], W2 ;ControlDifference[2] = ControlDifference[1]
MOV W2, [W8+4]
MOV [W8], W2 ;ControlDifference[1] = ControlDifference[0]
MOV W2, [W8+2]
RETURN;

.end

10月24日 00:23:17
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結

網頁捷徑
2017 Summer Elite 報名
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project