日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

直流无刷电机c语言程序,无位置传感器的直流无刷电机调速控制程序(一)

發布時間:2024/3/12 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 直流无刷电机c语言程序,无位置传感器的直流无刷电机调速控制程序(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SPLK? ?? ?#0000H,B2COUNT

SPLK? ?? ?#0000H,STALL

SPLK? ?? ?#0000H,ASYM

SPLK? ?? ?#0000H, V_ERRORK

SPLK? ?? ?#0000H,TIME

;--------------------------------------準備磁定位-------------------------------------------------------------

LDP? ?? ? #0

LACC? ?? ?COMP? ?? ?? ?? ?? ? ;裝載比較初值

LDP? ?? ? #0E8H? ?? ?? ?? ?? ?;反相驅動

SPLK? ?? ?#03FDH,ACTRA

WM1低有效,PWM6低電平,其它高電平

SACL? ?? ?CMPR1? ?? ?? ?? ?? ?;A相入,C相出,B相不通電

SPLK? ?? ?#0000H,CMPR2

SPLK? ?? ?#0000H,CMPR3

;--------------------------------------等待磁定位結束------------------------------------------------------

MAGSTALL

LDP? ?? ? #0

LACC? ?? ?STALL? ?? ?? ?? ?? ?;檢測磁定位是否結束

BCND? ?? ?MAGSTALL,EQ? ?? ?? ?;沒結束繼續等待

;--------------------------------------磁定位結束換相----------------------------------------------------

LACC? ?? ?COMP

LDP? ?? ? #0E8H .

SPLK? ?? ?#03DFH,ACTRA

WM3低有效,PWM6低電平,其它高電平

SACL? ?? ?CMPR2? ?? ?? ?? ?? ?;B相入,C相出,A不通電

SPLK? ?? ?#0000H,CMPR3

SPLK? ?? ?#0000H,CMPR1

LDP? ?? ? #0

SPLK? ?? ?#4,CAPT? ?? ?? ?? ? ;CAPT初值

;--------------------------------------主循環-----------------------------------------------------------------

LOOP

LDP? ?? ? #0

LACC? ?? ?FLAGCUR? ?? ?? ?? ? ;檢測是否更新比較值

BCND? ?? ?LOOP,EQ? ?? ?? ?? ? ;不更新跳轉

SPLK? ?? ?#0,FLAGCUR? ?? ?? ? ;更新,清標志

CALL? ?? ?SEQUENCE? ?? ?? ?? ?;調用更新子程序

B? ?? ?? ?LOOP? ?? ?? ?? ?? ? ;等待下次更新

;--------------------------------------假中斷處理-------------------------------------------------------------

PHANTOM

CLRC? ???INTM

RET

;--------------------------------------更新比較值或換相子程序-----------------------------------------

SEQUENCE

LDP? ?? ? #0

LACC? ?? ?TIME? ?? ?? ?? ?? ?;每轉時間計數器

ADD? ?? ? #1

SACL? ?? ?TIME

LACC? ?? ?CAPT? ?? ?? ?? ?? ? ;換相控制字

ADD? ?? ? #CAPT_DETER? ?? ?? ?;加起始地址

BACC

CAPT_DETER

B? ?? ?? ?RISING1? ?? ?? ?? ? ;相當于H1上升沿

B? ?? ?? ?FALLING3? ?? ?? ?? ?;相當于H3下降沿

B? ?? ?? ?RISING2? ?? ?? ?? ? ;相當于H2上升沿

B? ?? ?? ?FALLING1? ?? ?? ?? ?;相當于H1下降沿

B? ?? ?? ?RISING3? ?? ?? ?? ? ;相當于H3上升沿

FALLING2? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? ;相當于H2下降沿

LACC? ?? ?COMP

LDP? ?? ? #0E8H

SPLK? ?? ?#0D3FH,ACTRA

WM5低有效,PWM4低電平,其它高電平

SACL? ?? ?CMPR3? ?? ?? ?? ?? ?;C相入,B相出,A相不通電

SPLK? ?? ?#0000H,CMPR2

SPLK? ?? ?#0000H,CMPR1

LDP? ?? ? #0? ?? ?? ?? ?? ?? ?;延時過濾干擾

LACC? ???ASYM? ?? ?? ?? ?? ???;延時計數器

ADD? ?? ? #1? ?? ?? ?? ?? ?? ?;加1

SACL? ???ASYM

SUB? ?? ? #10? ?? ?? ?? ?? ???;檢測是否到計數值

BCND? ?? ?END,LEQ? ?? ?? ?? ? ;沒到,退出

SPLK? ?? ?#10,ASYM? ?? ?? ?? ?;計數值已到,測量感應電動勢過零點

LACC? ?? ?FLAG? ?? ?? ?? ?? ? ;感應電動勢符號變化?

BCND? ?? ?END,NEQ? ?? ?? ?? ? ;變了,退出

LACC? ?? ?V1,1? ?? ?? ?? ?? ? ;沒變,檢測.V1乘2

ADD? ?? ? V1? ?? ?? ?? ?? ?? ?;ACC=3*(BEMFA + NEUTRAL)

SUB? ?? ? NEUTRAL? ?? ?? ?? ? ;ACC=3*BEMFA

BCND? ?? ?END,LT? ?? ?? ?? ???;<0符號沒變,退出

SPLK? ?? ?#1,FLAG? ?? ?? ?? ? ;否則符號改變,置過零標志

LACC? ?? ?BCOUNT

SACL? ?? ?B2COUNT? ?? ?? ?? ? ;更新延遲時間

B? ?? ?? ?END? ?? ?? ?? ?? ???;退出

RISING3

LACC? ?? ?COMP

LDP? ?? ? #0E8H

SPLK? ?? ?#0DF3H,ACTRA

WM5低有效,PWM2低電平,其它高電平

SACL? ?? ?CMPR3? ?? ?? ?? ?? ?;C相入, A相出, B相不通電

SPLK? ?? ?#0000H,CMPR2

SPLK? ?? ?#0000H,CMPR1

LDP? ?? ? #0? ?? ?? ?? ?? ?? ?;延時過濾干擾

LACC? ?? ?ASYM? ?? ?? ?? ?? ? ;延時計數器

ADD? ?? ? #1? ?? ?? ?? ?? ?? ?;加1

SACL? ?? ?ASYM

SUB? ?? ? #10? ?? ?? ?? ?? ???;檢測是否到計數值

BCND? ?? ?END,LEQ? ?? ?? ?? ? ;沒到,退出

SPLK? ?? ? #10,ASYM? ?? ?? ???;計數值已到,測量感應電動勢過零點

LDP? ?? ???#0

LACC? ?? ?FLAG? ?? ?? ?? ?? ? ;感應電動勢符號變化?

BCND? ?? ?END,NEQ? ?? ?? ?? ? ;變了,退出

LACC? ?? ?V2,1? ?? ?? ?? ?? ? ;沒變,檢測.V2乘2

ADD? ?? ? V2? ?? ?? ?? ?? ?? ?;ACC=3*(BEMFB + NEUTRAL)

SUB? ?? ? NEUTRAL? ?? ?? ?? ? ;ACC=3*BEMFB

BCND? ?? ?END,GEQ? ?? ?? ?? ? ;≥0符號沒變,退出

SPLK? ?? ?#1,FLAG? ?? ?? ?? ? ;否則符號改變,置過零標志

LACC? ?? ?BCOUNT

SACL? ?? ?B2COUNT? ?? ?? ?? ? ;更新延遲時間

B? ?? ?? ?END? ?? ?? ?? ?? ???;退出

FALLING3

LACC? ?? ?COMP

LDP? ?? ? #0E8H

SPLK? ?? ?#03FDH,ACTRA

WM1低有效,PWM6低電平,其它高電平

SACL? ?? ?CMPR1? ?? ?? ?? ?? ?; A相入, C相出, B相不通電

SPLK? ?? ?#0000H,CMPR2

SPLK? ?? ?#0000H,CMPR3

LDP? ?? ? #0? ?? ?? ?? ?? ?? ?;延時過濾干擾

LACC? ?? ?ASYM? ?? ?? ?? ?? ? ;延時計數器

ADD? ?? ? #1? ?? ?? ?? ?? ?? ?;加1

SACL? ?? ?ASYM

SUB? ?? ? #10? ?? ?? ?? ?? ???;檢測是否到計數值

BCND? ?? ?END,LEQ? ?? ?? ?? ? ;沒到,退出

SPLK? ?? ?#10,ASYM? ?? ?? ?? ?;計數值已到,測量感應電動勢過零點

LDP? ?? ? #0

LACC? ?? ?FLAG? ?? ?? ?? ?? ? ;感應電動勢符號變化?

BCND? ?? ?END,NEQ? ?? ?? ?? ? ;變了,退出

LACC? ?? ?V2,1? ?? ?? ?? ?? ? ;沒變,檢測.V2乘2

ADD? ?? ? V2? ?? ?? ?? ?? ?? ?;ACC=3*(BEMFB + NEUTRAL)

SUB? ?? ? NEUTRAL? ?? ?? ?? ? ;ACC=3*BEMFB

BCND? ?? ?END,LT? ?? ?? ?? ???;<0符號沒變,退出

SPLK? ?? ?#1,FLAG? ?? ?? ?? ? ;否則符號改變,置過零標志

LACC? ?? ?BCOUNT

SACL? ?? ?B2COUNT? ?? ?? ?? ? ;更新延遲時間

B? ?? ?? ?END? ?? ?? ?? ?? ???;退出

RISING2

LACC? ?? ?COMP

LDP? ?? ? #0E8H

SPLK? ?? ?#03DFH,ACTRA

WM3低有效,PWM6低電平,其它高電平

SACL? ?? ?CMPR2? ?? ?? ?? ?? ?;B相入, C相出, A相不通電

SPLK? ?? ?#0000H,CMPR3

SPLK? ?? ?#0000H,CMPR1

LDP? ?? ? #0? ?? ?? ?? ?? ?? ?;延時過濾干擾

LACC? ?? ?ASYM? ?? ?? ?? ?? ? ;延時計數器

ADD? ?? ? #1? ?? ?? ?? ?? ?? ?;加1

SACL? ?? ?ASYM

SUB? ?? ? #10? ?? ?? ?? ?? ???;檢測是否到計數值

BCND? ?? ?END,LEQ? ?? ?? ?? ? ;沒到,退出

SPLK? ?? ?#10,ASYM? ?? ?? ?? ?;計數值已到,測量感應電動勢過零點

LDP? ?? ? #0

LACC? ?? ?FLAG? ?? ?? ?? ?? ? ;感應電動勢符號變化?

BCND? ?? ?END,NEQ? ?? ?? ?? ? ;變了,退出

LACC? ?? ?V1,1? ?? ?? ?? ?? ? ;沒變,檢測.V1乘2

ADD? ?? ? V1? ?? ?? ?? ?? ?? ?;ACC=3*(BEMFA + NEUTRAL)

SUB? ?? ? NEUTRAL? ?? ?? ?? ? ;ACC=3*BEMFA

總結

以上是生活随笔為你收集整理的直流无刷电机c语言程序,无位置传感器的直流无刷电机调速控制程序(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。