99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

計(jì)算機(jī)串行口經(jīng)二次開(kāi)發(fā)方法實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的控制

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-10-22 07:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步進(jìn)電機(jī)數(shù)控機(jī)床、醫(yī)療器械、儀器儀表等自動(dòng)或半自動(dòng)設(shè)備中得到了廣泛應(yīng)用。用計(jì)算機(jī)控制步進(jìn)電機(jī)的通常作法是采用步進(jìn)控制卡,系統(tǒng)構(gòu)成如圖1所示。其中Pulse、Dir分別為控制電機(jī)的轉(zhuǎn)換步數(shù)和旋轉(zhuǎn)方向的信號(hào);CWL(Clock Wise Limit)、CCWL(Counter Clock Wise Limit)分別為電機(jī)順、逆時(shí)針旋轉(zhuǎn)的限位信號(hào);ORG為定位信號(hào)。

計(jì)算機(jī)串行口經(jīng)二次開(kāi)發(fā)方法實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的控制

這種方法不僅成本較高,而且不便于操作。在計(jì)算機(jī)擴(kuò)展槽上安裝控制卡,必需打開(kāi)機(jī)箱才能操作,而且在小型平板電腦嵌入式電腦中根本沒(méi)有安裝控制卡的空間和擴(kuò)展槽。將計(jì)算機(jī)串行口二次開(kāi)發(fā),用于控制步進(jìn)電機(jī),代替控制卡的作用,具有成本低、操作簡(jiǎn)單、兼容性好等優(yōu)點(diǎn)。

1 RS232串行口及編程

計(jì)算機(jī)串行接口采用RS232標(biāo)準(zhǔn):規(guī)定邏輯1的電平為-3~-15V,邏輯0的電平為+3~+15V,常用的信號(hào)有8個(gè)(接口為DB9M插座時(shí),引腳號(hào)如表1所示),其中RXD、TXD為收、發(fā)數(shù)據(jù),可與RS232串行口設(shè)備直接進(jìn)行通訊,RTS、DTR、CD、DSR、CTS、BELL為控制與檢測(cè)MODEM的信號(hào),在通訊過(guò)程中起聯(lián)絡(luò)與控制作用。數(shù)據(jù)格式有5、6、7、8位幾種,1位起始位(邏輯0),1、1.5或2位停止位(邏輯1),可以選擇奇校驗(yàn)、偶校驗(yàn)和無(wú)校驗(yàn),常用波特率為2400、4800、7200、9600bps等。串行口編程方法主要有三種:硬件編程法、文件操作法、串口控件法。

計(jì)算機(jī)串行口經(jīng)二次開(kāi)發(fā)方法實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的控制

1.1 硬件編程法

直接使用端口的輸入、輸出(I/O)函數(shù)對(duì)串行口的控制電路進(jìn)行編程。適用于DOS及Windows平臺(tái)(Windows Me以前的各版本),但在基于NT技術(shù)構(gòu)建的操作系統(tǒng)(Windows NT、Windows 2000、Windows XP等)中因不允許用戶程序直接操作硬件而不適用。常用的端口輸入、輸出函數(shù)(指令)有:匯編語(yǔ)言的IN、OUT指令及軟中斷調(diào)用,C語(yǔ)言的inport()、outport()、inportb()、outportb(),C++的_inp()、_outp()等。

計(jì)算機(jī)串行口采用Intel 8250異步串行通訊組件構(gòu)成,COM1、COM2、COM3、COM4的基地址分別為16#3F8(16進(jìn)制數(shù)3F8,表示法下同)、16#2F8、16#3E8、16E2E8,波特率因子(DR)計(jì)算方法為:DR=1.8432%26;#215;1000000/16B,8250編程請(qǐng)見(jiàn)參考文獻(xiàn)。

1.2 文件操作法

文件操作法是將串行口作為系統(tǒng)的一個(gè)文件來(lái)處理,通過(guò)對(duì)這個(gè)文件的讀、寫(xiě)操作引發(fā)串口對(duì)數(shù)據(jù)進(jìn)行收、發(fā)動(dòng)作。這種方法在DOS、Windows、Windows NT、Windows 2000及Windows XP等平臺(tái)下都能正常工作。例如在BASIC語(yǔ)言中可用語(yǔ)句:OPEN “COM1,1200,n,8,1,rs,cs,ds,cd”AS #1將串行口COM1作為文件#1進(jìn)行讀寫(xiě)操作。在VC++中,可用CreateFile()、BuildCommDCB()、Read()、Write()、EscapeCOMMFunction()等函數(shù)將串行口作為文件進(jìn)行操作。

