单片机课程设计-单片机控制步进电机

合集下载

单片机控制步进电机程序设计

单片机控制步进电机程序设计

单片机控制步进电机程序设计1.引言步进电机是一种常用的电机类型,其特点是精度高、稳定性好、速度可调。

在很多自动控制系统中,步进电机被广泛应用于位置控制、定位、打印机等领域。

本文将介绍如何使用单片机来控制步进电机,并给出一个简单的步进电机程序设计示例。

2.步进电机简介步进电机是一种将电脉冲信号转换为角位移或线位移的电机。

其优点包括:-分辨率高:每个步进电机的旋转角度可以非常小,可实现较高的位置精度。

-可控制性强:通过控制电压脉冲的频率和顺序,可以精确控制步进电机的转动方向和步数。

-响应快速:步进电机的响应速度较快,可达数千转每分钟。

3.单片机选型与连接在实现步进电机的控制过程中,我们选择了一款适用于步进电机控制的单片机。

这款单片机具有以下特点:-高效的运算能力和大容量存储空间,适用于复杂的控制算法。

-可编程性强,支持多种开发环境,开发过程相对简便。

-丰富的外设接口,方便与步进电机的连接和控制。

连接单片机与步进电机的基本电路如下所示:步进电机驱动引脚1--单片机引脚A步进电机驱动引脚2--单片机引脚B步进电机驱动引脚3--单片机引脚C步进电机驱动引脚4--单片机引脚D4.步进电机控制原理步进电机控制原理基于对步进电机驱动引脚输入电压脉冲信号的控制。

针对不同的步进电机类型,控制方式可以有所不同,常见的控制方式包括全步进控制和半步进控制。

4.1全步进控制全步进控制方式是将电流依次施加到步进电机的每个驱动相,使其按照一定顺序正转或反转。

控制步骤如下:1.给引脚A和引脚B施加电压,使电机顺时针转动一个步距。

2.给引脚B和引脚C施加电压,使电机顺时针转动一个步距。

3.给引脚C和引脚D施加电压,使电机顺时针转动一个步距。

4.给引脚D和引脚A施加电压,使电机顺时针转动一个步距。

4.2半步进控制半步进控制方式是在全步进控制的基础上,通过控制相邻两个相的电流互补关系,实现更细微的步距调整。

控制步骤如下:1.给引脚A施加电压,使电机顺时针转动半个步距。

单片机课程设计-单片机控制步进电机

单片机课程设计-单片机控制步进电机

单片机课程设计-单片机控制步进电机单片机课程设计单片机控制步进电机一、引言在现代自动化控制领域,步进电机以其精确的定位和可控的转动角度,成为了众多应用场景中的关键组件。

而单片机作为一种灵活、高效的控制核心,能够实现对步进电机的精确控制,为各种系统提供了可靠的动力支持。

本次课程设计旨在深入研究如何利用单片机来有效地控制步进电机,实现特定的运动需求。

二、步进电机的工作原理步进电机是一种将电脉冲信号转换为角位移或线位移的开环控制电机。

它由定子和转子组成,定子上有若干个磁极,磁极上绕有绕组。

当给绕组依次通电时,定子会产生磁场,吸引转子转动一定的角度。

通过控制通电的顺序和脉冲数量,可以精确地控制电机的转动角度和速度。

三、单片机控制步进电机的硬件设计(一)单片机的选择在本次设计中,我们选用了常见的_____单片机。

它具有丰富的引脚资源、较高的运算速度和稳定的性能,能够满足控制步进电机的需求。

(二)驱动电路为了驱动步进电机,需要使用专门的驱动芯片或驱动电路。

常见的驱动方式有全桥驱动和双全桥驱动。

我们采用了_____驱动芯片,通过单片机的引脚输出控制信号来控制驱动芯片的工作状态,从而实现对步进电机的驱动。

(三)接口电路将单片机的引脚与驱动电路进行连接,需要设计合理的接口电路。

接口电路要考虑信号的电平匹配、抗干扰等因素,以确保控制信号的稳定传输。

四、单片机控制步进电机的软件设计(一)控制算法在软件设计中,关键是确定控制步进电机的算法。

常见的控制算法有脉冲分配法和步距角细分法。

脉冲分配法是根据电机的相数和通电顺序,按照一定的时间间隔依次输出控制脉冲。

