91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

如何使用Arduino控制伺服電機(jī)

454398 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-27 15:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述

在本課程中,您將學(xué)習(xí)如何使用Arduino控制伺服電機(jī)。

首先,您將使伺服器回掃并

如何使用Arduino控制伺服電機(jī)

零件

要構(gòu)建本課中描述的項(xiàng)目,您將需要以下零件。

零件 數(shù)量

伺服電機(jī) 1

10kΩ可變電阻器(pot)

1

半尺寸面包板

1

Arduino Uno R3

1

跳線包

1

100 μF電容器

可選

“掃描”的面包板布局

對(duì)于本實(shí)驗(yàn),唯一與Arduino連接的是伺服電機(jī)。

伺服電機(jī)有三根引線。引線的顏色在伺服電機(jī)之間有所不同,但是紅色引線始終為5V,而GND將為黑色或棕色。另一個(gè)引線是控制引線,通常為橙色或黃色。該控制導(dǎo)線連接到數(shù)字引腳9。

伺服器方便地端接到一個(gè)插座中,我們可以在其中插入跳線,將其鏈接到面包板,然后再連接到Arduino。

如果伺服器不正常

您的伺服器可能行為異常,您可能會(huì)發(fā)現(xiàn)只有在將Arduino插入某些USB端口時(shí)才會(huì)發(fā)生這種情況。這是因?yàn)樗欧飨牧舜罅抗β?,尤其是在電?dòng)機(jī)啟動(dòng)時(shí),這種突然的高需求足以降低Arduino板上的電壓,從而使其自身復(fù)位。

如果這發(fā)生這種情況,那么通??梢酝ㄟ^(guò)在面包板上的GND和5V之間添加一個(gè)高值電容器(470uF或更大)來(lái)治愈它。

電容器充當(dāng)電動(dòng)機(jī)的蓄電庫(kù),因此在啟動(dòng)時(shí),它會(huì)從電動(dòng)機(jī)電容器和Arduino電源。

電容器的較長(zhǎng)引線為正極引線,應(yīng)將其連接到5V。負(fù)極引線也經(jīng)常標(biāo)有“-”符號(hào)。

Arduino的‘Sweep’代碼

將以下草圖加載到Arduino上,您應(yīng)該發(fā)現(xiàn)舵機(jī)立即開始首先向一個(gè)方向旋轉(zhuǎn),然后又向另一個(gè)方向旋轉(zhuǎn)

該草圖基于標(biāo)準(zhǔn)的“掃描”草圖,您可以在Arduino示例中的“ servo”文件夾下找到該草圖。如果愿意,可以運(yùn)行該草圖。

下載:文件

復(fù)制代碼

/*

Adafruit Arduino - Lesson 14. Sweep

*/

#include

int servoPin = 9;

Servo servo;

int angle = 0; // servo position in degrees

void setup()

{

servo.attach(servoPin);

}

void loop()

{

// scan from 0 to 180 degrees

for(angle = 0; angle 《 180; angle++)

{

servo.write(angle);

delay(15);

}

// now scan back from 180 to 0 degrees

for(angle = 180; angle 》 0; angle--)

{

servo.write(angle);

delay(15);

}

} /*

Adafruit Arduino - Lesson 14. Sweep

*/

#include

int servoPin = 9;

Servo servo;

int angle = 0; // servo position in degrees

void setup()

{

servo.attach(servoPin);

}

void loop()

{

// scan from 0 to 180 degrees

for(angle = 0; angle 《 180; angle++)

{

servo.write(angle);

delay(15);

}

// now scan back from 180 to 0 degrees

for(angle = 180; angle 》 0; angle--)

{

servo.write(angle);

delay(15);

}

}

伺服電機(jī)由一系列脈沖控制,為了使其易于使用,已創(chuàng)建了一個(gè)Arduino庫(kù),以便您可以指示伺服電機(jī)轉(zhuǎn)至特定角度。

使用伺服的命令類似于內(nèi)置的Arduino命令,但是由于您始終不會(huì)在項(xiàng)目中使用伺服,因此將它們保存在一個(gè)稱為庫(kù)的東西中。如果要使用servo庫(kù)中的命令,則需要通過(guò)以下命令告訴Arduino IDE您正在使用該庫(kù):

下載:文件

復(fù)制代碼

#include #include

變量“ servoPin”來(lái)定義用于控制伺服器的引腳。

此行:

下載:文件

復(fù)制代碼

