一种直接采用计算机串行口控制步进电机的新方法
摘要:介绍了一种计算机串行口经二次开发,用作步进电机控制器的新方法。计算机通过向串行口发送数据产生控制脉冲,实现对步进电机的控制。
关键词:串行口二次开发控制脉冲步进电机控制器
步进电机在数控机床、医疗器械、仪器仪表等自动或半自动设备中得到了广泛应用。用计算机控制步进电机的通常作法是采用步进控制卡,系统构成如图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及Windows 《一种直接采用计算机串行口控制步进电机的新方法》
本文链接地址:http://www.oyaya.net/fanwen/view/142010.html
关键词:串行口二次开发控制脉冲步进电机控制器
步进电机在数控机床、医疗器械、仪器仪表等自动或半自动设备中得到了广泛应用。用计算机控制步进电机的通常作法是采用步进控制卡,系统构成如图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及Windows 《一种直接采用计算机串行口控制步进电机的新方法》