技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > ULN2003如何驅(qū)動(dòng)5V步進(jìn)電機(jī)

ULN2003如何驅(qū)動(dòng)5V步進(jìn)電機(jī)

時(shí)間:2018-01-02 11:37:17來源:網(wǎng)絡(luò)轉(zhuǎn)載

導(dǎo)語:?步進(jìn)電機(jī)是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制電機(jī),是現(xiàn)代數(shù)字程序控制系統(tǒng)中的主要執(zhí)行元件,應(yīng)用極為廣泛。

ULN2003是一個(gè)非門電路,包含7個(gè)單元,各二極管的正極分別接各達(dá)林頓管的集電極。用于感性負(fù)載時(shí),該腳接負(fù)載電源正極,起續(xù)流作用(在感性負(fù)載中,電路斷開后會產(chǎn)生很大的反電動(dòng)勢,為防止損壞達(dá)林頓管,接反相的二極管來構(gòu)成通路,使之轉(zhuǎn)換為電流)。

步進(jìn)電機(jī)是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制電機(jī),是現(xiàn)代數(shù)字程序控制系統(tǒng)中的主要執(zhí)行元件,應(yīng)用極為廣泛。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負(fù)載變化的影響,當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號,它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度,稱為“步距角”,它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的。可以通過控制脈沖個(gè)數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到調(diào)速的目的。

ULN2003如何驅(qū)動(dòng)5V步進(jìn)電機(jī)

第一步進(jìn)電機(jī)需要的驅(qū)動(dòng)電流很大,因此直接使用單片機(jī)往往管腳電流不夠,加上一般3.3V的單片機(jī)也無法驅(qū)動(dòng)5V的步進(jìn)電機(jī),因此需要電路轉(zhuǎn)換。用的ULN2003芯片驅(qū)動(dòng)步進(jìn)電機(jī)。ULN2003就是起到了電流放大作用,也使得驅(qū)動(dòng)電壓變成了5V。除了用ULN2003也可以自己用三極管搭建電路,原理與ULN2003內(nèi)部結(jié)構(gòu)類似。

ULN2003如何驅(qū)動(dòng)5V步進(jìn)電機(jī)

也就是步進(jìn)電機(jī)要運(yùn)轉(zhuǎn)時(shí),如何給脈沖,讓電機(jī)連續(xù)運(yùn)動(dòng)。ps:如果給錯(cuò)脈沖可能左轉(zhuǎn)幾下又轉(zhuǎn)回來。下圖就是小編電機(jī)的相序。

ULN2003如何驅(qū)動(dòng)5V步進(jìn)電機(jī)

下面是正轉(zhuǎn)翻轉(zhuǎn)的編碼根據(jù)技術(shù)要求。如圖用的單雙八拍。

unsignedcharF_RotaTIon[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};//FAN

unsignedcharB_RotaTIon[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};//ZHENG

此函數(shù)兩個(gè)參數(shù),第一個(gè)參數(shù)是圈數(shù)。第二個(gè)參數(shù)是方向也就是選擇正轉(zhuǎn)和翻轉(zhuǎn)

voidmotorNCircle(intn,boolposiTIon)

{

inti=0;

intj=0;

intk=0;

for(j=0;j《n;j++)

{

for(i=0;i《64*8;i++)

{

for(k=0;k《8;k++)

{

if(TRUE==posiTIon)

SetMotor(F_Rotation[k]);

else

SetMotor(B_Rotation[k]);

Delay(20000);

}

}

}

}

下面就是SetMotor函數(shù),根據(jù)傳的數(shù)據(jù)不同,控制的4個(gè)IOpin輸出不同。

voidSetMotor(unsignedcharInputData)

{

if(InputData&0x08)

{

GPIO_ResetBits(GPIOC,GPIO_Pin_6);

}

else

{

GPIO_SetBits(GPIOC,GPIO_Pin_6);

}

if(InputData&0x04)

{

GPIO_ResetBits(GPIOC,GPIO_Pin_7);

}

else

{

GPIO_SetBits(GPIOC,GPIO_Pin_7);

}

if(InputData&0x02)

{

GPIO_ResetBits(GPIOC,GPIO_Pin_8);

}

else

{

GPIO_SetBits(GPIOC,GPIO_Pin_8);

}

if(InputData&0x01)

{

GPIO_ResetBits(GPIOC,GPIO_Pin_9);

}

else

{

GPIO_SetBits(GPIOC,GPIO_Pin_9);

}

}

以28BYJ-48為例,根據(jù)技術(shù)資料,步距的角度為5.625-64而且?guī)в袦p速齒輪是1:64因此轉(zhuǎn)64乘64個(gè)脈沖才是1圈。因此一個(gè)脈沖轉(zhuǎn)過5.625除64=0.08789度。

所以有了下面的循環(huán)。

for(j=0;j《n;j++)

{

for(i=0;i《64*8;i++)//64*8

{

for(k=0;k《8;k++)//4相單雙8拍

{

if(TRUE==position)

SetMotor(F_Rotation[k]);

else

SetMotor(B_Rotation[k]);

Delay(20000);//注意這個(gè)延時(shí)自己去調(diào)節(jié)。

}

}

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:DSP和CAN總線應(yīng)用在直流電機(jī)...

下一篇:uln2003驅(qū)動(dòng)步進(jìn)電機(jī)原理分析

中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號