返回首页

步进电动机控制器终端(步进电动机控制系统)

来源:www.xrdq.ne   时间:2023-01-03 20:45   点击:118  编辑:admin   手机版

1. 步进电动机控制系统

步进电机只要不丢步或过冲,控制精度就保证在系统精度范围内。

系统精度由传动精度和刚度,系统刚度等决定。

若导轨超差,传动齿轮有间隙,步进电机与滚珠丝杆联接不同轴或有间隙,电机或传动元件选择不当,都会影响系统精度。

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。

2. 步进电动机控制系统原理

你说的应该是步进电机控制系统吧。

步进电机控制原理(开环控制)

PLC或上位机发送脉冲频率、脉冲数量、电动机运行方向信号给到步进驱动器,步进驱动器驱动步进电动机运转,步进电动机带动机械部分运动。步进电动机没有反馈位置信号给步进驱动器。

优点:步进驱动器驱动的步进电动机的选型范围广,设置简单,易调节,较便宜。

缺点:丢步,定位不准。

二、步进电机控制原理(闭环控制)

随着技术的发展,步进电动机也有安装编码器的,反馈位置信号到步进驱动器,组成闭环控制系统,也有的资料叫做步进伺服控制系统。同样PLC或上位机发送脉冲频率、脉冲数量、电动机运行方向信号给到步进驱动器,步进驱动器驱动步进电动机运转,步进电动机带动机械部分运动。

步进伺服控制系统解决了步进电机开环控制时的丢步问题,提高了定位控制的精度(由编码器分辨率决定,不会比伺服电机的精度高)。

3. 步进电动机控制系统概述

1、可以用单片机+全集成步进电机驱动芯片来整全应用,这样比较简单,控制上很方便。用普通的51单片机像AT89C2051或STC12C1052+THB7128或THB6064这类芯片来组合就可以了。

2、单片机根据输入来决定输出的脉冲数量,让步进电机驱动芯片转化成功率信号驱动步进电机。

3、因为是一个脉冲走一步的,所以输出的脉冲数还要考虑到细分数的问题,固定转动步数、角度的程序还是比较容易编。像1.8度的步进电机,2细分时,转一圈就需要400个脉冲,转半圈只需要200个脉冲,转90度只需要100个脉冲,如此类推。

4、程序的话,固定一个适当的频率,按键触发启动定时器,然后在定时中断里取反一个IO端口做脉冲输出,再放入一个累加变量做计算,算脉冲数量,是取反两次输出一个完整的脉冲,在主程序中设定一个需要的脉冲数量来作为条件控制定时器的开启和关闭,然后循环等待条件满足

5、如果想把控制、驱动、和步进电机都整合在一起,比较麻烦,小电机还好,大电机的干扰是个问题。

4. 步进电动机控制系统电气连接图

步进电机工作电压是直流的,由于规格比较多,没有图不能瞎说,脉冲→调整脉冲→编程→驱动→电机。这是单向的旋转。

5. 步进电动机控制系统有哪些

如果没有控制过步进电机,初次使用可能会感觉无从下手,下面介绍如何快速掌握步进电机的控制方法,步骤如下:

1、接线:

参考表控的步进电机接线图,电子版说明书中有单轴、两轴和4轴的接线图。

接线比较简单,主要分为电源、输出和输入三部分的接线。最关键的接线是表控输出信号到驱动器输入端的信号线。接线的原则是:驱动器脉冲和方向输入信号的正极都接到表控的5V电压端子上,脉冲和方向的负极分别接到表控的输出端Y输出端上。表控的脉冲输出端是Y1——Y4可以输出脉冲,其他输出端不能输出脉冲可以输出方向信号。

2、安装功能设置表:

在电脑上安装表控的功能设置表软件。

3、测试:

运行功能设置表,设置一行功能数据就可以进行测试。

