文档库 最新最全的文档下载
当前位置:文档库 › 基于单片机的步进电机运动控制系统设计的程序

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

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

附录

源程序清单

QIAN EQU 40H

HOU EQU 41H

JIA EQU 42H

JIAN EQU 43H

TING EQU 44H

ORG 000H

LJMP MAIN

ORG 003H

LJMP DUAN /// 外部中断0 ORG 0030H

MAIN: ///初始化

MOV R0,#0FH

MOV 10H,#01H

MOV 11H,#03H

MOV 12H,#02H

MOV 13H,#06H

MOV 14H,#04H

MOV 15H,#0CH

MOV 16H,#08H

MOV 17H,#09H

MOV 20H,#50

MOV 21H,#40

MOV 22H,#30

MOV 23H,#20

MOV 24H,#10

MOV 25H,#5

MOV R1,#20H

MOV IE,#10000001B

CLR QIAN

CLR HOU

CLR JIA

CLR JIAN

CLR TING

MOV A,@R1

MOV R2,A

SETB IT0 ////边沿触发形式

LOOP1:JNB QIAN ,LOOP2

ACALL FRONT1

LOOP2:JNB HOU,LOOP1

ACALL BACK1

DUAN: MOV A,P0

CPL A

ANL A,#1FH ///去高三位,使按下去的一位为1 CJNE A,#00H,CHA

AJMP DUAN

CHA: ACALL DELAY10MS

MOV A,P0

CPL A

ANL A,#1FH

JZ DUAN ///为零转移

ACALL ZHAO

RETI

ZHAO:MOV A,P0 //查找是哪一位,下面置1

JNB ACC.0,FRONT

JNB ACC.1,BACK

JNB ACC.2,FAST

JNB ACC.3,SLOW

JNB ACC.4,STOP

FRONT:SETB QIAN

RET

BACK: SETB HOU

RET

FAST: SETB JIA

RET

SLOW: SETB JIAN

RET

STOP: SETB TING

RET

FRONT1:CLR QIAN

CLR HOU

CLR JIA

CLR JIAN

CLR TING

INC R0 ///前进子程序 R0用于给P2口送不同的值 MOV P2,@R0

MOV A,@R1

MOV R2,A /// R2用于延时不同的时间

ACALL DELAY

CJNE R0,#17H,XIA

MOV R0,#10H

XIA: JB QIAN,HUI //回主程序////////XIA子程序用于过度 JB HOU, HUI

JB TING,HUI

JNB JIA,XIA1

ACALL JIA1

XIA1: JNB JIAN,XIA2 ///XIA子程序用于过度 ACALL JIAN1

JB TING ,HUI

XIA2: AJMP FRONT1

HUI : RET //返回主程序

JIA1: CJNE R1,#25H,XIA3 /// 加速 RET

XIA3: INC R1

RET

BACK1: CLR QIAN //后退

CLR HOU

CLR JIA

CLR JIAN

CLR TING

CJNE R0,#0FH ,XIA8

MOV R0,#17H

XIA8: DEC R0

MOV P2,@R0

MOV A,@R1

MOV R2,A

ACALL DELAY

CJNE R0,#10H,XIA5

MOV R0,#17H

XIA5: JB QIAN,HUI

JB TING,HUI

JB HOU ,HUI

JNB JIA, XIA6

ACALL JIA1

XIA6: JNB JIAN,XIA7

ACALL JIAN1

XIA7: AJMP BACK1

JIAN1: CJNE R1,#20H,XIA4 //减速

RET

XIA4: DEC R1

RET

DELAY10MS:

MOV R3,#20

D1: MOV R4,#250

DJNZ R4,$

DJNZ R3,D1

RET

DELAY: MOV R5,#50 //根据r2的状态调整步进电机的每一步的时间 D2: MOV R6,#150

D3: DJNZ R6,$

DJNZ R5,D2

DJNZ R2,DELAY

RET

END

单片机控制步进电机和数码管显示

