




已阅读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 等。串行口编程方法主要有三种:硬件编程法、文件操作法、串口控件法。表 1 RS232 接口各引脚定义引脚号 作 用 方 向123456789CD 数据载波检测RXD 接收数据TXD 发送数据DTR 数据终端准备就绪GND 信号地DSR 数据设备准备就绪RTS 请求发送CTS 清除发送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、16E2E8 ,波特率因子(DR )计算方法为:DR=1.84321000000/16B,8250 编程请见参考文献3 。1.2 文件操作法4文件操作法是将串行口作为系统的一个文件来处理,通过对这个文件的读、写操作引发串口对数据进行收、发动作。这种方法在 DOS、Windows、Windows NT、Windows 2000 及 Windows XP 等平台下都能正常工作。例如在 BASIC 语言中可用语句:OPEN “COM1,1200,n,8,1,rs,cs,ds,cd”AS #1 将串行口 COM1 作为文件#1 进行读写操作。在VC+中,可用 CreateFile()、 BuildCommDCB()、Read()、 Write()、EscapeCOMM()等函数将串行口作为文件进行操作。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 秒。如果按 8 位数据位、 1 位停止位、无奇偶校验方式发送数据,所发送数据的二进制位是 0、1 交替的。例如:数据取01010101(即 16 进制的 16#55),其发送过程如图 2 中 5 所示,每发送一个字节,在 TXD 端发出 5 个脉冲,周期T=2/B,即频率 f=B/2。改变发送数据的各二进制位,便可在 TXD 端得到不同的波形。图 2 示出欲产生 15 个脉冲时应发出的数据及对应的波形。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 所示。在用串行口发送数据产生控制脉冲时,虽然通过改变所发字节内容的办法能产生 15 中间任意个数的脉冲,但若发送一个字节所字节的脉冲少于 5 个,后面接着发送数据产生的脉冲时,两个字节衔接时所产生的脉冲频率和占空比均会产生波动。为使电机运行的三个阶段能平滑过滤,需要对每个阶段的脉冲数量进行调整,使、两个阶段的步数均为 5的整数倍(分别为 n15、n25 );将非 5 整数倍的步数安排在减速停车的阶段,发出脉冲数为 n35+p,其中p=(14)。这可通过改变 阶段发送的最后一个字节内容实现任意数量的脉冲输出。产生 14 个脉冲应发送的数据分别为 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 所示。差补是指控制两台或两台以上电机按规定的速比运行,进而控制执行机构沿规定的轨迹运行。由于一般计算机只有两个串行口,这种方法只适用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030慢病管理数字化平台用户粘性培养与医保支付对接策略
- 2025-2030律师事务所风险控制与危机管理策略研究
- 2025-2030律师事务所行业集中度与竞争态势评估
- 2025-2030律师事务所行业航空航天法律业务发展前景报告
- 2025-2030律师事务所行业海事海商法律服务市场调研
- 2025-2030律师事务所行业新兴业务领域与创新模式研究报告
- 2025-2030律师事务所行业政策法规变动及合规应对策略
- 2025-2030律师事务所行业成本控制与财务管理研究报告
- 2025-2030律师事务所行业市场规模及增长预测分析报告
- 电商系统架构优化-洞察与解读
- 2025年全国行政执法试题库含答案
- 2025-2030中国城镇燃气行业反恐怖防范标准实施效果评估报告
- 2025年邮政人员考试试题及答案
- 中国小米汽车市场调研报告-202509
- 金沙县国有资本投资运营集团有限公司招聘51人笔试参考题库附答案解析
- 小学英语学困生个性化辅导计划范本
- GB/T 21181-2025再生铅锭
- 2025年全国成人高校招生考试民法复习题库及答案
- 剪映数字人一键讲解功能应用
- 自制净水器原理课件
- 固定资产盘点与账目核对模板
评论
0/150
提交评论