欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
關于單片機驅動小步進電機28BYJ-48的轉速問題,自己改了時間就震動,不轉
[打印本頁]
作者:
wanjony
時間:
2021-5-7 21:59
標題:
關于單片機驅動小步進電機28BYJ-48的轉速問題,自己改了時間就震動,不轉
使用步進電機為小的28BYJ-48,驅動芯片為ULN2003A,單片機為STC15F2K60s2,驅動步進電機旋轉時轉速不可控,是通過延時程序來使不同的繞組通電,步進電機旋轉,通過speed變量改變延時時間,Proteus里面89C51仿真時改變變量值就可控,但是實際上手就不行了,自己改了時間就震動,不轉動。請問有大佬做過嗎? 詢問一個15單片機適合的延時時間,萬分感謝。調用程序為:
void qiangxi_motor(void)
{
speed=2; //200 測試:(1)600 (2)400 (3)200 (4)60 (5)40 (6)25 2時才能轉動
for(i=0;i<120;i++) //.2. 845 120
MotorCW(); //順時針轉動
// for(i=0;i<60;i++) // 845 60
// MotorCW(); //順時針轉動
delayms(500);delayms(500);
for(i=0;i<120;i++)
MotorCCW();
delayms(500);delayms(500);
}
void MotorCW(void)
{
uchar i;
for(i=0;i<4;i++)
{
MotorData=phasecw[i];
delayms(speed);//轉速調節
}
}
void MotorCCW(void)
{
uchar i;
for(i=0;i<4;i++)
{
MotorData=phaseccw[i];
delayms(speed);//轉速調節
}
}
void delayms(int n)
{
int i,j;
for(i=n;i>0;i--)
for(j=845;j>0;j--); //2/3 = 564 4/5 = 676 5/6 704
}
復制代碼
步進電機:
51hei.png
(56.84 KB, 下載次數: 75)
下載附件
2021-5-7 22:12 上傳
作者:
sgq657785
時間:
2021-5-7 22:39
stc_isp軟件里有延時時間程序的,你只要輸入要延時的時間后會自動生成延時函數的
作者:
啤酒瓶子老大
時間:
2021-5-8 01:29
不知道誰研究的用51驅動步進電機在教材里。實際上現在步進電機都有配套的驅動器。還有高級點的帶閉環控制的步進電機和配套的驅動器。單片機只需要兩個口就能控制了,一個口是高電平正轉,低電平反轉。另一個口是輸出多少個脈沖,電機轉多少度。這多簡單。學習這個我感覺真是浪費了學生的時間。
作者:
birdzhyli
時間:
2021-5-8 01:32
這個電機可以是8個相位切換,中間可以有2相交叉,具體delay時間我測試是相位切換在800us以上,1。5ms可能扭矩更大些
作者:
wanjony
時間:
2021-5-11 15:27
謝謝,大家的回答,問題已經解決了。需要每個引腳輸出需要合適的時間,測試單四拍輸出時間間隔2ms,還需要有合適的循環數值,一步一步測試出來的
作者:
attitude_Amy
時間:
2021-5-11 17:45
1、確保步進電機的時序是對的 2、延時函數可以自己調節,如果對轉速要求不高的話 就把延時調時間長一點 ms級就可以
作者:
崢嶸歲月
時間:
2021-5-11 19:27
這個電機可以是8個相位切換,中間可以有2相交叉,具體delay時間我測試是相位切換在800us以上
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1