一、设计任务书 设计内容:用80C51单片机设计一个步进电机控制器 设计要求: 1.用8015设计一个四相步进电机。 2.可控制步进电机的启动与停止,正转与反转。 3.10档速度调节。 4.点动控制。 5.可显示电机运行参数。 二、设计总体方案 (一)控制方式的选择 控制主要用于电机速度和方向的转换。控制方式有按键控制和开关控制两种。按键较开关而言,操作更加简便,故选按键控制。 方案一:独立按键。独立按键可自由连接,线路简单。 方案二:编码式键盘。编码式键盘的按键接触点接于74LS148芯片。当键盘上没有闭合时,所有按键都断开,当某一键闭合时,该键对应的编码由74LS148输出。 本次设计所需按键不多,不需要采用复杂编码,考虑硬件条件、线路连接和经济性等方面,选择方案一。 (二)电机电路设计方案的选择 由于条件的限制,对于电机的选择只能是实验台上最小步距角18°的电机,其中已包含了驱动电路。 (三)单片机的选择 方案一:AT89C51高性能8位单片机,内部集成CPU、存储器、寄存器、I/O接口,从而构成较为完整的计算机,价格便宜。 方案二:C8051F005单片机,该单片机是完全集成的混合信号系统及芯片,具有8051兼容的微控制器内核,与MCS-51指令集完全兼容。除了具有标准8052的数字外设部件,片内还继承了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件,执行速度快,但价格较贵。 本次课程设计是在仿真环境下进行,没有太过考虑单片机选择的问题,但就设计本身来讲,从物美价廉的角度考虑,选择方案一较合适。 (四)显示方案的选择 方案一:采用LED数码管。LED数码管是轮流现实的,其利用人烟的视觉暂留特性,使人感觉不到数码管闪动,看到每只数码管都常亮。利用其显示必须不停给数码管数据输入口循环赋值,显示内容较多,编程和接线较为复杂。 方案二:采用LCD1602液晶显示器。LCD1602具有功率小,效果明显,变成容易等优点,且它最多能显示2×16个字符,可以轻松满足设计要求。 由上可知,LCD1602液晶显示器的优点突出,故选择方案二。 (五)软件部分的选择 软件部分的选择主要是指编程语言的选择,编译调试工具根据设计平台选择伟福软件。编程语言主要有以下两种方案。

四相步进电机控制系统设计资料讲解

四相步进电机控制系 统设计

课题:四相五线单4拍步进制电动机的正反转控制专业:机械电子工程 班级:2班 学号: 20110259 姓名:周后银 指导教师:李立成 设计日期: 2014.6.9~2014.6.20 成绩:

1概述 本实验旨在通过控制STC89C52芯片,实现对四相步进电机的转动控制。具体功能主要是控制电机正转10s、反转10s,连续运行1分钟,并用1602液晶显示屏显示出来。 具体工作过程是:给系统上电后,按下启动开关,步进电机按照预先 实验具体用到的仪器:STC89C52芯片、开关单元、四项步进电机、等硬件设 备。 实验具体电路单元有:单片机最小系统、步进电机连接电路、开关连接电路、1602液晶显示屏显示电路。 2四相步进电机 2.1步进电机 步进电机是一种将电脉冲转化为角位移的执行机构。电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。 2.2步进电机的控制 1.换相顺序控制:通电换相这一过程称为脉冲分配。 2.控制步进电机的转向控制:如果给定工作方式正序换相通电,步进 电机正转,如果按反序通电换相,则电机就反转。

3.控制步进电机的速度控制:如果给步进电机发一个控制脉冲,它就 转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。 2.3步进电机的驱动模块 ABCD四相工作指示灯指示四相五线步进电机的工作状态 2.4步进电机的工作过程 开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动, 1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,

51单片机控制的步进电机C语言程序

我上周刚做的这个实验成功拉,给你参考一下吧这可是我当时辛辛苦苦编出来的啊,不过我用的是L298驱动的和ULN2003一样,你把它换成2003就行拉 #include unsigned char code table[]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf 9,0x00,0xf1,0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0x00}; unsigned char temp,temp_old; unsigned char key; unsigned char i,j,k,m,s; void delay(int i) { for(m=i;m>0;m--) for(j=250;j>0;j--) for(k=10;k>0;k--); } void saomiao() { P3=0xff; P3_4=0; temp=P3; temp=temp&0x0f; if(temp!=0x0f) { for(i=50;i>0;i--)

