一種直接采用計算機(jī)串行口控制步進(jìn)電機(jī)新方法
發(fā)布時間:2008/6/3 0:00:00 訪問次數(shù):518
摘要:介紹了一種計算機(jī)串行口經(jīng)二次開發(fā),用作步進(jìn)電機(jī)控制器的新方法。計算機(jī)通過向串行口發(fā)送數(shù)據(jù)產(chǎn)生控制脈沖,實(shí)現(xiàn)對步進(jìn)電機(jī)的控制。 關(guān)鍵詞:串行口 二次開發(fā) 控制脈沖 步進(jìn)電機(jī)控制器
|
步進(jìn)電機(jī)在數(shù)控機(jī)床、醫(yī)療器械、儀器儀表等自動或半自動設(shè)備中得到了廣泛應(yīng)用。用計算機(jī)控制步進(jìn)電機(jī)的通常作法是采用步進(jìn)控制卡,系統(tǒng)構(gòu)成如圖1所示[1][2]。其中pulse、dir分別為控制電機(jī)的轉(zhuǎn)動步數(shù)和旋轉(zhuǎn)方向的信號;cwl(clock wise limit)、ccwl(counter clock wise limit)分別為電機(jī)順、逆時針旋轉(zhuǎn)的限位信號;org為定位信號。 這種方法不僅成本較高,而且不便于操作。在計算機(jī)擴(kuò)展槽上安裝控制卡,必需打開機(jī)箱才能操作,而且在小型平板電腦和嵌入式電腦中根本沒有安裝控制卡的空間和擴(kuò)展槽。將計算機(jī)串行口二次開發(fā),用于控制步進(jìn)電機(jī),代替控制卡的作用,具有成本低、操作簡單、兼容性好等優(yōu)點(diǎn)。 |
|
1 rs232串行口及編程 計算機(jī)串行接口采用rs232標(biāo)準(zhǔn):規(guī)定邏輯1的電平為-3~-15v,邏輯0的電平為+3~+15v,常用的信號有8個(接口為db9m插座時,引腳號如表1所示),其中rxd、txd為收、發(fā)數(shù)據(jù),可與rs232串行口設(shè)備直接進(jìn)行通訊,rts、dtr、cd、dsr、cts、bell為控制與檢測modem的信號,在通訊過程中起聯(lián)絡(luò)與控制作用。數(shù)據(jù)格式有5、6、7、8位幾種,1位起始位(邏輯0),1、1.5、或2位停止位(邏輯1),可以選擇奇校驗(yàn)、偶校驗(yàn)和無校驗(yàn),常用波特率為2400、4800、7200、9600bps等。串行口編程方法主要有三種:硬件編程法、文件操作法、串口控件法。 |
表1 rs232接口各引腳定義 |
引腳號 |
作用 |
方向 |
1 |
cd 數(shù)據(jù)載波檢測 |
輸入 |
2 |
rxd 接收數(shù)據(jù) |
輸入 |
3 |
txd 發(fā)送數(shù)據(jù) |
輸出 |
4 |
dtr 數(shù)據(jù)終端準(zhǔn)備就緒 |
輸出 |
5 |
gnd 信號地 |
|
6 |
dsr 數(shù)據(jù)設(shè)備準(zhǔn)備就緒 |
輸入 |
7 |
rts 請求發(fā)送 |
輸出 |
8 |
cts 清除發(fā)送 |
輸入 |
9 |
ri 振鈴指示 |
輸入 | |
1.1 硬件編程法 直接使用端口的輸入、輸出(i/o)函數(shù)對串行口的控制電路進(jìn)行編程。適用于dos及windows平臺(windows me以前的各版本),但在基于nt技術(shù)構(gòu)建的操作系統(tǒng)(windows nt、windows 2000、windows xp等)中因不允許用戶程序直接操作硬件而不適用。常用的端口輸入、輸出函數(shù)(指令)有:匯編語言的in、out指令及軟中斷調(diào)用,c語言的inport( )、outport( )、inportb( )、outportb( ),c++的_inp( )、_outp( )等。計算機(jī)串行口采用intel 8250異步串行通訊組件構(gòu)成,com1、com2、com3、com4的基地址分別為16#3f8(16進(jìn)制數(shù)3f8,表示法下同)、16#2f8、16#3e8、16#2e8,波特率因子(dr)計算方法為:dr=1.8432×1000000/16b,8250編程請見參考文獻(xiàn)[3]。
1.2 文件操作法[4] 文件操作法是將串行口作為系統(tǒng)的一個文件來處理,通過對這個文件的讀、寫操作引發(fā)串口對數(shù)據(jù)進(jìn)行收、發(fā)動作。這種方法在dos、windows、windows nt、windows2000及windows xp等平臺下都能正常工作。例如在basic語言中可用語句:open "com1,1200,n,8,1,rs,cs,ds,cd"as #1將串行口com1作為文件#1進(jìn)行讀寫操作。在vc++中,可用createfile()、buildcommdcb()、read()、write()、escapecommfunction()等函數(shù)將串行口作為文件進(jìn)行操作。
1.3 串口控件法 用vb及vc++編程時,可用控件對串行口進(jìn)行編程。這種方法通用性好,在windows、windows nt、windows2000及windows xp等平臺下都能正
摘要:介紹了一種計算機(jī)串行口經(jīng)二次開發(fā),用作步進(jìn)電機(jī)控制器的新方法。計算機(jī)通過向串行口發(fā)送數(shù)據(jù)產(chǎn)生控制脈沖,實(shí)現(xiàn)對步進(jìn)電機(jī)的控制。 關(guān)鍵詞:串行口 二次開發(fā) 控制脈沖 步進(jìn)電機(jī)控制器
|
步進(jìn)電機(jī)在數(shù)控機(jī)床、醫(yī)療器械、儀器儀表等自動或半自動設(shè)備中得到了廣泛應(yīng)用。用計算機(jī)控制步進(jìn)電機(jī)的通常作法是采用步進(jìn)控制卡,系統(tǒng)構(gòu)成如圖1所示[1][2]。其中pulse、dir分別為控制電機(jī)的轉(zhuǎn)動步數(shù)和旋轉(zhuǎn)方向的信號;cwl(clock wise limit)、ccwl(counter clock wise limit)分別為電機(jī)順、逆時針旋轉(zhuǎn)的限位信號;org為定位信號。 這種方法不僅成本較高,而且不便于操作。在計算機(jī)擴(kuò)展槽上安裝控制卡,必需打開機(jī)箱才能操作,而且在小型平板電腦和嵌入式電腦中根本沒有安裝控制卡的空間和擴(kuò)展槽。將計算機(jī)串行口二次開發(fā),用于控制步進(jìn)電機(jī),代替控制卡的作用,具有成本低、操作簡單、兼容性好等優(yōu)點(diǎn)。 |
|
1 rs232串行口及編程 計算機(jī)串行接口采用rs232標(biāo)準(zhǔn):規(guī)定邏輯1的電平為-3~-15v,邏輯0的電平為+3~+15v,常用的信號有8個(接口為db9m插座時,引腳號如表1所示),其中rxd、txd為收、發(fā)數(shù)據(jù),可與rs232串行口設(shè)備直接進(jìn)行通訊,rts、dtr、cd、dsr、cts、bell為控制與檢測modem的信號,在通訊過程中起聯(lián)絡(luò)與控制作用。數(shù)據(jù)格式有5、6、7、8位幾種,1位起始位(邏輯0),1、1.5、或2位停止位(邏輯1),可以選擇奇校驗(yàn)、偶校驗(yàn)和無校驗(yàn),常用波特率為2400、4800、7200、9600bps等。串行口編程方法主要有三種:硬件編程法、文件操作法、串口控件法。 |
表1 rs232接口各引腳定義 |
引腳號 |
作用 |
方向 |
1 |
cd 數(shù)據(jù)載波檢測 |
輸入 |
2 |
rxd 接收數(shù)據(jù) |
輸入 |
3 |
txd 發(fā)送數(shù)據(jù) |
輸出 |
4 |
dtr 數(shù)據(jù)終端準(zhǔn)備就緒 |
輸出 |
5 |
gnd 信號地 |
|
6 |
dsr 數(shù)據(jù)設(shè)備準(zhǔn)備就緒 |
輸入 |
7 |
rts 請求發(fā)送 |
輸出 |
8 |
cts 清除發(fā)送 |
輸入 |
9 |
ri 振鈴指示 |
輸入 | |
1.1 硬件編程法 直接使用端口的輸入、輸出(i/o)函數(shù)對串行口的控制電路進(jìn)行編程。適用于dos及windows平臺(windows me以前的各版本),但在基于nt技術(shù)構(gòu)建的操作系統(tǒng)(windows nt、windows 2000、windows xp等)中因不允許用戶程序直接操作硬件而不適用。常用的端口輸入、輸出函數(shù)(指令)有:匯編語言的in、out指令及軟中斷調(diào)用,c語言的inport( )、outport( )、inportb( )、outportb( ),c++的_inp( )、_outp( )等。計算機(jī)串行口采用intel 8250異步串行通訊組件構(gòu)成,com1、com2、com3、com4的基地址分別為16#3f8(16進(jìn)制數(shù)3f8,表示法下同)、16#2f8、16#3e8、16#2e8,波特率因子(dr)計算方法為:dr=1.8432×1000000/16b,8250編程請見參考文獻(xiàn)[3]。
1.2 文件操作法[4] 文件操作法是將串行口作為系統(tǒng)的一個文件來處理,通過對這個文件的讀、寫操作引發(fā)串口對數(shù)據(jù)進(jìn)行收、發(fā)動作。這種方法在dos、windows、windows nt、windows2000及windows xp等平臺下都能正常工作。例如在basic語言中可用語句:open "com1,1200,n,8,1,rs,cs,ds,cd"as #1將串行口com1作為文件#1進(jìn)行讀寫操作。在vc++中,可用createfile()、buildcommdcb()、read()、write()、escapecommfunction()等函數(shù)將串行口作為文件進(jìn)行操作。
1.3 串口控件法 用vb及vc++編程時,可用控件對串行口進(jìn)行編程。這種方法通用性好,在windows、windows nt、windows2000及windows xp等平臺下都能正
熱門點(diǎn)擊
推薦技術(shù)資料
| |