基于单片机的步进电动机控制器的设计

合集下载

基于步进电机控制系统设计

基于步进电机控制系统设计

基于步进电机控制系统设计摘要:文中给出了一种步进电机控制系统。

系统利用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驱动芯片的步进电机控制及驱动电路系统的设计

基于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单片机的步进电动机控制模块设计

基于AT89S52单片机的步进电动机控制模块设计作者:明立娟来源:《科技创新与应用》2014年第32期摘要:文章设计了一种步进电动机控制系统,使用AT89S52单片机控制2相步进电机,由单片机产生驱动脉冲信号,通过按键控制步进电机的启停和步进方向,可根据实际需要对单片机进行编程,并通过Proteus仿真软件对系统进行仿真和测试。

关键词:AT89S52单片机;步进电动机;控制引言步进电动机是将电脉冲激励信号转换成相应的角位移或线位移的离散值控制电动机,这种电动机每当输入一个电脉冲就动一步,所以又称脉冲电动机。

步进电动机实际上是一种单相或多相同步电动机。

单相步进电动机由单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。

多相步进电动机由多相方波脉冲驱动,在经功率放大后分别送入步进电动机各相绕组。

当向脉冲分配器输入一个脉冲时,电动机各相的通电状态就发生变化,转子会转过一定的角度(称为步距角)。

在非超载的情况下,电动机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电动机加一个脉冲信号,电动机则转过一个步距角。

这一线性关系的存在,加上步进电动机只有周期性的误差而无累计误差等特点,使得在速度、位置等控制领域用步进电动机来控制变得非常简单。

本研究利用AT89S52单片机的四路I/O通道实现环形脉冲的分配,控制步进电动机匀速、连续的按固定方向转动,通过按键控制步进电动机的旋转角度。

1 系统设计用AT89S52单片机来作为整个步进电动机控制系统的核心部件,其系统设计总框图如图1所示。

真个系统包括单片机最小系统、电机驱动模块、独立按键模块等。

图1 系统设计总体框图1.1 单片机最小系统单片机最小系统主要负责产生控制步进电动机转动的脉冲,通过单片机的软件编程代替环形脉冲分配器输出控制步进电机的脉冲信号,步进电机转动的角度大小与单片机输出的脉冲数成正比,步进电机转动的速度与输出的脉冲频率成正比,而步进电机转动的方向与输出的脉冲顺序有关。

基于AT89C51单片机的步进电动机控制系统设计

基于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)

毕业设计论文 基于单片机的步进电机控制器的设计 (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单片机的步进电动机控制系统设计

基于PIC单片机的步进电动机控制系统设计
泛 的应 用 。

匿H — 越 H .H — .. — — — . — H — 邈 ,— 遨 — — 迸f
图 1 步进 电动机驱动 电源方框 图



在 步 进 电 动机 的实 际运 行 过 程 中 , 由加 速度 频 率 特性 可得 , 如果 运 行频 率大 于起 动频 率 时 , 进 电 步 动 机会 发生 失 步 现象 。同样 , 当运 行 频 率 突 然停 止 时, 步进 电动机会 由于惯性 作 用产 生过 冲现 象 , 造成 位 置不 精确 。如 果 频 率 过低 , 进 电动 机 的 速度 又 步 会 太慢 。所 以加 减速 过程 控制 的好 坏 直接决 定 了步 进 电动 机 的控制 精度 。在 不发 生失 步 和过 冲现 象 的 前 提下 , 步进 电动 机 从 一 个 位 置 快 速精 确 地 移 动 使
对步进电动机的速度和位置控制 。较好地 解决了步进 电动机运动 过程 中存在 的失 步 、 冲等现象 , 出了控制 系统 过 给
的主要硬件 电路及软件 的设计 , 并利用 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


堕堕 … 曼 皇 . 蔓
旦…一…………… ………. … …………………………
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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.分析仿真结果。

相关文档
最新文档