步进电机设计报告
- 格式:docx
- 大小:222.76 KB
- 文档页数:19
专业课程设计Ⅰ题目一步进电机控制系统设计院系:动化学院专业班级:智能0801班小组成员:指导教师:王曙光日期:2011.05.23-2011.06.03目录1课程设计描述 (2)2.课程设计具体要求 (3)3.主要元器件 (3)4.基本原理阐述 (3)4.1 步进电机的工作原理 (3)4.2 步进电机的启停控制 (3)4.3 步进电机的转向控制 (4)4.4 步进电机的速度控制 (4)4.5 步进电机的换向控制 (4)5.实验方案 (4)5.1 控制系统的硬件设计 (4)5.2 电路设计 (5)5.3 系统软件设计 (5)5.3.1主程序图 (5)5.3.2显示子程序 (6)5.3.3键盘扫描子程序 (7)5.4源程序 (7)6.设计中的问题分析 (11)7.参考资料 (12)8.实验总结 .................................... 错误!未定义书签。
1课程设计描述:设计一个以8051单片机作为主控制器的步进电机控制器,实现对步进电机的转速、转向的控制和显示。
2. 课程设计具体要求:(1)可通过按键设置步进电机的转向(正/反转)、转速(增/减速);(2)可通过按键设置步进电机的励磁方式(单/双相);(3)可通过数码管将步进电机的转速显示出来;(4)设计电路,编写程序,软件硬件仿真、调试。
3.主要元器件:实验板(中号)、STC89C51、电容(30pFⅹ2、10uFⅹ2)、数码管(共阳、四位一体)、晶振(12MHz)、小按键(5个)、步进电机(25BY)、ULN2003等4.基本原理阐述:4.1 步进电机的工作原理步进电机由定子和转子两部分组成,下面以两相反应式步进电机为例说明步进电机工作原理。
两相步进电机的定子上有两对磁极,按N、S、N、S分配,每两个相对的磁极组成一队。
每对磁极都缠有同一个绕组,形成一相。
转子是由软磁材料制成的,其外表面均匀分布着小齿,他们大小相同,间距相等。
目录1 绪论 ............................................. 错误!未定义书签。
2 设计方案 ......................................... 错误!未定义书签。
2.1步进电机介绍................................. 错误!未定义书签。
2.2设计方案的确定............................... 错误!未定义书签。
2.3设计思想与设计原理............................ 错误!未定义书签。
2.4单元电路的设计............................... 错误!未定义书签。
................................................ 错误!未定义书签。
................................................ 错误!未定义书签。
2.4.3 功率放大电路设计......................... 错误!未定义书签。
2.5总体设计...................................... 错误!未定义书签。
3 设计结果的仿真验证 ............................... 错误!未定义书签。
3.1部分电路的仿真................................ 错误!未定义书签。
................................................ 错误!未定义书签。
3.1.2 脉冲环形分配电路的仿真.................... 错误!未定义书签。
3.2总体电路的仿真............................... 错误!未定义书签。
4 设计方案的论证 ................................... 错误!未定义书签。
步进电机实验报告北京⼯业⼤学电⼦课程设计报告(数电部分)题⽬:步进电机⼀、设计题⽬步进电机控制电路⼆、设计任务和设计要求1.设计任务:本课题要求设计⼀个步进电机的控制电路,该电路能对步进电机的运⾏状态进⾏控制。
2.设计技术指标及设计要求:基本要求:(1).能控制步进电机正转和反转及运⾏速度,并由LED显⽰运⾏状态。
(步进电机⼯作⽅式可为单四拍或双四拍)。
A.单四拍⽅式,通电顺序为A—B—C—D—AB.双四拍⽅式,通电顺序为AB—BC—CD—DA—AB(2).测量步进电机的步距⾓。
(通过实测步进电机旋转⼀周所需要的脉冲数,推算出步进电机的步距⾓)。
扩展要求:设计步进电机的⼯作⽅式为四相⼋拍。
C.四相⼋拍⽅式,通电顺序为A—AB—B—BC—C—CD—D—DA—A(4).参考元器件:步进电机,发光⼆极管,续流⼆极管IN4004,复合三极管TIP122;5Ω(1W)电阻,其它电容、电阻若⼲。
三、设计框架⾸先我们先设计⼀个脉冲发⽣电路,我们选择⽤ne555设计这个脉冲发⽣电路,⽤于提供我们整个电路的时钟信号,然后将这个时钟置于74ls161芯⽚的时钟端,使161处于计数状态,然后161会在输出端产⽣0000到1111的序列,这⾥我们只⽤前三个端⼝,然后经过⼀定的组合将这三个端⼝接到74ls138译码器的输⼊端⼝,使译码器处于⼯作状态然后列真值表,确定A、B、C、D四相的逻辑表达式,并按照表达式进⾏组合,最后将A、B、C、D四相分别连接驱动电路,接上电机。
我们⾸先形成⼀个脉冲发⽣电路,如图所⽰:这个脉冲电路⽤于提供整个电路的时钟信号。
由于我们还要实现步进电机的变速,有此电路的频率公式f=1/[ln2(R1+2R2)C] 和q=(R1+R2)/(R1+2R2),可知,我们只需改变R1的电阻⼤⼩即可。
这样会对时钟频率产⽣影响,从⽽改变电机的转速。
接下来是环形脉冲分配电路。
⾸先我们写出我们需要的真值表,然后计算出逻辑表达式,最后根据逻辑表达式进⾏电路的连接。
课程设计报告单片机课程设计课程设计题目:步进电机无级调速系统设计姓名:学号:专业:班级:指导教师:10年4月29 日目录摘要随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。
研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。
步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成。
采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加。
软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。
本设计是采用AT89C51单片机对步进电机的控制,通过IO口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机;同时,用 4个按键来对电机的状态进行控制,并用数码管动态显示电机的转速。
系统由硬件设计和软件设计两部分组成。
其中,硬件设计包括AT89C51单片机的最小系统、电源模块、键盘控制模块、步进电机驱动(集成达林顿ULN2003)模块、数码显示(SM420361K数码管)模块、测速模块(含霍尔片UGN3020)6个功能模块的设计,以及各模块在电路板上的有机结合而实现。
软件设计包括键盘控制、步进电机脉冲、数码管动态显示以及转速信号采集模块的控制程序,最终实现对步进电机转动方向及转动速度的控制,并将步进电机的转动速度动态显示在LED数码管上,对速度进行实时监控显示。
软件采用在Keil软件环境下编辑的C语言。
本系统具有智能性、实用性及可靠性的特点。
本控制系统的设计采用实验室中的试验箱单片机控制,通过人为按动各开关实现步进电机的开关,以及电机的加速及减速功能,另外还增加可设正反转的功能,具有灵活方便、适应范围广易懂的特点,能够满足实现自身实践动手能力提高的需求。
课程设计报告学院:电子信息与控制工程学院专业:自动化班级:130202组号:19题目实验三步进电机控制电路姓名学号13020205目录一、设计题目实验三:步进电机控制电路二、设计技术指标及设计要求(一)、设计任务设计一个步进电机控制电路。
该电路能对步进电机的运行状态进行控制。
(二)、基本要求1、控制正转反转及运行速度2、测量步进电机步距角(三)、扩展要求设计步进电机工作方式为四项八拍(四)、参考元器件略计四、方案中各单元电路说明我们的设计方案主要由晶振电路、复位电路、供电部分、步进电机驱动电路和开关控制部分这六部分组成,以下是分块说明。
(一)、晶振电路晶振电路是51最小系统的一部分,晶振的频率决定单片机的时钟周期和机器周期。
对于51单片机而言,一般使用6~12MHz的晶振,本电路中使用的是11.0592MHz的无源晶振。
谐振电容的值并无严格要求,但会影响振荡器的稳定性,本电路中选用了20pf陶瓷电容。
由晶振电路中采用了11.0592MHz的晶振,可知单片机执行一条指令的时间为“2*1/(11.0592*10^6)s”。
注:此处的机器周期关系到下文中复位电路环节与程序中时间控制部分。
(二)复位电路51系列单片机是高电平复位。
关于自动复位,先看给单片机加5V电源(上电)启动时的情况:这时电容充电相当于短路,可以认为RST上的电压就是VCC,这是单片机就是复位状态。
随着时间推移电容两端电压升高,即造成RST上的电压降低,当低至阈值电压时,即完成复位过程。
关于手动按键复位,如果按下K0,电容短路放电,两端电压都是VCC,即RST引脚电压为VCC,如果超过规定的复位时间,单片机就复位了。
当按钮弹起后,RST引脚的电压为0,单片机处于运行状态。
STC89C52芯片复位要求是:RST上加高电平时间大于2个机器周期,对于采用的11.0592MHz晶振,一个机器周期大约1us,要复位就加2us的高电平即可。
图中的RC常数是10K×10uF=100ms,即100毫秒,这个常数足够用于复位,故电容电阻分别取10u,10k。
课程设计任务书学生姓名:专业班级:通信XX班指导教师:工作单位:信息工程学院题目: 步进电机的控制及驱动电路设计初始条件:本设计既可以使用集成移位寄存器、驱动器、555定时器和必要的门电路,以及所需电阻、电容、二极管、三极管、开关等元件。
本设计也可以使用单片机系统构建步进电机的控制及驱动电路。
自行设计所需电源。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周。
2、技术要求:①设计一个方波发生器提供系统时钟;②设计一个步进电机的驱动信号发生器,可以实现电机正转/反转控制和转速控制;③要求驱动器有足够的输出电流以驱动小功率4相步进电机;④要求可以实现步进电机的单相或双相激励;⑤确定设计方案,按功能模块的划分选择元、器件和集成电路,设计分电路,阐述基本原理。
⑥绘制总体电路原理图。
3、查阅至少5篇参考文献。
按《武汉理工大学课程设计工作规范》要求撰写设计报告书。
全文用A4纸打印,图纸应符合绘图规范。
时间安排:1、2012 年7 月1 日集中,作课设具体实施计划与课程设计报告格式的要求说明。
2、2012 年7 月 2 日,查阅相关资料,学习电路的工作原理。
3、2012 年7 月3 日至2012 年7 月5 日,方案选择和电路设计。
4、2012 年7 月6 日至2012 年7 月7 日,电路调试和设计说明书撰写。
5、2012 年7 月8 日上交课程设计成果及报告,同时进行答辩。
课设答疑地点:指导教师签名:年月日系主任(或责任教师)签名:年月日目录1 绪论 (1)2 工作原理及方案选择 (2)2.1 控制器的论证与选择 (2)2.2 驱动器的论证与选择 (3)2.3 系统总体方案 (3)3 电路设计及仿真 (3)3.1 步进电机 (3)3.1.1 步进电机构造 (4)3.1.2 步进电机工作原理 (4)3.1.3 步进电机主要参数 (5)3.2 主控制器部分 (6)3.3 驱动器部分 (7)3.4 键盘部分 (8)4 系统软件设计 (9)4.1 系统软件开发工具 (9)4.2系统流程图 (9)4.3 软件编程 (11)4.4 软件说明 (11)5 仿真记录 (11)6 完整电路原理图 (14)7 心得体会 (15)8 元件清单 (16)参考文献 (16)附录:源程序清单 (17)摘要步进电机能接受步进脉冲的控制一步一步地旋转,它是计算机应用项目中的主要执行元件之一,尤其在精确定位场合中得到了广泛的应用。
步进电机毕业设计步进电机毕业设计引言:在现代工业自动化领域,步进电机作为一种常见的执行器,广泛应用于各种机械设备中。
其特点是控制精度高、运动平稳、结构简单等,因此在毕业设计中选择步进电机作为研究对象是一种不错的选择。
本文将介绍步进电机的原理、设计要点以及实验过程和结果。
1. 步进电机的原理步进电机是一种将电脉冲信号转化为角位移的电动机,其工作原理基于磁场和电流的相互作用。
步进电机通常由定子和转子两部分组成,定子上布有相互平行的线圈,而转子上则有磁极。
当线圈通电时,产生的磁场与转子上的磁极相互作用,从而使得转子发生旋转。
2. 步进电机的设计要点在进行步进电机的毕业设计时,需要考虑以下几个重要的设计要点:2.1 选型和参数确定步进电机的选型和参数确定是设计的第一步。
需要根据实际需求确定电机的转矩、步距角、额定电流等参数。
同时,还要考虑电机的尺寸和重量等因素,以便与实际应用场景相匹配。
2.2 驱动电路设计步进电机的驱动电路设计是关键之一。
通常采用的是双H桥驱动电路,其作用是将控制信号转化为合适的电流输出,从而驱动步进电机旋转。
在设计过程中,需要考虑电流的控制方式、保护电路的设计以及电源的选择等因素。
2.3 控制算法设计步进电机的控制算法设计是保证电机正常运行的关键。
常用的控制算法包括开环控制、闭环控制以及微步控制等。
在设计过程中,需要根据实际需求选择合适的控制算法,并进行相应的编程实现。
3. 步进电机毕业设计的实验过程和结果在步进电机毕业设计的实验过程中,首先需要进行电机的装配和接线工作。
然后,根据设计要点进行驱动电路和控制算法的设计与搭建。
接下来,通过编写相应的程序代码,实现步进电机的控制和运动。
最后,通过实际测试和数据分析,验证设计的可行性和性能指标。
实验结果显示,设计的步进电机能够按照预定的控制信号进行准确的旋转运动。
其转矩和步距角等参数符合设计要求,并且具有较高的控制精度和运动平稳性。
同时,实验还验证了所设计的驱动电路和控制算法的可靠性和有效性。
一、实验目的1. 了解步进电机的工作原理和特点。
2. 掌握步进电机的驱动方式和控制方法。
3. 学会使用PLC编程控制步进电机。
4. 培养动手能力和实验技能。
二、实验原理步进电机是一种将电脉冲信号转换成角位移的电动机,具有精度高、响应快、控制简单等优点。
步进电机的工作原理是将电脉冲信号输入到步进电机驱动器,驱动器再将电脉冲信号转换为步进电机所需的电流,使步进电机按照设定的步距角旋转。
三、实验仪器与设备1. PLC编程器2. 步进电机驱动器3. 步进电机4. 电源5. 连接导线6. 电脑四、实验步骤1. 步进电机驱动器与PLC的连接:将步进电机驱动器的输入端连接到PLC的输出端口,将电源连接到步进电机驱动器。
2. 步进电机与驱动器的连接:将步进电机连接到驱动器的输出端。
3. PLC编程:在PLC编程器中编写步进电机控制程序。
(1)设置步进电机控制参数:包括步进电机的步距角、脉冲频率等。
(2)编写步进电机控制程序:编写程序控制步进电机的启动、停止、正转、反转等功能。
4. 程序下载与运行:将编写好的程序下载到PLC中,运行程序控制步进电机。
五、实验结果与分析1. 步进电机启动:按下启动按钮,步进电机开始旋转。
2. 步进电机正转:按下正转按钮,步进电机按照设定的步距角正转。
3. 步进电机反转:按下反转按钮,步进电机按照设定的步距角反转。
4. 步进电机停止:按下停止按钮,步进电机停止旋转。
六、实验总结通过本次实验,我们了解了步进电机的工作原理和特点,掌握了步进电机的驱动方式和控制方法。
同时,学会了使用PLC编程控制步进电机,提高了我们的动手能力和实验技能。
以下为实验过程中的关键代码段:1. 步进电机控制参数设置:```步距角= 1.8°脉冲频率 = 1000Hz```2. 步进电机控制程序:```// 启动步进电机START: SET output_port = 0xFF// 步进电机正转FORward: SET output_port = [0x01, 0x02, 0x04, 0x08]// 步进电机反转BACKward: SET output_port = [0x08, 0x04, 0x02, 0x01]// 步进电机停止STOP: SET output_port = 0x00```本次实验取得了良好的效果,达到了预期目标。
河南农业大学单片机课程设计报告题目名称:步进电机控制系统专业:电子信息工程班级:10 电信一班学号:1004101021学生姓名:汤炜炜指导老师:王玲2013年 6 月27 日目录1.前言 (1)2. 整体设计 (2)2.1步进电机28BYJ-48 (2)2.1.1 28BYJ-48工作原理 (2)2.1.2 28BYJ-48参数 (2)2.2单片机 (3)2.2.1.概述 (3)2.2.2.单片机的选择 (4)2.2.3.单片机的基本结构 (4)3. 电路仿真设计 (6)3.1 仿真软件Proteus的使用 (6)3.2单片机最小系统 (8)3.3液晶显示模块 (9)3.4步进电机及其驱动模块 (12)3.5键盘设计 (13)4. 软件设计 (14)4.1 Keil C51编程软件的使用及调试方法 (14)4.2软件设计要求 (15)4.3系统软件设计流程 (15)4.3.1软件总体设计框图 (15)4.4主程序 (16)4.4.1头文件 (16)4.4.2主程序 (16)4.4.3液晶模块 (16)4.4.4矩阵键盘模块 (18)4.4.5电机模块 (21)5. 调试与功能说明 (23)5.1硬件调试 (23)6. 结束语 (22)7.参考文献 (22)1.前言步进电机是一种将电脉冲转化为角位移的执行机构。
通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。
您可以通过控制脉冲个来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快,其中步进电机也广泛应用于数字控制系统,例如数控机床、绘图机、计算机外围设备、自动记录仪表、钟表和数—模转换装置等。
步进电机的实验报告步进电机的实验报告引言:步进电机是一种常见的电机类型,它以步进的方式进行转动,具有精准定位和高效能的特点,被广泛应用于各个领域。
本实验旨在通过对步进电机的研究和实验,了解其工作原理、性能特点以及应用场景。
一、步进电机的工作原理步进电机是一种将电脉冲信号转化为机械转动的电机。
它由定子和转子两部分组成,其中定子由若干个电磁线圈组成,每个线圈分别与电机驱动器的输出端相连。
当电机驱动器输出电流时,线圈中产生磁场,使得转子受到磁力作用而转动。
通过不断输入电流脉冲,可以实现步进电机的精准定位。
二、步进电机的性能特点1. 精准定位:步进电机能够按照电脉冲信号的频率和方向精确旋转,可实现高精度的定位控制。
2. 高效能:步进电机具有高效能的特点,能够在不产生磁滞损耗的情况下实现转动,因此能够提供较高的功率输出。
3. 可逆性:步进电机可根据输入的电脉冲信号实现正转和反转,具有较强的可逆性。
4. 低速高扭矩:步进电机在低速运转时,具有较高的扭矩输出,适合用于需要较大扭矩的应用场景。
三、步进电机的应用场景1. 机械加工:步进电机在数控机床、激光切割机等机械加工设备中广泛应用,能够实现高精度的定位和控制。
2. 打印设备:步进电机被广泛应用于打印设备中,如打印机、绘图仪等,能够精确控制打印头的位置和移动速度。
3. 机器人技术:步进电机在机器人领域中起到重要作用,能够实现机器人的运动和定位控制,广泛应用于工业自动化、医疗器械等领域。
4. 汽车电子:步进电机在汽车电子领域中有广泛应用,如车载导航系统、车载仪表盘等,能够实现精确的指针位置控制和显示。
结论:通过本次实验,我们对步进电机的工作原理、性能特点和应用场景有了更深入的了解。
步进电机作为一种精准定位和高效能的电机类型,在各个领域都有广泛的应用前景。
随着科技的不断发展,步进电机的性能将得到进一步提升,应用领域也将不断扩大。
步进电机实验报告第一篇:步进电机实验报告步进电机调速实验报告班级: xx 姓名: xx 学号: xxx 指导老师: xx步进电机调速实验报告一、实验目的及要求:1、熟悉步进电机的工作原理2、熟悉51系列单片机的工作原理及调试方法3、设计基于51系列单片机控制的步进电机调速原理图(要求实现电机的速度反馈测量,测量方式:数字测量)4、实现51系列单片机对步进电机的速度控制(步进电机由实验中心提供,具体型号 42BYG)由按钮控制步进电机的启动与停止;实现加速、匀速、和减速控制。
速度设定由键盘设定,步进电机的反馈速度由LED数码管显示。
二、实验原理:1.一般电动机都是连续旋转,而步进电动却是一步一步转动的,故叫步进电动机。
步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。
步进电动机的转子为多极分布,定子上嵌有多相星形连接的控制绕组,由专门电源输入电脉冲信号,每输入一个脉冲信号,步进电动机的转子就前进一步。
由于输入的是脉冲信号,输出的角位移是断续的,所以又称为脉冲电动机。
随着数字控制系统的发展,步进电动机的应用将逐渐扩大。
进电动机需配置一个专用的电源供电,电源的作用是让电动机的控制绕组按照特定的顺序通电,即受输入的电脉冲控制而动作,这个专用电源称为驱动电源。
步进电动机及其驱动电源是一个互相联系的整体,步进电动机的运行性能是由电动机和驱动电源两者配合所形成的综合效果。
2.对驱动电源的基本要求(1)驱动电源的相数、通电方式和电压、电流都要满足步进电动机的需要;(2)要满足步进电动机的起动频率和运行频率的要求;(3)能最大限度地抑制步进电动机的振荡;(4)工作可靠,抗干扰能力强;(5)成本低、效率高、安装和维护方便。
3.驱动电源的组成步进电动机的驱动电源基本上由脉冲发生器、脉冲分配器和脉冲放大器(也称功率放大器)三部分组成,三、实验源程序:/*************** writer:shopping.w ******************/ #include #define uint unsigned int #define uchar unsigned char uchar code FFW[]= { 0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09 };uchar code REV[]= { 0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01 };sbit K1 = P3^0;sbit K2 = P3^1;sbit K3 = P3^2;void DelayMS(uint ms){ uchar i;} void SETP_MOTOR_FFW(uchar n){ uchar i,j;while(ms--){ for(i=0;i<120;i++);} for(i=0;i<5*n;i++){for(j=0;j<8;j++){if(K3 == 0)break;P1 = FFW[j];DelayMS(25);} } } void SETP_MOTOR_REV(uchar n){ uchar i,j;for(i=0;i<5*n;i++){for(j=0;j<8;j++){if(K3 == 0)break;P1 = REV[j];DelayMS(25);} } } void main(){uchar N = 3;while(1){if(K1 == 0){P0 = 0xfe;SETP_MOTOR_FFW(N);if(K3 == 0)break;}} } else if(K2 == 0){ P0 = 0xfd;} else { P0 = 0xfb;} P1 = 0x03;SETP_MOTOR_REV(N);if(K3 ==0)break;4四、实验心得:本次实验让我了解了步进电动机的工作原理,掌握了怎样用单片机编程来控制步进电机的正反转及调速。
(步进电机的驱动系统的设计)课程设计说明书系(部):班级:学生姓名:学号:指导教师:时间:2011年12月26日到2011年12月30日课程设计任务书题目步进电机驱动系统的设计系(部)专业班级学生姓名学号12 月26 日至12 月30 日共1 周指导教师(签字)系主任(签字)2011年12 月30日目录摘要 (7)一、系统方案 (8)1、元件介绍 (8)二、实验原理 (9)1、步进电机原理 (9)2.三相六拍环形脉搏冲分配器 (10)三、源程序 (18)四、结果分析与总结 (20)五、主要参考资料 (21)摘要本次课程设计主要基于试验台的步进电机控制的设计。
主要使用AT89C51芯片以及ULN2003驱动芯片等来驱动步进电机,主要通过脉冲的输入顺序来控制步进电机的正反转,通过延时来控制步进电机的转速,软件部分采用了汇编语言编写程序代码,通过判断,跳转,循环,延时等基本技术实现。
关键词:Keil Proteus 步进电机 AT89C51 ULN2003一、系统方案1、元件介绍本实验用到了AT89C51.ULN2003、步进电机等主要芯片。
实验的主要过程是通过按键的扫描和串口程序的输入,根据输入值得不同来设置不同的数值。
然后通过8255输出不同的电压来控制不进电机的转速通过8253设置延时中断,以每一步中间的延时来控制转动速度。
LED模块的功能是显示步进电机的速度。
此次试验主要分为软件设计和硬件设计两方面来实施,在掌握步进电机的原理之上来了解硬件电路,再通过汇编语言的编程和串口的功能扩展实现外部串口的软件通信。
2、流程图如图1所示、图1、试验流程图二、实验原理1、步进电机原理电机是工业过程控制及仪表中常用的控制元件之一,例如在机械装置中可以用丝杠把角度变为直线位移,也可以用步进电机带螺旋电位器,调节电压或电流,从而实现对执行机构的控制。
步进电机可以直接接收数字信号,不必进行数模转换,用起来非常方便。
湖南工程学院课程设计课程名称微机原理与应用课题名称步进电机控制系统设计专业 ***班级 ***学号 ****姓名 ***指导教师 ***2011年 6 月 27日湖南工程学院课程设计任务书课程名称微机原理与应用课题步进电机控制系统设计专业班级 ***学生姓名 *** 学号 ***指导老师 *** 审批任务书下达日期 2011年 6月 27日任务完成日期2011年7 月 8日目录第1章概述................................ 错误!未定义书签。
1.1单片机概述............................. 错误!未定义书签。
1.2步进电机概述........................... 错误!未定义书签。
第2章系统总体方案设计 .................... 错误!未定义书签。
2.1系统总体设计思路....................... 错误!未定义书签。
2.2系统总体设计方案方框图................. 错误!未定义书签。
第3章硬件介绍与说明 ...................... 错误!未定义书签。
3.1开发板按键硬件连接及实物说明........... 错误!未定义书签。
3.2开发板数码管硬件连接及实物说明..... 错误!未定义书签。
3.3开发板步进电机硬件连接及实物图......... 错误!未定义书签。
第4章软件设计流程........................ 错误!未定义书签。
4.1系统整体流程概述....................... 错误!未定义书签。
4.2系统整体流程图......................... 错误!未定义书签。
第5章调试结果与说明 ...................... 错误!未定义书签。
5.1系统调试............................... 错误!未定义书签。
基于单片机原理的步进电机的正反转程设计报告步进电机是一种电动机,能够精确地控制旋转角度和位置,广泛应用于工业和自动化控制系统中。
本篇报告将介绍基于单片机原理的步进电机的正反转程设计。
步进电机是一种特殊的电动机,每次输入一个脉冲信号,电机就会转动一个固定的角度,称为步距角。
步进电机的控制原理是通过改变相序对电机进行控制,根据不同的相序,电机可以实现正转或反转。
步进电机的正反转程设计涉及到两个方面,一是电机的控制电路,二是单片机的编程控制。
首先,电机的控制电路是步进电机正反转程设计的关键。
常见的控制电路有两种:全桥驱动电路和双H桥驱动电路。
全桥驱动电路由四个开关管组成,通过对不同开关管的开关控制,可以激活不同的相序,实现电机的正反转。
双H桥驱动电路由两个H桥组成,通过对H桥的开关控制,可以激活不同的相序,实现电机的正反转。
根据实际需求和控制方式选择适合的电机控制电路。
其次,单片机的编程控制是步进电机正反转程设计的关键。
单片机可以通过输出脉冲信号控制电机的正反转和转动速度。
编程时需要设置好脉冲信号的频率和方向,可以通过调节脉冲信号的频率来控制电机的转动速度,通过改变脉冲信号的方向来控制电机的正反转。
在步进电机的正反转程设计中,还可以考虑加入其他功能,如限位检测、位置控制等。
限位检测可以通过加入限位开关来实现,当电机转动到限位位置时,限位开关会触发信号,单片机可以根据信号做出相应的处理。
位置控制可以通过加入编码器等位置传感器来实现,单片机可以根据传感器反馈的信号准确控制电机的位置。
最后,步进电机的正反转程设计需要进行实际的调试和测试。
在实际调试和测试中,需要根据预设的参数和要求,进行电机的正反转程测试和性能评估。
根据实际测试结果,可以对设计进行优化和改进,以达到更好的性能和可靠性。
总之,基于单片机原理的步进电机的正反转程设计是一个复杂而关键的任务,需要综合考虑电机控制电路和单片机编程控制两个方面。
在设计过程中,需要理解步进电机的工作原理和控制原理,结合实际需求和要求进行设计和调试,最终实现电机的可靠正反转程控制。
步进电动机的设计报告题目:步进电动机的设计与制作学院:大数据与信息工程学院专业:计算机科学与技术班级:电信113 学生姓名:王浩指导教师:马光喜老师2015年1月6日目录前言---------------------------------------------------------------2 1.设计目标及内容------------------------------------------------31.1 设计内容---------------------------------------------------41.2 设计目的---------------------------------------------------42.硬件原理及设计分析--------------------------------------------42.1 步进电机的工作原理-----------------------------------------52.2 液晶显示原理 ----------------------------------------------52.3 步进电机转速控制及显示设计(LCD显示转速)的硬件框图--------62.4 总的硬件电路图---------------------------------------------73.软件分析及设计------------------------------------------------83.1 软件需求分析-----------------------------------------------83.2 程序流程图-------------------------------------------------83.3 软件代码---------------------------------------------------94.操作说明及结果分析-------------------------------------------185.调试过程中遇到的问题和解决方法-------------------------------186.硬件实习总结-------------------------------------------------19 7.参考文献-----------------------------------------------------19前言在电子科技不断飞速发展的今天,数字控制技术得到了广泛而深入的应用。
步进电机是一种将数字信号直接转换成角位移或线位移的控制驱动元件, 具有快速起动和停止的特点。
因为步进电动机组成的控制系统结构简单,价格低廉,性能上能满足工业控制的基本要求,所以广泛地应用于手工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,投影仪、数码摄像机、大型望远镜、卫星天线定位系统、医疗器件以及各种可控机械工具等等。
步进电机突出的优点是它可以在宽广频率范围内通过改变脉冲频率来实现调速,在需要精确定位的地方都要用到它,比如打印机、绘图仪等。
而LCD显示屏在很多数码产品中有着广泛的应用,如计算器,IC卡电话机,电子手表,掌上电脑,仪表显示屏等。
同时,单片机也广泛应用于实时控制、智能仪器、仪表通信和家用电器等各个领域,所涉及的内容非常广泛,是计算机科学、电子学、自动控制等基础知识的综合应用。
单片机的应用系统有硬件和软件所组成。
本次硬件实习是基于51单片机对步进电机转速进行控制,加之液晶的显示,使其转速的档位和方向显示在液晶上。
1.设计目标及内容1.1 设计内容1.1.1利用实验平台上单片机P0口输出脉冲序列,74LS244输出开关量,开关K2—K7控制步进电机转速,(分6档),K0,K1控制转向。
驱动方式分两种,四相四拍、四相八拍,通过软件设计,控制步进电机的转速和方向。
并将转速(1~6档)和转向(正转“1”,反转“0”)显示在LCD显示器上1.2 设计目的1.2.1 了解步进电机控制的基本原理;1.2.2 掌握液晶显示图形的基本方法,从而对其它液晶屏的使用也能得心应手。
2.硬件原理及设计分析2.1 步进电机的工作原理该步进电机为一四相步进电机,采用单极性直流电源供电。
只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。
图1是该四相反应式步进电机工作原理示意图。
图1 四相步进电机步进示意图开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。
当开关SC 接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。
而0、3号齿和A、B 相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。
依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。
四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。
单四拍与双四拍的步距角相等,但单四拍的转动力矩小。
八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。
单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2.a、b、c 所示:a. 单四拍b. 双四拍 c八拍图2 通电时序波形本实验使用的步进电机用直流+12V电压,电机线圈由A、B、C、D四相组成。
驱动方式为四相四拍方式,各线圈通电顺序如下表。
表中首先向A线圈输入驱动电流,接着B、C、D线圈驱动,最后又返回到A线圈驱动,按这种顺序切换,电机轴按顺时针方向旋转。
若通电顺序相反,则电机轴按逆时针方向旋转。
(注:为提高步进电机负载能力和运行平稳,可使用四相八拍驱动方式。
)表二:驱动方式2.2 液晶显示原理本实验用的是1602液晶,1602液晶可以显示两行字符,其写入字符是根据表二:基本操作时序表读写操作时序如图所示图3:读操作时序图4:写操作时序2.3 步进电机转速控制及显示设计(LCD显示转速)的硬件框图如图5所示,整个硬件围绕51单片机,根据开关输入通过外接电路控制步进电机的转速和方向,并显示在液晶上。
8051单片机作为处理器,整个硬件功能围绕8051进行实现,首先,由开关通过扩展输入实现对整个硬件功能的控制。
当开关设置为某个状态时,由8051单片机输出相应的值,通过扩展输出对步进电机进行相应方向和转速的控制,并由1602进行相应的显示。
图5 硬件框图2.4 总的硬件电路图如硬件电路图图6所示。
其中,74LS373为地址锁存器,74LS244为带3态输出的八缓冲器,74LS273为带清除的八触发器;74LS138为三八译码器。
开关由扩展输入对单片机进行输入相关变量,从而通过单片机对步进电机的转速和方向进行控制。
再有液晶进行相应的显示。
3.软件分析及设计3.1软件需求分析本实习要求用开关控制步进电机的转速和方向,并将相应的数据显示在液晶上;通过分析,我们只需将开关的输入量转换成相应的步进电机转速即可,然而,通过前面讲过的步进电机的相关驱动方式我们可以知道,转速可以通过设置延时子程序的时间长短来实现,而步进电机的方向则通过不同的时序来控制,从而加上很容易的实现步进电机的转速控制,在根据液晶的时序规则来显示相应的数据,很简单的实现了整个实习要求。
3.2程序流程图如图(图7:程序流程图)所示,在程序开始后先进行各个参数的初始化,然后对开关量进行读取,根据读取的数值进行对步进电机的转速量和方向量进行设置,并同时在LCD上显示出相应的数据,定时,置输出地址,然后输出相应的参数,从而实现对步进电机和液晶的相应控制。
图7:如下图(图8:LCD框图所示)为LCD液晶的显示子程序框图,程序先进行LCD 初始化,然后进行清屏,在需要写入时,对LCD进行写操作,最后就可以显示出来你想要的字符。
3.3软件代码#include "reg52.h"#include <intrins.h>//#define uchar unsigned char//#define uint unisgned int//#define BYTE unsigned char//#define num unsigned intsbit k1 = P2^0;sbit k2 = P2^1;sbit k3 = P2^2;sbit k4 = P2^3;sbit k5 = P2^4;sbit k6 = P2^5;sbit k7 = P2^6;sbit k8 = P2^7;void delay1(unsigned int t) //电机驱动延时程序{unsigned int k;while(t--){for(k=0; k<100; k++)}}void motor_ffw(unsigned char i) //电机顺时针转动程序{P1=0x01;delay1(i);P1=0x02;delay1(i);P1=0x04;delay1(i);P1=0x08;delay1(i);}void motor_ffz(unsigned char i) //电机逆时针转动程序{P1=0x01;delay1(i);P1=0x02;delay1(i);P1=0x04;delay1(i);P1=0x08delay1(i);}sbit RS = P0^5; //定义P2^5为液晶控制端口RSsbit RW = P0^6;sbit E = P0^7;uchar code table[]=" Gui zhou da xue " //字符定义uchar code table1[]="wangxiaogang "uchar code table2[]="1120020075 "uchar code table3[]=" SPEED:123456";uchar code table4[]=" startstepmotor ";uchar code table5[]=" SPEED: ";uchar code table6[]="123456";typedef unsigned char BYTE; //定义字符变量BYTEtypedef unsigned int WORD; //定义整形变量WORDtypedef bit BOOL; //字符变量BOOL//LCD驱动程序void lcddelay(BYTE ms) // 延时子程序{BYTE i;while(ms--){for(i = 0; i< 250; i++) //循环250次{_nop_();_nop_();_nop_(); //空操作延时1us_nop_();}}}// 测试LCD忙碌状态-忙检测函数BOOL lcd_bz(){BOOL result; //定义字符变量result,用于存放测试的LCD忙碌状态值RS = 0; // 寄存器的选择控制口,选择指令寄存器RW = 1; // 读写操作控制端口,RW = 1表示读操作E = 1; //_nop_(); // 延时4us_nop_();_nop_();result = (BOOL)(P0 & 0x80);E = 0;return result;}//写入指令数据到LCDvoid lcd_wcmd(BYTE cmd){while(lcd_bz());RS = 0;RW = 0;E = 0;_nop_();_nop_();P0 = cmd;_nop_();_nop_();_nop_();_nop_();E = 1;_nop_();_nop_();_nop_();_nop_();E = 0;}//写入字符显示数据到LCDvoid lcd_wdat(BYTE dat){while(lcd_bz());RS = 1;RW = 0;E = 0;P0 = dat;_nop_();_nop_();_nop_();E = 1;_nop_();_nop_();_nop_();_nop_();E = 0;}}//LCD初始化设定void lcd_init(){lcd_wcmd(0x38); //设置LCD为8位数据,两行显示,5*7点阵lcddelay(1);lcd_wcmd(0x0E); //显示开关控制指令设定,LCD开显示和光标,不闪烁lcddelay(1);lcd_wcmd(0x06); //设光标和画面的移动方式I/D=1,S=0 设置读写操作之后AC自动加一,显示不移动lcddelay(1);lcd_wcmd(0x01); //清除LCD的显示内容lcddelay(1);}void out0init()//外部中断0的初始化EX0 = 1;IT0 = 1;EA = 1;void lcd_xianshi() //lcd液晶显示程序lcd_wcmd(0x00);for(num=0;num<15;num++){lcd_wdat(table[num]);delay(1);}lcd_wcmd(0x80+0x40);for(num=0;num<12;num++){lcd_wdat(table1[num]);delay(1);}lcd_wcmd(0x80+0x40);for(num=0;num<10;num++){lcd_wdat(table2[num]);}lcd_wcmd(0x80+0x40);for(num=0;num<11;num++){lcd_wdat(table3[num]);delay(1);}lcd_wcmd(0x80+0x40);for(num=0;num<14;num++){lcd_wdat(table4[num]);delay(1);}lcd_wcmd(0x80+0x40);for(num=0;num<6;num++){lcd_wdat(table5[num]);delay(1);}void delay1ms(void) //判断按键是否按下延时时间误差0us {unsigned char a,b,c;for(c=1;c>0;c--)for(b=142;b>0;b--)for(a=2;a>0;a--);}void 0ut0inter(void) interrupt 0 using 1 delay1ms(10)if(k1 = = 0){delay1ms(2)if(k1 = =0){lcd_wcmd(0x80+0x40+0x07);delay(1);lcd_wdat(table6[0]);delay(1);}else if(k2 = =0){delay1ms(2)if(k2 = =0){lcd_wcmd(0x80+0x40+0x07);delay(1);i=100;lcd_wdat(table6[1]);}else if(k3 = =0)delay1ms(2)if(k3 = =0){lcd_wcmd(0x80+0x40+0x07);delay(1);i=80;lcd_wdat(table6[2]);}else if(k4 = =0)delay1ms(2)if(k4 = =0){lcd_wcmd(0x80+0x40+0x07);delay(1);i=60;lcd_wdat(table6[3]);}else if(k5 = =0)delay1ms(2)if(k5 = =0){lcd_wcmd(0x80+0x40+0x07);delay(1);i=40;lcd_wdat(table6[4]);}else if(k6 = =0)delay1ms(2)if(k6 = =0){lcd_wcmd(0x80+0x40+0x07);delay(1);i=30;lcd_wdat(table6[5]);}motor_ffw(i);else if(k7 = =0)delay1ms(2)if(k7 = =0){lcd_wcmd(0x80+0x40+0x07);delay(1);lcd_wdat(table6[0]);delay(1);if(k2 = = 0)delay1ms(2){lcd_wcmd(0x80+0x40+0x07);delay(1);i=100;lcd_wdat(table6[1]);}else if(k3==0)delay1ms(2)if(k3 = =0){lcd_wcmd(0x80+0x40+0x07);delay(1);i=80;lcd_wdat(table6[2]);}else if(k4 = =0)delay1ms(2)if(k4 = =0){lcd_wcmd(0x80+0x40+0x07);delay(1);i=60;lcd_wdat(table6[3]);}else if(k5 = =0)delay1ms(2)if(k5 = =0){lcd_wcmd(0x80+0x40+0x07);delay(1);i=40;lcd_wdat(table6[4]);}else if(k6 = =0)delay1ms(2){lcd_wcmd(0x80+0x40+0x07);delay(1);i=30;lcd_wdat(table6[5]);}lcd_wdat(table6[5]);motor_ffz(i);}void main (void){lcd_xianshi();lcd_init();out0init();while(1){motor_ffw(i);delay1ms(80)motor_ffz(i);delay1ms(80)}}4.操作说明及结果分析P1八位分别接开关开关的八个口,F208接38译码器,PO前四口分别接步进电机四口,F200接液晶把程序烧写进去后运行,液晶第一行显示FX:当K0拨上时液晶显示FX:1,步进电机顺时钟转,当K1拨上时液晶显示FX:0,步进电机逆时针转,开关K2—K7控制步进电机转速,(分6档),并正常显示在液晶上,K2上拨时,第二行显示SPEED:1;K3上拨时显示SPEED:2;K4上拨时显示SPEED:3; K5上拨时显示SPEED:4;K5上拨时显示SPEED:4;K6上拨时显示SPEED:7;K7上拨时显示SPEED:8;整个程序运行符合实习要求。