基于单片机的步进电机的控制课程设计报告

合集下载

基于stm32单片机的步进电机实验报告

基于stm32单片机的步进电机实验报告

基于stm32单片机的步进电机实验报告步进电机是一种将电脑控制信号转换为机械运动的设备,常用于打印机、数码相机和汽车电子等领域。

本实验使用STM32单片机控制步进电机,主要目的是通过编程实现步进电机的旋转控制。

首先,我们需要了解步进电机的基本原理。

步进电机是一种能够按照一定步长精确旋转的电机。

它由定子和转子两部分组成,通过改变定子和转子的电流,使转子按照一定的角度进行旋转。

在本实验中,我们选择了一种四相八拍步进电机。

该电机有四个相位,即A、B、C、D相。

每个相位都有两个状态:正常(HIGH)和反向(LOW)。

通过改变相位的状态,可以控制步进电机的旋转。

我们使用STM32单片机作为控制器,通过编程实现对步进电机的控制。

首先,我们需要配置STM32的GPIO口为输出模式。

然后,编写程序通过改变GPIO口的状态来控制步进电机的旋转。

具体来说,我们将A、B、C、D相分别连接到STM32的四个GPIO口,设置为输出模式。

然后,通过改变GPIO口输出的电平状态,可以控制相位的状态。

为了方便控制,我们可以定义一个数组,将表示不同状态的四个元素存储起来。

通过循环控制数组中的元素,可以实现步进电机的旋转。

在实验中,我们通过实时改变数组中元素的值,可以实现不同的旋转效果。

例如,我们可以将数组逐个循环左移或右移,实现步进电机的正转或反转。

在实验过程中,我们可以观察步进电机的旋转情况,并根据需要对程序进行修改和优化。

可以通过改变步进电机的旋转速度或步进角度,来实现更加精确的控制。

总结起来,通过本次实验,我们了解了步进电机的基本原理,并通过STM32单片机控制步进电机的旋转。

通过编写程序改变GPIO口的状态,我们可以实现步进电机的正转、反转和精确控制。

这对于理解和应用步进电机技术具有重要意义。

基于单片机设计步进电机的控制系统 课程设计

基于单片机设计步进电机的控制系统  课程设计

目录1.实验要求与设计 (2)1.1设计目的 (2)1.2 设计要求 (2)1.3 设计思路 (2)2.设计原理及分析 (3)2.1 步进电机控制系统的组成 (3)2.2 单片机最小系统 (3)2.3 键盘控制电路 (4)2.4 LED数码显示电路 (5)3.系统的总体方案设计 (6)3.1 步进电机总体设计框图 (6)3.2 驱动控制系统组成 (6)3.3 脉冲信号的产生 (7)4.软件设计设计及调试 (7)4.1 主程序流程图 (7)4.2 INTO中断子程序框图 (8)4.4 程序代码 (10)5.实验心得与体会 (17)参考文献 (18)附:课程设计评分表 (19)附:步进电机电路图 (20)1.实验要求与设计1.1设计目的以单片机为核心设计出一个单片机控制步进电机的控制系统。

本系统采用AT89C51作为控制单元,通过键盘实现对步进电机转动方向及转动速度的控制,并且将步进电机的转动速度动态显示在LED数码管上。

1.2 设计要求1.利用键盘按键来控制步进电动机的加速减速以及控制电动机的正转、反转、启动、停止等操作,达到显示的目的。

2.了解步进电动机的工作原理,会计算其各个量之间的转换,例如,速度、时间、频率与步进角之间的关系。

3.显示以51单片机为核心的实用控制电路,并进行调试出结果。

1.3 设计思路采用51系列单片机实现对步进电动机进行调速控制。

首先利用键盘按键来控制步进电动机的加速减速以及控制电动机的正转、反转、启动、停止等操作。

达到显示的目的。

最终使步进电动机的控制能更加灵活。

本实验采用89C51做单片机运行的,所用本实验只需要将其四相连接P1口得P1.0~P1.3口就行了,在AEDK实验教学机上,数码管和8279内部已经连接好,不需再连线。

本实验使用的步进电机用直流+12V电压,电机线圈由A、B、C、D四相组成驱动方式为四相四拍方式,各线圈通电顺序如下表。

表中首先向A线圈输入驱动电流,接着B、C、D线圈驱动,最后又返回到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周:单片机控制步进电机系统实践、课程总结与评价教材章节关联:本教学内容与教材中“步进电机控制技术”章节相关,涉及的内容包括步进电机原理、接口技术、控制程序设计等,为教材内容的拓展与实践。

