基于单片机的步进电机控制器设计(八按键)(DOC)

合集下载

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

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

摘要本文应用单片机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)绪论步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。

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

可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

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

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

基于单片机的步进电机控制器设计步进电机是一种可实现精确控制和定位的电动机,广泛应用于机械和自动化领域。

为了更好地控制步进电机,可以设计一个基于单片机的步进电机控制器。

本文将从步进电机的基本原理、常见控制方式、单片机的选择、电路设计和程序编写等方面进行详细介绍,共计超过1200字。

第一部分:步进电机的基本原理步进电机主要由定子和转子组成,通过电磁原理可以实现精确控制和定位。

步进电机根据工作方式的不同分为全步进电机和半步进电机,全步进电机每次步进一个固定的角度,而半步进电机每次步进一个更小的角度。

第二部分:常见的步进电机控制方式步进电机的控制方式有多种,其中最常见的控制方式是脉冲方向控制和脉冲加减速控制。

脉冲方向控制方式通过给步进电机控制信号的脉冲数和方向来实现电机转动,脉冲加减速控制方式则通过改变脉冲的频率和加减速度来控制电机的转速和位置。

第三部分:单片机的选择在设计步进电机控制器时,需要选择适合的单片机来实现控制逻辑和信号的生成。

常见的单片机有51系列、AVR系列、ARM Cortex-M系列等。

选择单片机时需要考虑其运算速度、存储容量、IO口数量等因素,以满足步进电机控制的要求。

第四部分:电路设计步进电机控制器的电路设计包括电机驱动电路和控制电路。

其中电机驱动电路用于提供适当的电流和电压给步进电机,以实现其运转。

可以选择使用电流驱动器芯片或者使用MOSFET等器件设计电路。

控制电路主要包括单片机和其他外围电路,用于生成控制信号和接收输入信号。

第五部分:程序编写步进电机控制器的程序需要实现控制逻辑和信号的生成。

程序可以使用C语言或者汇编语言进行编写,通过单片机的GPIO口和定时器等模块来生成适当的脉冲信号和控制信号,驱动步进电机实现转动和定位。

综上所述,基于单片机的步进电机控制器设计涉及到步进电机的基本原理、常见的控制方式、单片机的选择、电路设计和程序编写等多个方面。

通过合理的设计和实现,可以实现对步进电机的精确控制和定位,为机械和自动化领域的应用提供便利。

毕业设计论文基于单片机的步进电机控制器

毕业设计论文基于单片机的步进电机控制器

毕业设计论文基于单片机的步进电机控制器摘要:本文研究了基于单片机的步进电机控制器的设计与实现。

首先介绍了步进电机的原理和特点,然后详细介绍了单片机的选型和控制原理。

接着,设计了一个简单的步进电机控制器电路,并使用C语言编写了相应的控制程序。

最后,通过实际性能测试验证了该步进电机控制器的正常工作。

关键词:单片机、步进电机、控制器、C语言1.引言步进电机是一种适用于许多自动化系统的重要组件,广泛应用于打印机、机床、机器人等设备。

然而,传统的步进电机控制方式往往需要复杂的电路和控制器,使得系统设计和维护困难。

基于单片机的步进电机控制器具有结构简单、易于控制和成本低廉的优点,因此受到了广泛的关注。

2.步进电机控制原理步进电机是一种通过控制电流大小和方向来控制转动角度的电机。

它的转动角度是离散的,可以精确控制。

常见的步进电机包括两相、三相和四相步进电机。

在本设计中,选用了四相步进电机。

3.单片机选型与控制原理为了实现步进电机的控制,需要选取适合的单片机作为控制核心。

在本设计中,选择了XXXX单片机。

该单片机具有高性能、低功耗和丰富的外设接口,非常适合步进电机控制的需求。

单片机的控制原理主要分为两步:生成控制信号和输出电流。

控制信号通过单片机的GPIO口产生,用于控制步进电机的旋转方向和步进距离。

电流的输出通过单片机的PWM输出口产生,用于控制步进电机的转速。

4.步进电机控制器电路设计根据以上原理,本设计设计了一个简单的步进电机控制器电路。

电路主要包括单片机、电源模块、步进电机和相关驱动电路。

其中,单片机和电源模块的连接相对简单,主要是通过电源线和数据线进行连接。

步进电机和驱动电路的连接相对复杂,需要根据步进电机和驱动电路的规格参数进行正确的接线和设置。

5.步进电机控制程序设计本设计使用C语言编写了步进电机控制程序。

程序主要包括初始化配置和控制函数两个部分。

初始化配置部分用于设置单片机的工作模式、GPIO口的方向和电流输出配置等。

8个按键控制步进电机与八段LED显示器课程设计

8个按键控制步进电机与八段LED显示器课程设计

