• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
康小印
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 14 個
工控威望: 105 點
下載積分: 601 分
在線時間: 4(小時)
注冊時間: 2015-12-19
最后登錄: 2016-03-09
查看康小印的 主題 / 回貼
樓主  發(fā)表于: 2016-03-05 10:46
下面是我寫的步進電機程序。我細分裝置設置的是4000,下面應該會有3200個脈沖,也就是會旋轉0.8周,實際運行后并沒有0.8周這么多;后來我將程序兩個循環(huán)a>=0,和i>=0;發(fā)現(xiàn)電機運動停不下來,我想知道是怎么回事?謝謝
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit zmc=P1^0;
sbit fmc=P1^1;
sbit zfx=P1^2;
sbit ffx=P1^3;
void delay5ws(uchar);
void main()
{

    uint i,a;
    i=0;
    a=0;
    zmc=0;
    fmc=0;
    zfx=0;
    ffx=0;
    delay5ws(5);
    zfx=1;
    for(a=80;a>0;a--)
    {
        for(i=40;i>0;i--)
        {
            
//            delay5ws(5);
            zmc=1;
//            delay5ws(2);
            zmc=0;
        }

    }
    while(1)
    {
        zmc=0;
        fmc=0;
        zfx=0;
        ffx=0;
    }
}
void delay5ws(uchar n)
{
    uint l,m;
    for(l=n;l>0;l--)
        for(m=2;m>0;m--);
}
康小印
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 14 個
工控威望: 105 點
下載積分: 601 分
在線時間: 4(小時)
注冊時間: 2015-12-19
最后登錄: 2016-03-09
查看康小印的 主題 / 回貼
1樓  發(fā)表于: 2016-03-05 10:51
實際運行后要比0.8周小得多
testfish
9554665@qq.com
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 303 個
工控威望: 2650 點
下載積分: 14769 分
在線時間: 605(小時)
注冊時間: 2014-09-10
最后登錄: 2024-09-05
查看testfish的 主題 / 回貼
2樓  發(fā)表于: 2016-03-05 10:52
步進不是按角度計算的嗎?
康小印
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 14 個
工控威望: 105 點
下載積分: 601 分
在線時間: 4(小時)
注冊時間: 2015-12-19
最后登錄: 2016-03-09
查看康小印的 主題 / 回貼
3樓  發(fā)表于: 2016-03-05 10:58
引用
引用第2樓testfish于2016-03-05 10:52發(fā)表的  :
步進不是按角度計算的嗎?

對啊,你看我程序應該是3200個脈沖吧?一周是4000個細分,那就應該轉0.8周,但是實際上比0.8小得多。將for循環(huán)中a和i的判定條件變一變,就會轉很長時間,我想知道原因
testfish
9554665@qq.com
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 303 個
工控威望: 2650 點
下載積分: 14769 分
在線時間: 605(小時)
注冊時間: 2014-09-10
最后登錄: 2024-09-05
查看testfish的 主題 / 回貼
4樓  發(fā)表于: 2016-03-05 12:05
引用
引用第3樓康小印于2016-03-05 10:58發(fā)表的  :

對啊,你看我程序應該是3200個脈沖吧?一周是4000個細分,那就應該轉0.8周,但是實際上比0.8小得多。將for循環(huán)中a和i的判定條件變一變,就會轉很長時間,我想知道原因

勵磁方式呢?
liuliangdt
liuliangdt
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 445 個
工控威望: 679 點
下載積分: 66142 分
在線時間: 988(小時)
注冊時間: 2010-09-05
最后登錄: 2024-09-10
查看liuliangdt的 主題 / 回貼
5樓  發(fā)表于: 2016-03-05 14:14
雖然我不會,但感覺步進電機驅動不正確。
康小印
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 14 個
工控威望: 105 點
下載積分: 601 分
在線時間: 4(小時)
注冊時間: 2015-12-19
最后登錄: 2016-03-09
查看康小印的 主題 / 回貼
6樓  發(fā)表于: 2016-03-05 14:33
引用
引用第4樓testfish于2016-03-05 12:05發(fā)表的  :

勵磁方式呢?

我使用驅動器驅動的,不涉及由于勵磁方式方式帶來的影響吧?設置好了就是4000個脈沖步進電機轉一周
康小印
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 14 個
工控威望: 105 點
下載積分: 601 分
在線時間: 4(小時)
注冊時間: 2015-12-19
最后登錄: 2016-03-09
查看康小印的 主題 / 回貼
7樓  發(fā)表于: 2016-03-05 14:34
引用
引用第5樓liuliangdt于2016-03-05 14:14發(fā)表的  :
雖然我不會,但感覺步進電機驅動不正確。

不就是給脈沖么?
wwusq
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 74 個
工控威望: 221 點
下載積分: 7411 分
在線時間: 75(小時)
注冊時間: 2008-01-04
最后登錄: 2024-09-03
查看wwusq的 主題 / 回貼
8樓  發(fā)表于: 2016-03-05 16:38
細分4000,轉一圈應該脈沖數(shù)該是80000,0.8全就是64000個脈沖
康小印
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 14 個
工控威望: 105 點
下載積分: 601 分
在線時間: 4(小時)
注冊時間: 2015-12-19
最后登錄: 2016-03-09
查看康小印的 主題 / 回貼
9樓  發(fā)表于: 2016-03-06 13:46
引用
引用第8樓wwusq于2016-03-05 16:38發(fā)表的  :
細分4000,轉一圈應該脈沖數(shù)該是80000,0.8全就是64000個脈沖

1、這個是怎么算的?
2、為什么如果我將for循環(huán)中a和i的判定條件按一樓的情況修改后他就會轉好多圈呢?遠遠多于1圈
康小印
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 14 個
工控威望: 105 點
下載積分: 601 分
在線時間: 4(小時)
注冊時間: 2015-12-19
最后登錄: 2016-03-09
查看康小印的 主題 / 回貼
10樓  發(fā)表于: 2016-03-06 13:53
我剛剛確認一下,細分4000就是一周4000份,步進角度是0.09°。而且我這個就是低速運行,每次只讓他轉十幾度就行。不涉及速度控制問題。
康小印
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 14 個
工控威望: 105 點
下載積分: 601 分
在線時間: 4(小時)
注冊時間: 2015-12-19
最后登錄: 2016-03-09
查看康小印的 主題 / 回貼
11樓  發(fā)表于: 2016-03-07 13:44
自己頂自己一下,沒有人幫忙解釋一下嗎
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go