讓步進電機正反轉如何程式設計

時間 2021-05-07 19:59:40

1樓:匿名使用者

接線很簡單,參考接線圖接線。表控與驅動器的接線只有三根線,5v、y1和y2,分別連線步進電機驅動器的輸入訊號端,5v連線步進電機驅動器輸入訊號的正極,y1連線脈衝輸入訊號的負極,y2連線方向輸入訊號的負極。

在電腦的功能設定表上設定的正反轉功能,見下圖:

第1行設定x1作為啟動開關,由y1輸出脈衝,頻率2000赫茲,脈衝數是2000。如果驅動器細分設定為2000,設定脈衝數為2000正好轉一圈。

第2行設定延時1秒,作為正反轉間隔的時間。

第3行設定y2輸出方向訊號10秒鐘,由脈衝結束時關閉此行。

第4行設定的與第一行相同,由於與第3行的方向輸出端同事被第2行延時後啟動,因此第3、4行實現反轉的功能。反轉一圈回到原位。

下圖是自動生成的漢字顯示:

2樓:匿名使用者

只要控制在四相繞組上輸入脈衝的順序,就可以控制電機的正轉/反轉。(控制延時就能控制轉速。)

步進電機正反轉控制方式:

步進電機有四相繞組a、b、c、d,當一繞組通電時在電動機內部形成n-s極,產生磁場,當通電的相發生變化,磁場發生旋轉,在磁場的作用下,轉子將轉動,若步進電機按雙四拍的方式來工作。

在a、b、c、d四相繞組上輸入脈衝的順序為ab→bc→cd→da→ab,步進電機沿順時針方向轉動,即正轉;若在a、b、c、d四相繞組上依次輸入脈衝ab→da→cd→bc→ab;步進電機將沿逆時針方向旋轉,即反轉。

程式**示例如下:

#include //51晶片管腳定義標頭檔案

#include //內部包含延時函式 _nop_();

#define uchar unsigned char

#define uint  unsigned int

uchar code ffw[8]=;  //四相八拍正轉編碼

uchar code rev[8]=;  ////四相八拍反轉編碼

sbit  k1   = p3^2;       //正轉

sbit  k2   = p3^3;       //反轉

sbit  k3   = p3^4;       //停止

sbit  beep = p3^6;       //蜂鳴器

/*/* 延時t毫秒

/* 11.0592mhz時鐘,延時約1ms

/*void delay(uint t)}}

void delayb(uchar x)    //x*0.14ms}}

void beep()

beep=1;                    //關閉蜂鳴器

/*/*步進電機正轉

void  motor_ffw()

//退出此迴圈程式

for (i=0; i<8; i++)       //一個週期轉45度}}

/*/*步進電機反轉

void  motor_rev()

//退出此迴圈程式

for (i=0; i<8; i++)     //一個週期轉45度}}

**  主程式

*main()

{ uchar r,n=64;             //n 步進電機運轉圈數

while(1)

{  if(k1==0)

{beep();

for(r=0;r

3樓:斯馬電子

使用sm1p步進伺服電機控制器來實現。

步進電機原理和驅動,步進電機怎麼驅動

1.步進電機是一種專門用於位置和速度精確控制的特種電機,也是一種將電脈衝轉化為角位移的執行機構。通俗一點講 當步進驅動器接收到一個脈衝訊號,它就驅動步進電機按設定的方向轉動一個固定的角度 即步進角 您可以通過控制脈衝個數來控制角位移量,從而達到準確定位的目的 同時您可以通過控制脈衝頻率來控制電機轉動...

步進電機與伺服電機的區別,伺服電機和步進電機的區別

步進電機是將電脈衝訊號轉變為角位移或線位移的開環控制元步進電機件,在非超載的情況下,電機的轉速 停止的位置只取決於脈衝訊號的頻率和脈衝個數,而不受負載變化的影響,當步進驅動器接收到一個脈衝訊號,它就驅動步進電機安設定的方向轉動一個固定的角度,稱為 步距角 它的旋轉是以固定的角度一步一步執行的。可以通...

步進電機跟伺服電機的區別,伺服電機和步進電機的區別

步進電機是一種離散運動的裝置,它和現代數字控制技術有著本質的聯絡。在目前國內的數字控制系統中,步進電機的應用十分廣泛。隨著全數字式交流伺服系統的出現,交流伺服電機也越來越多地應用於數字控制系統中。為了適應數字控制的發展趨勢,運動控制系統中大多采用步進電機或全數字式交流伺服電機作為執行電動機。雖然兩者...