第一题:通过8个按键控制八段LED显示器的显示程序程序段:ORG 0000HLJMP MAINORG 1000HMAIN: MOV 50H,#00HMOV 51H,#00HMOV 52H,#00HMOV 53H,#00H KEYSUB: ACALL A,#03HMOV DPTR,#7F00HMOVX @DPTR,A BEGIN: ACALL DISACALL CLEARACALL CCSCANJNZ INK1AJMP BEGININK1: ACALL DISACALL DL1MSACALL DLMSACALL CLEARACALL CCSCANJNZ INK2AJMP BEGININK2: MOV R2,#0FEHMOV R4,#00H COLUM: MOV DPTR,#07F01HMOV A,R2MOVX @DPTR,AINC DPTRMOVX A,@DPTRJB ACC.2,LONEMOV A,#00HAJMP KCODE LONE: JB ACC.3,NEXTMOV A,#04H KCODE: ADD A,R4 ACALL PUTBUFPUSH ACCKON: ACALL DISACALL CLEARACALL CCSCANJNZ KONPOP ACCNEXT: INC R4MOV A,R2JNB ACC.3KERRRL AMOV R2,AAJMP COLUM KERR: AJMP BEGIN CCSCAN: MOV DPTR,#7F02HMOV A,#00HMOVX @DPTR,AINC DPTRMOVX A,@DPTRCPL AANL A,#0CHRETCLEAR: MOV DPTR,#7F01HMOV A,#00HMOVX @DPTR,ARETDIS: PUSH ACCPUSH 00HPUSH 03HMOV A,#03HMOV DPTR,#7F00HMOVX @DPTR,AMOV R0,#50HMOV R3,#0F7HMOV A,R3AGAIN: MOV DPTR,#7F02HMOVX @DPTR,AMOV A,@R0MOV DPTR,#DDEGMOVC A,@A+DPTRMOV DPTR,#7F01HMOVX @DPTR,AACALL DL1MSINC R0MOV A,R3JNB ACC.0,OUTRR AMOV R3,AAJMP AGAINOUT: POP 03HPOP 00HDDEG: DB 07H,7FH,5EH,39H,77HDB 7CH,6DH,7DHDL1MS: MOV R7,#01HDL0: MOV R6,#0FFHDL1: DJNZ R6,DL1DJNZ R7,DL0RETPUTBUF: PUSH 00HMOV 53H,52HMOV 52H,51HMOV 51H,50HMOV 50H,APOP 00HRETEND第二题:通过编程实现对八段LED显示器与步进电机的控制程序段:ORG 0000HLJMP MAINORG 101BHLJMP L3ORG 1000HMAIN:MOV R0,#08H MOV R1,#48HMOV R6,#00HMOV DPTR,#L2MOV P1,#00MOV TMOD,#10HMOV TL1,#0B0HMOV TH1,#0F0HMOV IE,#88HMOV 53H,#5BHMOV 54H,#07HSETB TR1L1:SHMP L1DL1MS: MOV R7,#01H DL0: MOV R5,#0FFH DL1: DJNZ R5,DL1DJNZ R7,DL0RETL2:DB DB 01H,03H,02H,06H DB 04H,0CH,08H,09H DISPLAY:MOV 50H,DPH MOV 51H,DPLPUSH ACCMOV A,#03HMOV DPTR,#7F00HMOVX @DPTR,AMOV DPTR,#7F01HMOV A,53HMOVX @DPTR,AMOV DPTR,#7F02HMOV A,#0FEHMOV @DPTR,AACALL DL1MSMOV DPTR,#7F01HMOV A,54HMOVX @DPTR,AMOV DPTR,#7F02HMOV A,#0FDHMOVX @DPTR,A ACALL DL1MS MOV DPTR,#7F01H MOV A,#3FH MOVX @DPTR,A MOV DPTR,#7F02H MOV A,#0FBH MOVX @DPTR,A ACALL DL1MS MOV DPH,50H MOV DPL,51H POP ACCRETL3:MOV TL1:#0B0H MOV TH1,#0F0H MOV A,#00MOVC A,@A+DPTR MOV P1,AINC DPTRDJNZ R0,L4MOV R0,#08MOV DPTR,#L2L4:INC R6DJNZ R1,L5MOV R2,#01HL7:MOV R4,#0FFH L6:ACALL DISPLAY MOV R3,#0FFH DJNZ R3,$DJNZ R4,L6DJNZ R2,L7CJNE R6,#48H,S1 MOV R6,#00HMOV R1,#30HMOV 53H,#06H MOV 54H,#7FH SJMP L5S1:MOV R1,#48H MOV R6,#00HMOV 53H,#5BH MOV 54H,#07HL5:RETIEND第三题:通过8个按键控制步进电机与八段LED显示器程序段:ORG 0000HLJMP MAINORG 1000H MAIN: MOV 50H,#00H MOV 51H,#00HMOV 52H,#00HMOV 53H,#00HMOV R5,#53HMOV 60H,#00HMOV 63H,#00HMOV 64H,#00HMOV 66H,#00HMOV 68H,#01HMOV 69H,#00HKEYSUB: ACALL A,#03H MOV DPTR,#7F00H MOVX @DPTR,A BEGIN: ACALL DIS ACALL CLEARACALL CCSCAN POO:MOV R0,66HCJNE R0,#00H,XXXMOV 64H,#00HSJMO SSKXXX:MOV R0,64HCJNE R0,#00H,SSBMOV R0,66HCJNE R0,#01H,ADDING MOV 68H,#00HMOV R0,#67HSJMP SSKSSB:DJNZ 64H,RUN SSK:JNZ INK1AJMP BEGININK1: ACALL DISACALL DL1MSACALL DLMSACALL CLEARACALL CCSCANJNZ INK2AJMP BEGINADDING:MOV 64H,65HDEC 66HSJMO POORUN:PUSH ACCMOV A,60HMOV 61H,DPHMOV 62H,DPLMOV R0,68HCJNE R0,#01H,RUN1MOV DPTR,#L21SJMP RUN2RUN1:MOV DPTR,#L2RUN2:MOVC A,@A+DPTRMOV P1,AINC 60HPOP ACCDJNZ 63H,#08HMOV 60H,#00HMOV DPH,61HMOV DPL,62HL4:SJMP SSKL2:DB DB 01H,03H,02H,06HDB 04H,0CH,08H,09HL21:DB 09H,08H,0CH,04HDB 06H,02H,03H,01HINK2: MOV R2,#0FEHMOV R4,#00H COLUM: MOV DPTR,#07F01HMOV A,R2MOVX @DPTR,AINC DPTRMOVX A,@DPTRJB ACC.2,LONEMOV A,#00HAJMP KCODES1:CJNE R4,#01H,S2MOV A,#04HSJMP KCODES2:CJNE R4,#02H,S3ACALL STARTLJMP KK1S3:ACALL CLEARUPLJMP POOLONE: JB ACC.3,NEXT CJNE R4,#00H,K1MOV A,#00HSJMO KCODEK1:CJNE R4,#01H,K2MOV A,#06HSJMP KCODECLEARUP:MOV 64H,65H MOV 68H,#01HMOV 66H,67HMOV R5,#53HMOV 69H,#00HMOV 50H,#00HMOV 51H,#00HMOV 52H,#00HMOV 53H,#00HRETSTART:MOV R0,69HCJNE R0,69HCJNE R0,#02H,ST2MOV 64H,65HMOV 66H,53HMOV 67H,53HST2:RETKCODE: ACALL PUTBUF KK1: PUSH ACCKON: ACALL DISACALL CLEARACALL CCSCANJNZ KONPOP ACC NEXT: INC R4MOV A,R2JNB ACC.3KERRRL AMOV R2,AAJMP COLUM DB 04FH,066H,06DHDB 07DH,07H,7FH KERR: AJMP BEGIN CCSCAN: MOV DPTR,#7F02HMOV A,#00HMOVX @DPTR,AINC DPTRMOVX A,@DPTRCPL AANL A,#0CHRETCLEAR: MOV DPTR,#7F01HMOV A,#00HMOVX @DPTR,ARETDIS: PUSH ACCPUSH 00HPUSH 03HMOV A,#03HMOV DPTR,#7F00HMOVX @DPTR,AMOV R0,#50HMOV R3,#0F7HMOV A,R3AGAIN: MOV DPTR,#7F02HMOVX @DPTR,AMOV A,@R0MOV DPTR,#DDEGMOVC A,@A+DPTRMOV DPTR,#7F01HMOVX @DPTR,AACALL DL1MSINC R0MOV A,R3JNB ACC.0,OUTRR AMOV R3,AAJMP AGAINOUT: POP 03HPOP 00HPOP ACCRETDDEG:DB 03FH,06H,05BHDB 6FH,77H,7CHDB 39H,5EH,79HDB 71H,00HDL1MS: MOV R7,#01HDL0: MOV R6,#0FFHDL1: DJNZ R6,DL1DJNZ R7,DL0RETDDEG: DB 07H,7FH,5EH,39H,77HDB 7CH,6DH,7DHDL1MS: MOV R7,#01HDL0: MOV R6,#0FFHDL1: DJNZ R6,DL1DJNZ R7,DL0RETPUTBUF: PUSH 00HMOV R0,ACJNE R0,#07H,PPSMOV R0,69HCJNE R0,#01H,PPLMOV 69H,#02HSJMP GOBACKPPL:MOV 69H,#01HSJMP GOBACKPPS:MOV R0,69HCJNE R0,#01H,GOBACKPUSH ACCMOV A,R5MOV R0,APOP ACCMOV @R0,ADEC R5MOV A,52HMOV B,#0AHMUL ABMOV B,#03HDIV ABMOV B,#08HMUL ABMOV 65H,AMOV A,51HMOV B,#03H DIX ABMOV B,#08HMUL ABADD A,65HMOV 65H,ACJNE R5,#04FH,GOBACK MOV R5,#53H GOBACK:POP 00H RETEND课程设计心得体会通过这次课程设计我收获很大,不仅增加和巩固了我的知识,还提高了我们的动手能力。

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

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

