步进电机驱动控制系统设计(有程序)
- 格式:doc
- 大小:614.50 KB
- 文档页数:18
步进电动机控制系统上位机程序设计摘要:从整体上简要介绍了步进电动机控制系统的结构及功能特点;详细介绍了上位机软的功能及实现方法。
所设计的控制程序具有友好的人机交互特性,可设定多种运行模式,可实时显示系统运行状态,且可应用于需要复杂控制算法及控制功能的使用场合.关键词:混合式步进电动机;微型计算机;MCS一51单片机;Visual Basic;MSComm 控件Abstract:The structure and functional characteristics of the stepper control system were introduced integrally,and the functions and implementation methods of the microcomputer programme were also introduced.This method had a friendly user interface.The several operation modes were set,the operation states of the system were displayed in real time.Key words:hybrid stepper motor;microcomputer;MCS一5 1 single chip;Visual Basic;MSComm widget0前言随着工业生产和计算机技术的日新月异,微型计算机在工业控制领域的应用越来越广泛。
利用微型计算机可以存储更多的数据,进行复杂的运算,还可以通过多种形式对信息进行显示。
另外,还可以设计高效、友好的用户界面,对系统进行控制.本系统以单片机作为下位机而微机作为上位机,两者通过RS一232串行接口进行通信。
上位机设计了友好的用户界面,以便对系统进行控制,下位机在得到控制命令之后,具体实施控制,并将系统的工作状态信息传给上位机进行显示处单片机采用8051,而上位机是在Windows XP操作系统下,用Visual Basic 6.0开发的监控软件。
步进电机运行系统控制设计一、设计的性质与目的:性质:该设计是在学生学完《单片机原理与应用》和电子学相关课程的基础上,结合测控技术与仪器和机电工程专业的特点进行的具有一定难度和覆盖面的综合性实践环节。
目的:综合运用所学的《单片机原理与应用》理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。
二、设计内容与要求:1、根据设计任务,设计该单片机应用系统的硬件电路图,软件流程图并编制相应的软件,实现硬件和软件的调试。
2、按下不同的键,分别使步进电机实现顺时针和逆时针旋转一步,连续按键,不仅电机连续运转,显示器显示步进电机的状态。
3、按下不同的键作步进电机速度及转向的控制并显示步进电机的状态。
A) 电机正向或逆向运转的切换B) 电机加速运转C) 电机减速运转D) 电机按给定速度匀速运转三、实验注意事项:1、实验中所用仪器及设备均应按操作规程操作,实验前应仔细阅读指导书。
2、实验应独立思考,发现问题尽量自己解决。
3、实验结果需经老师检查后方算完成。
四、设计方案:1、步进电机工作原理及硬件连线图:步进电机驱动原理是通过对它每相线圈中的电流的顺序切换使电机作步进式旋转,驱动电路有脉冲信号来控制,所以调解脉冲信号的频率变可以改变步进电机的转速,因此微电脑控制步进电机最合适。
如下图所示,实验使用的不仅电机用直流+5V电压,每相电流为0.16A,电机线圈由4相组成。
即①1 (A);①2 (B);①3 (C);①4 (D);驱动方式为二相激磁方式各线圈通通电顺序如下表:相顺序 1 2 3 40 1 1 0 01 0 1 1 02 0 0 1 13 1 0 0 1二相激磁通电次序表中首先向①1线圈-①2线圈输入驱动电流,接着①2-①3,①3-①4,又返回到①1-①2,按这种顺序切换,点击按顺时针方向旋转。
这时的相序位0, 1,2,3;如果使电机逆时针方向旋转,相序为3, 2, 1, 0。
步进电机的驱动电路如右图所示, 微电脑向步进电机输入端传送 1 或0 信息,则可实现上述操作。
步进电机控制系统设计引言随着人民生活水平的提高,产品质量、性能、自动化程度等已经是人们选择产品的主要因素。
其中,步进电机正反转自动控制在生活中起了很大的作用,比如洗衣机的工作、遥控汽车的操作、DVD的应用等等,它在实际生活中给人们需求上提供了很大的方便与乐趣。
不只是生活,它还在工业、农业、交通运输等各方面得到了广泛的应用,实现电动机正反转的控制是很多产品设计的核心问题。
步进电机显示出交流电动机不能比拟的良好启动性能和调速性能,比较广泛应用于速度调节要求过高,正反转频繁或多元同步协调运转的机械生产。
因此,学会电动机正反转控制的原理是极其重要的。
然而,在本步进电机正反转仿真设计中,要借助Proteus软件、Keil软件和C语言的辅助进行仿真设计,通过仿真设计,让我们更清楚了解步进电机正反转的原理和电路图,增强对步进电机的认知。
在Proteus绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在Proteus的原理图中看到模拟的实物运行状态和过程,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。
这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。
这些都尽可能减少了仪器对测量结果的影响。
在本设计中,Proteus软件采用了电容、电阻、晶振、电动机、LED、开关、电动机等多种元件进行绘图,并基于80C51和ULN2003A进行电路图设计,充分展示Proteus软件元件库量大,掌握它的基本绘图操作。
而对于Keil软件,采取创建工程,创建执行文件,利用C语言编写程序,生成hex文件,为Proteus 仿真提供驱动控制,实现步进电机正反转的设计。
在本论文设计中,主要介绍步进电机正反转原理,Proteus软件功能绘图、仿真调试,以及Keil软件功能、程序编写和仿真程序文件生成。
让大家更清楚了解Proteus软件、Keil软件、C语言在步进电机正反转仿真设计的应用。
PLC如何控制步进电机PLC(可编程逻辑控制器)是一种广泛应用于工业自动化领域的控制设备,通过输入/输出模块对各种机电设备进行控制。
在PLC系统中,步进电机是常见的执行元件之一,它具有准确的位置控制和高的加减速性能。
本文将介绍PLC如何控制步进电机,包括步进电机的驱动方式、PLC的控制原理及步进电机控制的程序设计。
一、步进电机的驱动方式1.串行通信驱动方式:步进电机通过串行通信驱动方式与PLC进行通信和控制。
首先,将PLC与串行通信模块相连,通过串行通信模块与步进电机控制器进行通信。
PLC通过串行通信模块发送指令,步进电机控制器接收指令后控制步进电机运动。
2.并行通信驱动方式:步进电机通过并行通信驱动方式与PLC进行通信和控制。
与串行通信驱动方式类似,首先将PLC与并行通信模块相连,通过并行通信模块与步进电机控制器进行通信。
PLC通过并行通信模块发送指令,步进电机控制器接收指令后控制步进电机运动。
3.脉冲驱动方式:步进电机通过脉冲驱动方式与PLC进行通信和控制。
在脉冲驱动方式中,需要PLC输出脉冲信号控制步进电机。
通常情况下,PLC将脉冲信号传递给步进电机驱动器,在驱动器中产生相应的控制信号,实现对步进电机的控制。
二、PLC的控制原理PLC作为控制器,一般采用扫描运行方式。
其运行原理如下:1.输入信号读取:PLC将外部输入信号输入到输入模块中,采集输入信号,并将其从输入模块传递给中央处理器(CPU)进行处理。
2. 程序执行:CPU根据事先编写好的程序进行处理,包括数据处理、逻辑运算和控制计算等。
PLC程序一般采用ladder diagram(梯形图)进行编写。
3.输出信号控制:根据程序的执行结果,CPU将处理好的数据通过输出模块发送给外部设备,用于控制和操作外部设备。
三、步进电机控制的程序设计步进电机的控制程序主要包括参数设定、模式选择、起停控制、运动控制等部分。
下面以一个简单的例子来说明步进电机控制的程序设计过程:1.参数设定:首先需要设定步进电机的一些参数,如电机型号、步距角度、运动速度等。
步进电机细分驱动控制系统设计姓名:张凯学号: 20104977指导老师:杨小平、杞宁组员:张凯 20104977 (组长)张明 20104991王涛 20104978合肥工业大学电子科学与应用物理学院电子科学与技术系概述步进电机在输入状态发生变化时会转过一定的角度,输入状态不变时不会转动,且在不细分输入情况下每次转过较大的角度,再细分情况下每次转过较小的角度。
本设计是利用 FPGA 实现四相步进电机细分驱动控制,并且系统既能实现步进电机的细分驱动又能实现不细分驱动,还能实现步进电机的正、反转控制。
设计方案与实现下图是通过Quartus Ⅱ综合产生的RTL级电路图。
整个电路共分为6大模块:32进制可加可减计数器(cnt32)、16进制(自加)计数器(cnt16)、4位输出选择器(dec2)、4个4位比较器(new_comp:moto5、moto6、moto7、moto8)、查找表(rom32)、4位输入4位输出2选1多路选择器(mux2to1)。
其中,u_d控制正反转,s选择细分和不细分,en控制停和转,y[3:0]接步进电机的4相输入,clk0和clk5为时钟,且clk5>>clk0(本课设选clk0=4Hz,clk5=32768Hz)。
设步进电机的4相输入分别为A、B、C、D。
细分: cnt32计数输出5位数据送rom32,rom32输出16位数据分别送new_comp:moto5、moto6、moto7、moto8的a[3:0]端口与cnt16计数送来的4位数据b[3:0]比较。
如果a>=b,则agb=1’b1;反之agb=1’b0。
由于clk5>>clk0,从而agb能输出一段占空比稳定的信号(只持续1个或多个clk0周期),即产生1/4、2/4、3/4信号。
再如果s为高电平,则就能实现步进电机的细分输入。
不细分:如果s为低电平,则mux2to1选通由dec2送来的非细分信号dataa[3:0],从而实现步进电机的非细分输入。
步进电机控制系统设计本设计通过开发运用微型计算机系统,输出控制时序来控制步进电机运转,针对步进电机的工作状态,输出对应的音频或光、显示信息。
本次设计的创新点是结合温度保护程序,通过比较当前温度与设定的温度值控制步进电机停止转动,保护步进电机。
标签:步进电机;微机;汇编;控制1 星研集成环境介绍(1)提供DOS、WIN95/98/ME/NT/2000/2003/XP 二个版本的集成环境软件,与KEIL 公司提供的C51 调试软件很大部分相同,也有自己的特色。
集编辑编译器(VC++风格)、项目管理、编译、连接、错误定位、下载于一体,并提供调试功能。
(2)功能强大的项目管理功能:现在单片机软件越来越大,也越来越复杂,维护成本也很高。
通过项目管理可化大为小、化整为零,便于管理。
项目管理功能也使多模块、多语言混合调试成为可能。
支持宏汇编、C、PLM 语言混合编程,有强大的项目管理功能,含并且包含调试与该项目相关的仿真器件、相关文件、编译软件以及编译连接控制等硬软件信息。
(3)本次设计基于星研集成环境,所有硬件、软件环境都已集成。
2 编写步进电机汇编程序的方法2.1 8255可编程并行接口芯片介绍8255可编程外围接口芯片是Intel公司生产的通用并行I/0接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0—基本输入/出方式;方式1—选通输入/出方式;方式2—双向选通工作方式。
2.2 编程中三个重要的参数(1)运转步数N:操控步进电机的定位精度。
(2)延时时间DELAY:控制步进电机步进的速率。
(3)温度:控制步进电机停止工作的最大温度。
3 工作过程3.1 步进电机的概述及四相八拍步进电机的工作原理:步进电机是一种将电脉冲信号转换成角位移或线位移的机电元件。
此步进电机工作方式为四相八拍,由单极性直流电源进行供电。
只需变换不同合适的时序对步进电机的各相绕组通电,就可以使步进电机步进转动。
附一:封面**********学院毕业设计(论文)题目:步进电机控制系统设计专业:班级:姓名:学号:指导教师:2055 年 5 月 5 日附二:成绩评议表*************学院毕业设计(论文)成绩评议专业班级姓名学号题目步进电机控制系统设计指导教师评阅成绩评定:指导教师:年月日评阅教师意见评阅教师:年月日答辩小组意见答辩小组负责人:年月日中文摘要1、步进电机概述列出了步进电机的特点、技术参数和分类,并阐述了详细调速原理。
2、方案的论证确定了步进电机的控制方法、驱动方式、驱动电路以及基本方案。
3、硬件电路的设计对单片机、步进电机、驱动电路、显示电路与键盘、反馈电路进行了选择,并设计了电源电路、抗干扰及看门狗电路。
4、软件的设计对显示子程序、键盘子程序、驱动程序流程进行了设计,并绘制了正反转程序流程图。
5、总结关键词:步进电机 单片机 调速系统目录前言-----------------------------------------------05第一章步进电机概述---------------------------------061.1 步进电机的特点-----------------------------061.2 步进电机的技术参数-------------------------071.2.1步进电机的基本参数---------------------071.2.2步进电机动态指标及术语-----------------081.3步进电机的分类------------------------------101.4步进电机详细调速原理------------------------12第二章方案的论证-----------------------------------142.1控制方式的确定------------------------------142.2驱动方式的确定------------------------------162.3驱动电路的选择------------------------------172.4基本方案的确定------------------------------18第三章硬件电路的设计-------------------------------203.1单片机的选择--------------------------------203.1.1单片机的选择---------------------------203.1.2主要特性-------------------------------223.2步进电机的选择------------------------------233.2.1三相单三拍通电方式---------------------243.2.2三相双三拍通电方式---------------------253.3驱动电路的选择------------------------------293.4显示电路与键盘的选择------------------------313.5反馈电路的选择------------------------------34第四章软件的设计-----------------------------------374.1显示子程序的设计----------------------------374.2键盘子程序的设计----------------------------374.3驱动程序流程的设计--------------------------384.4正反转程序流程图----------------------------394.4.1正反转程序流程图----------------------394.4.2转速快慢程序流程图--------------------404.4.3定时中断流程图------------------------41五总结-------------------------------------------42前言第一章步进电机概述1.1步进电机的特点:1)一般步进电机的精度为步进角的3-5%,且不累积。
本科毕业设计论文题目基于单片机的步进电机驱动控制系统设计专业名称学生姓名指导教师毕业时间毕业 任务书一、题目基于单片机的步进电机驱动控制系统设计二、指导思想和目的要求步进电机是一种将电脉冲信号转换成相应的角位移或线位移的机电元件。
每出现一个脉冲,它就相应的运行一步。
步进电机具有结构简单、运行可靠、控制方便、控制性能好等优点,在数控机床、绘图仪、打印机及机器人领域得到广泛应用。
为了得到性能优良的控制结果,出现了很多步进电机控制系统,其中采用单片机作为控制核心的控制系统得到了广泛的应用,使用这种控制系统在步进电机的驱动上已经做的非常好。
本课题通过研究步进电机和单片机的原理,实现以单片机为核心的步进电机控制系统设计,达到对步进电机的转速和转角的控制。
三、主要技术指标1. 研究步进电机和单片机的原理,并基于单片机实现步进电机驱动控制系统的设计;2. 利用Proteus 仿真平台仿真实现以单片机作为控制核心对步进电机进行驱动控制的电路设计和软件设计及仿真。
四、进度和要求第01周----第02周: 查找相关资料,对英文资料进行翻译;第03周----第04周: 熟悉步进电机、单片机及如何使用单片机对步进电机进行驱动控制的相关原理;第05周----第06周:熟悉Proteus 8.0的应用;第07周----第13周:设计电路图并利用Proteus 8.0进行仿真实现;设计 论文第14周----第16周:撰写毕业设计论文,论文答辩。
五、主要参考书及参考资料[1] 蔡美琴.MCS—51系列单片机系统及其应用(第二版).高等教育出版社,2004-6-1.[2] 张毅刚,基于Proteus的单片机课程的基础实验与课程的基础实验与课程设计,人民邮电出版社.2012-4-1[3] 张明林,C语言程序设计,西北工业大学出版社,2005.[4] 谭浩强,C++面向对象程序设计.清华大学出版社,2006[5] 雷凯,步进电机细分驱动技术的研究[D].苏州大学硕士论文.2003.[6] 黄勇.廖宇.高林,基于单片机的步进电机运动控制系统设计.湖北名族学院论文.2008.[7] 房玉民,杭柏林.基于单片机的步进电机开环控制系统[J].电机与控制应用.2006.[8] 张巍.浅谈单片机控制步进电机[J].安防科技.2006.[9] 刘宝延,程树康,步进电机及其驱动控制系统[M],1997.11.[10]StePPingmotorhandbook6[M][11]Development of a Novel Drive Topology for a Five Phase Stepper Motor,T.S.Weerakoon and L.Samaranayake,Dept.of Electrical and Electronic Engineering,Faculty of Engineering,University of Peradeniya,Sri Lanka .[12]《Stepper Motor System Basics》[M]AMS advanced micro systems inc. 2000[13]Albert C.Leenhout.Smooth Step Motor Motion With Halt Driver.Annaul Symposium on IMCSD.1995 24 (2).学生___________ 指导教师 ___________ 系主任 ___________摘要步进电机广泛应用于工业,军事和医疗自动化领域,如数控装置,牵伸机,机械手,印刷及包装设备。
成绩课程论文题目:三相步进电机控制系统的设计课程名称:Proteus学生姓名:刘卫东学生学号:**********系别:电子工程学院专业:通信工程年级:2012级任课教师:王丽电子工程学院制2015年4月三相步进电机控制系统的设计学生:刘卫东指导教师:王丽电子工程学院通信工程1 系统硬件介绍1.1 AT89C51单片机简介AT89C51是一种带4k字节闪烁可编程课擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
主要特性:(1)与MCS-51 兼容(2)4K字节可编程闪烁存储器(3)寿命:1000写/擦循环(4)数据保留时间:10年(5)全静态工作:0Hz-24Hz(6)三级程序存储器锁定(7)128*8位内部RAM(8)32可编程I/O线(9)两个16位定时器/计数器(10)5个中断源(11)可编程串行通道(12)低功耗的闲置和掉电模式(13)片内振荡器和时钟电路1.2 ULN2003A芯片介绍经常在以下电路中使用,作为:1、显示驱动2、继电器驱动3、照明灯驱动4、电磁阀驱动5、伺服电机、步进电机驱动等电路中。
基本参数:模块配置:7 NPN电压, Vceo:50V集电极直流电流:500mA直流电流增益hFE:1000工作温度范围:-20°C to +85°C封装类型:PDIP引脚数:16封装类型:DIP晶体管数:7表面安装器件:通孔安装器件标号:2003最大连续电流, Ic:500mA芯片标号:2003输入电压最大:30V输入类型:5V TTL CMOS输出电压最大:50V输出电流最大:0.6A通道数:72硬件电路设计2.1 总体的硬件设计(1)用K0-K2做为通电方式选择键,K0为单三拍,K1为双三拍,K2为三相六拍;设计一个单片机三相步进电机控制系统要求系统具有如下功能:(2)K3、K4分别为启动和方向控制;(3)正转时红色指示灯亮,反转时黄色指示灯亮,不转时绿色指示灯亮;(4)用4位LED显示工作步数。
单片机驱动步进电机控制系统的设计摘要:本文主要针对步进电机控制系统的设计进行研究,通过单片机的控制,实现步进电机的精准控制。
首先对步进电机的控制原理进行了简单的介绍,并对步进电机的几种工作方式进行了说明。
然后,结合单片机的控制特点,提出了步进电机控制系统的设计方案。
具体包括单片机控制程序设计、电机驱动电路设计以及系统整体组装等方面。
最后,通过实验验证了设计方案的可行性和有效性,证明了该步进电机控制系统具有较好的稳定性和可靠性,具备一定的应用价值。
关键词:步进电机;单片机;控制系统;电机驱动电路引言:步进电机是一种精密控制电机,具有精度高、动态响应快等特点,在现代自动控制系统中被广泛应用。
其控制原理基于磁场作用原理,通过交替激励电机中的磁场,实现电机的正反转和转速控制。
因此,设计一套高精度的步进电机控制系统,对于提高现代自动化设备的精度和稳定性具有十分重要的作用。
当前,单片机作为一种重要的数字控制器,在控制系统中得到了广泛应用。
其控制精度高、运算速度快等特点,为步进电机的控制提供了可靠的保障。
因此,本文将结合单片机控制特点,设计一套步进电机控制系统。
一、步进电机控制原理步进电机是一种电动执行元件,其转动为一次性的,即当电机受到控制脉冲后,只能旋转一个角度。
因此,其控制方式与普通电机控制方式有所不同。
步进电机的控制原理基于磁场作用原理,即通过给电机加上特定的电流脉冲,实现电机准确的正反转和转速控制。
具体来讲,其控制原理包括以下几点:1. 步进电机采用的控制方式主要有两种,即常用的双相四线式和单相两线式。
2. 当电机受到电流脉冲作用时,会产生一个旋转磁场,使得电机的转子随之旋转一个固定的角度。
3. 步进电机的角度是由电机驱动电路所产生的电流脉冲数来确定的,即每经过一个电流脉冲,电机就会旋转一个固定的角度。
4. 电机转速的控制是通过改变电机所受电流脉冲的频率和占空比来实现的。
二、系统设计方案为了实现对步进电机的控制,本文采用了ATmega16单片机作为控制器,同时设计了电机驱动电路和控制程序,实现了对步进电机的控制。
「步进电机的PLC控制系统设计」步进电机是一种常见的电机类型,其特点是能够准确控制位置和速度。
PLC(Programmable Logic Controller,可编程逻辑控制器)是一种常用的工业自动化控制设备,通过PLC控制系统能够实现对步进电机的精确控制。
本文将详细介绍步进电机的PLC控制系统设计,主要包括硬件设计和软件设计两个方面。
首先是硬件设计。
PLC控制系统主要包括PLC、步进电机驱动器和步进电机三个主要组成部分。
PLC作为控制中心,负责发出控制指令和接收反馈信号。
步进电机驱动器接收PLC的指令,并将其转换为驱动步进电机所需的电流和信号。
步进电机是根据驱动器的信号进行运转的,通过其内部结构实现精确控制。
其次是软件设计。
PLC控制系统的软件设计主要包括编程和逻辑设计两个方面。
在编程方面,可以使用类似LD(Ladder Diagram,梯形图)或FBD(Function Block Diagram,功能块图)的编程语言编写。
通过编写逻辑图,可以实现对步进电机的定位、速度和运动方向的控制。
具体的代码编写需要根据实际情况进行调整和优化。
在逻辑设计方面,需要根据控制需求确定控制策略。
通常情况下,通过读取输入信号(如传感器信号)来确定当前步进电机的位置或状态,然后根据设定值进行比较,计算出控制输出信号,控制步进电机的运动。
同时,还可以根据需要添加一些保护机制,如限位开关、过载保护等,以确保步进电机运行的安全性和可靠性。
步进电机的PLC控制系统设计还需要考虑一些其他因素。
例如,需要根据步进电机的型号和规格来选择合适的驱动器和PLC,并确保它们之间的兼容性。
此外,还需要考虑电源供应和信号传输的稳定性和可靠性,以确保控制系统的正常运行。
总结起来,步进电机的PLC控制系统设计需要经过硬件设计和软件设计两个方面的工作。
在硬件设计方面,需要选取适当的PLC、步进电机驱动器和步进电机,并确保其之间的兼容性。
在软件设计方面,需要编写适当的逻辑图和程序代码,实现对步进电机的精确控制。
目录一前言 (1)二总体方案设计 (1)1工作原理 (1)2方案选择 (1)2.1时钟脉冲 (1)2.2脉冲分配器 (1)2.3驱动器 (1)3 总的框架 (2)三单元模块设计 (2)1单片机模块 (2)1.1复位控制 (3)1.2单片机频率 (3)2接口 (3)3驱动器ULN2003 (4)4按键模块 (5)5步进电机 (5)5.1工作原理 (5)5.2 28BYJ48型四相八拍 (7)四整机调试与技术指标测量 (8)五设计总结 (8)参考文献 (9)附录1电路原理图 (10)附录2 源程序 (11)一、前言步进电动机是一种将电脉冲信号转换成机械位移的机电执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。
随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。
二、总体方案设计1、工作原理步进电机是一种将电脉冲转化为角位移的执行机构。
通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。
您可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
2、方案选择(1)时钟脉冲通常有两种方法实现:方案一直接有硬件组成如:多谐振荡器 LC 等。
方案二用软件的方式形成优点便于随时更改,调整。
为了方便我们选用软件方式有单片机实现。
(2)脉冲分配器方案一硬件环形分配器:由计数器等数字电路组成的。
有较好的响应速度,且具有直观、维护方便等优点。
方案二软件环分:由计算机接口电路和相应的软件组成的。
受到微型计算机运算速度的限制,有时难以满足高速实时控制的要求。
由软件完成脉冲分配工作,不仅使线路简化,成本下降,而且可根据应用系统的需要,灵活地改变步进电机的控制方案。
考虑到硬件设备的有限和对步进电机的控制我们选择软件环分可以有单片机实现。
(3)驱动器方案一使用功率场效应管的单电压功放电路。
方案二使用集成功率放大器ULN2003。
直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
非常的方便电路更加的简单,稳定。
驱动器选用ULN2003。
3、总的框架三、单元模块设计1、单片机模块用单片机代替了步进控制器把并行二进制码转换成串行脉冲序列,并实现方向控制。
(1)单片机复位控制采用上电与按键均有效的复位。
(2)单片机频率AT89S51单片机有两个引脚(XTAL1,XTAL2)用于外接石英晶体和微调电容,从而构成时钟电路。
电容C2、C3对振荡频率有稳定作用,其容量的选择为30pF,振荡器选择频率为12MHz的石英晶体。
由于频率较大时,三角波、正弦波、锯齿波中每一点的延时时间为几微秒,故延时时间还要加上指令时间才能获得较大的频率波形。
2、接口输出接口是将计算机的输出端与步进电动机的每相绕组一一对应起来。
由P1.0 P1.1 P1.2 P1.3 分别于驱动器ULN2003 IN1 IN2 IN3 IN4连接。
3、驱动器ULN2003ULN2003 的每一对达林顿都串联一个 2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路。
直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。
ULN2003 采用DIP—16 或SOP—16 塑料封装。
方框图封装外形图ULN2003内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。
它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTL COMS,由达林顿管组成驱动电路。
ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。
用户输出口的外接负载可根据以上参数估算。
采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。
通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。
ULN2003是一个非门电路,包含7个单元,单独每个单元驱动电流最大可达350mA,9脚可以悬空。
比如1脚输入,16脚输出,你的负载接在VCC与16脚之间,不用9脚。
4、按键模块S2,S3,S4分别于单片机的P3.2, P3.3, P3.4相连。
S2控制步进电机正转,S3控制步进电机反转,S4让步进电机停止。
5、步进电机(1)步进电机的工作原理步进电机主要由两部分构成:定子和转子。
它们均由磁性材料构成。
定、转子铁心由软磁材料或硅钢片叠成凸极结构,定、转子磁极上均有小齿,定、转子的齿数相等。
其中定子有六个磁极,磁极上套有星形连接的三相控制绕组,每两个相对的磁极为一相,组成一相控制绕组,转子上没有绕组。
给A相绕组通电时,转子位置如图,转子齿偏离定子齿一个角度。
由于励磁磁通力图沿磁阻最小路径通过,因此对转子产生电磁吸力,迫使转子齿转动,当转子转到与定子齿对齐位置时,因转子只受径向力而无切线力,故转矩为零,转子被锁定在这个位置上。
由此可见:错齿是助使步进电机旋转的根本原因。
步距角与转速的计算:步进电机通过一个电脉冲转子转过的角度,称为步距角。
N: 一个周期的运行拍数,即通电状态循环一周需要改变的次数。
Zr :转子齿数。
转速:(2) 28BYJ48型四相八拍步进电机24或28BYJ48型四相八拍电机,电压为DC5V —DC12V 。
当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。
每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。
当通电状态的改变完成一个循环时,转子转过一个齿距。
四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A 。
),双(双相绕组通电)四拍(AB-BC-CD-DA-AB-。
),八拍(A-AB-B-BC-C-CD-D-DA-A 。
)等。
28BYJ48步进电机为四相八拍,其相序表如下 3 2 1 0 对应A 口输出值拍数:N=kmk=1 单拍制2 双拍制m:相数N Z r S ︒=360θmin)/(63603606060r f N Z f N Z f n sr r ︒=︒︒⨯==θ四、整机调试与技术指标测量1.组装调试时钟脉冲产生电路,用示波器观察电路的输出波形,用频率计测量电路输出信号的最低频率与最高频率。
2.组装调试环形脉冲分配器,观察并记录电路的输出波形与时钟脉冲CP的关系。
改变正、反转工作方式,观察输出波形的变化。
3.焊接调试电源电路,用电压表测量电路的输出电压,正常值应该为24V左右。
焊接调试功率放大电路。
4.将以上四部分电路进行联调,检查电机自动、手动,正转和反转等功能。
总结故障排除的经验与体会。
五、设计总结回顾起此次步进电机驱动控制系统设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在好几个星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟不是很经常做,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法……通过这次课程设计之后,一定把以前所学过的知识重新温故。
参考文献[1] 谢自美.电子线路综合设计.华中科技大学出版社,2006.06.[2] 谢维成.微机原理与接口技术.华中科技大学出版社,2009.06.[3] 张永瑞.电子测量技术基础.西安电子科技大学出版社,2006.06.[4] 李全利.单片机原理及应用.清华大学出版社,2006.02.[5] 郝文化.电路原理图与PCB设计.机械工业出版社,2009.07.[6] 童诗白.模拟电路技术基础.高等教育出版社,2000.06.附录1 电路原理图附录2 源程序#include <reg51.h> //51芯片管脚定义头文件#include <intrins.h> //内部包含延时函数_nop_();#define uchar unsigned char#define uint unsigned intuchar code FFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}; uchar code REV[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01}; sbit K1 = P3^2; //正转sbit K2 = P3^3; //反转sbit K3 = P3^4; //停止sbit BEEP = P3^6;/****************************************************** **//*/* 延时t毫秒/* 12MHz时钟,延时约1ms/*/****************************************************** **/void delay(uint t){uint k;while(t--){for(k=0; k<125; k++){ }}}/****************************************************** ****/void delayB(uchar x) //x*0.14MS{uchar i;while(x--){for (i=0; i<13; i++){ }}}/****************************************************** ****/void beep(){uchar i;for (i=0;i<100;i++){delayB(4);BEEP=!BEEP; //BEEP取反}BEEP=1;}/****************************************************** **//*/*步进电机正转/*/****************************************************** **/void motor_ffw(){uchar i;uint j;for (j=0; j<8; j++) //转1*n圈{if(K3==0){break;} //退出此循环程序for (i=0; i<8; i++) //一个周期转45度{P1 = FFW[i]; //取数据delay(2); //调节转速}}}/****************************************************** **//*/*步进电机反转/*/****************************************************** **/void motor_rev(){uchar i;uint j;for (j=0; j<8; j++) //转1×n圈{if(K3==0){break;} //退出此循环程序for (i=0; i<8; i++) //一个周期转45度{P1 = REV[i]; //取数据delay(2); //调节转速}}}/****************************************************** **** 主程序******************************************************** **/main(){uchar r,N=64; //N 步进电机运转圈数因为我们的步进电机是减速步进电机减速比是1/64 所以这里N=64时步进电机外部的主轴转1圈while(1){if(K1==0){beep();for(r=0;r<N;r++){motor_ffw(); //电机正转if(K3==0){beep();break;} //退出此循环程序}}else if(K2==0){beep();for(r=0;r<N;r++){motor_rev(); //电机反转if(K3==0){beep();break;} //退出此循环程序}}elseP1 = 0xf0;}}/****************************************************** **/。