基于单片机的步进电动机控制器的设计
基于步进电机控制系统设计
基于步进电机控制系统设计摘要:文中给出了一种步进电机控制系统。
系统利用AT89C51单片机对由键盘输入的时间和角度进行控制处理,实现对步进电机运转的精确定时定位。
通过键盘输入给出步进电机需要运转的时间和角度,采用LCD1602液晶显示剩余的时间和角度。
关键词:AT89C51;步进电机1 系统总体设计方案系统由单片机,步进电机,键盘输入电路,按键电路,液晶显示电路,步进电机驱动电路,蜂鸣器电路等组成。
系统框图如图1所示。
系统以AT89C51单片机作为主控单片机,接收由键盘输入的时间和角度信号,控制步进电机精确的运行和液晶显示剩余的时间和剩余的角度。
电机正反转可以由按键模块确定;电机运行结束时候的提示音由蜂鸣器模块来完成。
2 系统硬件设计2.1 步进电机模块步进电机在本质上属于一种执行机构元件,其旋转是一步一步运行的。
每当步进驱动器接收到单片机输出地一个脉冲信号时,它将驱动步进电机按设定的旋转方向转动一个固定的角度,通常这个角度叫做”步进角”。
通常步进电机的齿数和运行拍数决定步进角。
所需要的角位移量可以通过改变脉冲的个数而得到,从而可以准确定位;其次改变脉冲的频率可以控制电机转动的速度和加速度即可进行调速。
本次设计采用四相六线步进电机,工作方式为八拍。
步进电机的齿数是50,步进角为0.9度。
一个周期内运转7.2度。
2.2 液晶显示模块设计液晶显示模块[6]采用能显示各种字体的数字、汉字、图像和自定义显示内容LCD1602显示器。
本次设计利用液晶显示步进电机运行剩余的时间和剩余的角度。
LCD1602液晶显示模块与单片机的连接如图2所示。
2.3 矩阵键盘输入模块键盘中根据按键连接方式的不同可以分为独立式键盘和行列式键盘两大类,每一类都有编码和非编码键盘之分。
编码键盘主要是用硬件识别按键,典型的应用是PC中的键盘,非编码键盘主要是通过软件来实现键盘的定义与识别,非编码键盘的特点是结构简单,成本价格低,在单片机系统中得到了广泛的应用[7],本次设计按键的识别采用的是较为常用的逐行(逐列)扫描查询法。
基于AT89C51单片机和ULN2003驱动芯片的步进电机控制及驱动电路系统的设计
基于AT89C51单⽚机和ULN2003驱动芯⽚的步进电机控制及驱动电路系统的设计摘要 (1)Abstract (2)第⼀章.绪论 (2)1.1设计背景 (4)1.2关于国内外同类产品的发展和应⽤ (4)1.3 本⽂所做的⼯作 (5)1.4 研究内容与安排 (5)第⼆章系统总体⽅案设计 (7)2.1 设计原理 (7)2.2 主要元器件介绍 (8)2.2.1 四相六线步进电机的介绍 (8)2.2.2 AT89C51单⽚机芯⽚介绍 (10)2.2.3 ULN2003芯⽚介绍 (11)2.2.4 LED七段数码管介绍 (12)第三章步进电机控制及驱动系统电路设计实现 (13)3.1 硬件设计 (13)3.2 软件设计 (17)第四章电路调试 (18)第五章总结 (20)致谢 (21)参考⽂献 (22)附录 (23)摘要本⽂主要研究了⼀种基于AT89C51单⽚机和ULN2003驱动芯⽚的步进电机控制及驱动电路系统的设计。
该系统可分为:控制模块、驱动模块、显⽰模块、⼈机交互模块四⼤部分。
其中采⽤AT89C51单⽚机作为控制模块的核⼼,利⽤单⽚机编程实现了对步进电机启动停⽌、正转反转、加速减速等功能的基本控制。
驱动模块由芯⽚ULN2003A驱动步进电机⼯作;显⽰部分由七段LED共阴数码管组成;⼈机互换部分由相应的按键实现相应的功能。
通过实际测试表明本设计系统的性能优于传统步进电机控制器,具有结构简单、可靠性⾼、实⽤性强、⼈机接⼝简单⽅便、性价⽐⾼等特点。
此外,本⽂还介绍了步进电机的基本原理及AT89C51单⽚机的性能特点。
关键词:步进电机;ULN2003; AT89C51;AbstractThis article mainly introduced the basic principle of stepping motor and the performance characteristics of AT89C51.Design research based on AT89C51 and ULN2003 stepper motor driver chips control and drive circuit system.The system can be divided into: control module, drive module, display module, human–computer interaction module.The AT89C51 single chip microcomputer as the core of the control module, microcontroller programming has realized the start stop the stepper motor, forward reverse, speed reducer, and other functions of basic control.Driver module driven by chip ULN2003A stepper motor;Display section is made up of seven segment digital tube LED, Yin;Man-machine interchangeable parts by the corresponding button to achieve the corresponding function.Through the actual test show that the system performance is superior to the traditional stepping motor controller is designed, with simple structure, high reliability and strong practicability, simple and convenient man-machine interface, high cost performance, etc.Key words: stepper motor;ULN2003;AT89S52 devices.摘要 (1)Abstract (2)第⼀章.绪论 (4)1.1设计背景 (4)1.2 关于国内外同类产品的发展和应⽤ (4)1.3 本⽂所做的⼯作 (5)1.4 研究内容与安排 (5)第⼆章系统总体⽅案设计 (7)2.1 设计原理 (7)2.2 主要元器件介绍 (8)2.2.1 四相六线步进电机的介绍 (8)2.2.2 AT89C51单⽚机芯⽚介绍 (10)2.2.3 ULN2003芯⽚介绍 (11)图2.6 ULN2003逻辑图 ..................................................................................................................... 11 2.2.4 LED 七段数码管介绍............................................................................................................... 12 图2.7六位LED 共阴数码显⽰管图 (12)第三章步进电机控制及驱动系统电路设计实现 (13)3.1 硬件设计 (13)1B 11C 162B 22C 153B 33C 144B 44C 135B 55C 126B 66C 117B77C10COM 9U2ULN2003AXTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78 P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51 ............................................................................................................................................................ 14 3.2 软件设计.. (17)第四章电路调试 ................................................................................................... 18 第五章总结............................................................................................................. 20 致谢......................................................................................................................... 21 参考⽂献................................................................................................................. 22 附录 . (23)第⼀章.绪论1.1设计背景电⽓时代的今天,电动机⼀直在现代化的⽣产和⽣活中起着⼗分重要的作⽤。
基于单片机的步进电机器控制设计
摘要本文应用单片机AT89C51和脉冲分配器PMM8713,步进电机驱动器,光电隔离器4N25等,构建了步进电机控制器和驱动器为一体的步进电机控制系统。
通过AT89C51和脉冲分配器PMM8713完成步进电机的各种运行控制方式,实现步进电机在3相6拍的工作方式下的正反转控制和加减速控制。
并通过步进电机丝杠连动,带动XY工作台的直线运动,实现从起点A点到预定点B点的位移控制。
整个系统采用模块化设计,结构简单,可靠,通过人机交互换接口可实现各功能设置,操作简单,易于掌握。
该系统可应用于步进电机在机电一体化控制等大多数场合。
关键词:步进电机单片机控制目录绪论 (1)1、步进电机及其发展 (1)1.1步进电机在我国的发展应用及前景 (2)1.2本文研究内容 (2)2、步进电机的分类、结构、工作原理及特性 (2)2.1步进电机的概念 (2)2.2步进电机的特点 (3)2.3步进电机的结构及工作原理 (3)2.4步进电机的常用术语 (4)3、步进电机的单片机控制 (5)3.1步进电机控制系统组成 (5)3.2步进电机控制系统原理 (6)3.3脉冲分配 (6)3.4步进电机与微型机的接口电路 (8)4、步进电机的运行控制 (9)4.1步进电机的速度控制 (9)4.2步进电机的位置控制 (9)4.3步进电机的加减速控制 (10)5、步进电机的程序设计 (11)5.1程序框图 (11)结论 (13)致谢辞 (13)参考文献 (13)绪论步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
基于AT89S52单片机的步进电动机控制模块设计
基于AT89S52单片机的步进电动机控制模块设计作者:明立娟来源:《科技创新与应用》2014年第32期摘要:文章设计了一种步进电动机控制系统,使用AT89S52单片机控制2相步进电机,由单片机产生驱动脉冲信号,通过按键控制步进电机的启停和步进方向,可根据实际需要对单片机进行编程,并通过Proteus仿真软件对系统进行仿真和测试。
关键词:AT89S52单片机;步进电动机;控制引言步进电动机是将电脉冲激励信号转换成相应的角位移或线位移的离散值控制电动机,这种电动机每当输入一个电脉冲就动一步,所以又称脉冲电动机。
步进电动机实际上是一种单相或多相同步电动机。
单相步进电动机由单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。
多相步进电动机由多相方波脉冲驱动,在经功率放大后分别送入步进电动机各相绕组。
当向脉冲分配器输入一个脉冲时,电动机各相的通电状态就发生变化,转子会转过一定的角度(称为步距角)。
在非超载的情况下,电动机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电动机加一个脉冲信号,电动机则转过一个步距角。
这一线性关系的存在,加上步进电动机只有周期性的误差而无累计误差等特点,使得在速度、位置等控制领域用步进电动机来控制变得非常简单。
本研究利用AT89S52单片机的四路I/O通道实现环形脉冲的分配,控制步进电动机匀速、连续的按固定方向转动,通过按键控制步进电动机的旋转角度。
1 系统设计用AT89S52单片机来作为整个步进电动机控制系统的核心部件,其系统设计总框图如图1所示。
真个系统包括单片机最小系统、电机驱动模块、独立按键模块等。
图1 系统设计总体框图1.1 单片机最小系统单片机最小系统主要负责产生控制步进电动机转动的脉冲,通过单片机的软件编程代替环形脉冲分配器输出控制步进电机的脉冲信号,步进电机转动的角度大小与单片机输出的脉冲数成正比,步进电机转动的速度与输出的脉冲频率成正比,而步进电机转动的方向与输出的脉冲顺序有关。
基于AT89C51单片机的步进电动机控制系统设计
重庆科技大学本科毕业论文基于AT89C51单片机的步进电动机控制系统设计考生姓名: XXXXX X 准考证号: XXXXXXXXXXXX 专业层次:本科院(系):XXXXXXXXXXXXXXXXXXX 指导教师: XXXXXX 职称:讲师重庆科技大学二O一二年月日基于AT89C51单片机的步进电动机控制系统设计考生姓名: XXXXXX准考证号: XXXXXXXXXXXX专业层次:本科指导教师: XXXXXXX院(系):机械与动力工程学院重庆科技大学二O一二年九月二十日摘要随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。
研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。
步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成。
采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加。
软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。
本设计是采用AT89C51单片机对步进电机的控制,通过I/O口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机。
实践证明,基于单片机控制的步进电机比传统的步进控制器具有更好的性能,更加简单、方便、可靠。
本设计的主要研究对象就是开环伺服系统中最常用的执行器件——步进电机。
关键词:步进电机,单片机,正反转控制,键盘控制,LCD液晶显示Based on the AT89C51 single-chip stepper motor controlsystem designABSTRACTWith the development of microelectronics and computer technology, the stepper motor demand grow with each passing day, which is widely used in printers, electric toys and other consumer products, industrial robots and CNC machine tools, medical equipment and other mechanical and electrical products, the national economy in various fields are applied. Study of stepping motor control system, to improve the control precision and response speed, energy saving etc have important significance.A stepper motor can be converted into electric pulse signal of angular displacement or line displacement of the mechanical and electrical components, a stepper motor control system is mainly composed of a stepping controller, a power amplifier and a stepper motor. Using single chip microcomputer control, using software to replace the stepping controller, which has the advantages of simple circuit, low cost, reliability is increased. Software programming can produce different types of step motor excitation sequence to control stepper motor operation mode.This design is the use of AT89C51 single-chip stepper motor control, through the I/O port output timing square wave as a stepper motor control signal, the signal through the ULN2003 chip stepper motor driver.Practice has proved, based on the single chip microcomputer to control the step motor than the traditional stepping controller has better performance, more simple, convenient, and reliable. The design of the main research object is the open loop servo system in the most commonly used executive device -- stepping motor.Keywords:Stepper motor, MCU, Positive control, Keyboard control, LCD liquid crystal display目录中文摘要 (I)英文摘要 (II)1 绪论 (1)1.1 步进电机及其发展 (1)1.2 步进电机在我国的发展应用及前景 (1)1.3 设计研究内容 (2)2 控制系统硬件分析与设计 (3)2.1 步进电机 (3)2.1.1 步进电机的原理 (3)2.1.2 步进电机的特点 (4)2.1.3 步进电机的分类 (4)2.1.4 永磁步进电机的控制原理 (5)2.2 单片机的选择 (6)2.2.1 单片机的引脚功能 (6)2.2.2 主要特性 (6)2.3 步进电机控制系统的组成 (7)2.3.1 键盘控制电路 (7)2.3.2 LCD液晶显示电路 (8)2.3.3 步进电机驱动电路 (10)3 控制系统软件分析与设计 (13)3.1 程序流程图 (13)3.2 读键盘子程序流程图 (14)3.3 键盘处理子程序流程图 (14)3.4 电机控制中断程序流程图 (15)4 调试与改进 (17)4.1 调试与改进 (17)4.2 运行结果 (17)结论 (19)致谢 (20)参考文献 (21)附录一 (22)附录二 (27)论文原创性声明1 绪论1.1 步进电机及其发展步进电机又称为脉冲电动机或阶跃电动机,它是基于最基本的电磁感应作用,将电脉冲信号转变为角位移或线位移的开环控制元件。
毕业设计论文 基于单片机的步进电机控制器的设计 (2)
第1章绪论 (2)1.1引言 (2)1.2步进电机常见的控制方案与驱动技术简介 (4)1.2.1常见的步进电机控制方案 (4)1.2.2步进电机驱动技术 (6)1.3本文研究的内容 (8)第2章步进电机概述 (9)2.1步进电机的分类 (9)2.2步进电机的工作原理 (10)2.2.1结构及基本原理 (10)2.2.2两相电机的步进顺序 (10)2.3 步进电机的工作特点 (13)2.4本章小结 (15)第3章系统的硬件设计 (16)3.1系统设计方案 (16)3.1.1系统的方案简述与设计要求 (16)3.1.2系统的组成及其对应功能简述 (16)3.2单片机最小系统 (18)3.2.1AT89S51简介 (18)3.2.2单片机最小系统设计 (23)3.2.3单片机端口分配及功能 (24)3.3串口通信模块 (24)3.4数码管显示电路设计 (25)3.4.1共阳数码管简介 (25)3.4.2共阳数码管电路图 (26)3.5电机驱动模块设计 (27)3.5.1L298简介 (27)3.5.2电机驱动电路设计 (28)3.6驱动电流检测模块设计 (30)3.6.1OP07芯片简介 (30)3.6.2ADC0804芯片简介 (32)3.6.3电流检测模块电路图 (35)3.7独立按键电路设计 (36)3.8本章小结 (36)第4章系统的软件实现 (37)4.1系统软件主流程图 (37)4.2系统初始化流程图 (38)4.3按键子程序 (39)结论 (43)1第1章绪论1.1引言步进电动机又称脉冲电动机或阶跃电动机,国外一般称为Steppingmotor、Pulse motor或Stepper servo,其应用发展已有约80年的历史。
步进电机是一种把电脉冲信号变成直线位移或角位移的控制电机,其位移速度与脉冲频率成正比,位移量与脉冲数成正比。
步进电机在结构上也是由定子和转子组成,可以对旋转角度和转动速度进行高精度控制。
基于单片机的步进电动机调速系统的设计开题报告
基于单片机的步进电动机调速系统的设计开题报告标题:基于单片机的步进电动机调速系统的设计开题报告一、选题背景和意义步进电动机是一种常见的电动机类型,具有精度高、控制简单、适用范围广等优点。
在工业自动化控制系统中,步进电动机的调速系统被广泛应用。
本次设计旨在基于单片机技术,设计一种步进电动机调速系统,以实现对步进电动机的精准控制,提高生产效率和产品质量。
二、研究目标1. 设计一套基于单片机的步进电动机调速系统,实现对步进电动机的精准控制;2. 实现步进电动机的速度控制和位置控制功能,以满足不同应用场景的需求;3. 提高步进电动机的运动精度和稳定性,提高生产效率和产品质量。
三、研究内容和方法1. 系统硬件设计:选择适当的单片机型号,并搭建单片机控制电路,包括电源电路、驱动电路、信号输入输出接口等;2. 系统软件设计:使用C语言编程,编写单片机的控制程序,实现步进电动机的速度和位置控制;3. 系统测试与优化:对设计的步进电动机调速系统进行测试,并根据测试结果进行优化改进,提高系统的性能和可靠性。
四、预期成果和创新点1. 设计一套基于单片机的步进电动机调速系统,实现对步进电动机的精准控制;2. 实现步进电动机的速度控制和位置控制功能,满足不同应用场景的需求;3. 提高步进电动机的运动精度和稳定性,提高生产效率和产品质量。
五、进度安排1. 第一周:调研相关技术和文献,了解步进电动机的原理和控制方法;2. 第二周:选择适当的单片机型号,并搭建单片机控制电路;3. 第三周:编写单片机的控制程序,实现步进电动机的速度和位置控制;4. 第四周:对设计的步进电动机调速系统进行测试,并进行优化改进;5. 第五周:撰写设计报告和制作展示材料。
六、存在的问题和解决方案1. 硬件选型:选择适合步进电动机调速系统的单片机型号和驱动电路,可以参考相关文献和实验室的经验;2. 软件编程:由于步进电动机的控制涉及到速度和位置的精确控制,需要仔细编写控制程序,可参考相关的单片机控制实例;3. 系统测试:在测试过程中可能会出现电路连接错误、程序逻辑错误等问题,需要仔细检查和排除故障。
基于PIC单片机的步进电动机控制系统设计
i
匿H — 越 H .H — .. — — — . — H — 邈 ,— 遨 — — 迸f
图 1 步进 电动机驱动 电源方框 图
;
;
j
在 步 进 电 动机 的实 际运 行 过 程 中 , 由加 速度 频 率 特性 可得 , 如果 运 行频 率大 于起 动频 率 时 , 进 电 步 动 机会 发生 失 步 现象 。同样 , 当运 行 频 率 突 然停 止 时, 步进 电动机会 由于惯性 作 用产 生过 冲现 象 , 造成 位 置不 精确 。如 果 频 率 过低 , 进 电动 机 的 速度 又 步 会 太慢 。所 以加 减速 过程 控制 的好 坏 直接决 定 了步 进 电动 机 的控制 精度 。在 不发 生失 步 和过 冲现 象 的 前 提下 , 步进 电动 机 从 一 个 位 置 快 速精 确 地 移 动 使
对步进电动机的速度和位置控制 。较好地 解决了步进 电动机运动 过程 中存在 的失 步 、 冲等现象 , 出了控制 系统 过 给
的主要硬件 电路及软件 的设计 , 并利用 c语 言实 现了 PC单 片机对 步进电动机 的精确控制 。 I
关键词 : 步进 电动机 ; 查表法 ; 参数法 ; 速度 ; 位置 ;I 1F 7 PC 6 87
Ke r s se p rmoo ;o k u a l t o p r me r t o s e d; o i o P C1 F 7 y wo d : tp e t r l o - p t b e meh d; a a t c me h d; p e p st n; I 6 8 7 i i
…
…
堕堕 … 曼 皇 . 蔓
旦…一…………… ………. … …………………………
单片机课程设计步进电机
单片机课程设计-步进电机江南大学物联网工程学院课程设计报告课程名称:单片机原理及应用设计题目:基于单片机的步进电机控制器设计班级:姓名:学号:指导教师:评分:年月日基于单片机的步进电机控制器设计摘要:本设计是用80C52单片机作为核心部件进行逻辑控制及信号产生,用单片机技术和C 语言编程设计来进行步进电机的控制。
通过人手动按开关实现步进电机的启动与停止、步进电机的正转反转,加速及减速等功能,此外还有LCD 数码管进行实时显示功能。
同时本文也通过了proteus软件的仿真,在仿真结果中能看出近似真实的效果。
经过proteus仿真,结果表明,系统实现了要求。
该系统电路简单,可靠性强,运行稳定。
关键词:步进电机单片机LCD proteus 仿真1课题主要研究内容和要求本设计采用单片机80C52来作为整个步进电机控制系统的运动控制核心部件。
所选的步进电机是四相五线的,由于步进电机需要高功率驱动,单片机不能与步进电机直接相连,因此我们需要采用了电机驱动芯片ULN2003连接步进电机和单片机。
为了显示步进电机转速,我用数码管来显示速率。
再加上一些独立按键来实现步进电机调速、改变转向的功能。
这样就构成了一个基本的步进电机控制系统。
系统的具体功能和要求如下:1、电机转速可以平稳控制;2、通过键盘和显示器可以设置电机的转速;3、能显示电机的运动趋势;2所需仪器设备所需器件备注所需器件备注STC89C52一片12M晶振一个单片机ULN2003驱一片按键五个动芯片八位共阳数一片异步电机一个码管芯片不同阻值电若干+5V电源一个阻30pF电容两个3系统总体设计本设计的硬件电路包括独立按键控制模块、步进电机驱动模块、数码管显示模块和单片机最小系统四部分。
单片机最小系统由时钟电路和复位电路组成,保证单片机正常运行;独立按键控制模块由开关和按键组成,当按下按键时,该系统就按照该按键控制的功能运作;显示模块主要是为了显示电机的工作状态和转速;驱动电路主要是对单片机输出的脉冲进行功率放大,从而驱动电机转动。
基于单片机的步进电机控制设计毕业论文
基于单片机的步进电机控制设计毕业论文摘要:步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件,在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,广泛应用在各种自动化控制系统。
本设计以AT89C51单片机为核心,对步进电机进行控制,通过按键实现步进电机正转、反转、加速、减速,并使用LED显示电机速度。
经过PROTEUS仿真和硬件焊接,结果表明,系统实现了要求。
该电路简单,可靠性强,运行稳定。
关键词:AT89C51;ULN2003;LED;步进电机单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。
采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。
例如精密的测量设备(功率计,示波器,各种分析仪)。
同时用单片机还可以构成形式多样的控制系统、数据采集系统。
例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗大容量、高性能、低价格和外围电路内装化等几个方面发展。
综合所述,单片机已成为计算机发展和应用的一个重要方面。
另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命[2]。
步进电机作为执行元件,是机电一体化的关键产品之一,随着工业自动化的发展,步进电机的应用也越来越广泛,广泛应用在各种自动化控制系统中。
步进电机是一种用于开环控制的驱动元件。
它是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动机。
基于AT89C52单片机的步进电机控制系统研究
H eCh n Wa g S h n o g n hu o g H o uSh n e gwe N i i uH ui n we
( l g f e t ct n o r n ie rn ay a iest f e h o o y T iu n0 0 2 ) Co l eo cr i a dP we gn eigT iu nUnv ri o c n lg , ay a 3 0 4 e El i y E y T
步进 电机 的 5种运 行状 态 以及 运行速 度 。5位 L D E 通 过 7 L 18接 在单 片机 的 P . 4 S3 23 25口上 ,5位 一P . L 分别 用于 表示步 进 电机 的 正转 、反转 、加 速 、减 D 速 、停 止 5种运行 状态 。
23 驱 动 模 块 .
3 V 和 5 电压 分别给 单片机 、 晶振 、L D 和控制 . 5 V E 电路供 电。1MH 2 z的 晶振给 单 片机 提供 时钟信 号 。 单 片机 的串 口用 于和 P 上 位机 的通信 以及烧录 软 C
件程 序 。P 口控 制驱动 电路 开关管 的通断 。P 和 1 0 P 2口控制 L D1 0 C 6 2和 L D 组成 的显示模 块 。 3口 E P 检 测键盘 信号及 外部 中断信 号 。 22 键盘 及显示模 块 . 控制 系统 设置 了 5位 独立 按键组 成的键 盘模块 以及 由 L D10 C 6 2和 5位 L D 组成 的显示模 块 。通 E 过键 盘可 以对 步进 电机进行 正转 、反 转 、加 速 、减 速 、停止 功 能的操 作 。步进 电机 运行 时 的状 态信 息 可 以通 过显 示模块 直观 的显示 出来 。图 2为键 盘及
基于51单片机的步进电机控制系统设计
基于51单片机的步进电机控制系统设计步进电机是一种特殊的直流电动机,具有定角度、定位置、高精度等特点,在许多领域得到广泛应用,如机械装置、仪器设备、医疗设备等。
本文将基于51单片机设计一个步进电机控制系统,主要包括硬件设计和软件设计两部分。
一、硬件设计步进电机控制系统的硬件设计主要包括51单片机、外部电源、步进电机驱动模块、以及其他辅助电路。
1.51单片机选择由于步进电机控制需要执行复杂的算法和时序控制,所以需要一个性能较高的单片机。
本设计选择51单片机作为主控芯片,因为51单片机具有丰富的外设接口、强大的计算能力和丰富的资源。
2.外部电源步进电机需要较高的电流供给,因此外部电源选择稳定的直流电源,能够提供足够的电流供电。
电源电压和电流的大小需要根据具体的步进电机来确定。
3.步进电机驱动模块步进电机驱动模块是连接步进电机和51单片机的关键部分,它负责将51单片机输出的脉冲信号转化为对步进电机的驱动信号,控制步进电机准确转动。
常用的步进电机驱动芯片有L297、ULN2003等。
4.其他辅助电路为了保证步进电机控制系统的稳定运行,还需要一些辅助电路,如限流电路、电源滤波电路、保护电路等。
这些电路的设计需要根据具体的应用来确定。
二、软件设计1.系统初始化系统初始化主要包括对51单片机进行外部中断、定时器、串口和IO 口等初始化设置。
根据实际需求还可以进行其他模块的初始化设置。
2.步进电机驱动程序步进电机的驱动程序主要通过脉冲信号来控制电机的转动。
脉冲信号的频率和脉冲宽度决定了电机的转速和运行方向。
脉冲信号可以通过定时器产生,也可以通过外部中断产生。
3.运动控制算法步进电机的运动控制可以采用开环控制或闭环控制。
开环控制简单,但无法保证运动的准确性和稳定性;闭环控制通过对电机转动的反馈信号进行处理来调整脉冲信号的生成,从而实现精确的运动控制。
4.其他功能设计根据具体的应用需求,可以加入其他功能设计,如速度控制、位置控制、加速度控制等。
基于单片机AT89C52的步进电机的控制器设计
基于单片机AT89C52的步进电机的控制器设计步进电机是一种非常常见的电机类型,由于其具有精准定位、适应高速运动以及控制简单等特点,被广泛应用于各种自动化设备中。
本文将从步进电机的工作原理、控制方式以及基于单片机AT89C52的步进电机控制器设计等方面展开阐述。
首先,我们来了解步进电机的工作原理。
步进电机是一种特殊的同步电动机,它具有内置的磁化轭,在没有外部励磁的情况下也能自动旋转。
步进电机的旋转是由控制电流方向和大小来实现的。
通常情况下,步进电机每转动一定角度,称为“步距角”,它可以是1.8度、0.9度、0.45度等,不同的步距角决定了电机的分辨率。
步进电机的控制方式主要有全步进和半步进两种。
全步进是指每次控制信号脉冲后,电机转动一个步距角。
而半步进则是在全步进基础上,在脉冲信号中引入一半步距角的微调。
控制信号脉冲可以是脉冲序列或者方波信号。
基于单片机AT89C52的步进电机控制器设计主要包括控制信号发生器的设计和步进电机驱动电路的设计。
控制信号发生器负责产生相应的控制信号脉冲,而步进电机驱动电路将这些脉冲信号转化为电流信号驱动步进电机。
控制信号发生器的设计可以采用定时器/计数器模块来实现。
AT89C52芯片具有可编程的定时器/计数器,可以用来产生控制信号的脉冲。
通过设置定时器的工作方式和计数值,可以实现不同频率、占空比的控制脉冲。
步进电机驱动电路的设计主要包括功率级驱动电路和电流控制电路。
功率级驱动电路负责将控制信号转化为足够大的电流驱动步进电机,通常采用功率放大器来实现。
电流控制电路则用来控制驱动电流的大小,使步进电机能够顺畅工作。
电流控制电路通常采用可调电阻、电流检测电阻和比较器等元件组成。
在步进电机控制器设计中,还需要考虑到步进电机的特性和应用需求。
例如,步进电机的电源电压、额定电流、阻抗、扭矩等参数需要与驱动电路匹配。
此外,还需要考虑到步进电机的机械结构、位置传感器、防重叠措施等因素。
基于单片机控制的步进电机串行开环控制系统设计与实施探讨
基于单片机控制的步进电机串行开环控制系统设计与实施探讨摘要:抗扰性能高于电脑的根据工业测控环境条件设计制成的芯片(单片机)在步进电机控制系统中广泛应用。
控制电路不受负载位置反馈的开环控制简单易实现,价格较低。
本文对控制系统采用单片机制成的开环控制步进电机结合案例进行讨论分析。
关键词:单片机;步进电机;串行;开环控制;1引言微控制器(MCU,单片机)以小体积、多功能、高性价等优势在工业生产中占有重要的一席之地。
MCU上集成CPU、RAM、ROM、定时计数器、I/O电路、串行接口等部件于一体芯片,换而言之即为独一芯片上的电脑,其作为一个部件完美融入在工业应用中,被称为称为Embedded Microcon troller(嵌入式控制器)。
作为一类角位移由电脉冲形成的动力机构系统,步进电机通过脉冲信号驱动,每次按照生产设计预定的方向转动一个或倍数个步进角(设计时设定的一个固定角度)。
步进角个数决定角位移,而步进角个数由受控脉冲数控制。
电机调速时,同样以脉冲频率控制电机转动加速度,从而达到影响电机转速的目的。
现今各类步进电机均具备快速启停功能,其构成的自动动力系统一般无需反馈调节即可控制动力输出速度及位置,同时通常不积累位置上的系统误差。
而且,这种电机系统具备通用匹配的特点,能直接兼容数组设备以收受外部数字信号控制。
尽管比起开环控制来说,闭环控制相对而言较为可靠,然而闭环控制步进电机构成动力系统成本高于开环系统,且有不小的概率诱发动机系统的持续机械振荡。
同时,若有对系统动态性能上的考虑,则交、直流电机伺服系统是更好的选择。
综合性价比、需求目标等因素考虑开环控制系统属于步进电动机控制系统的多数选择。
2对单片机开环控制步进电机统各部分的分析2.1 电机开环控制系统步进电动机的控制方式中开环控制最简单的即是玎环控制系统。
图1所示即为一种步进电机开环控制系统示意图。
玎环控制下,脉冲电流作为电机控制的介质,其不受电机转子位置的影响。
基于单片机的可通信步进电机控制器设计
4计算机程序设计
采 用V i s u a l B a s i c编写 控制程 序 .通 信控件 采用
自动 化 应 用 2 0 1 4 2期 i 3 6
( 1 ) V命令后可 以继 续使用 v命令 以实现调速过
HM I 及 PLG 控 制 系 统
5结语
设计一 种带通 信功 能 的中间控 制器 .可很 容易
地 实 现 计 算 机 对 步 进 电 机 的 控 制 .适 合 于 组 建 简 单 的 自动 控 制 系 统 。对 于 有 着 不 同 功 能 需 求 的 现 场 . 可 以通 过 改 变 或 增 加 控 制 器 的 控 制 指 令 . 以实 现 目标 要求 。
参 考 文 献
[ 1 ] 王晓 明. 电动机 的单 片机控 制[ M] . 北京 : 北京航 空航 天 大学 出版社 . 2 0 0 2 : 1 8 1 — 1 8 8 [ 2 ] 刘 宝廷 , 程 树康 . 步 进 电动机 及 其驱 动控 制 系统[ M] . 哈
( 2 ) s命 令 执 行 过 程 中也 不 能 接 受 V命 令 , 因为 升 降速 过程 直 接做 在 脉 冲输 出 中断 中 。 ( 3 ) P命 令 不 受 现 行 电机 运 行 状 态 的限 制 , 以便 于 紧急 停 机 ( 4 ) R命 令 亦 不 受 电机 运 行 状 态 限 制 ,计 算 机 可 随 时读 取 电机 相 对 位 置 ( 5 ) Z命 令 虽 然 可 随 时 执 行 . 但 是 受 信 号 延 迟 的影 响. 运 行 中 所 定 位 的参 考 零 点 不 准 . 只 有 在 电机 停 止 时所 定 位 的零 点 才 有 意 义
基于单片机步进电机的控制系统设计
1 硬 件设 计 本 文介绍 的设计 方案 是基 于单片 机 的 步进 电机运 行控 制系统 。在这个 控制 系统 中, 控 制器是 它的核心 , 因为它 担负着 产生 脉 冲, 发送 、 接受控制命令等任务 。 整个系统 的控制核心是 A T 8 9 C 5 1 。其成本相对较低 , 运行可靠性较高 。 系统 的组成方框图如图 1 所示。 本系统 由单 片机 ( Mc u) 、 电机驱 动 电路 、 L E D显 示 ( 指示 ) 、 按键 电路和看 门狗电路等组成。单 片机 A T 8 9 C 5 1 控 制步 进 电机脉 冲信 号 , 通 图 1 系统 框 图 过外接 键盘作 为输人 控制 步进 电机 的正 反 转、 停止 、 加减速工作状 态 , 并通过 显示 器进 行工作状态信 号输 出。在这个控制系统 中, 单片机 是核心 , 它 通过键 盘接受 指令 、 通 过 运算控制单片机运行 、 并通过显示器进行信 号输出。 2 系统软件设计 当在待机状态下设定好所需 的参数后 , 按 下“ 启停 ” 键, 系统便开始根据设定 的参数 和运行模 式进行 步进 电机控 制脉 冲输 出运 行。 程序 中按照设定参数顺序输出控制 脉冲 是受定 时器中断控 制。( 见图 2 ) 3技术经济分析 对 于 电动机来讲 ,要 求不 断 的减 少硬 件, 降低成本 , 并不 断提 高起 原先 的稳定性 、 可靠性 , 对技术 的要求越来越高 。设计工作 是工 程建设的关键环节 , 做好设计工作对工 程建 设 的工期 、 质量 、 费用 和应 用 于实际后 的运行 安全性和 的经济效益 , 起着决定性作 用 。因此 ,设计时一定要力求技 术成 熟 、 可 靠, 并尽可能 的节约资金 。本设计采用步进 电动机作 为控制对象 , 因为步进 电动机作为 数字控制 系统 的一种元件 , 其功用是将脉 冲 电信号变换为 角位移或直线位移 。 它能按照 图 2 步 进 电机 运 行 模 块 主 流 程 控制 脉 冲的要求 , 能迅 速启动 、 正转 、 反转 、 加速 、 减速 、 制动 ; 工 作时能够 不失 步 , 步距 精度 高 , 鉴 于这 些特点 , 步进 电机在 自动控 [ 1 ] 王晓明 , 胡 晓柏 . 电动机 的单 片机 控制[ M] . 北京 : 北京航 空航 天 大 制系统 中 , 特别是开环的数字程序控制 中作为传动元件而得 到广泛 学 出版社, 2 0 0 2 . 5 , 1 : 1 8 1 — 2 0 8 . 应用 。 【 2 】 史敬灼. 步进 电动机 伺服控制技 术【 M 】 . 2 0 0 7 , 3 , 2 : 2 3 — 3 5 . 本系统选 A T 8 9 C 5 1 , 成本较低 。 且A T 8 9 C 5 1内有 4 K的 R O M存
基于stm32的步进电机控制系统设计与实现
基于STM32的步进电机控制系统设计与实现1. 引言步进电机是一种常见的电动机类型,具有定位准确、结构简单、控制方便等优点,在自动化控制领域得到广泛应用。
本文将介绍基于STM32单片机的步进电机控制系统设计与实现,包括硬件设计、软件开发和系统测试等内容。
2. 硬件设计2.1 步进电机原理步进电机是一种将输入脉冲信号转换为角位移的设备。
其工作原理是通过改变相邻两相之间的电流顺序来实现转子旋转。
常见的步进电机有两相、三相和五相等不同类型。
2.2 STM32单片机选择在本设计中,我们选择了STM32系列单片机作为控制器。
STM32具有丰富的外设资源和强大的计算能力,非常适合用于步进电机控制系统。
2.3 步进电机驱动模块设计为了实现对步进电机的精确控制,我们需要设计一个步进电机驱动模块。
该模块主要包括功率放大器、驱动芯片和保护电路等部分。
2.4 电源供应设计步进电机控制系统需要稳定可靠的电源供应。
我们设计了一个电源模块,用于为整个系统提供稳定的直流电源。
3. 软件开发3.1 开发环境搭建在软件开发过程中,我们需要搭建相应的开发环境。
首先安装Keil MDK集成开发环境,并选择适合的STM32单片机系列进行配置。
3.2 步进电机控制算法步进电机控制算法是实现步进电机精确控制的关键。
我们可以采用脉冲计数法、速度闭环控制等方法来实现对步进电机的位置和速度控制。
3.3 驱动程序编写根据硬件设计和步进电机控制算法,我们编写相应的驱动程序。
该程序主要负责将控制信号转换为驱动模块所需的脉冲信号,并通过GPIO口输出。
3.4 系统调试与优化在完成软件编写后,我们需要对系统进行调试和优化。
通过调试工具和示波器等设备,对系统进行性能测试和功能验证,以确保系统工作正常。
4. 系统测试与评估在完成硬件设计和软件开发后,我们需要对系统进行全面的测试和评估。
主要包括功能测试、性能测试和稳定性测试等内容。
4.1 功能测试功能测试主要验证系统是否按照预期工作。
基于单片机的步进电机控制系统设计
基于AT89C52单片机的步进电机控制系统设计摘要:步进电机专用开发系统,适用于数控机床及某些特定条件及系统。
本文通过单片机为开发平台,对步进电机进行控制.采用单片机A T89C52,根据输入的数据转化成的控制信号来控制步进电动机的角位移的一种方法,包括硬件设计和软件设计.整个系统主要由电机驱动电路,声光报警电路,4位LED显示电路,电源电路及核心单片机部分构成。
利用单片机产生步进电机驱动脉冲,通过4×4矩阵键盘能实现对步进电机启动、停止功能的选择以及加速、减速、反转功能的选择,使用方便、操作简单。
其中在步进电机控制器的设计中,重点阐述脉冲产生电路以及对速度的控制,实现对步进电机速度精确控制的开发系统.提高步进电机的步进精度,能够控制三相或四相步进电机。
且电路简单,成本较低,控制方便,移植性强.实用价值高。
关键词:A T89C52;步进电机;脉冲产生Design of Control System for Stepping Motor Based onAT89C52Abstract:A stepper motor dedicated development system,applicable to CNC machine tools and some special conditions and system. In this paper,through the SCM as the development platform,for the stepper motor control。
The paper introduce one way that controls the stepping motor by microcomputer AT89C52 depending on the control signal to which input data convert control the line displacement of the stepping motor,namely simply graph plotter,including its hardware and software。
基于51单片机步进电机的设计与仿真毕业设计文献综述
本科生毕业设计(文献综述)题目:步进电机的设计与仿真姓名:学号:系别:电气工程专业:电气工程及其自动化年级:指导教师:步进电机控制器的设计与仿真——文献综述一选题的背景与意义步进电机作为一种将电脉冲信号转化为机械角位移或者线位移的机电元件,它能够在不涉及伺服系统复杂反馈环路的情况下实现良好的定位精度,并且具有性价比高、易于控制及无累计误差等优点,在民用、工用的经济型数控开环定位系统中获得了广泛的应用,且具有较高的实用价值。
步进电动机与一般电动机不同。
它的角位移量或者直线位移量正比于电脉冲数,而其线速度或者转速则正比于脉冲频率。
并且,在负载能力变化范围内,不会因电源电压、负载、环境条件的波动而变化[5]。
另外,步进电动机还可以在较宽的范围内,通过改变脉冲频率来调速;能够快速起动、制动和正反转;并且步进电动机还有一定的自锁功能。
由于步进电动机具有上述特点,因此由它和驱动控制器组成的开环数控系统,既具有较高的控制精度,良好的控制性能,又能稳定可靠的工作。
这些优点使得步进电动机在庞大的电机家族中占有不可替代的位置。
而混合式步进电动机的设计方法使得它就像是反应式和永磁式步进电动机的结合,可以像反应式一样的小步距,也具有永磁式控制功率小、绕组电感较小的特点。
目前广为使用的是两相混合式步进电动机,它的典型结构是定子8个极,转子齿数为50个,步距角为1.8度,它是上世纪60年代的美国专利,70年代初因应用于计算机外设,且专利保护的取消而迅速发展,但是它存在着两个明显的固有缺点,一个是步距角较大,使得低速转动时有较严重的振动和噪声,另一个是当频率突变过大时容易堵转、丢步或者过冲,这两个缺点对定位系统的精度会产生较大的影响。
步进电机作为一种机电一体化设备,电机本身固有的问题可通过驱动器或者控制器来弥补。
采用细分驱动技术可以大大减少低速转动时的振动和噪音,还可以起到减小步距角、提高分辨率、增大输出力矩的效果;采用升降频控制技术,则可以克服步进电机高速起停时存在的堵转、丢步或者过冲等问题,使步进电机转动得更加平稳、定位更加精确一个好的控制器可以使步进电动机控制更灵活,在很大程度上改善其运行性能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一部分培训软件简介Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前比较好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MATLAB等多种编译器。
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。
运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。
如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
第二部分培训项目实例培训项目一:基于单片机的步进电动机控制器的设计项目要求:采用单片机对步进电机进行控制,包括正转、反转、加速、减速和停止,同时采用液晶显示屏显示步进电动机的运行情况。
培训目的:1.掌握步进电机的工作原理;步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
当电流流过定子绕组时,定子绕组产生一矢量磁场。
该磁场会带动转子旋转一角度,使得转子的一对磁场方向与定子的磁场方向一致。
当定子的矢量磁场旋转一个角度。
转子也随着该磁场转一个角度。
每输入一个电脉冲,电动机转动一个角度前进一步。
它输出的角位移与输入的脉冲数成正比、转速与脉冲频率成正比。
改变绕组通电的顺序,电机就会反转。
所以可用控制脉冲数量、频率及电动机各相绕组的通电顺序来控制步进电机的转动。
通常见到的各类电机,内部都是有铁芯和绕组线圈的。
绕组有电阻,通电会产生损耗,损耗大小与电阻和电流的平方成正比,这就是我们常说的铜损,如果电流不是标准的直流或正弦波,还会产生谐波损耗;铁心有磁滞涡流效应,在交变磁场中也会产生损耗,其大小与材料,电流,频率,电压有关,这叫铁损。
铜损和铁损都会以发热的形式表现出来,从而影响电机的效率。
步进电机一般追求定位精度和力矩输出,效率比较低,电流一般比较大,且谐波成分高,电流交变的频率也随转速而变化,因而步进电机普遍存在发热情况,且情况比一般交流电机严重。
步进电机在结构上也是由定子和转子组成,可以对旋转角度和转动速度进行高精度控制。
当电流流过定子绕组时,定子绕组产生一矢量磁场,该矢量场会带动转子旋转一角度,使得转子的一对磁极磁场方向与定子的磁场方向一着该磁场旋转一个角度。
因此,控制电机转子旋转实际上就是以一定的规律控制定子绕组的电流来产生旋转的磁场。
每来一个脉冲电压,转子就旋转一个步距角,称为一步。
根据电压脉冲的分配方式,步进电机各相绕组的电流轮流切换,在供给连续脉冲时,就能一步一步地连续转动,从而使电机旋转。
电机将电能转换成机械能,步进电机将电脉冲转换成特定的旋转运动。
每个脉冲所产生的运动是精确的,并可重复,这就是步进电机为什么在定位应用中如此有效的原因。
通过电磁感应定律我们很容易知道激励一个线圈绕组将产生一个电磁场,分为北极和南极,见图1所示。
定子产生的磁场使转子转动到与定子磁场对直。
通过改变定子线圈的通电顺序可使电机转子产生连续的旋转运动。
2. 掌握控制器硬件组成及原理;本设计的硬件电路只要包括控制电路、最小系统、驱动电路、显示电路四大部分。
最小系统只要是为了使单片机正常工作。
控制电路只要由开关和按键组成,由操作者根据相应的工作需要进行操作。
显示电路主要是为了显示电机的工作状态和转速。
驱动电路主要是对单片机输出的脉冲进行功率放大,从而驱动电机转动。
根据系统的控制要求,控制输入部分设置了顺时针控制,逆时针控制,加速控制,减速控制和停止按键。
控制电路如图2所示。
当按下按键,内部程序检测P0.1-P0.4的状态变化来调用相应的启动和换向程序,从而实现系统的电机的启动和正反转控制。
根据步进电机的工作原理可以知道,步进电机转速的控制主要是通过控制通入电机的脉冲频率,从而控制电机的转速。
对于单片机而言,主要的方法有:软件延时和定时中断在此电路中电机的转速控制主要是通过定时器的中断来实现的,该电路控制电机加速度主要是通过按键的断开和闭合,从而控制外部中断。
根据按键次数,改变速度值存储区中的数据(该数据为定时器的中断次数),这样就改变了步进电机的输出脉冲频率,从而改变了电机的转速。
图1 激励线圈产生电磁场图2 控制电路原理图单片机最小系统或者称为最小应用系统,就是用最少的元件组成的单片机可以工作的系统,对51系列单片机来说,最小系统一般应该包括:单片机、复位电路、晶振电路。
复位电路:使用了独立式键盘,单片机的P1口键盘的接口。
该设计要求只需4个键对步进电机的状态进行控制,但考虑到对控制功能的扩展,使用了6路独立式键盘。
复位电路采用手动复位,所谓手动复位,是指通过接通一按钮开关,使单片机进入复位状态,晶振电路用22PF的电容和一12M晶体振荡器组成为整个电路提供时钟频率。
如图3示。
晶振电路:8051单片机的时钟信号通常用两种电路形式电路得到:内部震荡方式和外部中断方式。
在引脚XTAL1和XTAL2外部接晶振电路器(简称晶振)或陶瓷晶振器,就构成了内部晶振方式。
由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
内部振荡方式的外部电路如图5示。
其电容值一般在5~30pf,晶振频率的典型值为12MHz,采用6MHz的情况也比较多。
内部振荡方式所得的时钟信号比较稳定,实用电路实用较多。
图3复位及时钟振荡电路本次设计用ULN2003来驱动步进电机,电路图如图4所示。
通过单片机的P2.0~P2.3输出脉冲到ULN2003的1B~4B口,经信号放大后从1C~4C口分别输出到电机的ABCD四相。
图4 步进电机驱动电路在该步进电机的控制器中,电机可以正反转,可以加速、减速,其中电机转速的等级分为十级,为了方便知道电机转速的等级,这里设计了电机转速和电机的工作状态的显示电路。
在显示电路中,主要是利用了单片机的P0口接一个两位的共阳极数码管。
数码管a、b、c、d、e、f、g、dp分别接P0.0~P0.7口.数码管的公共角1,2分别接p2.0,p2.1。
图5 步进电机显示电路把各个部分的电路图组合成总电路图,如图6所示。
图6 总体电路图3.掌握控制器的软件组成及原理;C语言程序如下:#include <reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intuchar code ccw[]={0x08,0x04,0x02,0x01}; //逆时针旋转相序//uchar code cw[]={0x01,0x02,0x04,0x08}; //顺时针旋转相序//uchar code speed[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d};//uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,//0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//共阴极数码管显示表uchar code table_anode[]={ //共阳极0~f数码管编码0xc0,0xf9,0xa4,0xb0,//0~30x99,0x92,0x82,0xf8,//4~70x80,0x90,0x88,0x83,//8~b0xc6,0xa1,0x86,0x8e //c~f};uchar code ccw8[]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //8拍旋转相序表uint time,show1,show2,sym,temp,t,a,flag,i,j,rpm,n;sbit inc=P3^2;//加速sbit dec=P3^3;//减速sbit keyccw=P3^4;//逆时针转sbit keycw=P3^5;//顺时针转sbit pause=P3^6;//暂停sbit fir=P2^0;//第一数码管sbit sec=P2^1;//第二数码管void init();//初始化定时器0,1,串口void direc();//按键控制转向void speedctl();//按键控制转速void display();//速度显示函数void delaynms(uint aa);//1ms延时函数void main(){init();while(1){speedctl( );direc();display();}}void wind_init(){TMOD=0X21;//定时器1为方式2,定时器0为方式1TH1=0xFD;TL1=0xFD;TH0=(65536-1000)/256;//1毫秒定时中断TL0=(65536-1000)%256;TR1=1;//启动定时器1EA=1;//打开总中断ET0=1;//允许定时器0中断TR0=1;//启动定时器0}void speedctl(){if(inc==0) //加速{n++;if(n==11)while(!inc)display();time=0;}else if(dec==0) //减速{n--;if(n==0)n=1;while(!dec)display();time=0;}switch(n){case 1:t=937; //60/64转速一分钟一圈里面转一圈937ms,基准速度一分钟一圈rpm=1;break;case 2:t=312;rpm=3;break;case 3:t=187;rpm=5;break;case 4:rpm=7;break;case 5:t=104;rpm=9;break;case 6:t=85;rpm=11;break;case 7:t=72;rpm=13;break;case 8:t=62;rpm=15;break;case 9:t=55;rpm=17;break;case 10:t=49;rpm=19;break;}}void direc(){if(keyccw==0){flag=1;time=0;}else if(keycw==0){flag=2;time=0;}else if(pause==0)flag=0;}void display(){fir=1;sec=0;P0=table_anode[rpm/10];delaynms(17);fir=0;sec=1;P0=table_anode[rpm%10];delaynms(20);}void delaynms(uint aa){uchar bb;while(aa--){for(bb=0;bb<250;bb++); //1ms基准延时程序}}void timer0() interrupt 1{TH0=(65536-1000)/256;TL0=(65536-1000)%256;time++;if(flag==1)//逆时针转{if(time==t){time=0;P1=ccw[i];i++;if(i==4)i=0;}}else if(flag==2)//顺时针转{if(time==t){time=0;if(i>0)i--;else if (i==0)i=3;P1=ccw[i];}}}4.分析仿真结果。