步进电机程序流程图

合集下载

步进电机驱动PROTEL_原理图及C程序

步进电机驱动PROTEL_原理图及C程序

o t o rP1.0,P1.1,P1.2用来设计三个按键,key1,key2,key3;P2.0,P2.1用来与L298N中的IN1,IN2相连接;控制步进电机的正转、反转和停止;P2.2是用来控制电机的使能的,接在ENA上;如要实现电机的正传、反转的加减速就要对P2.2即ENA脚给PWM信号比如还要设置两个按键key4和key5来控制直流电机的加速和减速;比如有如下函数;/*********************************************************/uchar NUM0=600;//全局变量uchar Flag=0;//清零标志位;对Ms清零;/*id time0_init(void){TMOD=0x01; //16 位计数器/定时器,定时器0;TH0=(65536-1000)/256; //A T89S52为12M晶振,计数1200才产生1msTL0=(65536-1000)%256;EA=1; //开启总中断ET0=1; //开启定时器1中断TR0=1; //开启定时器1,定时器一允许}void time0_int(void) interrupt 1{H0=(65536-1000)/256; // A T89S52为12M晶振,计数1200才产生1ms TL0=(65536-1000)%256;Ms=NUM0}*/for(i=0;i< Ms;i++){ENA=1;}else if(i= Ms;i<=1200;i++){ENA=0;Flag=1;}if(flag){Ms= NUM0;}/*****************************************************************/ KEY ADD_SUB(){if(key4==0) //加速按键{delayms(2) ;//while(key1==0);Ms++;//正脉宽加一if(Ms>=1200)Ms=1200;//最高速度}if(key5==0)//减速按键{delayms(2) ;//while(key2==0);Ms-- //脉宽减一if(Ms<=0)Ms=0; //停止}}/***************************************************************/ /***************************************************************/下面是控制程序;经现场调试,可行;程序如下:/************************************************************/#include<reg52.h>#include"delay.h"#define uchar unsigned char#define uint unsigned int//*********************//sbit ENA = P2^2; //驱动芯片使能,若为0则电机停止;sbit IN1 = P2^1; //控制电机正转和反转sbit IN2 = P2^0; //控制电机正转和反转sbit key1 = P1^0; //此键按下,电机正转;IN1=1;IN2=0 ;ENA=1sbit key2 = P1^1; //此键按下,电机反转;IN1=0,IN2=1 ;ENA=1sbit key3 = P1^2; //此键按下,电机刹停; IN1=1,IN2=1 ;ENA=1//*********************//int motor_change_mank=0;// 按键设置//**********************//uint keylogo(){if(key1==0){delayms(2) ;//while(key1==0);motor_change_mank=1;//正转标志位}if(key2==0){delayms(2) ;//while(key2==0);motor_change_mank=2;//反转标志位}if(key3==0){delayms(2) ;//while(key3==0);motor_change_mank=0;//刹停标志位}return(motor_change_mank);}//**********************////控制驱动芯片函数//**********************//void execute_motor(){switch(motor_change_mank){case 0: //刹停标志位{IN1 = 1;IN2 = 1;ENA = 1;}break;case 1://正转标志位{IN1 = 1;IN2 = 0;ENA = 1;}break;case 2: //反转标志位{IN1 = 0;IN2 = 1;ENA = 1;}break;default:break;}}//**********************//void main(){while(1){keylogo();execute_motor();}}/**********************************************************************/ /**********************************************************************/ #define uint unsigned intvoid delayms(uint n){int i;for(;n>0;n--)for(i=0;i<1;i++);}/**********************************************************************//**********************************************************************/#ifndef delay_h#define delay_h#define uint unsigned intextern void delayms(uint n);#endif/***********************************************************************//***********************************************************************/对如驱动芯片L298N的中文资料我这里有很多,你在论文中阐述时要抓住要点;进行简短的说明;对于调速的问题也有第二种方法;就是对驱动芯片的功率电源Vs进行改变电压;可以用DAC进行控制,如用单片机控制DAC,是输出的模拟电压可通过按键来升高和降低;这样在电机正传或者反转时只要Vs所给的电压升高或者降低则电机的转速就会增加或者减少;这样亦不失为一种好的控制直流电机转速的方法;就是成本稍高而已!////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 或者用下面的一个程序略作修改即可;/*1、学习目的:利用定时器产生PWM,了解原理和使用方法2、硬件要求:LED灯定时器3、试验现象:LED灯由亮到灭,由灭到亮逐步变化,也就是调光现象*/#include <reg52.h>sbit LED = P1^2;unsigned char CYCLE; //定义周期该数字X基准定时时间如果是10 则周期是10 x 0.1ms unsigned char PWM_ON ;//定义高电平时间void delay(unsigned int cnt)while(--cnt);}main(){bit Flag;TMOD |=0x01;TH0=(65536-100)/256;//定时器设置0.1ms in 12M crystalTL0=(65536-100)%256;//定时0.1mSIE= 0x82; //打开中断TR0=1;CYCLE = 10;// 时间可以调整这个是10调整8位PWM就是256步while(!Flag){delay(20000); //延时时间,从一个亮度到下一个亮度的间隔时间,速度快就能看到连续效果PWM_ON++; //这个使用较长延时,以便能看清楚变化过程if(PWM_ON == CYCLE){ //这个里可以添加其他程序如到最亮时候控制设备Flag=1;}}while(Flag) //亮度递减同上,是个相反的过程{delay(20000);PWM_ON--;if(PWM_ON == 0){Flag=0;}}}/********************************//* 定时中断*//********************************/void tim(void) interrupt 1 using 1{static unsigned char count; //TH0=(65536-100)/256;TL0=(65536-100)%256;//定时0.1mSif (count==PWM_ON){LED = 1; //灯灭}count++;if(count == CYCLE){count=0;if(PWM_ON!=0) //如果左右时间是0 保持原来状态LED = 0;//灯亮}}。

