国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

一種直接采用計算機串行口控制步進電機新方法

發布時間:2010-6-29 14:20    發布者:vinda
步進電機在數控機床、醫療器械、儀器儀表等自動或半自動設備中得到了廣泛應用。用計算機控制步進電機的通常作法是采用步進控制卡,系統構成如圖1所示。其中Pulse、Dir分別為控制電機的轉動步數和旋轉方向的信號;CWL(Clock Wise Limit)、CCWL(Counter Clock Wise Limit)分別為電機順、逆時針旋轉的限位信號;ORG為定位信號。

這種方法不僅成本較高,而且不便于操作。在計算機擴展槽上安裝控制卡,必需打開機箱才能操作,而且在小型平板電腦嵌入式電腦中根本沒有安裝控制卡的空間和擴展槽。將計算機串行口二次開發,用于控制步進電機,代替控制卡的作用,具有成本低、操作簡單、兼容性好等優點。


1 RS232串行口及編程

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

表1 RS232接口各引腳定義
引腳號
作用
方向
1CD 數據載波檢測輸入
2RXD 接收數據輸入
3TXD 發送數據輸出
4DTR 數據終端準備就緒輸出
5GND 信號地
6DSR 數據設備準備就緒輸入
7RTS 請求發送輸出
8CTS 清除發送輸入
9RI 振鈴指示輸入

1.1 硬件編程法

直接使用端口的輸入、輸出(I/O)函數對串行口的控制電路進行編程。適用于DOS及Windows平臺(Windows Me以前的各版本),但在基于NT技術構建的操作系統(Windows NT、Windows 2000、Windows XP等)中因不允許用戶程序直接操作硬件而不適用。常用的端口輸入、輸出函數(指令)有:匯編語言的IN、OUT指令及軟中斷調用,C語言的inport( ) 、outport( ) 、inportb( ) 、outportb( ),C++的_inp( )、_outp( )等。計算機串行口采用Intel 8250異步串行通訊組件構成,COM1、COM2、COM3、COM4的基地址分別為16#3F8(16進制數3F8,表示法下同)、16#2F8、16#3E8、16#2E8,波特率因子(DR)計算方法為:DR=1.8432×1000000/16B,8250編程請見參考文獻。

1.2 文件操作法

文件操作法是將串行口作為系統的一個文件來處理,通過對這個文件的讀、寫操作引發串口對數據進行收、發動作。這種方法在DOS、Windows、Windows NT、Windows2000及Windows XP等平臺下都能正常工作。例如在BASIC語言中可用語句:OPEN "COM1,1200,n,8,1,rs,cs,ds,cd"AS #1將串行口COM1作為文件#1進行讀寫操作。在VC++中,可用CreateFile()、BuildCommDCB()、Read()、Write()、EscapeCOMMFunction()等函數將串行口作為文件進行操作。

1.3 串口控件法

用VB及VC++編程時,可用控件對串行口進行編程。這種方法通用性好,在Windows、Windows NT、Windows2000及Windows XP等平臺下都能正常工作。在VB中,使用MSCOMM控件;在VC++下使用Microsoft Communication Control這一ActiveX類控件。串口控件使用方法請參考MSDN。

2 串行口步進電機控制器工作原理

2.1 串行口發送數據過程研究

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


2.2 串行口步進電機控制器工作原理

通過分析串行口發送數據的過程可知,從TXD端所發出的脈沖完全滿足控制步進電機的需要:

①改變發送的字節數及所發送的字節內容,可在TXD端產生任意數量的脈沖;

②改變波特率可動態改變發送脈沖的頻率。

所以,可用TXD作為控制步進電機的脈沖信號(Pulse)。

串行口的DTR、RTS、CTS、DSR、CD、RI雖然在串行通訊接口中被定義為不同功能的握手信號,但通過對8250的分析可知,它們均可作為一般的I/O量使用,而且不論采用哪種編程方法,都能很方便地對這些信號進行讀寫操作。若以DTR(或RTS)作為方向控制信號(Dir),同時分別以CD、DSR、CTS、RI作為狀態檢測信號(CWL、CCWL、ORG等),則僅用一個串行口就已提供了步進電機控制器需要的所有信號。正是基于此原理,我們開發了串行口步進電機控制器,并成功應用在板材多點成形設備的控制系統中。由于串行口已直接提供了控制步進電機所需的所有信號,只需將各信號由RS232電平變成TTL電平即可。常用的電平轉換器件有DS1488、DS1489、MAX232等[5]。用計算機串行口開發的步進電機控制器工作原理如圖3所示。

