步进电机正反转程序
机电一体化设计 步进电机正反转及加减速设计 程序

单片机课机电一体化课程设计题目:步进电机正反转及加减速设计专业:机械工程及自动化班级:机械092姓名:QCR学号:********指导教师:ZZY2012年6月23日目录1.设计目的 (1)2.题目及要求功能分析 (1)3.三相单、双六拍步进电机的结构和工作原理 (1)4. 步进电机的驱动电源 (2)5.设计方案 (3)5.1 整体方案 (3)5.2 具体方案 (4)6.硬件电路的设计 (4)6.1 硬件线路 (5)6.2 工作原理 (5)6.3 操作时序 (6)7. 软件设计 (6)7.1 软件结构 (6)7.2 程序流程 (6)7.3 源程序清单 (6)8. 系统仿真 (6)9. 设计总结 (7)参考文献 (8)附录 (一) (9)附录 (二) (10)附录 (三) (11)步进电机的正反转控制1.设计目的(1)熟练掌握机电一体化原理。
(2)综合运用51单片机的控制电路和最小系统。
(3)步进电机的正反转驱动负载。
2.设计题目及要求功能分析步进电机:步进电机是一种将电脉冲转化为角位移的执行机构。
当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
步进电机可以作为一种控制用的特种电机,利用其精度高等特点,广泛应用于各种工业控制系统中。
3. 三相单、双六拍步进电机的结构和工作原理:三相单、双六拍步进电机通电方式:这种方式的通电顺序是:U -U V-V-VW-W-WU-U或为U-UW-W-WV-V-VU-U。
按前一种顺序通电,即先接通U相定子绕组;接着是U、V两相定子绕组同时通电;断开U相,使V相绕组单独通电;再使V、W两相定子绕组同时通电;W相单独通电;W、U两相同时通电,并依次循环。
PLC实现步进电机的正反转及调整控制

PLC实现步进电机的正反转及调整控制PLC是专门用于控制工程自动化系统的一种可编程逻辑控制器,其可以通过编程来实现对各种电气设备的控制。
在实际工程中,步进电机广泛应用于自动化设备中,如数控机床、包装机械、印刷设备等。
步进电机具有分辨率高、精度高、响应速度快等优点,因此被广泛应用于各种自动化控制系统中。
在PLC实现步进电机的正反转及调整控制中,需要考虑以下几个方面:1.步进电机驱动模块选型:步进电机需要配合驱动模块进行控制,通常采用的是脉冲信号驱动方式。
在PLC控制系统中,可以选择适合的驱动模块,如常见的2相、4相步进电机驱动模块。
2.步进电机控制程序设计:通过PLC软件编程,编写程序实现步进电机的正转、反转及调整控制功能。
在程序设计中,需要考虑步进电机的控制方式、驱动模块的接口信号、脉冲信号的频率等参数。
3.步进电机正反转控制:在程序设计中,通过PLC输出脉冲信号控制步进电机的正反转运动。
具体步骤包括设置脉冲信号的频率和方向,控制步进电机按设定的脉冲信号实现正反转运动。
4.步进电机调整控制:步进电机的位置调整控制通常通过调整脉冲信号的频率和数目来实现。
通过PLC编程,实现步进电机的位置调整功能,从而实现对步进电机位置的精准控制。
5.总体控制设计:在PLC控制系统中,可以将步进电机的正反转及调整控制与其它控制功能相结合,实现对整个自动化系统的精确控制。
通过PLC编程,可以灵活设计多种控制逻辑,满足不同工程项目的需求。
综上所述,通过PLC实现步进电机的正反转及调整控制主要涉及步进电机驱动模块选型、控制程序设计、正反转控制、调整控制和总体控制设计等方面。
通过精心设计和编程,可以实现对步进电机的精确控制,满足各种自动化控制系统的要求。
PLC技术的应用将有助于提高自动化生产设备的生产效率和稳定性,推动工业自动化技术的发展。
单片机数码管显示+步进电机正反加速转动C语言程序

