已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一种直接采用计算机串行口控制步进电机新方法类别:电子综合摘要:介绍了一种计算机串行口经二次开发,用作步进电机控制器的新方法。计算机通过向串行口发送数据产生控制脉冲,实现对步进电机的控制。关键词:串行口二次开发控制脉冲步进电机控制器步进电机在数控机床、医疗器械、仪器仪表等自动或半自动设备中得到了广泛应用。用计算机控制步进电机的通常作法是采用步进控制卡,系统构成如图 1 所示12。其中 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 等。串行口编程方法主要有三种:硬件编程法、文件操作法、串口控件法。表 1RS232 接口各引脚定义引脚号 作用 方向1 CD 数据载波检测 输入2 RXD 接收数据 输入3 TXD 发送数据 输出4 DTR 数据终端准备就绪 输出5 GND 信号地6 DSR 数据设备准备就绪 输入7 RTS 请求发送 输出8 CTS 清除发送 输入9 RI 振铃指示 输入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)计算方法为:DR1.84321000000/16B,8250 编程请见参考文献3。1.2 文件操作法4文件操作法是将串行口作为系统的一个文件来处理,通过对这个文件的读、写操作引发串口对数据进行收、发动作。这种方法在 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 秒。如果按位数据位、1 位停止位、无奇偶校验方式发送数据,所发送数据的二进制位是 0、1 交替的。例如:数据取01010101(即 16 进制的 16#55),其发送过程如图 2 中 5 所示,每发送一个字节,在 TXD 端发出 5 个脉冲,周期 T2/B,即频率 fB/2。改变发送数据的各二进制位,便可在 TXD 端得到不同的波形。图 2 示出欲产生 15 个脉冲时应发出的数据及对应的波形。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 所示。在用串行口发送数据产生控制脉冲时,虽然通过改变所发字节内容的办法能产生 15 中间任意个数的脉冲,但若发送一个字节所产生的脉冲少于 5 个,后面接着发送数据产生的脉冲时,两个字节衔接时所产生的脉冲频率和占空比均会产生波动。为使电机运行的三个阶段能平滑过渡,需要对每个阶段的脉冲数量进行调整,使 I、II 两个阶段的步数均为 5 的整数倍(分别为 n15、n25);将非 5 整数倍的步数安排在减速停车的 III 阶段,发出脉冲数为 n35+p,其中 p(14)。这可通过改变 III 阶段所发送的最后一个字节内容实现任意数量的脉冲输出。产生 14 个脉冲应发送的数据分别为 16#FF、16#FB、16#F5、16#D5。由图 4 所示的电机运行过程可知,在电机运行过程中,控制脉冲的频率 f应随时变化以满足电机低速起停及高速运行的需要。脉冲频率由发送数据的波特率(B)决定,每发出一个脉冲需用两个二进制位 1 和 0 来构成其高、低电平,所以 fB/2,通过调整发送数据的波特率可改变所发出的控制脉冲的频率。按常规波特率系列发送数据时所产生的控制脉冲频率变化较大,不能满足电机正常起停及调速的要求,为此计算机需按非标准的波特率发送数据以产生任意频率的控制脉冲。一般在电机起动及停止阶段(I、III)每发送一个字节调整一次波特率,以使电机起停得尽量平滑。用串行口直接控制步进电机的控制软件流程图如图 5 所示。4 高级控制功能对步进电机的高级控制,主要是指自动找零及多机联动差补。找零功能是指控制步进电机驱动运动机构,完成定位的过程。在找零时,电机一般以低速运行,当测到 ORG 信号时电机停止。由于运行速度低,为简化程序设计,每发送一个字节,在 TXD 端可以只输出一个脉冲,测到 ORG 信号则停止发送。为保证输出脉冲的占空比为 50%,发送字节定为 16#F0。找零程序的设计可参照图 5 进行。差补是指控制两台或两台以上电机按规定的速比运行,进而控制执行机构沿规定的轨迹运行。由于一般计算机只有两个串行口,这种方法只适用于二维差补控制。通常两个串行口用相同的波特率进行发送,通过调整发送的字节数及发送每个字节所产生的脉冲个数的不同来调整两个电机的运行速度和位置。实际运行证明,用串行口设计的步进电机控制器具有使用方便、性能稳定、成本低、可移植性好、不需安装硬件设备驱动程序等优点。直接采用计算机串行口设计的步进电机控制控制器适用于对全数字式伺服电机进行控制。本文对计算机串行口、并行口等资源的二次开发应用起到了一定的借鉴作用。参考文献 1 Users Manual PCL-839 Advantech Co.Ltd 1994122 嘉 志6020 电机控制卡使用手册北
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 茶叶类目抖音运营方案
- 景区投资公司运营方案
- 公园运营活动方案
- 国资投资平台运营方案
- 健康产品运营方案范本
- 袋装水电商运营方案
- 展示柜台运营方案
- 夏季墙面施工方案
- 影楼企业运营管理方案
- 垂钓策划运营方案模板
- 《浙江省中药饮片炮制规范》 2015年版
- 康复科危急值报告制度及流程
- LY/T 3398-2024草原等级评定技术规程
- 小羊羔(2023年江苏苏州中考语文试卷记叙文阅读题及答案)
- 重庆市藻渡水库工程环境影响报告书-上报
- MOOC 唐宋诗词与传统文化-湖南师范大学 中国大学慕课答案
- 酒店财务管理课件:成本控制
- 抑郁症病人护理课件
- 亲子阅读陪伴成长PPT
- 《电工技术基础与技能》教学教案
- 正版高中化学选修3课后习题标准答案人教版
评论
0/150
提交评论