for(j=200;j>0;j--); temp=P3; temp=temp&0x0f; if(temp!=0x0f) { temp=P3; temp=temp&0x0f; switch(temp) { case 0x0e: key=1; break; case 0x0d: key=2; break; case 0x0b: key=3; break; case 0x07: key=4; break; } temp=P3;

temp=temp&0x0f; while(temp!=0x0f) { temp=P3; temp=temp&0x0f; } } } P3=0xff; P3_5=0; temp=P3; temp=temp&0x0f; if(temp!=0x0f) { for(i=50;i>0;i--) for(j=200;j>0;j--); temp=P3; temp=temp&0x0f; if(temp!=0x0f) { temp=P3; temp=temp&0x0f; switch(temp)

基于51系列单片机控制步进电机调速实验 (自动保存的)

基于51系列单片机控制步进电机调速实验 实验指导书 仇国庆编写 重庆邮电大学自动化学院 自动化专业实验中心 2009年2月

基于51系列单片机控制步进电机调速实验 实验目的及要求: 1、熟悉步进电机的工作原理 2、熟悉51系列单片机的工作原理及调试方法 3、设计基于51系列单片机控制的步进电机调速原理图(要求实现电机的速度反馈测量,测量方式:数字测量) 4、实现51系列单片机对步进电机的速度控制(步进电机由实验中心提供,具体型号42BYG )由按钮控制步进电机的启动与停止;实现加速、匀速、和减速控制。速度设定由键盘设定,步进电机的反馈速度由LED 数码管显示。 实验原理: 步进电机控制原理 一般电动机都是连续旋转,而步进电动却是一步一步转动的,故叫步进电动机。步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。因此步进电动机是一种把脉冲变为角度位移(或直线位移)的执行元件。步进电动机的转子为多极分布,定子上嵌有多相星形连接的控制绕组,由专门电源输入电脉冲信号,每输入一个脉冲信号,步进电动机的转子就前进一步。由于输入的是脉冲信号,输出的角位移是断续的,所 以又称为脉冲电动机。随着数字控制系统的发展,步进电动机的应用将 逐渐扩大。 步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来 进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由 脉冲信号频率决定。步进电机的驱动电路根据控制信号工作,控制信号 可以由单片机产生。 电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几 何轴线依次分别与转子齿轴线错开。0、1/3て、2/3て,(相邻 两转子齿轴线间的距离为齿距以て表示),即A与齿1相对齐, B与齿2向右错开1/3て,C与齿3向右错开2/3て,A'与齿5相对齐,(A'就是A,齿5就是齿1)下面是定转子的展开图:(图2所示)

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

本科毕业设计 基于单片机的步进电机控制系统的设计

摘要 随着自动控制系统的发展和对高精度控制的要求,步进电机在自动化控制中扮演着越来越重要的角色,区别于普通的直流电机和交流电机,步进电机可以对旋转角度和转动速度进行高精度控制。步进电机作为控制执行元件,是机电一体化的关键组成之一,广泛应用在各种自动化控制系统和精密机械等领域。 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。 本系统介绍了一种基于单片机的步进电机控制系统的设计,包括了硬件设计和软件设计两部分。其中,硬件设计包括单片机最小系统、键盘控制模块、LCD显示模块、步进电机驱动模块、位置检测模块共5个功能模块的设计。系统软件设计采用C语言编写,包括主程序、数字键处理程序、功能键处理程序、电机驱动处理程序、显示模块、位置采集模块。 本设计采用STC89C52单片机作为主控制器,4*4矩阵键盘作为输入,LCD1602液晶作为显示,ULN2003A芯片驱动步进电机。系统具有良好的操作界面,键盘输入步进电机的运行距离;步进电机能以不同的速度运行,可以在不超过最大转速内准确运行到任意设定的位置,可调性较强;显示设定的运行距离和实际运行距离;方便操作者使用。关键词:单片机步进电机液晶显示键盘驱动

Design of the Stepping Motor Control System Based on SCM Qiu Haizhao (College of Engineering, South China Agricultural University, Guangzhou 510642,China) Abstract:With the development of automatic control system and the requirements of high-precision control, stepping motor control in automation is playing an increasingly important role, different from the common DC and AC motor, stepper motor rotation angle and rotational speed can be high-precision controlled. Stepper motor as a control actuator is a key component of mechanical and electrical integration, widely used in a variety of automated control systems and precision machinery and other fields. Stepper motor is the open-loop control components changing electric pulse signals into angular displacement or linear displacement .In the case of non-overloaded, the motor speed, stop position depends only on the pulse frequency and pulse number, regardless of load changes, that is, to add a pulse motor, the motor is turned a step angle. This system introduces a design of stepper motor control system based on single chip microcomputer, including hardware design and software design in two parts. Among them, the hardware design, including single chip minimal system, keyboard control module, LCD display module, the stepper motor drive module, position detection module five functional modules. System software design using C language, including the main program, process number keys, the key of function processes, motor driver handler, the display module, position acquisition module. This design uses STC89C52 microcontroller as the main controller, 4 * 4 matrix keyboard as an input, LCD1602 LCD as a display, ULN2003A chip as stepper motor driver. System has a good user interface, keyboard input stepper motor running distance; Stepper motor can run at different speed, and run to any given position accurately in any speed without exceeding the maximum speed, with a strong adjustable ; Display the running distance and the actual running distance, which is more convenient for the operator to use. Key words: SCM stepper LCD keyboard driver

步进电机脉冲数量与运动距离的计算 (1)

步进电机一个脉冲运动距离怎么算? 步进电机一个脉冲运动距离怎么算?能不能给个公式在举个例子? 答案: 用360度去除以步距角,就是电机转一圈的脉冲数,当然如果细分的话,还要乘以细分倍数。电机转一圈丝杠前进一个导程,用导程除以一圈的脉冲数就是脉冲运动距离。 第一步确定步进电机的步距角,这个电机上会标明的。比如说,1.8度,则一个圆周360/1.8=200,也就是说电机旋转一周需要200个脉冲。 第二步确定电机驱动器设了细分细分没有,查清细分数,可以看驱动器上的拨码。比如说4细分,则承上所述,200*4=800,等于说800个脉冲电机才旋转一周。第三步确定电机轴一周的长度或者说导程:如果是丝杠,螺距*螺纹头数=导程,如果是齿轮齿条传动,分度圆直径(m*z)即为导程,导程/脉冲个数=一个脉冲的线位移。 什么是细分呢?和几相是一个意思吗?和几相没关系吗? 细分和相数没关系。以1.8度为例,原来一个脉冲走1.8度,现在改为4细分,那么现在一个脉冲只能走1.8/4度了。细分越多,每个脉冲的步进长度越短。细分的多少可由驱动器设置。 控制步进电机转多少最主要你得通过步进电机步距角度计算出电机转一圈需要多少脉冲,比如步距角度为0.9°则电机转一圈需要给步进电机驱动器360/0.9=400个脉冲,转半圈就是200个脉冲。步进电机驱动器资料你先了解下! 步进电机转速则通过改变脉冲频率来控制,用plc的pwm输出控制是比较方便的,速度的快慢不影响步进电机的行程,行程多少取决于脉冲数量。 注意一点步进电机速度越快转矩越小,请根据你的应用调节速度以防失步,造成走位不准确。步进电机是接收步进驱动器给过来的脉冲信号,比如两相的步进,AB相分别轮流输出正反脉冲(按一定顺序),步进电机就可以运行了,相当于一定的脉冲步进马达对应走一定旋转角度。而PLC也可以发出脉冲,但脉冲电压不够,所以需要把PLC输出的脉冲给步进驱动器放大来驱动步进驱动器,相当于PLC的脉冲就是指令脉冲。一般PLC驱动步进时候有两路信号,一路是角度脉冲,另外一路是方向脉冲,PLC里边一般配所谓位移指令,发梯形脉冲给步进驱动器,这样可以缓冲启动带来的力冲击。 51单片机控制两相四线步进电机的问题 单片机为AT89S52。。步进电机为:57HS5630A4步进电机。链接:Error! Hyperlink reference not valid.步进电机驱动器为:M542中性步进电机驱动器。链接:Error! Hyperlink reference not valid. 现在的问题是:步进电机我已经和驱动器连接好了,现在步进电机驱动器有6 个线和51单片机相连,分别是PUL+、PUL-、DIR+、DIR-、ENA+、ENA- 。我想知道的是,比如这六个和单片机的P1.X口相连。怎么在单片机上控制步进电机正转反转,转的角度,转的速度。 答案: 首先,六根线的三根负线可以全部接地..和单片机P1相连的只需三根即可..这三根线为了保证能驱动起步进电机驱动器,应该分别上拉2K电阻.. 然后,在驱动器上的拨码处设置细分,,所谓细分是指电机转一圈所需多少脉冲..例如设置为800细分,即为电机转一圈需要800个脉冲..那么一个脉冲就会对应0.45度..单片机发出的脉冲频率高,那么电机转的就快..让电机转多少角度,就发出相应的脉冲数即可,例如转45度,就发出100个脉冲即可,在0.125s内发出100个脉冲,那转速就为1转/s。。

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

编号: 综合智能电子 实训 (论文)说明书题目: 院(系):使用科技学院 专业:电子信息工程 学生姓名: 学号: 指导教师: 2010年 1 月 6 日

目录 引言 第1章简介 1.1 步进电机 第2章步进电机原理 2.1 步进电机的工作原理 2.1.1结构及基本原理 2.1.2 电机的步进顺序 第3章系统的硬件设计 3.1 系统设计方案 3.2 主从机硬件部件介绍 3.2.1A T89S51简介 3.2.2 TGI2864E简介 3.2.3MAX485 串行通信 3.2.4TIP122 3.2.5 MOC70T2 3.3 LCD显示电路设计 3.4 电机驱动模块设计 第4章系统的软件实现 4.1 系统软件主流程图 4.2 系统初始化流程图 4.3 部分子程序 第五章总结 致谢 参考文献 摘要:本文使用单片机、步进电机驱动芯片、字符型LCD和键盘阵列,构建了集步进电机控制器和驱动器为一体的步进电机控制系统。二维工作台作为被控对象通过步进电机驱动滚珠丝杆在X/Y轴方向联动。文中讨论了一种以最少参数确定一条圆弧轨迹的插补方法和步进电机变频调速的方法。步进电机控制系统的开发采用了软硬件协同仿真的方法,可以有效地减少系统开发的周期和成本。最后给出了步进电机控制系统的使用实例。

关键词:步进电机控制系统,插补算法,变频调速,软硬件协同仿真 In this paper, microcontroller, stepper motor driver chips, character LCD and keypad array, build a set of stepper motor controller and driver as one of the stepping motor control system. Two-dimensional table as a charged object by stepper motor drive ball screw in X / Y axis linkage. This paper discusses a minimum of parameters to determine the trajectory of a circular interpolation method and the method of frequency control stepper motor. Stepper motor control system has been developed using the software and hardware co-simulation method, can effectively reduce the system development cycle and cost. Finally, the stepper motor control system application examples.

步进电机全闭环控制

半导体器件应用网 https://www.wendangku.net/doc/0917360635.html,/news/194498.html 步进电机全闭环控制 【大比特导读】步进电机由于体积精巧、价格低廉、运行稳定,在低端行业 应用广泛,步进电机运动控制实现全闭环,是工控行业的一大难题。 步进电机由于体积精巧、价格低廉、运行稳定,在低端行业应用广泛,步进电机运动控 制实现全闭环,是工控行业的一大难题。 主要问题有两个,原点的不确定性和失步,目前,采用高速光电开关作为步进系统的原点,这个误差在毫米级,所以在精确控制领域,是不能接受的。另外,为了提高运行精度, 步进系统的驱动采用多细分,有的大于16,假如用在往复运动过程中,误差大的惊人。已 经不能适应加工领域。 为此,提出步进电机全闭环控制系统,以适应目前运动控制领域的需求。 1、硬件连接 硬件连接加装编码器,根据细分要求,采用不同等级的解析度编码器进行实时反馈。 2、原点控制 根据编码器的Z信号,识别、计算坐标原点,同数控系统相同,精度可以达到2/编码器解 析度×4。 3、失步控制 根据编码器的反馈数据,实时调整输出脉冲,根据失步调整程度,采取相应办法。 下图是电路原理 4、电路原理描述

半导体器件应用网 电路采用超大规模电路FPGA,输入、输出可以达到兆级的相应频率,电源3.3V,利用2596 开关电源,将24V转为3.3V,方便实用。输入脉冲与反馈脉冲进行4倍频正交解码后计算,及时修正输出脉冲量和频率。 5、应用描述 本电路有两种模式,返回原点模式和运行模式。当原点使能开关置位时,进入原点模式,反之,进入运行模式。 在原点模式,以同步于输入脉冲的频率输出脉冲,当碰到原点开关后,降低输出脉冲频率,根据编码器的Z信号,识别、计算坐标原点。返回原点完成后,输出信号。此信号及其数据在不断电的情况下,永远保持。 在运行模式,以同步于输入脉冲的频率输出脉冲,同时计算反馈数据,假如出现误差,及时修正。另外,大惯量运行时,加减速设置不合理的情况下,可能会及时反向修正。 6、技术指标 (1)输入输出相应频率:≤1M; (2)脉冲同步时间误差:≤10ms;(主要延误在反向修正,不考虑反向修正,≤10us) (3)重定位电气精度:≥2/编码器解析度×4/马达解析度×细分) (4)重定位原点电气精度≥2/编码器解析度×4/马达解析度×细分) (5)适应PNP,NPN接口 (6)适应伺服脉冲控制 (7)适应各种编码其接口 步进电机运动控制一旦解决上述问题,增加数百元成本的情况下可以实现全闭环控制,毫不逊色于伺服系统。特别是其价格低廉、控制简单、寿命长久的特点在某些场合,可能优于伺服系统。