控制步进电机实验报告(3篇)

控制步进电机实验报告(3篇)

第1篇一、实验目的1. 理解步进电机的工作原理及控制方法。

2. 掌握单片机与步进电机驱动模块的接口连接方法。

3. 学习使用C语言编写程序,实现对步进电机的正反转、转速和定位控制。

4. 通过实验,加深对单片机控制系统的理解。

二、实验原理步进电机是一种将电脉冲信号转换为角位移或线位移的电机,其特点是控制精度高、响应速度快、定位准确。

步进电机控制实验主要涉及以下几个方面:1. 步进电机驱动模块:常用的驱动模块有ULN2003、A4988等,它们可以将单片机的数字信号转换为步进电机的控制信号。

2. 单片机:单片机是整个控制系统的核心,负责接收按键输入、处理数据、控制步进电机驱动模块等。

3. 步进电机:步进电机分为单相、双相和三相等类型,本实验使用的是双相四线步进电机。

三、实验设备1. 单片机开发板:例如STC89C52、STM32等。

2. 步进电机驱动模块:例如ULN2003、A4988等。

3. 双相四线步进电机。

4. 按键。

5. 数码管。

6. 电阻、电容等元件。

7. 电源。

四、实验步骤1. 硬件连接(1)将步进电机驱动模块的输入端(IN1、IN2、IN3、IN4)分别连接到单片机的P1.0、P1.1、P1.2、P1.3口。

(2)将按键的输入端连接到单片机的P3.0口。

(3)将数码管的段选端连接到单片机的P2口。

(4)将步进电机驱动模块的电源端连接到电源。

(5)将步进电机连接到驱动模块的输出端。

2. 编写程序(1)初始化单片机I/O端口,设置P1口为输出端口,P3.0口为输入端口,P2口为输出端口。

(2)编写按键扫描函数,用于读取按键状态。

(3)编写步进电机控制函数,实现正反转、转速和定位控制。

(4)编写主函数,实现以下功能:a. 初始化数码管显示;b. 读取按键状态;c. 根据按键状态调用步进电机控制函数;d. 更新数码管显示。

3. 调试程序(1)将程序烧写到单片机中;(2)打开电源,观察数码管显示和步进电机运行状态;(3)根据需要调整程序,实现不同的控制效果。

基于单片机控制的步进电机控制器单片机实习报告

基于单片机控制的步进电机控制器单片机实习报告

单片机原理与应用技术课程设计报告题目:基于单片机控制的步进电机控制器完成日期:2008年12月12日基于单片机控制的步进电机控制器课程设计任务书一.设计要求(一)基本功能1.实现步进电机的正反转控制。

2.实现步进电机的加速控制。

3.实现步进电机的减速控制。

如过载保护、欠压保护、短路保护和防飞车等功能。

(二)扩展功能任意设定一点为圆心,实现一个直径为10cm的圆形轨迹运动。

二.设计内容(1)画出电路原理图,正确使用逻辑关系;(2)确定元器件及元件参数;(3)进行电路模拟仿真;(4)SCH文件生成与打印输出;三.编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。

四.答辩在规定时间内,完成叙述并回答问题。

五.计划完成时间三周1.第一周完成软件和硬件的整体设计,同时按要求上交设计报告一份。

2.第二周完成软件的具体设计和硬件的制作。

3.第三周完成软件和硬件的联合调试。

目录1引言 (1)2总体设计方案 (1)2.1设计思路 (1)2.1.1 硬件设计 (1)2.1.2软件设计 (1)2.2总体设计方框图 (2)3 设计原理分析 (2)3.1 控制按钮分析 (2)3.2 复位电路和晶振电路分析 (3)3.3 保护电路分析 (3)3.4 输出驱动电路 (4)4 总结与体会 (5)参考文献 (6)附录(一) (7)附录(二) (8)基于单片机控制的步进电机控制器班级:应教054 姓名;宋里旗摘要:本设计为电子工程专业学生在校期间的单片机课程设计实习。

是基于单片机控制的步进电机控制器。

在科学技术迅速发展的今天,自动化控制技术日益完善和成熟,对步进电机的要求也越来越高,社会上所需这方面的人才也越来越多,通过本次实习,可以提高学生的动手动脑,全面综合的运用所学专业知识的能力,增强学习专业知识和技能的兴趣,掌握单片机的运用方法和技巧,深入了解步进电机的工作原理。

学会用科学技术来解决生活,生产中遇到的实际问题,真正做到学以致用,造福社会。

