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

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

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

怎樣用Arduino連接電機

454398 ? 來源:wv ? 2019-08-29 09:46 ? 次閱讀

步驟1:連接所有硬件

怎樣用Arduino連接電機

連接L293D電機驅(qū)動器

L293D是雙通道全橋電機驅(qū)動器,每通道最大輸出電流為600 mA(數(shù)據(jù)等)。這意味著您可以同時驅(qū)動2個電流,這些電機的電流需求在IC的限制范圍內(nèi)。在我們的例子中,我們只使用一個通道,這意味著我們將使用模塊上的M1 IN/M1輸出端口(IC上分別為引腳2,7和3,6)。為了使電機連接到該通道,我們需要將EN1(引腳1)拉高。我正在使用的模塊提供了一個簡單的跳線布置,用于硬接線,參見圖片?;蛘撸梢酝ㄟ^控制器控制此引腳。引腳連接如圖所示。

連接L298N電機驅(qū)動器

與L293D類似,L298N也是雙全橋電機驅(qū)動器每個通道的最大輸出電流為2A。我們將只使用一個渠道,即。 M1,M2(該模塊具有不同的命名約定,M1-In,M2-In為輸入,M1-Out,M2-Out為相應(yīng)的輸出)數(shù)據(jù)表L298N

當(dāng)我們需要更多電流時對于金屬齒輪直流電機,這個特殊的驅(qū)動器是一個不錯的選擇。它具有良好的性能,低熱量(盡管建議使用散熱器,市場上大多數(shù)模塊都帶有散熱片)。它也非常便宜,有幫助。

連接伺服電機

伺服電機有各種尺寸和相應(yīng)的扭矩等級。通常我們看到扭矩額定值較低的電機使用塑料齒輪,但扭矩額定值較高的電機使用金屬齒輪。

伺服電機有3根電線從中傳出,即信號,Vcc和接地。通常使用的顏色代碼如下:

信號》黃色/橙色;在VCC》紅色/白色; Gnd》 Black/Brown

根據(jù)經(jīng)驗,識別它們的最簡單方法是,最黑暗的一個是地面,略亮的是Vcc,最亮的一個是信號。

如果您使用的是像HK15178這樣的微型伺服,可以使用Arduino上的5V引腳為其供電。但是,當(dāng)電流要求較高時,您的Arduino無法提供足夠的電流,因此您需要從外部供電。我們將使用通用電池消除器電路(UBEC),它具有方便的5V/6V 3A輸出。我們在7805這樣的簡單電壓調(diào)節(jié)器上使用該電路的原因是電壓調(diào)節(jié)器的電流限制低于控制伺服電流所需的輸出電流約1.5至2A(取決于其額定值)。

PS:如果使用Arduino為更高等級的伺服電源供電,電路板可能會突然復(fù)位并以不合需要的方式運行。

連接HC-05藍牙模塊

這一步與使用HC-05和Arduino UNO的智能手機控制LED燈所解釋的完全相似。這里唯一的區(qū)別是我們使用模擬引腳A0和A1作為數(shù)字引腳(D14和D15) Rx和Tx。

第2步:Arduino代碼

#define BoMotor_F 3

#define BoMotor_B 5

#define DcMotor_F 6

#define DcMotor_B 11

#define ServoMotorPin 7

#include

#include

SoftwareSerial mySerial(14, 15); // RX, TX

Servo myservo;

char character;

boolean flag=false;

