VC++编程在步进电机控制中的应用.pdf

上传人:asd****56 文档编号:70344602 上传时间:2023-01-19 格式:PDF 页数:6 大小:344.25KB
返回 下载 相关 举报
VC++编程在步进电机控制中的应用.pdf_第1页
第1页 / 共6页
VC++编程在步进电机控制中的应用.pdf_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《VC++编程在步进电机控制中的应用.pdf》由会员分享,可在线阅读,更多相关《VC++编程在步进电机控制中的应用.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、http:/-1-VC+编程在步进电机控制中的应用编程在步进电机控制中的应用 张敏,陈劲操,郑思 南京理工大学动力工程学院,南京(210094)摘摘 要要:利用计算机发送数字到并行口产生方波序列,并搭建驱动电路,以实现对步进电机的控制。用 VisualC+6.0 编制控制可视化程序界面,运用动态连接库 DLL 技术将 WinIo 库应用到程序中,实现了 Windows XP 系统下对 I/O 口的直接操作。同时,将步进电机安装在丝杆导轨上,编程实现按指定步数和方向控制步进电机转动,并调速、控制越界检查和自动复位,以及编制模拟运动范例程序。关键词关键词:步进电机,Visual C+编程,I/O

2、并行口 1.引言引言 步进电机是一种近年来得到广泛应用的新型电机,其工作原理与以往的直流电机有很大不同。步进电机控制精确,便于使用数字设备来控制,如微机控制,并且又不需要加装闭环控制电路,使得其实现非常简便。同时,面向对象的可视化编程语言 Visual C+6.0 开发工具强大灵活,有很好的应用前景。这两者的结合将大有作为,如应用于精密的位置控制,绘图仪和机器人等等。2.步进电机原理分析步进电机原理分析 步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号时,就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。通过控制脉冲个数来控制角位移量,从而达到准确定位的目的

3、。同时,可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的1。步进电机分为三种:永磁式(PM),反应式(VR)和混合式(HB)。以三相反应式步进电机为例,转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开。0、1/3、2/3(相邻两转子齿轴线间的距离为齿距以表示),即 A 与齿 1 相对齐,B 与齿 2 向右错开 1/3,C 与齿 3 向右错开 2/3,A与齿 5 相对齐(A就是 A,齿 5 就是齿 1),图 1 是定转子的展开图。如 A 相通电,B 和 C 相不通电时,由于磁场作用,齿 1 与 A 对齐,转子不受任何力矩。如 B 相通电,A 和

4、 C 相不通电时,齿 2 应与 B 对齐,此时转子向右移过 1/3,此时,齿 3与 C 偏移为 1/3,齿 4 与 A 偏移(-1/3)=2/3。如 C 相通电,A 和 B 相不通电,齿 3 应与 C 对齐,此时转子又向右移过 1/3,此时,齿 4 与 A 偏移为 1/3 对齐。如 A相通电,B 和 C 相不通电,齿 4 与 A 对齐,转子又向右移过 1/3。这样经过 A、B、C、A 分别通电状态,齿 4(即齿 1 前一齿)移到 A 相,电机转子向右转过一个齿距,如果不断地按 A,B,C,A,通电,电机就每步(每脉冲)1/3,向右旋转。如按 A,C,B,A,通电,电机就反转2。图 2 为采用步

5、进电机的二维移动平台。http:/-2-图 1 定转子的展开图 图 2 MD2 型二维移动平台 3.用并行口控制步进电机转动用并行口控制步进电机转动 3.1 励磁方波励磁方波 在本研究中,选用日本 NMB 公司的 PM25S-048 型永磁式步进电机3,步进角是 7.5,二相双绕组,驱动电压 12V。二相双绕组步进电机有单相励磁方式和二相励磁方式。二相励磁时,同时有相邻的两个定子被励磁,而单相励磁方式只有一个定子被励磁,因此,采用二相励磁方式的输出转矩是后者的两倍,其波形如图 3 和图 4 所示,PC 打印口输出方波,如图 4,第一个时间周期里,A 和 B 两相是高电平,如果 A、B、A_、B

6、_相,分别接在打印口的 pin2、pin3、pin4、pin5 脚上,则只要往打印口送数字 0 x03,并使之保持高电平一段时间,直到下一个时间周期,B 和 A_两相变为高电平,即输出 0 x06。这里 PC 并行端口在控制系统中作为数字 I/O 口应用。在该控制系统中,通过计算机并行端口形成数字控制信号。由于,步进电机有一定的反应时间,需要使打印口的数字能保持一段时间。http:/-3-图 3 单相励磁方波 图 4 二相励磁方波 3.2 PC 并行口数字输出的并行口数字输出的 VC 实现实现 由于 Windows 对系统底层操作采取了屏蔽的策略4,因而对用户而言,系统变得更为安全,但这却给硬