基于51单片机的步进电机控制系统-单片机课程设计报告

基于51单片机的步进电机控制系统-单片机课程设计报告

微机原理与接口技术课程设计报告基于51单片机的步进电机控制系统学号姓名班级 2011级电子2班华侨大学电子工程系摘要步进电机是将电脉冲信号变换成角位移或直线位移的执行部件。

步进电机可以直接用数字信号驱动,使用非常方便。

步进电动机的角位移量和输入脉冲的个数严格成正比,在时间上与输入脉冲同步,因此只要控制输入脉冲的数量、频率及电动机绕组通电的相序,便可获得所需的转角、转速及转动方向。

在没有脉冲输入时,在绕组电源的激励下气隙磁场能使转子保持原有位置处于定位状态。

因此非常适合于单片机控制。

它的运行速度和步距不受电源电压波动及负载的影响, 因而被广泛应用于数模转换、速度控制和位置控制系统。

本课程设计以STC89C52单片机作为微控制器,使用混合式步进电机驱动芯片ULN2003AN进行驱动,实现了对步进电机运行状态的简单控制,并将其运行状态用LCD1602液晶显示。

本次设计能实现的功能有电机运行、停止,设置运行圈数,调节转速,电机正反转,点动等。

关键词:STC89C52单片机,28BYJ-48步进电机,ULN2003AN驱动芯片,LCD1602显示,电机控制,点动第一章总体设计方案本次课程设计本课程设计以STC89C52单片机作为微控制器,使用混合式步进电机驱动芯片ULN2003AN进行驱动,实现了对步进电机运行状态的简单控制,并将其运行状态用LCD1602液晶显示。

本次设计能实现的功能有电机运行、停止,设置运行圈数,调节转速,电机正反转,点动等。

