单片机控制步进电机系统(C语言源代码)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3 系统硬件设计 1 单片机控制电机
如图 3
说明: 这个部分为单片机控制步进电机部分,80s52 单片机通过达林顿驱动器 ULN2803 来驱动步 进电机,80s52 的 P1.0-P1.4 发送控制信号给驱动器,然后驱动器的四根线把信号传递给电 机,使电机实现正反转等。电机部分接 12V 直流电源。 3.2 键盘 如图 4
Key Words:SCM; stepper motor; system; drive
目录
引言 4 1 单片机控制步进电机的一般原理 4 1.1 步进电机 4
1.1.1 步进电机介绍 4 1.1.2 步进电机分类 5 1.1.3 技术指标 5 1.1.4 步进电机工作原理 5 1.2 单片机 7 2 步进电机驱动实现 8 2.1 简介 8 2.2 驱动选择 8 3 系统硬件设计 9 3. 1 单片机控制电机 9 3.2 键盘 9 3.3 显示部分 10 程序流程图 11 总结 12 致 谢 13 参考文献 13 附录 13 C 代码 13
In this paper, given the design of the system hardware circuit,software design, human-computer interaction and so on.and it given the details description of each functional module.the main contents include the following:
(1) The general principles of signal_chip controlling step motor. (2) The realization of motor driving and controlling (3) Control system overall design and description module division (4) Schematic Diagram (5) Code
功能特性描述
AT89S52 是一种低功耗、高性能 CMOS8 位微控制器, 具有 8K 在系统可编程 Flash 存储器。使用 AHale Waihona Puke Baidumel 公
司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储 器在系统可编程,亦适于常规编程器。在单芯片上, 拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超 有效的解决方案。AT89S52 具有以下标准功能:8k 字 节 Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时 器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电 路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作, 允许 RAM、定时器/计数器、串口、中断继续工作。掉 电保护方式下,RAM 内容被保存,振荡器被冻结,单 片机一切工作停止,直到下一个中断或硬件复位为止。
图 1 反应式步进电机结构图
实现原理 采用单片机产生 A、B、C、D 的四相信号,当采用单片机进行控制时,需要在单片机和步进电 机中间设隔离电路以使强弱电分离。由于步进电机的驱动电流相对较大,可增设放大电路来 提供步进电机的工作电流。系统电路由五部分组成,即单片机、隔离、放大、电源及步进电 机。 1.2 单片机
说明: 本系统中采用了四个按键,分别与 80s52 的四个引脚相连,分别为 LCDEN,RS,WR,RD;
分别实现的功能是电机加速,减速,正反转。键盘一旦按下则表示向单片机发送了有效信号, 单片机就相应的进行调节。对于键盘的键按下的时候分为几个步骤,当键盘按下的时候,接 通电路,键盘扫描检测低电平,但检测到低电平之后不能够判断键是否被按下,因为抖动可 能引起这个变化,所有大概延时 5~10ms 之后再进行检测。如果再次检测到低电平之后说明 键被按下。这个过程就是所说的消除抖动。 3.3 显示部分 如图 5
2.2 驱动选择 步进电机可以选用专用的电机驱动模块,也可以自己构建驱动电路。一般有以下几种选择: 专用驱动模块,如 L298,FT5754 等,这类驱动接口简单,这类可以驱动步进电机,直流电机 等。 达林顿驱动器 ULN2803,这个芯片可以一次驱动八线步进电机。 自己构建,通过三极管,74als04,等系列元件构成。但这样系统可靠性会降低,会另外给 系统带来误差。
题 目:单片机控制步进电机系统
摘要
很多工业控制设备对位移和角度的控制精度要求较高, 一般电机很难实现, 而步进电机可精 确实现所设定的角度和转数。本设计主要是运用 51 单片机控制六线 4 相步进电机系统, 由 单片机产生驱动脉冲信号, 控制步进电机以一定的转速向某一方向产生一定的转动角度。同 时能够利用单片机实现电机的正、反转及速度控制,并能在数码管上显示出相应的速度。 本文中给出了该系统设计的硬件电路,软件设计,人机交互等。并对各个功能模块进行了详 细的说明。主要内容包括以下几个方面: 单片机控制步进电机的一般原理。 电机驱动及控制的实现。 控制系统整体设计以及模块划分说明。 原理图。 代码。
关键词:单片机;步进电机;系统;驱动
Abstract Many Industrial control equipment have a highly requirement in displacement and angle with control accuracy, the most motor can't carry out .but the step motor can carry out the displacement and angle that you enactmented in accuracy. This design mainly used SCM to control step motor system.The step motor is formed six lines and four phasic.Through SCM generate the drive pulse signal.Control stepper motor through a certain speed in a direction to get a certain degree of rotation angle. At the same time, It can use SCM to realization of the motor is , reverse and speed control. and showed the speed in the digital tube.
引言 目前,在工业控制生产以及仪器上应用十分广泛。通常都要对一些机械部件平移和转动,对 移动的位移和角度控制要求较高,一般的电机很难实现对位置和角度的精确控制,在一些智 能化要求较高的场合,用模拟芯片控制器及信号发生器来控制有一定局限性。而用单片机控 制步进电机可以改善性能,步进电机能实现精确的角度和转数,具有良好的步进特性,最适 合数字控制。在工控设备中得到了广泛的应用。而单片机具有芯片体积小,兼容性强,低电 压地,低功耗等特点,使单片机成为驱动步进电机的最佳空盒子单元。所以单片机控制步进 电机系统控制精度高,运行稳定,得以广泛运用。 1 单片机控制步进电机的一般原理 1.1 步进电机 1.1.1 步进电机介绍
静态指标
相数 步距角 拍数 定位转矩 保持转矩
步进电机动态指标 步距角精度 失步 失调角 最大空载启动频率 最大空载运行频率 运行频距特性 电机共振点
1.1.4 步进电机工作原理 分析(步进电机展开图)
以反应式步进电机为例,其典型结构图如图 1 所示。这是一个四相步进电机,当相控制绕组接 通脉冲电流时,在磁拉力作用下使相的定、转子对齐,相邻的 B 相和 D 相的定、转子小齿错 开。若换成 B 相通电,则磁拉力使 B 相定、转子小齿对齐(转过) ,而与 B 相相邻的 C 相和 A 相的定、转子小齿又错开,即步进电机转过一个步距角。若按 A →B →C →D →A ?规律循环 顺序通电,则步进电机按一定方向转动。若改变通电顺序为 A →D →C →B →A ,则电机反向 转动。这种控制方式称为四相单四拍。若按 AB →BC →CD →DA →AB 或 A →AB →B →BC →C →CD →D →DA →A 顺序通电则称为四相双拍或四相单、双八拍。无论采用哪种控制 方式,在一个通电循环内,步进电机的转角恒为一个齿距角。所以,可以通过改步进电机通电循 环次序来改变转动方向,可以通过改变通电频率来改变其角频率。运用单片机的输出功能,通 过编程实现输出四个信号分别给步进电机的四相 A、B、C、D ,并通过输出时信号的循环次 序,来设定步进电机的转动方向及输出信号的频率以便设定步进电机的转动频率。
2 步进电机驱动实现 2.1 简介
步进电机在单单仅给予电压时,电机是不会动作的,必须由脉冲产生器提供位置(脉波数)、 速度的脉冲信号指令,以及驱动器驱动电流流过电机内部线圈、依顺序切换激磁相序的方式 才能够让电机运 转。所以欲使步进电机动作的必要系统组成有: (1)脉冲产生器:给予角度(位置移动量)、动作速度及运转方向之脉冲信号的电机驱动指 令。 (2)步进驱动器:依控制器所投入的脉冲信号指令,提供电流来驱动步进电机动作。 (3)步进电机:提供转矩动力输出来带动负载。所以步进电机系统构成简单,不需要速度 感应器、位置传感器, 即能依照脉冲产生器所输入的脉冲来做到速度及位置的控制。
说明: 对于显示部分,因为这个系统只是显示转速,所以采用了 LED 共阳极数码管。 并且用了 74HC573 锁存器,74HC573 锁存器输出电流大,接口电路简单。本系统采用了两 个 74HC573 锁存器,分别为段选和位选。段选为数码管的显示数字,位选为选中相应的数 码管。 程序流程图
总结 通过本次的课程论文,让我真实的感受到一个完整的系统设计过程。这次的的论文从开始的 整体布局,排版,到内容中的系统设计直到最后完成。每个流程下来,都带给了我很多的新 东西,特别在设计完系统之后做硬件部分中,先是用 protel99se 画图,好多图在库中找不到, 找不到就自己画,然后封装,封装的时候还要用游标卡纸对买来的元件进行精确的测量,然 后才能在封装的过程中保证精度。最后做完图之后还要布线,布线完成后再发到厂家去做。 事实上这个过程我用买好的空板做的,因为元件不多。所以就买了相应的元件直接再 PCB 板上焊接好的。在焊接的过程中也会感受到很多东西,因为很多需要注意的。不过这个过程 多多尝试就会有进步的。焊接完后就是代码调试阶段。最后就完成了这个小型系统的设计。
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电 机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电 机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期 性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的 简单。虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机、交流电机在常 规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步 进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。 1.1.2 步进电机分类 永磁式(PM)。一般为二相,转矩和体积都很小,步距角一般为 7.5 或 15° 反应式(VR)。一般为三相,实现大转矩输出,步距角为 1.5°。 混合式(HB)。兼具永磁式和反应式的优点,分二相和五相,二相步距角为 1.8°五相步距角 为 0.72°。 1.1.3 技术指标
如图 3
说明: 这个部分为单片机控制步进电机部分,80s52 单片机通过达林顿驱动器 ULN2803 来驱动步 进电机,80s52 的 P1.0-P1.4 发送控制信号给驱动器,然后驱动器的四根线把信号传递给电 机,使电机实现正反转等。电机部分接 12V 直流电源。 3.2 键盘 如图 4
Key Words:SCM; stepper motor; system; drive
目录
引言 4 1 单片机控制步进电机的一般原理 4 1.1 步进电机 4
1.1.1 步进电机介绍 4 1.1.2 步进电机分类 5 1.1.3 技术指标 5 1.1.4 步进电机工作原理 5 1.2 单片机 7 2 步进电机驱动实现 8 2.1 简介 8 2.2 驱动选择 8 3 系统硬件设计 9 3. 1 单片机控制电机 9 3.2 键盘 9 3.3 显示部分 10 程序流程图 11 总结 12 致 谢 13 参考文献 13 附录 13 C 代码 13
In this paper, given the design of the system hardware circuit,software design, human-computer interaction and so on.and it given the details description of each functional module.the main contents include the following:
(1) The general principles of signal_chip controlling step motor. (2) The realization of motor driving and controlling (3) Control system overall design and description module division (4) Schematic Diagram (5) Code
功能特性描述
AT89S52 是一种低功耗、高性能 CMOS8 位微控制器, 具有 8K 在系统可编程 Flash 存储器。使用 AHale Waihona Puke Baidumel 公
司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储 器在系统可编程,亦适于常规编程器。在单芯片上, 拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超 有效的解决方案。AT89S52 具有以下标准功能:8k 字 节 Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时 器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电 路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作, 允许 RAM、定时器/计数器、串口、中断继续工作。掉 电保护方式下,RAM 内容被保存,振荡器被冻结,单 片机一切工作停止,直到下一个中断或硬件复位为止。
图 1 反应式步进电机结构图
实现原理 采用单片机产生 A、B、C、D 的四相信号,当采用单片机进行控制时,需要在单片机和步进电 机中间设隔离电路以使强弱电分离。由于步进电机的驱动电流相对较大,可增设放大电路来 提供步进电机的工作电流。系统电路由五部分组成,即单片机、隔离、放大、电源及步进电 机。 1.2 单片机
说明: 本系统中采用了四个按键,分别与 80s52 的四个引脚相连,分别为 LCDEN,RS,WR,RD;
分别实现的功能是电机加速,减速,正反转。键盘一旦按下则表示向单片机发送了有效信号, 单片机就相应的进行调节。对于键盘的键按下的时候分为几个步骤,当键盘按下的时候,接 通电路,键盘扫描检测低电平,但检测到低电平之后不能够判断键是否被按下,因为抖动可 能引起这个变化,所有大概延时 5~10ms 之后再进行检测。如果再次检测到低电平之后说明 键被按下。这个过程就是所说的消除抖动。 3.3 显示部分 如图 5
2.2 驱动选择 步进电机可以选用专用的电机驱动模块,也可以自己构建驱动电路。一般有以下几种选择: 专用驱动模块,如 L298,FT5754 等,这类驱动接口简单,这类可以驱动步进电机,直流电机 等。 达林顿驱动器 ULN2803,这个芯片可以一次驱动八线步进电机。 自己构建,通过三极管,74als04,等系列元件构成。但这样系统可靠性会降低,会另外给 系统带来误差。
题 目:单片机控制步进电机系统
摘要
很多工业控制设备对位移和角度的控制精度要求较高, 一般电机很难实现, 而步进电机可精 确实现所设定的角度和转数。本设计主要是运用 51 单片机控制六线 4 相步进电机系统, 由 单片机产生驱动脉冲信号, 控制步进电机以一定的转速向某一方向产生一定的转动角度。同 时能够利用单片机实现电机的正、反转及速度控制,并能在数码管上显示出相应的速度。 本文中给出了该系统设计的硬件电路,软件设计,人机交互等。并对各个功能模块进行了详 细的说明。主要内容包括以下几个方面: 单片机控制步进电机的一般原理。 电机驱动及控制的实现。 控制系统整体设计以及模块划分说明。 原理图。 代码。
关键词:单片机;步进电机;系统;驱动
Abstract Many Industrial control equipment have a highly requirement in displacement and angle with control accuracy, the most motor can't carry out .but the step motor can carry out the displacement and angle that you enactmented in accuracy. This design mainly used SCM to control step motor system.The step motor is formed six lines and four phasic.Through SCM generate the drive pulse signal.Control stepper motor through a certain speed in a direction to get a certain degree of rotation angle. At the same time, It can use SCM to realization of the motor is , reverse and speed control. and showed the speed in the digital tube.
引言 目前,在工业控制生产以及仪器上应用十分广泛。通常都要对一些机械部件平移和转动,对 移动的位移和角度控制要求较高,一般的电机很难实现对位置和角度的精确控制,在一些智 能化要求较高的场合,用模拟芯片控制器及信号发生器来控制有一定局限性。而用单片机控 制步进电机可以改善性能,步进电机能实现精确的角度和转数,具有良好的步进特性,最适 合数字控制。在工控设备中得到了广泛的应用。而单片机具有芯片体积小,兼容性强,低电 压地,低功耗等特点,使单片机成为驱动步进电机的最佳空盒子单元。所以单片机控制步进 电机系统控制精度高,运行稳定,得以广泛运用。 1 单片机控制步进电机的一般原理 1.1 步进电机 1.1.1 步进电机介绍
静态指标
相数 步距角 拍数 定位转矩 保持转矩
步进电机动态指标 步距角精度 失步 失调角 最大空载启动频率 最大空载运行频率 运行频距特性 电机共振点
1.1.4 步进电机工作原理 分析(步进电机展开图)
以反应式步进电机为例,其典型结构图如图 1 所示。这是一个四相步进电机,当相控制绕组接 通脉冲电流时,在磁拉力作用下使相的定、转子对齐,相邻的 B 相和 D 相的定、转子小齿错 开。若换成 B 相通电,则磁拉力使 B 相定、转子小齿对齐(转过) ,而与 B 相相邻的 C 相和 A 相的定、转子小齿又错开,即步进电机转过一个步距角。若按 A →B →C →D →A ?规律循环 顺序通电,则步进电机按一定方向转动。若改变通电顺序为 A →D →C →B →A ,则电机反向 转动。这种控制方式称为四相单四拍。若按 AB →BC →CD →DA →AB 或 A →AB →B →BC →C →CD →D →DA →A 顺序通电则称为四相双拍或四相单、双八拍。无论采用哪种控制 方式,在一个通电循环内,步进电机的转角恒为一个齿距角。所以,可以通过改步进电机通电循 环次序来改变转动方向,可以通过改变通电频率来改变其角频率。运用单片机的输出功能,通 过编程实现输出四个信号分别给步进电机的四相 A、B、C、D ,并通过输出时信号的循环次 序,来设定步进电机的转动方向及输出信号的频率以便设定步进电机的转动频率。
2 步进电机驱动实现 2.1 简介
步进电机在单单仅给予电压时,电机是不会动作的,必须由脉冲产生器提供位置(脉波数)、 速度的脉冲信号指令,以及驱动器驱动电流流过电机内部线圈、依顺序切换激磁相序的方式 才能够让电机运 转。所以欲使步进电机动作的必要系统组成有: (1)脉冲产生器:给予角度(位置移动量)、动作速度及运转方向之脉冲信号的电机驱动指 令。 (2)步进驱动器:依控制器所投入的脉冲信号指令,提供电流来驱动步进电机动作。 (3)步进电机:提供转矩动力输出来带动负载。所以步进电机系统构成简单,不需要速度 感应器、位置传感器, 即能依照脉冲产生器所输入的脉冲来做到速度及位置的控制。
说明: 对于显示部分,因为这个系统只是显示转速,所以采用了 LED 共阳极数码管。 并且用了 74HC573 锁存器,74HC573 锁存器输出电流大,接口电路简单。本系统采用了两 个 74HC573 锁存器,分别为段选和位选。段选为数码管的显示数字,位选为选中相应的数 码管。 程序流程图
总结 通过本次的课程论文,让我真实的感受到一个完整的系统设计过程。这次的的论文从开始的 整体布局,排版,到内容中的系统设计直到最后完成。每个流程下来,都带给了我很多的新 东西,特别在设计完系统之后做硬件部分中,先是用 protel99se 画图,好多图在库中找不到, 找不到就自己画,然后封装,封装的时候还要用游标卡纸对买来的元件进行精确的测量,然 后才能在封装的过程中保证精度。最后做完图之后还要布线,布线完成后再发到厂家去做。 事实上这个过程我用买好的空板做的,因为元件不多。所以就买了相应的元件直接再 PCB 板上焊接好的。在焊接的过程中也会感受到很多东西,因为很多需要注意的。不过这个过程 多多尝试就会有进步的。焊接完后就是代码调试阶段。最后就完成了这个小型系统的设计。
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电 机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电 机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期 性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的 简单。虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机、交流电机在常 规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步 进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。 1.1.2 步进电机分类 永磁式(PM)。一般为二相,转矩和体积都很小,步距角一般为 7.5 或 15° 反应式(VR)。一般为三相,实现大转矩输出,步距角为 1.5°。 混合式(HB)。兼具永磁式和反应式的优点,分二相和五相,二相步距角为 1.8°五相步距角 为 0.72°。 1.1.3 技术指标