0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用8051單片機(jī)控制雙向直流電機(jī)

科技觀察員 ? 來源:英銳恩 ? 作者:英銳恩 ? 2023-07-07 10:58 ? 次閱讀

如何將直流電機(jī)連接到8051單片機(jī)?在本文中,主要有8051單片機(jī)+DC電機(jī)系統(tǒng)兩個(gè)部分。首先是帶有控制電機(jī)所需程序的8051單片機(jī),其次是合適的驅(qū)動(dòng)電路

大多數(shù)直流電機(jī)的功率要求遠(yuǎn)遠(yuǎn)超出了單片機(jī)的范圍,而且在反轉(zhuǎn)旋轉(zhuǎn)方向時(shí)產(chǎn)生的電壓尖峰更容易損壞單片機(jī)。因此將直流電機(jī)直接連接到單片機(jī)是不明智的,完美的解決方案是在單片機(jī)和直流電機(jī)之間使用電機(jī)驅(qū)動(dòng)電路。

一、L293電機(jī)驅(qū)動(dòng)芯片

L293是一款專用的H橋電機(jī)驅(qū)動(dòng)器IC,采用16引腳封裝。L293的電流容量為600mA/通道,電源電壓范圍為4.5至36VDC。它們配有內(nèi)部高速鉗位二極管,用于電感尖峰保護(hù)。L293的其他優(yōu)點(diǎn)包括高抗噪性、內(nèi)部ESD保護(hù)、熱關(guān)斷、每個(gè)通道的獨(dú)立輸入電源等。L293電機(jī)驅(qū)動(dòng)器的引腳排列和真值表如下圖所示:

L293-pinout.png

二、使用8051單片機(jī)控制雙向直流電機(jī)

這里的雙向直流電機(jī),它在預(yù)設(shè)時(shí)間(約1秒)后自動(dòng)改變方向。AT89S51是這里使用的單片機(jī),L293構(gòu)成電機(jī)驅(qū)動(dòng)器。電路圖如下所示:

interfacing-dc-motor-8051.png

在電路元件R1、S1和C3中形成去抖動(dòng)復(fù)位電路。C1、C2和X1與振蕩器有關(guān)。端口引腳P1.0和P1.1連接到L293電機(jī)驅(qū)動(dòng)器的相應(yīng)輸入引腳。電機(jī)連接在L293的輸出引腳3和6之間。軟件是這樣寫的,P1.0和P1.1的邏輯組合控制電機(jī)的方向。最初接通電源時(shí),P1.0為高電平,P1.1為低電平。該狀態(tài)保持預(yù)設(shè)時(shí)間(約1S),此時(shí)電機(jī)將沿順時(shí)針方向運(yùn)行(參見L293的功能表)。然后P1.0和P1.1的邏輯被交換并且這個(gè)條件也保持相同的持續(xù)時(shí)間。

控制程序1:

ORG 00H
MAIN: MOV P1,#00000001B
ACALL DELAY
MOV P1,#00000010B
ACALL DELAY
SJMP MAIN
DELAY: MOV R4,#0FH
WAIT1: MOV R3,#00H
WAIT2: MOV R2,#00H
WAIT3: DJNZ R2,WAIT3
DJNZ R3,WAIT2
DJNZ R4,WAIT1
RET
END

三、帶按鈕控制的雙向電機(jī)

下面顯示的電路是基于8051單片機(jī)的雙向電機(jī),其方向可以使用2個(gè)按鈕開關(guān)控制。除了兩個(gè)按鈕開關(guān)之外,該電路與前一個(gè)電路非常相似。這些按鈕開關(guān)連接到單片機(jī)的P0rt3。電阻R2和R3分別是P3.0和3.1的下拉電阻。

interfacing-dc-motor-8051-push-button.png

