《微机原理步进电机实时控制资料讲解.doc》由会员分享,可在线阅读,更多相关《微机原理步进电机实时控制资料讲解.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Good is good, but better carries it.精益求精,善益求善。微机原理步进电机实时控制-基于步进电机转速实时控制摘要:本设计采用电压为DC12V的四相八拍步进电机35BYJ46型电机,用ULN2003作为步进电动机驱动电路主芯片,以8255A作为8086并行输出接口,8086对步进电机的控制信号则通过8255A送到ULN2003。关于转向与转速,通过查表的方式实现,以逐次递增方向查表,依次输出表中数据,则步进电机正转;以逐次递减方向查表,则步进电机反转,即通过一个表实现步进电机的正转与反转。转速则通过调用延时子程序,当调用延时较长的子程序时,则步进电机转速慢,当调
2、用延时较短的子程序时,步进电机转速加快。关键词:步进电机;微机原理;实时控制目录第1章引言31.1背景31.2选题的目的和意义31.3本课程设计的主要内容3第2章部件电机转速实时控制42.1设计方案42.2硬件系统基本原理42.2.1系统硬件子系统的构成42.2.2步进电机工作原理以及与8255接口的关系52.2.3工作原理52.3软件框图及设计思想7第3章芯片使用103.18255A简介103.28255A的工作方式选择103.474LS138译码芯片简介11第4章总结12参考文献13附录程序清单14-引言1.1背景传统电动机作为机电能量转换装置,在人类的生产和生活进入电气化过程中起着关键的
3、作用。当传统电动机的功能已不能满足工厂自动化和办公自动化等各种运动控制系统要求的时候,一系列新的具备控制功能的电动机系统便诞生了。其中应用十分广泛的一类,便是步进电动机。步进电机是一种执行机构,它能将电脉冲转化为角位移。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。预计未来步进电机的研究将会继续深入下去,研究方向之一便是电机与驱动的一体化,从而达到减小体积、提高性能和性价比的目的。1.2选题的目的和意义步进电机是工业
4、程控及仪表中的主要控制组件之一。在数字控制系统中,由于它可以可以直接接受计算机来的数字元信号,不需要进行数模转换,所以用起来更方便。步进电机角位移与控制脉冲间的精确同步。若将角位移的改变转变为线性位移、位置、体积、流量等物理量的变化,便可实现对它们的控制。正因为步进电机具有快速启停,精确步进以及能直接接收数字量等特点,所以使其在定位场合中得到了广泛的应用。特别在工业程控系统中,使用开环控制模式,微型计算机可以很容易控制步进电机的位置和速度,而不用使用位移传感器,所以应用越来越广泛。学会使用微型计算机控制步进电机也就显得很重有必要了。1.3本课程设计的主要内容(1)通过步进电机控制系统设计与制作
5、,深入了解与掌握步进电机的运行方式、方向、速度、启/停的控制。(2)学习掌握一般的软硬件的设计方法和查阅、运用数据的能力。部件电机转速实时控制2.1设计方案本设计采用电压为DC12V的四相八拍步进电机35BYJ46型电机,用ULN2003作为步进电动机驱动电路主芯片,以8255A作为8086并行输出接口,8086对步进电机的控制信号则通过8255A送到ULN2003。关于转向与转速,通过查表的方式实现,以逐次递增方向查表,依次输出表中数据,则步进电机正转;以逐次递减方向查表,则步进电机反转,即通过一个表实现步进电机的正转与反转。转速则通过调用延时子程序,当调用延时较长的子程序时,则步进电机转速
6、慢,当调用延时较短的子程序时,步进电机转速加快。2.2硬件系统基本原理2.2.1系统硬件子系统的构成本设计采用的步进电机为35BYJ46型四相八拍电机,电压为DC12V,其励磁线圈及其励磁顺序如图2-1所示:图2-1励磁线圈图2.2.2步进电机工作原理以及与8255接口的关系图2-2步进电机与8255连接图2.2.3工作原理4相步进电机示意图见图2-3,转子由一个永久磁铁构成,定子分别由4组绕组构成。图2-4电气连接示意图图2-3电机定子和转子示意图2-4控制电路图当S1连通电源后,定子磁场将产生一个靠近转子为N极,远离转子为S极才磁场,这样的定子磁场和转子的固有磁场发生作用,转子就会转动,正
7、确地S1、S4的送电次序,就能控制转子旋转的方向。例如:若送电的顺序为S1闭合断开S2闭合断开S3闭合断开S4闭合断开,周而复始的循环,在定子和转子共同作用下,电机就瞬时针旋转,见图2-5:图2-5电机顺时针旋转示意图若送电的顺序为S4闭合断开S3闭合断开S2闭合断开S1闭合断开,周而复始的循环,则电机就逆时针旋转,原理同理,见图2-5。图2-68255A向步进电机发出的控制脉冲图2.3软件框图及设计思想据步进电机的励磁顺序列写控制步进电机顺序转动的输出的数据表初始化8255A的工作方式设定需要步进电机转过的步数顺序依次逐个延时(调用延时函数1:延时较长,实现慢转)输出表中数据设定需要步进电机
8、快速转过的步数顺序依次逐个延时(调用延时函数2:延时较短,实现快转)输出表中数据设定需要反向转过的步数逆序依次逐个延时(调用延时函数1,慢速)输出表中数据设定需要步进电机快速反向转过的步数逆序依次逐个延时(调用延时函数2,快速)输出表中数据。以此循环,则可实现让步进电机先低速正转到高速正转,再从高速正转到低速反转,再高速反转,周而复始。图2-7主程序框图图2-8延时函数程序框图第3章 芯片使用3.18255A简介Intel8086/8088系列的可编程外设接口电路(ProgrammablePeripheralInterface)简称PPI,型号为8255(改进型为8255A及8255A-5),
9、具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。8255A的通用性强,使用灵活,通过它CPU可直接与外设相连接。8255A在使用前要写入一个方式控制字,选择A、B、C三个埠各自的工作方式,共有三种;方式0:基本的输入输出方式,即无须联络就可以直接进行的I/O方式。其中A、B、C口的高四位或低四位可分别设置成输入或输出。方式1:选通I/O,此时接口和外围设备需联络信号进行协调,只有A口和B口可以工作在方式1,此时C口的某些线被规定为A口或B口与外围设备的联络信号,余下的线只有基本的I/O功能,即只工作在方式0。方式2:双向
10、I/O方式,只有A口可以工作在这种方式,该I/O线即可输入又可输出,此时C口有5条线被规定为A口和外围设备的双向联络线,C口剩下的三条线可作为B口方式1的联络线,也可以和B口一起方式0的I/O线。8255A是一个并行输入、输出器件,具有24个可编程设置的I/O口,包括3组8位的I/O为PA口、PB口、PC口,又可分为2组12位的I/O口:A组包括A口及C口高4位,B组包括B口及C组的低4位。3.28255A的工作方式选择图3-18255A工作方式控制字3.474LS138译码芯片简介74LS138为3线8线译码器,共有54/74S138和54/74LS138两种线路结构型式。其工作原理:当一个
11、选通端(E3)为高电平,另两个选通端(E1)和/(E2))为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0至Y7对应的输出端以低电平译出。比如:A0A1A2=011时,则Y6输出端输出低电平信号。总结经过这次课程设计,我更多的了解了步进电动机的工作原理及接口电路原理,学会了用编程实现步进电动机正反转及加速的方法。通过汇编实现让8086控制步进电动机正转、反转、变速,巩固了对步进电动机的编程控制的理论基础,并从中获得了初步的应用经验。在编程的过程中,我巩固了用汇编语言处理数据的能力,特别是对数表数据的灵活运用能力。在调试及试运行的过程中也遇到不少问题,最后都通过查阅更多资料解决了。经
12、过这次设计,我看到了自己在知识积累上的不足,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将就我人生的重要财富。我觉得作为一名自动化专业的学生,计算机控制技术的课程设计有很重大意义的。更重要的是如何把自己平时所学的东西应用到实际中。虽然自己是初次接触这门课程,很多基础的东西都还没有很好的掌握,觉得非常的陌生,但是在同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。对我来说这是个非常重大的收获。参考文献1周明德.微型计算机系统原理及应用(第四版).北京:清华大学出版社,20022李顺增,吴国东,赵河明,乔志伟.微机原理及接口技术.
13、北京:机械工业出版社,20063徐玮.C51单片机高效入门.北京:机械工业出版社,20074杨邦华.微机原理与接口技术实用教程.北京:清华大学出版社,2008附录程序清单STACKSEGMENTSTACKDW256DUP(?)STACKENDSDATASEGMENTTABLEDB01H,03H,02H,06H,04H,0CH,08H,09H;DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMAIN:MOVAL,80HOUT0F6H,ALMOVDX,20A1:MOVBX,OFFSETTABLEMOVCX,0008HA
14、2:MOVAL,BXOUT0F2H,ALCALLDALLYINCBXDECDXJZD1LOOPA2JMPA1D1:DECCX;修正MOVDX,20A3:MOVAL,BXOUT0F2H,ALCALLDALLY_kINCBXDECDXJZD2LOOPA3JMPM3D2:DECBX;修正MOVDX,20A4:MOVAL,BXOUT0F2H,ALCALLDALLYDECBXDECDXJZD3LOOPA4JMPM1D3:DECCX;修正MOVDX,40A5:MOVAL,BXOUT0F2H,ALCALLDALLY_kDECBXDECDXJZD4LOOPA5JMPm2D4:JMPMAINM1:MOVBX,OFFSETTABLEMOVAX,0007HADDBX,AXMOVCX,0008HJMPA4M2:MOVBX,OFFSETTABLEMOVAX,0007HADDBX,AXMOVCX,0008HJMPA5M3:MOVBX,OFFSETTABLEMOVCX,0008HJMPA3DALLY:PUSHCXMOVCX,5000HA9:PUSHAXPOPAXLOOPA9POPCXRETDALLY_K:PUSHCXMOVCX,0F00HA10:PUSHAXPOPAXLOOPA10POPCXRETCODEENDSENDSTART