時(shí)間:2018-01-02 11:37:17來(lái)源:網(wǎng)絡(luò)轉(zhuǎn)載
ULN2003是一個(gè)非門(mén)電路,包含7個(gè)單元,各二極管的正極分別接各達(dá)林頓管的集電極。用于感性負(fù)載時(shí),該腳接負(fù)載電源正極,起續(xù)流作用(在感性負(fù)載中,電路斷開(kāi)后會(huì)產(chǎn)生很大的反電動(dòng)勢(shì),為防止損壞達(dá)林頓管,接反相的二極管來(lái)構(gòu)成通路,使之轉(zhuǎn)換為電流)。
步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開(kāi)環(huán)控制電機(jī),是現(xiàn)代數(shù)字程序控制系統(tǒng)中的主要執(zhí)行元件,應(yīng)用極為廣泛。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù),而不受負(fù)載變化的影響,當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度,稱為“步距角”,它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的??梢酝ㄟ^(guò)控制脈沖個(gè)數(shù)來(lái)控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)可以通過(guò)控制脈沖頻率來(lái)控制電機(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ī)也無(wú)法驅(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)類似。
也就是步進(jìn)電機(jī)要運(yùn)轉(zhuǎn)時(shí),如何給脈沖,讓電機(jī)連續(xù)運(yùn)動(dòng)。ps:如果給錯(cuò)脈沖可能左轉(zhuǎn)幾下又轉(zhuǎn)回來(lái)。下圖就是小編電機(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)過(guò)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)簽:
中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(www.surachana.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11
rpi-image-gen:樹(shù)莓派軟件鏡像構(gòu)建的終...
2025-04-08
【產(chǎn)品解讀】全面提升精密制造檢測(cè)節(jié)拍...
2025-03-31
激光閃耀 智慧引領(lǐng) | WISE MASER 黑武士...
2025-03-20
2025-03-13