步进电机工作原理及控制电路

步进电机工作原理及控制电路

//按键标志变量
flag1=0;
//步进数标志变量
init();
//液晶初始化子程序
while(1)
{
keyscan();
//键盘扫描子程序
if(flag==1)
{
zz();
//正转子程序
}
else if(flag==3) {
fz(); } writebjs(8,count); } }
//反转子程序
it 动机正转,其励磁顺序如图所示。若励磁信号反向传送,则步进电动机反转。励
磁顺序: A→AB→B→BC→C→CD→D→DA→A
A-B 表4.3 1-2 相励磁法
步进电动机的负载转矩与速度成反比,速度愈快负载转矩愈小,当速度快至 其极限时,步进电动机即不再运转。所以在每走一步后,程序必须延时一段时间。 下面介绍的是国产20BY-0型步进电机,它使用+5V直流电源,步距角为18度。电 机线圈由四相组成,即A、B、C、D四相,驱动方式为二相激磁方式,电机示意图 和各线圈通电顺序如图4.2和表4.1所示:
6
法增大起动电流,以提高步进电机转动力矩,即提高其工作频率。由于步进电机
是感性负载,所以进入绕组的电流脉冲是以指数形式上升,即这时电流脉冲i为:
i = IH (1 − e−1/Tj )
(4.4)
公式
其中:i是电流脉冲瞬时值;
IH 是在开关回路电压为u时的电流稳态值;
Tj 是开关回路的时间常数,Tj = L / ( RL + RC )
θ s = 2Π / Nrk
公式(4.1) 或
θ s = 360o / Nrk
公式(4.2)
其中:k是步进电机工作拍数,Nr是转子的齿数。

四相步进电机原理图及程序

四相步进电机原理图及程序

四相步进电机原理图本文先介绍该步进电机的工作原理,然后介绍了其驱动器的软、硬件设计。

1. 步进电机的工作原理该步进电机为一四相步进电机,采用单极性直流电源供电。

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

图1是该四相反应式步进电机工作原理示意图。

图1 四相步进电机步进示意图开始时,开关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相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。

依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。

四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。

单四拍与双四拍的步距角相等,但单四拍的转动力矩小。

八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。

单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2.a、b、c所示:a. 单四拍b. 双四拍 c八拍图2.步进电机工作时序波形图2.基于AT89C2051的步进电机驱动器系统电路原理步进电机驱动器系统电路原理如图3:图3 步进电机驱动器系统电路原理图AT89C2051将控制脉冲从P1口的P1.4~P1.7输出,经74LS14反相后进入9014,经9014放大后控制光电开关,光电隔离后,由功率管TIP122将脉冲信号进行电压和电流放大,驱动步进电机的各相绕组。

使步进电机随着不同的脉冲信号分别作正转、反转、加速、减速和停止等动作。

图中L1为步进电机的一相绕组。

AT89C2051选用频率22MHz的晶振,选用较高晶振的目的是为了在方式2下尽量减小AT89C2051对上位机脉冲信号周期的影响。

#S7200直流步进电机plc控制方法

#S7200直流步进电机plc控制方法

直流步进电机plc控制方法系统功能概述:本系统采用PLC通过步进电机驱动模块控制步进电机运动。

当按下归零按键时,电机1和电机2回到零点<零点由传感器指示)。

当按下第一个电机运行按键时,第一个电机开始运行,直到运行完固定步数或到遇到零点停止。