上述項(xiàng)目的代碼是這樣編寫的,最初當(dāng)電源打開時(shí),電機(jī)保持關(guān)閉。當(dāng)按下按鈕開關(guān)S2時(shí),P1.0變?yōu)楦唠娖?,而P1.1保持低電平。電機(jī)按順時(shí)針方向運(yùn)行,此狀態(tài)一直保持到按下S3。當(dāng)按下按鈕開關(guān)S3時(shí),P1.0和P1.1的邏輯切換,使電機(jī)以相反方向運(yùn)行,這種狀態(tài)一直保持到下一次按下S2。

控制程序2:

ORG 00H
MOV P3,#00000000B
MOV P1,#00000000B
MAIN:MOV A,P3
CJNE A,#00000001B,LABEL1
MOV P1,#00000001B
LABEL1:CJNE A,#00000010B,LABEL2
MOV P1,#00000010B
LABEL2:SJMP MAIN
END

檢查特定按鈕是否被按下是使用CJNE(如果不相等則比較并跳轉(zhuǎn))指令完成的。簡而言之,CJNE指令比較兩個(gè)操作數(shù),如果操作數(shù)不相等,則跳轉(zhuǎn)到預(yù)定義的LABEL。如果兩個(gè)操作數(shù)相等,則不會發(fā)生任何事情并執(zhí)行下一條指令。每當(dāng)按下按鈕S2時(shí),P3的狀態(tài)將是00000001B。該狀態(tài)被移動(dòng)到累加器A并使用CJNE指令與00000001B進(jìn)行比較。兩個(gè)操作數(shù)相等表示按下S2,執(zhí)行下一條使電機(jī)順時(shí)針轉(zhuǎn)動(dòng)的指令(MOV P1,#00000001B)。如果操作數(shù)不相等,則表示沒有按下S2,控制器跳轉(zhuǎn)到LABEL1以檢查S3。要檢查S3,P3的狀態(tài)再次移動(dòng)到A,并使用CJNE指令與00000010B進(jìn)行比較。兩個(gè)操作數(shù)相等表示按下S3,執(zhí)行下一條使電機(jī)逆時(shí)針運(yùn)行的指令(MOV P1,#00000010B)。兩個(gè)操作數(shù)不相等意味著S3未被按下,控制器再次檢查S2并重復(fù)此循環(huán)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 直流電機(jī)
    +關(guān)注

    關(guān)注

    36

    文章

    1692

    瀏覽量

    69901
  • 8051單片機(jī)
    +關(guān)注

    關(guān)注

    5

    文章

    153

    瀏覽量

    25430
收藏 人收藏

    評論

    相關(guān)推薦

    51單片機(jī)直流電機(jī)控制

    方便的實(shí)現(xiàn)電機(jī)的智能控制。主體電路:即直流電機(jī)PWM控制模塊。這部分電路主要由AT89C52單片機(jī)的I/O端口、定時(shí)計(jì)數(shù)器、外部中斷擴(kuò)展等
    發(fā)表于 08-06 15:42

    單片機(jī)控制直流電機(jī)

    如何用單片機(jī)控制直流電機(jī),需要準(zhǔn)備什么?能發(fā)一下代碼嗎?我現(xiàn)在有51單片機(jī)控制板和一個(gè)直流電機(jī)
    發(fā)表于 07-12 15:57

    單片機(jī)控制直流電機(jī)

    單片機(jī)控制直流電機(jī) 本設(shè)計(jì)以AT89C51單片機(jī)為核心,以4*4矩陣鍵盤做為輸
    發(fā)表于 10-27 17:52 ?1.1w次閱讀
    用<b class='flag-5'>單片機(jī)</b><b class='flag-5'>控制</b><b class='flag-5'>直流電機(jī)</b>

    基于AVR單片機(jī)的無刷直流電機(jī)控制系統(tǒng)設(shè)計(jì)

    基于AVR單片機(jī)的無刷直流電機(jī)控制系統(tǒng)設(shè)計(jì)
    發(fā)表于 03-06 15:51 ?158次下載
    基于AVR<b class='flag-5'>單片機(jī)</b>的無刷<b class='flag-5'>直流電機(jī)</b><b class='flag-5'>控制</b>系統(tǒng)設(shè)計(jì)

    單片機(jī)控制直流電機(jī)

    單片機(jī)控制直流電機(jī),很好的C語言資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-26 09:27 ?72次下載

    基于51單片機(jī)控制直流電機(jī)

    基于51單片機(jī)直流電機(jī)驅(qū)動(dòng)程序你能耐V型微分 擦省點(diǎn)錢
    發(fā)表于 05-16 11:05 ?23次下載

    基于單片機(jī)的紅外遙控直流電機(jī)控制系統(tǒng)設(shè)計(jì)

    基于51單片機(jī)的紅外遙控直流電機(jī)控制系統(tǒng)設(shè)計(jì)
    發(fā)表于 01-22 21:03 ?47次下載

    基于AVR單片機(jī)實(shí)現(xiàn)的直流電機(jī)PWM調(diào)速控制

    基于AVR單片機(jī)實(shí)現(xiàn)的直流電機(jī)PWM調(diào)速控制
    發(fā)表于 10-15 10:19 ?28次下載
    基于AVR<b class='flag-5'>單片機(jī)</b>實(shí)現(xiàn)的<b class='flag-5'>直流電機(jī)</b>PWM調(diào)速<b class='flag-5'>控制</b>器

    使用51單片機(jī)控制直流電機(jī)調(diào)速的程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)控制直流電機(jī)調(diào)速的程序免費(fèi)下載,通過P1.0口來控制直流電機(jī)的旋轉(zhuǎn)的快慢。
    發(fā)表于 06-13 17:45 ?48次下載
    使用51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>控制</b><b class='flag-5'>直流電機(jī)</b>調(diào)速的程序免費(fèi)下載

    使用51單片機(jī)控制直流電機(jī)的代碼免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用51單片機(jī)控制直流電機(jī)的代碼免費(fèi)下載包括了:點(diǎn)動(dòng)控制兩個(gè)直流電機(jī)正反轉(zhuǎn)電位器調(diào)速,分別
    發(fā)表于 06-24 08:00 ?25次下載
    使用51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>控制</b><b class='flag-5'>直流電機(jī)</b>的代碼免費(fèi)下載

    單片機(jī)控制直流電機(jī)基本原理

    直流無刷電動(dòng)機(jī)在交通、輪轂電機(jī)、機(jī)械、紡織、航空等領(lǐng)域中已經(jīng)得到廣泛的應(yīng)用。以往的直流無刷電動(dòng)機(jī)控制只是簡單的控制,
    的頭像 發(fā)表于 08-07 21:33 ?1.2w次閱讀

    單片機(jī)入門匯編程序--直流電機(jī)單片機(jī)控制

    單片機(jī)入門匯編程序--直流電機(jī)單片機(jī)控制(15kvaups電源技術(shù)協(xié)議)-該文檔為單片機(jī)入門匯編程序--
    發(fā)表于 09-22 14:37 ?38次下載
    <b class='flag-5'>單片機(jī)</b>入門匯編程序--<b class='flag-5'>直流電機(jī)</b>的<b class='flag-5'>單片機(jī)</b><b class='flag-5'>控制</b>

    51單片機(jī)控制直流電機(jī)的程序和電路

    51單片機(jī)控制直流電機(jī)的程序和電路(電源技術(shù)發(fā)展怎么樣)-51單片機(jī)控制直流電機(jī)的程序和電路,使
    發(fā)表于 09-24 12:52 ?112次下載
    51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>控制</b><b class='flag-5'>直流電機(jī)</b>的程序和電路

    單片機(jī)操作直流電機(jī)

    單片機(jī)操作直流電機(jī)(電源技術(shù)研討會武漢)-單片機(jī)操作直流電機(jī),控制電機(jī)的轉(zhuǎn)速,PWM
    發(fā)表于 09-27 15:02 ?33次下載
    <b class='flag-5'>單片機(jī)</b>操作<b class='flag-5'>直流電機(jī)</b>

    基于51單片機(jī)直流電機(jī)控制系統(tǒng)Proteus仿真

    基于51單片機(jī)直流電機(jī)控制系統(tǒng)Proteus仿真
    發(fā)表于 02-07 15:37 ?188次下載