步距角细分法则是通过在相邻的两个通电状态之间插入中间状态,来减小步距角,提高电机的转动精度。

(二)程序流程首先,需要对单片机进行初始化设置,包括引脚配置、定时器设置等。

然后,根据用户的输入或预设的运动模式,计算出需要输出的脉冲数量和频率。

通过定时器中断来产生控制脉冲,并按照预定的顺序输出到驱动电路。

单片机课程设计步进电机

单片机课程设计步进电机

单片机课程设计 步进电机一、课程目标知识目标:1. 让学生掌握步进电机的原理、结构及其在单片机控制系统中的应用。

2. 让学生了解步进电机的控制算法,如细分驱动、变速控制等。

3. 使学生能够运用所学知识,设计简单的单片机控制步进电机系统。

技能目标:1. 培养学生使用编程软件(如Keil、Arduino等)编写单片机程序,实现对步进电机的控制。

2. 培养学生运用电路原理图设计、搭建单片机控制步进电机的硬件系统。

3. 培养学生动手操作、调试单片机控制步进电机系统的能力。

情感态度价值观目标:1. 激发学生对单片机控制技术及步进电机应用的兴趣,培养其创新意识和探索精神。

2. 培养学生团队协作意识,提高沟通与协作能力。

3. 培养学生严谨的科学态度和良好的工程素养,使其具备一定的项目实践能力。

课程性质分析:本课程为单片机课程设计,以实践操作为主,结合理论教学。

课程内容具有较强的实践性和应用性,旨在培养学生运用单片机技术解决实际问题的能力。

学生特点分析:学生已具备一定的单片机基础知识,具有一定的编程和电路设计能力。

但大部分学生对步进电机及其控制技术了解较少,需要通过本课程的学习,提高实际应用能力。

教学要求:1. 结合学生特点,注重理论与实践相结合,强化实践操作环节。

2. 采用项目驱动法,引导学生主动参与课程学习,培养其自主学习能力。

3. 注重课程评价,通过过程性评价和总结性评价相结合,全面评估学生的学习成果。

二、教学内容1. 步进电机原理与结构- 介绍步进电机的种类、原理及结构- 分析步进电机的技术参数,如步距角、静力矩等2. 步进电机控制技术- 讲解步进电机的控制方式,如单脉冲控制、细分控制等- 探讨步进电机的变速控制原理及实现方法3. 单片机与步进电机接口技术- 介绍单片机与步进电机接口电路设计- 分析常用的步进电机驱动芯片及其应用4. 步进电机控制程序设计- 指导学生使用编程软件(如Keil、Arduino等)编写步进电机控制程序- 讲解程序设计中的关键算法,如PID控制、速度规划等5. 单片机控制步进电机系统实践- 布置实际项目任务,让学生动手搭建单片机控制步进电机系统- 指导学生进行系统调试,分析并解决实际问题6. 课程总结与评价- 对所学内容进行总结,巩固知识点- 进行课程评价,检验学生学习成果教学内容安排与进度:第1-2周:步进电机原理与结构、步进电机控制技术第3-4周:单片机与步进电机接口技术、步进电机控制程序设计第5-6周:单片机控制步进电机系统实践、课程总结与评价教材章节关联:本教学内容与教材中“步进电机控制技术”章节相关,涉及的内容包括步进电机原理、接口技术、控制程序设计等,为教材内容的拓展与实践。

单片机控制步进电机课程设计

单片机控制步进电机课程设计

第一章系统分析概述步进电机是用电脉冲信号控制,以实现对生产过程或设备的数字控制,它是过程控制中一种十分重要和常用的功率执行器件,它可以把脉冲信号转换成角位移,并且可用作电磁制动轮、电磁差分器或角位移发生器等,近年来由于计算机应用技术的迅速发展,步进电机常常和计算机一起组成高精度的数字控制系统。

由于它是由数字脉冲控制,因此非常适合于用单片机控制,本设计便是在此基础上,以MCS51型单片机为核心,并结合外围电路以步进电机为控制对象的控制系统。

1.1 功能简介本设计系统有单片机最小系统、8个按键输入控制、四个数码管显示和步进电机驱动电路一共四大部分组成,通过按键输入数值来控制步进电机转速,并且在数码管上显示数值(1)8个按键包括:数字键1~5;3个功能键:设置SET、清零CLR、开始START;(2)显示器上第一位显示次数,后三位显示每次行走的角度;(3)通过键盘的按键,设置步进电机各次的角度值;第一位设置次数,后三位设置角度值。

