(LabVIEW编程与项目开发)第14章自动门控制系统.pptx
《(LabVIEW编程与项目开发)第14章自动门控制系统.pptx》由会员分享,可在线阅读,更多相关《(LabVIEW编程与项目开发)第14章自动门控制系统.pptx(35页珍藏版)》请在冰豆网上搜索。
第第14章章自自动门动门控制仿真系控制仿真系统统日常生活中常见的自动门是如何工作的呢?
如何让门可以运动起来?
如何控制门运动的位置?
引子14.1项目目标本次项目设计中,并不是真的要做一个自动门,而是利用编码器、步进电机等实现模拟仿真自动门的控制。
通过LabVIEW编程实现控制电机转动,并可以使用编码器测量电机当前转动的角度信息。
利用步进电机和编码器,模拟自动门的工作原理。
控制步进电机的旋转角度和方向,模拟自动门的开合度。
并使用编码器测量当前电机的旋转角度。
通过本项目的设计、实施,要求学生:
1掌握步进电机的工作特性,使用NI-DAQmx实现对步进电机正反转及转速的控制;2了解编码器的作用,掌握使用NI-DAQmx(计数器输入)实现对编码器信号的采集。
3了解并熟悉运用图片下拉列表控件制作动画控件;4掌握状态机架构的使用。
14.2项目分析本项目要求利用步进电机和编码器,模拟自动门的工作原理。
通过控制步进电机的旋转角度和方向,模拟自动门的开合度,同时使用编码器测量当前电机的旋转角度(即门的开度)。
实现这一功能首先需对步进电机、编码器的工作原理及使用要有很好的了解。
本项目可以从以下几个方面进行考虑:
1用LabVIEW软件编写步进电机控制程序。
2用编码器实现对电机转动角度的检测。
3根据所设开门角度,调整步进电机的变化角度,完成后保持数秒进入关门状态。
4开关门的过程,软面板的仿真自动门,会根据实测电机角度,变化开门幅度。
14.3任务一自动门控制系统硬件设计1.相关知识1步进电机2编码器2.步进电机及编码器硬件电路设计14.3任务一自动门控制系统硬件设计14.3.1相关知识1步进电机步进电机属于控制电机,是一种将电脉冲转化为角位移的执行机构。
当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,即步进角。
可通过控制脉冲个数来控制角位移量,从而实现准确定位的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
步进电机的工作原理实际上是电磁铁的作用原理。
本项目使用的是两相4线混合式永磁直流步进电机步进电机,4线标记为A、B、A-、B-,采用8拍工作方式,其时序图如图14-2所示,其时序表如表14-1所示,表中1表示通电,0表示不通电。
对步进电机的控制只需要在四个端口(A/A-/B/B-)提供不一样的脉冲信号,即可控制定子磁极,从而控制步进电机的运动。
2编码器编码器(encoder)是将信号(如比特流)或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备,其外观如图14-3所示。
可实现将角位移或直线位移转换成电信号,前者称为旋转编码器,后者称为线性编码器。
编码器按照工作原理可分为增量式和绝对式两类。
增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。
绝对式编码器的每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。
旋转编码器它由光源、码盘,以及码盘背面的光敏元件组成。
码盘安装在旋转轴上,上面按一定编码形式排列着不透光和透光的扇形区域。
旋转轴转动时码盘随之转动,不透光扇区遮挡光线,而透光扇区则允许光线透过,光传感器就产生了方波脉冲,该脉冲可以编译成相应的位置或运动信息。
编码器每转通常分为100到6000个扇区,100个扇区的编码器可以提供3.6度的精度,而6000个扇区的编码器则可以提供0.06度的精度。
若编码器内部只有一对光电耦合器,只能产生一个脉冲序列,称为单通道增量式编码器,该编码器无法确定旋转角度;若内部有两对光电耦合器,输出相位差为90的两组脉冲序列,称为AB相增量式编码器,该编程器可以确定位置和旋转方向两个信息;例如,如果通道A相位超前,码盘就以顺时针旋转。
如果通道B相位超前,那么码盘就是以逆时针旋转。
有些编码器内部除了有双通道增量式编码器的两对光电耦合器外,在脉冲码盘的另外一个通道有1个透光段,每转1圈,输出1个脉冲,通过它用来精确计算某个参考位置,这种编码器被称为三通道增量式编码器。
线性编码器与旋转编码器的工作原理类似。
它采用了一条固定的不透光带取代了旋转码盘,在不透光带表面上有一些透光缝隙,而LED探测器组件则被附在运动体上,从而实现物体线位移的测量。
14.3.2步进电机及编码器硬件电路设计选用合适的联轴器,一端装到步进电机中轴上,另一端装到编码器上。
注意尽可能将步进电机和联轴器的转轴完全处在同一水平线上,建议只固定编码器支架(或者步进电机支架),使步进电机(或者编码器)处于自由状态可以避免损坏联轴器。
在本项目中采用了旋转增量式编码器(型号:
欧姆龙E6A2-CWZ5C)实现测量步进电机运动的角位移。
该编码器1圈360度输出200个脉冲。
每转一圈Z相输出一个脉冲可用于计量频率。
编码器输出线的定义如表14-2所示。
将编码器按照表14-2所示的要示将输出线连到电源模块和PCI6221数据采集卡上,由第8章表8-5知,其中A相与数据采集卡37号引脚相连、B相与45号引脚相边、C相与3号引脚相连。
L298有两路电源分别为逻辑电源和动力电源,Vcc为逻辑电源,Vs为动力电源,其范围为2.546V,输出电流可达2.5A。
步进电机硬件电路如图所示,选用PCI6221的4个数字输入输出端口与图中IN1IN4相连。
ENA、ENB直接接逻辑电源,即电机工作于使能状态。
L298的OUT1与两相四线步进电机的A相绕组的A+端相连,两相四线步进电机的A相绕组的A-端与OUT3相连,OUT2与两相四线步进电机的A相绕组的B+端相连,两相四线步进电机的B相绕组的B-端与OUT4相连。
SENSA、SENSB分别为两个H桥的电流反馈脚,此处未用直接接地。
14.4任务二步进电机正反转控制程序设计本次项目设计中,两相4线步进电机A、A-、B、B-分别与PCI6221的Dev1/port1/line5,Dev1/port0/line5,Dev1/port1/line6,Dev1/port2/line6相连,在I/O通道设置时注意其顺序。
14.5任务三编码器的角度测量1.相关知识2.编码器测量角度程序设计14.5任务三编码器的角度测量14.5.1相关知识步进电机的转动方向决定是自动门是打开还是关闭,步进电机的转动角度确定了门的开(关)度,即步进电机转动角度越大,表征当前自动门的开度越大。
当自动门完全打开后,保持当前电机角度不变,直到达到保持时间已过,关门,反方向转动至初始位置。
因此需对步进电机转动的角度进行测量。
本项目中所选用的编码器为正交编码器,正交编码器是通过两个脉冲信号进行位置测量。
该信号可称为信号A(通道A)和信号B(通道B)。
信号A和信号B的偏移量为90,用于确定编码器移动的方向。
例如,在角度正交编码器中,如信号A位于信号B之前,则编码器按顺时针方向旋转。
反之,编码器按逆时针方向旋转,其信号时序如图14-7所示。
编码器有三种解码方式:
X1、X2和X4。
正交编码器正交编码器产生两个相位差为90度的脉冲序列顺时针旋转通道A先于通道B逆时针旋转通道B先于通道A顺时针旋转90相位差通道A通道B通道A通道B逆时针旋转90相位差X1解码方式时,信号A在信号B之前,计数器在信号A的上升沿增加计数;如信号B在信号A之前,计数器在信号A的下降沿减少计数,如图14-8所示X2解码方式时,动作与X1解码相同,只是计数器在信号A的上升沿和下降沿增加和减少计数,如图14-9所示。
X4解码方式时,计数器在信号A和信号B的上升沿和下降沿增加和减少计数。
X4解码对位置更加敏感,如编码器处于振动环境,容易导致测量错误,如图14-10所示。
从以上的分析知对编码器角度的测量可以能过两种方式:
1通过计数器对A相脉冲进行计数,因所选的编码器1圈(360O)为200个脉冲,可通过将所得到的脉冲数除以200,再乘以360,即可得到角度;2编码器角度测量。
当使用计数器测量正交编码器的时候,计数器的三个输入端口的名称一一对应于正交编码器的ABZ三个端口,见表8-5,只需要将通道对应连接。
14.5.2编码器测量角度程序设计用计数器计数方式实现对编码器A相脉冲进行计数,从而实现对步进电机转运角度的测量如图14-11所示。
因所选编程器为角度编码器,因此还可以通过直接测编码器的角度来实现,其程序框图如图14-12所示。
与数据采集的程序编程的基本思路相同:
初始化计数器:
CI角度编码器、设定计数器通道名称、设定物理量单位、设定精度(200);开始采集;循环中连续读取当前编码器的角度;结束采集任务清除通道资源。
14.6任务四仿真自动门动画控件设计在前面的章节中,已经提及如何美化界面。
可使用选项卡控件(Tab控件)、分隔符、自定义控件等。
本次项目设计中,为实现仿真自动门的打开和关闭,使用另一种控件来表达:
图片下拉列表。
图14-13所示为运用图片下垃列表制作的仿真自动门动画控件,单击该控件,会出现右下角的图片下拉选项。
那么如何制作自己的图片下拉列表呢?
在制作控件之前,需要准备好所需要添加的图片。
(1)在前面板,右击空白处,找到图片下拉列表控件,并拖放到前面板上,如图14-14所示。
2右击控件,选择:
高级自定义控件。
3在自定义控件的前面板上,将控件类型改为自定义类型形式。
点击菜单栏中编辑,选择导入图片至剪贴板(I),如图14-15(a)图所示,在弹出的对话框中,从准备好的图片文件夹中选择所需使用的第一幅图片,确定。
4回到自定义控件前面板,右击图片下拉列表控件,选择剪贴板导入图片,如图14-15(b)图所示。
(5)单击图片下拉列表控件,可看到如图14-15(c)所示的结果,包含有一张图片。
6若有N张图片,重复(3)和(4的步骤,注意在重复第(3)个步骤时选择所需的第N幅图片,在第(4)个步骤时注意选择在后面导入图片,依次导入所需要的图片内容。
7单击图片下拉列表控件,可查看编辑后的结果。
完成图片导入后保存控件,并在原先的程序前面板使用新建的自定义图片下拉列表控件。
14.7项目实现1.前面板设计2.程序框图设计14.7项目实现14.7.1前面板设计自动门仿真控制系统的前面板采用选项卡控件包含三个部分:
系统说明、参数配置和自动门仿真界面。
14.7.2程序框图设计本项目中状态机可包含如下状态:
等待、初始化、创建任务、开始采集、关门、停止和退出。
开始采集”状态中先是电机运转(门打开),其次是编码器测电机角度(门开度),最后是更新前面板自动门状态。
此处有先后顺序但程序中并未使用顺序结构(图14-18),而是采用了LabVIEW软件的数据流思想,通过错误簇的传递使电机运行和编码器测电机角度形成前后动作。
编程细节程序注释程序框图上的注释用于:
说明连线间数据内容描述算法使用标签工具,或通过函数选板放置自由标签思考题14-1编码器的作用是什么?
可以分为哪几类?
项目中采用的是何种编程器?
14-214-314-4试编程实现步进电机正反转及转速控制程序。
根据流程图14-17及图14-18完成本项目程序框图并进行调试。
本项目中的自动门的仿真界面是通过图片下拉列表实现,请用其他的方法来实现自动门的仿真界面?
比如可试试用3D控件等。
14-5何为LabVIEW数据流?
请简要介绍你所知道的实现或确保数据流编程的几个方法。