{
if(jia_key == 0)
{
delay(5);
if(jia_key == 0)
{
num++; //速度标识位
feng_ming_qi();
while(jia_key == 0) ;
for(k=125;k>0;k--);
}
/***************************************************************************************************/
void xianshi ( )//显示程序
{
delay(50);
if(zf_key ==0)
{
flag=~flag;
feng_ming_qi();
while(zf_key == 0);
}
}
if(stop_key == 0)
{
{
uchar j;
uint i;
for(j=0+table_begin;j<4+table_begin;j++)
{
P1 = code_table[j];
for(i=0;i<maichong;i++)
{
xianshi();
}
{
tong = 0xff;
tong = on[0];//位选为0;
liang = table[show_num];
delay(3);
liang = 0xff;
}
/***************************************************************************************************/
步进电机正反转控制实现

任务(课题)名称任务1 步进电机的基本运行授课班级课型理实一体化课时 4 授课时间任务(教学内容)描述本任务主要学习步进电机的结构及工作过程;反向器ULN2003的应用等内容。
教学目标知识目标理解四相六线步进电机的工作过程;理解反向器ULN2003的应用。
能力目标会编写步进电机的基本运行程序;会绘制步进电机的控制电路图;会调试仿真步进电机的基本运行程序及电路。
情感态度与价值观目标培养学生自主讨论学习的能力;教学重难点重点四相六线步进电机的基本运行程序编写;难点四相六线步进电机的工作过程;教学方法讲授法、分组讨论教学资源多媒体教学设备、PPT、EDA仿真机房教学过程教学环节教学内容知识点与技能点一、布置任务任务描述单片机控制四相六线步进电机,先正转5圈,再反转5圈,然后停止。
二、新课讲解1.步进电机的分类进电动机的种类很多,从广义上讲,步进电机的类型分为机械式、电磁式和组合式三大类型。
电磁式步进电机可分为反应式(VR)、永磁式(PM)和混合式(HB)三大类;按相数分则可分为单相、两相和多相三种。
目前使用最为广泛的为反应式和混合式步进电机。
ADD C来选通一路。
2.步进电机的结构及工作原理开始时,开关 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 方向转动。
3.七路反向器ULN2003AULN2003A是一个7路反向器,当输入端为高电平时ULN2003A输出端为低电平,当输入端为低电平时ULN2003A输出端为高电平。
plc控制步进电机正反转

plc控制步进电机正反转实验名称:步进电机正反转的PLC控制一、实验目的了解步进电机运转的基本原理和步进电机控制系统的基本组成,熟练运用梯形图语言进行编程,掌握用PLC控制系统控制步进电机正反转的方法。
二、实验要求1) 通过查找相关资料和教师讲解了解步进电机运转的基本原理和步进电机控制系统的基本组成;2) 以实验室西门子SIMATIC S7-200为硬件设备,认识掌握用PLC控制系统控制步进电机正反转的方法;3) 学习STEP7-Micro/WIN4.0软件,运用梯形图语言进行编程。
三、实验设备1) 西门子SIMATIC S7-200 PLC硬件系统2) 西门子SIMATIC S7-200 PLC编程软件STEP7-Micro/WIN4.03) SH全系列步进电机驱动器SH-3F075四、实验原理1、PLC控制系统I/O分配表1 I0.0 停止2 I0.1 正转3 I0.2 反转4 Q0.1 高速脉冲输出12、PLC电气接线图7-200步进电步机进电机驱动器24伏电源图1 PLC电气接线图3、程序代码(梯形图)图2 电机停止梯形图(1) 按下停止键,I0.0接通,脉冲输出功能关闭,电机停止。
2图3 电机正转梯形图(2) 按下正转键,I0.1接通,方向电平复位,脉冲输出功能PWM输出脉冲周期为2000um,脉宽为1000um的脉冲,电机正转。
注:寄存器说明SM77.0 PWM update cycle time value 0 = no update; 1 = update cycle time SM77.1 PWM update pulse width time value 0 = no update; 1=update pulse widthSM77.3 PWM time base select 0 = 1 us/tick; 1 = 1ms/tick SM77.4 PWM update method: 0 = asynchronous update, 1 = synchronous update SM77.6 PWM mode select 0 = selects PTO; 1 = selects PWMSM77.7 PWM enable0 = disables PWM; 1 = enables PWMSMW78 :PWM cycle time value (range: 2 to 65535)SMW80 :PWM pulse width value (range: 0 to 65535)3图4 电机反转梯形图(3) 按下反转键,I0.2接通,方向电平置位,脉冲输出功能PWM输出脉冲周期为2000um,脉宽为1000um的脉冲,电机反转。
51单片机按键控制步进电机加减速及正反转