(4)按START键启动步进电机开始转动,按SET键停止;按CLR键清零。

1.2 方案选择1.2.1 步进电机驱动电路方案本设计的重点在于对步进电机的控制和驱动,设计中受控电机为四相六线制的步进电机(内阻33欧,步进1.8度,额定电压12V)方案一:使用多个功率放大器件驱动电机通过使用不同的放大电路和不同参数的器件,可以达到不同的放大的要求,放大后能够得到较大的功率,如图1-1,使用三极管组成的步进电机驱动电路。

但是由于使用的是四相的步进电机,就需要对四路信号分别进行放大,由于放大电路很难做到完全一致,当电机的功率较大时运行起来会不稳定,而且电路的制作也比较复杂。

注:A、B、C、D分别为步进电机四相输入图1-1 三极管组成的步进电机驱动电路方案二:使用ULN2003芯片驱动电机ULN2003芯片可以驱动两个二相电机,也可以驱动一个四相电机,如图1-2。

ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。

单片机课程设计--单片机控制步进电机

单片机课程设计--单片机控制步进电机

单片机课程设计题目:单片机控制步进电机班级:电信设计任务书摘要:本次课业设计是利用单片机技术知识设计一个步进电机控制系统,本次课业设计用到的关键元器件有STC89C52单片机,ULN2003驱动芯片,五线四相步进电机,由52单片机驱动ULN2003,进而驱动步进电机进行正转反转。

关键词:步进电机;52单片机;ULN2003。

目录一、引言 ............................... 错误!未定义书签。

二、总体方案 (6)三、硬件设计 (7)四、软件设计 (10)五、调试 (13)六、总结 (13)七、参考文献 (13)元件清单 (14)一、引言步进电机是一种进行精确步进运动的机电执行元件,它广泛应用于工业机械的数字控制,为使系统的可靠性、通用性、可维护性以及性价比最优,根据控制系统功能要求及步进电机应用环境,确定了设计系统硬件和软件的功能划分,从而实现了基于8051单片机的四相步进电机的开环控制系统。

控制系统通过单片机存储器、I/O接口、中断、键盘、LED显示器的扩展、步进电机的环形分频器、驱动及保护电路、人机接口电路、中断系统及复位电路、单电压驱动电路等的设计,实现了四相步进电机的正反转,急停等功能。

为实现单片机控制步进电机系统在数控机床上的应用,系统设计了两个外部中断,以实现步进电机在某段时间内的反复正反转功能,也即数控机床的刀架自动进给运动,随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,自六十年代初期以来,步进电机的应用得到很大的提高。

人们用它来驱动时钟和其他采用指针的仪器,打印机、绘图仪,磁盘光盘驱动器、各种自动控制阀、各种工具,还有机器人等机械装置。

此外作为执行元件,步进电机是机电一体化的关键产品之一,被广泛应用在各种自动化控制系统中,随着微电子和计算机技术的发展,它的需要量与日俱增,在各个国民经济领域都有应用。

步进电机是机电数字控制系统中常用的执行元件,由于其精度高、体积小、控制方便灵活,因此在智能仪表和位置控制中得到了广泛的应用大规模集成电路的发展以及单片机技术的迅速普及,为设计功能强,价格低的步进电机控制驱动器提供了先进的技术和充足的资源。

单片机课程设计步进电机

单片机课程设计步进电机

单片机课程设计-步进电机江南大学物联网工程学院课程设计报告课程名称:单片机原理及应用设计题目:基于单片机的步进电机控制器设计班级:姓名:学号:指导教师:评分:年月日基于单片机的步进电机控制器设计摘要:本设计是用80C52单片机作为核心部件进行逻辑控制及信号产生,用单片机技术和C 语言编程设计来进行步进电机的控制。

通过人手动按开关实现步进电机的启动与停止、步进电机的正转反转,加速及减速等功能,此外还有LCD 数码管进行实时显示功能。

同时本文也通过了proteus软件的仿真,在仿真结果中能看出近似真实的效果。

经过proteus仿真,结果表明,系统实现了要求。

该系统电路简单,可靠性强,运行稳定。