当按下第二个电机运行按键时,第二个电机开始运行,运行完固定步数或遇到零点停止。

两电机均设置为按一次按键后方向反向。

电机运行时有升降速过程。

PLC输入点I0.0为归零按键,I0.1为第一个电机运行按键,I0.2为第二个电机运行按键,I0.3为第一个电机传感器信号反馈按键,I0.4为第二个电机传感器信号反馈按键。

PLC输出点Q0.0为第一个电机脉冲输出点,Q0.1为第二个电机脉冲输出点,Q0.2为第一个电机方向控制点,Q0.3为第二个电机方向控制点,Q0.4为电机使能控制点。

所用器材:PLC:西门子S7-224xpcn及USB下载电缆。

编程及仿真用软件为V4.0 STEP 7 MicroWIN SP3。

直流步进电机2个,微步电机驱动模块2个。

按键3个。

24V开关电源一个。

导线若干。

各模块连接方法:PLC与步进电机驱动模块的连接:驱动模块中EN+、DIR+、CP+口均先接3k电阻,然后接24V电源。

第一个驱动模块CP-接PLC的Q0.0,DIR-接PLC的Q0.2,EN-接PLC的Q0.4第二个驱动模块CP-接PLC的Q0.1,DIR-接PLC的Q0.3,EN-接PLC的Q0.4注意:1、PLC输出时电压为24V,故和驱动器模块连接时,接了3k电阻限流。

2、因为PLC处于PTO模式下只有在输出电流大于140mA时,才能正确的输出脉冲,故在输出端和地间接了200欧/2w下拉电阻,来产生此电流。

<实验室用的电阻功率不足,用200欧电阻时功率至少在24*24/200=2.88w,即用3w的电阻)3、PLC与驱动模块连接时,当PLC输出低电平时不能将驱动模块电平拉低,故在EN-和DIR-上接了200欧/2W下拉电阻驱动模块与电机接法:驱动模块的输出端分别与电机4根线连接电机传感器与PLC连接:传感器电源接24v,信号线经过240欧电阻<实验中两个470电阻并联得到)与24v电源上拉后,信号线接到PLC的I0.3和I0.4将各模块电源、地线接好。

步进电机的PLC控制梯形图程序设计

步进电机的PLC控制梯形图程序设计

2 梯形图程序设计
2. 1 输入/ 输出编址 控制步进电机的各输入开关及控制 A 、B 、C
三相绕组工作的输出端在 PL C 中的 I/ O 编址如 表 1 所示 。
表 1 输入/ 输出编址
输入端
I0. 0 步进电机正转起动按钮 Q0. 0
I0. 1 步进电机反转起动按钮 Q0. 1
I0. 2
A 相 Q0. 0 = M0. 5 + M0. 4 + M0. 0 B 相 Q0. 1 = M0. 4 + M0. 3 + M0. 2 C 相 Q0. 2 = M0. 2 + M0. 1 + M0. 0 反转时 A 相 Q0. 0 = M0. 5 + M0. 4 + M0. 0 B 相 Q0. 1 = M0. 2 + M0. 1 + M0. 0 C 相 Q0. 2 = M0. 4 + M0. 3 + M0. 2
Abstract : The PL C program cont rolling on t he stepping motor can be designed by diverse means. The paper put s forward t he design t hinking and met hod. The ladder program is programmed wit h“SHIF T”inst ruc2 tion of SIMA TIC S7 - 200 as t he keystone of cont rolling step - by - step and by means of program modu2 larization. Thus t he ladder is compact ,clear and flexible , and quite meet s t he cont rol requirement s. Key words : stepping motor ; PL C ; ladder ; SHIF T ; modularization

第3章步进电动机的控制

第3章步进电动机的控制
ƒ
升速 恒速 减速 低速
起点
终点
(时间) t
图3-24
点、位控制中的加减速控制
15
变速控制的方法有:
改变控制方式的变速控制:最简单的变速控制可利用改变步进电 机的控制方式实现。例如:对于三相步进电机系统,启动或停止时 用三相六拍,大约0.1s以后,改用三相三拍,快到达终点时再采用 三相六拍,以达到减速控制的目的。 均匀地改变脉冲时间间隔的变速控制:步进电机的加速(或减速) 控制,可以用均匀地改变脉冲时间间隔来实现。 采用定时器的变速控制:单片机控制系统中,用单片机内部的定 时器来提供延时时间。方法是将定时器初始化后,每隔一定的时间, 由定时器向CPU申请一次中断,CPU响应中断后,便发出一次控制脉 冲。此时只要均匀地改变定时器时间常数,即可达到均匀加速(或 减速)的目的。这种方法可以提高控制系统的效率。
脉冲 方向控制
步进控制器
功率放大器
步进电机
负载
图3-19 步进电机控制系统的组成
2
随着电子技术的发展,除功率驱动电路之外,其它硬件电路均可由软 件实现。采用计算机控制系统,由软件代替步进控制器,不仅简化了 线路,降低了成本而且可靠性也大为提高,同时,根据系统的需要可 灵活改变步进电机的控制方案,使用起来很方便。典型的微型机控制 步进电机系统原理图如图3-20所示。 使用微型机对步进电机进行控制有串行和并行两种方式。 步 进 电 机
6
二、步进电动机的闭环控制

