久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

 找回密碼
 注冊(cè)會(huì)員

QQ登錄

只需一步,快速開始

搜索
查看: 8924|回復(fù): 10

電腦pc直接控制步進(jìn)電機(jī)驅(qū)動(dòng)器工作的問題

  [復(fù)制鏈接]
1#
發(fā)表于 2015-8-15 09:00:18 | 只看該作者 |只看大圖 |倒序?yàn)g覽 |閱讀模式
我想通過pc直接發(fā)脈沖給步進(jìn)電機(jī)驅(qū)動(dòng)器(不帶串口通信模塊),控制步進(jìn)電機(jī)啟停動(dòng)作;脈沖經(jīng)USB端口DATA+和DATA-連接步進(jìn)驅(qū)動(dòng)器plus+和plus-,方向接頭懸空。結(jié)果電機(jī)沒有反應(yīng)。情況可能如下:1)端口地址沒弄對(duì),脈沖沒輸出去;2)步進(jìn)驅(qū)動(dòng)器不接受經(jīng)串口協(xié)議封裝的信號(hào)。請(qǐng)問如何解決?謝謝。代碼如下:
// pulse_emission.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。//
#include "stdafx.h"
#include <stdio.h>//</stdio.h>
#include <time.h>//</time.h>
#include <conio.h>//</conio.h>

//脈沖寬50ms;
const unsigned pulseWidthPlus = 50;
//脈沖槽寬50ms;
const unsigned pulseWidthMinus = 50;
//脈沖周期寬度100ms;
const unsigned pulseCycle = pulseWidthPlus + pulseWidthMinus;

void delay(clock_t nms)
{
    clock_t start;
    start = clock();
    while((clock() - start) * CLOCKS_PER_SEC / 1000 < nms);
}

void output(int *port, char polarity)
{
    int peak = 0;
    if(polarity == '+') peak = 1;
    else if(polarity == '-') peak = -1;
    *port = peak;
}

void writeWaveform(int *port,unsigned pulseWidth, unsigned cycle, char polarity)
{
    output(port,polarity);
    delay(pulseWidth);
    output(port,0);
    delay(cycle - pulseWidth);
}

int _tmain(int argc, _TCHAR* argv[])
{
    char ch = 0,nch;
    int p = 5; // p的值端口地址(這里用內(nèi)存單元表示)
    int *port = &p;
    while(1)
        {
        writeWaveform(port,pulseWidthPlus,pulseCycle,ch);
        if(kbhit())
                {
            nch = _getch();
            if(nch == 0X1B) break; // <esc> 退出</esc>
            if(nch == ch && nch != '+' && nch != '-') continue;
            if(nch == '+') printf("正在輸出正脈沖。\n");
            else  printf("正在輸出負(fù)脈沖。\n");
            delay(10 * pulseCycle); // 轉(zhuǎn)換輸出脈沖極性時(shí),需間隔的時(shí)間
            ch = nch;
        }
    }
        return 0;
}

P50813-183401.jpg (775.01 KB, 下載次數(shù): 56)

P50813-183401.jpg

2.PNG (265.1 KB, 下載次數(shù): 60)

2.PNG

評(píng)分

參與人數(shù) 1威望 +50 收起 理由
老鷹 + 50

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

2#
發(fā)表于 2015-8-15 10:19:36 | 只看該作者
本帖最后由 機(jī)械社友 于 2015-8-15 10:23 編輯

這個(gè)問題在這里討論不討合適,這屬于電子和軟件范圍,不過還是給你大概說下吧
你的方案是不可能實(shí)現(xiàn)的,因?yàn)閡sb的信號(hào)是有協(xié)議的,不是你一直發(fā)1數(shù)據(jù),那邊就一直數(shù)據(jù)脈沖為+,協(xié)議會(huì)自動(dòng)加上校驗(yàn)碼之類的。usb的數(shù)據(jù)率一般幾十m,不管你怎么發(fā)數(shù)據(jù),1m左右跳變一次少不了的,這個(gè)頻率任何步進(jìn)也響應(yīng)不了的
要想用電腦控制,得用并口或者usb控制卡之類的

點(diǎn)評(píng)

學(xué)習(xí)了,覺得說的有道理,應(yīng)該用單片機(jī)控制驅(qū)動(dòng)器,電腦接單片機(jī)  發(fā)表于 2015-8-15 13:21

評(píng)分

參與人數(shù) 1威望 +50 收起 理由
老鷹 + 50

查看全部評(píng)分

3#
發(fā)表于 2015-8-16 16:56:04 | 只看該作者
配個(gè)驅(qū)動(dòng)不就解決了嗎
4#
發(fā)表于 2015-8-16 23:17:14 | 只看該作者
機(jī)械社友 發(fā)表于 2015-8-15 10:19
這個(gè)問題在這里討論不討合適,這屬于電子和軟件范圍,不過還是給你大概說下吧
你的方案是不可能實(shí)現(xiàn)的,因 ...

plc很容易實(shí)現(xiàn)
5#
發(fā)表于 2015-8-17 20:18:53 | 只看該作者
機(jī)械社友 發(fā)表于 2015-8-15 10:19
這個(gè)問題在這里討論不討合適,這屬于電子和軟件范圍,不過還是給你大概說下吧
你的方案是不可能實(shí)現(xiàn)的,因 ...

好深?yuàn)W啊,我這種菜鳥都看不懂上面的代碼
6#
發(fā)表于 2015-8-18 08:19:48 | 只看該作者
直接肯定不能解碼,建議增加CH430,說不定還有用
7#
 樓主| 發(fā)表于 2015-8-18 09:03:23 | 只看該作者
fengmingning 發(fā)表于 2015-8-16 16:56
配個(gè)驅(qū)動(dòng)不就解決了嗎

有個(gè)步進(jìn)電機(jī)的驅(qū)動(dòng),但沒有USB、串口模塊,不好弄
8#
 樓主| 發(fā)表于 2015-8-18 09:08:46 | 只看該作者
glguolong 發(fā)表于 2015-8-18 08:19
直接肯定不能解碼,建議增加CH430,說不定還有用

買了一個(gè)USB轉(zhuǎn)RS232模塊了!解碼什么意思呀?換成9針里面兩個(gè)數(shù)據(jù)針頭嗎?
9#
發(fā)表于 2015-8-18 09:19:19 | 只看該作者
本帖最后由 glguolong 于 2015-8-18 09:23 編輯
liupengxxxx 發(fā)表于 2015-8-18 09:08
買了一個(gè)USB轉(zhuǎn)RS232模塊了!解碼什么意思呀?換成9針里面兩個(gè)數(shù)據(jù)針頭嗎?

RS232的電平估計(jì)也不能用,另外你不要直接接驅(qū)動(dòng)器,他會(huì)給你很多假象,根據(jù)你的描述,你的Enable能端也沒接,建議你直接先看,能不能出來固定一定頻率的脈沖,先在示波器上做。
10#
發(fā)表于 2015-8-19 14:52:55 | 只看該作者
直接買一個(gè)帶USB的CNC控制板不就得了嗎?

本版積分規(guī)則

Archiver|手機(jī)版|小黑屋|機(jī)械社區(qū) ( 京ICP備10217105號(hào)-1,京ICP證050210號(hào),浙公網(wǎng)安備33038202004372號(hào) )

GMT+8, 2025-7-23 11:00 , Processed in 0.078568 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復(fù) 返回頂部 返回列表