关键词:步进电机单片机LCD proteus 仿真1课题主要研究内容和要求本设计采用单片机80C52来作为整个步进电机控制系统的运动控制核心部件。

所选的步进电机是四相五线的,由于步进电机需要高功率驱动,单片机不能与步进电机直接相连,因此我们需要采用了电机驱动芯片ULN2003连接步进电机和单片机。

为了显示步进电机转速,我用数码管来显示速率。

再加上一些独立按键来实现步进电机调速、改变转向的功能。

这样就构成了一个基本的步进电机控制系统。

系统的具体功能和要求如下:1、电机转速可以平稳控制;2、通过键盘和显示器可以设置电机的转速;3、能显示电机的运动趋势;2所需仪器设备所需器件备注所需器件备注STC89C52一片12M晶振一个单片机ULN2003驱一片按键五个动芯片八位共阳数一片异步电机一个码管芯片不同阻值电若干+5V电源一个阻30pF电容两个3系统总体设计本设计的硬件电路包括独立按键控制模块、步进电机驱动模块、数码管显示模块和单片机最小系统四部分。

单片机最小系统由时钟电路和复位电路组成,保证单片机正常运行;独立按键控制模块由开关和按键组成,当按下按键时,该系统就按照该按键控制的功能运作;显示模块主要是为了显示电机的工作状态和转速;驱动电路主要是对单片机输出的脉冲进行功率放大,从而驱动电机转动。

单片机课程设计报告——单片机控制步进电机

单片机课程设计报告——单片机控制步进电机

单片机课程设计报告——单片机控制步进电机-CAL-FENGHAI.-(YICAI)-Company One1江西农大单片机原理及应用课程设计报告设计课题:单片机控制步进电机专业班级:信工091班学生姓名:崔**指导教师:***2012 年 5 月目录目录 (1)1 设计任务书 (2)1.1 基本设计要求 (2)1.2 选作项目 (2)2 设计阐明 (3)2.1设计内容 (3)2.2设计要求 (3)2.3设备及工作环境 (4)3 系统方案整体设计 (4)3.1 设计思路 (4)4 硬件设计 (7)4.1 系统硬件设计 (7)4.1.1 最小单片机系统 (7)4.1.2 键盘设计 (8)4.2 系统工作原理论述 (8)5 软件设计 (11)5.1 分析论证 (11)5.1.1 步进电机运行驱动模块 (11)5.1.2 温度采集模块 (12)5.1.3 主函数模块 (12)5.1.4 整体功效 (12)5.2 程序流程图 (12)5.3程序清单 (13)6 调试过程及分析 (21)7 设计总结 (23)参考文献 (24)1 设计任务书1.1 基本设计要求(1)用万能板、主芯片AT89S52、35BYJ412步进电机、BLN2003以及其他周围原件芯片完成实验设计。

(2)程序的首地址应使目标机可以直接运行,即从0000H开端。

在主程序的开端部分必须设置一个合适的栈底。

程序放置的地址须持续且靠前,不要在中间留下大批的空间地址,以使目标机可以应用较少的硬件资源。

(3)采用单片机控制一个三相单三拍的步进电机工作。

步进电机的旋转方向由正反转控制信号控制。

步进电机的步数由键盘输入,可输入的步数分别为3、6、9、12、15、18、21、24和27步,且键盘具有键盘锁功能,当键盘上锁时,步进电机不接受输入步数,也不会运转。

只有当键盘锁打开并输入步数时,步进电机才开始工作。

(4)电机运转的时候有正转和反转指示灯指示。

(5)电机在运转过程中,如果过热,则电机停止运转,同时红色指示灯亮,同时警报响。

单片机课程设计-正反转可控的步进电机

单片机课程设计-正反转可控的步进电机

正反转可控的步进电机1 引言本课程设计目的是为了进一步掌握单片机系统,加强对系统设计和应用能力的培养而开设的综合设计训练环节。

本系统用51单片机和ULN2003A电机驱动芯片并加入控制按钮来实现步进电机的正、反转控制。

2 设计方案及原理步进电机可以对旋转角度和转动速度进行高精度的控制。

作为控制执行部件,广泛应用于自动控制和精密仪器等领域。

例如在仪器仪表、机床设备以及计算机的外围设备中(如打印机和绘图仪),常有对精确的、可控制的回转源的需要。

在这种情况下,使用步进电机最为理想。

