机电控制实习(二)指导书(学生用) - 图文

更新时间:2024-01-09 16:35:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

机电控制实习(二)指导书

专业:

年级:

学号:

姓名:

机电控制实习(二)

一、课程的任务与作用

本课程是一门重要的专业技能实习课程。通过本课程的学习与训练,使学生进一步掌握机电控制的理论知识,获得必要的机电控制工程技能,并为今后从事与本专业有关的工程技术工作奠定必要的基础。

二、实习目标及基本要求

﹙一﹚教学目标要求

使学生能基本掌握单片机与PLC控制系统的原理以及操作方法。

﹙二﹚实习报告要求

﹙1﹚ ﹙2﹚ ﹙3﹚ ﹙4﹚ ﹙5﹚ ﹙6﹚

按实习指导书的格式要求填写。 实习目的明确,要有预习报告。

按规定的实习内容及实习步骤进行实验并填写实验结果。实验结果记录尽可能详尽。 实习报告中要求有原理说明及原理图。 安装调试结果的对比说明及其解释。 对结果的讨论。

三、实习组织、场地及设备

1. 实习的组织

鉴于实习的故障复杂及多变性,指导教师组织指导、纠正操作、纠正错误等,往往忙无所措,建议按20个左右学生/教师组成实习班,学生分组并确定工位及确定仪器、工具,以便于管理。

2. 实习设备、场地的要求

﹙1﹚ 每个工位配备交流电源、计算机及必要的机电控制仪器,对于专用的贵重电子测试设备可按班级配置。

﹙2﹚ 教室的电源供电应满足单项实习项目最大功率装机容量附设线路及配电装置。 ﹙3﹚ 用电安全保护设备齐全。

﹙4﹚ 配备教师演示操作台或黑板等教学设备。

四、实习课题内容及其学时安排、教学要求

课题一 单片机编程(keil)与仿真软件(proteus)的安装及使用 课题二 步进电机的仿真控制 课题三 单个步进电机的控制实习

课题四 模拟数控系统控制实践—用单片机模块实现2轴步进电机联动控制 课题五 PLC机床控制改造实践 序 实验项目(课题)名称 天数 目标要求 号 单片机编程软件(keil)与仿真软1 1 掌握keil与proteus的安装及使用; 件(proteus)的安装及使用 掌握使用proteus绘制步进电机控制系2 2 步进电机的仿真控制 统的仿真模型,掌握使用keil编制步进电机的控制程序;

1

3 4 5 单个步进电机的控制实习 模拟数控系统控制实践—用单片机模块实现2轴步进电机联动控制 PLC机床控制改造实践 3 2 2 掌握步进电机的单双节拍控制方法、正反转以及加减速控制方法; 掌握用单片机模块实现2轴步进电机的分时运动控制与联动控制; 理解PLC机床控制系统的原理,学习PLC机床控制系统的改造方法。 五、学生实习成绩计分方法.

实训成绩由实践操作、实习报告、校规校纪和规范操作四部分组成满100分。 1、实践操作考核占总成绩的50%。

根据学生的实训过程、实训结果、实训态度等,由指导教师根据各项目评分办法记分。 2、实习报告成绩占总成绩的20%。

(1)不写或不交实训报告者,本次实训项目成绩为零分。 (2)不写实训小结和意见建议者,所有实训项目均为无效分。 (3)画图不工整,字迹不清晰、敷衍了事写报告给5分以下。 (4)抄袭他人实训报告,报告不得分。 3、校规校纪占总成绩的15%。

(1)迟到早退一次扣3分(超过5分钟按旷课一节扣5分)。 (2)窜岗溜号一次扣5分。 4、规范操作占总成绩的15%。 规范操作15分。

机电控制实习(二)为必修课,每次实训完毕考核不及格者,应按通知要求及时补训,若缺少机电控制实习(二)成绩学校不予毕业。

六、参考书目

① 徐瑞华主编《单片机原理与接口技术》。北京:人民邮电出版社,2008

② 陈宝江等编著《MCS单片机应用系统实用指南》。北京:机械工业出版社,1997 ③ 王庭有主编《可编程控制器原理及应用》。北京:国防工业出版社,2005

2

项目1 单片机编程(keil)与仿真软件(proteus)的安装及使用

一、实习目的

掌握单片机编程软件(keil)与仿真软件(proteus)的安装及使用。

二、实习器材

﹙1﹚ 计算机一台;

﹙2﹚ HC6800E单片机开发板一套(含接线与步进电机)。

三、项目要求

安装单片机编程软件(keil),学习使用keil软件编写程序,并生成 .Hex文件,采用HC6800-EM3开发板进行程序烧录实践,观察效果。安装单片机电路仿真软件(proteus),学习使用proteus软件绘制单片机电路图,并掌握采用keil与proteus进行单片机系统仿真调试的方法。

四、实习方法与步骤