51单片机按键控制步进电机加减速及正反转之前尝试用单片机控制42步进电机正反转,电机连接导轨实现滑台前进后退,在这里分享一下测试程序及接线图,程序部分参考网上找到的,已经实际测试过,可以实现控制功能。
所用硬件:步进电机及驱动器、STC89C52单片机、直流电源1、硬件连接图•注意:上图为共阳极接法,实际连接参考总体线路连接。
•驱动器信号端定义:PUL+:脉冲信号输入正。
( CP+ )PUL-:脉冲信号输入负。
( CP- )DIR+:电机正、反转控制正。
DIR-:电机正、反转控制负。
EN+:电机脱机控制正。
EN-:电机脱机控制负。
•电机绕组连接A+:连接电机绕组A+相。
A-:连接电机绕组A-相。
B+:连接电机绕组B+相。
B-:连接电机绕组B-相。
•电源连接VCC:电源正端“+”GND:电源负端“-”注意:DC直流范围:9-32V。
不可以超过此范围,否则会无法正常工作甚至损坏驱动器.•总体线路连接输入信号共有三路,它们是:①步进脉冲信号PUL+,PUL-;②方向电平信号DIR+,DIR-③脱机信号EN+,EN-。
输入信号接口有两种接法,可根据需要采用共阳极接法或共阴极接法。
在这里我采用的是共阴极接法:分别将PUL-,DIR-,EN-连接到控制系统的地端(接入单片机地端);脉冲输入信号通过PUL+接入单片机(代码中给的P2^6脚),方向信号通过DIR+接入单片机(代码中给的P2^4脚),使能信号通过EN+接入(不接也可,代码中未接,置空)。
按键连接见代码,分别用5个按键控制电机启动、反转、加速、减速、正反转。
注意:接线时请断开电源,电机接线需注意不要错相,相内相间短路,以免损坏驱动器。
2、代码1.#include<reg51.h>2.#define MotorTabNum 53.unsigned char T0_NUM;4.sbit K1 = P3^5; // 启动5.sbit K2 = P3^4; // 反转6.sbit K3 = P3^3; // 加速7.sbit K4 = P3^2; // 减速8.sbit K5 = P3^1; //正反转9.10.sbit FX = P2^4; // 方向11.//sbit MotorEn = P2^5; // 使能12.sbit CLK = P2^6; // 脉冲13.14.inttable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};15.16.unsigned char g_MotorSt = 0; //17.unsigned char g_MotorDir = 0; //18.unsigned char MotorTab[7] = {12, 10, 8, 6, 4, 2,1};19.20.signed char g_MotorNum = 0;21.22.void delayms(xms);23.void mDelay(unsigned int DelayTime);24.void T0_Init();25.26.void KeyScan(void);27.28.29.30.void main(void)31.{32.T0_Init();33.// MotorEn = 0; //34.FX = 0;35.while(1)36.{37.KeyScan(); //38.}39.40.41.}42.43.void T0_Init()44.{45.TMOD = 0x01;46.TH0 = (65535-100)/256; // 1ms47.TL0 = (65535-100)%256;48.EA = 1;49.ET0 = 1;50.// TR0 = 1;51.52.}53.54.void T0_time() interrupt 155.{56.// TR0 = 0;57.TH0 = (65535-100)/256;58.TL0 = (65535-100)%256;59.T0_NUM++;60.if(T0_NUM >= MotorTab[g_MotorNum]) //61.{62.T0_NUM = 0;63.CLK=CLK^0x01; //64.}65.// TR0 = 1;66.}67.68.69.//--------------------------70.void KeyScan(void)71.{72.if(K1 == 0)73.{74.delayms(10);75.if(K1 == 0)76.{77.g_MotorSt = g_MotorSt ^ 0x01;78.// MotorEn ^= 1;79.TR0 = 1;80.FX ^= 0; //反转81.}82.}83.84.if(K2 == 0)85.{86.delayms(10); //正转87.if(K2 == 0)88.{89.g_MotorDir = g_MotorDir ^ 0x01;90.FX ^= 1; //加速91.}92.}93.94.if(K3 == 0) //95.{96.delayms(5); //加速97.if(K3 == 0)98.{99.g_MotorNum++;100.if(g_MotorNum > MotorTabNum) 101.g_MotorNum = MotorTabNum; 102.}103.}105.if(K4 == 0) //106.{107.delayms(5); // 减速108.if(K4 == 0)109.{110.g_MotorNum--;111.if(g_MotorNum < 0)112.g_MotorNum = 0;113.}114.}115.116.if(K5 == 0) //117.{118.delayms(10); // 正反转119.if(K5 == 0)120.{121.g_MotorSt = g_MotorSt ^ 0x01; 122.g_MotorDir = g_MotorDir ^ 0x01; 123.MotorEn ^= 1;124.TR0 = 1;125.while(1)126.{127.FX ^= 1; //128.delayms(90000);129.FX ^= 0; //130.delayms(90000);131.}132.}133.}135.136.void delayms(xms)//延时137.{138.unsigned int x,y;139.for(x=xms;x>0;x--)140.for(y=110;y>0;y--);141.}3、常见问题解答•控制信号高于5v一定要串联电阻,否则可能会烧坏驱动器控制接口电路。
步进电机启动停止正反转控制程序的汇编语言的实现