基于51单片机控制步进电机

单片机原理及系统课程设计 1 引言 步进电机又称为脉冲电动机或阶跃电动机,它是基于最基本的电磁感应作用,将电脉冲信号转变为角位移或线位移的开环控制元件。单片机控制的步进电机广泛地应用于工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,大型望远镜,卫星天线定位系统等等。 随着经济的发展,技术的进步和电子技术的发展,步进电机的应用领域更加广阔,同时也对步进电机的运行性能提出了更高的要求。 步进电机的原始模型起源于1830年至1860年,1870年前后开始以控制为目的的尝试,应用于氩弧灯的电极输送机构中,这被认为最早的步进电机。 1950年后期晶体管的发明也逐渐应用在步进电机上,对于数字化的控制变得更为容易。到20世纪60年代后期,在步进电机本体方面随着永磁材料的发展,各种实用性步进电机应运而生。步进电机往后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解能、高响应性、信赖性等灵活控制性高的机械系统中。 在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。

2 设计方案与原理 4.1 设计方案 设计一个51单片机四相步进电机控制系统要求系统具有如下功能: (1)由I/O口产生的时序方波作为电机控制信号; (2)信号经过驱动芯片驱动电机的运转; (3)电机的状态通过键盘控制,包括正转,反转,加速,减速,停止和单步运行。 4.2 设计原理 步进电机实际上是一个数字\角度转换器,也是一个串行的数\模转换器。步进电机的基本控制包括启停控制、转向控制、速度控制、换向控制4个方面。从结构上看,步进电机分为三相、四相、五相等类型,本次设计的是四相电机。四相步进电机的工作方式有单四拍、双四拍和单双八拍三种。 在本次设计中,我们使用的是四相单八拍的工作方式。通过P1口给A,B,C,D四相依次输出高电平即可实现步进电机的旋转,通过控制两次输出的间隔,即可实现对步进电机的速度控制。 图 2.1 步进电机内部结构截图 根据步进电机的相关相序表我们可以正常的控制电机的步进运行。