题目:基于单片机的步进电机的控制器设计摘要步进电机控制方式的实现有多种,可以采用电子电路控制,PLC控制和单片机控制。

但是电子电路控制步进电机灵活度不高,PLC控制不能在高频率下进行,控制精度小。

而随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测的更新,用单片机控制步进电机显得更加灵活和方便。

本设计是用AT89C52单片机作为核心部件进行逻辑控制及信号产生,用单片机技术和C语言编程设计来进行步进电机的控制。

通过人手动按开关实现步进电机的启动与停止。

此外此系统还添加了步进电机的正转反转,加速及减速,屏幕显示功能。

同时本文也通过了proteus软件的仿真,在仿真结果中能看出近似真实的效果。

整个系统采用模块化设计,结构简单可靠,通过按键控制操作方便节省成本。

关键词:步进电机单片机控制 AT89C52 proteus仿真Title The design of the control system of Step—motorAbstractThe step motor control has a lot of kinds.such as Electronic circuit control, PLC control and microprocessor controlled .But the flexibility of the electronic circuit to control stepper motor, PLC control at high frequencies, a small control accuracy. With the rapid development of science and technology, the application of SCM is constantly in-depth, at the same time led the update of the traditional control tests with SCM stepper motor control is more flexible and convenient.This paper describes a core component of the AT89C52, as the signal generated by logic control and microcontroller technology and assembly language programming designed stepper motor control system, Start and stop of the stepping motor to handle the switch manually by people. In addition, this system also adds a stepper motor forward reverse, acceleration and deceleration, the screen display. Meanwhile, through software simulation in proteus, too can be seen that the approximation of the true effect of the simulation results.Keywords stepper motor microcontroller AT89C52 proteus simulation目次摘要 (II)Abstract (III)1 绪论 (1)1.1 课题研究的目的和意义 (1)1.2 国内外研究现状 (1)1.3 课题主要研究内容和要求 (2)2 步进电机常见的控制方案论证 (3)2.1 基于电子电路的控制 (3)2.2 基于PLC的控制 (3)2.3 基于单片机的控制 (4)3 系统硬件设计 (5)3.1 控制电路 (5)3.2 最小系统 (6)3.3 驱动电路 (7)3.4 显示电路 (10)3.5 总体电路图 (12)4 系统软件设计 (13)4.1 软件设计分析 (13)4.2 主程序设计 (13)5 仿真与调试 (16)5.1 仿真调试的操作步骤 (16)5.2 仿真结果 (16)总结 (20)致谢 (21)主要参考文献 (22)附录 (24)1 绪论1.1 课题研究的目的和意义电机是工业发展不可缺少的一大要素,在工业生产中有着重要的作用。

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

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

第一章系统分析概述步进电机是用电脉冲信号控制,以实现对生产过程或设备的数字控制,它是过程控制中一种十分重要和常用的功率执行器件,它可以把脉冲信号转换成角位移,并且可用作电磁制动轮、电磁差分器或角位移发生器等,近年来由于计算机应用技术的迅速发展,步进电机常常和计算机一起组成高精度的数字控制系统。

由于它是由数字脉冲控制,因此非常适合于用单片机控制,本设计便是在此基础上,以MCS51型单片机为核心,并结合外围电路以步进电机为控制对象的控制系统。

1.1 功能简介本设计系统有单片机最小系统、8个按键输入控制、四个数码管显示和步进电机驱动电路一共四大部分组成,通过按键输入数值来控制步进电机转速,并且在数码管上显示数值(1)8个按键包括:数字键1~5;3个功能键:设置SET、清零CLR、开始START;(2)显示器上第一位显示次数,后三位显示每次行走的角度;(3)通过键盘的按键,设置步进电机各次的角度值;第一位设置次数,后三位设置角度值。

