远程控制步进电机要解决哪些问题
一般电机失步都是缺少了其中一相或者两相,也就是说有一只的线路坏了(至于是电机还是控制器坏就要查了)。
让电机单步地执行,也就是每步以0.1丝前进,每走一步都用手去摇动一下电机,看看是否在锁定状态.如果哪只LED亮的时候而电机没在锁定状态就哪条线路有问题,你可以查遍跟这条线路有关联的。
先从机床入手(也就是电机这方面)。
关掉所有电源,拆开机床跟控制器相连的接口,找出这三条线,再找出那条24V的电源线。将万用表打至电阻挡,将这三条跟24V线一一对量。正常状况下应该有8.5欧姆左右的电阻,也有的电机电阻有大小的,总之哪条线如果电阻跟其他的不对的.就那条线有可能有问题了。
如果电机方面检测的结果都是对的,就要用同样的方法去检测控制器方面的。
如果检测的结果是电机有问题,就沿着检测出的这条线去检测电机。如果比较幸运,是线断了话,接上就可以了,不幸运的话就得换电机了。
如果是控制器方面的问题,也沿着检测出的这条线一直往上查,就可以知道了。要解决失步,先要弄清楚失步的原因,这方面的文章有很多。
实际调机过程碰到的:
1.电机转矩不够,负载能力差。今天就碰到因气管太硬,弹性不好,形变困难,导致电机拖不动。
2.速度曲线有问题,步进电机本身就是工作在低速段,根据负载的不同要仔细调校加减速。
3.电压太低,响应慢。通常在安全的前提下,电压高些会少很多麻烦。
4.散热不好,导致磁力下降。冷机时试机正常,运行一段时间后发生丢步就要考虑散热问题了。
解决步进电机丢步,首先需要分析丢步的原因,针对性采取改善措施:
1、如果是所选电机的输出力矩不够,导致丢步,应对办法:适当降低加减速或加工速度,更换更大输出力矩的电机,适当提高供电电源的电压,适当增大电机的运行电流;
2、如果是控制信号受到干扰,导致丢步,应对办法:改善布线方式,尤其是控制信号线与大电流线分别走线,控制信号采用屏蔽线,适当降低驱动器的控制信号带宽等;
3、如果是结构原因,导致丢步,应对办法:传动结构安装是否可靠,传动机构是否有被卡的现象,机构运行是否顺畅等;
4、如果是控制信号有效沿,导致丢步,应对办法:调整控制信号或驱动器的有效沿,改善控制信号的时序;
5、确定脉冲当量是否匹配
但是,远程如果是有线方式,可靠性还可以,假如是无线控制,可靠性就较差了,所以牵扯到是否有严格的定位要求问题,如果有,就得做闭环控制,也就是说,电机一侧要有旋转编码器用来确保转动时没有失步,实现了指定角度的旋转。
由于无线信道一般是单向的,所以不太可能把闭环信号送回来,所以发送端上应该发送带有校验的数据,并且应该每次都带有位置信息,类似空调的遥控器发送数据,就是说每次发送的不是一个“正转5个脉冲”或“倒转30个脉冲”这样的简单消息,而应是“转到30度位置”或是“移到0点起1434步的位置”这样的信息,这样,发送到伺服控制器一端时,这边再根据刚才的位置自己产生方向和相应脉冲的信号,并根据需要开启和关闭驱动器以实现锁止。
无线电干扰问题是通过校验来避免的,接收信号不良则是通过绝对位置信息来保障的,这样,如果一次的信号没有收到,下一次信号再来的时候,就能把刚才漏掉的位置补上了,总知只要收到信号,总能移到你想要的位置上。
当然如果可以双向通信是最理想的,远程伺服端可以向控制发送端提供纠正信息,防止错位。
首先,要用keil给单片机编程,步进电机自己选好型号后,与驱动器相连接,这个接线看驱动器说明书,主要难在编程,自己定义 p0,p1,p2或者其他口作为脉冲与方向控制。
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的,多相时序控制器。
虽然步进电机已被广泛地应用,但步进电机并不能像普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。
首先,要用keil给单片机编程,步进电机自己选好型号后,与驱动器相连接,这个接线看驱动器说明书,主要难在编程,定义 p0,p1,p2或者其他口作为脉冲与方向控制。至于程序嘛,到网上下个,关键能看懂调试出来。
要学会思考设计,远程控制电机先要考虑怎么控制,用信号线还是无线来控制电机运行,单片机怎么控制电机,就这几个方面的事情
小明远程控制 ★你的电脑 我的权限★
Arduino 控制 28BYJ-48 步进电机详解
进一步,如果希望支持1-2相励磁模式,可以修改Stepper.cpp文件,创建自定义的Stepper_28BYJ48类。调整后的代码确保了与电机规格的精确匹配,实现电机按预期工作。最后,附上测试代码和实际运行效果,确保了对28BYJ-48步进电机的有效控制。
单片机控制步进机正反转 的C程序源代码的解释(基于Proteus仿真)_百度...
图看不清,控制步进电机的核心技术,是在4根控制线上按一定时间周期产生时序,时序的不同电机转动的方向也不同,在程序里 code char fward[4]={0x0c,0x06,0x03,0x09};code char bward[4]={0x09,0x03,0x06,0x0c};就表示了这两个时序,把数组的元素分四次写入P1口就是电机的驱动时序,自己画...
单片机控制步进机的代码及解释
include <reg51.h> \/\/51芯片管脚定义头文件 include <intrins.h> \/\/内部包含延时函数 _nop_();define uchar unsigned char define uint unsigned int uchar code FFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}; \/\/四相八拍正转编码 uchar code REV[8]={0x09,0x08,0x0...
...以下程序是步进电机状态机的,用来控制电机,能详细解析一下这段程序...
求救Verilog大神,以下程序是步进电机状态机的,用来控制电机,能详细解析一下这段程序吗?感激不尽。 30 modulestepmotor(inputclk,inputrst_n,inputturn_on,inputdirection,input[2:0]speed,outputreg[3:0]port);parameterSTEP1='h09;parameterSTEP2='h08;parameterSTEP3='h0c;parameterS... module stepmotor(input...
Arduino 控制 28BYJ-48 步进电机详解
并修正了参数,将步距角调整为11.25°,对应的步数变为2048步。测试结果显示,电机成功转动一圈,耗时约19秒。进阶部分,我修改了Stepper.cpp文件,支持1-2相励磁模式,以匹配28BYJ-48步进电机。通过这个定制版本的stepper函数,可以更准确地控制电机。以下是关键代码和运行效果的展示:
步进电机获得什么信号,可以解除
这种信号为脉冲信号。步进电机通常通过脉冲信号进行控制,控制器发送特定的脉冲序列来控制步进电机旋转或停止。要解除步进电机,可以发送停止信号或者改变脉冲序列来控制电机停止运动。具体解除步进电机的方法取决于所使用的控制器和电路。
如何实现步进电机的分解,阐述主要操作步骤?
混合式步进电机最好的拆解步骤是将步进电机退磁,然后拆掉固定在电机前后端盖上的贯通螺丝,用橡胶锤或者螺丝刀的手柄等比较软的东西轻敲端盖,端盖有松动之后取下端盖,把转子从端盖上取下,一般就分解到这种程度了,如果再将转子和固定子分解就是破坏性分解了。但对于步进电机分解方法还不知道的你来...
C语言 步进电机的正反转 启停 控制程序 求解释
中断1,计数器count增1,如果达到预设的数值tab[sp],计数器归零,标志flag置1。这个好像与速度有关。通过调整延时时间来调整速度。中断0,读键盘。没有scan_key()的源代码,不知道里面有些什么操作。while(1){...}循环是电机运转,flag_status是状态,1转动,0停止。没有看到与正转反转有关的代码...
步进电机失步的原因解决方法
4)步进电机需要快速启动或者高速运行,需要驱动电压比较高,工作电流设定值足够大,否则也容易失步。5)换个型号的驱动器对比看看是不是信号收到干扰,或者看看控制A电机运动,是不是B电机有动作,看看电机是不是收到信号干扰。6)共振的时候,步进电机及其系统有明显的噪声和震动,速度上升或者下降一定...
单片机用uln2003控制步进电机转动 看一下这部分程序 这是怎么控制的?对...
这是一个四相8拍步进电机 通电顺序的8种情况,即a --ab --b --bc--c --cd--d--da--a ...
召朱双汰: 要用无线电驱动步进电机,你得多的事情如下:1.需要制作做一个遥控器和一个步进电机的驱动器.2.驱动器的作用是发生去电脉冲信号,当然是用单片机的脉冲信号来放大(放大电路)3.遥控器能和驱动器进行通信,当然是无是无线的通信方式.4.遥控器通过和驱动器通信,把不同的脉冲的频率数据送到驱动器里,则能驱动你的步进电机了.当然,以上的电路你自己做出来,是挺费时间的,你得需要学习电路的基本知识,学习单片机的开发技术,然后亲手造出来.不要担心,单片机不是很难的,只要你买了单片机学习板,多练练,你就会应用了.当然,你学会了,你毕业后,你可以轻松找到一个不错的工作.如果你想快点实现,你只能找有单片机技术人员帮忙,或者在网上购买现成的模块.
辽宁省18469286613: 单片机控制步进电机的主要问题及解决思路 - ?
召朱双汰: 首先,要用keil给单片机编程,步进电机自己选好型号后,与驱动器相连接,这个接线看驱动器说明书,主要难在编程,自己定义 p0,p1,p2或者其他口作为脉冲与方向控制.至于程序嘛,自己到网上下个,关键自己能看懂调试出来.
辽宁省18469286613: 单片机控制步进电机有那些程序问题? - ?
召朱双汰: 一般应该注意以下问题:1、相序分配问题,对2/4相步进电机来说,会有全步、半步之分,较高级的控制还有进一步的细分控制.2、速度控制问题,体现相序变化的快慢,用定时器中断控制的话应该很好实现.3、正反控制问题,这个问题也很好解决,如果将相序分配做成一个数组的话,假如指针递增为正转,那么指针递减就反转了.从控制而言,我认为注意解决这三个问题就OK了,其他就是驱动等硬件设计问题.
辽宁省18469286613: plc 控制步进电机的问题. - ?
召朱双汰: 低电平有效下边有解释 PLC输出波形程序可以控制频率.最高频率受系统时钟和输出响应速度控制.
辽宁省18469286613: 求plc控制步进电机的方法??
召朱双汰: 的确是很简单的问题根据你的描述,应该PLC控制步进电机,步进电机连接转盘,类似于编码盘的东西.控制过程如下:1,步进马达应该有正转反转控制模式,同时也有点动(单个位置)和整圈控制2,你说的360度光电传感器作为马达的原点,即初始位置参考点,每一次初始化后,马达应该从这里开始(如果程序有位置增益补偿,可能位置有点偏差,但是每次的起始位置是一定的)3,位置传感器作为点动控制方式的硬限位,程序中应该使用位置控制模式,马达将跑对应位置,传感器作为位置信号的确认.以上仅供参考
辽宁省18469286613: PLC控制伺服电机、步进电机? - ?
召朱双汰: PLC控制步进电机容易!1:一般来讲控制步进电机是开环控制,也就是说你只要连接好A+、A-、B+、B-、写好程序就基本完成.2:私服控制一般采用闭环控制:除了上述的以外,还要将编码器的部分的反馈与程序做比较检测是否与程序制定的位置是否一致.3:如果采用步进控制+编码器进行精确定位的话,在控制程序方面是差不多的.
辽宁省18469286613: 关于控制步进电机的问题? - ?
召朱双汰: 不可以用变频器控制步进电机,但在某些可以像变频器一样使用步进电机,如采用英纳仕EZD552驱动两相电机,可以像变频器一样通过电位器实现对步进电机调速应用.步进电机的特点在低速区的输出力矩非常大,如果需要的速度不高,有需要比较大的力矩,使用这类方案比较不错.
辽宁省18469286613: 步进电机怎么控制 - ?
召朱双汰: 其实没有什么控制器的问题,一般都是步进电机的驱动.控制都是单片机之类的MCU执行,只是它们给的时序信号的驱动能力小,所以要接驱动芯片.控制单元只是提供一个时序信号,比如对于一个两相六线的步进电机,单片机的P0口的四个...
辽宁省18469286613: 如果用西门子PLC控制步进电机,最简单可靠的方案是什么?还需要一台驱动器吗? - ?
召朱双汰: 可以用模块直接调试脉冲输出控制步进,也可以用单独驱动器,但需要知道以下几点:1. 步进电机参数,如脉冲,电压,电流,等等;2. 你的PLC是那种的,200的还是300/400的,输出模块的点功能;3. 熟悉一下对应的编程软件特殊输出点的参数设置,程序代码怎么写;
辽宁省18469286613: 用一块Arduino板同时控制4个步进电机,有什么办法 - ?
召朱双汰: 步进电机是通过脉冲信号控制的,脉冲信号经过信号隔离放大,达到驱动电机的电压来驱动控制步进电机.用一块Arduino板同时控制四个步进电机,只需要解决两个问题,即产生控制脉冲和脉冲信号的放大.产生脉冲可以用Arduino来做,放大电路则可以自己设计用L298、uln2003或者其他电路.