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

合集下载

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

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

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

系统利用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和脉冲分配器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口和定时器等模块来生成适当的脉冲信号和控制信号,驱动步进电机实现转动和定位。

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

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

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

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

单片机控制步进电机程序设计1.引言步进电机是一种常用的电机类型,其特点是精度高、稳定性好、速度可调。

在很多自动控制系统中,步进电机被广泛应用于位置控制、定位、打印机等领域。

本文将介绍如何使用单片机来控制步进电机,并给出一个简单的步进电机程序设计示例。

2.步进电机简介步进电机是一种将电脉冲信号转换为角位移或线位移的电机。

其优点包括:-分辨率高:每个步进电机的旋转角度可以非常小,可实现较高的位置精度。

-可控制性强:通过控制电压脉冲的频率和顺序,可以精确控制步进电机的转动方向和步数。

-响应快速:步进电机的响应速度较快,可达数千转每分钟。

3.单片机选型与连接在实现步进电机的控制过程中,我们选择了一款适用于步进电机控制的单片机。

这款单片机具有以下特点:-高效的运算能力和大容量存储空间,适用于复杂的控制算法。

-可编程性强,支持多种开发环境,开发过程相对简便。

-丰富的外设接口,方便与步进电机的连接和控制。

连接单片机与步进电机的基本电路如下所示:步进电机驱动引脚1--单片机引脚A步进电机驱动引脚2--单片机引脚B步进电机驱动引脚3--单片机引脚C步进电机驱动引脚4--单片机引脚D4.步进电机控制原理步进电机控制原理基于对步进电机驱动引脚输入电压脉冲信号的控制。

针对不同的步进电机类型,控制方式可以有所不同,常见的控制方式包括全步进控制和半步进控制。

4.1全步进控制全步进控制方式是将电流依次施加到步进电机的每个驱动相,使其按照一定顺序正转或反转。

控制步骤如下:1.给引脚A和引脚B施加电压,使电机顺时针转动一个步距。

2.给引脚B和引脚C施加电压,使电机顺时针转动一个步距。

3.给引脚C和引脚D施加电压,使电机顺时针转动一个步距。

4.给引脚D和引脚A施加电压,使电机顺时针转动一个步距。

4.2半步进控制半步进控制方式是在全步进控制的基础上,通过控制相邻两个相的电流互补关系,实现更细微的步距调整。

控制步骤如下:1.给引脚A施加电压,使电机顺时针转动半个步距。

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课程设计心得体会通过这次课程设计我收获很大,不仅增加和巩固了我的知识,还提高了我们的动手能力。

基于单片机的步进电机操纵系统设计毕业设计

基于单片机的步进电机操纵系统设计毕业设计

基于单片机的步进电机操纵系统设计摘要:步进电动机由于用其组成的开环系统既简单、廉价,又超级可行,因此在打印机等办公自动化设备和各类操纵装置等众多领域有着极为普遍的应用。

本文介绍的是一种基于单片机的步进电机的系统设计,用汇编语言编写出电机的正转、反转、加速、减速、停止程序,通过单片机、电机的驱动芯片ULN2004和相应的按键实现以上功能,而且步进电机的工作状态要用相应的发光二极管显示出来。

本文内容介绍了步进电机和单片机原理、该系统的硬件电路、程序组成,同时对软、硬件进行了调试,同时介绍了调试进程中显现的问题和解决问题的方式。

该设计具有思路明确、靠得住性高、稳固性强等特点,通过调试实现了上述功能。

