DELPHI 环境下 PC 机对步进电机的直接控制
Direct Control for Step Motor by PC in DELPHI
钟建冬 苏剑波
(上海交通大学 上海 200030)
摘 要 步进电机作为一种有效的定位驱动器件,一直以来大多使用单片机对其进行控制,
不同控制系统之间的不兼容性制约了步进电机的使用范围.本文说明了如何利用 DELPHI 软件开
发平台和 PC 机自带的 I/O 端口实现步进电机的直接控制,同时介绍了该系统的外部信息处理.
关键词 步进电机 PC 机 DELPHI LPT 口 直接控制
Abstract As an effective tool of motion control, step motor has ever been controlled by the SCM.
Its application is limited by the non-compatibility of different control systems.This article describes
how to realize the direct control for step motor by use of DELPHI and I/O ports of PC. It also
introduces the external information processing of this system.
Keywords step Motor, PC, DELPHI, LPT port, direct control
中图分类号:TM301.2 文献标识码:A 文章编号:1005-8354 (2004) 04-0031-05
1 引言
等 WINDOWS 应用程序开发平台.在这些开发平台
作为一种有效的定位驱动器件,步进电机的应
中,DELPHI 具有简单、高效、功能强大的特点,
用一直十分广泛,它的控制系统普遍使用了单片
而且可以直接插入汇编代码,这就方便了对底层硬
机.在自动控制飞速发展的今天,单片机在控制和
件资源的控制,通用性更强.
使用方面的局限性越来越显现,特别是单片机与其
为使步进电机能在现代控制系统中得到广泛
他控制单元之间的不兼容性已成为步进电机应用的
的应用,必须使用兼容性较好的现代控制工具对其
障碍.
进行控制—通过 PC 机的标准 I/O 口,应用DELPHI
从最早的继电器接触器回路控制、单片机控制
开发平台,实现步进电机的控制不失为一种好方法.
到 80 年代后被广泛运用的 PLC、CNC 和 DCS 等自
动控制主系统都有着无法回避的局限性:界面生硬、
接口单一、通用性差,难以在各种控制系统中互换,
2 步进电机控制及实现方法简介
2.1 步进电机控制基本要求
只能单一地控制某一单元.上述的控制系统对控制
步进电机是一种定位控制器件,在控制上与普
量的柔性变动跟随性较差,在需要柔性控制的应用
通电机有很大的不同.通常情况下,根据控制要求
中,这一类控制系统已丧失了它们的优势.在这种
产生的脉冲信号送入步进电机自带的或是适用的控
情况下,使用各种开发工具装备的 PC 机作为主控
制放大器,通过控制放大器的输出驱动步进电机.步
系统已越来越广泛.
进电机转过的角度取决于送入的步进脉冲数;而电
PC 机之所以能在自控系统中得到广泛的应用,
机的正反转控制则由在控制放大器的正反相接口送
除了它本身具有多样的标准接口、标准的操作平台
入不同的高低电平实现的.步进脉冲要求:脉冲峰
(如 WINDOWS、DOS)和硬件更新快等优点外,
值电压(4.0~5.5)V,脉冲谷值电压(0~0.5)V,
最大的优势还在于 PC 机上的软件开发平台,如一
脉冲占空比≤50%.正反向控制电平要求:高电平
些知名的人机界面软件,还有 VC、VB 和 DELPHI
(4.0~5.5)V,低电平(0~0.5)V.高电平时电
机 电 设 备 2004 年 第 4 期 — 31 —
流(5~15)mA.
2.2 步进电机控制实现方法
以一定的方向和速度运动,实现步进电机控制系统
的有效控制.如果步进电机控制系统再将当前的位
现代的 PC 机具有多种标准接口,如 USB、
置信息反馈至 PC,PC 据此作出信号调整,则整个
Ethernet 口、并行口(LPT)和串行口(COM)等,
根据上述的步进电机控制信号要求,并行口为最理
想的控制用接口.一方面并口的数据端口能输出符
系统就能实现有效的闭环控制.
4 系统接口要求及形式
合要求的脉冲信号和高低电平,另一方面并口中的
为实现 PC 机与步进电机控制放大器的有效联
状态端口和控制端口还能够读取和发送信号,满足
络,必须考虑双方的接口形式.
控制的双向通讯要求.而 USB 口和 Ethernet 口能与
PC 机的并口(LPT)共有 25 位,其中数据端
其他系统相连接,使步进电机与其他系统相兼容,
口占 8 位,为 OUT 口;控制端口占4 位,为 IN/OUT
成为一个整体.此时 PC 机不单单具有控制功能,
双向口;状态端口占 5 位,为 IN 口;另外有 8 个
还起到了系统间联络的作用.
接地端口.数据端口和控制端口为控制系统的输出
运用 DELPHI 语言编程,运行程序,读取由并
口,输出各类控制信号及数据,状态端口和控制端
口或是 USB 等接口送来的信息,根据控制要求进行
口为控制系统的输入端口,接收外界的信息.LPT
内部运算,得出相应的动作指令,再通过对 PC 机
口对外通迅的电压等级为 5V,与步进电机控制放大
并口的某一位进行相应的置位与复位,得到控制所
器的电压等级一样,而且其送出的脉冲也均能符合
需的步进电机的脉冲信号.步进电机的转速取决于
步进电机控制放大器的要求.
脉冲信号的频率,即置位与复位的时间间隔;转过
步进电机控制放大器的 CP 口为步进控制脉冲
的角度则取决于送出的脉冲个数.同时根据控制需
的接收口,上升沿有效;U/D 口为正反转控制口,
要,运用 DELPHI 制作相关的人机界面,使控制系
高电平时电机反转,低电平时电机正转;PD 口为电
统更为完整、直观.
3 控制系统硬件
外
部
系
统
信
息
USB、并口等
PC 机
(DELPHI
控制平台)
机械传动系统
USB、并口等
步进电机
控制系统
换相电源
步
进
电
机
并
行
口
步进电机
控制放大器
机控制状态口,高电平时控制无效,并且电机各相
无保持电压,低电平时控制有效.以上各接口均可
直接与 PC 机 LPT 口的数据口相连,接收来自 PC
机的控制信号.因此,使用 PC 机的 LPT 口与步进
电机控制放大器可以直接相连进行通迅,不需要增
加任何的中间隔离电路.
5 系统接线与软件编程
5.1 系统接线
现以小球在平台上的自定位实验系统为例说
明系统接线方法.该实验系统的大致情况是摄像头
定时拍摄一个在一平台上自由滚动的小球在平台上
位置的图像,拍摄的图象送入计算机进行图像处
图 1 系统硬件构成框图
理.通过对小球在平台上位置的分析,找出小球的
坐标,对照小球要求的定位坐标,运用 DELPHI 开发
如图 1 所示,PC 机接收到外部系统及步进电机
的软件内部逻辑算法及 PID 控制,得出平台两个转
控制系统由 USB、并口等送来的信息后,通过计算,
动方向的控制要求,再使用 PC 机的 LPT 口与步进电
得出步进电机的运动指令,再通过并口把脉冲信号
机控制放大器通讯,以使两台受控制的步进电机转
输送到步进电机控制放大器放大后,驱动步进电机
动,驱动一精密机械传动系统带动平台在 X、Y 两
— 32 — 机 电 设 备 2004 年 第 4 期
个方向转动,使小球在目标位置精确定位.
5 连接,各负极均接至 LPT 口接地端.以上这些均
图 2 为 PC 机与步进电机控制放大器的接线框
为由 PC 机发信号至步进电机控制放大器的控制
图,步进电机控制放大器与 PC 机 LPT 口直接用电
线.平台基础的四个检测过位的微动开关连接至
缆连接即可,图中两台步进电机控制放大器的 CP+
LPT 口的(10~13)脚上,PC 机由此可接收平台的
口分别与 LPT 口的 DATA 0 和 DATA 1 连接,U/D+
过位报警信号.
与 DATA 2 和 DATA 3 连接,PD+与 DATA 4 和 DATA
Pin 2 / Data 0 (Data)
Pin 3 / Data 1 (Data)
Pin 4 / Data 2 (Data)
Pin 5 / Data 3 (Data)
Pin 6 / Data 4 (Data)
Pin 7 / Data 5 (Data)
PC 机 LPT 端
Pin 10 / NAck (Status)
Pin 11 / Busy (Status)
Pin 12 / Paper-out (Status)
Pin 13 / Select (Status)
Pin 25 / Ground
X+过位
X-过位
Y+过位
Y-过位
CP+
CP-
U/D+
U/D-
PD+
PD-
CP+
CP-
U/D+
U/D-
PD+
PD-
X 向步
进电机
控制放
大器
Y 向步
进电机
控制放
大器
5.2 软件编程
图 2 PC 机与步进电机放大器接线图
MOV B, AL;
软件设计选用 DELPHI 作为开发平台,很容易
END;
实现使用 PC 机直接控制步进电机.下面就以如何
Result:=B;
利用 DELPHI 编程实现 PC 机 LPT 端口向步进电机
end;
控制放大器发送指令及读入外部信息来说明端口读
//写端口过程
写操作的方法.
procedure WritePort(Port:WORD;ConByte:BYTE);
在此类操作中,对 LPT 端口的控制可以在
begin
DELPHI 中插入汇编代码(ASM)实现.
ASM
//读端口函数
function ReadPort(Port:WORD):BYTE;
var
B:byte;
begin
ASM
MOV DX, Port;
IN AL, DX;
MOV DX, Port;
MOV AL, ConByte;
OUT DX, AL;
END;
end;
//控制 LPT 口 D0 数据,使之输出为 1
var
B:byte;
机 电 设 备 2004 年 第 4 期 — 33 —
begin
B:=ReadPort($378);
B:=B or $01;
WritePort($378,B);
End;
对 步 进 电 机 的 转 动 控 制 分 为 自 动 和 手 动 两 种 方
法.如图 3 所示,通过单击屏幕上的开始按钮起动
自动运行程序,使相应的端口发送脉冲信号至步进
电机控制放大器;手动界面与自动界面基本相同,
只要单击相应的 X+、X-、Y+、Y-按钮就能使 LPT
这 样 的 代 码 在 Win98 里 是 正 常 的 , 但 在
口相应端口送出一定频率的脉冲,使步进电机向相
Win2000/XP 里会报错,因为Win2000/XP 不能直接
应方向转动.
对硬件进行操作,它是虚拟硬件层, NT 核心的
Windows(如 NT4.0、Win2000、WinXP)的驱动不
是一个 VxD 就能实现的,而需要 WDM 驱动,这样
就会加大难度.Porttalk 是一个很好的设备驱动,用
它能很方便地实现对底层端口的操作,建立一个
Porttalk.sys 的 Delphi 接口函数 InPortB、OutPortB、
OpenPortTalk、ClosePortTalk 等以后,就可以很方
便地调用.
//控制 LPT 口 D0 数据,使之输出为 1
var
B:byte;
Begin
if not OpenPortTalk then exit;
B:=InPortB($378);
B:=B or $01;
OutPortB($378,B);
ClosePortTalk;
end;
//读取 LPT 口“ACK” 状态数据
var
B:byte;
Begin
if not OpenPortTalk then exit;
B:=InPortB($379);
B:=B and $40;
ClosePortTalk;
end;
6 实验演示
图 3 自动运行人机界面
图 4 手动状态时平台水平位置
现就以小球在平台上的自定位系统的设计为
例来演示 PC 机对步进电机的直接控制.首先使用
图 5 手动状态时平台 X-极限位置
DELPHI 制作设计要求的人机界面.在本设计中,
— 34 — 机 电 设 备 2004 年 第 4 期
图 4 为手动状况下平台在水平位置时的图像,
7 参考文献
此时单击 X-按键,LPT 口 DATA 0 送出脉冲信号,
[1] 末松良一.控制用微机入门[M].北京:科学出版社,
DATA 2 送出高电平反转信号,步进电机反转,平
2000.
台向 X-倾斜,当平台倾斜至图 5 所示状态时,过位
[2] 王家桢.调节器与执行器[M].北京:清华大学出版
微动开关动作,信号送入 LPT 的 BUSY 端口,X-
社,2000.
向停止运动子程序起动,LPT 口停止输出脉冲,X
方向步进电机停止转动,除非此时接到X+向运动指
作者简介:钟建冬 男(1974-),上海交通大学控制工
令,否则系统将在图 5 所示状态停止.
程在读工程硕士研究生.主要从事先进自动化流水线的
管理和研究.
江西开发出廉价海水淡化技术
随着经济和社会的发展,以及环境污染造成的对水资源的破坏,使地球上的淡水日益紧缺,仅我国缺
水型城市就达到了 300 多个,这将严重影响 21 世纪可持续发展战略的实施。
为了解决淡水资源缺乏的问题,很久以来世界各国的科学家都把目光投向了海洋,因为地球上 97%的
水都在海洋里。我国也在一些城市进行了海水淡化的工程性试验。然而由于传统的海水淡化技术投资高、
能耗大,过高的生产成本使淡水价格居高不下而难以推广。
江西九江天力太阳能科技有限公司独辟蹊径,经过多年研究,终于解决了太阳能海水淡化中的关键问
题即热能转换效率低的问题,开发出“高效光、热感应交换器”,并已取得国家专利。该装置使用独特介质
大幅提高太阳能的效能,使海水淡化的能耗降到最低,大大降低了淡水生产的投资和成本。按建一个 10 万
平方米的海水淡化工厂测算,总投资为 7000 万元,每天可生产淡水 9.6 万立方米,以 20 年的使用期计算,
每立方米淡水的成本仅为 0.119 元,大大低于一个中型自来水厂的生产成本,节约了宝贵的能源。
有关专家认为,太阳能海水淡化装置的成功开发,为我国大规模利用海水打下了基础。我国有 1.8 万
多公里的海岸线,有数以万计的海岛,大多数海岛都面临淡水缺乏的问题,这将是一个巨大的市场。
转摘自《中国环境报》
上海推出双碱再生脱硫除尘一步法装置
长期以来困扰环保产业界的湿法脱硫两大难关--引风机带水和堵塞问题,目前已被攻克。上海柴油
机公司的两台 20 吨锅炉安装双碱再生脱硫除尘一步法装置后,运行半年多未发生引风机带水和堵塞问题,
且脱硫除尘效率高,运行成本低,无二次污染。
该装置是由上海一公司积 30 年湿法除尘经验而发明的。近年来,该公司在总结湿法除尘不带水的基础
上,致力于烟气脱硫技术的创新和实践,发明了 XYDS 型双碱再生脱硫除尘一步法装置,在上海大众汽车
公司试验成功后又在上海柴油机公司等单位安装,运行性能良好,对锅炉的燃烧没有影响;引风机不带水、
不结垢、不堵塞、不腐蚀;连续运转效率接近 100%(与锅炉运行同效率)。经环保部门跟踪测试和取样分
析,脱硫效率达到86%~92%,在燃用低硫煤的情况下,脱硫效率仍达到67.6%~80.3%,除尘效率达91.2%~
99.3%。被吸收的二氧化硫反应生成不溶性物质全部从液体中分离沉淀,二氧化硫不再挥发,解决了二次污
染问题。脱硫液再生接近 100%,使成本降低至每千克二氧化硫 0.3 元以下。
有关专家表示,脱硫技术是今后几年削减二氧化硫污染的关键。目前,尽管不少城市安装了脱硫装置,
但由于技术不过关,许多装置形同虚设。如果能攻克这两大难题,就能使我国的脱硫技术走上高效率、低
成本的道路,使我国控制二氧化硫污染的目标得到实现。 转摘自《中国化工报》
机 电 设 备 2004 年 第 4 期 — 35 —