2.1 步进电机控制步进电机两个相邻磁极之间的夹角为60°,线圈绕过相对的两个磁极构成一相。

此外各磁极上还有5个分布均匀的锯形小齿。

电机转子上没有绕组。

当某相绕组通电时,响应的两个磁极就分别形成N-S极,产生磁场,并与转子形成磁路。

如果这是定子的小齿与转子的小齿没有对齐,则在磁场的作用下,转子将转动一定的角度,使转子齿与定子齿对齐,从而使步进电机向前“走”一步。

如果通过单片机按顺序给绕组施加有序的脉冲电流,就可以控制电机的转动,从而进行了数字到角度的转换。

转动的角度大小与施加的脉冲数成正比,转动的速度与脉冲频率成正比,而转动方向则与脉冲的顺序有关。

2.2 步进电机驱动方式步进电机常用的驱动方式是全电压驱动,即在电机移步与锁步时都加载额定电压。

为防止电机过流及改善驱动特性需加限流电阻。

由于步进电机锁步时,限流电阻要消耗掉大量的功率。

因此,限流电阻要有较大功率容量,并且开关管也要有较高的负载能力。

步进电机也可以使用软件方法,即使用单片机实现,这样不但简化了电路,同时降低了成本。

使用单片机以软件方式驱动步进电机,不但可以通过编程方法在一定范围之内自由的设定步进电机的转速,往返转动的角度以及转动次数等;还可以方便灵活的控制步进电机的运行状态,以满足不同用户的需求。

因此常把单片机步进电机控制电路称之为可编程步进电机控制驱动器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告题目单片机控制步进电机课程名称单片机原理及接口技术院部名称专业自动化班级M10自动化学生姓名学号课程设计地点课程设计学时指导教师高峰金陵科技学院教务处制【注:根据课程设计大纲第四项具体要求撰写课程设计报告】目录1设计任务和要求 (3)2设计思路 (4)3系统硬件设计 (5)3.1 硬件电路的工作原理 (5)3.2步进电机模块 (5)3.3控制模块 (6)3.4主要元件介绍: (6)4软件编程 (11)5 调试过程与结果 (20)5.1正转结果显示: (20)5.1.1正转加速: (21)5.1.2正转减速: (21)6 总结与体会 (24)7 参考资料 (26)8 附录 (26)1设计任务和要求单片机课程设计是考察学生利用所学过的专业知识,进行综合的电机控制系统设计并最终完成实际系统连接,能够使学生对电气与自动化的专业知识进行综合应用,培养学生的创新能力和团队协作能力,提高学生的动手实践能力。

最终形成一篇符合规范的设计说明书,并参加综合实践答辩,为后期的毕业设计做好准备。

本次设计考核的能力主要有:1)专业知识应用能力,包括电路分析、电子技术、单片机、检测技术、电气控制、电机与拖动、微特电机及其驱动、计算机高级语言、计算机辅助设计、计算机办公软件等课程,还包括本专业的拓展性课程如变频器、组态技术、现场总线技术、伺服电机等课程。

2)项目设计与运作能力,团队协作能力,技术文档撰写能力,PPT汇报与口头表达能力。

3)电气与自动化系统的设计与实际应用能力。

要求完成的工作量包括:1)现场仿真演示效果。

2)学生结合课题进行PPT演讲与答辩。

3)学生上交课题要求的各类设计技术文档。

2设计思路电路基本理论:步进电机是一种将电脉冲转变为角位移的执行机构,通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度。

可通过控制脉冲数来控制角位移量,从而达到准确的定位目的。

通过对步进电机的软件设计和硬件设计包括步进电机的结构、原理及应用,根据原理和硬件的设计利用c语言编写程序,经过反复运行和调试,实现单片机对步进电机的控制。

步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,它的的驱动电路根据控制信号工作,控制信号由单片机产生。

当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,控制换相顺序,即通电控制脉冲必须严格按照一定顺序分别控制各相的通断。

通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的。

控制步进电机的转向,即给定工作方式正序换相通电,步进电机正转,若按反序通电换相,则电机就反转。

控制步进电机的速度,即给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步,两个脉冲的间隔越短,步进电机就转得越快。

同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

基于单片机和proteus的步进电机控制电路的基本组成如图所示:根据设计要求,采用的方案如下。

硬件部分实现电机转动,包括控制开关模块;电机转动模块。