在开环步进电动机系统中,电动机的输出转矩在很大程度上取决于驱 动电源和控制方式。对于不同的步进电动机或同一种步进电动机而不 同负载,励磁电流和失调角发生改变,输出转矩都会随之发生改变, 很难找到通用的控速规律,因此,也很难提高步进电机的技术指标。 闭环系统是直接或间接地检测转子的位置和速度,然后通过反馈和适 当处理自动给出驱动脉冲串。因此采用闭环控制可以获得更精确的位 置控制和更高、更平稳的转速,从而提高步进电动机的性能指标。 步进电动机的输出转矩是励磁电流和失调角的函数。为了获得较高的 输出转矩,必须考虑到电流的变化和失调角的大小,这对于开环控制 来说是很难实现的。

三相六拍步进电机PLC梯形图控制程序设计与调试

三相六拍步进电机PLC梯形图控制程序设计与调试

现代控制技术及PLC控制课程设计姓学班专院名号级业别机电机械电子工程机械工程学院指导教师2013年7月5日内容摘要步进电动机具有快速起停、精确步进和定位等特点,所以常用作工业过程控制及仪器仪表的控制元件。

目前,比较典型的控制方法是用单片机产生脉冲序列来控制步进电机。

但采用单片机控制, 不仅要设计复杂的控制程序和I/O 接口电路, 实现比较麻烦, 而且对工业现场的恶劣环境适应性差,可靠性不高。

使用PLC可编程控制器实现三相六拍步进电动机驱动,可使步进电动机东芝的抗干扰能力强,可靠性高,同时,由于实现了模块化结构,是系统结构十分灵活,而且编程语言简短易学,便于掌握,可以进行在线修改,柔性好,体积小,维修方便。

本设计是利用PLC做三相六拍步进电动机的控制核心,用按钮开关的通断来实现对步进电机正,反转控制,而且正,反转切换无须经过停车步骤。

其次可以通过对按钮的控制来实现对高,低速度的控制。

充分发挥PLC的功能,最大限度地满足被控对象的控制要求,是设计PLC控制系统的首要前提,这也是设计最重要的一条原则。

本设计更加便于实现对步进电机的制动化控制。

目录1引言 (1)2系统总体方案设计 (2)2.1系统硬件配置及组成原理 (2)2.2 方案原理分析 (3)2.3 可行性研究 (3)2.4 设计思想 (3)3 控制系统设计 (4)3.1 控制程序图及软件模块 (4)3.2 梯形图程序设计与梯形图 (5)3.3 三相六拍步进电机控制语句表 (9)3.4 PLC接线图与主电路图 (10)4 5心得体会 (11)参考文献 (12)引言课题内容用PLC控制三相六拍电动机,控制要求如下:1.三相步进电动机有三个绕组:A,B,C,正转通电顺序为:A→AB→B→BC→C→CA→A反转通电顺序为:A→CA→C→BC→B→AB→A2.要求能实现正,反转控制,而且正,反转切换无须经过停车步骤。

3.就有两种转速:1号开关合上,则转过一个步距角需0.5秒。

步进电机工艺流程图.

步进电机工艺流程图.

测摩 擦力 矩
装齿轮Ⅱ/Ⅲ
装齿轮Ⅰ/输出 轴
装盖板
封前检 验
铆封
齿轮吻 合检查
测牵 入力

耐压 测试
线束捆扎 贴铭牌
成品 检验 包装 入库
铆输出轴 摇轴 拉轴检 验
装轴套
噪声 检测
步进电机工艺流程图
骨架中磁板装配
裁线铆端子
装焊针
沾锡
线圈绕制
穿插头
裁套管
缠胶带
压焊针
浸锡
浸锡检 验
浸锡检 验
绑绝缘胶带
穿烘热缩套管
线位测 试
外观检 验
线束捆扎
线路板焊接
铆固定轴
线圈组件焊接
组件检 测/装护

通电检 验
装上磁板
铆中心轴 机壳装三角弹片
磁芯除尘
机壳装磁芯加油
齿轮加油
装固定ห้องสมุดไป่ตู้组件
摩擦片加油 装输出轴
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档