关键词:步进电机;脉宽调制;驱动机构;单片机;转动Design of The Control System of Step-motor Abstract:The open-loop system which is composed by step-motor is simple, cheap and very practical, so there are very wide range of applications in printers and other office automation equipment and various control devices, and many other fields.This article describes one design of step-motor system based on program of the preparation of a motor , reverse, speed up, slow down, stop is written by compile language. The above functions are realized through the microcontroller, motor driver chip ULN2004 and correspond key , and the work state of stepper motor is diaplayed through the light-emitting diode. This article introduces the principle of stepper motor and single-chip microcomputer, the system hardware circuit, the program components, while software and hardware for the debugging, at the same time introduces the problems which are appeared in the debugging process and the solutions of the problems . The design has the advantages of clear , high reliability, strong stability, etc.,and the above-mentioned functions are realized through the debugging..Key Words:Stepper motor; Pulse-width modulated; driving mechanism; singlechip; rotation目录序言 (1)第1章绪论 (2)课题研究的目的和意义 (2)国内外研究概况 (2)论文的要紧研究内容 (3)第 2 章步进电机与单片机简介 (4)步进电机介绍 (4)步进电机概述 (4)步进电机的工作原理 (6)步进电机的分类与选择 (8)步进电机驱动系统介绍 (9)步进电机驱动系统简介 (9)步进电机绕组的电气特性 (10)单片机原理 (11)单片机原理概述 (11)单片机的应用系统 (12)AT89C51简介 (13)第 3 章系统整体硬件结构 (17)系统整图 (17)电源部份 (18)按键部份 (18)驱动部份 (19)状态指示部份 (20)时钟部份 (20)第 4 章系统软件设计 (21)系统开发软硬件环境 (21)系统主程序 (21)查键部份 (22)前进部份 (22)后退部份 (23)加速部份 (24)减速部份 (25)第 5 章系统的调试与检测 (26)程序编译时的错误与解决方式 (26)LM7812输出电压错误与解决方式 (26)步进电机转动错误及解决方式 (26)结论与展望 (27)参考文献 (28)致谢 (29)附录 (29)附录1:源程序清单 (30)附录2:英文资料及其中文翻译 (35)基于单片机的步进电机操纵系统设计序言步进电机作为执行元件,是机电一体化的关键产品之一,普遍应用在各类自动化操纵系统中。

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

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

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

由于它是由数字脉冲控制,因此非常适合于用单片机控制,本设计便是在此基础上,以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口提供信号;而且电路简单,使用比较方便。

基于单片机的步进电机控制系统设计方案

基于单片机的步进电机控制系统设计方案

D10-基于单片机旳步进电机控制系统一、理解什么是步进电机以及其工作原理步进电机是数字控制电机,步进电机旳运转是由电脉冲信号控制旳,其角位移量或线位移量与脉冲数成正比,每个一种脉冲,步进电机就转动一种角度(不距角)或前进、倒退一步。

步进电机旋转旳角度由输入旳电脉冲数确定,因此,也有人称步进电机为数字/角度转换器。

步进电机旳各相绕组按合适旳时序通电,就能使步进电机转动。

当某一相绕组通电时,对应旳磁极产生磁场,并与转子形成磁路,这时,假如定子和转子旳小齿没有对齐,在磁场旳作用下,由于磁通具有力图走磁阻最小途径旳特点,则转子将转动一定旳角度,使转子与定子旳齿互相对齐,由此可见,错齿是促使电机旋转旳原因。

二、步进电机旳特点(1)步进电机旳角位移与输入脉冲数严格成正比,因此当它转一转后,没有合计误差,具有良好旳跟随性。

(2)由步进电机与驱动电路构成旳开环数控系统,既非常以便、廉价,也非常可靠。

同步,它也可以有角度反馈环节构成高性能旳闭环数控系统。

(3)步进电机旳动态响应快,易于启停、正反转及变速。

(4)速度可在相称宽旳范围内平滑调整,低速下仍能保证获得很大旳转矩,因此一般可以不用减速器而直接驱动负载。

(5)步进电机只能通过脉冲电源供电才能运行,它不能直接用交流电源或直流电源。

(6)步进电机自身旳噪声和振动比较大,带惯性负载旳能力强。

三、步进电机旳控制步进电机旳控制重要包括换相次序旳控制、速度控制、速度控制、加减速控制等,控制系统就是运用单片机旳功能实现以上控制旳系统,即本次设计旳目旳。

四、示意图五、硬件设计计划本设计旳硬件电路只要包括控制电路、最小系统、驱动电路、显示电路四大部分。

