找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3085|回復(fù): 0
收起左側(cè)

[基于STM32]Stduino-傳感器拓展(二)SG90舵機(jī)

[復(fù)制鏈接]
ID:786043 發(fā)表于 2020-8-23 20:09 | 顯示全部樓層 |閱讀模式
說(shuō)明:
伺服電機(jī)是一種有輸出軸的小型設(shè)備。通過(guò)向伺服發(fā)送信號(hào),可以將該軸轉(zhuǎn)到特定角度。

實(shí)際上,伺服電機(jī)用于無(wú)線(xiàn)電控制的飛機(jī)中來(lái)定位控制面,如升降舵和方向舵。它們還用于無(wú)線(xiàn)電控制的汽車(chē),木偶,當(dāng)然還有機(jī)器人。正是因?yàn)樵缙谠谀P蜕鲜褂米疃啵饕糜诳刂颇P偷亩婷,所以俗稱(chēng)舵機(jī)。
舵機(jī)工作分成兩個(gè)部分,檢測(cè)舵機(jī)當(dāng)前角度以及控制舵機(jī)轉(zhuǎn)到特定角度。
A02-伺服電機(jī)展示圖.jpg
基準(zhǔn)信號(hào)
舵機(jī)內(nèi)部有一個(gè)基準(zhǔn)電路,產(chǎn)生周期為20ms、寬度為1.5ms的基準(zhǔn)信號(hào);鶞(zhǔn)信號(hào)(1.5ms)與控制信號(hào)(0.5ms~2.5ms)相比較,從而判斷舵機(jī)應(yīng)該往何種方向轉(zhuǎn)動(dòng)以及轉(zhuǎn)動(dòng)的角度大小。
例如,1.5毫秒脈沖(控制信號(hào),周期20ms)將使電機(jī)轉(zhuǎn)到90度位置(通常稱(chēng)為中性位置)。如果脈沖短于0.5毫秒,則電機(jī)將軸轉(zhuǎn)到更接近-90度。如果脈沖為2.5毫秒,則軸轉(zhuǎn)接近+90度。
A02-基準(zhǔn)信號(hào).gif
控制信號(hào)
舵機(jī)的控制信號(hào)為Stduino板輸出的PWM信號(hào),周期為20ms,其中脈沖寬度從0.5ms~2.5ms,對(duì)應(yīng)舵盤(pán)的0°到180°,呈線(xiàn)性變化。
也就是說(shuō),給舵機(jī)提供一定的脈寬,它的輸出軸就會(huì)保持在一個(gè)與之對(duì)應(yīng)的角度上,直到下一個(gè)不同的脈寬出現(xiàn),轉(zhuǎn)到新的對(duì)應(yīng)角度。
A02-sg90-控制信號(hào).png
反饋信號(hào)
舵機(jī)接收來(lái)自信號(hào)線(xiàn)的控制信號(hào),電機(jī)在轉(zhuǎn)動(dòng)時(shí),會(huì)帶動(dòng)反饋電位計(jì)的轉(zhuǎn)動(dòng),電位計(jì)將輸出一個(gè)電壓信號(hào)到舵機(jī)控制板,進(jìn)行反饋,該信號(hào)與控制信號(hào)進(jìn)行比較,從而調(diào)整轉(zhuǎn)動(dòng)方向與速度,直到反饋信號(hào)與控制信號(hào)相同。
A02-反饋信號(hào).gif

實(shí)驗(yàn)?zāi)康模?/strong>
控制舵機(jī)由左向右轉(zhuǎn)動(dòng)180°,再反方向轉(zhuǎn)回。

器材:
Stduino Nano/UNO;4位數(shù)碼管;杜邦線(xiàn);SG90舵機(jī)

電路連接:
A02-sg90-電路圖.png

代碼展示:
#include <Servo.h>
Servo myServo; //創(chuàng)建一個(gè)舵機(jī)控制對(duì)象
int pos=0; //角度(0~180°)

void setup()
{
    myServo.attach(12); // 該舵機(jī)由Stduino第12腳控制
    myServo.write(pos);
    delay(15);
}

void loop()
{
    for (pos = 0; pos <= 180; pos += 1)
    {
        myServo.write(pos);              
        delay(15);                       
    }
    delay(60);
    for (pos = 180; pos >= 0; pos -= 1)
    {
        myServo.write(pos);              
        delay(15);                       
    }
    delay(60);
}


Stduino IDE是一款面向32位處理器快速入門(mén)學(xué)習(xí)的集成開(kāi)發(fā)平臺(tái),目前已經(jīng)支持Arduino_Core_STM32框架,集聚快捷、高效、免費(fèi)、開(kāi)源、易得于一身,軟件還集成了GDB調(diào)試功能。IDE當(dāng)前支持的功能有:

    GDB調(diào)試
    封裝庫(kù)下載安裝
    代碼自動(dòng)補(bǔ)全提示
    中英文模式
    UTF-8\GBK編碼格式
    代碼快速格式化
    SWD\串口程序下載&調(diào)試(已驗(yàn)證)
    DFU程序下載方式(待驗(yàn)證)
    USB HID程序下載方式(待驗(yàn)證)
    maple DFU程序下載方式(待驗(yàn)證)
    maple DFU2程序下載方式(待驗(yàn)證)
    MassStorage程序下載方式(待驗(yàn)證)

更多功能細(xì)節(jié)請(qǐng)點(diǎn)擊圖片上水印顯示的網(wǎng)址進(jìn)行了解

已經(jīng)支持的芯片&板型列表:

    Stduino UNO&Nano
    Nucleo 144 boards
    Nucleo 64 boards
    Nucleo 32 boards
    Discovery boards
    Eval boards
    STM32MP1 series coprocessor boards
    Generic STM32F0 boards
    Generic STM32F1 boards
    Generic STM32F3 boards
    Generic STM32F4 boards
    Generic STM32H7 boards
    Generic STM32L0 boards
    3D printer boards
    LoRa boards
    Electronic Speed Controller boards
    Generic flight controllers
    Garatronics boards
    Midatronics boards

更多功能集成正在進(jìn)行中~


相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表