void setup() {

// put your setup code here, to run once:

mySerial.begin(9600);

Serial.begin(9600);

pinMode(BoMotor_F,OUTPUT);

pinMode(BoMotor_B,OUTPUT);

pinMode(DcMotor_F,OUTPUT);

pinMode(DcMotor_F,OUTPUT);

myservo.attach(ServoMotorPin);//servo is attached on pin7

} void loop() {

// put your main code here, to run repeatedly:

String Data = “”;

flag=false;

while(mySerial.available()) {

character = mySerial.read();

Data.concat(character);

flag=true;

delay(100);

}

if(flag)

{

Data.trim();

Serial.println(Data);

int s = Data.substring(0,1).toInt();

int direction = Data.substring(2,3).toInt();

int value = Data.substring(4).toInt();

switch(s){

case 1:{DcMotor(value, direction); break;}

case 2:{BoMotor(value,direction);break;}

case 3:{ServoMotor(value,direction);break;}

case 0:{DcMotor(0,direction);BoMotor(0,direction);break;}

}

}

}

void DcMotor(int speed, int dir)

{

analogWrite(DcMotor_F,(speed+dir*speed)/2);

analogWrite(DcMotor_B,(speed-dir*speed)/2);

}

void BoMotor(int speed, int dir)

{

analogWrite(BoMotor_F,(speed+dir*speed)/2);

analogWrite(BoMotor_B,(speed-dir*speed)/2);

}

void ServoMotor(int angle, int dir)

{

myservo.write(angle);

delay(2000);

myservo.write(0);

}

第3步:連接智能手機

類似于之前關(guān)于使用HC-05和Arduino UNO的智能手機控制LED燈的文章,我們將繼續(xù)通過HC-05藍牙模塊將我們的智能手機連接到arduino。

命令我們要發(fā)送的內(nèi)容如下:

我想要Dc電機在正向運行PWM值為200,我發(fā)送:

1,1,200

如果相同的直流電機以反向150的PWM運行,我將發(fā)送:

1,-1,150

一般格式是:電機,方向,值

電機:1》直流電機,2》電機電機,3》伺服電機,0》停止正在運行的所有設(shè)備(和平:P)

方向:1》順時針/正向,-1》逆時針/反向

值:PWM值從0到255;在伺服的情況下,這是角度

PS:在Dc電機和Bo電機的情況下,如果您發(fā)現(xiàn)電機正在旋轉(zhuǎn)的方向與預(yù)期相反,只需交換指定的引腳編號前進和后退針腳的程序‘

例如:原始

#define DcMotor_F 6

#define DcMotor_B 11

已交換

#define DcMotor_F 11

#define DcMotor_B 6

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

    關(guān)注

    143

    文章

    9143

    瀏覽量

    147022
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6479

    瀏覽量

    188730