7、件开发带来了不小的困难。由于 Windows 对系统的保护,不允许任何的直接 I/O 动作发生,对并行口的读写操作就是如此。因而只要应用中涉及到底层的操作,开发人员就不得不深入到 Windows 的内核去编写属于系统级的设备驱动程序。而这大大超过了一般开发人员的知识水平和编程技能,故可直接使用由 Yariv Kaplan5编写的 WinIo。它有如下特点:通过使用内核模式下设备驱动程序和其它一些底层编程技巧绕过 Windows 安全保护机制,允许 32 位 Windows 程序直接对 I/O 口进行操作。本研究将 WinIo 制作成动态连接库,引出其中关于对端口操作的函数,直接应用到所编的程序

8、中。4.电路设计电路设计 4.1 驱动电路驱动电路 达林顿管是一种将两个晶体管连接在一起以提高负载能力的常用电路,作用相当于一个大电流电压负载的三极管,被广泛用于电机驱动。这里选用东芝公司的 ULN2803A(图 5)集成电路,这是一种电流电压负载能力均高的晶体管阵列,由八对 NPN 型管组成,集电极电流可达 500mA,在输入电压为 2v 时,Vce 导通,直流稳压电源给步进电机线圈供电产生磁场,从而产生力矩驱动电机转动。图 5 ULN2803A 每个达林顿对的配置图 4.2 接口电路接口电路 内部的电路原理和接线图如下图 6 和 7 所示,当并行口的某一管脚为高电平时,与之相连的那个达林顿

9、管将被触发。这是因为达林顿管是将两个三极管连接而成,对外而言,相当于一个高负载能力的三极管。这一高电平作用在 B 极上,使直流电源通过电机绕组,然后接地,形成回路。线圈被励磁,产生力矩。当该管脚边为低电平后,由于绕组线圈的感抗存在,使得线圈上残留着电动势,这一电势如果不设法消除,将阻碍步进电机的转动,同时,http:/-4-会使电机发热,导致电机性能下降。解决的办法是在线圈上串联一个电阻,其接线原理如图8。图 6 基本接线原理图 图 7 线圈的接法 图 8 实际接线图 5.控制程序编制控制程序编制 5.1 程序界面和功能说明程序界面和功能说明 程序界面如图 9 所示,程序的类结构图 10 所示

10、。应用程序包括三个类。CaboutDlg,这是用于版本信息的“关于”对话框的类。CParrallelPortControlApp 框架程序类,是应用程序的实例类,这个类自动调用初始化函数,构建和显示对话框。CParrallelPortControlDlgl 类是程序的主体,所有电机控制的功能都在这里实现。5.2 转动函数转动函数 正转函数 void CParallelPortControlDlg:Forward(int cycles)是控制程序的核心。该函数的作用是正向转动指定的步数,同时,为了防止机械部分越界运行,而造成对电机的损坏,加入了检查是否越界的功能,并在每次驱动步进电机后对变量 m

11、_iStep 作记录。并行口的地址是 0 x378,向打印口送出数字,并保持一段时间,就可以产生所需的方波,用这些方波去触发达林顿晶体管,使步进电机绕组按顺序导通,产生力矩驱动电机转动。SetPortVal 是 WinIo 中的函数,已经做成了动态连接库,因而可以在程序中直接调用,向并行口写入数据。当电机的A、B、A_、B_四条线分别接在并行口的D0-D3上时,也就是Pin2-Pin5http:/-5-上时,应顺序送出 0 x09,0 x0c,0 x06,0 x03:SetPortVal(0 x378,0 x09,1)延时;SetPortVal(0 x378,0 x0c,1)延时;SetPor

12、tVal(0 x378,0 x06,1)延时;SetPortVal(0 x378,0 x03,1)延时。6.结论结论 本研究综合应用了 Windows XP 下的 Visual C+编程、微型计算机的并行口操作、步进电机控制技术和功率放大电路等方面技术,实现了软件与硬件结合的控制方法。通过编程使微机并行口产生序列方波来控制步进电机的转动,实现在丝杆导轨上的精确位置控制。这些技术在工业界的自动控制和机器人应用方面有着实用价值和广阔前景。图 9 程序的界面 图 10 程序的类结构 http:/-6-参考文献参考文献 1 潘新民,王燕芳,计算机控制技术,北京:人民邮电出版社,1999。2 丛望,郭镇

13、明,电机学,哈尔滨:哈尔滨工程大学出版社,2000。3 船仓一郎,土屋尧,崛桂太郎著,宗光华,杨洋,唐伯雁译,机器人控制电子学,北京:科学出版社,2004。4 Davis Chapman 著,骆长乐译,学用 VisualC+6.0,北京:清华大学出版社,1999。5 Yariv Kaplan,WinIo v2.0,Direct Hardware Access UnderWindows/NT/2000/XP 2005.The Applications of Visual C+Programming in the StepMotor Controlling System Zhang Min,Che

14、n Jincao,Zheng Si School of Power Eng.,Nanjing University of Science and Tech.,Nanjing(210094)Abstract The Visual C+under Windows XP operating system,parallel terminal I/O and the technique of DLL were used for controlling the step motor,which realized the functions of rotation in an appointed steps and velocities.The robot with the step motor is able to do some exact moving under this operating control system.Meanwhile,checking the limitation of the boundary locations and returning the original point were finished.Keywords:Step motor,Visual C+programming,Parallel terminal I/O

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