楼主最近还看过
“超声电机驱动器需要控制器提供启停信号(高电平电机启动,低电平停止)、正反转信号(高低电平控制运动方向),均为5V信号。请问1842控制器的哪些信号可以用来控制这种驱动器?”
您用的是什么驱动器?启/停信号可以用控制卡的使能输出,方向信号也许可以控制卡的方向输出(要在控制卡上将对应轴的SM跳线短接)。
“还有个问题执行SB1后,在JOUT接口对应的输出引脚O1上检测不到高电平信号”
JOUT中提供是对公共端的通/断输出,不是电平输出。
“执行命令SH后,在JXD接口中的enable+引脚上也检测不到高电平信号”
JXD中,对于使能信号是提供enable+与enable-之间的通断输出,而不是电平输出。
建议您看一下接口板的说明。您可以向您的供应商索要这个说明书。或者留个邮箱地址以及接口板的完整型号,我发个说明书给您。
刘老师,请恕本人愚钝,有些问题还是没搞明白,控制卡的使能输出不就是enable+与enable-信号么? 既然enable+与enable-没有高电平输出,也就不能用作启停信号(高电平电机启动,低电平电机停止),是这样的吗?
方向信号也许可以控制卡的方向输出(要在控制卡上将对应轴的SM跳线短接),将对应轴的SM跳线短接后,还需要用MT命令将电机设置成步进模式吗?
这种驱动器是超声电机专用驱动器,只需要连接三根线,分别是启停,正反转,DA调速。
接口板型号是1900D v1.6f,说明书我有一份,不过本人是新手,看了好几遍,好多问题还是不明白。
最后感谢刘老师的热情回复!
“ 既然enable+与enable-没有高电平输出,也就不能用作启停信号(高电平电机启动,低电平电机停止),是这样的吗?”
这需要用户自己把它转换成高低电平输出。您把enable+连接到5V,enable-通过1K电阻连接到GND。就可以在enable-上量到电平变化了。
“方向信号也许可以控制卡的方向输出(要在控制卡上将对应轴的SM跳线短接),将对应轴的SM跳线短接后,还需要用MT命令将电机设置成步进模式吗?”
不需要。而且您好需要一个DA输出做调速,就更不能设置成步进模式了。
另外,您需要的DA调速信号,具体是什么电气要求?电压还是电流?最高速要多大的电压(或电流)。最低速(静止)要多大的电压(或电流)?
刘老师 您好! DA调速是电压调速,调节范围为0~5V,0V静止,5V最高速。
我现在有一个方案,刘老师帮忙指点下看能不能实行对超声电机驱动器的控制。
第一,把enable+连接到5V,enable-通过1K电阻连接到GND,通过设置跳线,当轴使能时,enable+与enable-之间隔离;轴关闭时,enable-输出高电平,即电机启动。
第二,既然轴关闭了,可用OF指令设置DA电压,即对电机调速
第三,用控制卡的方向输出控制电机运行方向,(我自己用示波器看,轴关闭后,轴上仍有脉冲及方向信号输出,但是不确定PR,PA这些指令在轴关闭的时候,还能不能用?烦请刘老师指点!)
最后还有一个问题是,需要将轴的脉冲及方向信号通过跳线设置为TTL方式吗? 接线时JXD上的8.9脚就不用连线了。
THANKS AND BEST WISHES FOR YOU!
刘老师 好! 我做实验试了下,我上面写的那个方案不行。
原本设想,在轴使能时,执行PR命令,Dir+输出运动方向;
轴关闭时,enable-输出高电平,启动电机;
此时可用OF指令设置DA电压值,实现电机调速。
可是实验中发现,在执行MO指令关闭轴后,Dir+引脚自动跳高电平,且X_COMMAND引脚上电压输出自动跳到9.8V左右,请教刘老师,这两个引脚上信号为什么会自动变化? 还有就是在轴使能的情况下,怎样指定DA电压输出?(因为板卡上DA范围为-10V~10V,而驱动器可接受的DA调速范围为0~5V,如果程序自动调节DA的话,怕超出范围烧坏驱动器,所以想指定DA输出,这也是之前为什么想在轴关闭时启动电机原因。)
第一,把enable+连接到5V,enable-通过1K电阻连接到GND,不要改跳线,当轴使能时,enable+与enable-之间导通,enable-输出高电平,即电机启动;
第二,在选择了方向信号后,OF的参数以及TT指令的返回值不是直接对应输出电压,而是存在着线性对应关系:绝对值 0对应10V,9.9982对应-10V,正、负值对应方向信号输出。这样可以实现通过OF指令实现对电机速度的开环控制。对于0-5V信号,基本上说,您OF的值应该在2.5到5之间。而且是绝对值数值越大,速度越小。如果该轴有编码器反馈,将KP、KI、KD全部设置为0。
如果您希望对电机实现闭环控制,或者通过正常的运动指令实现控制,我需要看到您的全部系统构成以及驱动器的手册,才能给出安全的方案。
脉冲信号没有用,不要去管它,它现在输出的是PWM信号,本质上与模拟电压输出是一致的。
方向信号是否要设置成TTL,眼看您的驱动器规格,通常是不需要的。RS422信号的输出的高电平低于5V,但也可以兼容绝大部分TTL接收器。
刘老师,好!系统工作原理是这样的,1842通过检测编码器的位置反馈信号,从而控制电机启停、正反转及运行速度,整个系统是一个闭环控制系统。驱动器可以接受3.3V及5V的信号。用什么样的指令才能对电机实现闭环控制?我的想法是这样的
SH; 启动电机
DP0;
PRXXX;根据误差,选择运动方向;
OFXX;设定运动速度;
AMA;等待运动完成;
我在试验中发现,如果将KP、KI、KD全部设置为0,使用PR-100;或者PR100;这样的指令都不能改变X轴上Dir+引脚的电平,Dir+引脚一直保持高电平,如果不将KP、KI、KD全部设置为0的话,Dir+引脚上的电平会有跳变。
最后再次感谢刘老师耐心的解惑!
l刘老师,好!“在您当前设置下,OF指令就可以了。给正值和给负值对应不同的电平。”
但是我的OF的值应该在2.5到5之间,保证DA输出在0~5V之间。
“那么,驱动器本身模拟电压的接口电路是什么样的?另外,驱动器能不能接受PWM信号?”
驱动器里面有个PSOC单片机,事实上DA输出给了单片机的AD引脚,单片机程序会根据AD转换的数值决定电机运动速度。
目前驱动器提供的接口只有三根线,分别用于控制电机启动,正反转及DA输入,分别接在单片机的两个IO输入引脚及AD引脚上。
刘老师,我接下来一个星期可能要断网了,对您耐心的指导在此再次感谢!看我这一个星期能不能搞定这个问题,如果不能,到时候还来请教刘老师答疑!
目前控制卡上的设置(SM跳线短接,MT设置为1或-1),实际上就是PWM+方向的信号输出。脉冲脚上输出的就是频率为25K赫兹的脉冲宽度调制(PWM)信号。如果你的驱动器能接收这个信号(或者用个低通滤波器把它转换成0-5V的电压信号),就可以直接对电机实现闭还控制了。匹配好引动和反馈的方向,就可以大致用PR、PA、JG、BG、ST这些指令来控制电机的运动了。当然,KP、KI、KD几个参数也需要适当调整。
我想看到您的驱动器的接口电路,就是因为一般模拟量输入口上都会有个低通滤波的。如果滤波是参数合适,也许可以直接把脉冲信号当作模拟电压信号接入。