《单片机原理及应用》课程设计
题
目 基于单片机的步进电机控制系统设计
电气工程学院
学院名称
指导教师
职
班
学
称
级
号
学生姓名
2017 年 6 月 5 日
I
摘要:本设计采用以 STC89C51 为核心逻辑控制器与信号产生器,与外部晶振电
路、复位电路组成单片机最小系统。采用高电压大电流达林顿管晶体管阵列的
ULN2803 与高电压大电流的步进电机设备相连接,加上 C 语言程序实现对步进
电机的励磁序列进行驱动,外围电路中的三个独立按键则分别实现对步进电机的
正转驱动、反转驱动以及暂停转动。本控制系统采用单片机控制,通过人为按动
开关实现步进电机的正反转,复位。具有灵活方便、适用范围广的特点,基本能
够满足实践需求。
关键词:步进电机;STC89C51;ULN2803;驱动
II
Abstract:This design uses STC89C51 as the core logic controller and signal
generator, with the external crystal oscillator circuit, reset circuit composed of the
smallest single-chip system. ULN2803 with high voltage and high current Darlington
transistor array is connected with high voltage and high current stepper motor
equipment, and C language program is used to drive the excitation sequence of
stepping motor. Three independent keys in peripheral circuit Respectively, to achieve
the stepper motor forward run, reverse drive and pause rotation. The control system
uses single-chip control, through the man-made switch to achieve stepper motor
forward and reverse, reset. With a flexible and convenient, wide range of features, the
basic to meet the practical needs.
Keywords: stepper motor; STC89C51; ULN2803; drive
III
目 录
1、设计任务要求.............................................................................................................................. 1
2、系统方案设计与论证 .................................................................................................................. 1
2.1 方案设计与选择................................................................................................................1
2.2 总体方案设计 ....................................................................................................................1
3、单元电路设计.............................................................................................................................. 2
3.1 最小控制系统 ....................................................................................................................2
3.2 驱动电路 ............................................................................................................................ 3
3.2.1 工作原理 .................................................................................................................3
3.2.2 步进电机程序设计 .................................................................................................4
3.3 按键电路 ............................................................................................................................ 6
3.4 显示电路 ............................................................................................................................ 6
4、程序设计...................................................................................................................................... 6
5、软件仿真...................................................................................................................................... 7
6、硬件的制作与调试.................................................................................................................... 11
7、总结.............................................................................................................................................11
参考文献 .......................................................................................................................................... 14
附 录 ................................................................................................................................................ 15
附录 1 仿真图 .........................................................................................................................15
附录 2 原理图 .........................................................................................................................16
附录 3 PCB 图........................................................................................................................ 17
附录 4 元器件清单................................................................................................................18
附录 5 实物图........................................................................................................................ 19
附录 6 程序 ............................................................................................................................ 22
IV
1、设计任务要求
设计一个正反转可控步进电机,其设计指标如下:
(1)设计一个程序可控步进电机,实现正转、反转;
(2)设计具有暂定功能步进电机;
(3)扩展部分:正反转圈数程序可控;
转速大小程序可控;
步进角度可调;
2、系统方案设计与论证
2.1 方案设计与选择
方案 1:通过搭建数字电路实现对步进电机的时序控制,但其电路复杂,调
试不方便;
方案 2:采用 STC89C51 配合电流放大器控制步进电机时序实现驱动;
方案 3:采用 STC89C51 配合驱动芯片 ULN2803 实现对步进电机的驱动,
加上单片机的程序控制,使得步进电机正常工作;
方案 4:采用 STM32 控制器对步进电机进行时序控制;
方案 5:采用 FPGA 对步进电机进行程序驱动,但在控制上没有单片机灵活
方便。
方案选定:方案 1 与方案 2 实现电路较方案 3 复杂,且不便于电路的调试。
STC89C51 的内部资源能够满足对步进电机的控制,且实现难度不大。经过上述
方案的比较与验证,最终选择调试简单的方案 3。
2.2 总体方案设计
本系统选用的单片机为 STC89C51。步进电机型号为 28BYJ48,该电机共有
四相绕组,工作电压为+5V,可以和单片机共用一个电源。步进电机的四相绕组
用 P1 口的 P1.0~P1.3 控制,由于 P1 口驱动能力不够,因而用一片 ULN2803 增
加驱动能力。使用 P0 口接发光二极管,用来显示当前状态,P3 口控制电机正反
转。根据系统要求画出基于 STC89C51 单片机的控制步进电机的控制框图 2.1 所
示。
第
1
页 共 24 页
系统主要包括单片机、复位电路、晶振电路、按键电路、步进电机及驱动电
图 2.1 系统框图
路几部分。
3、单元电路设计
3.1 最小控制系统
单片机最小控制系统或者称为最小应用系统图 3.1 所示,就是用最少的元件
组成的单片机可以工作的系统。
本次设计使用 STC89C51 单片机,该型单片机是 STC 公司生产的一种低功
耗、高性能 CMOS8 位微控制器,具有 4K 在系统可编程 Flash 存储器。。在单
芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,完全可以满足本设计需
要。
路。
对 STC89C51 单片机来说,最小控制系统一般应该包括:复位电路、时钟电
复位电路:复位电路采用手动复位,所谓手动复位,是指通过接通一按钮开
关,使单片机进入复位状态。
时钟电路:用 22pF 的电容和 12MHz 晶体振荡器组成为整个电路提供时钟
频率。单片机的时钟信号通常用两种电路形式电路得到:内部震荡方式和外部中
断方式。在引脚 XTAL1 和 XTAL2 外部接晶振电路器(简称晶振)或陶瓷晶振
器,就构成了内部晶振方式。由于单片机内部有一个高增益反相放大器,当外接
晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路其
第
2
页 共 24 页
电容值一般在 5~30 pF,晶振频率的典型值为 12MHz,采用 6MHz 的情况也比较
多。内部振荡方式所得的时钟信号比较稳定,实用电路实用较多
图 3.1 最小控制系统电路
3.2 驱动电路
3.2.1 工作原理
ULN2803 是高电压大电流达林顿晶体管阵列,该阵列中的 8 路达林顿晶体
管是低逻辑电平数字电路(TTL、COMS、PMOS 或 NMOS)与高电压大电流设
备(如继电器、机锤、灯泡)接口的理想器件。ULN2803 驱动器的内部结构及
外部引脚如图 3.2 所示。1-8 脚为输入,9 脚接 GND,10 脚接负载电源+,11-18
脚接输出。下图左边为输入端(假设为 1 脚),右上角为输出端(对应 18 脚),
pin10 为 10 脚接负载电源+。当 1 脚接+5V 时三极管为饱和状态,此时 18 脚输
出,从左到右数第二个三极管导通,接负载电源 GND,此时负载得电动作。
第
3
页 共 24 页
图 3.2 ULN2803 驱动器的内部结构及外部引脚
达林顿管又称复合管。为共基组合放大器,以组成一只等效的新的三极管。
这等效于三极管的放大倍数是二者之积。在电子学电路设计中,达林顿接法常用
于功率放大器和稳压电源中。
达林顿管是一重复合三极管,他将两个三极管串联,第一个管子的发射极接
第 2 个管子的基极,所以达林顿管的放大倍数是两个三极管放大倍数的乘积。所
以它的特点是放大倍数非常高,达林顿管的作用一般是在高灵敏的放大电路中放
大非常微小的信号,如大功率开关电路。
3.2.2 步进电机程序设计
步进电机程序设计关键在于励磁序列的定义,表 3.1 给出了单极 4 相步进电
机的 3 种励磁方式,电路中的单极 4 相步进电机工作于 8 拍方式,参考该表可得
出步进电机正转与反转控制序列数组如下:
//正转励磁序列为 A->AB->B->BC->C->CD->D->DA
INT8U code FFW[ ]={0x01,0x03,0x02,0x06,0x04,0x0C,0x08,0x09};
//反转励磁序列为 AD->D->CD->C->BC->B->AB->A
INT8U code REW[ ]={0x09,0x08,0x0C,0x040,0x06,0x02,0x03,0x01};
第
4
页 共 24 页