找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4661|回復: 12
打印 上一主題 下一主題
收起左側

單片機+TB6600+兩相四線步進電機迷惑

[復制鏈接]
跳轉到指定樓層
樓主
ID:626079 發(fā)表于 2020-1-16 08:42 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
請大神指點哦,為什么42步進電機的轉速與計算的不一樣?采用共陽接法。換了TB6600,低速轉動時不卡頓了,但是轉速不是期望的。
我撥的是16細分,按說3200個脈沖一轉。4MS一個脈沖,則轉一圈的時間大約應為:4*3200=12800MS =12.8秒。 但我在測試的時候, 看了時間,轉一圈大約花了30幾秒…………確定TB6600是16細分的了(32細分更慢)
程序如下,最簡單的沒有加別的任何功能:
#include<reg52.h>
//電機控制引腳
sbit CLK  = P1^0;          //PUL-
sbit ENA  = P1^1;           //ENA-
sbit DIR  = P1^2;          //DIR-

unsigned int SPEED=4000;                                                   //脈沖頻率初始4ms
void Init_time()                                 //初始化定時器
{
        TMOD |= 0x01;
        TH0=(65536-SPEED)/256;                  //給time0裝初值
        TL0=(65536-SPEED)%256;
        IE = 0x82;
        TR0=1;                                         //打開中斷
        EA=1;
}
void Enter_Timer0() interrupt 1                                //進入定時器中斷
{
        TH0=(65536-SPEED)/256;
        TL0=(65536-SPEED)%256;
        CLK=~CLK;                                          //4ms發(fā)送脈沖
}

void main()

{
        ENA=1;                   //ENA-接的控制口,但一樣的,如果ENA=0,步進電機卡起
        CLK=0;
        DIR=1;                   //DIR-接的控制口。初始化電機        低電平有效,測試,DIR=1,是反轉, DIR=0正轉。
        Init_time();   //初始化定時器           
        while(1)
        {
               
        }        
}







TB6600.JPG (79.04 KB, 下載次數: 87)

TB6600.JPG
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:609989 發(fā)表于 2020-1-16 09:09 | 只看該作者
sbit CLK  = P1^0;          //PUL- 脈沖
sbit ENA  = P1^1;           //ENA-使能
sbit DIR  = P1^2;          //DIR- 方向
1.你的步進電機是脈沖和方向控制的。你的電機動作說明使能信號OK;
2.你控制步進電機,你首先需要確定輸出方向,而不是先確定輸出脈沖;
3.你上來就3200的脈沖,你的電機能加起來速?最好做成梯形的加減速。
4.建議你先調成200脈沖,延時做長一點,看看能正常轉不,如果你的步進電機一上電就接收高頻率輸出,也會不卡頓,那樣慢悠悠轉的。
5.如果你使用的輸出頻率較高,建議使用STC 1T的單片機,有100KHZ的高速脈沖輸出功能。
回復

使用道具 舉報

板凳
ID:94031 發(fā)表于 2020-1-16 09:18 | 只看該作者
直接東西都有了直接測一下數據都有了,用不著去算,算錯說明概念理解有錯。
回復

使用道具 舉報

地板
ID:285069 發(fā)表于 2020-1-16 10:30 | 只看該作者
步進馬達接法可能有誤?
TB6600的升級版;如所附照片的驅動器,是接兩相四線的步進馬達.
樓主所說的"采用共陽接法"是不正確的.
可否秀出馬達及單片機的原理圖,方便討論市接法是否正確.
回復

使用道具 舉報

5#
ID:258566 發(fā)表于 2020-1-16 14:19 | 只看該作者
從代碼看出(4000==4ms),好像是晶振12M,輸出4ms高4ms低,周期8ms,
從實際運行看,晶振可能是11.05,那么結果基本是對的.
回復

使用道具 舉報

6#
ID:626079 發(fā)表于 2020-1-16 14:38 | 只看該作者
接線如圖, DIR+, PUL+, ENA+ 連在一起接的開發(fā)板的+5V輸出。

DIR-, PUL-, ENA-分別接STC89C52的IO端口。

TB6600接線.jpg (186.21 KB, 下載次數: 90)

TB6600接線.jpg
回復

使用道具 舉報

7#
ID:626079 發(fā)表于 2020-1-16 14:55 | 只看該作者
xuyaqi 發(fā)表于 2020-1-16 09:18
直接東西都有了直接測一下數據都有了,用不著去算,算錯說明概念理解有錯。

嗯, 新手就是沒搞懂問題出在哪點了……
回復

使用道具 舉報

8#
ID:626079 發(fā)表于 2020-1-16 15:02 | 只看該作者
baiyun1234 發(fā)表于 2020-1-16 09:09
sbit CLK  = P1^0;          //PUL- 脈沖
sbit ENA  = P1^1;           //ENA-使能
sbit DIR  = P1^2;    ...

謝謝幫助了。
2.程序這兒定義是要改為這樣么:
void main()

{
        ENA=1;                   //ENA-接的控制口,但一樣的,如果ENA=0,步進電機卡起
        DIR=1;                   //DIR-接的控制口。初始化電機        低電平有效,測試,DIR=1,是反轉, DIR=0正轉。
        CLK=0;
        Init_time();   //初始化定時器           
        while(1)
        {
               
        }        
}
3.這個3200是說的電機轉一圈需要3200個脈沖得, 4ms輸出一個脈沖感覺這個頻率不高哦。
4.調成200個脈沖一圈, 步進角度是1.8度,就是不細分。4ms一個脈沖, 200個脈沖就是800ms, 0.8秒就要轉一圈,這個我回去試試看看。不知道我的理解是不是有錯的地方哈。
回復

使用道具 舉報

9#
ID:626079 發(fā)表于 2020-1-16 15:12 | 只看該作者
4MS一個脈沖的話,頻率是不是250HZ? 這該是比較慢的了哦……理論上12.8秒/圈, 我買的兩相四線的步機最轉速是1000轉/秒的哦。關鍵是它轉一圈居然要超過30秒得,這不科學,思來想去,沒找到問題在哪兒, 看了步進電機最好從低速到高速再穩(wěn)定,這個速度該是低速了………………。
回復

使用道具 舉報

10#
ID:626079 發(fā)表于 2020-1-16 16:49 | 只看該作者
cccc888 發(fā)表于 2020-1-16 14:19
從代碼看出(4000==4ms),好像是晶振12M,輸出4ms高4ms低,周期8ms,
從實際運行看,晶振可能是11.05,那么結果基 ...

謝謝謝謝CCCC888的幫助解惑,應該是你說的這樣的了。 高4ms, 低4ms, 就是8ms了。........
我沒有考慮到,感謝大神。
回復

使用道具 舉報

11#
ID:1005267 發(fā)表于 2022-2-15 18:20 | 只看該作者
我也遇到這個問題也沒解決,但發(fā)現將speed直接用200也好還是2000也好,轉速和圈數就對了,請哪位高手指點
回復

使用道具 舉報

12#
ID:399179 發(fā)表于 2022-4-14 06:55 來自手機 | 只看該作者
兩個脈沖是一步,時間上差不多的
回復

使用道具 舉報

13#
ID:822053 發(fā)表于 2023-7-31 17:33 | 只看該作者
山頂任風吹 發(fā)表于 2022-2-15 18:20
我也遇到這個問題也沒解決,但發(fā)現將speed直接用200也好還是2000也好,轉速和圈數就對了,請哪位高手指點

speed(速度)、
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表