第一章 KEIL安装使用说明

1、Keil 软件的安装

首先、双击c51v805 中文版.exe安装.

然后、点击注册!

2、Keil 软件的使用

软件是目前最流行的开发 80C51 系列单片机的软件,Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案。 1. 使用Keil 前必须先安装。安装过程简单,这里不在叙述。 2. 安装好了Keil 软件以后,我们打开它。

3. 程序编辑后选择左窗口“目标Target 1属性”点击右键选择 “输出”将“生成HEX文件”打钩,然后点击确定。 3、二进制加法试验

; p2口八个灯作二进制加法。理解二进值的计算 ; 硬件连接:p2口用排线与8路指示灯相连

;连接方法: JP11(P2)和JP1(LED灯) 用8PIN排线连接起来

3

#include

void delay(unsigned int i); //声明延时函数

main() {

unsigned char Num = 0xff; while (1) {P2 = Num;

delay(1000); //延时函数 Num--; } }

/*******延时函数*************/ void delay(unsigned int i) {

unsigned char j; for(i; i > 0; i--)

for(j = 255; j > 0; j--); }

5. 打开程序烧录软件PZISP或者STCISP,然后选择HEX文件烧录。

4

5

第二章 Proteus概述及其与Keil的联调

Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。②支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件。本章介绍Proteus ISIS软件的工作环境和一些基本操作。 一、实例一(Keil C与Proteus相结合的仿真过程)

下面以一个简单的实例来完整的展示一个Keil C与Proteus相结合的仿真过程。 1、单片机电路设计

如图所示。电路的核心是单片机AT89C51。单片机的P1口八个引脚接LED显示器的段选码(a、b、c、d、e、f、g、dp)的引脚上,单片机的P2口六个引脚接共阳极(anode)LED显示器的位选码(1、2、3、4、5、6)的引脚上,电阻起限流作用,总线使电路图变得简洁。

电路图的绘制

2、单片机led显示电路程序设计

程序设计:实现LED显示器的选通并显示字符。

进入KeilC μVision2开发集成环境,创建一个新项目(Project),并为该项目选定合适的单片机CPU器件(如:Atmel公司的AT89C51)。并为该项目加入Keil C源程序。

源程序如下:

6

#define LEDS 6 #include \//led灯选通信号

unsigned char code Select[]={0x01,0x02,0x04,0x08,0x10,0x20}; unsigned char code LED_CODES[]= { 0xc0,0xF9,0xA4,0xB0,0x99,//0-4 0x92,0x82,0xF8,0x80,0x90,//5-9 0x88,0x83,0xC6,0xA1,0x86,//A,b,C,d,E 0x8E,0xFF,0x0C,0x89,0x7F,0xBF//F,空格,P,H, . , - }; void main() {

char i=0; long int j; while(1) {

P2=0;

P1=LED_CODES[i]; P2=Select[i];

for(j=3000;j>0;j--); //修改循环次数,改变点亮下一位之前的延时,可得到不同的显示效果。 i++;

if(i>5) i=0; } }

3、将生成的.hex文件烧入proteus中的单片机。 4、使用proteus调试。

5、keil和proteus的在线联调

① 单击“Project菜单/Options for Target”选项或者点击工具栏的“option for target”按钮 ,弹出窗口,点击“Debug”按钮,在出现的对话框里在右栏上部的下拉菜单里选中“Proteus VSM Simulators”。并且还要点击一下“Use”前面表明选中的小圆点。最后将工程编译,进入调试状态,并运行。

② Proteus的设置

进入Proteus的ISIS,鼠标左键点击菜单“Debug”, 选中“use remote debug monitor”,如图所示。此后,便可实现Keil C与Proteus连接调试。 ③ Keil C与Proteus连接仿真调试

单击仿真运行开始按钮 ,我们能清楚地观察到每一个引脚的电频变化,红色代表高电频,蓝色代表低电频。在LED显示器上,循环显示0、1、2、3、4、5。

7

项目2 步进电机的仿真控制

一、实习目的

掌握单片机编程软件(keil)与仿真软件(proteus)的安装及使用。

二、实习器材

﹙3﹚ 计算机一台;

﹙4﹚ HC6800E单片机开发板一套(含接线与步进电机)。

三、项目要求

设计一步进电机控制系统,可实现对步进电机的启停、正反转以及调速控制,电机的转速有四档,各档的转速如下:

1档:25rpm; 2档:16.67rpm; 3档: 12.5rpm; 4档: 10rpm。

四、实习方法与步骤

1、步进电机的工作原理。

步进电动机是一种将电脉冲信号转换成角位移或线位移的机电元件。步进电动机的输入量是脉冲序列,输出量则为相应的增量位移或步进运动。正常运动情况下,它每转一周具有固定的步数;做连续步进运动时,其旋转转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。由于步进电动机能直接接受数字量的控制,所以特别适宜采用微机进行控制。

在HC6800E-V2.8开发板上单片机的管脚通过排线连接ULN2003D驱动步进电机,开发板上M1-M5均为步进电机接口,用于外接5线4相步进电机,最多可外接5个步进电机。 下面先介绍三相反应式步进电机的原理。 ① 结构:

电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开0、1/3T、2/3T(相邻两转子齿轴线间的距离为齿距,以T表示),即A与齿1相对齐,B与齿2向右错开1/3T,C与齿3向右错开T,A’与齿5相对齐,(A’就是A,齿5就是齿1)下面是定转子的展开图:

② 旋转:

如A相通电,B、C相不通电时,由于磁场作用,齿1与A对齐,(转子不受任何力以下均同)。 如B相通电,A、C相不通电时,齿2应与B对齐,此时转子向右移过1/3T,此时齿3与C偏移为1/3T,齿4与A偏移(T-1/3T)=2/3T。

如C相通电,A、B相不通电,齿3应与C对齐,此时转子又向右移过1/3T,齿4与A’偏移为1/3T对齐。

如A相通电,B、C相不通电,齿4与A’对齐,转子又向右移过1/3T,这样经过A、B、C、A分别通电状态,齿4移到A相,电机转子向右转过一个齿距,如果不断地按A、B、C、A ??通电,电机就每步(每脉冲)1/3T向右旋转。如按A、C、B、A ??通电,电机就反转。

由此可见:电机的位置和速度与导电次数(脉冲数)和频率成一一对应关系。而方向由导电顺序决

8

定。不过,出于对力矩、平稳、噪音及减少角度等方面考虑。往往采用A-AB-B-BC- C-CA-A这种导电状态,这样将原来每步1/3T改变为1/6T,这就是电机细分驱动的基本理论依据。

不难推出:电机定子上有m相励磁绕阻,绕阻轴线分别与转子齿轴线偏移1/m,2/m??(m-1)/m。如果这m相励磁绕阻导电按一定的相序,步进电机就能被控制正反转,这是步进电机旋转的物理条件。只要符合这一条件我们理论上可以制造任何相的步进电机,出于成本等多方面考虑,市场上一般以二、三、四、五相为多。 2、项目的解决方案

系统采用AT89C51单片机作为主控制器,单片机采用12MHz的晶振。步进电机的启停、正反转以及4档调速分别用按钮实现,步进电机采用5V电源供电,步进电机驱动芯片选择ULN2003A(插件)或ULN2003D(贴片),此外,还用一个8段数码管显示电机的转速档位,数码管的驱动芯片选用7447。硬件原理如下图:

9

软件设计:

时钟频率是12MHz,机器周期是1us,采用定时器T0定时,定时周期设为1000×1us=1ms,此时,T0的初值为T0初值=216-1000=64536=0xFC18。若已知转子齿数为10,步进电机工作于双四拍方式,则步距角=360/(10×4)=9°。Tmd表示步进间隔,nr表示步进电机转速,n0表示计时因数,则:

nr?6096091500 ????Tmd360n0?0.001360n0各档转速对应的计时因数分别如下:

1500 =25rpm,n=60,步进间隔为60×1ms=0.06s;

1档:步进电机的转速nr= 0

n02档:步进间隔为 3档:步进间隔为 4档:步进间隔为 启动档:步进间隔为0.2s。

程序:

预处理(定义变量):定义步进相序变量、速度档位变量以及方向、启停开关变量。

主程序

初始化:P0、P3口输入准备,P1口输出高电平使步进电机的所有相断电;设定外部中断0和外部中断1的触发方式(下降沿触发);开外部中断和定时器0中断;定时器0的模式和初值设置,开定时器0。

循环检测档位信号:

如果P0=0xfe(P0.0=0),设定速度档位变量为1档(n0=60),P2口输出档位信号; 如果P0=0xfd(P0.1=0),设定速度档位变量为2档(n0=90),P2口输出档位信号; 如果P0=0xfb(P0.2=0),设定速度档位变量为3档(n0=120),P2口输出档位信号; 如果P0=0xf7(P0.3=0),设定速度档位变量为4档(n0=150),P2口输出档位信号; 否则,循环检测档位信号。

外部中断0服务程序(启停开关) 启停变量step的值加1; 如果step>=2,step=0。(限定值为0或1)

外部中断1服务程序(正反转开关) 方向变量flag的值加1; 如果flag>=2,flag=0。(限定值为0或1)

定时器0中断服务程序(步进间隔为T0×n0) 重装定时器T0的初值

如果启停变量step=1,则转下一步,否则停止步进电机(计时变量n清0); 如果计时变量n>=档位变量n0,即步进间隔时间到,

如果转向变量flag=0,则根据步进相序变量index的值输出正转相序;否则根据步进相序变量index的值输出反转相序。(注意:index加1,n清0)

在step=1的情况下,每次定时器T0中断,n的值加1。

10

主程序和定时器0中断服务程序的流程图如下:

开 始步进电机初始化:P1口输出高电平使步进电机的所有相断电;系统初始化:P0、P3口输入准备;设定外部中断0和外部中断1的触发方式;开外部中断和定时器0中断;定时器0的模式和初值设置,开定时器0。P0=0xfe(P0.0=0)?否是n0=60;P2=1;//1档P0=0xfd(P0.1=0)?否是n0=90;P2=2;//2档否P0=0xfb(P0.2=0)?是n0=120;P2=3;//3档否P0=0xf7(P0.3=0)?是n0=150;P2=4;//4档结 束主函数流程图

11

项目3 单个步进电机的控制实习

一、实习目的

掌握步进电机的单双节拍控制方法、正反转以及加减速控制方法。

二、实习器材

﹙5﹚ 计算机一台;

﹙6﹚ HC6800E单片机开发板一套(含接线与步进电机)。

三、项目要求

采用HC6800E开发板控制单个步进电机转动,用开发板上M1-M5五个接口中的某一个接口外接一个步进电机,步进电机驱动芯片ULN2003D的输入端口与单片机的P1管脚连接。项目3分为4个子项目,各个子项目的要求如下:

1、绕组为四相八拍工作方式A-AB-B-BC-C-CD-D-DA-A,采用switch语句或相序数组输出各相的状态,查询工作方式。步进电机逆时针旋转(正转),转速为125rpm。

2、绕组为四相双四拍工作方式AB-BC-CD-DA,中断工作方式。步进电机逆时针旋转(正转),转速为125rpm。

3、编程实现让电机正转2圈,而后反转2圈,然后停止,并要求步进电机满足下面两个要求:① 单双八拍方式A-AB-B-BC-C-CD-D-DA;② 正反转时,步进电机的转速为125rpm。

4、编程实现让电机在1圈内加速到625rpm,然后以625rpm的转速匀速转动5圈,接着在1圈内从625rpm减速,然后停止,并要求步进电机满足下面两个要求:① 单双八拍方式A-AB-B-BC-C-CD-D-DA;② 加速、匀速、减速的过程中,步进电机始终向一个方向转动。

将以上4个子项目依次命名为单双八拍控制、双四拍控制、正反转控制、加减速控制。

四、实习方法与步骤

项目3的仿真模型如下:

图3-1 项目3的仿真模型

HC6800E开发板步进电机控制电路的原理见图3-2,接线方法见图3-3。

12

图3-2

图3-3

13

3.1 单双八拍控制实习

项目要求:绕组为四相八拍工作方式A-AB-B-BC-C-CD-D-DA,采用switch语句或相序数组输出各相的状态,查询工作方式。步进电机逆时针旋转(正转),转速为125rpm。 软件原理:

四相八拍工作方式的正转相序为:FFZ[8]={0xfe,0xfc,0xfd,0xf9,0xfb,0xf3,0xf7,0xf6}。 已知转子齿数为12,步进电机工作于单双八拍方式A-AB-B-BC-C-CD-D-DA,则步距角=360/(12×8)= 3.75 度。

若步进间隔为Tstepms,步进电机的转速为:

60?1000ms3.75?625Vn = ×= rpm ?TstepTstep360Vn =125rpm,Tstep=5ms

时钟频率是11.0592MHz,设定定时周期为5ms,T0工作于方式1即16位定时器方式,则

1T0初值为:5ms/(12×11.0592)=4608,T0初值=216-4608=60928=EE00H MHz程序思想:

预处理:定义步进相序变量MotorStep、计时查询变量TIM。 主程序

步进电机初始化:P1口输出高电平使步进电机的所有相断电;

系统初始化:定时器0的模式和初值设置,开定时器0中断,开定时器0。 循环检测计时查询变量TIM:

如果TIM=1,则根据步进相序变量MotorStep的值输出步进电机相序; 调整MotorStep的值;

否则,循环检测计时查询变量TIM。 定时器0中断服务程序 重装定时器T0的初值; 计时查询变量TIM置1。

思考题:

① 改为中断工作方式应该如何编写程序?

② 如何使步进电机顺时针旋转(反转)?

③ 试画出主程序的程序流程图。

④ 如何将步进电机设为四相四拍工作方式AB-BC-CD-DA?

14

3.2 双四拍控制实习

项目要求:绕组为四相双四拍工作方式AB-BC-CD-DA,中断工作方式。步进电机逆时针旋转(正转),转速为125rpm。 软件原理:

四相四拍工作方式的正转相序为:FFZ[4]={ 0xfc, 0xf9, 0xf3, 0xf6}。 已知转子齿数为12,步进电机工作于双四拍方式AB-BC-CD-DA,步距角=360/(12×4)= 7.5 度。 若步进间隔为Tstepms,步进电机的转速为:

60?1000ms7.5?1250Vn = ×= rpm

360?TstepTstepVn =125rpm,Tstep=10ms

时钟频率是11.0592MHz,设定定时周期为10ms,T0工作于方式1即16位定时器方式,则

1T0初值为:10ms/(12×11.0592)=9216,T0初值=216-9216=56320=DC00H MHz程序思想:

预处理:定义步进相序变量MotorStep。 主程序

步进电机初始化:P1口输出高电平使步进电机的所有相断电;

系统初始化:定时器0的模式和初值设置,开定时器0中断,开定时器0。 循环等待。

定时器0中断服务程序 重装定时器T0的初值;

根据步进相序变量MotorStep的值输出步进电机相序; 调整MotorStep的值。

3.3 正反转控制实习

试编程实现让电机正转2圈,而后反转2圈,然后停止,并要求步进电机满足下面两个要求: ① 单双八拍方式A-AB-B-BC-C-CD-D-DA; ② 正反转时,步进电机的转速为125rpm。 解:

如何让电机转2圈?如何控制方向?

已知转子齿数为12,步进电机工作于单双八拍方式A-AB-B-BC-C-CD-D-DA,则步距角=360/(12×8)=3.75 度。2圈=2×12×8步

步进电机的转速为:

603.75?0.625Vn = ×= rpm ?TinTin360603.75?——每分钟电机的步数,——每步相对的圈数。 Tin360?由Vn=125得:Tin=0.005s=5ms

因而可直接设定T0的定时间隔为5ms,T0初值=216-4608=60928=EE00H。 程序思想: 预处理:定义步进相序变量MotorStep、计时查询变量TIM、正反转相序数组。(正反转控制变量Flag) 主程序

步进电机初始化:P1口输出高电平使步进电机的所有相断电;

15

系统初始化:定时器0的模式和初值设置,开定时器0中断,开定时器0; 调用motor_ffzw()函数使电机正转2圈,然后使电机反转2圈; 停止。

思考题:

① 若要求步进电机先反转5圈,然后正转6圈,该如何编写程序?

② 如何改变步进电机的转速?

3.4 加减速控制实习

试编程实现让电机在1圈内加速到625rpm,然后以625rpm的转速匀速转动5圈,接着在1圈内从625rpm减速,然后停止,并要求步进电机满足下面两个要求: ① 单双八拍方式A-AB-B-BC-C-CD-D-DA;

② 加速、匀速、减速的过程中,步进电机始终向一个方向转动。 解:

已知转子齿数为12,步进电机工作于单双八拍方式A-AB-B-BC-C-CD-D-DA,则步距角=360/(12×8)=3.75 度。

当步进电机的转速为625rpm时,按下式计算步进间隔:

0.625s3.75?60Vn = ×= rpm ?TinTin360由Vn=625得:Tin=0.001s=1ms。

设定T0的定时间隔为1ms,T0初值=216-922=64614=FC66H

预处理:定义步进相序变量MotorStep、速度控制变量Rate、计时查询变量TIM以及步进电机的相序数组。 主程序

步进电机初始化:P1口输出高电平使步进电机的所有相断电;

系统初始化:定时器0的模式和初值设置,开定时器0中断,开定时器0; 调用motor_turn ()函数使步进电机运转; 停止。

motor_turn ()函数:第1圈加速、接着5圈匀速、最后1圈减速。 motor_ffz()函数:步进电机转一齿 定时器0中断服务程序

重装定时器T0的初值;计时查询变量TIM置1。 延时程序 Delay1()

{ unsigned int t; t=rate;

while(t--) Delay(); }

思考题:加减速过程为2圈时应该如何编写程序?匀速运转过程为10圈时应该如何编写程序?

16

项目4 模拟数控系统控制实践 —用单片机模块实现2轴步进电机联动控制

一、实习目的

掌握用单片机模块实现2轴步进电机的分时运动控制与联动控制。

二、实习器材

﹙7﹚ 计算机一台;

﹙8﹚ HC6800E单片机开发板一套(含接线与步进电机)。

三、项目要求

采用HC6800E开发板控制两个步进电机转动,用开发板上M1-M5五个接口中的某两个接口外接步进电机,步进电机驱动芯片ULN2003D的输入端口与单片机的P1管脚连接。项目4分为2个子项目,子项目的要求分别如下: 4.1 2轴分时运动控制

试编程实现让2个步进马达以不同加速度运行,运行到不同圈数后停止,并要求步进电机满足下面4个要求:

① 单双八拍方式A-AB-B-BC-C-CD-D-DA;

② 电机1在第1圈加速到125 rpm(步进间隔5ms),随后匀速运转5圈,然后在1圈内减速停止,共运转7圈;

③ 电机2在第1圈加速到625 rpm(步进间隔1ms),随后匀速运转10圈,然后在1圈内减速停止,共运转12圈;

④ 加速、匀速、减速的过程中,步进电机始终向一个方向转动。 4.2 2轴联动控制

试编程实现让2个步进马达以不同加速度运行,运行到不同圈数后停止,并要求步进电机满足下面5个要求:

① 单双八拍方式A-AB-B-BC-C-CD-D-DA;

② 电机1在第1圈加速到125 rpm(步进间隔5ms),随后匀速运转5圈,然后在1圈内减速停止,共运转7圈;

③ 电机2在第1圈加速到625 rpm(步进间隔1ms),随后匀速运转10圈,然后在1圈内减速停止,共运转12圈;

④ x轴和y轴联动(同时运动); ⑤ 只允许使用定时器T0。

四、实习方法与步骤

HC6800E-V2.8开发板控制2个步进电机的电路原理见图4-1,接线方法见图4-2。

17

图4-1

图4-2

4.1 2轴分时运动控制

试编程实现让2个步进马达以不同加速度运行,运行到不同圈数后停止,并要求步进电机满足下面4个要求:

① 单双八拍方式A-AB-B-BC-C-CD-D-DA;

② 电机1在第1圈加速到125 rpm(步进间隔5ms),随后匀速运转5圈,然后在1圈内减速停止,共运转7圈;

③ 电机2在第1圈加速到625 rpm(步进间隔1ms),随后匀速运转10圈,然后在1圈内减速停止,共运转12圈;

④ 加速、匀速、减速的过程中,步进电机始终向一个方向转动。

18

解:

已知转子齿数为12,步进电机工作于单双八拍方式A-AB-B-BC-C-CD-D-DA,则步距角=360/(12×8)=3.75 度。

当步进电机的转速分别为125rpm、625rpm时,按下式计算步进间隔:

603.75?0.625sVn = ×= rpm ?TinTin360由Vn=125得:Tin=0.005s=5ms; 由Vn=625得:Tin=0.001s=1ms。

设定T0的定时间隔为5ms,T0初值=216-4608=60928=EE00H; 设定T1的定时间隔为1ms,T1初值=216-922=64614=FC66H。 程序思想:

预处理:定义速度变量rate、计时查询变量TIM以及步进电机的相序数组。 主程序

步进电机初始化:P1口输出高电平使步进电机的所有相断电;

系统初始化:定时器0和定时器1的模式和初值设置,开定时器0中断,开定时器0; 调用motor_turn1 ()函数使步进电机1运转;

关定时器0中断,关定时器0;开定时器1中断,开定时器1; 调用motor_turn2 ()函数使步进电机2运转; 停止。

思考题:

① 如何用一个定时器实现两个步进电机的定时?

② 假设数控机床有x轴和y轴,分别对应步进电机1和步进电机2,步进电机1每转1圈x轴运动1mm,步进电机2每转1圈y轴运动1mm,刀架当前的坐标位置是(20mm,50mm),如何使刀架移动到坐标位置(70mm,150mm)?如何使刀架移动到坐标位置(70mm,-150mm)?

③ 数控机床的进给速度有高速档和低速档2种,对应步进电机的转速分别为625rpm和125rpm,若要求x轴和y轴都工作于高速档该如何实现?若要求x轴工作于高速档、y轴工作于低速档该如何实现?

④ 以上程序只能实现x轴和y轴分时运动,若要实现x轴和y轴联动(同时运动)该如何编写程序?

19

4.2 2轴联动控制

试编程实现让2个步进马达以不同速度运行,运行到不同圈数后停止,并要求步进电机满足下面5个要求:

① 单双八拍方式A-AB-B-BC-C-CD-D-DA;

② 电机1在第1圈加速到125 rpm(步进间隔5ms),随后匀速运转5圈,然后在1圈内减速停止,共运转7圈;

③ 电机2在第1圈加速到625 rpm(步进间隔1ms),随后匀速运转10圈,然后在1圈内减速停止,共运转12圈;

④ x轴和y轴联动(同时运动); ⑤ 只允许使用定时器T0。 解:

已知转子齿数为12,步进电机工作于单双八拍方式A-AB-B-BC-C-CD-D-DA,则步距角=360/(12×8)=3.75 度。

当步进电机的转速分别为125rpm、625rpm时,按下式计算步进间隔:

603.75?0.625sVn = ×= rpm

TinTin360?由Vn=125得:Tin=0.005s=5ms; 由Vn=625得:Tin=0.001s=1ms。

设定T0的定时间隔为1ms,T0初值=216-922=64614=FC66H。

解题思路:

速度不一样,转动圈数不一样 → 步进间隔不一样,总步数不一样 假设电机1转4步,电机2转6步(实际值不是这么多) 1 2 3 4

1 2 3 4 5 6

循环查询电机1和电机2的步进间隔时间是否到,若到则输出相序信号。

某一时刻电机1和电机2的相序 → 前一步的相序、步进间隔,步进间隔→上一步的步进间隔、加减速状态。

程序思想:

预处理:定义速度基时MotorTimer1和MotorTimer2(步进时刻)、速度变量(控制步进间隔)rate1和rate2、加速标志ac1和ac2、步进数变量step1和step2、步进电机的相序数组以及1ms定时计数变量Tick_1ms。rate1=17, rate2=13.(在1圈内加速,即电机每转1齿加速1次) 主程序

步进电机初始化:P1口输出高电平使步进电机的所有相断电;

系统初始化:定时器0的模式和初值设置,开定时器0中断,开定时器0,P1口输出步进电机1和步进电机2的初始相序; While(1) {

调用compute_speed (&Rate1, &ac1, step1, 6)函数计算步进电机1的步进间隔Rate1; 调用TickOut(&MotorTimer1 , Rate1)计时函数计算电机1的步进间隔时间是否到,如果时间到且步进总步数未完,则调用SetMotor1 ()函数获取步进电机1的相序;

调用compute_speed(&Rate2, &ac2, step2, 11)函数计算步进电机2的步进间隔Rate2; 调用TickOut(&MotorTimer2 , Rate2)计时函数计算电机2的步进间隔时间是否到,如果时间到且步进总步数未完,则调用SetMotor2 ()函数获取步进电机2的相序;

从P1口输出步进电机1和步进电机2的相序给ULN2003D驱动电机转动。 }

注意:若使用T0作为1ms定时器、T1作为5ms定时器,则TickOut函数应有2个,并且Rate1和Rate2的初值相同(都可设为13)。

20

思考题:

① 假设数控机床有x轴和y轴,分别对应步进电机1和步进电机2,步进电机1每转1圈x轴运动1mm,步进电机2每转1圈y轴运动1mm,刀架当前的坐标位置是(20mm,50mm),如何使刀架移动到坐标位置(70mm,150mm)?如何使刀架移动到坐标位置(70mm,-150mm)?

② 数控机床的进给速度有高速档和低速档2种,对应步进电机的转速分别为625rpm和125rpm,若要求x轴和y轴都工作于高速档该如何实现?若要求x轴工作于低速档、y轴工作于高速档该如何实现?

21

项目5 PLC机床控制改造实践

一、实习目的

理解PLC机床控制系统的原理,学习PLC机床控制系统的改造方法。

二、实习器材

机床控制柜、电动机、PLC、编程电缆、多股铜芯软电线、绝缘端子、十字螺丝刀、一字螺丝刀、压线钳、数字号码管、扎带等。

三、项目要求

通过分析机床控制功能,理解机床控要求。选择设备,列写PLC的I/0分配表,画出PLC外部连接图。通过PLC外部连接图,进行控制柜电器的布线。完成PLC梯形图的设计,并仿真调试,正确无误后,联机调试。完成调试后,撰写技术文档。

四、实习方法与步骤

1.分析机床控制功能,理解机床控要求。 以Z3040摇臂转床控制系统为例:

摇臂钻床适合于在大、中型零件上进行钻孔、扩孔、铰孔及攻螺纹等工作,在具有工艺装备的条件下还可以进行镗孔。主要运动如下:

? 主轴旋转运动和进给运动由一台交流异步电动机拖动,主轴的正反向旋转运动是通过机械转

换实现的,故主电动机只有一个旋转方向。 ? 摇臂的上升、下降由一台交流异步电动机拖动。

? 主轴箱、立柱的夹紧和放松由另一台交流电动机拖动一台齿轮泵,供给夹紧装置所需要的压

力油。

? 冷却泵电动机对加工的刀具进行冷却。

主电路如下图5-1所示。控制回路与辅助回路如图5-2所示。

图5-1

22

图5-2

控制电源由控制变压器TC二次侧输出110V供电,中间抽头603对地为信号灯电源6.3V,215号线对地为照明输出36V。 主电动机的旋转控制

首先将断路器QF2~QF5扳到接通状态,同时将配电盘的门关好并锁上。然后再将断路器QF1扳到接通位置,电源指示灯亮。

按下起动按钮SB1,中间继电器KA通电并自锁,为主电动机与其他电动机的起动做好了准备。

23

按下按钮SB2时,交流接触器KM1线圈通电并自锁使主电动机旋转,同时主电动机旋转的指示灯HL4亮。主轴的正转与反转用手柄通过机械变换的方法来实现。 摇臂上升

按下按钮SB3,时间继电器KT1得电,瞬动动合触点(33-35)闭合,KM4得电,M3起动供给压力油,经分配阀体进入松开油腔,推动活塞使摇臂松开。活塞杆通过弹簧片使限位开关SQ2的动断触点断开,KM4线圈断电,SQ2的动合触点(17-21)闭合,KM2线圈通电,主触点闭合,M2旋转使摇臂上升。 摇臂夹紧

摇臂升到所需位置时,松开按钮SB3,KM2和KT1断电,M2断电,摇臂停止上升。当持续1~3s后,KT1的断电延时闭合的动断触点(47-49)闭合,KM5线圈经7-47-49-51号线得电,M3反转,压力油经分配阀进入的夹紧液压腔,摇臂夹紧。活塞杆通过弹簧片使SQ3的动断触点(7-47)断开,KM5线圈断电,M3停止,完成摇臂的松开—上升—夹紧动作。 摇臂升降相关

摇臂升降电动机正转与反转不能同时进行,否则将造成电源两相间的短路。摇臂上升和下降的电路中加入了触点互锁和按钮互锁。摇臂的上升或下降是短时的调整工作,采用点动方式。 限位开关SQ1实现摇臂的上升或下降极限位置保护。SQ1实际上是两个行程开关,动断触点(15-17)是摇臂上升时的极限位置保护,另一动断触点(27-17)是摇臂下降时的极限位置保护。限位开关SQ3的动断触点(7-47)在摇臂可靠夹紧后断开。如果液压夹紧机构出现故障或SQ3调整不当,将造成液压泵电动机M3过载,过载保护热继电器动断触点将断开,KM5释放,M3断电停止。

立柱和主轴箱的松开与夹紧控制

可以单独进行,也可以同时进行。由开关SA2和按钮SB5(或SB6)进行控制。SA2有三个位置:在中间位置(零位)时为松开及夹紧控制同时进行,扳到左边位置时为立柱的夹紧或放松,扳到右边位置时为主轴箱的夹紧或放松。SB5是主轴箱和立柱的松开按钮,SB6为主轴箱和立柱的夹紧按钮。 主轴箱松开

SA2扳向右侧时,触点(57-59)接通,触点(57-63)断开。主轴箱要松开时,按下按钮SB5,时间继电器KT2和KT3线圈同时通电,KT2为断电延时型时间继电器,KT2通电瞬时闭合,断电延时打开动断触点(7-57)闭合使YA1通电,经1~3s后,KT3通电延时闭合动合触点(7-41)闭合,通过3-5-7-41-43-37-39使KM4通电,M3正转使压力油经分配阀进入主轴箱液压缸,推动活塞使主轴箱放松。活塞杆使SQ4复位,主轴箱和立柱松开指示灯HL2亮。 主轴箱夹紧

SA2扳向右侧时,触点(57-59)接通,触点(57-63)断开。主轴箱要夹紧时,按下按钮SB6,仍首先为YA1通电,经1~3s后,KM5线圈通电, M3反转,压力油经分配阀进入主轴箱液压缸,推动活塞使主轴箱夹紧。同时活塞杆使SQ4受压,动合触点(607-613)闭合,指示灯HL3亮,触点(607-609)断开,指示灯HL2灭,指示主轴箱与立柱夹紧。 立柱松开/夹紧

SA2扳到左侧时,触点(57-63)接通,(57-59)触点断开。按下按钮SB5或SB6时使YA2通电,立柱松开或夹紧。 主轴箱与立柱松开/夹紧

SA2在中间位置时,触点(57-59、57-63)均接通。按下SB5或SB6时,YA1、YA2均通电,主轴箱和主柱同时进行夹紧或放松 2.选择设备

对于时间继电器、中间继电器类电器舍去不用,其他按钮、指示灯、行程开关、接触器、变压器、

24

热继电器、转换开关等保留,以最大节约改造成本。最后列写元件明细表。 3.列写PLC的I/0分配表,画出PLC外部连接图

根据选用的设备元件明细表,列写PLC的I/0分配表,并由此画出其外部接线图。注意保留电路的保护功能。

4.控制柜电器的布线

控制柜电器的布线前,根据电气布置情况,先绘制电气安装接线图,根据接线图进行合理布线。注意线号规范化,走线合理,接线端子制作可靠。 5.完成PLC梯形图的设计,联机调试

根据控制要求,编写PLC梯形图,并仿真调试,正确无误后,联机调试。 6.撰写技术文档

完成调试后,撰写技术文档。

25

热继电器、转换开关等保留,以最大节约改造成本。最后列写元件明细表。 3.列写PLC的I/0分配表,画出PLC外部连接图

根据选用的设备元件明细表,列写PLC的I/0分配表,并由此画出其外部接线图。注意保留电路的保护功能。

4.控制柜电器的布线

控制柜电器的布线前,根据电气布置情况,先绘制电气安装接线图,根据接线图进行合理布线。注意线号规范化,走线合理,接线端子制作可靠。 5.完成PLC梯形图的设计,联机调试

根据控制要求,编写PLC梯形图,并仿真调试,正确无误后,联机调试。 6.撰写技术文档

完成调试后,撰写技术文档。

25

本文来源:https://www.bwwdw.com/article/3i9o.html

Top