软件部分实现对步进电机的控制功能,主要设计思想通过控制台控制程序的开关来控制电机的转动。

电源驱动89C51单片机,在89C51中装载程序,通过开关按键来输入信号,89C51向驱动电路提供信号使步进电机动作。

3系统硬件设计3.1 硬件电路的工作原理总电路图通过对开关k1 k2 k3的开关,来实现对步进电机的正反转和停止,通过k4 k5来进行加减速,并且有相应的LED灯的显示。

3.2步进电机模块功能:单片机输出的程序通过转换器和电机驱动器给步进电机一个脉冲信号,使步进电机实现正转与反转。

3.3控制模块功能:通过控制台实现对单片机程序的开与关3.4主要元件介绍:3.4.1步进电机:步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。

步进电机区别于其他控制电机的最大特点是:它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。

步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),步进电机又称为脉冲电机,是工业过程控制和仪表中一种能够快速启动,反转和制动的执行元件,其功用是将电脉冲转换为相应的角位移或直线位移,由于开环下就能实现精确定位的特点,使其在工业控制领域获得了广泛应用。

步进电机的运转是由电脉冲信号控制的,其角位移量或线位移量与脉冲数成正比,每个一个脉冲,步进电机就转动一个角度(不距角)或前进、倒退一步。

步进电机旋转的角度由输入的电脉冲数确定,所以,也有人称步进电机为数字/角度转换器。

步进电机28BYJ48:步进电机28BYJ48型四相八拍电机,电压为DC5V—DC12V。

当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。

每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。

当通电状态的改变完成一个循环时,转子转过一个齿距。

四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A。

),双(双相绕组通电)四拍(AB-BC- CD-DA-AB-。

),八拍(A-AB-B-BC-C-CD-D-DA-A。

)四相步进电机有两种运行方式,一、四相四拍;二、四相八拍。

要想搞清楚四相八拍运行方式下步进电机的转速如果计算,需要先清楚两个基本概念。

1、拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A.2、步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。

θ=360度(转子齿数J*运行拍数),以常规二、四相,转子齿为50齿电机为例。

四拍运行时步距角为θ=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为θ=360度/(50*8)=0.9度(俗称半步)。

这两个概念清楚后,我们再来计算转速,以基本步距角1.8°的步进电机为例(现在市场上常规的二、四相混合式步进电机基本步距角都是 1.8°),四相八拍运行方式下,每接收一个脉冲信号,转过0.9°,如果每秒钟接收400个脉冲,那么转速为每秒400X0.9°=360°,相当与每秒钟转一圈,每分钟60转。

由于单片机接口信号不够大需要通过ULN2003放大再连接到相应的电机接口,如下:所以可以定义正转励磁序列为A->AB->B->BC->C->CD->D->DAuchar code FFW[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};//反转励磁序列为AD->D->CD->C->BC->B->BA->Auchar code REV[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};步进电机28BYJ48的主要技术参数:3、四相步进电机的脉冲分配规律目前,对步进电机的控制主要有分散器件组成的环形脉冲分配器、软件环形脉冲分配器、专用集成芯片环形脉冲分配器等。

本设计利用单片机进行控制,主要是利用软件进行环形脉冲分配。

四相步进电机的工作方式为四相单四拍,双四拍和四相八拍工作的方式。

各种工作方式在电源通电时的时序与波形分别如图1 a、b、c所示。

本设计的电机工作方式为四相单四拍,根据步进电机的工作的时序和波形图,总结出其工作方式为四相单四拍时的脉冲分配规律,四相双四拍的脉冲分配规律,在每一种工作方式中,脉冲的频率越高,其转速就越快,但脉冲频率高到一定程度,步进电机跟不上频率的变化后电机会出现失步现象,所以脉冲频率一定要控制在步进电机允许的范围内。

3.4.2 89C51单片机Atmel公司生产的89C51单片机是一种低功耗/低电压‘高性能的8位单片机,它采用CMOS和高密度非易失性存储技术,而且其输出引脚和指令系统都与MCS-51兼容;片内的Flash ROM允许在系统内改编程序或用常规的非易失性编程器来编程,内部除CPU外,还包括256字节RAM,4个8位并行I/O口,5个中断源,2个中断优先级,2个16位可编程定时计数器,89C51单片机是一种功能强、灵活性高且价格合理的单片机,完全满足本系统设计需要。