(4)按START键启动步进电机开始转动,按SET键停止;按CLR键清零。

1.2 方案选择1.2.1 步进电机驱动电路方案本设计的重点在于对步进电机的控制和驱动,设计中受控电机为四相六线制的步进电机(内阻33欧,步进1.8度,额定电压12V)方案一:使用多个功率放大器件驱动电机通过使用不同的放大电路和不同参数的器件,可以达到不同的放大的要求,放大后能够得到较大的功率,如图1-1,使用三极管组成的步进电机驱动电路。

但是由于使用的是四相的步进电机,就需要对四路信号分别进行放大,由于放大电路很难做到完全一致,当电机的功率较大时运行起来会不稳定,而且电路的制作也比较复杂。

注:A、B、C、D分别为步进电机四相输入图1-1 三极管组成的步进电机驱动电路方案二:使用ULN2003芯片驱动电机ULN2003芯片可以驱动两个二相电机,也可以驱动一个四相电机,如图1-2。

ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。

毕业设计论文基于单片机的步进电机控制器的设计

毕业设计论文基于单片机的步进电机控制器的设计

毕业设计论文基于单片机的步进电机控制器的设计摘要:本论文针对步进电机控制系统的需求,提出了一种基于单片机的步进电机控制器的设计方案。

该方案在硬件设计上选用了适用于步进电机驱动的控制芯片,并通过电路连接实现电机控制信号的输出。

在软件设计上,通过单片机编程实现步进电机的运动控制,包括步进角度、转速以及方向等参数的调节和控制。

通过测试实验证明,该设计方案能够有效地实现步进电机的精确控制,具有较好的稳定性和可靠性。

关键词:单片机;步进电机;控制器;硬件设计;软件设计;运动控制第一章引言1.1研究背景目前,步进电机作为一种常用的电机类型,在自动控制领域和精密仪器中得到了广泛应用。

步进电机具有结构简单、运行平稳、精度高等优点,因此在许多行业中被广泛采用。

为了实现步进电机的精确控制,需要一种高效、稳定的步进电机控制器。

1.2研究目的本论文的主要目的是设计一种基于单片机的步进电机控制器,通过硬件和软件的完美结合,实现对步进电机的精确控制。

同时,通过测试和分析,验证该控制器的有效性和可靠性。

第二章方案设计2.1硬件设计在硬件设计方面,本文选用了适用于步进电机驱动的控制芯片,并通过电路连接实现电机控制信号的输出。

通过调节电源、电阻和电容等元件,实现对步进电机驱动电压和电流的调节,以满足步进电机运行的需求。

2.2软件设计在软件设计方面,本文采用单片机进行编程,实现对步进电机的运动控制。

通过编写程序,实现对步进角度、转速以及方向等参数的调节和控制。

通过采集和处理步进电机的反馈信号,实现闭环控制,提高步进电机的运动精度和稳定性。

第三章实验与结果通过搭建实验系统,并进行测试和分析,验证了本文设计的基于单片机的步进电机控制器的有效性和可靠性。

实验结果表明,该控制器能够实现步进电机的精确控制,具有较好的稳定性和可靠性。

第四章论文总结本论文设计了一种基于单片机的步进电机控制器,并通过实验验证了该控制器的有效性和可靠性。

该控制器在硬件设计上选用适用于步进电机的控制芯片,并通过电路连接实现电机控制信号的输出。

单片机控制步进电机_四相八拍

单片机控制步进电机_四相八拍

#include <reg51.h> //51芯片管脚定义头文件#include <intrins.h> //内部包含延时函数_nop_();#define uchar unsigned char#define uint unsigned intuchar code FFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}; //四相八拍正转编码uchar code REV[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01}; ////四相八拍反转编码sbit K1 = P3^2; //正转sbit K2 = P3^3; //反转sbit K3 = P3^4; //停止sbit BEEP = P3^6; //蜂鸣器/********************************************************//*/* 延时t毫秒/* 11.0592MHz时钟,延时约1ms/*/********************************************************/void delay(uint t){uint k;while(t--){for(k=0; k<125; k++){ }}}/**********************************************************/void delayB(uchar x) //x*0.14MS{uchar i;while(x--){for (i=0; i<13; i++){ }}}/**********************************************************/ void beep(){uchar i;for (i=0;i<100;i++){delayB(4);BEEP=!BEEP; //BEEP取反}BEEP=1; //关闭蜂鸣器}/********************************************************/ /*/*步进电机正转/*/********************************************************/ void motor_ffw(){uchar i;uint j;for (j=0; j<8; j++) //转1*n圈{if(K3==0){break;} //退出此循环程序for (i=0; i<8; i++) //一个周期转45度{P1 = FFW[i]; //取数据delay(2); //调节转速}}}/********************************************************/ /*/*步进电机反转/*/********************************************************/void motor_rev(){uchar i;uint j;for (j=0; j<8; j++) //转1×n圈{if(K3==0){break;} //退出此循环程序for (i=0; i<8; i++) //一个周期转45度{P1 = REV[i]; //取数据delay(2); //调节转速}}}/********************************************************** 主程序**********************************************************/main(){uchar r,N=64; //N 步进电机运转圈数while(1){if(K1==0){beep();for(r=0;r<N;r++){motor_ffw(); //电机正转if(K3==0){beep();break;} //退出此循环程序}}else if(K2==0){beep();for(r=0;r<N;r++){motor_rev(); //电机反转if(K3==0){beep();break;} //退出此循环程序}}elseP1 = 0xf0;}}/********************************************************/。

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

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

基于单片机控制的步进电机控制器课程设计任务书一.设计要求(一)基本功能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)基于单片机控制的步进电机控制器摘要:本设计为电子工程专业学生在校期间的单片机课程设计实习。

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

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

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

本设计是通过单片机按顺序给绕组施加有序的脉冲电流,就可以控制步进电机的转动,从而实现数字和角度的转换,转动的角度大小与施加的脉冲数成正比,转动的速度与脉冲频率成正比,而转动方向则与脉冲的顺序有关。

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

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

