1、机电控制实习二指导书学生用机电控制实习(二)指导书专业: 年级: 学号: 姓名: 机电控制实习(二)一、课程的任务与作用本课程是一门重要的专业技能实习课程。通过本课程的学习与训练,使学生进一步掌握机电控制的理论知识,获得必要的机电控制工程技能,并为今后从事与本专业有关的工程技术工作奠定必要的基础。二、实习目标及基本要求一教学目标要求使学生能基本掌握单片机与PLC控制系统的原理以及操作方法。二实习报告要求1 按实习指导书的格式要求填写。2 实习目的明确,要有预习报告。3 按规定的实习内容及实习步骤进行实验并填写实验结果。实验结果记录尽可能详尽。4 实习报告中要求有原理说明及原理图。5 安装调试结
2、果的对比说明及其解释。6 对结果的讨论。三、实习组织、场地及设备1. 实习的组织鉴于实习的故障复杂及多变性,指导教师组织指导、纠正操作、纠正错误等,往往忙无所措,建议按20个左右学生/教师组成实习班,学生分组并确定工位及确定仪器、工具,以便于管理。2. 实习设备、场地的要求1 每个工位配备交流电源、计算机及必要的机电控制仪器,对于专用的贵重电子测试设备可按班级配置。2 教室的电源供电应满足单项实习项目最大功率装机容量附设线路及配电装置。3 用电安全保护设备齐全。4 配备教师演示操作台或黑板等教学设备。四、实习课题内容及其学时安排、教学要求课题一 单片机编程(keil)与仿真软件(proteus
3、)的安装及使用课题二 步进电机的仿真控制课题三 单个步进电机的控制实习课题四 模拟数控系统控制实践用单片机模块实现2轴步进电机联动控制课题五 PLC机床控制改造实践序号实验项目(课题)名称天数目标要求1单片机编程软件(keil)与仿真软件(proteus)的安装及使用1掌握keil与proteus的安装及使用;2步进电机的仿真控制2掌握使用proteus绘制步进电机控制系统的仿真模型,掌握使用keil编制步进电机的控制程序;3单个步进电机的控制实习3掌握步进电机的单双节拍控制方法、正反转以及加减速控制方法;4模拟数控系统控制实践用单片机模块实现2轴步进电机联动控制2掌握用单片机模块实现2轴步进
4、电机的分时运动控制与联动控制;5PLC机床控制改造实践2理解PLC机床控制系统的原理,学习PLC机床控制系统的改造方法。五、学生实习成绩计分方法.实训成绩由实践操作、实习报告、校规校纪和规范操作四部分组成满100分。1、实践操作考核占总成绩的50%。根据学生的实训过程、实训结果、实训态度等,由指导教师根据各项目评分办法记分。2、实习报告成绩占总成绩的20%。(1)不写或不交实训报告者,本次实训项目成绩为零分。(2)不写实训小结和意见建议者,所有实训项目均为无效分。(3)画图不工整,字迹不清晰、敷衍了事写报告给5分以下。(4)抄袭他人实训报告,报告不得分。3、校规校纪占总成绩的15%。(1)迟到
5、早退一次扣3分(超过5分钟按旷课一节扣5分)。(2)窜岗溜号一次扣5分。4、规范操作占总成绩的15%。规范操作15分。机电控制实习(二)为必修课,每次实训完毕考核不及格者,应按通知要求及时补训,若缺少机电控制实习(二)成绩学校不予毕业。六、参考书目徐瑞华主编单片机原理与接口技术。北京:人民邮电出版社,2008陈宝江等编著MCS单片机应用系统实用指南。北京:机械工业出版社,1997 王庭有主编可编程控制器原理及应用。北京:国防工业出版社,2005项目1 单片机编程(keil)与仿真软件(proteus)的安装及使用一、实习目的掌握单片机编程软件(keil)与仿真软件(proteus)的安装及使用
6、。二、实习器材1 计算机一台;2 HC6800E单片机开发板一套(含接线与步进电机)。三、项目要求安装单片机编程软件(keil),学习使用keil软件编写程序,并生成 .Hex文件,采用HC6800-EM3开发板进行程序烧录实践,观察效果。安装单片机电路仿真软件(proteus),学习使用proteus软件绘制单片机电路图,并掌握采用keil与proteus进行单片机系统仿真调试的方法。四、实习方法与步骤第一章 KEIL安装使用说明1、Keil 软件的安装首先、双击c51v805 中文版.exe安装.然后、点击注册! 2、Keil 软件的使用软件是目前最流行的开发 80C51 系列单片机的软件
7、,Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案。1. 使用Keil 前必须先安装。安装过程简单,这里不在叙述。2. 安装好了Keil 软件以后,我们打开它。3. 程序编辑后选择左窗口“目标Target 1属性”点击右键选择 “输出”将“生成HEX文件”打钩,然后点击确定。3、二进制加法试验; p2口八个灯作二进制加法。理解二进值的计算; 硬件连接:p2口用排线与8路指示灯相连;连接方法: JP11(P2)和JP1(LED灯) 用8PIN排线连接起来#include void delay(unsigned int i); /声明延时函数m
8、ain() 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文件烧录。第二章 Proteus概述及其与Keil的联调Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各
9、种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必
10、须具有这些功能;同时支持第三方的软件编译和调试环境,如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)
11、的引脚上,电阻起限流作用,总线使电路图变得简洁。电路图的绘制2、单片机led显示电路程序设计程序设计:实现LED显示器的选通并显示字符。进入KeilC Vision2开发集成环境,创建一个新项目(Project),并为该项目选定合适的单片机CPU器件(如:Atmel公司的AT89C51)。并为该项目加入Keil C源程序。源程序如下:#define LEDS 6#include reg51.h/led灯选通信号unsigned char code Select=0x01,0x02,0x04,0x08,0x10,0x20;unsigned char code LED_CODES= 0xc0,0x
12、F9,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_CODESi; P2=Selecti; for(j=3000;j0;j-); /修改循环次数,改变点亮下一位之前的延时,可得到不同的显示效果。 i+; if(i5) i=0; 3、将生成的.hex文件烧入proteu
13、s中的单片机。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
14、 C与Proteus连接调试。 Keil C与Proteus连接仿真调试 单击仿真运行开始按钮 ,我们能清楚地观察到每一个引脚的电频变化,红色代表高电频,蓝色代表低电频。在LED显示器上,循环显示0、1、2、3、4、5。项目2 步进电机的仿真控制一、实习目的掌握单片机编程软件(keil)与仿真软件(proteus)的安装及使用。二、实习器材3 计算机一台;4 HC6800E单片机开发板一套(含接线与步进电机)。三、项目要求设计一步进电机控制系统,可实现对步进电机的启停、正反转以及调速控制,电机的转速有四档,各档的转速如下:1档:25rpm;2档:16.67rpm;3档: 12.5rpm;4档:
15、 10rpm。四、实习方法与步骤1、步进电机的工作原理。步进电动机是一种将电脉冲信号转换成角位移或线位移的机电元件。步进电动机的输入量是脉冲序列,输出量则为相应的增量位移或步进运动。正常运动情况下,它每转一周具有固定的步数;做连续步进运动时,其旋转转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。由于步进电动机能直接接受数字量的控制,所以特别适宜采用微机进行控制。 在HC6800E-V2.8开发板上单片机的管脚通过排线连接ULN2003D驱动步进电机,开发板上M1-M5均为步进电机接口,用于外接5线4相步进电机,最多可外接5个步进电机。下面先介绍三相反应式步进电机的原理。
16、结构:电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开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
17、偏移为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 通电,电机就反转。由此可见:电机的位置和速度与导电次数(脉冲数)和频率成一一对应关系。而方向由导电顺序决定。不过,出于对力矩、平稳、噪音及减少角度等方面考虑。往往采用A-AB-B-BC- C-CA-A这种导电状态,这样将原来每步1/3T改变为1/6T,这就是电机细分驱动的基本理论依据。不难推出:电机定子上有m相励磁绕阻,绕阻轴线分别与转子齿轴线
18、偏移1/m,2/m(m-1)/m。如果这m相励磁绕阻导电按一定的相序,步进电机就能被控制正反转,这是步进电机旋转的物理条件。只要符合这一条件我们理论上可以制造任何相的步进电机,出于成本等多方面考虑,市场上一般以二、三、四、五相为多。2、项目的解决方案系统采用AT89C51单片机作为主控制器,单片机采用12MHz的晶振。步进电机的启停、正反转以及4档调速分别用按钮实现,步进电机采用5V电源供电,步进电机驱动芯片选择ULN2003A(插件)或ULN2003D(贴片),此外,还用一个8段数码管显示电机的转速档位,数码管的驱动芯片选用7447。硬件原理如下图:软件设计:时钟频率是12MHz,机器周期是
19、1us,采用定时器T0定时,定时周期设为10001us=1ms,此时,T0的初值为T0初值=216-1000=64536=0xFC18。若已知转子齿数为10,步进电机工作于双四拍方式,则步距角=360/(104)=9。Tmd表示步进间隔,nr表示步进电机转速,n0表示计时因数,则:各档转速对应的计时因数分别如下:1档:步进电机的转速nr= =25rpm,n0=60,步进间隔为601ms=0.06s;2档:步进间隔为 3档:步进间隔为 4档:步进间隔为 启动档:步进间隔为0.2s。程序:预处理(定义变量):定义步进相序变量、速度档位变量以及方向、启停开关变量。主程序初始化:P0、P3口输入准备,
20、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服务程序(启
21、停开关)启停变量step的值加1;如果step=2,step=0。(限定值为0或1)外部中断1服务程序(正反转开关)方向变量flag的值加1;如果flag=2,flag=0。(限定值为0或1)定时器0中断服务程序(步进间隔为T0n0)重装定时器T0的初值如果启停变量step=1,则转下一步,否则停止步进电机(计时变量n清0);如果计时变量n=档位变量n0,即步进间隔时间到,如果转向变量flag=0,则根据步进相序变量index的值输出正转相序;否则根据步进相序变量index的值输出反转相序。(注意:index加1,n清0)在step=1的情况下,每次定时器T0中断,n的值加1。主程序和定时器0
22、中断服务程序的流程图如下:项目3 单个步进电机的控制实习一、实习目的掌握步进电机的单双节拍控制方法、正反转以及加减速控制方法。二、实习器材5 计算机一台;6 HC6800E单片机开发板一套(含接线与步进电机)。三、项目要求采用HC6800E开发板控制单个步进电机转动,用开发板上M1-M5五个接口中的某一个接口外接一个步进电机,步进电机驱动芯片ULN2003D的输入端口与单片机的P1管脚连接。项目3分为4个子项目,各个子项目的要求如下:1、绕组为四相八拍工作方式A-AB-B-BC-C-CD-D-DA-A,采用switch语句或相序数组输出各相的状态,查询工作方式。步进电机逆时针旋转(正转),转速
23、为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个子项目依次命
24、名为单双八拍控制、双四拍控制、正反转控制、加减速控制。四、实习方法与步骤项目3的仿真模型如下:图3-1 项目3的仿真模型HC6800E开发板步进电机控制电路的原理见图3-2,接线方法见图3-3。图3-2图3-33.1 单双八拍控制实习项目要求:绕组为四相八拍工作方式A-AB-B-BC-C-CD-D-DA,采用switch语句或相序数组输出各相的状态,查询工作方式。步进电机逆时针旋转(正转),转速为125rpm。软件原理:四相八拍工作方式的正转相序为:FFZ8=0xfe,0xfc,0xfd,0xf9,0xfb,0xf3,0xf7,0xf6。已知转子齿数为12,步进电机工作于单双八拍方式A-AB-
25、B-BC-C-CD-D-DA,则步距角=360/(128)= 3.75 度。若步进间隔为ms,步进电机的转速为:Vn = rpmVn =125rpm, =5ms时钟频率是11.0592MHz,设定定时周期为5ms,T0工作于方式1即16位定时器方式,则T0初值为:5ms/(12)=4608,T0初值=216-4608=60928=EE00H程序思想:预处理:定义步进相序变量MotorStep、计时查询变量TIM。主程序步进电机初始化:P1口输出高电平使步进电机的所有相断电;系统初始化:定时器0的模式和初值设置,开定时器0中断,开定时器0。循环检测计时查询变量TIM:如果TIM=1,则根据步进相
26、序变量MotorStep的值输出步进电机相序;调整MotorStep的值;否则,循环检测计时查询变量TIM。定时器0中断服务程序重装定时器T0的初值;计时查询变量TIM置1。思考题:1 改为中断工作方式应该如何编写程序? 如何使步进电机顺时针旋转(反转)? 试画出主程序的程序流程图。 如何将步进电机设为四相四拍工作方式AB-BC-CD-DA?3.2 双四拍控制实习项目要求:绕组为四相双四拍工作方式AB-BC-CD-DA,中断工作方式。步进电机逆时针旋转(正转),转速为125rpm。软件原理:四相四拍工作方式的正转相序为:FFZ4= 0xfc, 0xf9, 0xf3, 0xf6。已知转子齿数为1
27、2,步进电机工作于双四拍方式AB-BC-CD-DA,步距角=360/(124)= 7.5 度。若步进间隔为ms,步进电机的转速为:Vn = rpmVn =125rpm, =10ms时钟频率是11.0592MHz,设定定时周期为10ms,T0工作于方式1即16位定时器方式,则T0初值为:10ms/(12)=9216,T0初值=216-9216=56320=DC00H程序思想:预处理:定义步进相序变量MotorStep。主程序步进电机初始化:P1口输出高电平使步进电机的所有相断电;系统初始化:定时器0的模式和初值设置,开定时器0中断,开定时器0。循环等待。定时器0中断服务程序重装定时器T0的初值;
28、根据步进相序变量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/(128)=3.75 度。2圈=2128步步进电机的转速为:Vn = rpm每分钟电机的步数,每步相对的圈数。由Vn=125得:Tin=0.005s=5ms因而可直接设定T0
29、的定时间隔为5ms,T0初值=216-4608=60928=EE00H。程序思想:预处理:定义步进相序变量MotorStep、计时查询变量TIM、正反转相序数组。(正反转控制变量Flag)主程序步进电机初始化:P1口输出高电平使步进电机的所有相断电;系统初始化:定时器0的模式和初值设置,开定时器0中断,开定时器0;调用motor_ffzw()函数使电机正转2圈,然后使电机反转2圈;停止。思考题: 若要求步进电机先反转5圈,然后正转6圈,该如何编写程序? 如何改变步进电机的转速?3.4 加减速控制实习试编程实现让电机在1圈内加速到625rpm,然后以625rpm的转速匀速转动5圈,接着在1圈内从
30、625rpm减速,然后停止,并要求步进电机满足下面两个要求: 单双八拍方式A-AB-B-BC-C-CD-D-DA; 加速、匀速、减速的过程中,步进电机始终向一个方向转动。解:已知转子齿数为12,步进电机工作于单双八拍方式A-AB-B-BC-C-CD-D-DA,则步距角=360/(128)=3.75 度。当步进电机的转速为625rpm时,按下式计算步进间隔:Vn = rpm由Vn=625得:Tin=0.001s=1ms。设定T0的定时间隔为1ms,T0初值=216-922=64614=FC66H预处理:定义步进相序变量MotorStep、速度控制变量Rate、计时查询变量TIM以及步进电机的相序数组。主程序步进电机初始化:P1口输出高电平使步进电机的所有相断电;系统初始化:定时器0的模式和初值设置
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1