完整的单片机控制步进电机程序

#include "reg52.h" #include "INTRINS.H" #include #include #define uint unsigned int #define uchar unsigned char void check_addr(void); /*地址核对*/ uchar code slave_addr[4]={00, 01, 02, 255}; /*从机地址*/ uchar idata T0low, T0high,common_count,input_order,cmd_in_permit,interval; uchar sent_ok,speed_change,start_up,start_end,address_true,i; uint y1; uint code add[100]={60006,62771,63693,64154,64430,64614,64746,64845,64922,64983,65033,65075,651 11,65141,65167,65190,65211,65229,65245,65260,65273,65285,65296,65306,65315,65323,65331 ,65339,65345,65352,65358,65363,65368,65373,65378,65382,65387,65390,65394,65398,65401,6 5404,65407,65410,65413,65416,65418,65421,65423,65425,65428,65430,65432,65434,65435,654 37,65439,65441,65442,65444,65445,65447,65448,65450,65451,65452,65453,65455,65456,65457 ,65458,65459,65460,65461,65462,65463,65464,65465,65466,65467,65468,65469,65469,65470,6 5471,65472,65472,65473,65474,65475,65475,65476,65477,65477,65478,65478,65479,65480,654 80,65481}; sbit P2_0=P2^0; /*作输入步进电机的脉冲信号发送口*/ sbit P2_2=P2^2; /*作输入步进电机的旋转方向信号发送口*/ sbit P1_0=P1^0; /*作串口输出信号的使能口, P1_0=0时接通串口,输出信号*/ sbit WD=P1^7; /*看门狗*/ main() { P2_0=0; P2_2=0; /*步进电机的旋转方向待试验后确定*/ P1_0=1; /*开机时需要关断,串口发送功能,需要时再接通*/ WD=1; /*看门狗先为1,电平翻转为喂狗*/ i=0; common_count=0; cmd_in_permit=0; input_order=0; interval=0; address_true=1; speed_change=0; start_up=0;

