全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3167
推到 Plurk!
推到 Facebook!

89S51控制直流馬達 正反轉,沒有動作的問題

尚未結案
hou096
一般會員


發表:3
回覆:2
積分:1
註冊:2013-11-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2013-12-17 20:45:59 IP:220.136.xxx.xxx 訂閱
找到有關馬達控制的電路
但是這個電路本來是控制步進

是不是這個電路只能控制步進馬達(要改的話,會很麻煩嗎?)
是不是我還有甚麼相關的觀念要學習的?
以下是程式,目的要用兩隻腳位控制正轉、反轉

遇到的問題:根本沒有動作,連高低電壓都沒有

unsigned char table[2]={1,2};

void delay_1s(unsigned int count)
{
unsigned int i,ii;
for(ii=0;ii<10*count;ii )
{
for(i=1;i<=20000;i );
}

}
main()
{
while(1)
{
P0=table[0];
delay_1s(1);
}
}
編輯記錄
hou096 重新編輯於 2013-12-17 20:49:00, 註解 無‧
ScottWang
版主


發表:32
回覆:486
積分:688
註冊:2009-04-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2013-12-18 06:42:57 IP:118.165.xxx.xxx 訂閱
你要google "H-Bridge Driver".
hou096
一般會員


發表:3
回覆:2
積分:1
註冊:2013-11-20

發送簡訊給我
#3 引用回覆 回覆 發表時間:2013-12-18 11:21:24 IP:220.130.xxx.xxx 訂閱
編輯記錄
hou096 重新編輯於 2013-12-18 11:22:19, 註解 無‧
hou096 重新編輯於 2013-12-18 15:12:58, 註解 無‧
ScottWang
版主


發表:32
回覆:486
積分:688
註冊:2009-04-27

發送簡訊給我
#4 引用回覆 回覆 發表時間:2013-12-18 12:12:02 IP:118.165.xxx.xxx 訂閱
看不到你的圖,可能得重新上傳至本網.
用IC也是可以,當然要買得到,若是玩具小馬達,可以用電晶體,若是較大的電流,還是MOSFET比較好.
H-Bridge Driver -- 找MOSFET的,或者6個電晶體的.
編輯記錄
ScottWang 重新編輯於 2013-12-18 12:13:20, 註解 無‧
hou096
一般會員


發表:3
回覆:2
積分:1
註冊:2013-11-20

發送簡訊給我
#5 引用回覆 回覆 發表時間:2013-12-25 12:37:59 IP:220.130.xxx.xxx 訂閱
版主,我已經改用板上有人提過的電路去做,可是又遇到問題,想請教您
http://gc.digitw.com/Circuit/H-Bridge-Mod.pdf
這個我是用第二張圖,可是裡面的IRF9520、IRF520買不到,我用IRF9530、IRF530去取代
程式沒變,圖上的A、B點我接P0_0、P0_1問題如下
1.第一次P0_0接A點,P0_1接B點,中間沒有任何電阻,馬達沒有動作
2.P0_0接A點,P0_1接B點,中間用220歐姆電阻,也不會轉動
3.P0_0接A點,P0_1接B點,中間用1K歐姆電阻,馬達有很低的嗯....,可是也不會轉動,但是用手指去碰觸P0_0接A點1K歐姆的接腳,就動了
再把程式改成P0=table[1];,用手指去碰觸P0_1接B點1K歐姆的接腳,也會反向轉

請問這個是什麼原因造成的,是因為我用9530和530的原因嗎??
還有圖片上的C1、C2電容,我C1是用50PE的聚合XXX(我沒有背),C2用塑膠電容,會有差別嗎?


unsigned char table[2]={1,2};

void delay_1s(unsigned int count)
{
unsigned int i,ii;
for(ii=0;ii<10*count;ii )
{
for(i=1;i<=20000;i );
}

}
main()
{
while(1)
{
P0=table[0];
delay_1s(1);
}
}


===================引 用 ScottWang 文 章===================
看不到你的圖,可能得重新上傳至本網.
用IC也是可以,當然要買得到,若是玩具小馬達,可以用電晶體,若是較大的電流,還是MOSFET比較好.
H-Bridge Driver -- 找MOSFET的,或者6個電晶體的.
ScottWang
版主


發表:32
回覆:486
積分:688
註冊:2009-04-27

發送簡訊給我
#6 引用回覆 回覆 發表時間:2013-12-26 21:50:36 IP:36.229.xxx.xxx 訂閱
Port 0是開D極的,你若用Port 0去推動,每個輸出bit要加2.2K~4.7K提升電阻,若用Port1,2,3就不用.
以下也是用相同的電路,但是電流較大.
12V 10A 馬達正反轉線路請教
===================引 用 hou096 文 章===================
版主,我已經改用板上有人提過的電路去做,可是又遇到問題,想請教您
http://gc.digitw.com/Circuit/H-Bridge-Mod.pdf
這個我是用第二張圖,可是裡面的IRF9520、IRF520買不到,我用IRF9530、IRF530去取代
程式沒變,圖上的A、B點我接P0_0、P0_1問題如下
1.第一次P0_0接A點,P0_1接B點,中間沒有任何電阻,馬達沒有動作
2.P0_0接A點,P0_1接B點,中間用220歐姆電阻,也不會轉動
3.P0_0接A點,P0_1接B點,中間用1K歐姆電阻,馬達有很低的嗯....,可是也不會轉動,但是用手指去碰觸P0_0接A點1K歐姆的接腳,就動了
再把程式改成P0=table[1];,用手指去碰觸P0_1接B點1K歐姆的接腳,也會反向轉
編輯記錄
ScottWang 重新編輯於 2013-12-26 21:53:45, 註解 無‧
系統時間:2017-12-13 4:05:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!