導航:首頁 > 操作系統 > 電機正反轉單片機

電機正反轉單片機

發布時間:2024-05-11 02:20:37

單片機中的五線四相步進電機可以通過編程,實現正反轉么

當然可以,abcd順序加電控制是正轉的話,adcb順序加電就是反轉了。任何步進電機都是如此控制正反轉的。

⑵ 51單片機,步進電機怎麼實現循環正反轉

以下程序是我在實驗中自己編寫的,幾乎全部都有詳細注釋,相信學過單片機的同學完全可以輕易讀懂。
讀者可進行一些修改,比如我使用的都是跳轉指令,在進入加減速循環中讀者完全可以改成調用指令。電機速度也可修改為無上下限。
並且判斷按鍵過程也可有自己的方法,我的判斷按下松開可能會比較麻煩。
數表中我設置的是每個脈沖轉過9°,大家也可按照實際需要修改自己的數表。
這個程序我是參考了《單片機實用系統設計與模擬經典實例》(主編:周景潤 劉曉霞)的P25,讀者有興趣可以去圖書館借閱此書。

ORG 0000H
LJMP MAIN
ORG 0030H
MAIN: MOV 30H,#05H ;加減速速度控制,控制延時循環次數(初值)
MOV DPTR,#TAB1 ;查表法對P2賦值
MOV R0,#03H ;P2初值
MOV R4,#00H ;查表指針值
MOV P2,R0 ;賦值
WAIT: MOV P0,#0FFH ;P0需先輸出一個1才可輸入
JNB P0.0,SONG3 ;檢測按鍵是否按下,SONG的意思是按鍵是否松開,否則程序會混亂
JNB P0.1,SONG4 ;程序中SONG均是上述意思
SJMP WAIT ;如果不按鍵就不啟動
SONG3: JB P0.0,ZHENG ;進入正轉
SJMP SONG3 ;
SONG4: JB P0.1,FAN ;進入反轉
SJMP SONG4 ;
ZHENG: MOV R4,#01H ;開始查表
LOOP1: JB P0.1,YUNXING1 ;檢測是否要反轉,如果未按反轉鍵就正常運行
SONG1: JNB P0.1,FAN ;按下反轉松開後進入反轉
SJMP SONG1 ;
YUNXING1:MOV A,R4 ;查表
MOVC A,@A+DPTR ;
MOV P2,A ;
ACALL DELAY ;進入延時程序控制電機速度
JB P0.3,COOL1 ;檢測是否按下減速按鍵,如果未按下再檢測是否按下加速按鍵
SONG5: JNB P0.3,DOWN1 ;按下後進入延時程序中修改循環次數
SJMP SONG5 ;
COOL1: JB P0.2,NOMAL1 ;檢測是否按下加速按鍵,未按下就正常運行
SONG6: JNB P0.2,UP1 ;按下加速鍵進入延時程序中修改循環次數
SJMP SONG6 ;
NOMAL1: INC R4 ;查下一個數據
CJNE R4,#09H ,LOOP1;表中數據查完一遍後將R4值復位,如未查完就不復位R4
SJMP ZHENG ;使正轉循環
FAN: MOV R4,#07H ;反轉R4初值
LOOP2: JB P0.0,YUNXING2 ;檢測是否按下正轉按鍵,如未按下正常運行反轉程序
SONG2: JNB P0.0,ZHENG ;按下正轉後松開按鍵進入正轉程序
SJMP SONG2 ;
YUNXING2:MOV A,R4 ;開始查表
MOVC A,@A+DPTR ;
MOV P2,A ;
ACALL DELAY ;進入延時程序控制電機速度
JB P0.3,COOL2 ;檢測是否按下減速按鍵如未按下就檢測是否按下加速按鍵
SONG7: JNB P0.3,DOWN2 ;按下後進入延時程序中修改循環次數
SJMP SONG7 ;
COOL2: JB P0.2,NOMAL2 ;檢測是否按下加速按鍵,未按下就正常運行
SONG8: JNB P0.2,UP2 ;按下後進入延時程序中修改循環次數
SJMP SONG8 ;
NOMAL2: DEC R4 ;循環查表
CJNE R4,#00H,LOOP2 ;數據查完一遍後復位重新查
SJMP FAN ;反轉循環
DELAY: MOV R6,#05H ;
DD1: MOV R5,#080H ;
DD2: MOV R7,#05H ;
DD3: DJNZ R7,DD3 ;
DJNZ R5,DD2 ;
DJNZ R6,DD1 ;固定延時
DJNZ R1,DELAY ;通過改變延時程序的循環次數來控制電機速度
SPEED: MOV R1,30H ;每次循環都將速度值放在R1中
SJMP BACK ;
DOWN1: INC 30H ;速度減,因為循環次數+1
CJNE R1,#10H,NOMAL1;速度下限10,如果不到10可繼續減速
MOV 30H,#10H ;如果達到下限,無法減速,始終是10
SJMP NOMAL1 ;返回正轉循環中
UP1: DEC 30H ;速度加,因為循環次數-1
CJNE R1,#01H,NOMAL1;速度上限1,如果不到1可繼續加速
MOV 30H,#01H ;如果速度到達上限,不可再加速,始終是1
SJMP NOMAL1 ;返回正轉循環
DOWN2: INC 30H ;速度減,因為循環次數+1
CJNE R1,#10H,NOMAL2;速度下限10,如果不到10可繼續減速
MOV 30H,#10H ;如果達到下限,無法減速,始終是10
SJMP NOMAL2 ;返回反轉循環中
UP2: DEC 30H ;速度加,因為循環次數-1
CJNE R1,#01H,NOMAL2;速度上限1,如果不到1可繼續加速
MOV 30H,#01H ;如果速度到達上限,不可再加速,始終是1
SJMP NOMAL2 ;返回反轉循環中
BACK: RET ;延時子程序返回
TAB1: DB 00H,02H,06H,04H
DB 0CH,08H,09H,01H,03H ;控制各項通電順序的數值表
END ;結束

