作者npualien (Lewis)
看板ASM
標題[問題] 8051控制步進馬達
時間Tue Oct 6 20:45:39 2009
最近寫一個程式來控制步進馬達,
我使用Keil uVision3來撰寫程式,
不過訊號送過去馬達卻沒反應
想請板上高手解惑,感恩!
驅動器手冊
http://www.motiontech.com.au/assets/pdf/IMS500.pdf
程式碼
/********************************************************
#include <AT89X51.h> // 將硬體宣告AT89X51.H 包含進來
unsigned char i;
void delay_1m(unsigned int dly); //宣告delay_1m()函數
void main()
{
while(1)
{
P1 = 0xF2;
delay_1m(1);
P1 = 0xF3;
delay_1m(1);
}
}
/***************************************************************************
副程式 : delay_1m
輸入引數 : 無號16位元整數unsigned int dly
說明 : 此副程式,引數dly為delay的長短控制
: 1 dly = 1msec
****************************************************************************/
void delay_1m(unsigned int dly)
{
int count; // 宣告count為一個整數變數(大小為16 bits)
// 當count=110,
// 執行while(count>0) count--; 約為1mS(石英晶體=11.0592MHz)
while(dly != 0)
{
count=11;
while(count>0)
count--;
dly--;
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.13.136.214
推 WolfLord:你的IO輸出不對
不知道是哪邊的IO接錯了呢? 10/06 21:32
推 sorkayi:輸出角是哪一隻 有換別的晶片看看嗎
你好,我用port1輸出。 10/07 10:57
1F:推 squall0734:1.先確認硬體連接是否正確(參考datasheet 7.&8. ) 10/07 22:51
確認過接腳無誤,7的部分controller的+5v是指High的訊號還是外接5v?
2F:→ squall0734:2.依照驅動時序圖撰寫程式(參考1.&5.&6.) 10/07 22:53
這方面我按照說明書打,不過不知道對不對。
3F:→ squall0734:3.驗證驅動波形是否正確(接示波器看是否跟時序圖一致) 10/07 22:53
4F:→ squall0734:還有~有接DRIVER跟自己用MCU+電路設計的程式是不同的~ 10/07 22:55
※ 編輯: npualien 來自: 163.13.136.214 (10/09 10:34)
※ 編輯: npualien 來自: 163.13.136.214 (10/09 10:36)
5F:推 sorkayi:用PORT 1 的話 那看看是不是你的腳錯了 寫 0xff 0x00 try 10/09 12:56
目前我接訊號到驅動器的光耦合器後都正常,用示波器量過了,不過馬達還是沒動作
我的CW-為5ms的方波,CW+為H(高電位),CCW+和CCW-為H,欲使正轉,這樣訊號和電路
有錯嗎?
6F:→ sorkayi:看看 8051 有沒有壞了 上次我就燒壞幾個了 10/09 12:56
※ 編輯: npualien 來自: 163.13.136.214 (10/09 16:08)
7F:推 sorkayi:電路有無接錯 提升電阻 馬達驅動要幾伏特 10/10 14:37
基本上馬達有自己的一套驅動器(獨立電源和控制晶片),只要送正確的訊號就可以觸發他
目前我試出在CO+和CO-送L的訊號,馬達會鎖死,不過正反轉還是不行。
※ 編輯: npualien 來自: 163.13.136.214 (10/10 15:21)
※ 編輯: npualien 來自: 163.13.136.214 (10/10 15:22)
8F:推 squall0734:妳的訊號頻率是不是高於驅動器+馬達的響應頻率了~ 10/11 01:02
9F:→ squall0734:訊號模式除了1 0 以外還有頻率問題喔~不知道你有注意ꠠ 10/11 01:03
10F:→ squall0734:在5.裡面~Ta Tb Tc Td 都要符合標準才行~ 10/11 01:05
11F:→ squall0734:BTW~示波器用好一點~不然光那誤差會搞死人的(親身經歷) 10/11 01:06
12F:推 squall0734:你在CW+跟CCW+的腳位連接到+5V,將CW-接在控制正轉的腳 10/12 16:47
13F:→ squall0734:位,同理將CCW-接在控制反轉的pin上~這樣試試看~ 10/12 16:48
前幾天發現一個很致命的問題,我把+5V用PORT來輸出,將它改到迴路上的+5V就可以動了。
※ 編輯: npualien 來自: 163.13.136.214 (10/21 11:17)