步进电机控制系统设计.

毕业设计论文 论文题目:基于单片机的步进电机控制电路板设计 摘要 随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。 步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成。采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加。软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。 本设计是采用AT89C51单片机对步进电机的控制,通过IO口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机;同时,用 4个按键来对电机的状态进行控制,并用数码管动态显示电机的转速。 系统由硬件设计和软件设计两部分组成。其中,硬件设计包括AT89C51单片机的最小系统、电源模块、键盘控制模块、步进电机驱动(集成达林顿ULN2003)模块、数码显示(SM420361K数码管)模块、测速模块(含霍尔片UGN3020)6个功能模块的设计,以及各模块在电路板上的有机结合而实现。软件设计包括键盘控制、步进电机脉冲、数码管动态显示以及转速信号采集模块的控制程序,最终实现对步进电机转动方向及转动速度的控制,并将步进电机的转动速度动态显示在LED数码管上,对速度进行实时监控显示。软件采用在Keil软件环境下编辑

************* 第1章绪论 1.1 课题背景 当今社会,电动机在工农业生产、人们日常生活中起着十分重要的作用。步进电机是最常见的一种控制电机,在各领域中得到广泛应用。步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。 随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,其优点是结构简单、运行可靠、控制方便。尤其是步距值不受电压、温度的变化的影响、误差不会长期积累的特点,给实际的应用带来了很大的方便。它广泛用于消费类产品(打印机、照相机、雕刻机)、工业控制(数控机床、工业机器人)、医疗器械等机电产品中。研究步进电机的控制和测量方法,对提高控制精度和响应速度、节约能源等都具有重要意义。控制核心采用C51芯片,它以其独特的低成本,小体积广受欢迎,当然其易编程也是不可多得的优点为此,本文设计了一个单片机控制步进电机的控制系统,可以实现对步进电机转动速度和转动方向的高效控制。 1.2 设计目的及系统功能 本设计的目的是以单片机为核心设计出一个单片机控制步进电机的控制系统。本系统采用AT89C51作为控制单元,通过键盘实现对步进电机转动方向及转动速度的控制,并且将步进电机的转动速度动态显示在LED数码管上。 1

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

基于单片机的步进电机控制器毕业设计论文 目录 第1章绪论 (3) 1.1引言 (3) 1.2步进电机常见的控制方案与驱动技术简介 (5) 1.2.1常见的步进电机控制方案 (5) 1.2.2步进电机驱动技术 (7) 1.3本文研究的内容 (9) 第2章步进电机概述 (10) 2.1步进电机的分类 (10) 2.2步进电机的工作原理 (11) 2.2.1结构及基本原理 (11) 2.2.2两相电机的步进顺序 (11) 2.3 步进电机的工作特点 (14) 2.4本章小结 (16) 第3章系统的硬件设计 (17) 3.1系统设计方案 (17) 3.1.1系统的方案简述与设计要求 (17) 3.1.2系统的组成及其对应功能简述 (17) 3.2单片机最小系统 (19) 1