⑶ 用單片機怎樣實現電機的正反轉控制

方案一:使用開關直接控制電動機的正反轉,此種設計非常簡便易懂,便於修理與使用。

缺點:該方案直接控制易產生火花電弧,會危害操作者生命安全。 如圖1所示:

圖1中的開關為單刀雙擲開關,所以開關有左,中,右三個位置。 方案一開關控制過程如下:

將單刀雙擲開關置向左邊電動機開始正轉,將開關置向右端電動機開始反轉,將開關置向中間位置電動機停止轉動。

方案二:使用電磁繼電器進行控制電動機的正反轉。此種設計使用了電磁繼電器為了是能讓控制過程更安全可靠,順利解決了方案一的不足。

缺點:該方案不能夠滿足現代生活對自動化智能化的基本要求。

⑷ 用單片機怎麼使直流電機正反轉

單片機控制直流電機正反轉,最簡單的方法是 兩個I/O口 控制兩個繼電器(一組常開、常閉)的就可以,電機 兩個極 接 兩個繼電器 的 動觸點,兩個繼電器 的 常開點接+(電機電源),兩個常閉點接-,就可以了。
單片機控制接通一個繼電器 是正轉,控制接通另一個繼電器 是反轉,兩個繼電器都不接通(或者都接通)電機不轉。

⑸ 單片機控制步進電機正反轉實際意義

用單片機控制電機的正反轉比普通的控制正反轉的優勢在於單片機可以自動編程編完程序後按程序來控制正反轉比如說你需要正轉以後延時多長時這反轉那麼你可以直接在單片機里編程就是了。

閱讀全文

與電機正反轉單片機相關的資料

熱點內容
python在excel模板生成數據 瀏覽:47
數位分離並求和python 瀏覽:39
河池源碼出售最新行情 瀏覽:741
曉龍伺服器怎麼樣 瀏覽:321
androidwidget圖片 瀏覽:833
95壓縮比與汽油標號 瀏覽:752
演算法崗位需要學什麼專業研究生 瀏覽:669
銀行卡忘了怎麼登錄手機app 瀏覽:962
加密雙菠蘿帽流蘇掛件 瀏覽:886
雲伺服器後台編程技巧 瀏覽:997
python人工智慧搭建 瀏覽:250
安卓m6用什麼下載 瀏覽:1000
對程序員有偏見嗎 瀏覽:292
如何讓伺服器運行緩慢 瀏覽:238
黑馬程序員入學流程 瀏覽:448
win732位安裝python什麼版本 瀏覽:786
壓縮方式標准 瀏覽:558
免費低吸指標源碼 瀏覽:184
MO命令是 瀏覽:47
python入門常見錯誤 瀏覽:411