<del id="dhfrq"></del>

    1. <tr id="dhfrq"></tr>
      成人午夜激情在线观看,国产精品一线天粉嫩av,99精品国产综合久久久久五月天 ,一卡2卡三卡4卡免费网站,国产高清在线男人的天堂,五月天国产成人AV免费观看,67194熟妇在线观看线路,成人无码潮喷在线观看
      現在位置:范文先生網>理工論文>電子通信論文>一種直接采用計算機串行口控制步進電機的新方法

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

      時間:2023-02-20 22:40:28 電子通信論文 我要投稿
      • 相關推薦

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

      摘要:介紹了一種計算機串行口經二次開發,用作步進電機控制器的新方法。計算機通過向串行口發送數據產生控制脈沖,實現對步進電機的控制。
        關鍵詞:串行口二次開發控制脈沖步進電機控制器
        
        步進電機在數控機床、醫療器械、儀器儀表等自動或半自動設備中得到了廣泛應用。用計算機控制步進電機的通常作法是采用步進控制卡,系統構成如圖1所示[1][2]。其中Pulse、Dir分別為控制電機的轉換步數和旋轉方向的信號;CWL(ClockWiseLimit)、CCWL(CounterClockWiseLimit)分別為電機順、逆時針旋轉的限位信號;ORG為定位信號。
        
        這種方法不僅成本較高,而且不便于操作。在計算機擴展槽上安裝控制卡,必需打開機箱才能操作,而且在小型平板電腦和嵌入式電腦中根本沒有安裝控制卡的空間和擴展槽。將計算機串行口二次開發,用于控制步進電機,代替控制卡的作用,具有成本低、操作簡單、兼容性好等優點。
        
        1RS232串行口及編程
        
        計算機串行接口采用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等。串行口編程方法主要有三種:硬件編程法、文件操作法、串口控件法。
        
        表1RS232接口各引腳定義
        
        引腳號
        作用
        
        方向1
        2
        3
        4
        5
        6
        7
        8
        9CD數據載波檢測
        RXD接收數據
        TXD發送數據
        DTR數據終端準備就緒
        GND信號地
        DSR數據設備準備就緒
        RTS請求發送
        CTS清除發送
        RI振鈴指示輸入
        輸入
        輸出
        輸出
        
        輸入
        輸出
        輸入
        輸入
        1.1硬件編程法
        
        直接使用端口的輸入、輸出(I/O)函數對串行口的控制電路進行編程。適用于DOS及Windows平臺(WindowsMe以前的各版本),但在基于NT技術構建的操作系統(WindowsNT、Windows2000、WindowsXP等)中因不允許用戶程序直接操作硬件而不適用。常用的端口輸入、輸出函數(指令)有:匯編語言的IN、OUT指令及軟中斷調用,C語言的inport()、outport()、inportb()、outportb(),C++的_inp()、_outp()等。計算機串行口采用Intel8250異步串行通訊組件構成,COM1、COM2、COM3、COM4的基地址分別為16#3F8(16進制數3F8,表示法下同)、16#2F8、16#3E8、16E2E8,波特率因子(DR)計算方法為:DR=1.8432×1000000/16B,8250編程請見參考文獻[3]。
        
        1.2文件操作法[4]
        
        文件操作法是將串行口作為系統的一個文件來處理,通過對這個文件的讀、寫操作引發串口對數據進行收、發動作。這種方法在DOS、Windows、WindowsNT、Windows2000及WindowsXP等平臺下都能正常工作。例如在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、WindowsNT、Windows2000及WindowsXP等平臺下都能正常工作。在VB中,使用MSCOMM控件;在VC++下使用MicrosoftCommunicationControl這一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雖然在串行通訊接口中被定義為不同功能的握手信號,但通過對8520的分析可知,它們均可作為一般的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個,后面接著發送數據產生的脈沖時,兩個字節銜接時所產生的脈沖頻率和占空比均會產生波動。為使電機運行的三個階段能平滑過濾,需要對每個階段的脈沖數量進行調整,使Ⅰ、Ⅱ兩個階段的步數均為5的整數倍(分別為n1×5、n2×5);將非5整數倍的步數安排在減速停車的Ⅲ階段,發出脈沖數為n3×5+Δp,其中Δp=(1~4)。這可通過改變Ⅲ階段發送的最后一個字節內容實現任意數量的脈沖輸出。產生1~4個脈沖應發送的數據分別為16#FF、16#FB、16#F5、16#D5。
        
        由圖4所示的電機運行過程可知,在電機運行過程中,控制脈沖的頻率f應隨時變化以滿足電機低速起停及高速運行的需要。脈沖頻率由發送數據的波特率(B)決定,每發出一個脈沖需用兩個二進制位1和0來構成其高、低電平,所以f=B/2,通過調整發送數據的波特率可改變所發出的控制脈沖的頻率。按常規則波特率系列發送數據時所產生的控制脈沖頻率變化較大,不能滿足電機正常起停及調速的要求,為此計算機需按非標準的濾特率發送數據以產生任意頻率的控制脈沖。一般在電機起動及停止階段(Ⅰ、Ⅲ)每發送一個字節調整一次波特率,以使電機起停得盡量平滑。
        
        Ⅰ、Ⅲ階段頻率的調整量Δf1、Δf2分別為:
        
        Δf1=(FH-FL)/n1(1)
        
        Δf2=(FH-FL)/n3+1(2)
        
        相應的波特率的調整量ΔB1、ΔB2分別為:
        
        ΔB1=(BH-BL)/n1=(2FH-2FL)/n1(3)
        
        ΔB2=(BH-BL)/(n3+1)=(2FH-2FL)/(n3+1)(4)
        
        發送第i個字節的波特率Bi為:
        
        
        
        用串行口直接控制步進電機的控制軟件流程圖如圖5所示。
        
        4高級控制功能
        
        對步進電機的高級控制,主要是指自動找零及多機聯動差補。
        
        找零功能是指控制步進電機驅動運行機構,完成定位的過程。在找零時,電機一般以低速運行,當測到ORG信號進電機停止。由于運行速度低,為簡化程序設計,每發送一個字節,在TXD端可以只輸出一個脈沖,測到ORG信號則停止發送。為保證輸出脈沖的占空比為50%,發送字節定為16#F0。找零程序的設計可參照圖5所示。
        
        差補是指控制兩臺或兩臺以上電機按規定的速比運行,進而控制執行機構沿規定的軌跡運行。由于一般計算機只有兩個串行口,這種方法只適用于二維差補控制。通常兩個串行口用相同的波特率進行發送,通過調整發送的字節數及發送每個字節所產生的脈沖個數的不同來調整兩個電機的運行速度和位置。
        
        實際運行證明,用串行口設備的步進電機控制器具有使用方便、性能穩定、成本低、可移植性好、不需安裝硬件設備驅動程序等優點。
        
        直接采用計算機串行口設計的步進電機控制器適用于對全數字式伺服電機進行控制。
        
        本文對計算機串行口、并行口資源的二次開發應用起到了一定的借鑒應用。
        
        
        
        

      【一種直接采用計算機串行口控制步進電機的新方法】相關文章:

      步進電機的選用08-06

      基于GAL器件的步進電機控制器的研究與設計08-06

      DSP和PBL3717A構成的步進電機的控制系統08-06

      步進電機的基本原理08-06

      步進電機的選用計算方法08-06

      基于PMM8731和SI-7300的步進電機驅動電路08-06

      利用DSP控制直流無刷電機08-06

      數字式智能電機控制模塊08-06

      雙DSP電機控制數字平臺設計08-06

      主站蜘蛛池模板: 国产精品亚洲色婷婷99久久精品| 国产91小视频在线观看| 色欲AV无码一区二区人妻| 日韩欧美在线综合网另类| XXXXXHD亚洲日本HD| 日本狂喷奶水在线播放212| 91高清免费国产自产拍| 美女内射无套日韩免费播放| 亚洲乱色一区二区三区丝袜| 高中女无套中出17p| 亚洲日本精品一区二区| 国产99在线 | 免费| 8AV国产精品爽爽ⅤA在线观看| 最新av中文字幕无码专区| 亚洲一本二区偷拍精品| 国产美女永久免费无遮挡| 日韩AV无码精品一二三区| 无码高潮爽到爆的喷水视频app| 中国少妇人妻xxxxx| jizzjizz少妇亚洲水多| 久久天堂无码av网站| 肥臀浪妇太爽了快点再快点| 国产日韩av一区二区在线| 亚洲另类激情专区小说婷婷久| 丰满少妇特黄一区二区三区 | 99热精品久久只有精品| 影音先锋啪啪av资源网站| 日本深夜福利在线观看| 日本中文字幕有码在线视频 | 日本老熟女一二三区视频| 四虎在线成人免费观看| 久久精品国产亚洲AV麻豆长发| 久久99精品久久久久麻豆| 91亚洲国产成人久久蜜臀| 在线看无码的免费网站| 内射老阿姨1区2区3区4区| 国产三级精品福利久久| 东北女人毛多水多牲交视频| 日韩在线视频一区二区三区 | 亚洲av优女天堂熟女久久| 国产91精品调教在线播放|