最小系统只要是为了使单片机正常工作。

控制电路只要由开关和按键构成,由操作者根据对应旳工作需要进行操作。

显示电路重要是为了显示电机旳工作状态和转速。

驱动电路重要是对单片机输出旳脉冲进行功率放大,从而驱动电机转动。

(1)控制电路根据步进电机旳工作原理可以懂得,步进电机转速旳控制重要是通过控制通入电机旳脉冲频率,从而控制电机旳转速。

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

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

基于单片机的步进电机控制电路设计
步进电机是一种应用广泛的电机,它的控制方式是通过逐步改变电流来驱动电机转动。

基于单片机的步进电机控制电路设计可以使步进电机的控制更加精确、方便和自动化。

下面将介绍一下如何设计一台基于单片机的步进电机控制电路。

首先,我们需要选择合适的单片机。

对于步进电机控制,需要一个I/O口数目足够的单片机,并且要求计算速度快、性能稳定。

常用的单片机有AT89C51、AVR、PIC、STM32等,其
中STM32拥有强大的计算能力和外设支持,非常适合用于步
进电机控制电路的设计。

接下来,我们需要考虑步进电机的驱动方式。

步进电机可以采用全步进或半步进两种方式驱动。

全步进控制方式会让电机一步步转动,步距为180度,转速慢但精确度高,而半步进控制方式可以让电机先半步,再进入全步进控制,提高了转速同时又保持了较高的精度。

最后,我们需要设计电路连接和代码编写。

在电路连接方面,需要将单片机输出引脚和驱动芯片的控制引脚相连,同时将驱动芯片输出端和电机的相应引脚相连。

在代码编写方面,需要根据所选单片机的指令集来编写步进电机控制引脚输出的程序,实现步进电机转速和方向的控制。

综上所述,基于单片机的步进电机控制电路设计需要选取合适的单片机,选择合适的步进电机驱动方式,并根据电路连接和
代码编写来实现电机的精确控制。

这样设计出的步进电机控制电路可以应用于各种机械设备控制,使之更加智能化和自动化。

单片机课程设计—8个按键控制8个LED自动设定控制流水灯

单片机课程设计—8个按键控制8个LED自动设定控制流水灯

时间:二 O 二一年七月二十九日东北石油大学之吉白夕凡创作时间:二 O 二一年七月二十九日实习总结陈述实习类型生产实习实习单位东北石油大学实习基地实习起止时间 2018 年 7 月 7 日至 2018 年 7 月 16 日指导教师刘东明、孙鉴所在院(系) 电子科学学院班 级电子科学与技术 15-2学生姓名学 号 1509012402 2018 年 7 月 16 日时间:二 O 二一年七月二十九日时间:二 O 二一年七月二十九日目录第 1 章 按键控制流水灯设计 1 1.1 实习目的错误!未定义书签。

1.2 实习要求错误!未定义书签。