设计题目:基于MCS-51单片机的反应式步进电机控制器设计,要求能够控制其转速、正反转和运行步数。

摘要:在中国这个发展中大国,单片机的出现意味着计算机分为通用计算机系统和嵌入式计算机系统。

单片机单芯片因它的体积微小和成本低廉的优点而广泛的应用到家电、仪表、汽车电子、工业控制单元、办公自动化设备、通信设备等这些产品中去,是现代电子系统中极其重要的智能化工具。

在未来,单片机将会进一步的走向低功耗、小体积、大容量、高性能、低价位和混合信号集成化。

本设计基于AT89S51单片机,利用反应式步进电机控原理,对其控制进行硬件和软件的设计。

以实现对反应式电机的控制器可对36BF003型步进电机进行正反转、启停、速度和步数控制。

关键字:步进电机;单片机;拍数;控制器;反应式一、控制原理分析1.1 三相步反应式进电机工作原理反应式步进电机又称可变磁阻式步进电机,它和普通的电机一样,也是有定子和转子组成,它利用磁阻转矩使转子转动。

三相反应式步进电机定机定子上有六个极,每个极上装有控制绕组,每相对的两极组成一相。

转子上有数个均匀分布的齿,其上没有绕组,当A相通电时,转子在磁场力的作用下与定子齿对齐,若切断A相电源,同时接通B相电源,在磁场力的作用下转子转过一个步距角(步距角由转子齿数、控制绕组相数和通电方式决定),如再使B相断电,同时使C相控制绕组通电,转子又转过一个步距角。

如此循环通电,并按A→B→C→A顺序通电,步进电机便按一定的方向转动。

电机的转速取决于控制绕组接通的断开的变化频率。

若改变通电顺序,即按A→C→B→A方式通电,则电机反向转动。

上述通电方式称为三相单三拍通电方式;这里的“拍”是指定子控制绕组每改变一次通电方式,为一拍;“单”是指每次只有一相控制绕组通电;“三拍”是指经过三次切换控制绕组的通电状态为一个循环。

三相步反应式进电机除上述通电方式外,还有三相双三拍和三相单双六拍通电方式,三相双三拍通电顺序为AB→BC→CA→AB或AB→CA→BC→AB,三相单双六拍通电顺序为A →AB→B→BC→C→CA→A或A→AC→C→CB→B→BA→A,这里“AB”表示A、B两相同时通电,依此类推。

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

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

基于单片机的步进电机的控制器设计在现代工业自动化和控制领域中,步进电机因其精确的定位和可控的旋转角度而得到了广泛的应用。

而设计一个高效、稳定且易于操作的基于单片机的步进电机控制器则成为了实现精确控制的关键。

一、步进电机的工作原理要设计步进电机的控制器,首先需要了解步进电机的工作原理。

步进电机是一种将电脉冲信号转换成角位移或线位移的开环控制电机。

它由定子和转子组成,定子上有若干个磁极,磁极上绕有绕组。

当给定子绕组依次通电时,产生的磁场会驱动转子按照一定的方向和步距角转动。

步距角是指每输入一个电脉冲信号,转子所转过的角度。

步距角的大小取决于电机的结构和控制方式。

常见的步距角有 18°、09°等。

通过控制输入电脉冲的频率和数量,可以精确地控制步进电机的转速和转角。

二、单片机的选择在设计控制器时,单片机的选择至关重要。

常见的单片机如 51 系列、STM32 系列等都可以用于控制步进电机。

51 系列单片机价格低廉,开发简单,但性能相对较低;STM32 系列单片机性能强大,资源丰富,但开发难度相对较大。

考虑到控制的精度和复杂程度,我们可以选择STM32 系列单片机。

例如,STM32F103 具有较高的处理速度和丰富的外设接口,能够满足步进电机控制器的需求。

三、控制器的硬件设计硬件设计主要包括单片机最小系统、驱动电路、电源电路等部分。

单片机最小系统是控制器的核心,包括单片机芯片、时钟电路、复位电路等。

STM32F103 的最小系统通常需要外部晶振提供时钟信号,以及合适的复位电路保证单片机的可靠启动。

驱动电路用于放大单片机输出的控制信号,以驱动步进电机工作。

常见的驱动芯片有 ULN2003、A4988 等。

以 A4988 为例,它可以接收来自单片机的脉冲和方向信号,并输出相应的电流来驱动步进电机。

电源电路则为整个系统提供稳定的电源。

通常需要将外部输入的电源进行降压、稳压处理,以满足单片机和驱动电路的工作电压要求。

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

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

摘要本文介绍的是一种应用ST89CR52、步进电机、步机电机驱动芯片、LCD 显示屏、独立键盘,构建了步进电机控制器系统。

文中讨论了步进电机变频调速的方法。

步进电机控制系统的开发采用了软硬件协同仿真的方法,可以有效地减少系统开发的周期和成本。

此系统采用模块化编程,用C语言编写出电机的正转、反转、加速、减速、停止、显示、延时子程序,通过单片机、电机的驱动芯片ULN2003以及相应的按键实现以上功能。