Servo servo; Servo servo;

定義了一個(gè)新的變量“ servo”輸入“伺服”。該庫(kù)為我們提供了一種新類型,例如表示伺服的“ int”或“ float”。您實(shí)際上可以通過(guò)這種方式最多定義八個(gè)伺服器,因此,如果我們有兩個(gè)伺服器,則可以編寫如下內(nèi)容:

下載:文件

復(fù)制代碼

Servo servo1;

Servo servo2; Servo servo1;

Servo servo2;

在“設(shè)置”功能中,我們需要使用以下命令將“ servo”變量鏈接到將控制伺服器的引腳:

下載:file

復(fù)制代碼

servo.attach(servoPin); servo.attach(servoPin);

變量‘a(chǎn)ngle’用于包含當(dāng)前伺服角度度。在“循環(huán)”功能中,我們使用兩個(gè)“ for”循環(huán)首先在一個(gè)方向上增加角度,然后在達(dá)到180度時(shí)又在另一個(gè)方向上增加角度。

命令:

下載:文件

復(fù)制代碼

servo.write(angle); servo.write(angle);

告訴伺服器將其位置更新為參數(shù)提供的角度。

“旋鈕”的面包板布局

下一步是添加一個(gè)鍋,以便我們可以通過(guò)旋轉(zhuǎn)旋鈕來(lái)控制伺服器的位置。

您只需要在Arduino上將鍋和導(dǎo)線從其滑塊添加到A0。

Arduino的“旋鈕”代碼

使伺服跟隨旋鈕位置的代碼比使其掃掠更簡(jiǎn)單。

下載:文件

復(fù)制代碼

/*

Adafruit Arduino - Lesson 14. Knob

*/

#include

int potPin = 0;

int servoPin = 9;

Servo servo;

void setup()

{

servo.attach(servoPin);

}

void loop()

{

int reading = analogRead(potPin); // 0 to 1023

int angle = reading / 6; // 0 to 180-ish

servo.write(angle);

} /*

Adafruit Arduino - Lesson 14. Knob

*/

#include

int potPin = 0;

int servoPin = 9;

Servo servo;

void setup()

{

servo.attach(servoPin);

}

void loop()

{

int reading = analogRead(potPin); // 0 to 1023

int angle = reading / 6; // 0 to 180-ish

servo.write(angle);

}

現(xiàn)在有一個(gè)名為“ potPin”的第二個(gè)變量。

要設(shè)置伺服器的位置,我們從A0讀取一個(gè)模擬讀數(shù)。這樣我們得到的值在0到1023之間。由于伺服器只能旋轉(zhuǎn)180度,因此我們需要按比例縮小該值。將其除以6將得到一個(gè)介于0到170之間的角度,就可以了。

伺服電機(jī)

伺服電機(jī)的位置由脈沖長(zhǎng)度設(shè)置。伺服器預(yù)計(jì)大約每20毫秒接收一次脈沖。如果該脈沖在1毫秒內(nèi)為高電平,則伺服角度將為零;如果為1.5毫秒,則它將達(dá)到其中心位置;如果為2毫秒,則將處于180度。

伺服器的端點(diǎn)可能會(huì)有所不同許多伺服系統(tǒng)只能轉(zhuǎn)大約170度您還可以購(gòu)買可以連續(xù)旋轉(zhuǎn)360度的“連續(xù)”伺服器。

在伺服器內(nèi)部

下面的簡(jiǎn)短視頻向您展示了伺服器內(nèi)部正在發(fā)生的情況。

但是請(qǐng)注意,如果像這樣拆除伺服器,很有可能不會(huì)正確返回。

其他要做的事情

打開“掃描”草圖,然后嘗試將延遲從15毫秒減少到5毫秒。請(qǐng)注意伺服旋轉(zhuǎn)的速度。

嘗試修改“旋鈕”草圖,以使它不再?gòu)男o的位置獲取伺服角度,而是從串行監(jiān)視器獲取該角度,以便可以從計(jì)算機(jī)控制伺服。

》提示:要使草圖從串行監(jiān)視器讀取度數(shù),可以使用functionSerial.parseInt()。這將從串行監(jiān)視器中讀取一個(gè)數(shù)字。