第 2 章 电路任务原理 2 2.1STC89C52 单片机任务原理 2 2.2LED 任务原理 3 2.3 按键任务原理 3 2.4 整体电路图 5 2.5 本章小结 6第 3 章 C 程序设计 7 3.1 程序设计流程图 7 3.2 实验结果 8 3.3 本章小结 9总结及体会 10 参考文献 11 附录 12时间:二 O 二一年七月二十九日时间:二 O 二一年七月二十九日第1章 按键控制流水灯设计1.1 实习目的本次实习以 STC89C52 单片机为控制核心.通过它实现对八盏 LED 灯的亮 灭进行设定,并在设定完成之后能够依照之前的设定实现流水灯效果.外部电 路为按键控制流水灯.P0 口控制八盏灯,P1 口控制矩阵键盘,P2 口控制独立按键, 程序利用单片机内部计时器中断实现流水效果.要求流水灯能够自行设定、暂 停、复位,任务稳定,可靠性高.生产实习的主要目的是培养理论联系实际的能力,提高实际动手操纵能力. 本专业的生产实习旨在广泛了解实际单片机电子产品任务的全过程,熟悉电子 产品的主要技术办理模式,并在实习的操纵过程中学习掌握电子产品的焊接装 置调试的实际操纵技能.稳固和加深理解所学的理论,开阔眼界,提高潜力,为培 养高素质大学本科人才打下需要的基础.透过学习,是理论与实际相结合,能够 使学生加深对所学知识的理解,并为后续专业课的学习带给需要的理性知识, 同时直接了解本业的生产过程和生产资料,为将来走上任务岗亭带给需要的实 际生产知识.1.2 实习要求1.深入学习单片机开发软件 Keil 的使用,熟悉单片机电路设计,按照实际 应用电路对程序进行调试.2.熟悉单片机硬件开发平台的应用,掌握单片机编程器、仿真器的使用, 能检查和阐发软硬件毛病.3.体会单片机内部资源的功效使用,以单片机开发板现有资源进行应用性 设计.掌握单片机经常使用外围器件的使用.4.对去年生产实习焊接的 51 开发板的程序有更深入的了解.时间:二 O 二一年七月二十九日时间:二 O 二一年七月二十九日第2章 电路任务原理2.1 STC89C52 单片机任务原理单片机(Microcontrollers)是一种集成电路芯片,是采取超大规模集成电 路技术把具有数据处理能力的中央处理器 CPU、随机存储器 RAM、只读存储 器 ROM、多种 I/O 口和中断系统、定时器/计数器等功效(可能还包含显示驱 动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块 硅片上组成的一个小而完善的微型计算机系统.例如 STC89C52 单片机是通过 32 个输入输出口的凹凸电平变更来实现对 外部电路的控制,痛过相应的程序实现对 32 个输入输出口的控制,这就是单片 机任务的最基来源根底理.如图 2-1 所示为 STC89C52 单片机任务的最小系统 电路图.图 2-1 STC89C52 最小任务系统 整个电路使用 5V 直流电源供电,其中复位电路能够使单片机复位;晶振 电路相当于单片机的心脏,为单片机提供 12MHz 的高频脉冲使单片机正常任 务;MAX232 是将单片机输出的 TTL 电平转换成 PC 机能接收的 232 电平或 将 PC 机输出的 232 电平转换成单片机能接收的 TTL 电平,实现单片机与 PC 机之间的通信,以便于下载程序.时间:二 O 二一年七月二十九日时间:二 O 二一年七月二十九日2.2 LED 任务原理LED(light-emitting diode),即发光二极管,俗称 LED 小灯,51 开发板使用 的是普通贴片发光二极管.这种二极管通常的正向导通电压是 1.8~2.2V 之间, 任务电流一般在 1~20mA 之间.其中当电流在 1~5mA 之间变更时,随着通过 LED 的电流越来越大,肉眼会感到到这个灯越来越亮,而当电流从 5~20mA 变更 时,看到的发光二极管的亮度变更不明显了.当电流超出 20mA 时,LED 就有烧 坏的危险.所以在 51 开发板的使用中需要按照相应的电流参数设计一个与 LED 串联的限流电阻.如图 2-2 所示为单片机 I/O 口控制 LED 的电路原理图.图 2-2 单片机控制 LED 电路图 图中 PR2 为排阻,在电路中起到限流作用,避免 LED 被烧毁.因为单片机是 可以编程控制的,即 P00~P07 的凹凸电平也是能够控制的,所以对应的 8 个 LED 的亮灭状态也是能够控制的,这就达到了单片机控制 LED 的目的.2.3 按键任务原理 2.3.1 独立按键任务原理独立式按键比较简单,它们各自与独立的输入线相连接,如图 2-3 所示.时间:二 O 二一年七月二十九日时间:二 O 二一年七月二十九日图 2-3 独立式按键原理图 4 条输人线接到单片机的 I/O 口上,当按健 K1 按下时,+5V 通过电阻然后再 通过按键 K1 最终进人 GND 形成一条通路,这条线路的全部电压都加到这个电 阻上,P20 这个引脚就是个低电平.当松开按健后,线路断开,就不会有电值通 过,P20 和+5V 就应该是等电位,是个高电平.我们就可以通过 P20 这个 10 口的 凹凸电平来判断是否有按键按下.2.3.2 矩阵按键任务原理在某一个系统设计中,如果需要使用很多按键时,做成独立按键会占用大 量 I/O 口,因此引用了矩阵键盘的设计.如图 2-4 所示为 51 开发板上的矩阵按键 电路原理图,使用 8 个 I/O 口来实现 16 个按键.时间:二 O 二一年七月二十九日时间:二 O 二一年七月二十九日图 2-4 矩阵按键原理图 在程序设计中辨别用四个 I/O 口扫描 4 行,另外 4 个扫描 4 列,确定了按键 在哪行哪列也就确定了按键的具体位置.2.4 整体电路图如图 2-5 所示为键盘控制 LED 流水灯整体电路图.图 2-5 总电路原理图 时间:二 O 二一年七月二十九日2.5 本章小结时间:二 O 二一年七月二十九日本章主要介绍了单片机最小系统、LED 任务原理、按键任务原理.并从硬 件电路的设计出发,简单阐发单片机控制 LED 的任务过程.理论阐发基本完成, 接下来就是具体的程序设计与调试,通过具体的程序来实现相应的功效,这也 是单片机开发中最具技术含量的环节之一.时间:二 O 二一年七月二十九日时间:二 O 二一年七月二十九日第3章 C 程序设计3.1 程序设计流程图如图 3-1 所示为主程序流程图.开始 开计时器中断K1 是否按下 否是扫描矩阵键盘选 择需要点亮的 LED是K2 是否按下 否K3 是否按下 否是保管选择的数据 择需要点亮的 LED计时器中断程序选择 数据实现 LED 流水灯图 3-1 程序设计框图 主程序由 3 个独立按键控制,K1,K2 和 K3.开始从主函数执行程序语句,不 竭循环扫描按键,当 K1 按下时,进入选择状态,程序会不竭地扫描矩阵键盘,通 过矩阵键盘选择需要点亮的 LED;选择结束后按下 K2,程序会将选定后的数据 送入中断程序,中断程序按照接收的数据选泽对应的 LED 实现流水灯效果;当时间:二 O 二一年七月二十九日时间:二 O 二一年七月二十九日 按下 K3 后程序又会进入矩阵键盘扫描重新选择 LED.3.2 实验结果如图 3-2 所示,当按下 K1 后进入选择定状态.图 3-2 选择 LED 如图 3-2,控制矩阵键盘辨别选择了第 1,6,8 盏灯. 再按下 K2 键,让选择的第 1,6,8 盏灯实现流水灯效果.如图 3-3 所示.图 3-3 流水灯 如图 3-3,按下 K2 之后,LED 由之前第 1,6,8 盏灯亮变成第 1,2,7 盏灯亮,实 现了流水灯右移的效果. 当按下 K3 键,实验结果如图 3-4 所示.时间:二 O 二一年七月二十九日图3-4回到初始状态由图3-4可知,当按下K3键之后,程序又回到了设定LED的状态.3.3本章小结由实验结果可以看出,本次单片机课程设计已达到预期要求,电路任务稳定,满足设计要求.在整个设计过程中,程序设计与调试最为庞杂,出现过按键灯不亮,没有出现滚动流水等现象等一系列程序问题.但最终在不竭地检查、调试之后,问题也逐渐得到解决.最终实现按键控制流水灯的效果.总结及体会本次设计通过对单片机进行编程控制,进而控制外部电路,成功地设计了八个按键控制八盏灯亮灭实现流水灯的效果.深入了解到单片机开发软件Keil 的使用,熟悉单片机电路设计,按照实际应用电路对程序进行调试.熟悉单片机硬件开发平台的应用,掌握了单片机编程器、仿真器的使用,能检查和阐发软硬件毛病.体会到单片机内部资源的功效使用,以单片机开发板现有资源进行应用性设计.通过这次实习使我进一步弄懂所学到的课本知识,稳固和深化对单片机的结构、指令系统、中断系统、键盘/显示系统、接口技术、系统扩展、定时/控制、程序设计、应用开发、等基本理论知识的理解,提高单片机应用于技术的实践操纵技能,掌握单片机应用系统设计、研制的办法,培养利用单片机进行科技改革、开发和创新的基天性力,为结业后从事与单片机相关的任务打下一定的基础.参考文献[1]童诗白,华成英.模拟电子技术基础(第四版)[M].北京:初等教育出版社,2006.[2]阎石.数字电子技术基础(第五版)[M].北京:初等教育出版社,2006.[3]韩建,全星慧,周围.电子技术课程设计指导[M].哈尔滨:哈尔滨工程大学出版社,2014.[4]黎小桃.数字电子电路阐发与应用[M].北京:北京理工大学出版社,2014.[5]高吉祥. 电子技术基础实验与课程设计[M].北京:电子产业出版社,2002.[6]陈明义.电子技术课程设计实用教程(第3版) [M]. 长沙:中南大学出版社,2010.[7]程春雨. 模拟电子技术实验与课程设计[M].北京:电子产业出版社,2016.[8]宋雪松,李东明,崔长胜. 手把手教你学51单片机(C语言版)[M]. 北京:清华大学出版社,2014.附录:#include <reg52.h>#include <intrins.h>#define KEY P1sbit k1=P2^0;sbit k2=P2^1;sbit k3=P2^2;sbit k4=P2^3;unsigned char LED=0x00,LED1=0x00;unsigned char x=0;unsigned char KeyValue;unsigned char A1=0x00,A2=0x00,A3=0x00,A4=0x00,A5=0x00,A6=0x00,A7=0x00,A8=0x00;void Delay10ms(unsigned int c);void KeyDown(); //矩阵键盘检测void kongzhil();void kongzhi2();void main(void){ TMOD=0x01; //定时器任务状态为1 TH0=(65536-50000)/256;TL0=(65536-50000)%6;EA=1; //开总中断ET0=1; //开定时器中断TR0=1; //开启定时器while(1){ int n=0;if(k1==0){Delay10ms(1);if(k1==0)n=1;}if(k3==0){Delay10ms(1);if(k3==0)n=3;}if(k4==0){Delay10ms(1);if(k4==0)n=4;}switch(n){case 1:KeyDown();break;case 3:kongzhil();break;case 4:kongzhi2();break;default:break;}}}void KeyDown(void){ int k=1;while(k){char a=0;KEY=0x0f;if(KEY!=0x0f){Delay10ms(1); //延时消抖if(KEY!=0x0f){KEY=0X0F;switch(KEY) //扫描行{case(0X07): KeyValue=0;break;case(0X0b): KeyValue=4;break;case(0X0d): KeyValue=8;break;case(0X0e): KeyValue=12;break;}KEY=0XF0;switch(KEY) //扫描列{case(0X70): KeyValue=KeyValue+3;break;case(0Xb0): KeyValue=KeyValue+2;break;case(0Xd0): KeyValue=KeyValue+1;break;case(0Xe0): KeyValue=KeyValue;break;}while((a<50) && (KEY!=0xf0)) //松手检测{Delay10ms(1);a++;}switch(KeyValue) //选择需要亮的灯{case(0):A1=~A1;break;case(1):A2=~A2;break;case(2):A3=~A3;break;case(3):A4=~A4;break;case(4):A5=~A5;break;case(5):A6=~A6;break;case(6):A7=~A7;break;case(7):A8=~A8;break;default:break;}}}if (A1==0xff) //保管数据(LED1=LED1|0x80);else if(A1==0x00)(LED1=LED1&0x7f);if (A2==0xff)(LED1=LED1|0x40);else if(A2==0x00)(LED1=LED1&0xbf);if (A3==0xff)(LED1=LED1|0x20);else if(A3==0x00)(LED1=LED1&0xdf);if (A4==0xff)(LED1=LED1|0x10);else if(A4==0x00)(LED1=LED1&0xef);if (A5==0xff)(LED1=LED1|0x08);else if(A5==0x00)(LED1=LED1&0xf7);if (A6==0xff)(LED1=LED1|0x04);else if(A6==0x00)(LED1=LED1&0xfb);if (A7==0xff)(LED1=LED1|0x02);else if(A7==0x00)(LED1=LED1&0xfd);if (A8==0xff)(LED1=LED1|0x01);else if(A8==0x00)(LED1=LED1&0xfe);LED=LED1;if(k2==0){Delay10ms(1);if(k2==0){k=0;LED=LED1;};};if(k4==0){Delay10ms(1);if(k4==0){k=0;kongzhi2();};};}}void kongzhil(void){int m=1;LED1=LED,LED=0x00;while(m){if(k3==0){Delay10ms(1);if(k3==0){m=0,LED=LED1;};}}}void kongzhi2(void){LED1=0x00;LED=0x00;A1=0;A2=0;A3=0;A4=0;A5=0;A6=0;A7=0;A8=0;}void timer0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%6;x++;if(x==6) //6*50MS=300MS{x=0;P0=LED;LED = _crol_(LED,1);//if(++i==8) i=0;}}void Delay10ms(unsigned int c) {unsigned char a, b;for (;c>0;c--){for (b=38;b>0;b--){for (a=130;a>0;a--);}}}。

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

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

基于单片机AT89C52的步进电机的控制器设计步进电机是一种非常常见的电机类型,由于其具有精准定位、适应高速运动以及控制简单等特点,被广泛应用于各种自动化设备中。

本文将从步进电机的工作原理、控制方式以及基于单片机AT89C52的步进电机控制器设计等方面展开阐述。

首先,我们来了解步进电机的工作原理。

步进电机是一种特殊的同步电动机,它具有内置的磁化轭,在没有外部励磁的情况下也能自动旋转。

步进电机的旋转是由控制电流方向和大小来实现的。

通常情况下,步进电机每转动一定角度,称为“步距角”,它可以是1.8度、0.9度、0.45度等,不同的步距角决定了电机的分辨率。

步进电机的控制方式主要有全步进和半步进两种。

全步进是指每次控制信号脉冲后,电机转动一个步距角。

而半步进则是在全步进基础上,在脉冲信号中引入一半步距角的微调。

控制信号脉冲可以是脉冲序列或者方波信号。

基于单片机AT89C52的步进电机控制器设计主要包括控制信号发生器的设计和步进电机驱动电路的设计。

控制信号发生器负责产生相应的控制信号脉冲,而步进电机驱动电路将这些脉冲信号转化为电流信号驱动步进电机。

控制信号发生器的设计可以采用定时器/计数器模块来实现。

AT89C52芯片具有可编程的定时器/计数器,可以用来产生控制信号的脉冲。

通过设置定时器的工作方式和计数值,可以实现不同频率、占空比的控制脉冲。

步进电机驱动电路的设计主要包括功率级驱动电路和电流控制电路。

功率级驱动电路负责将控制信号转化为足够大的电流驱动步进电机,通常采用功率放大器来实现。

电流控制电路则用来控制驱动电流的大小,使步进电机能够顺畅工作。

电流控制电路通常采用可调电阻、电流检测电阻和比较器等元件组成。

在步进电机控制器设计中,还需要考虑到步进电机的特性和应用需求。

例如,步进电机的电源电压、额定电流、阻抗、扭矩等参数需要与驱动电路匹配。

此外,还需要考虑到步进电机的机械结构、位置传感器、防重叠措施等因素。

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

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

基于单片机的步进电机控制系统设计引言:步进电机是一种常用的电机类型,具有精准的位置控制、高效的能量转换等特点。

在许多自动化设备中广泛应用,如数控机床、3D打印机、机器人等。

本文将以基于单片机的步进电机控制系统设计为主题,介绍系统的硬件设计、软件设计以及实验验证。

一、硬件设计1.步进电机选型:根据实际应用需求,选择适当的步进电机。

包括步距角、转速范围、扭矩要求等等。

2.电源设计:步进电机需要驱动电压和电流,根据步进电机的额定电压和电流选用适当的电源。

3.驱动电路设计:步进电机通常需要驱动电路来控制电流和脉冲序列。

常见的驱动电路有全桥驱动器、半桥驱动器等。

4.信号发生器设计:步进电机通过脉冲信号来控制转动角度和速度,因此需要信号发生器来产生合适的脉冲序列。

常见的信号发生器有定时器、计数器等。

5.单片机接口设计:单片机作为步进电机控制系统的核心,需要与其他硬件进行通信。

因此需要设计合适的接口电路,将单片机的输出信号转换为驱动电路和信号发生器所需的电压和电流。

二、软件设计1.单片机程序框架设计:根据具体的单片机型号和开发环境,设计合适的程序框架。

包括初始化设置、主循环、中断处理等。

2.脉冲生成程序设计:根据步进电机的控制方式(如全步进、半步进、微步进等),设计脉冲生成程序。

通过适当的延时和输出信号控制,产生合适的脉冲序列。

3.运动控制程序设计:设计运动控制程序,实现步进电机的前进、后退、加速、减速等功能。

根据具体需求,可以设计不同的运动控制算法,如速度环控制、位置环控制等。

4.保护机制设计:为了保护步进电机和控制系统,设计合适的保护机制。

如过流保护、过压保护、过载保护等。

三、实验验证1.硬件连接:将步进电机、驱动电路和单片机按照设计进行连接。

2.软件调试:通过单片机编程,调试程序代码。

确保脉冲生成、运动控制等功能正常工作。

3.功能测试:对步进电机控制系统进行功能测试,包括正转、反转、加速、减速等功能。

通过观察步进电机的运动状态和测量相关参数来验证系统设计的正确性和性能。

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

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

设计题目:基于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 为例,它可以接收来自单片机的脉冲和方向信号,并输出相应的电流来驱动步进电机。

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

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

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

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

毕业设计(论文)(2011届)课题名称基于单片机的步进电机控制器设计系别机电工程系专业应用电子技术班级姓名学号 200803041319指导教师起讫时间: 2010年 6 月 30日~2010 年 12 月 20 日(共 20 周)1基于单片机的步进电机控制系统设计目录第1章绪论错误!未定义书签。

1.1 引言错误!未定义书签。

1.2 步进电机常见的控制方案与驱动技术简介错误!未定义书签。

1.2.1 常见的步进电机控制方案错误!未定义书签。

1.2.2 步进电机驱动技术错误!未定义书签。

第2章步进电机概述 112.1 步进电机的分类 112.2 步进电机的工作原理 122.2.1 结构及基本原理 122.2.2 两相电机的步进顺序 132.3 步进电机的工作特点错误!未定义书签。

第3章系统的硬件设计 163.1 系统设计方案 163.1.1 系统的方案简述与设计要求 163.1.2 系统的组成及其对应功能简述 163.2 单片机最小系统 183.2.1 AT89S51简介 183.2.2 单片机最小系统设计 233.2.3 单片机端口分配及功能 243.3 串口通信模块 243.4 数码管显示电路设计 253.4.1 共阳数码管简介 253.4.2 共阳数码管电路图错误!未定义书签。

3.5 电机驱动模块设计 273.5.1 L298简介 273.5.2 电机驱动电路设计 283.6 驱动电流检测模块设计 303.6.1 OP07芯片简介 303.6.2 ADC0804芯片简介 323.6.3 电流检测模块电路图 353.7独立按键电路设计 362第4章系统的软件实现 374.1 系统软件主流程图 374.2 系统初始化流程图 384.3 按键子程序 39第五章总结 57致谢 59参考文献 59摘要:本文应用单片机、步进电机驱动芯片、字符型LCD和键盘阵列,构建了集步进电机控制器和驱动器为一体的步进电机控制系统。

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

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

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

二、设计要求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、本次课程设计我查阅大量书籍、专业网站、论坛等,通过反复对比,采用了功能相对强大,设计相对简单的设计方法。

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

相关文档
最新文档