关键词:ST89CR52、步进电机、变频调速AbstractIn this paper is a step application ST89CR52, stepper motor, mechanical and electrical machine driving chip, LCD display, keyboard independently, to construct a system of the stepper motor controller. This paper discusses the step motor variable frequency speed regulation method. Stepping motor control system of the development of the hardware and software collaborative simulation method was adopted, the system development cycle and cost can be greatly reduced. This system uses modular programming, using C language to write the motor forward, reverse, speed up, slow down, stop, display, delay subroutine, through single chip, motor drive chip ULN2003as well as the corresponding button to achieve above functions.Key words:ST89CR52, stepper motor, interpolation method, frequency control of motor speed.目录摘要 (Ⅰ)Abstract (Ⅱ)1 绪论 (1)1.1 课题研究的目的和意义 (1)1.2 国内外研究概况 (1)1.3 步进电机常见的控制方案与驱动技术简介 (2)1.3.1 常见的步进电机控制方案 (5)1.3.2 驱动技术简介 (6)2步进电机概述 (7)2.1步进电机介绍 (7)2.1.1 步进电机概述 (7)2.1.2 步进电机的工作原理 (9)2.1.3步进电机的分类与选择 (9)2.2步进电机驱动系统介绍 (11)2.2.1步进电机驱动系统简介 (11)2.2.2步进电机绕组的电气特性 (13)3系统的硬件设计 (16)3.1 系统设计方案 (16)3.1.1 系统的方案简述与设计要求 (16)3.1.2 系统的组成及其对应功能简述 (16)3.2单片机最小系统 (17)3.2.1STC89C52RC简介 (17)3.2.2单片机最小系统设计 (20)3.2.3单片机端口分配及功能 (20)3.3液晶管显示电路设计 (20)3.4电机驱动模块设计 (21)3.4.1ULN2003简介 (21)3.4.2电机驱动电路设计 (22)3.5 独立按键电路设计 (23)4系统的软件实现 (24)4.1系统软件主流程图 (24)4.2按键子程序 (25)4.3液晶显示子程序 (26)5系统的调试与检测 (27)5.1程序编译时的错误与解决方法 (27)5.2 步进电机转动错误及解决方法 (27)总结 (28)参考文献 (29)附录 (30)程序 (30)电路图 (34)外文文献及翻译 (35)致谢 (51)1绪论1.1课题研究的目的和意义步进电动机是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动机,它最突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自动化设备以及各种控制装置等众多领域有着极其广泛的应用。

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

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

基于单片机控制的步进电机控制器一.设计要求(一)基本功能1.实现步进电机的正反转控制2.实现步进电机的加速控制3.实现步进电机的减速控制如过载保护、欠压保护、短路保护和防飞车等功能。

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

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

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

3.第三周完成软件和硬件的联合调试目录1 引言 (1)2 总体设计方案 (1)2.1 设计思路 (1)2.1.1 方案1 (1)2.1.2 方案2 (1)2.2 设计方框图 (1)3 设计原理分析 (2)3.1 步进电机 (2)3.2 步进电机驱动电路以及状态显示电路设计 (2)3.3 键盘电路设计 (3)3.4 时钟振荡电路和复位电路设计 (3)3.5 正反转、加速、减速标志电路设计 (4)3.6 步进电机时序表和时序图 (4)4 结束语 (5)参考文献 (5)附录 (6)基于单片机控制的步进电机控制器班级:应教053班姓名:董保全摘要:本设计采用AT89S51单片机实现对步进电机的控制。

通过单片机的I/O来实现对步进电机的控制,用uln2003来驱动步进电机,并且使用了发光二极管LED来显示步进电机的转速,在单片机的P1口使用四个LED来作为正反转,加速减速控制的标志。

用独立连接式非编码键盘来对电机的状态进行控制。

关键词:步进电机单片机A T89S51 发光二极管引言步进电机是一种将电脉冲信号变换成相应的角位移或直线位移的机电执行元件。

控制步进电机的输入脉冲数量、频率及电机各项绕组的接通顺序,可以得到各种需要的运行特性。

尤其与数字设备配套时,体现了更大的优越性,因此广泛应用于数字控制系统中。

本文介绍已实现的单片机对步进电机的数字控制系统。

该控制系统中,控制器担负着产生脉冲以及发送、接受控制命令的任务。

本设计对步进电机的驱动电路,显示电路以及键盘控制电路做了详细的介绍。

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

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

基于单片机的步进电机器控制设计步进电机是一种常见的电动机种类,具有结构简单、控制方式多样的特点,广泛应用于机械、自动化、电子等领域。

本文将基于单片机设计步进电机的控制方法,并介绍其原理、设计步骤和实现过程。

步进电机是将电脉冲信号转化为角位移或直线位移的电动机,其排列方式分为两相、三相和多相。

我们以双向三相步进电机为例进行设计控制。

步进电机由驱动电路和控制器组成,其中驱动电路负责提供控制信号,控制器负责发送电脉冲信号。

设计步骤如下:1.了解步进电机的控制原理和信号特性。

步进电机通过输入电脉冲信号来控制转动角度或位移距离,信号频率和脉冲数与转速成正比。

同时步进电机具有指定的步距角和相序规律,需要按照规定的信号序列才能正常工作。

2. 选择合适的单片机和编程语言。

根据项目需求选择适合的单片机芯片和编程语言,如使用Arduino开发板和C语言。

3.编写程序实现步进电机的控制。

根据步进电机的特性和控制原理,编写控制程序实现电脉冲信号的生成和输出。

4.搭建硬件电路。

根据步进电机和单片机的接口标准,搭建驱动电路,包括电源、驱动芯片和电机的连接。

5.测试和调试。

将单片机与步进电机连接后,通过调试程序和电路,测试电机是否能够按照预期的方式旋转或移动。

6.完善控制程序和电路。

根据实际需求和测试结果,对控制程序和硬件电路进行优化和改进,确保步进电机的控制可靠性和稳定性。

在实现上述设计的过程中1.驱动电路的设计要符合步进电机的电气参数要求,如电源电压、电流和相序等。

2.控制程序要具备生成电脉冲信号、按照规定顺序输出信号的功能。

3.硬件电路的搭建要保证可靠性和稳定性,如正确接线、防止电气干扰等。

4.在测试和调试过程中,要注意安全性,避免误操作导致电机受损或电路发生短路等问题。

总结:通过基于单片机的步进电机控制设计,可以实现对步进电机的精确控制和定制化应用。

通过了解步进电机的控制原理,选择合适的单片机和编程语言,搭建合理的硬件电路,编写优化的控制程序,可以实现步进电机在各种自动化设备和系统中的灵活应用。

单片机课程设计——基于单片机的步进电机控制器设计

单片机课程设计——基于单片机的步进电机控制器设计

一、设计目的通过具体小型测试系统设计,实践单片机系统设计及调试的全过程,以加深对单片机内部结构、功能和指令系统的理解,并进一步学习单片机开发系统的应用及一些外围芯片的接口和编程方法,初步掌握单片机系统的硬、软件设计技术及调试技巧。