3.2.1AT89S51简介 (19) 3.2.2单片机最小系统设计 (24) 3.2.3单片机端口分配及功能 (25) 3.3串口通信模块 (25) 3.4数码管显示电路设计 (26) 3.4.1共阳数码管简介 (26) 3.4.2共阳数码管电路图 (27) 3.5电机驱动模块设计 (28) 3.5.1L298简介 (28) 3.5.2电机驱动电路设计 (29) 3.6驱动电流检测模块设计 (31) 3.6.1OP07芯片简介 (31) 3.6.2ADC0804芯片简介 (33) 3.6.3电流检测模块电路图 (36) 3.7独立按键电路设计 (37) 3.8本章小结 (37) 第4章系统的软件实现 (38) 4.1系统软件主流程图 (38) 4.2系统初始化流程图 (39) 4.3按键子程序 (40) 结论 (44) 2

步进电机运动控制器设计

一、项目概述: 用步进电机作为X-Y移动平台的执行机构,实现开环位置控制。采用四相步进电机,一相激励时步距角为1.8°,由步进电机驱动器接受控制器的控制信号,采用单四拍方式,每拍为一步,可正反转。步进电机的转动带动丝杆,将旋转运动转换为直线运动,步进电机的每一走步传递到X或Y方向的移动距离为0.02mm.系统中步进电机工作频率为500Hz--4KHz。运动要求是: (1)当按键K1按下时,X方向步进电机正向运转,X正向移动1mm; 当按键K2按下时,X方向步进电机反向运转,X反向移动1mm; 当按键K3按下时,Y方向步进电机正向运转,Y正向移动1mm; 当按键K4按下时,Y方向步进电机反向运转,Y反向移动1mm;(2)按键按住不放,连续运动直到按键释放,停止运转。 (3)控制器实时显示步进电机转过的步数和X或Y向移动的距离。(4)系统供电电源为36 VDC。 二、系统设计: 设计思想: 1、用两台步进电机分别控制x、y方向的运动; 2、采用动态显示方式,实时显示步数和距离; 3、采用4个并行口输出控制信号以及采集开关输入信号。 总体方案: 采用AT89C51作为控制器: P0口读入开关输入信号;P1口接步进电机驱动器ULN2003A;P2、

P3口控制动态显示电路。 三、硬件设计: 1、AT89C51晶振电路和手动复位电路: 晶振电路:采用12MHz的晶振,其中电容C1,C2可在5—60pF之间选择,这两个电容的大小对振荡频率有微小的影响,可起频率微调的作用。 复位电路:当按键弹起时,相当于一个上电复位电路;当按键压下时,相当于RST端通过电阻与+5V的电源相连,提供足够宽度的阈值电压完成复位。 2、开关量读入: 由P0口的低4位读入开关量信号。 3、步进电机控制电路:

基于单片机的步进电机驱动控制

基于单片机的步进电机驱动控制 一、步进电机概述 1.步进电机的定义 步进电机指的是以数字脉冲信号作为电机线或教位移的控制信号,并以数字脉冲频率对电机的转速进行控制的动力控制系统。 在负载正常范围的情况下,步进电机的运行状态只和数字脉冲发生器提供的信号的频率和脉冲占空比有关,一般情况下,电机的状态不受负载的影响。电机的运行角度只和每次所给予的脉冲信号强度有关,而电机的运行速度也只和脉冲信号的频率有直接关 系。这种采用弱点控制强电的控制方式使得步进电机在速度、位移等控制领域有着普通电机不能比拟的优势。 2.驱动控制系统框图 步进电机控制系统有着精确控制、运行稳定的特性,这一其他电机不能比拟的优势使得步进电机得到了广泛的应用。而一般对步进电机控制系统的驱动必须要包含脉冲信 号发生部分,功放部分和驱动控制部分等几个模块电路,我们根据这些通过的模块电路,可将步进电机控制系统的通用框图绘制如下: 在上图的步进电机驱动控制系统方框图中,控制步进电机运行状态的脉冲信号一 般由集成芯片产生,可以是单片机、等智能芯片,也可以是一般的数字电路集成芯片。信号分配环节则要根据步进电机的型号来选择,如四相步进电机有四相四拍和四相 八拍种信号分配的方式;两相步进电机有两相四拍和八拍等脉冲加载形式。功放部分 在驱动环节上显得尤为重要。动态平均电流是步进电机转矩大小的决定因素,前提条件 是电机的速度。电机力矩与平均电流成正比,驱动系统对电机的反电势消弱越多,则平 均电流就越大。 我们一般可以用恒压和恒压串电阻的方法来驱动,或者在条件允许的情况下我们可以用高低压驱动、恒流和细分数等方法来驱动实际的应用过程种,多采用数字集成驱 动芯片作为步进电机的驱动手段。 二、现阶段国内外步进电机驱动的常用方式 1.变频器控制方式 使用变频器对步进电机进行驱动控制时,可以很好的解决步进电机在启动和停止时 容易失步的问题,提高了系统的控制精度。但是变频器的应用成本较高,结构和操作也 比较复杂,无形中提高步进电机的控制难度。 2.PLC控制方式 使用ABB、西门子、欧姆龙等国际知名生产制造商研发的系列产品可以 实现对步进电机的理想化控制,但是基于核心的步进电机控制系统成本高昂,且 难以实现精确控制,在本系统中不太适合。 3.单片机控制方式 随着嵌入式系统在工业控制领域中的广泛应用,以单片机特别是系列单片机 作为控制核心的步进电机控制电路在生产生活领域得到了普及,单片机有着大规模数字