1.3 串口控件法

用VB及VC++編程時(shí),可用控件對(duì)串行口進(jìn)行編程。這種方法通用性好,在Windows、Windows NT、Windows2000及Windows XP等平臺(tái)下都能正常工作。在VB中,使用MSCOMM控件;在VC++下使用Microsoft Communication Control這一ActiveX類(lèi)控件。串口控制使用方法請(qǐng)參考MSDN。

2 串行口步進(jìn)電機(jī)控制器工作原理

2.1 串行口發(fā)送數(shù)據(jù)過(guò)程研究

在串行口發(fā)送數(shù)據(jù)的過(guò)程中,串行口先發(fā)送起始位(邏輯0)進(jìn)行同步,接著按規(guī)定的波特率(B)從低位到高位依次發(fā)送通訊數(shù)據(jù)的各二進(jìn)制位,最后發(fā)送停止位(邏輯1)。表示每個(gè)二進(jìn)制位的邏輯電平在TXD端的保持時(shí)間為1/B秒。如果按8位數(shù)據(jù)位、1位停止位、無(wú)奇偶校驗(yàn)方式發(fā)送數(shù)據(jù),所發(fā)送數(shù)據(jù)的二進(jìn)制位是0、1交替的。例如:數(shù)據(jù)取01010101(即16進(jìn)制的16#55),其發(fā)送過(guò)程如圖2中5所示,每發(fā)送一個(gè)字節(jié),在TXD端發(fā)出5個(gè)脈沖,周期T=2/B,即頻率f=B/2。改變發(fā)送數(shù)據(jù)的各二進(jìn)制位,便可在TXD端得到不同的波形。圖2示出欲產(chǎn)生1~5個(gè)脈沖時(shí)應(yīng)發(fā)出的數(shù)據(jù)及對(duì)應(yīng)的波形。

計(jì)算機(jī)串行口經(jīng)二次開(kāi)發(fā)方法實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的控制

2.2 串行口步進(jìn)電機(jī)控制器工作原理

通過(guò)分析串行口發(fā)送數(shù)據(jù)的過(guò)程可知,從TXD端所發(fā)出的脈沖完全滿足控制步進(jìn)電機(jī)的需要:

①改變發(fā)送的字節(jié)數(shù)及所發(fā)送的字節(jié)內(nèi)容,可在TXD端產(chǎn)生任意數(shù)量的脈沖;

②改變波特率可動(dòng)態(tài)改變發(fā)送脈沖的頻率。

所以,可用TXD作為控制步進(jìn)電機(jī)的脈沖信號(hào)(Pulse)。

串行口的DTR、RTS、CTS、DSR、CD、RI雖然在串行通訊接口中被定義為不同功能的握手信號(hào),但通過(guò)對(duì)8520的分析可知,它們均可作為一般的I/O量使用,而且不論采用哪種編程方法,都能很方便地對(duì)這些信號(hào)進(jìn)行讀寫(xiě)操作。若以DTR(或RTS)作為方向控制信號(hào)(Dir),同時(shí)分別以CD、DSR、CTS、RI作為狀態(tài)檢測(cè)信號(hào)(CWL、CCWL、ORG等),

計(jì)算機(jī)串行口經(jīng)二次開(kāi)發(fā)方法實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的控制

則僅用一個(gè)串行口就已提供了步進(jìn)電機(jī)控制器需要的所有信號(hào)。正是基于此原理,我們開(kāi)發(fā)了串行口步進(jìn)電機(jī)控制器,并成功應(yīng)用在板材多點(diǎn)成形設(shè)備的控制系統(tǒng)中。由于串行口已直接提供了控制步進(jìn)電電機(jī)所需的所有信號(hào),只需將各信號(hào)由RS232電平變成TTL電平即可。常用的電平轉(zhuǎn)換器件有DS1488、DS1489、MAX232等。用計(jì)算機(jī)串行口開(kāi)發(fā)的步進(jìn)電機(jī)控制器工作原理如圖3所示。

3 軟件設(shè)計(jì)及計(jì)算

為避免電機(jī)失步和提高電機(jī)運(yùn)行速度,將步進(jìn)電機(jī)運(yùn)行過(guò)程為分三個(gè)階段:低速起動(dòng)并加速、高速運(yùn)行、減速并停止;相應(yīng)地控制脈沖也分為:升頻、高頻、降頻三段,如圖4所示。

在用串行口發(fā)送數(shù)據(jù)產(chǎn)生控制脈沖時(shí),雖然通過(guò)改變所發(fā)字節(jié)內(nèi)容的辦法能產(chǎn)生1~5中間任意個(gè)數(shù)的脈沖,但若發(fā)送一個(gè)字節(jié)所字節(jié)的脈沖少于5個(gè),后面接著發(fā)送數(shù)據(jù)產(chǎn)生的脈沖時(shí),兩個(gè)字節(jié)銜接時(shí)所產(chǎn)生的脈沖頻率和占空比均會(huì)產(chǎn)生波動(dòng)。為使電機(jī)運(yùn)行的三個(gè)階段能平滑過(guò)濾,需要對(duì)每個(gè)階段的脈沖數(shù)量進(jìn)行調(diào)整,使Ⅰ、Ⅱ兩個(gè)階段的步數(shù)均為5的整數(shù)倍(分別為n1%26;#215;5、n2%26;#215;5);將非5整數(shù)倍的步數(shù)安排在減速停車(chē)的Ⅲ階段,發(fā)出脈沖數(shù)為n3%26;#215;5+Δp,其中Δp=(1~4)。這可通過(guò)改變Ⅲ階段發(fā)送的最后一個(gè)字節(jié)內(nèi)容實(shí)現(xiàn)任意數(shù)量的脈沖輸出。產(chǎn)生1~4個(gè)脈沖應(yīng)發(fā)送的數(shù)據(jù)分別為16#FF、16#FB、16#F5、16#D5。

計(jì)算機(jī)串行口經(jīng)二次開(kāi)發(fā)方法實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的控制

由圖4所示的電機(jī)運(yùn)行過(guò)程可知,在電機(jī)運(yùn)行過(guò)程中,控制脈沖的頻率f應(yīng)隨時(shí)變化以滿足電機(jī)低速起停及高速運(yùn)行的需要。脈沖頻率由發(fā)送數(shù)據(jù)的波特率(B)決定,每發(fā)出一個(gè)脈沖需用兩個(gè)二進(jìn)制位1和0來(lái)構(gòu)成其高、低電平,所以f=B/2,通過(guò)調(diào)整發(fā)送數(shù)據(jù)的波特率可改變所發(fā)出的控制脈沖的頻率。按常規(guī)則波特率系列發(fā)送數(shù)據(jù)時(shí)所產(chǎn)生的控制脈沖頻率變化較大,不能滿足電機(jī)正常起停及調(diào)速的要求,為此計(jì)算機(jī)需按非標(biāo)準(zhǔn)的濾特率發(fā)送數(shù)據(jù)以產(chǎn)生任意頻率的控制脈沖。一般在電機(jī)起動(dòng)及停止階段(Ⅰ、Ⅲ)每發(fā)送一個(gè)字節(jié)調(diào)整一次波特率,以使電機(jī)起停得盡量平滑。

Ⅰ、Ⅲ階段頻率的調(diào)整量Δf1、Δf2分別為:

Δf1=(FH-FL)/n1 (1)

Δf2=(FH-FL)/n3+1 (2)

相應(yīng)的波特率的調(diào)整量ΔB1、ΔB2分別為:

ΔB1=(BH-BL)/n1=(2FH-2FL)/n1 (3)

ΔB2=(BH-BL)/(n3+1)=(2FH-2FL)/(n3+1) (4)

發(fā)送第i個(gè)字節(jié)的波特率Bi為:

計(jì)算機(jī)串行口經(jīng)二次開(kāi)發(fā)方法實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的控制

用串行口直接控制步進(jìn)電機(jī)的控制軟件流程圖如圖5所示。

計(jì)算機(jī)串行口經(jīng)二次開(kāi)發(fā)方法實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的控制

4 高級(jí)控制功能

對(duì)步進(jìn)電機(jī)的高級(jí)控制,主要是指自動(dòng)找零及多機(jī)聯(lián)動(dòng)差補(bǔ)。

找零功能是指控制步進(jìn)電機(jī)驅(qū)動(dòng)運(yùn)行機(jī)構(gòu),完成定位的過(guò)程。在找零時(shí),電機(jī)一般以低速運(yùn)行,當(dāng)測(cè)到ORG信號(hào)進(jìn)電機(jī)停止。由于運(yùn)行速度低,為簡(jiǎn)化程序設(shè)計(jì),每發(fā)送一個(gè)字節(jié),在TXD端可以只輸出一個(gè)脈沖,測(cè)到ORG信號(hào)則停止發(fā)送。為保證輸出脈沖的占空比為50%,發(fā)送字節(jié)定為16#F0。找零程序的設(shè)計(jì)可參照?qǐng)D5所示。

差補(bǔ)是指控制兩臺(tái)或兩臺(tái)以上電機(jī)按規(guī)定的速比運(yùn)行,進(jìn)而控制執(zhí)行機(jī)構(gòu)沿規(guī)定的軌跡運(yùn)行。由于一般計(jì)算機(jī)只有兩個(gè)串行口,這種方法只適用于二維差補(bǔ)控制。通常兩個(gè)串行口用相同的波特率進(jìn)行發(fā)送,通過(guò)調(diào)整發(fā)送的字節(jié)數(shù)及發(fā)送每個(gè)字節(jié)所產(chǎn)生的脈沖個(gè)數(shù)的不同來(lái)調(diào)整兩個(gè)電機(jī)的運(yùn)行速度和位置。

實(shí)際運(yùn)行證明,用串行口設(shè)備的步進(jìn)電機(jī)控制器具有使用方便、性能穩(wěn)定、成本低、可移植性好、不需安裝硬件設(shè)備驅(qū)動(dòng)程序等優(yōu)點(diǎn)。

直接采用計(jì)算機(jī)串行口設(shè)計(jì)的步進(jìn)電機(jī)控制器適用于對(duì)全數(shù)字式伺服電機(jī)進(jìn)行控制。

本文對(duì)計(jì)算機(jī)串行口、并行口資源的二次開(kāi)發(fā)應(yīng)用起到了一定的借鑒應(yīng)用。


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7662

    瀏覽量

    90768
  • 步進(jìn)電機(jī)
    +關(guān)注

    關(guān)注

    152

    文章

    3165

    瀏覽量

    149725
  • 串口
    +關(guān)注

    關(guān)注

    15

    文章

    1588

    瀏覽量

    79919
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    串行口通信技術(shù)教程下載

     MCS-51內(nèi)部除含有4個(gè)并行I/O接口外,還有一個(gè)串行通信I/O,通過(guò)該串行口可以實(shí)現(xiàn)與其他計(jì)算機(jī)系統(tǒng)的
    發(fā)表于 09-30 11:07

    CAXA2011二次開(kāi)發(fā),CRX; CAX2007二次開(kāi)發(fā)

    CAXA2011二次開(kāi)發(fā),CRX; CAX2007二次開(kāi)發(fā),EBA QQ:46841341 電話:*** 何生 標(biāo)題、明細(xì)、自動(dòng)參數(shù)化產(chǎn)生圖紙,PDM、PLM集成系統(tǒng),面積、重量、各種個(gè)性化程序
    發(fā)表于 01-05 23:05

    有限元軟件HyperMesh二次開(kāi)發(fā)在汽車(chē)行業(yè)的分析與應(yīng)用

    對(duì)比。3分鐘之內(nèi)(不計(jì)計(jì)算機(jī)求解時(shí)間)即可完成全部設(shè)置。 HyperMesh二次開(kāi)發(fā)抗凹分析自動(dòng)化工具還具有簡(jiǎn)單易用、選點(diǎn)正確、規(guī)范操作、收斂性好、結(jié)果準(zhǔn)確等特點(diǎn),推廣使用后每個(gè)項(xiàng)目可節(jié)省約500個(gè)工時(shí)。本文出自深圳有限元科技有限公司官網(wǎng):www.featech.com.
    發(fā)表于 10-12 10:14

    面向?qū)ο蟮膮?shù)化CAD二次開(kāi)發(fā)方法研究

    【摘要】通用CAD系統(tǒng)采用開(kāi)放式結(jié)構(gòu)體系,提供相應(yīng)的二次開(kāi)發(fā)手段和方法。研究了面向?qū)ο蟮膮?shù)化二次開(kāi)發(fā)技術(shù)及方法,以期為CAD的二次開(kāi)發(fā)提供
    發(fā)表于 03-19 21:37 ?34次下載

    單片機(jī)串行口應(yīng)用舉例

    單片機(jī)串行口應(yīng)用舉例:       在計(jì)算機(jī)分布式測(cè)控系統(tǒng)中,經(jīng)常要利用串行通信方式進(jìn)行數(shù)據(jù)傳輸。80C51單片機(jī)的串行口
    發(fā)表于 12-03 22:54 ?105次下載

    AutoCAD的二次開(kāi)發(fā)

    AutoCAD的二次開(kāi)發(fā) AutoCAD的二次開(kāi)發(fā)主要涉及以下內(nèi)容:(1) 編寫(xiě)各種用戶自定義函數(shù)并形成若干LISP、ARX、VLX或ADS文件,以及一些DCL
    發(fā)表于 02-14 16:59 ?1933次閱讀

    ANSYS的二次開(kāi)發(fā)技術(shù)

    ANSYS的二次開(kāi)發(fā)技術(shù) ANSYS提供的二次開(kāi)發(fā)工具有三個(gè):參數(shù)化設(shè)計(jì)語(yǔ)言(ANSYS Parametric Design Language,APDL),用戶界面設(shè)計(jì)語(yǔ)言(User Interface
    發(fā)表于 10-02 10:42 ?2166次閱讀

    基于VC的Cadence二次開(kāi)發(fā)

    文中研究了用VC對(duì)Cadence做二次開(kāi)發(fā),使用VC編寫(xiě)操作界面,通過(guò)VC與SKILL語(yǔ)言通信,實(shí)現(xiàn)了VC界面對(duì)Cadence軟件的控制,完成特定操作,給出了實(shí)現(xiàn)的代碼。
    發(fā)表于 10-19 14:38 ?41次下載
    基于VC的Cadence<b class='flag-5'>二次開(kāi)發(fā)</b>

    AutoCAD VBA二次開(kāi)發(fā)教程

    AutoCAD VBA二次開(kāi)發(fā)教程,學(xué)習(xí)二次開(kāi)發(fā)的頂起
    發(fā)表于 11-02 16:16 ?0次下載

    二次開(kāi)發(fā)串口通信協(xié)議

    lobot機(jī)器人二次開(kāi)發(fā)
    發(fā)表于 05-09 08:55 ?7次下載

    基于計(jì)算機(jī)串行口實(shí)現(xiàn)步進(jìn)電機(jī)控制系統(tǒng)的應(yīng)用設(shè)計(jì)

    這種方法不僅成本較高,而且不便于操作。在計(jì)算機(jī)擴(kuò)展槽上安裝控制卡,必需打開(kāi)機(jī)箱才能操作,而且在小型平板電腦和嵌入式電腦中根本沒(méi)有安裝控制卡的空間和擴(kuò)展槽。將
    的頭像 發(fā)表于 03-22 10:53 ?3493次閱讀
    基于<b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>串行口實(shí)現(xiàn)</b><b class='flag-5'>步進(jìn)</b><b class='flag-5'>電機(jī)</b><b class='flag-5'>控制</b>系統(tǒng)的應(yīng)用設(shè)計(jì)

    空間光調(diào)制器的簡(jiǎn)便控制方法:靈活應(yīng)用二次開(kāi)發(fā)

    了數(shù)據(jù)從編程軟件到空間光調(diào)制器的輸送任務(wù)。 02.二次開(kāi)發(fā)模式有哪些好處? 在二次開(kāi)發(fā)模式中,灰階處理,中心點(diǎn)的計(jì)算,圖像到硬件的投射統(tǒng)統(tǒng)不用管,只需要將仿真的圖像的數(shù)據(jù)塊傳送給二次開(kāi)發(fā)
    的頭像 發(fā)表于 05-11 13:37 ?985次閱讀
    空間光調(diào)制器的簡(jiǎn)便<b class='flag-5'>控制</b><b class='flag-5'>方法</b>:靈活應(yīng)用<b class='flag-5'>二次開(kāi)發(fā)</b>

    節(jié)省1個(gè)MCU?大彩串口屏提供PWM/AD/IO/UART擴(kuò)展二次開(kāi)發(fā)

    節(jié)省1個(gè)MCU?大彩串口屏提供PWM/AD/IO/UART擴(kuò)展二次開(kāi)發(fā)
    的頭像 發(fā)表于 09-09 16:21 ?2059次閱讀
    節(jié)省1個(gè)MCU?大彩串口屏提供PWM/AD/IO/UART擴(kuò)展<b class='flag-5'>口</b><b class='flag-5'>二次開(kāi)發(fā)</b>

    SOLIDWORKS二次開(kāi)發(fā)應(yīng)用范圍與實(shí)例

    SOLIDWORKS二次開(kāi)發(fā)為企業(yè)和設(shè)計(jì)師們提供了廣闊的定制化空間,能夠更好地滿足復(fù)雜多變的設(shè)計(jì)需求,幫助工程師和設(shè)計(jì)師提高工作效率,實(shí)現(xiàn)更復(fù)雜的自動(dòng)化任務(wù)。如您有SOLIDWORKS二次開(kāi)發(fā)需求,歡迎咨詢Solidkits
    的頭像 發(fā)表于 12-13 16:33 ?1038次閱讀

    深居淺出AutoCAD二次開(kāi)發(fā)

    深居淺出AutoCAD二次開(kāi)發(fā),net版
    發(fā)表于 01-06 14:12 ?9次下載