二、设计要求1)电机转速可以平稳控制2)通过键盘和显示器可以设置电机的转速3)显示电机的速度趋势三、仪器设备名称型号数量单片机STC89C52 1步进电机28BYJ48 1液晶LCD12864 1步进电机驱动ULN2003A 1晶振 1电容、电阻、微动开关若干四、硬件线路图(1)单片机最小系统上图所示为单片机最小系统,该系统通过5V直流电源供电,可上电复位和手动复位。

通过串口将程序烧写到单片机。

(2)步进电机驱动电路由于步进电机运转时所需电流较大,而单片机引脚提供的电流较小,所以单片机与步进电机间需要加上驱动芯片ULN2003A,如上图所示,通过单片机的P1口控制步进电机的运转。

(3)显示电路该系统用LCD12864作为显示器,12864内置字库,每屏可显示32个汉字,且编程容易,该系统中可用于显示开机界面,电机转速,速度变化趋势等。

其接口如图所示。

(4)按键电路由于系统所用按键较少,所以键盘采用独立按键形式,每个按键都有上拉电阻,提高了按键的稳定性。

五、主要芯片说明(1)STC89C52STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash存储器。

STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。

在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

具有以下标准功能:8k字节Flash,512字节RAM,32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。

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

基于单片机的步进电机控制器设计姓名xx班级:自动化xxxx学号:xxxx摘要:本设计是用80C51单片机作为核心部件进行逻辑控制及信号产生,用单片机技术和C语言编程设计来进行步进电机的控制。

通过人手动按开关实现步进电机的启动与停止、步进电机的正转反转,加速及减速等功能,此外还有LCD数码管进行实时显示功能。

同时本文也通过了proteus软件的仿真,在仿真结果中能看出近似真实的效果。

整个系统采用模块化设计,结构简单可靠,通过按键控制操作方便节省成。

关键词:步进电机单片机 peoteus仿真1绪论1.1课题研究的目的和意义电机是工业发展不可缺少的一大要素,在工业生产中有着重要的作用。

随着科技的发展,电机在控制领域的适用范围越来越广。

步进电机是一种开环控制的电机,它不需要反馈电路。

它是纯粹的数字控制电动机,它将电脉冲信号变成角位移,当给它一个电脉冲时,它就转动一个步进脚。

步进电机的运转具有很好的精准性,它按照固定的角度旋转,我们可以通过控制电脉冲频率来控制电机的转速。

近30年来,电子计算机永磁材料的快速发展,推动了步进电机的发展,因此步进电机的应用有着广阔的前景。

步进电机有以下特点:(1)步进电机的角位移与输入脉冲成正比,没有累计误差。

(2)步进电机与驱动电路组成的系统,简单而又廉价。

(3)易于控制,能快速启动和停止,方便控制方向和转速。

(4)步进电机不能直接使用交流直流电源。

由于步进电机能够精准定位和方便调速,它被广泛应用在各种自动化控制系统中。

随着微电子和计算机技术的发展,使步进电机的控制发生了很大的变革。

步进电机的明显优势被广泛应用在电子计算机的许多外围设备中,如传真机、软盘驱动器等,同时步进电机也在军用仪器、通信和雷达设备、摄影系统、光电组合装置中,甚至在航天工业的系统也有其发挥的作用。

因此对步进电机的研究深为重要。

1.2国内外研究现状步进电机在我国很早的时候就已经得到使用,早在文革时期,中国的江浙、四川、南京等地都有一定规模的生产和应用。

当时步进电机驱动电路的所有半导体器件,例如逻辑运算电路、电容耦合计数器、触发器等国内都可以完全自主生产。

步进电机在国外的应用主要是低功率场合,例如工业设备、打印机、传真机、软盘驱动器、医疗设备。

由于现代科技的迅速发展,在国外步进电机在驱动方面的应用逐渐被代替。

目前日本是步进电机最大的生产国,如日本伺服公司、东方公司、SANYO DENKI和NPM公司等。

世界上步进电机生产最好的公司是日本东方公司,性能、质量、生产方法都是一流的。

每年日本的步进电机销量达3亿台。

国内七十年代后期,步进电机广泛应用于卫星和雷达场合。

当时已经生产出来圆形力矩电机,但是在一些高质量控制应用中,我们还不能使用步进电机。

到了八十年代国内已经掌握了步进电机的细分控制。

经过多年的发展,步进电机功能更加强大,种类也很繁多。

步进电机以它显著的优点在工业生产和自动化控制中占据着不可动摇的地位。

伴随着科技的发展,步进电机将在更多的领域内应用。

1.3 课题主要研究内容和要求本设计采用单片机80C51作为整个步进电机控制系统的运动控制核心部件。

所选的步进电机是四相五线的,由于步进电机需要高功率驱动,单片机不能与步进电机直接相连,因此我们需要采用了电机驱动芯片ULN2003连接步进电机和单片机。

此外我用一个四位数码管显示电机转速,再加上一些独立按键来实现步进电机调速、改变转向的功能,并在数码管上显示出来。

这样就构成了一个基本的步进电机控制系统。

系统的具体功能和要求如下:1.电机转速可以平稳控制;2.通过键盘和显示器可以设置电机的转速;3.能显示电机的运动趋势;2 步进电机的控制方案—基于单片机的控制单片机控制步进电机实现了软件和硬件相结合的控制方式。

该系统采用了单片机直接控制步进电机的各相驱动线路。

由于单片机的可扩展性强,我们还可以开发一些其他功能,例如独立按键控制转速、转向,再加入数码管显示电机转动速度。

单片机对电机的控制有以下好处:(1)使电路更加简单,采用电子电路为了实现控制逻辑需要很多电子元件,而单片机绝大多数的控制电路都可以通过软件实现。

(2)可以实现较复杂的控制,单片机有更强的逻辑功能,运算速度快,精度高,有大量的存储单元。

(3)灵活性和适应性,用单片机只需要改变程序就可以达到控制的要求。

(4)无零点漂移,控制精度高。

(5)可提供人际交换,多级联网工作。

根据设计要求,采用的方案如下:硬件部分实现电机转动和速度显示功能,包括控制开关模块;电机转动模块和速度显示模块。

软件部分实现对步进电机的控制功能,主要设计思想通过控制台控制程序的开关来控制电机的转动,由电机反馈回来的数据经单片机控制显示器显示数据。

