中文字幕无码不卡一区二区三区_少妇被又大又粗又爽毛片久久黑人_91精品国产在热久久无毒不卡_久久久久久亚洲综合网站

技術(shù)熱線: 4007-888-234
設(shè)計(jì)開發(fā)

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力

新聞中心

提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)

如何用單片機(jī)控制伺服電機(jī)?

更新時(shí)間: 2022-04-01
閱讀量:11105

伺服電機(jī)是我們常用的一種電機(jī),在本文的案例中,將學(xué)習(xí)如何使用單片機(jī)控制伺服電機(jī),案例以PIC16F877A單片機(jī)作為接口的連接與控制示例。

什么是伺服電機(jī)?

伺服電機(jī)是一種根據(jù)給定指令運(yùn)行的特殊電機(jī)。它提供了精確的角度控制,這也意味著與其他電機(jī)通電即旋轉(zhuǎn)不同。伺服電機(jī)僅旋轉(zhuǎn)到一定程度或直到需要下一次旋轉(zhuǎn),在這之前電機(jī)會(huì)停止不動(dòng)并等待下一條指令,才能執(zhí)行進(jìn)一步的動(dòng)作。所以,伺服電機(jī)需要借助伺服機(jī)電路進(jìn)行控制才能按要求旋轉(zhuǎn),它的角旋轉(zhuǎn)和最終運(yùn)動(dòng)由位置反饋決定,其控制線的輸入也決定了輸出軸所需的位置。

伺服電機(jī)與PIC16F877A接口的伺服電機(jī)電路圖:

20220401182021.jpg

它有一個(gè)非常簡單的電路圖。伺服電機(jī)的控制線直接連接到單片機(jī)的RB0引腳。該銷將提供電機(jī)所需的角位移。在這個(gè)項(xiàng)目中,假設(shè)我們正在使用一個(gè)角旋轉(zhuǎn)被限制在0°-180°的伺服電機(jī)。我們可以通過使用寬度變化的脈沖以最高精度控制電機(jī)的旋轉(zhuǎn)以達(dá)到所需的角度。

每20毫秒(20000微秒)后向伺服電機(jī)提供一個(gè)脈沖。電機(jī)的角位置由該脈沖的長度決定。角度位置0°、90°和180°在代碼中演示。

下面是用于控制伺服電機(jī)的PIC單片機(jī)接口的C代碼,我們在編譯器中編寫以下與PIC接口的伺服電機(jī)代碼:

void Rotation0() //0度
{
unsigned int i;
for(i=0;i<50;i++)
{
PORTB.F0 = 1;
Delay_us(800); //800us 脈沖
PORTB.F0 = 0;
Delay_us(19200);
}
}

void Rotation90() //90度
{
unsigned int i;
for(i=0;i<50;i++)
{
PORTB.F0 = 1;
Delay_us(1500); //1500us 的脈沖
PORTB.F0 = 0;
Delay_us(18500);
}
}

void Rotation180() //180 度

{
unsigned int i;
for(i=0;i<50;i++)
{
PORTB.F0 = 1;
Delay_us(2200); //2200us 的脈沖
PORTB.F0 = 0;
Delay_us(17800);
}
}

void main()
{
TRISB = 0; // PORTB作為輸出端口
do
{
Rotation0(); //0度
Delay_ms(2000);
Rotation90(); //90度
Delay_ms(2000);
Rotation180(); //180度
}while(1);
}

代碼開頭已經(jīng)聲明了電機(jī)角旋轉(zhuǎn)0°、90°和 180°的各個(gè)函數(shù)。在本教程中,我們沒有使用PIC16F877A的實(shí)際脈沖寬度調(diào)制功能來生成脈沖。而是,脈沖是在程序延遲的幫助下產(chǎn)生的。特定角度的延遲持續(xù)時(shí)間等于電機(jī)旋轉(zhuǎn)到相應(yīng)角度所需的脈沖長度。也就是說,對于0°角,脈沖寬度約為800ms,因此在PORT引腳RB0設(shè)置為高時(shí)引入了800ms的延遲。同樣,旋轉(zhuǎn)90°需要1500ms的脈沖,180°角度需要2200ms。

在主程序中,將PORTB設(shè)置為輸出端口,三個(gè)函數(shù)都被調(diào)用,它們之間有2000ms的延遲。該程序使電機(jī)以某種模式旋轉(zhuǎn),比如0°–90°–180°–0°等等。這將在無限循環(huán)“do-while”循環(huán)中持續(xù)運(yùn)行,直到程序中止。

以上就是英銳恩單片機(jī)開發(fā)工程師分享的如何用單片機(jī)控制伺服電機(jī)?。英銳恩專注單片機(jī)應(yīng)用方案設(shè)計(jì)與開發(fā),提供8位單片機(jī)、16位單片機(jī)、32位單片機(jī)。

洞头县| 临洮县| 大同市| 大洼县| 勐海县| 濮阳县| 邵阳县| 都安| 利辛县| 莱芜市| 兴城市| 新巴尔虎右旗| 赞皇县| 武乡县| 巴中市| 塔河县| 澜沧| 凤台县| 宁武县| 江达县| 德州市| 天镇县| 宁明县| 平邑县| 彰武县| 临沧市| 北票市| 澄迈县| 页游| 罗源县| 综艺| 镇原县| 东宁县| 龙岩市| 黔西| 德化县| 鸡东县| 鲁山县| 井陉县| 巴里| 中牟县|