51单片机控制四相步进电机解析

51单片机控制四相步进电机 2009年07月21日星期二 12:44 51单片机控制四相步进电机 2009-03-01 18:53 接触单片机快两年了,不过只是非常业余的兴趣,实践却不多,到现在还算是个初学者吧。这几天给自己的任务就是搞定步进电机的单片机控制。以前曾看过有关步进电机原理和控制的资料,毕竟自己没有做过,对其具体原理还不是很清楚。今天从淘宝网买了一个EPSON的UMX-1型步进电机,此步进电机为双极性四相,接线共有六根,外形如下 图所示: 详细内容: https://www.wendangku.net/doc/0917360635.html,/31907887_d.h tml

拿到步进电机,根据以前看书对四相步进电机的了解,我对它进行了初步的测试,就是将5伏电源的正端接上最边上两根褐色的线,然后用5伏电源的地线分别和另外四根线(红、兰、白、橙)依次接触,发现每接触一下,步进电机便转动一个角度,来回五次,电机刚好转一圈,说明此步进电机的步进角度为360/(4×5)=18度。地线与四线接触的顺序相反,电机的转向也相反。 如果用单片机来控制此步进电机,则只需分别依次给四线一定时间的脉冲电流,电机便可连续转动起来。通过改变脉冲电流的时间间隔,就可以实现对转速的控制;通过改变给四

线脉冲电流的顺序,则可实现对转向的控制。所以,设计了如下电路图: C51程序代码为: 代码一 #include static unsigned int count; static unsigned int endcount; void delay(); void main(void)

步进电机控制系统课程设计

河北xxxxxx学院 课程设计说明 书 题目:步进电机控制系统 学院(系): 年级专业: 学号: 学生姓名: 同组学生: 指导教师:

步进电机控制系统 设计者:xxxxx 指导老师:xxxx 1摘要: 由于步进电机自身的特点、不需要位置、速度等信号反馈,只需要脉冲发生器产生足够的脉冲数和合适的脉冲频率,就可以控制步进电机移动的距离和速度。步进电机的运转方向的控制为输入电机各绕组的通电顺序。例如,一个三相步进电机的通电顺序为:a—ab—b—bc—c—ca—a--.....,此时点击正转,若通电顺序改为:a—ac—c—cb—b—ba—a--.....时点击反转。既可以通过改变环形分配器的脉冲输出顺序,也可以通过编程改变输出脉冲的顺序,来改变输入到各绕组的通电顺序,达到控制电击方向的目的。 关键词:步进电机 PLC 步进电机驱动器 引言步进电机是一种常用的电气执行原件,一种多相或单相同步点击,在数控机床、包装机械等自动控制及检测仪表等方面得到广泛运用。随着plc的不短发展。其功能越来越强大,除了有简单的逻辑功能和顺序控制外,运算功能的加入、pid和各类高速指令、使得plc对复杂和特殊系统的控制应用更加广泛。Plc与数控技术的结合产生了各种不同类型的数控设备。 2 任务与要求 (1) 了解步进电机的原理 (2) 熟练使用PLC控制步进电机,了解步进电机驱动器原理 3 装置原理介绍 3.1控制系统功能框图 在步进电机控制系统中,首先控制步进电机使之稳步启动,然后高速运动,接近制定位置时,减速之后低速运动一段时间,在准确地停在预定的位置上,最后步进电机停留2s后,按照前进时的加速—高速—减速—低速的步骤返回到起始点,其运动状态转换过程平稳,其功能框图如图3.1所以,其简单工作过程如图3.2所示。 由于步进电机本身的结构特性决定了它要实现高速运转必须有加速过程,如果在启动时突然加载高频脉冲,电机会产生啸叫、失步甚至不能启动,在停止阶段也是这样,当高频脉冲突然降到零时,电机会产生啸叫和振动,所以在启动和停止时,都必须有一个加速和减速过程。 3.2步进电机控制系统硬件设计 由于步进电机的硬件结构特性,所以对输入的脉冲的频率有所限制,对于低频的脉冲输出时,plc可以利用定时器来完成。若要求步进电机的速度较快时,就需要用plc的高速脉冲输出指令,这时就需要在程序中设置相应的步骤来完成对步进电机的控制。 3.21 组建器材 (1)主机plc 根据系统的控制要求,采用三菱FX系统系列的plc作为控制器。(2)限位开关此系统中共用了两个限位开关:左限位开关和右限位开关。这两个限位开关的作用是控制物体的位置,防止物体超出合理的工作范围。 (3)步进电机步进电机是该系统的执行机构

相关文档
相关文档 最新文档