3系统硬件设计本设计的硬件电路包括独立按键控制模块、步进电机驱动模块、数码管显示模块和单片机最小系统四部分。

单片机最小系统由时钟电路和复位电路组成,保证单片机正常运行;独立按键控制模块由开关和按键组成,当按下按键时,该系统就按照该按键控制的功能运作;显示模块主要是为了显示电机的工作状态和转速;驱动电路主要是对单片机输出的脉冲进行功率放大,从而驱动电机转动。

3.1控制电路根据系统的要求,按键输入部分设置了顺时针控制、逆时针控制、加速控制、减速控制和停止、电机三种启动方式选择按键。

控制电路如图所示,当按下按键,内部程序检测P3.0~P3.7的状态变化调用相应的启动和转向程序,从而实现系统的电机的启动和正反转控制。

根据步进电机的工作原来可以知道,步进电机的转速主要通过控制通入电机的脉冲频率,从而控制电机的转速。

对单片机而言,主要的方法有:软件延时和定时中断,在此电路中电机的转速控制主要是通过软件延时控制,本设计是根据操作者设定的转速大小依据一定的公式计算得到变量maichong的大小,通过延时程序改变电机转动一个步进角的时间,从而改变电机转动的快慢。

3.2最小系统单片机的最小系统一般由时钟电路和复位电路构成。

通过时钟电路提供单片机各种操作基准,通过复位电路使单片机片内存储器初始化。

时钟电路是在引脚XT AL1和XT AL2外接一个12M的晶振,同时在晶振的两脚分别接22pf的电容。

晶振的作用是产生震荡时钟脉冲。

电容起稳定震荡频率,快速起震的作用。

复位电路使由独立按键,200Ω电阻和一个10Uf的电容构成。

复位电路使单片机从一种确定的状态开始运行。

3.3驱动电路本次设计用ULN2003来驱动步进电机,电路图如图。

通过单片机的P1.0~P1.3输出脉冲到ULN2003的1B~4B口,经信号放大后从1C~4C出口分别输出到电机的ABCD四相。

ULN2003是一种大功率驱动芯片,多用于智能仪器、PLC、步进电机控制。

由于控制步进电机需要高功率,而单片机不能直接提供给步进电机。

因此我们用ULN2003来放大信号。

ULN2003输入只需要5V的电平,但是输出可以高达50V,因此它具有工作电压高,电路增益高,可以提供大功率负载的特点,适应于各种功率驱动电路。

当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。

每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度。

当通电状态的改变完成一个循环时,转子转过一个齿距。

四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A),双(双相绕组通电)四拍(AB-BC-CD-DA-AB-),八拍(A-AB-B-BC-C-CD-D-DA-A),通过P3.3~P3.5可以选择电机控制方式。

3.4 显示电路为了能看出步进电机的转速,我们用数码管显示电机的转速,主要是利用了单片机的P0口接一个四位的共阳极数码管。

数码管a、b、c、d、e、f、g、DP分别接P0.0~P0.7口.数码管的公共脚1~4分别接P2.0~P2.3。

3.5总体电路图4系统软件设计4.1软件设计分析本次采用的步进电机是五相四线的,根据所查该电机的工作参数我们可以看出它的工作电压时+5V,因此我们可以直接把他正极与单片机正极相连,供5v的电压。

由总体的电路图我们可以看出步进电机的四个接口与ULN2003相接。

ULN2003与单片机P1口相连。

单片机P0口接一个四位共阳极数码管。

通过上述的分析我们发现要实现系统的功能,我们要设计一下几个模块程序:主程序,延时程序,按键子程序,数码管显示程序。

当通电后,单片机首先检测控制方式选择按键,然后检测正反转键是否按下,并在数码管上有所显示,并以设定的速度运行着电动机,然后检测加减速按键是否也按下,数码管实时跟随显示速度。

按下停止键电机立马停止转动。

4.2主程序设计当我们给系统供入5V电压时,由复位电路给系统进行初始化。

然后便开始执行按键查询等待相应的操作,当有按键按下的时,程序便调用并执行相应的子程序,下图为主流程图:按键子程序:1、延时子程序:在本延时子程序当中每调用一次延时子程序延时时间是1毫秒。

2、按键响应子函数:在本设计当中按键的一端接地,另一端接单片机的对应端口,所以当按键按下,既是将单片机对应端口电平拉低。

所以在编程的时候判断按键按下是低电平有效。

如下图为电机增速和减速的子程序框图。

5仿真与调试5.1 仿真调试的操作步骤本次采用的仿真软件是proteus,采用的编程工具是keil。

具体操作如下:1)在Protues中画出系统电路图2)编写程序并在keil中编译并生成hex文件。

3)把在keil中编译生成的HEX文件载入AT89C52芯片中;4)运行仿真。

5.2 仿真结果仿真结果如下图所示:当点下proteus的play键时候,此时数码管显示速度为零,电机不转。

当按下启动按键时,接着进入控制方式选择阶段,选择完成后,接着判断正反转控制按键,如图显示为反转,初始速度设置为10,第一位的1表示电机反转,若电机正转则显示为0.接下来如果再控制加减按键,可以实现对电机速度的调节,并在数码管有个直观的转速显示。

本程序设计对速度有所限制,最大为20,最小为0,当减速到0时电机停止转动并复位,结果如图所示。

总结经过学习和努力,本次设计终于完成了,从当中我学到了很多东西。

1、我进一步了解了单片机的工作原理,掌握了步进电机控制系统的组成原理。

通过本次的设计和调试,我补充和巩固了自己已学的电子理论知识,同时也提高了动手和排除故障能力。

2、我了解了步进电机的发展,工作原理和控制方式。

步进电机应用于生活和工业中的各个方向,使我对步进电机的兴趣越来越大。

3、本次课程设计我查阅大量书籍、专业网站、论坛等,通过反复对比,采用了功能相对强大,设计相对简单的设计方法。

通过与其他人设计的对比,我学到了很多东西,找到了自己设计方案的优缺点。

应该说本次设计还是基本达到了设计的要求,通过独立按键我们可以很方便的控制电机的正反转加速和减速。

相关文档
最新文档