操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    在本次的文章中,我們將會(huì)介紹如何使用 Arduino 控制直流有刷電機(jī)。

    直流有刷電機(jī)上生活中最為常見的電動(dòng)機(jī)之一。小時(shí)候玩的四驅(qū)車采用的就是直流有刷電機(jī)。這種直流電機(jī)的驅(qū)動(dòng)也是非常簡(jiǎn)單 ,只要給它接上直流電,電機(jī)就能轉(zhuǎn)動(dòng),改變電源正負(fù)極,電機(jī)就能反轉(zhuǎn)。那么我們?cè)趺磳?duì)電機(jī)進(jìn)行調(diào)速并且更方便地切換電機(jī)的旋轉(zhuǎn)方向呢?

    我們知道,一個(gè)電機(jī)接兩節(jié)干電池時(shí)的轉(zhuǎn)速要比只接一節(jié)干電池要快得多。因此我們可以通過簡(jiǎn)單地控制電機(jī)的輸入電壓來控制直流電機(jī)的轉(zhuǎn)速。最常用的方法是使用 PWM 信號(hào)控制電機(jī)。

    PWM 直流電機(jī)控制

    PWM 脈沖寬度調(diào)制(Pulse width modulation,PWM)是一種模擬控制方式,根據(jù)相應(yīng)載荷的變化來調(diào)制晶體管基極或MOS管柵極的偏置,來實(shí)現(xiàn)晶體管或MOS管導(dǎo)通時(shí)間的改變,從而實(shí)現(xiàn)開關(guān)穩(wěn)壓電源輸出的改變。這種方式能使電源的輸出電壓在工作條件變化時(shí)保持恒定,是利用微處理器的數(shù)字信號(hào)對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù)。它相當(dāng)于我們通過快速打開和關(guān)閉電源來調(diào)整輸入電子設(shè)備的電壓的平均值。 平均電壓取決于占空比,或者信號(hào)開啟的時(shí)間與信號(hào)在一個(gè)周期內(nèi)關(guān)閉的時(shí)間的比值。

    PWM原理圖

    因此,根據(jù)電機(jī)的大小,我們可以簡(jiǎn)單地將 Arduino PWM 輸出連接到晶體管的基極或 MOS的柵極,并通過控制 PWM 輸出來控制電機(jī)的速度。 低功率 Arduino PWM 信號(hào)打開和關(guān)閉 MOS上的柵極,通過該柵極驅(qū)動(dòng)高功率電機(jī)。

    Arduino驅(qū)動(dòng)直流電機(jī)接線圖

    注意:Arduino與電機(jī)電源需共地。

    H-橋直流電機(jī)控制

    我們已經(jīng)學(xué)會(huì)了控制電機(jī)的速度,下一步就是控制電機(jī)的正反轉(zhuǎn)。為了控制旋轉(zhuǎn)方向,我們只需要反轉(zhuǎn)通過電機(jī)的電流方向,最常用的方法是使用H橋。 H橋電路包含四個(gè)開關(guān)元件、晶體管或MOS,中間的電機(jī)形成類似H型的電路。通過同時(shí)激活兩個(gè)特定的開關(guān),我們就可以改變電流的方向,從而改變電機(jī)的旋轉(zhuǎn)方向。比如只接通開關(guān)1,3電機(jī)正轉(zhuǎn),只接通2,4開關(guān)電機(jī)就會(huì)反轉(zhuǎn)。

    因此,如果我們將PWM和H橋這兩種方法結(jié)合起來,我們就自如地控制直流電機(jī)了。實(shí)際上我們有許多具有這種功能的直流電機(jī)驅(qū)動(dòng)器,L298N 就是其中最常用的模塊之一。

    L298N驅(qū)動(dòng)模塊

    L298N 是雙H橋電機(jī)驅(qū)動(dòng)器,可同時(shí)控制兩個(gè)直流電機(jī)的速度和方向。該模塊可以驅(qū)動(dòng)電壓在5-35V之間的直流電機(jī),峰值電流可達(dá)2A。

    該模塊左右各有兩個(gè)螺釘接線端子用于連接電機(jī)A和B。中間的螺釘接線端子包括一個(gè)接地端,一個(gè)電機(jī)5-35V的供電端VCC以及一個(gè)5V接線端,它可以是輸入或輸出。這取決于電機(jī) VCC 上使用的電壓。 該模塊具有板載5V穩(wěn)壓器,可使用跳線啟用或禁用該穩(wěn)壓器。 如果電機(jī)電源電壓高達(dá) 12V,我們可以啟用5V穩(wěn)壓器,并且 5V 引腳可以用作輸出,并為我們的 Arduino 板供電。 但如果電機(jī)電壓大于 12V,我們必須斷開跳線,因?yàn)檫^高的電壓會(huì)損壞板載 5V 穩(wěn)壓芯片。 在這種情況下,5V 引腳將用作輸入,因?yàn)槲覀冃枰獙⑵溥B接到 5V 電源才能使 IC 正常工作。


    接下來是信號(hào)端的接線。使能A(EnableA)和使能B(EnableB)引腳用于啟用和控制電機(jī)速度。如果該引腳上存在跳線,電機(jī)將啟動(dòng)并以最大速度工作。我們也拆下跳線帽,將PWM輸入此引腳,就可以控制電機(jī)的速度。如果我們將此針腳接地,電機(jī)將被禁用。

    接下來,IN1和IN2引腳用于控制馬達(dá)A的旋轉(zhuǎn)方向,IN3和IN4用于馬達(dá)B。我們通過這些引腳,來L298N IC內(nèi)部H橋的開關(guān)。如果IN1輸入低電平而IN2輸入高電平,電機(jī)將正轉(zhuǎn),如果N1輸入高電平而IN2輸入低電平,電機(jī)將反轉(zhuǎn)。如果兩個(gè)引腳輸入相同,電機(jī)將停止。這同樣適用于IN3和IN4以及電機(jī)B。

    Arduino L298N電機(jī)驅(qū)動(dòng)

    現(xiàn)在讓我們連接上Arduino 做一個(gè)實(shí)際應(yīng)用。我們將使用電位計(jì)控制電機(jī)的速度,并使用按鈕改變旋轉(zhuǎn)方向。下面是電路圖。

    硬件設(shè)備:

    • Arduino UNO控制器 × 1
    • 298N電機(jī)驅(qū)動(dòng)模塊 × 1
    • 直流電機(jī) × 1
      • 電位計(jì) × 1
      • 按鈕 × 1
      • 12V 電源 × 1
      • 杜邦線 × n

    Arduino代碼

    /*  Arduino 直流電機(jī)控制 - PWM | H-Bridge | L298N */
    #define enA 9   //定義電機(jī)控制端和使能端
    #define in1 6
    #define in2 7
    
    #define button 4   //定義按鍵
    int rotDirection=0;    //定義旋轉(zhuǎn)方向
    int pressed=false;
    void setup() {
      pinMode(enA, OUTPUT);
      pinMode(in1, OUTPUT);
      pinMode(in2, OUTPUT);
      pinMode(button, INPUT);
      // 設(shè)置初始旋轉(zhuǎn)方向
      digitalWrite(in1, LOW);
      digitalWrite(in2, HIGH);
    }
    void loop() {
      int potValue=analogRead(A0);  // 讀取電位計(jì)值
      int pwmOutput=map(potValue, 0, 1023, 0 , 255); //將電位計(jì)值映射到 0- 255
      analogWrite(enA, pwmOutput); //  PWM信號(hào)輸出
      // 讀取按鍵值
      if (digitalRead(button)==true) {
        pressed=!pressed;
      }
      while (digitalRead(button)==true);
      delay(20);
       // 如果按鍵被按下,改變電機(jī)旋轉(zhuǎn)方向
      if (pressed==true  & rotDirection==0) {
        digitalWrite(in1, HIGH);
        digitalWrite(in2, LOW);
        rotDirection=1;
        delay(20);
      }
      // 如果按鍵被按下,改變電機(jī)旋轉(zhuǎn)方向
      if (pressed==false & rotDirection==1) {
        digitalWrite(in1, LOW);
        digitalWrite(in2, HIGH);
        rotDirection=0;
        delay(20);
      }
    }

    該實(shí)例程序中,我們需要先定義程序所需的管腳和變量。在setup中,我們需要設(shè)置引腳模式和電機(jī)的初始旋轉(zhuǎn)方向。在loop中,我們首先讀取電位計(jì)值,然后將從中獲得的值(從0到1023)映射為PWM信號(hào)的0到255的值,或者是PWM信號(hào)的0到100%占空比。然后使用analogWrite()函數(shù)將PWM信號(hào)發(fā)送到L298N板的啟用引腳,該引腳實(shí)際驅(qū)動(dòng)電機(jī)。

    接下來,我們檢查是否按下了按鈕,如果是值是真的,通過反向設(shè)置in1和in2狀態(tài)來改變電機(jī)的旋轉(zhuǎn)方向。該按鈕將作為電機(jī)換向按鈕,每次我們按下它,電機(jī)的旋轉(zhuǎn)方向就會(huì)改變。

    前言

    現(xiàn)如今網(wǎng)絡(luò)上關(guān)于Arduino開發(fā)的環(huán)境安裝教程已經(jīng)很多了,為什么我還會(huì)出一篇關(guān)于環(huán)境配置的文章?

    1、為了完成本次系列的完整性;

    2、給看到此筆記的新手快速的上手。

    一、什么是Arduino?

    Arduino是一套便捷、靈活、容易上手的硬件開發(fā)平臺(tái),它包括多種型號(hào)的Arduino控制電路板,和專用編程開發(fā)軟件。Arduino省略了很多繁瑣的底層開發(fā),讓人們可以專注在功能實(shí)現(xiàn),快速的開發(fā)出智能硬件原型。Arduino的硬件價(jià)格也相對(duì)便宜,所以,Arduino可以說是適合每個(gè)人的硬件開發(fā)平臺(tái)。

    二、 Arduino開發(fā)環(huán)境的搭建

    在開始使用Arduino之前,需要在電腦上安裝Arduino的集成開發(fā)環(huán)境(此后簡(jiǎn)稱IDE)。打開資料中的官方軟件(親也可以自己到官網(wǎng)下載https://www.arduino.cc/en/Main/Software),如下圖所示,按照安裝以下步驟安裝到熟悉的文件位置(后面經(jīng)常會(huì)用到的哦)。

    在這里插入圖片描述

    進(jìn)入頁(yè)面以后,連續(xù)點(diǎn)擊 Just download,下載軟件安裝包。下載后打開安裝包,按照以下步驟安裝。

    安裝好官方的IDE以后電腦桌面或出現(xiàn)這個(gè)圖標(biāo),以后編寫代碼都是打開這個(gè)圖標(biāo)進(jìn)行的哦。

    雙擊桌面的軟件圖標(biāo),進(jìn)入Arduino IDE之后。第一次啟動(dòng)會(huì)自動(dòng)下載一些包,會(huì)比較慢,耐心等待。

    在這里插入圖片描述

    在工具欄上, Arduino IDE提供了常用功能的快捷鍵:

    校驗(yàn)(Verify),驗(yàn)證程序是否編寫無誤,若無誤則編譯該項(xiàng)目。

    下載(Upload),下載程序到Arduino控制器上。

    新建(New),新建一個(gè)項(xiàng)目。

    打開(Open),打開一個(gè)項(xiàng)目。

    保存(Save),保存當(dāng)前項(xiàng)目。

    串口監(jiān)視器(Serial Monitor),IDE自帶的一個(gè)簡(jiǎn)單的串口監(jiān)視器程序,用它可以查看串口發(fā)送或接收到的數(shù)據(jù)。相對(duì)于IAR、Keil等專業(yè)的硬件開發(fā)環(huán)境,Arduino的開發(fā)環(huán)境給人以簡(jiǎn)單明了的感覺,但正是這種簡(jiǎn)單,省去了很多不常用的功能,使得基礎(chǔ)知識(shí)不多的使用者更容易上手。

    三、CH340驅(qū)動(dòng)的安裝

    win10 安裝串口驅(qū)動(dòng)

    先把a(bǔ)rduino 開發(fā)板連接上PC USB口,打開驅(qū)動(dòng)軟件

    點(diǎn)擊安裝即可,安裝成功以后設(shè)備管理器中能看到對(duì)應(yīng)端口和驅(qū)動(dòng)型號(hào)。

    ?

網(wǎng)站首頁(yè)   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號(hào):冀ICP備2024067069號(hào)-3 北京科技有限公司版權(quán)所有