设置很简单,选择输入端X1为启动开关,选择输出端为Y1输出脉冲,设置频率为2000赫兹,脉冲数设置为10万个脉冲。这样就完成了测试的设置。

频率决定步进电机的转速,脉冲个数是运行的距离或尺寸。

连接好数据线,一端插到电脑的USB接口上,另一端插到控制器的下载接口上,点击连接和下载按钮,按一下输入端X1的按钮开关,点击就会旋转,这样就通过了测试,证明接线、供电和设置都没什么问题了。

4、设置实际需要的功能:

根据需要的功能,从第一个动作开始设置,推荐设置一个动作就下载到控制器中测试一下,没有问题就设置下一个动作,然后在测试。有了初步的设置和测试经验,就可以多设置一些功能。通过设置——测试——修改——测试的调试过程,最终实现全部的功能。

注意事项:

电源必须使用24V开关电源,功率要足够,开关电源电流的选择:要大于全部负载的总电流,并留有余量。

注意接线必须正确,避免控制器输出过载和短路。

6. 步进电动机控制系统加减速汇编程序

内容:1、本程序用于测试4相步进电机常规驱动

2、需要用跳帽或者杜邦线把信号输出端和对应的步进电机信号输入端连接起来

3、速度不可以调节的过快,不然就没有力矩转动了

4、按s4(设置成独立按键模式)可以控制正反转

------------------------------------------------*/

#include

bit Flag;//定义正反转标志位

unsigned char code F_Rotation[4]={0xf1,0xf2,0xf4,0xf8}; //正转表格

unsigned char code B_Rotation[4]={0xf8,0xf4,0xf2,0xf1}; //反转表格

/******************************************************************/

/* 延时函数 */

/******************************************************************/

void Delay(unsigned int i)//延时

{

while(--i);

}

/******************************************************************/

/* 主函数 */

/******************************************************************/

main()

{

unsigned char i;

EX1=1; //外部中断0开

IT1=1; //边沿触发

EA=1; //全局中断开

while(!Flag)

{

P0=0x71;//显示 F 标示正转

for(i=0;i

{

P1=F_Rotation[i]; //输出对应的相 可以自行换成反转表格

Delay(500); //改变这个参数可以调整电机转速 ,数字越小,转速越大

}

}

while(Flag)

{

P0=0x7C;//显示 b 标示反转

for(i=0;i

{

P1=B_Rotation[i]; //输出对应的相

Delay(500); //改变这个参数可以调整电机转速 ,数字越小,转速越大

}

}

}

/******************************************************************/

/* 中断入口函数 */

/******************************************************************/

void ISR_Key(void) interrupt 2 using 1

{

Delay(300);

Flag=!Flag; //s3按下触发一次,标志位取反

}

7. 步进电动机控制系统方案的选择及确定

最简单的步进电机,是“四相五线步进电机”----操作非常简单、5个线、分别对应、VCC、A、B、C、D----A B C D分别对应ULN2003芯片的4个脚 另一头4个脚接 IN1 IN2 IN3 IN4----IN1~IN4分别对应单片机89C51 的IO口,可以是P1^0 ~P1^3 当然,你也可以选择其他IO口,无所谓的----控制程序也非常简单,就来个最简单的四拍控制法吧,原理是依次给4个IO口赋高电平,也就是置"1"----例子:

1.给A置高电平-其他3个置低电平-延迟3ms(可以调再慢点、因为太快的话、电机的齿轮就咬死了)2.给B置高电平-其他3个置低电平-延迟3ms3.给C置高电平(也就是置"1") ~~~~4.给D置高电平~~~~~~~然后再回过头,重新给A高电平,其他置低、反复类推、是不是很简单呢?纯属手打、全是原理、如果你耐心看完、我相信你肯定懂得控制步进电机控制芯片、可以是ULN2003 也可以是 L298N 等, 都是相同原理

顶一下
(0)
0%
踩一下
(0)
0%