3 軟件設計及計算

為避免電機失步和提高電機運行速度,將步進電機運行過程分為三個階段:低速起動并加速、高速運行、減速并停止;相應地控制脈沖也分為:升頻、高頻、降頻三段[6],如圖4所示。


在用串行口發送數據產生控制脈沖時,雖然通過改變所發字節內容的辦法能產生1~5中間任意個數的脈沖,但若發送一個字節所產生的脈沖少于5個,后面接著發送數據產生的脈沖時,兩個字節銜接時所產生的脈沖頻率和占空比均會產生波動。為使電機運行的三個階段能平滑過渡,需要對每個階段的脈沖數量進行調整,使I、II兩個階段的步數均為5的整數倍(分別為n1×5、n2×5);將非5整數倍的步數安排在減速停車的III階段,發出脈沖數為n3×5+Δp,其中Δp=(1~4)。這可通過改變III階段所發送的最后一個字節內容實現任意數量的脈沖輸出。產生1~4個脈沖應發送的數據分別為16#FF、16#FB、16#F5、16#D5。

由圖4所示的電機運行過程可知,在電機運行過程中,控制脈沖的頻率f應隨時變化以滿足電機低速起停及高速運行的需要。脈沖頻率由發送數據的波特率(B)決定,每發出一個脈沖需用兩個二進制位1和0來構成其高、低電平,所以f=B/2,通過調整發送數據的波特率可改變所發出的控制脈沖的頻率。按常規波特率系列發送數據時所產生的控制脈沖頻率變化較大,不能滿足電機正常起停及調速的要求,為此計算機需按非標準的波特率發送數據以產生任意頻率的控制脈沖。一般在電機起動及停止階段(I、III)每發送一個字節調整一次波特率,以使電機起停得盡量平滑。


用串行口直接控制步進電機的控制軟件流程圖如圖5所示。


4 高級控制功能

對步進電機的高級控制,主要是指自動找零及多機聯動差補。

找零功能是指控制步進電機驅動運動機構,完成定位的過程。在找零時,電機一般以低速運行,當測到ORG信號時電機停止。由于運行速度低,為簡化程序設計,每發送一個字節,在TXD端可以只輸出一個脈沖,測到ORG信號則停止發送。為保證輸出脈沖的占空比為50%,發送字節定為16#F0。找零程序的設計可參照圖5進行。

差補是指控制兩臺或兩臺以上電機按規定的速比運行,進而控制執行機構沿規定的軌跡運行。由于一般計算機只有兩個串行口,這種方法只適用于二維差補控制。通常兩個串行口用相同的波特率進行發送,通過調整發送的字節數及發送每個字節所產生的脈沖個數的不同來調整兩個電機的運行速度和位置。

實際運行證明,用串行口設計的步進電機控制器具有使用方便、性能穩定、成本低、可移植性好、不需安裝硬件設備驅動程序等優點。

直接采用計算機串行口設計的步進電機控制控制器適用于對全數字式伺服電機進行控制。

本文對計算機串行口、并行口等資源的二次開發應用起到了一定的借鑒作用。
本文地址:http://m.qingdxww.cn/thread-14029-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国内精品视频在线播放一区| 在线看片福利无码网址| 一本一本之道高清在线观看| 色久网| 日本一区二区三区四区公司| 日本成人一区二区三区| 伊人网在线免费观看| 亚洲国产精品综合久久20| 大学生一级毛片免费看| 蜜芽tv在线观看免费网站| 亚洲人精品午夜射精日韩| 人人添人人澡人人澡人人人人| 欧美午夜视频在线| 日本中文视频| 伊人蕉久中文字幕无码专区| 一区二区不卡免费视频| 国产成在线观看免费视频| 午夜免费福利片| 五月婷婷亚洲综合| 日日爽夜夜操| 双性np肉文| ass亚洲熟妇毛耸耸pics| 久久久久亚洲精品影视| 亚婷婷洲AV久久蜜臀无码| 一级片免费网址| 视频一区日韩| 天天操天天透| 东北疯狂xxxxbbbb中国| 亚洲AV久久久噜噜噜久久| 欧美成人手机在线视频| 亚洲美女大bbbbbbbbb| 香蕉久草在线| 爆乳啪啪无码成人二区亚洲欧美| 欧美成人国产| 欧美在线一级精品| 欧美一级片黄色| 色一情| 中国超帅18xxxx| 欧美性xxx极品| 夜夜爽天天狠狠九月婷婷| 日日摸夜夜摸人人嗷嗷叫 |