系统流程图如下:第二章硬件原理一、STC89c52单片机2.1、STC89c52芯片简介STC89C52是一个低功耗,高性能CMOS?8位单片机,片内含8k?Bytes?ISP(In-system?programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及STC89C52引脚结构,芯片内集成了通用8位中央处理器和ISP?Flash存储单元,功能强大的微型计算机的STC89C52可为许多嵌入式控制应用系统提供高性价比的解决方案。

基于51单片机的步进电机课程设计报告

基于51单片机的步进电机课程设计报告

目录绪论 (2)一、选题背景 (3)1.1课题背景 (3)1.2研究的目的和意义 (3)1.3课题研究的内容 (4)二、方案的论证 (4)2.1单片机简介 (4)2.2步进电机简介 (5)2.3仿真软件的介绍 (6)2.4驱动电路的选择 (6)三、设计或实验过程的论述 (7)3.1硬件电路的设计 (8)3.2软件部分 (9)四、基于AT89S52步进电机控制系统的实现 (15)4.1系统的故障及调试 (15)4.2设计结果 (16)五、总结与展望 (16)5.1总结 (16)5.2展望 (16)5.3 心得 (16)六、致谢 (17)附录一:参考文献 (18)附录二:电路原理总图 (19)附录三:元器件清单 (20)附录四:产品实物图 (21)步进电机的控制设计绪论单片机具有体积小、功耗小、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用与仪表仪器中,结合不同类型的传感器,可以实现诸如电压、功率、频率、温度、湿度、流量、速度、厚度、长度、硬度、元素、压力等物理量的测量。

采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更强大。

例如精密的测量设备(功率表,示波器,各种分析仪)。

同时用单片机还可以构成形式多样的控制系统、数据采集系统。

例如工厂流水线的智能管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。

现在的单片机普遍具备通信接口,可以很方便的与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本都实现了单片机智能控制,从手机,电话机,小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。

此外,单片机在工商,金融,科研,教育,国防航空航天等领域都有着十分广泛的用途。

目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、大容量、低价格和外围电路内装化等几个方面发展。

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

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

郑州科技学院《单片机》课程设计题目单片机控制步进电机学生姓名专业班级电气工程及其自动化班学号院(系)电气工程学院指导教师完成时间 2015年11月13日目录1 前言 (1)2 总体设计方案与论证 (1)2.1 步进电机原理及控制技术 (1)2.2 方案论证 (3)2.3 系统总体硬件框图 (3)3 单元电路设计 (4)3.1 最小控制系统 (4)3.2 驱动电路 (5)3.3 按键电路 (6)3.4 显示电路 (6)4 程序设计 (7)5 软件仿真 (8)6 硬件的制作与调试 (10)7 总结 (11)参考文献 (13)附录1:总体电路原理图 (14)附录2:实物图 (15)附录3:元器件清单 (16)附录4:源程序 (17)1 前言步进电动机是一种将电脉冲信号转换成角位移或线位移的机电元件。

步进电动机的输入量是脉冲序列,输出量则为相应的增量位移或步进运动。

正常运动情况下,它每转一周具有固定的步数;做连续步进运动时,其旋转转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。

由于步进电动机能直接接受数字量的控制,所以特别适宜采用微机进行控制。

能够实现步进电机控制的方式有多种,可以采用前期的模拟电路、数字电路或模拟与数字电路相结合的方式,也可以采用单片机控制方式。

本文介绍一种用STC89C52作为核心部件进行逻辑控制及信号产生的单片机技术和C语言编程设计的步进电机控制系统,步进电机背景与现状、硬件设计、软件设计及其仿真都做了详细的介绍,使我们不仅对步进电机的原理有了深入的了解,也对单片机的设计研发过程有了更加深刻的体会。

本控制系统采用单片机控制,通过人为按动开关实现步进电机的正反转,复位。

具有灵活方便、适用范围广的特点,基本能够满足实践需求。

2 总体设计方案与论证2.1步进电机原理及控制技术由于步进电机是一种将电脉冲信号转换成直线或角位移的执行元件,它不能直接接到交直流电源上,而必须使用专业设备,步进电机控制驱动器,典型步进电机控制系统如图2-1所示:图2-1 步进电机运行过程中频率变化曲线控制器可以发出脉冲频率从几赫兹到几千赫兹可以连续变化的脉冲信号,它为环形分配器提供脉冲序列,环形分配器的主要功能是把来自控制环节的脉冲序列按一定的规律分配后,经过功率放大器的放大加到步进电机驱动电源的各项输入端,以驱动步进电机的转动,环形分配器主要有两大类:一类是用计算机软件设计的方法实现环形分配器要求的功能,通常称软环形分配器。

基于单片机步进电机控制系统设计报告

基于单片机步进电机控制系统设计报告

1、设计目的与要求1.1、设计目的(1)了解步进电机的结构和工作原理。

(2)进一步掌握步进电机的控制方法。

(3)进一步掌握单片机硬件和软件的综合设计方法。

(4)能够使用电路仿真软件进行电路调试。

1.2、设计要求实现功能(1)电机工作方式为四相八拍;(2)实现电机的启、停功能;(3)实现电机的正、反转功能;(4)实现电机的加、减速功能.2、、整体设计方案2.1 、系统总体方案此次系统设计是采用单片机实现对步进电机的手动控制。

由单片机产生的脉冲信号通过单片机传送到驱动电路,脉冲信号经过放大后输出到步进电机,功率放大后驱动步进电机的转动。

步进电机是纯粹的数字控制电机,能够将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度[4]。

此次设计以单片机为核心,通过软件和硬件的结合实现步进电机的启停、正转、反转、加速、减速功能,并且步进电机所处的状态用相应的发光二极管来显示,可以显示速度以及方向。

用数码管显示速度和驱动方式。

电路主要通过三大块来设计,包括驱动模块设计、显示模块设计和按键控制模块设计。

此次设计预期实现的功能简述如下几点:(1)、用按键来控制步机电机的工作状态;(2)、能够切换三种工作模式;(3)、在不同的工作模式下能通过按键控制其正转、反转、加速、减速并且在工作过程中能够切换驱动模式;(4)、显示器要实现在驱动选择时能显示电机在哪一种模式下工作,而且在速度加减时能显示其1-7个档位的速度,并在状态显示中可以见证速度的快慢;(5)、利用显示器显示电机的正反转情况。

具体操作方案:首先,先在查阅资料的基础上,进行总体的理论分析与设计;其次,根据预期达到期望功能的要求设计系统方框图;然后,结合系统框图设计画出一个硬件电路图,能实现工作模式选择、正反转、加减速等功能;最后,根据硬件电路设计,编写程序并运用KEIL软件编译调试,之后结合程序对所设计的控制电路在Proteus中选择好元器件连接好,检查无误之后进行仿真。

基于stm32单片机的步进电机实验报告

基于stm32单片机的步进电机实验报告

基于stm32单片机的步进电机实验报告基于STM32单片机的步进电机实验报告一、引言步进电机是一种特殊的电机,其转子能够以离散的步长进行旋转。

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

本实验旨在利用STM32单片机控制步进电机的运转,实现准确的位置控制。

二、实验原理步进电机的运转原理是通过控制电流来驱动电机的转子旋转。

常见的步进电机有两相和四相两种,本实验使用的是四相步进电机。

步进电机的控制方式主要有两种:全步进和半步进。

1. 全步进控制方式全步进控制方式是通过依次给定步进电机的四个相位施加电压,使得电机转子以固定的步长旋转。

具体控制方式如下:- 给定一个相位的电流,使得该相位的线圈产生磁场,使得转子对齿极的磁场产生吸引力,使得转子顺时针或逆时针旋转一定的角度;- 施加下一个相位的电流,使得转子继续旋转一定的角度;- 通过依次改变相位的电流,控制转子的旋转方向和步长。

2. 半步进控制方式半步进控制方式是在全步进的基础上,通过改变相位的电流大小,使得转子旋转的步长变为全步进的一半。

具体控制方式如下:- 给定一个相位的电流,使得该相位的线圈产生磁场,使得转子对齿极的磁场产生吸引力,使得转子顺时针或逆时针旋转一定的角度;- 施加下一个相位的电流,使得转子继续旋转一定的角度,但步长变为全步进的一半;- 通过改变相位的电流大小,控制转子的旋转方向和步长。

三、实验器材与步骤1. 实验器材:- STM32单片机开发板- 步进电机- 驱动电路- 电源2. 实验步骤:(1) 将STM32单片机开发板和驱动电路连接起来,确保连接正确无误。

(2) 编写STM32单片机的控制程序,通过控制引脚输出高低电平,实现步进电机的控制。

(3) 将步进电机连接到驱动电路上。

(4) 将电源接入驱动电路,确保电源稳定。

(5) 运行STM32单片机的控制程序,观察步进电机的运转情况。

四、实验结果与分析经过实验,我们成功地利用STM32单片机控制步进电机的运转。

基于51单片机的步进电机控制系统单片机课程设计报告

基于51单片机的步进电机控制系统单片机课程设计报告

微机原理与接口技术课程设计报告基于51单片机的步进电机控制系统毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

基于单片机的步进电机控制课程设计报告

基于单片机的步进电机控制课程设计报告

河南农业大学单片机课程设计报告题目名称:步进电机控制系统专业:电子信息工程班级: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世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快,其中步进电机也广泛应用于数字控制系统,例如数控机床、绘图机、计算机外围设备、自动记录仪表、钟表和数—模转换装置等。

单片机电机步进控制实验报告

单片机电机步进控制实验报告

单片机电机步进控制实验报告I. 引言在现代工程领域中,单片机电机步进控制技术被广泛应用,它能够实现准确、高效的电机控制。

本实验旨在通过使用单片机控制电机步进运动,探索其应用和性能。

II. 实验目的本实验的主要目的包括:1. 了解单片机控制电机步进运动的原理;2. 掌握电机驱动器的接口和控制方法;3. 进行基本的电机步进控制实验;4. 能够通过程序控制电机实现不同步进模式。

III. 实验器材和布置1. 单片机开发板2. 电机步进驱动器3. 步进电机4. 连接线5. 电源实验布置如下:(这里可以插入实验布置的示意图或图片)IV. 实验步骤1. 连接硬件:将电机步进驱动器与单片机开发板连接,并将步进电机与驱动器相连接。

2. 编写初始化程序:在单片机开发环境中编写初始化程序,包括引入相关库和设置引脚的输入输出状态。

3. 编写电机控制程序:根据步进电机的类型和驱动器的接口,编写单片机控制程序。

程序中要包括控制电机旋转方向、转速和步进模式等的代码。

4. 载入程序并运行:将编写好的程序载入单片机,并通过开发板的编程接口进行烧录。

编程完成后,将电源接入,观察电机的运动情况。

5. 实验记录和分析:记录电机在不同程序设置下的运动情况,并进行分析和总结。

V. 实验结果与分析(这部分根据实验结果来进行详细的描述和分析,可包括电机的旋转方向、转速、步进模式切换等内容,并结合实验目的和预期结果进行分析。

)VI. 结论通过本次单片机电机步进控制实验,我们成功地掌握了电机步进控制的基本原理和方法。

通过编写控制程序,我们能够准确控制电机的运动方向、转速和步进模式。

该技术在工程中具有广泛应用前景,可在自动化控制、机器人技术等领域发挥重要作用。

VII. 实验总结本实验通过实际操控单片机和电机进行步进控制,加深了对单片机电机步进控制原理的理解。

同时,我们也熟悉了单片机开发环境的使用和编程技巧。

然而,本实验还存在一些不足之处,例如未对电机的精确度进行详细测试和分析。

基于单片机的步进电机课程设计报告

基于单片机的步进电机课程设计报告

设计题目:基于单片机的步进电机控制系统设计设计目的:综合运用所学的《单片机原理及应用》的理论知识,通过实践加强对所学知识的理解,具备设计单片机应用设计系统的能力。

以单片机为核心设计一个步进电机控制系统,要求能够通过键盘设置步进电机的正转和反转,加速和减速。

并在LED 数码管显示器上显示步进电机转速。

通过了解系统的软硬件构成及其特点,详细掌握怎样通过单片机控制其输出来控制步进电机的运转,并对应地在数码管上显示出来,更加系统的了解步进电机的组成,工作原理,控制方法。

设计要求:【1】进行方案论证,说明步进电机控制系统的工作原理【2】设计控制系统所需的硬件电路,给出电路原理图和元器件清单。

【3】给出软件流程图并编写程序源代码。

【4】完成系统的调试,给出调试结果并分析。

【5】了解单片机的内部结构,组成,学习单片机的工作原理以及内部工作状态,并熟悉在不同时刻,单片机的输入输出情况【6】了解步进电机的分类和用途,掌握步进电机的内部结构以及工作原理,并学习单片机简单控制步进电机的正转和反转,加速和减速【7】使用keil和proteus等软件进行系统的仿真,并在开发板硬件上实现。

锻炼自己的编程,调试能力。

设计条件:步进电机的工作原理步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件步进电机。

在非超载的情况下,电机的转速,停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号时,它就驱动步进电机按设定的方向转动一个固定的角度。

称为“步距角”。

它的旋转是以固定的角度一步一步运行的,可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的,同时也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

电机的位置和速度与导电次数(脉冲数)和频率成一一对应关系。

而方向由导电顺序决定(贴图:电机结构)步进电机的控制是通过脉冲信号来控制的,将电脉冲信号转变为角位移或线位移的开环控制元件。

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

单片机课程设计报告步进电机控制学院:电气学院班级:电气0904姓名:王浩学号:3090501097一.设计任务了解步进电机的原理,设计一套以51单片机为核心的步进电机控制器,步进电机采用四相四拍或四相八拍工作方式,键盘和显示器采用实验室试验箱。

了解十六只键组成的键盘(用于输入)及六只LED构成的显示器(用于显示)的原理,分别设计他们的程序,在电脑上进行仿真。

具体要求1、从键盘上输入正、反转命令,转速参数(16级)和转动步数显示在LED显示器上。

2、显示器上显示:第一位为0表示正转,为1表示反转;第二位0~F为转速等级,第三到第六位设定步数。

3、单片机依显示器上显示的正、反转命令,转速级数和转动步数进行相应动作,转动步数减为零时停止转动。

二.工作原理1、步进电机基本原理如图,当有一相绕组被通电激励时,磁通从正相齿,经过软铁芯的转子,并以最短路径流向负相齿,为使磁通路径最短,在磁场力的作用下,转子被迫移动,使最近的一对齿与被激励的一相对准。

那么,通过对它每相线圈中电流的顺序切换可使电机作步进式旋转。

相数:产生不同对极N、S磁场的激磁线圈对数。

拍数:指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB或A-B-C-D-A,四相八拍运行方式即A-AB-B-BC-C-CD-D-DA-A.步距角:对应一个脉冲信号电机转子转过的角位移. 步距角=360/(转子齿数*拍数)2、LED显示器原理LED显示器由七条发光二极管组成显示字段,有的还带有一个小数点。

将七段发光二极管阴极连在一起,称为共阴极接法,当某个字段的阳极为高电平时,对应的字段就点亮。

共阳极接法是将LED的所有阳极并联后接到+5v上,当某一字段的阴极为0时,对应的字段就点亮。

3、键盘接口原理键盘实际上是又排列成矩阵形式的一系列按键开关组成,用户通过键盘可以向CPU输入数据、地址和命令。

本设计采用8155接口芯片构成的4*8键盘的接口电路,其中A口为输出,作为列线;C口为输入,作为行线。

当所有的键没有被按下时,C口输入均为高;若某列线为低,恰好该列上有键被按下,则键所在的行线为低。

三.设计原理系统中使用20BY-0型号步进电机,它使用+5V直流电源,步距角为18度,电机线圈由A、B、C、D四相组成。

步进电机驱动原理是通过对它每相线圈中的电流的顺序切换来使电机旋转,驱动电路由脉冲信号来控制,所以调节脉冲信号的频率便可改变步进电机的转速。

BA、BB、BC、BD即为脉冲信号输入插孔,驱动器输出A、B、C、D接步进电机。

四.连线图步进电机模块插头接实验系统J3插座,(顺接)把P1.0~P1.3分别接到BA~BD插孔。

五.设计说明及流程1.数码管显示字形LED显示器是由发光二极管构成的字段组成的显示器。

显示程序任务:设置显示缓冲区(7EH-79 H) ,存放待显示数据和字符(位置码)。

显示译码:程序存储器中建立字形码常数表,查表得出对应数据和字符的字形码。

输出显示:输出字形码到显示端口2.字位口表(从高位起)3.键盘显示原理图位置G5 G4 G3 G2 G1 G0 数值20H 10H 08H 04H 02H 01H(1)显示子程序模块采用动态显示方式,即一位一位地轮流点亮(扫描)6位显示器。

在8032RAM存储器中设置六个显示缓冲区单元7EH-79H,分别存放6位显示器的显示数据(从高到低)。

(2)键盘输入模块实验系统有4×8的键盘结构(见键扫显示原理图)。

键盘的行线通过电阻接+5V,当键盘上没有键闭合时所有的行线和列线都断开,行线都为高电平。

当键盘上某一键闭合时,则该键所对应的行线和列线都短路。

CPU逐行逐列地检查键盘的状态,可判断键盘上有无键闭合。

CPU对键盘上闭合键的键号确定,可根据行线和列线的状态计算求得,也可以根据行线和列线的状态查表求得。

(3)步进电机控制模块实现步进电机的转动方式以及转速控制原理:四相四拍运行方式,即AB-BC-CD-DA-AB或A-B-C-D-A或者四相八拍方式,即A-AB-B-BC-C-CD-D-DA-A-AB实验时控制P1口对应位为“ 1”。

通过控制每一拍的间隔来控制电机的转速内存使用分配表步序控制位工作状态控制模型P1.7 P1.6 P1.5 P1.4 P1.3D相P1.2C相P1.1B相P1.0A相1 0 0 0 0 0 0 1 1 AB 03H2 0 0 0 0 0 1 1 0 BC 06H键位地址分配:07H,04H,08H,05H,09H,06H,0AH,0BH,01H,00H,02H,0FH,03H,0EH 0CH,0DH,00H,00H,00H,00H,00H,00H,16H六.程序清单ORG 0000HAJMP MAINORG 0050HMAIN:MOV SP,#40H ;主程序部分MOV 79H,#00HMOV 7AH,#00HMOV 7BH,#00HMOV 7CH,#00HMOV 7DH,#00HMOV 7EH,#00HMOV R1,#7EH ;取显示内存缓冲区的第一位aMAIN1: ACALL KEY ;调用按键程序MOV @R1,A ;获得的值存放到7E中CJNE R1,#78H,KS ;是否到79,不是,转KSCJNE A,#16H,AGAIN ;按下的不是exc(给定值0FFH),是则跳转到run LJMP RUN ;跳转到步进电机控制部分AGAIN: LJMP MAINKS: DEC R1LJMP MAIN1RUN:MOV A, 7EH ;取(7EH)当前所存JZ ZHEN ;跳转到正转JNZ FAN ;跳转到反转SJMP $ZHEN: MOV P1,#03H ;正转部分ACALL DELAYMOV P1,#06HACALL DELAYMOV P1,#0CHACALL DELAYMOV P1,#09HACALL DELAY ;调用延时子程序ANL 79H,#0FHANL 7AH,#0FHANL 7BH,#0FHANL 7CH,#0FHLCALL DIRLCALL DIRMOV R5,79HCJNE R5,#0,Z1DEC 79HMOV R5,7AHCJNE R5,#0,Z2DEC 7AHMOV R5,7BHCJNE R5,#0,Z3DEC 7BHMOV R5,7CHCJNE R5,#0,Z4LJMP MAINZ1: DEC 79HLJMP ZHENZ2: DEC 7AHLJMP ZHENZ3: DEC 7BHLJMP ZHENZ4: DEC 7CHLJMP ZHENFAN: MOV P1,#09H ;反转部分ACALL DELAYMOV P1,#0CHACALL DELAYMOV P1,#06HACALL DELAYMOV P1,#03HACALL DELAYANL 79H,#0FHANL 7AH,#0FHANL 7BH,#0FHANL 7CH,#0FHLCALL DIRLCALL DIRMOV R5,79HCJNE R5,#0,F1DEC 79HMOV R5,7AHCJNE R5,#0,F2DEC 7AHMOV R5,7BHCJNE R5,#0,F3DEC 7BHMOV R5,7CHCJNE R5,#0,F4LJMP MAINF1: DEC 79HLJMP FANF2: DEC 7AHLJMP FANF3: DEC 7BHLJMP FANF4: DEC 7CHLJMP FANDELAY: MOV R7,#0FFHDELAY10: MOV R6,7DHDELAY11: MOV R5,7DHDELAY12: DJNZ R6,DELAY12DELAY13: DJNZ R5,DELAY13DJNZ R7,DELAY10RETDIR: MOV R0,#79H ;显示子程序MOV R3,#01HDI0: MOV DPTR,#TEPMOV A,@R0MOVC A,@A+DPTRCPL AMOV DPTR,#0FFDCHMOVX @DPTR,AMOV A,R3MOV DPTR,#0FFDDHMOVX @DPTR,AACALL DELAY1INC R0MOV A,R3JB ACC.5,DI1RL AMOV R3,AAJMP DI0DI1: RETTEP: DB 3FH,06H,5BH,4FH,66H,6DHDB 7DH,07H,7FH,6FH,77H,7CHDB 39H,5EH,79H,71H, 00HDELAY1: MOV R7,#02H ;显示延时10ms子程序DE1: MOV R6,#0FFHDE2: DJNZ R6,DE2DJNZ R7,DE1RET;按键子程序KEY: ACALL KS1 ;掉用判断有无键按下子程序JNZ K1 ;有键按下时,(A)!=0,转消抖延时ACALL DIR ;调用显示AJMP KEY ;无键按下返回K1: ACALL DIR ;调用显示ACALL DIR ;调用显示ACALL KS1 ;查有无键按下,若有则为键确认按下JNZ K2 ;键按下,(A)!=0,转逐列扫描AJMP KEY ;不是键按下就返回K2: MOV R2,#0FEH ;首列扫描字入R2MOV R4,#00H ;首列号入RK3: MOV DPTR,#0FFDDH ;列扫描字送8155PA口MOV A,R2 ;第一次列扫描MOVX @DPTR,A ;使第0列线为0INC DPTRINC DPTR ;指向8155PC口MOVX A,@DPTR ;8155PC口读入行状态JB ACC.0,K4 ;第0行无键按下,转查第1行,ACC.0=0时为有键按下MOV A,#00H ;第0 行有键按下,该行首键号#00H送AAJMP LKP ;转求键号K4: JB ACC.1,K5 ;第1行无键按下,转查第2行MOV A,#08H ;该行有键按下,该行首键号#08H送AAJMP LKPK5: JB ACC.2,K6 ;第2行无键按下,转查第3行MOV A,#10H ;若该行有键按下,该行首键号#10H送AAJMP LKPK6: JB ACC.3,NEXT ;若第3行无键按下,改查下一列MOV A,#18H ;若该行有键按下,该行首键号#18H送A LKP: ADD A,R4 ;键号=行首键号+列号MOV DPTR,#TABMOVC A,@A+DPTRPUSH ACC ;键号进栈保护LK3: ACALL DIRACALL KS1 ;等待键释放JNZ LK3 ;若未释放,等待POP ACC ;键释放,缄好送ARET ;键扫描结束,出口状态:(A)=键号NEXT: INC R4 ;指向下一列,列号加1MOV A,R2 ;判断8列扫描完没有JNB ACC.7,KND ;8列扫描完,返回RL A ;扫描字左移一位,转变为下一列扫描字MOV R2,A ;扫描字入R2AJMP K3 ;转向下一列扫描KND: AJMP KEYKS1: MOV DPTR,#0FFDDH ;指向PA口MOV A,#00H ;全扫描字#00H=00000000BMOVX @DPTR,A ;全扫描字送PA口INC DPTR ;指向PC口MOVX A,@DPTR ;读入PC口行状态CPL A ;变正逻辑,以高电平表示有键按下ANL A,#0FH ;屏蔽高四位RET ;出口状态:(A)!= 0时有键按TAB: DB 07H,04H,08H,05H,09H,06H,0AH,0BH,01H,00H,02H,0FH,03H,0EH ;键表DB 0CH,0DH,00H,00H,00H,00H,00H,00H,16H ;16H对应启动键(即exc键)END七.心得体会这次单片机课程设计我们历时一个星期,在我们班里算是倒数几组完成的吧,但经过这两个星期的实践和体验下来,我们又怎么会去在乎那个先后问题呢,因为对我来说学到的不仅是那些知识,更多的是团队和合作。

相关文档
最新文档