89C51单片机部分引脚功能介绍:XTAL2(18脚):接外部晶体和微调电容的一端;在89C51 片内它是振荡电路反向放大器的输出端,振荡电路的频率就是晶体固有频率。

若需采用外部时钟电路时,该引脚输入外部时钟脉冲。

89C51/8031正常工作时,该引脚应有脉冲信号输出。

XTAL1(19脚):接外部晶体和微调电容的另一端;在片内它是振荡电路反向放大器的输入端,在采用外部时钟时,该引脚输入外部时钟脉冲。

RST/VPD(9脚):RST:复位信号输入端,高电平有效。

当此输入端保持两个机器周期的高电平时,就可以完成复位操作。

RST/VPD(9脚):VPD :RST引脚的第二功能,备用电源输入端。

当主电源Vcc 发生故障,降低到低电平规定值时,将+5V电源自动接入该引脚,为RAM提供备用电源,以保证RAM 中的信息不丢失,使得复位后能继续正常运行。

EA/Vpp(31脚):Vpp:对8751片内EPROM固化编程时,编程电压输入端(12-21V)。

P0口:漏极开路的8位准双向I/O口,每位能驱动8个LS型TTL负载。

P0口可作为一个数据输入/输出口;在CPU访问片外存储器时,P0口为分时复用的低8位地址总线和8位数据总线。

P1口:带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。

P3口:带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。

P3口除作为一般I/O口外,每个引脚都有第二功能。

4软件编程4.1主流程图4.2主要程序:#include <reg52.h>#define uint unsigned int#define uchar unsigned charuchar 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;sbit K4 = P3^3;sbit K5 = P3^4;void DelayMS(uint ms){uchar i;while(ms--){for(i=0;i<120;i++);}}void SETP_MOTOR_FFW(uchar n){uchar i,j;int M=25;for(i=0;i<5*n;i++){for(j=0;j<8;j++){if(K3 == 0) break;P1 = FFW[j];if(K4 == 0){P0=0xf6;DelayMS(20);}else if(K5 == 0){P0=0xee;DelayMS(100);}else DelayMS(50);if(K4 == 1&&K5 == 1){P0 = 0xfe;}}}}void SETP_MOTOR_REV(uchar n){uchar i,j;int M=25;for(i=0;i<5*n;i++){for(j=0;j<8;j++){if(K3 == 0) break;P1 = REV[j];if(K4 == 0){P0=0xf5;DelayMS(20);}else if(K5 == 0){P0=0xed;DelayMS(100);}else DelayMS(50);if(K4 == 1&&K5 == 1){P0 = 0xfd;}}}}void main(){uchar N = 50;while(1){if(K1 == 0){P0 = 0xfe;SETP_MOTOR_FFW(N);if(K3 == 0) break;}else if(K2 == 0){P0 = 0xfd;SETP_MOTOR_REV(N);if(K3 == 0) break;}else{P0 = 0xfb;P1 = 0x03;}}}4.3程序分块介绍:4.3.1正反转的控制字设定:uchar code FFW[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09 };uchar code REV[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01 };本列4组步进电动机工作于8拍方式正转励磁序列为A->AB->B->BC->C->CD->D->DA 反转励磁序列为AD->D->CD->C->BC->B->BA->A 正转:sbit K1 = P3^0;反转:sbit K2 = P3^1;停止sbit K3 = P3^2;加速:sbit K4 = P3^3;减速:sbit K5 = P3^4;4.3.2延时程序:void DelayMS(uint ms){uchar i;while(ms--){for(i=0;i<120;i++);}}4.3.3正转部分void SETP_MOTOR_FFW(uchar n){uchar i,j;int M=25;for(i=0;i<5*n;i++){for(j=0;j<8;j++){if(K3 == 0) break;P1 = FFW[j];if(K4 == 0) //加速{P0=0xf6;DelayMS(20);}else if(K5 == 0) //减速{P0=0xee;DelayMS(100);}else DelayMS(50);if(K4 == 1&&K5 == 1){P0 = 0xfe;}}}}按照正转励磁序列A->AB->B->BC->C->CD->D->DA进行通电,转动n圈,在转动过程中,按下加速按钮,电机加速,对应的LED灯会亮,按下减速,电机减速,对应的LED灯会亮,如果按下停止按钮,会立刻停止转动,亮停止灯。

相关文档
最新文档