DELAY 1MS MACRO TIME ;延时宏命令LOCAL AALOCAL BBPUSH CXMOV CX,TIMEAA: PUSH CXMOV CX,1000BB: NOPLOOP BBPOP CXLOOP AAPOP CXENDMDA TA SEGMENTTABA DB 01H,03H,02H,06H,04H,05H;正转的模型TABB DB 05H,04H,06H,02H,03H,01H;反转的模型DA TA ENDSCODE SEGMENTZZ PROC NEARPUSH DSMOV AX,DA TAMOV DS,AXMOV AX,0PUSH AXMOV DX,203HMOV AL,80HOUT DX,AL ;8255的控制字设定MOV DX,200HMOV AL,0OUT DX,AL ;先输出制动命令MOV CX,360 ;设定正转步数DD:MOV BL,6 ;六拍MOV DX,200HLEA DI,TABA ;指针指向正转的数字模型CC: MOV AL,[DI]OUT DX,ALDELAY 1MS 10INC DI ;指针加1,指向下一步的数字模型DEC BL ;拍数减1JNZ CC ;六拍未结束,则继续循环LOOP DD;360个周期的六拍未结束,继续循环ZZ ENDPFZ PROC NEARMOV CX,400 ;设定反转步数FF: MOV BL,6MOV DX,200HLEA DI,TABB ;指针指向反转的数字模型EE: MOV AL,[DI]OUT DX,ALDELAY 1MS 10DEC DI ;指针减1,指向反转下一步数字模型DEC BLJNZ EELOOP FFFZ ENDPMOV DX,200HMOV AL,0OUT DX,AL ;结束后,输出制动命令RETMAIN ENDPCODE ENDSEND START。
PLC实现步进电机的正反转及调整控制

实训课题三 PLC实现步进电机正反转和调速控制一、实验目的1、掌握步进电机的工作原理2、掌握带驱动电源的步进电机的控制方法3、掌握DECO指令实现步进电机正反转和调速控制的程序二、实训仪器和设备-48MR PLC一台1、FX2N2、两相四拍带驱动电源的步进电机一套3、正反切换开关、起停开关、增减速开关各一个三、步进电机工作原理步进电机是纯粹的数字控制电动机,它将电脉冲信号转换成角位移,即给一个脉冲信号,步进电机就转动一个角度,图3-1是一个三相反应式步进电机结图。
从图中可以看出,它分成转子和定子两部分。
定子是由硅钢片叠成,定子上有六个磁极(大极),每两个相对的磁极(N、S极)组成一对。
共有3对。
每对磁极都绕有同一绕组,也即形成1相,这样三对磁极有3个绕组,形成三相。
可以得出,三相步进电机有3对磁极、3相绕组;四相步进电机有4对磁极、四相绕组,依此类推。
反应式步进电动机的动力来自于电磁力。
在电磁力的作用下,转子被强行推动到最大磁导率(或者最小磁阻)的位置,如图3-1(a)所示,定子小齿与转子小齿对齐的位置,并处于平衡状态。
对三相异步电动机来说,当某一相的磁极处于最大导磁位置时,另外两相相必处于非最大导磁位置,如图3-1(b)所示,即定子小齿与转子小齿不对齐的位置。
把定子小齿与转子小齿对齐的状态称为对齿,把定子小齿与转子小齿不对齐的状态称为错齿。
错齿的存在是步进电机能够旋转的前提条件,所以,在步进电机的结构中必须保证有错齿的存在,也就是说,当某一相处于对齿状态时,其它绕组必须处于错齿状态。
本实验的电机采用两相混合式步进电机,其内部上下是两个磁铁,中间是线圈,通了直流电以后,就成了电磁铁,被上下的磁铁吸引后就产生了偏转。
因为中间连接的电磁铁的两根线不是直接连接的,是采用在转轴的位置用一根滑动的接触片。
这样如果电磁铁转过了头,原先连接电磁铁的两根线刚好就相反了,所以电磁铁的N极S极就和以前相反了。
但是电机上下的磁铁是不变的,所以又可以继续吸引中间的电磁铁。