時間:2018-01-02 11:37:17來æºï¼šç¶²(wÇŽng)絡(luò)轉(zhuÇŽn)載
ULN2003是一個éžé–€é›»è·¯ï¼ŒåŒ…å«7個單元,å„äºŒæ¥µç®¡çš„æ£æ¥µåˆ†åˆ¥æŽ¥å„锿ž—é “ç®¡çš„é›†é›»æ¥µã€‚ç”¨äºŽæ„Ÿæ€§è² è¼‰æ™‚ï¼Œè©²è…³æŽ¥è² è¼‰é›»æºæ£æ¥µï¼Œèµ·çºŒ(xù)æµä½œç”¨ï¼ˆåœ¨æ„Ÿæ€§è² 載ä¸ï¼Œé›»è·¯æ–·é–‹åŽæœƒç”¢(chÇŽn)生很大的åé›»å‹•å‹¢ï¼Œç‚ºé˜²æ¢æå£žé”æž—é “ç®¡ï¼ŒæŽ¥å相的二極管來構(gòu)æˆé€šè·¯ï¼Œä½¿ä¹‹è½‰(zhuÇŽn)æ›ç‚ºé›»æµï¼‰ã€‚
æ¥é€²é›»æ©Ÿæ˜¯å°‡é›»è„ˆæ²–信號轉(zhuÇŽn)變?yÅu)榻ä¿ç°è‹¹èš“€ä½ç§»çš„é–‹ç’°(huán)控制電機,是ç¾(xià n)代數(shù)å—ç¨‹åºæŽ§åˆ¶ç³»çµ±(tÇ’ng)ä¸çš„主è¦åŸ·(zhÃ)行元件,應(yÄ«ng)用極為廣泛。在éžè¶…載的情æ³ä¸‹ï¼Œé›»æ©Ÿçš„轉(zhuÇŽn)速ã€åœæ¢çš„ä½ç½®åªå–æ±ºäºŽè„ˆæ²–ä¿¡è™Ÿçš„é »çŽ‡å’Œè„ˆæ²–æ•¸(shù),而ä¸å—è² è¼‰è®ŠåŒ–çš„å½±éŸ¿ï¼Œç•¶æ¥é€²é©…(qÅ«)動器接收到一個脈沖信號,它就驅(qÅ«)å‹•æ¥é€²é›»æ©ŸæŒ‰è¨(shè)定的方å‘轉(zhuÇŽn)動一個固定的角度,稱為“æ¥è·è§’â€ï¼Œå®ƒçš„æ—‹è½‰(zhuÇŽn)是以固定的角度一æ¥ä¸€æ¥é‹è¡Œçš„。å¯ä»¥é€šéŽæŽ§åˆ¶è„ˆæ²–å€‹æ•¸(shù)來控制角ä½ç§»é‡ï¼Œå¾žè€Œé”到準確定ä½çš„ç›®çš„ï¼›åŒæ™‚å¯ä»¥é€šéŽæŽ§åˆ¶è„ˆæ²–é »çŽ‡ä¾†æŽ§åˆ¶é›»æ©Ÿè½‰(zhuÇŽn)å‹•çš„é€Ÿåº¦å’ŒåŠ é€Ÿåº¦ï¼Œå¾žè€Œé”到調(dià o)速的目的。
ULN2003如何驅(qÅ«)å‹•5Væ¥é€²é›»æ©Ÿ
第一æ¥é€²é›»æ©Ÿéœ€è¦çš„é©…(qÅ«)å‹•é›»æµå¾ˆå¤§ï¼Œå› æ¤ç›´æŽ¥ä½¿ç”¨å–®ç‰‡æ©Ÿå¾€å¾€ç®¡è…³é›»æµä¸å¤ ï¼ŒåŠ ä¸Šä¸€èˆ¬3.3V的單片機也無法驅(qÅ«)å‹•5Vçš„æ¥é€²é›»æ©Ÿï¼Œå› æ¤éœ€è¦é›»è·¯è½‰(zhuÇŽn)æ›ã€‚用的ULN2003芯片驅(qÅ«)å‹•æ¥é€²é›»æ©Ÿã€‚ULN2003å°±æ˜¯èµ·åˆ°äº†é›»æµæ”¾å¤§ä½œç”¨ï¼Œä¹Ÿä½¿å¾—é©…(qÅ«)動電壓變æˆäº†5V。除了用ULN2003也å¯ä»¥è‡ªå·±ç”¨ä¸‰æ¥µç®¡æå»ºé›»è·¯ï¼ŒåŽŸç†èˆ‡ULN2003å…§(nèi)部çµ(jié)æ§‹(gòu)類似。
也就是æ¥é€²é›»æ©Ÿè¦é‹è½‰(zhuÇŽn)時,如何給脈沖,讓電機連續(xù)é‹å‹•。ps:如果給錯脈沖å¯èƒ½å·¦è½‰(zhuÇŽn)幾下åˆè½‰(zhuÇŽn)回來。下圖就是å°ç·¨é›»æ©Ÿçš„相åºã€‚
䏋颿˜¯æ£è½‰(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ù)å…©å€‹åƒæ•¸(shù)ï¼Œç¬¬ä¸€å€‹åƒæ•¸(shù)是圈數(shù)ã€‚ç¬¬äºŒå€‹åƒæ•¸(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個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å€‹è„ˆæ²–æ‰æ˜¯1åœˆã€‚å› æ¤ä¸€å€‹è„ˆæ²–轉(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);//注æ„這個延時自己去調(dià o)節(jié)。
}
}
標簽:
上一篇:DSPå’ŒCAN總線應(yÄ«ng)用在直æµé›»æ©Ÿ...
下一篇:uln2003é©…(qÅ«)å‹•æ¥é€²é›»æ©ŸåŽŸç†åˆ†æž
ä¸åœ‹å‚³å‹•ç¶²(wÇŽng)版權(quán)與å…è²¬è²æ˜Žï¼šå‡¡æœ¬ç¶²(wÇŽng)注明[來æºï¼šä¸åœ‹å‚³å‹•ç¶²(wÇŽng)]的所有文å—ã€åœ–片ã€éŸ³è¦–å’Œè¦–é »æ–‡ä»¶ï¼Œç‰ˆæ¬Š(quán)å‡ç‚ºä¸åœ‹å‚³å‹•ç¶²(wÇŽng)(www.siyutn.com)ç¨å®¶æ‰€æœ‰ã€‚如需轉(zhuÇŽn)載請與0755-82949061è¯(lián)系。任何媒體ã€ç¶²(wÇŽng)站或個人轉(zhuÇŽn)è¼‰ä½¿ç”¨æ™‚é ˆæ³¨æ˜Žä¾†æºâ€œä¸åœ‹å‚³å‹•ç¶²(wÇŽng)â€ï¼Œé•å者本網(wÇŽng)將追究其法律責任。
本網(wÇŽng)轉(zhuÇŽn)載并注明其他來æºçš„稿件,å‡ä¾†è‡ªäº’è¯(lián)ç¶²(wÇŽng)或æ¥(yè)å…§(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuÇŽn)載請ä¿ç•™ç¨¿ä»¶ä¾†æºåŠä½œè€…ï¼Œç¦æ¢æ“…自篡改,é•è€…è‡ªè² ç‰ˆæ¬Š(quán)法律責任。
相關(guÄn)資訊