页数:33页文件大小:1.46 MB来源: 计算机控制技术ppt课件
本课件为《计算机控制技术》课程的实验二 步进电机与X-Y运动平台控制实验,围绕实验原理、实验接线图与实验步骤展开讲解,逐页呈现原理框图、接口电路与程序示例,并给出完整文字版,便于按章节检索与课后复习。
一实验目的
二实验仪器
1 X-Y运动平台控制系统结构图:X-Y运动平台控制系统属入PC+运动控制卡开放式多轴运动控制系统,由工控机(或计算机)、研华PCI-1220U运动控制卡、步进电机驱动器和X-Y运动平台构成,如图1、图2所示。三实验原理
工控机机负责人机交互:系统监督管理、软、硬件参数设置、运动轨迹规划、插补运算的实现及控制系统的实时监控等方面的工作;运动控制卡将运动控制的底层软件和硬件集成在一起,可以发出连续的、高频率的脉冲串,通过改变发出脉冲的频率来控制电机的速度,改变发出脉冲的数量来控制电机的位置,同时配备内容丰富、功能强大的运动函数库,库函数包括S型、T型加速,直线插补和圆弧插补,多轴联动函数等,使其具有伺服电机控制所需的各种速度、位置控制功能,这些功能能通过计算机方便地调用;步进电机驱动器能把运动控制卡发来的脉冲信号进行功率放大,驱动步进电机转动;X-Y运动平台为一个由2台步进电机带动的同步带式绘图机构,可以完成各种复杂的平面轨迹与图形。
工控机(VisualStudioC++):运动控制卡驱动器步进电机XY工作台驱动器步进电机图1 X-Y运动平台控制系统结构图
2 步进电机的基本工作原理:步进电机是将电脉冲信号转变为角位移或线位移的机电执行元件,每当一个脉冲信号施加于电机的控制绕组时,其转轴就转过一个固定的角度(步距角),顺序连续地发给脉冲,则电机轴一步接一步地运转。
3 逐点比较法直线插补和圆弧插补的计算原:插补计算就是数控系统根据输入的基本数据,通过计算,将工件的轮廓或运动轨迹描述出来,边计算边根据计算结果向各坐标发出进给指令。数控系统常用的插补计算方法有:逐点比较法,数字积分法,时间分割法,样条插补法等。本实验采用逐点比较法。逐点比较法插补,就是刀具或绘图笔每走一步都要和给定轨迹上的坐标值进行比较一次,决定下一步的进给方向。(1)逐点比较法直线插补从坐标原点出发,当Fm≧0时,沿+X方向走一步,当Fm<0,沿+Y方向走一步,当两方向所走的步数与终点坐标(Xe,Ye)相等时,停止插补。
第一象限直线插补判别函数区域图插补步骤:按偏差判别(决定下一步的走向)、坐标进给(走一步)、偏差计算(比较一次)和终点判别(插补结束判断)四个节拍来实现一次插补过程。
直线插补计算公式和进给脉冲方向
(2)逐点比较法圆弧插补圆弧插补的终点判:别和插补计算过程和直线插补基本相同,但在偏差计算的同时,还要进行动点瞬时坐标值的计算,以便为下一点的偏差计算作好准备。插补计算步骤:偏差判别->坐标进给->偏差计算->坐标计算->终点判断
逐点比较法圆弧插补
第一象限逆弧逐点比较法插补流程图
利用PCI-1220U运动控制卡的动态链:接库DLL可以很快开发出Windows平台下的运动控制系统。PCI-1220U函数库中提供常用的单轴运动,多轴独立运动控制,多轴插补运动控制,中断、等功能。基于PC+运动控制卡多轴运动控制系统的软件开发需由PCI-1220U运动控制卡提供开发库中的三个文件,一个是静态库ADVMOT.LIB,一个是头文件AdvMotApi.H,一个是WindowsNT2000使用的文件winio.sys,动态库中的函数已在头文件AdvMotApi.H中有声明,用户可以直接调用其中的函数。使用时需要将库文件、头文件正确配置。配置方法一种是将库文件、头文件添加到工程所在的目录中,并将库文件的名称填写到开发软件(如VC)的工程配置中;另一种是将头文件所在的目录在工程配置中设置好,库文件的名称填写到工程配置。4.设备驱动程序基础
调用控制卡提供的动态链接库AdvMotA:PI.dll里的功能函数来编写插补程序,调用的函数流程图如下
实验中用到的主要函数有:Acm_DevOpen-打开指定的设备来获得设备句柄Acm_AxOpen-打开指定的轴和得到这个轴对象的句柄Acm_GpAddAxis-添加轴到轴组中Acm_GetProperty-设置运动参数Acm_GpMoveDirectRel-命令组执行相对的直接插补Acm_AxClose-关闭轴Acm_DevClose-关闭设备
5 Visual C++软件开发平台:Visual C++是一个在Windows环境下的程序开发工具,是一种广谱性编程语言,覆盖从低级到高级的整个编程语言范围。它是可视化的、面向对象的,采用事件驱动的。它屏蔽了Windows环境下程序设计的复杂性,使Windows应用程序设计变得简单、方便、快捷。
四实验用主要设备系统设备主要由工控机:PCI-1220运动控制卡、步进电机驱动器及XY工作平台构成。
工控机
PCI-1220运动控制卡:PCI-1220是一款两轴步进、伺服电机控制卡。该卡能够提供各种运动控制功能,如单轴点动、连续运动、两轴直线,圆弧插补,T/S曲线加/减速等。关于进一步的应用,提供了Windows动态链接库和丰富直观的例程,可以减少编程的工作量。PCI-1220
步进电机驱动器:步进电机驱动器内置TB6560AHQ驱动芯片,将电脉冲信号转化成角位移来驱动步进电机运转。XY工作平台:X-Y运动平台为一个由2台步进电机带动的龙门同步带式绘图机构,可以完成各种复杂的平面轨迹与图形。
实验接线图:PCI-1220U接线端子板:五、PCI-1220U的I/O引脚图
步进电机驱动器与PCI-1220运动控制:卡接线图:步进电机驱动器PCI-1220U接线端子板CK_ACW_ACK_BCW_BENVDDGNDP+NP-NP+NP-NX轴PulseY轴PulseX轴DirY轴DirX or Z axisAxis24V+24V-GND输出端子19芯输入端子12芯Y or U axisAxis
六实验内容
七实验步骤:1.将板卡通过PCI总线与工控机相连;板卡的X轴P+N,P-N分别接驱动器的CK_A,CW_A;Y轴P+N,P-N分别接驱动器CK_B,CW_B,板卡GND接驱动器接地端;驱动器与XY工作平台通过自制总线连接。将驱动器通过24V供电。实验实物连接图如下图所示
2 启动计算机:在桌面运行Microsoft visual C++ 6.0软件。打开软件后,依次点击“文件”,“打开工作空间”,“E盘”,“计算机控制技术实验”,打开“实验二X-Y运动平台数控实验”文件夹,打开ARC.dsw文件。进入下面界面。
界面中:“当前设备”显示的是当前的设备,即PCI-1220运动控制卡;“打开”是打开运动控制卡;“关闭”即关闭运动控制卡;“添加轴”即将X,Y轴添加进轴组;“当前状态”显示XY轴及轴组状态;“运动轨迹”组即选择轨迹及运动参数配置;这里的“MOVE”按钮即我们点击的时候实现我们要求的轨迹。这里我们的逐点比较法程序就是在“MOVE”的消息处理函数里。
3 进入文件后:在左下角点击“Class”,然后在左侧工作区选择“CACRDlg”类,点击“OnBtnMove”,进入程序,找到voidCAboutDlg::OnBtnMove(){……//在此函数里编写插补程序,请勿改动其他程序double QD[2];double ZD[2];doublex,y,p;long f,n,n1;……插补结束}
在“在此函数里编写插补程序:请勿改动其他程序”这句后面添加插补程序,完成直线和圆弧插补。完成逐点比较法插补需要调用PCI1220板卡提供的DLL库里的Acm_GpMoveDirectRel(HAND GroupHandle, PF64DistanceArray, PU32 ArrayElements)函数完成插补。HANDGroupHandle代表轴组的句柄,即我们这次用的X,Y轴组成的轴组,PF64 DistanceArray是指轴组走的相对距离,比如我们赋给它的值是pulse[0]=1,pulse[1]=0,那么X轴相应走一步;如果pulse[0]=0,pulse[1]=1;那么Y轴走一步。PU32 ArrayElements指轴组里有的轴数目,如本次实验中有X轴和Y轴两个轴。这里,我们只需要给PF64 DistanceArray赋值编写插补程序即可。
4 编完插补程序
5 点击“Microsoft:visual C++ 6.0中的叹号运行程序,进入下面的界面
先点“打开”打开PCI-1220U卡通道:然后在点击“添加”按钮里,分别将X轴和Y轴添加进轴组,如果右下角状态栏里X轴,Y轴及轴组都显示READY,那么代表轴组配置成功。完成后,在“插补模式”里选择“直线”,然后分别设置起点和终点,完成直线插补,在XY步进电机平台中观看插补结果。完成直线插补后,在“插补模式”里选择“圆弧”,然后根据圆弧是逆时针还是顺时针,设置相应的圆弧起点终点,完成圆弧插补,在XY步进电机平台中观看插补结果。
8 实验报告
本实验结束:本页为本实验内容的收束页。
下载地址:{{downurl}}
{{{a}}}
{{#b}}{{{b}}}
{{/b}} {{/title}} {{#nolog}}登陆注册
{{/nolog}} {{#djsx}}点我刷新
{{/djsx}} {{#gocz}} {{/gocz}} {{#ffqr}} {{/ffqr}}