收藏 人收藏

    評論

    相關(guān)推薦

    ADS1293EVM如果ubs連接電腦,還需要外部供電嗎?

    你好,我是一名在校大學(xué)生,剛剛接觸ADS1293問題多多,請問如果ubs連接電腦,還需要外部供電嗎?是不是只需要四根線將電極和輸入端口連接,就可以自帶的軟件測出心電圖?萬分感謝!
    發(fā)表于 01-01 06:42

    請問PCM2707連接電腦時怎樣顯示設(shè)備名稱和同步音量?

    你好,我想一個關(guān)于PCM2707的問題想咨詢一下: 需求在帶有PCM2707的音響設(shè)備在連接電腦時要顯示設(shè)備的名稱,這一項要怎樣實現(xiàn)? 假設(shè)帶有音量按鍵,按此按鍵時可以同時同步電腦的音量嗎?
    發(fā)表于 10-09 10:29

    怎樣電機燒沒燒

    使用萬表檢測電機是否燒壞,可以按照以下步驟進行: 一、準(zhǔn)備工作 確保安全 :在進行任何電氣測試之前,確保斷開電源并使用絕緣手套和絕緣工具進行操作,以確保個人安全。 準(zhǔn)備工具 :準(zhǔn)備一臺功能正常
    的頭像 發(fā)表于 09-27 09:58 ?1550次閱讀

    怎樣用THS3201實現(xiàn)輸出功率可調(diào)?

    怎樣用THS3201實現(xiàn)輸出功率可調(diào)?
    發(fā)表于 08-26 08:28

    連接電路時為什么要斷開開關(guān)

    連接電路時斷開開關(guān)是一個非常重要的安全措施,它可以有效防止電路短路、過載、觸電等危險情況的發(fā)生。 避免電路短路 電路短路是指電路中的電流不經(jīng)過負(fù)載,而是直接從電源的正負(fù)極之間流過,造成電流
    的頭像 發(fā)表于 08-25 09:48 ?1876次閱讀

    連接電路時開關(guān)應(yīng)處于什么狀態(tài)

    連接電路時,開關(guān)應(yīng)處于斷開狀態(tài)。這是因為在電路連接過程中,如果開關(guān)處于閉合狀態(tài),電路中可能會存在電流,這將增加連接電路時的危險性,同時也會影響電路的穩(wěn)定性。 一、開關(guān)的作用 1.1 開關(guān)的定義
    的頭像 發(fā)表于 08-25 09:47 ?1862次閱讀

    分壓式連接電路時 滑動變阻器應(yīng)該連在哪一端

    分壓式連接電路是一種常見的電路連接方式,它利用滑動變阻器來調(diào)節(jié)電路中的電壓。在分壓式連接電路中,滑動變阻器的連接方式對于電路的性能和穩(wěn)定性至關(guān)重要。本文將介紹分壓式
    的頭像 發(fā)表于 08-05 15:02 ?1453次閱讀

    OPA735加OPA333,怎樣用TINA TI去仿真?

    當(dāng)輸入信號VG1從7.06V慢慢變化到7.22V時。 輸出電壓Vout的變化必須是接近線性變化的。我想知道我該怎樣用TINA TI去仿真?怎樣設(shè)置那個輸入信號VG1才能達到我的目的。因為這個電壓源好像
    發(fā)表于 08-02 08:39

    怎樣用Arduino測試鋰電池容量

    本文詳細介紹了如何用Arduino測量鋰電池的容量。并附有電路圖和Arduino的程序代碼。
    的頭像 發(fā)表于 07-30 09:14 ?1177次閱讀
    <b class='flag-5'>怎樣用</b><b class='flag-5'>Arduino</b>測試鋰電池容量

    電機連接器應(yīng)該如何選擇

    選購電機連接器時,需要綜合考慮多個因素,以確保電機系統(tǒng)的穩(wěn)定性和可靠性。以下是選購電機
    的頭像 發(fā)表于 07-23 10:29 ?481次閱讀

    STM32F427USB連接電腦后顯示未知USB設(shè)備,為什么?

    STM32F427USB連接電腦后顯示 未知USB設(shè)備
    發(fā)表于 07-04 08:29

    高壓電機勵磁柜與電機連接多大電纜

    。因此,勵磁柜與電機之間的連接電纜的選擇對于電機的安全運行具有重要意義。 電纜類型選擇 2.1 電纜材料 電纜的材料主要包括銅和鋁兩種。銅電纜具有較高的導(dǎo)電性能和抗拉強度,但其價格相對較高;鋁電纜價格較低,但導(dǎo)電性能
    的頭像 發(fā)表于 06-13 14:32 ?594次閱讀

    求助,在esp-idf中使用arduino作為組件后怎樣使用arduino的庫?

    在esp-idf中使用arduino作為組件后怎樣使用arduino的庫,例如我此時需要使用arduino的第三方庫blinker,怎樣使用
    發(fā)表于 06-12 07:21

    怎樣用STM8L的PB3/TIM2_TRIG的引腳測量脈寬?

    怎樣用STM8L的PB3/TIM2_TRIG的引腳測量脈寬?
    發(fā)表于 05-07 06:55

    stm32f100怎樣用重映射功能?

    的是stm32f100c8t6b芯片,現(xiàn)在想用將PB1映射為TIM1_CH3N,在調(diào)用GPIO_PinAFConfig(GPIOB,GPIO_PinSource1,GPIO_AF_TIM1)時, GPIO_PinAFConfig和GPIO_AF_TIM1都沒定義,stm32f100
    發(fā)表于 05-07 06:06