責(zé)任編輯:wv

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

    關(guān)注

    88

    文章

    2183

    瀏覽量

    61269
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6526

    瀏覽量

    196894
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    PLC怎么控制多臺(tái)交流伺服電機(jī)達(dá)到同步工作

    在現(xiàn)代工業(yè)自動(dòng)化控制系統(tǒng)中,多臺(tái)交流伺服電機(jī)的同步控制是實(shí)現(xiàn)高精度運(yùn)動(dòng)控制的關(guān)鍵技術(shù)之一。PLC(可編程邏輯
    的頭像 發(fā)表于 02-27 17:04 ?276次閱讀
    PLC怎么<b class='flag-5'>控制</b>多臺(tái)交流<b class='flag-5'>伺服</b><b class='flag-5'>電機(jī)</b>達(dá)到同步工作

    三菱FX3U PLC控制伺服電機(jī)的高速脈沖模式解析

    三菱FX3U做為一款入門級(jí)PLC,應(yīng)用很廣泛,其實(shí)學(xué)習(xí)PLC就幾點(diǎn),開關(guān)量的輸入、輸出,就是我們平常所說(shuō)的IO、伺服(或者步進(jìn)電機(jī))的控制、Modbus通信、模擬量輸入輸出,掌握了這些,基本可以做80%的項(xiàng)目了,小編今天主要來(lái)和
    的頭像 發(fā)表于 01-27 15:51 ?1140次閱讀
    三菱FX3U PLC<b class='flag-5'>控制</b><b class='flag-5'>伺服</b><b class='flag-5'>電機(jī)</b>的高速脈沖模式解析

    探索用于Arduino的TLE94112ES直流電機(jī)控制盾牌

    探索用于Arduino的TLE94112ES直流電機(jī)控制盾牌 引言 在電子工程領(lǐng)域,電機(jī)控制一直是至關(guān)重要的部分。對(duì)于
    的頭像 發(fā)表于 12-18 16:35 ?312次閱讀

    伺服電機(jī)增益詳解

    伺服電機(jī)增益調(diào)節(jié)是運(yùn)動(dòng)控制中的核心環(huán)節(jié),直接影響系統(tǒng)的響應(yīng)速度、穩(wěn)定性和精度。本文將深入解析增益參數(shù)的作用機(jī)理、調(diào)節(jié)方法及典型應(yīng)用場(chǎng)景,幫助工程師實(shí)現(xiàn)伺服系統(tǒng)的最佳性能匹配。 一、增益
    的頭像 發(fā)表于 12-08 07:42 ?1161次閱讀

    伺服電機(jī)控制方式簡(jiǎn)述

    伺服電機(jī)作為自動(dòng)化控制系統(tǒng)的核心執(zhí)行元件,其控制方式直接決定了設(shè)備的動(dòng)態(tài)響應(yīng)、定位精度和運(yùn)行效率。隨著工業(yè)4.0和智能制造的發(fā)展,伺服
    的頭像 發(fā)表于 12-01 07:37 ?756次閱讀
    <b class='flag-5'>伺服</b><b class='flag-5'>電機(jī)</b>的<b class='flag-5'>控制</b>方式簡(jiǎn)述

    派克Parker防爆伺服電機(jī)與普通伺服電機(jī)的區(qū)別

    Parker提供了多款不同的伺服電機(jī),性能各有不同,針對(duì)特定易燃易爆場(chǎng)所使用的防爆伺服電機(jī),與普通通用伺服
    的頭像 發(fā)表于 11-20 13:36 ?399次閱讀
    派克Parker防爆<b class='flag-5'>伺服</b><b class='flag-5'>電機(jī)</b>與普通<b class='flag-5'>伺服</b><b class='flag-5'>電機(jī)</b>的區(qū)別

    伺服電機(jī)控制系統(tǒng)的高寬帶電流環(huán)參數(shù)設(shè)計(jì)

    上回我們介紹了EtherCAT是如何利用SSC產(chǎn)生的sync信號(hào),與電機(jī)控制系統(tǒng)完成同步的,如此我們即可保證整個(gè)控制系統(tǒng)的同步性能伺服控制。
    的頭像 發(fā)表于 11-17 09:53 ?7611次閱讀
    <b class='flag-5'>伺服</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>控制</b>系統(tǒng)的高寬帶電流環(huán)參數(shù)設(shè)計(jì)

    伺服電機(jī)和步進(jìn)電機(jī)的核心區(qū)別

    大家在運(yùn)動(dòng)控制的時(shí)候是用伺服電機(jī)的還是用步進(jìn)電機(jī)做定位控制了?為什么有時(shí)候用伺服
    的頭像 發(fā)表于 10-15 14:32 ?1766次閱讀
    <b class='flag-5'>伺服</b><b class='flag-5'>電機(jī)</b>和步進(jìn)<b class='flag-5'>電機(jī)</b>的核心區(qū)別

    舵機(jī)與伺服電機(jī)的區(qū)別是什么?

    舵機(jī)與伺服電機(jī)都屬于 可精確控制的驅(qū)動(dòng)裝置 ,但二者在定義范圍、結(jié)構(gòu)組成、控制方式和應(yīng)用場(chǎng)景上存在顯著差異,并非完全等同(舵機(jī)是伺服
    的頭像 發(fā)表于 10-13 10:21 ?1783次閱讀

    MT6825磁編芯片如何突破伺服電機(jī)控制精度瓶頸

    伺服電機(jī)作為工業(yè)自動(dòng)化、機(jī)器人、數(shù)控機(jī)床等高端裝備的核心執(zhí)行部件,其控制精度直接影響設(shè)備性能。傳統(tǒng)光電編碼器受限于機(jī)械結(jié)構(gòu)易磨損、抗干擾能力弱等問(wèn)題,難以滿足高精度場(chǎng)景需求。而MT6825磁編碼器
    的頭像 發(fā)表于 07-28 17:20 ?743次閱讀
    MT6825磁編芯片如何突破<b class='flag-5'>伺服</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>控制</b>精度瓶頸

    伺服電機(jī)中的回原點(diǎn)方式

    伺服電機(jī)的運(yùn)行需要一個(gè)參考點(diǎn),這個(gè)參考點(diǎn)就是原點(diǎn)。原點(diǎn)通常是由光電開關(guān)或機(jī)械開關(guān)來(lái)確定的,其位置是固定的。當(dāng)伺服電機(jī)運(yùn)行時(shí),控制器會(huì)根據(jù)原點(diǎn)
    的頭像 發(fā)表于 07-26 09:43 ?3389次閱讀
    <b class='flag-5'>伺服</b><b class='flag-5'>電機(jī)</b>中的回原點(diǎn)方式

    什么是伺服電機(jī)編碼器?作用/關(guān)鍵技術(shù)/選型等一起看看吧!

    什么是伺服電機(jī)編碼器? 伺服電機(jī)編碼器是伺服系統(tǒng)中的核心反饋元件,用于實(shí)時(shí)檢測(cè)電機(jī)的轉(zhuǎn)速、位置、
    的頭像 發(fā)表于 06-09 11:07 ?2757次閱讀
    什么是<b class='flag-5'>伺服</b><b class='flag-5'>電機(jī)</b>編碼器?作用/關(guān)鍵技術(shù)/選型等一起看看吧!

    伺服電機(jī)測(cè)試流程分析

    伺服電機(jī)的測(cè)試流程是確保電機(jī)正常工作的關(guān)鍵步驟。以下是對(duì)伺服電機(jī)測(cè)試流程的詳細(xì)分析。 ?一、初步檢查與準(zhǔn)備 1. 外觀檢查:首先,對(duì)
    的頭像 發(fā)表于 04-23 17:56 ?1541次閱讀

    如何應(yīng)對(duì)伺服電機(jī)過(guò)熱故障?

    伺服電機(jī)過(guò)熱故障是工業(yè)控制領(lǐng)域中常見的問(wèn)題,為了有效應(yīng)對(duì)這一故障,可以采取以下措施: 一、檢查散熱系統(tǒng) ● 散熱風(fēng)扇與散熱片:首先檢查伺服電機(jī)
    的頭像 發(fā)表于 04-23 17:04 ?2304次閱讀

    EtherCAN轉(zhuǎn)CANopen網(wǎng)關(guān)控制伺服電機(jī)

    這篇文章主要介紹了使用EtherCAN轉(zhuǎn)CANopen網(wǎng)關(guān)控制伺服電機(jī)的步驟,包括配置軟件、創(chuàng)建新工程、搜索設(shè)備、添加主站設(shè)備、導(dǎo)入EDS文件、添加從站設(shè)備、設(shè)置參數(shù)、生成和下載。文章最后介紹了在線監(jiān)控和I/O功能映射的功能。
    的頭像 發(fā)表于 03-23 17:30 ?828次閱讀
    EtherCAN轉(zhuǎn)CANopen網(wǎng)關(guān)<b class='flag-5'>控制</b><b class='flag-5'>伺服</b><b class='flag-5'>電機(jī)</b>