刘工,您好!
我是澳大利亚UNSW的学生,目前正做一个小项目,涉及用Galil DMC4030控制一个直线电机的位置。
直线电机是永磁式的,带一个0~10V的模拟量位置反馈。我按照Galil的用户手册,将该反馈连接到了DMC的Analog3, 并使用了AQ 和 AF 指令将电机的位置反馈加入到控制闭环中。
我是用Galil Design Kit (GDK)来编程调试的。如附件图片(BBB.jpg)所示,窗口左侧的电机位置没有问题,说明0~10V的模拟量可以转化成counts,并能读取电机的位置。但是,窗口右侧的Reference Position显示的不是程序中的设定值,每次运行程序时都出现一个随机的数,要比设定的值大很多。
我尝试了很多办法,总是不能解决这个问题。请问您可以指导一下这是什么原因造成的吗?
期待您的回复!
Phoenix
楼主最近还看过
“但是,窗口右侧的Reference Position显示的不是程序中的设定值,每次运行程序时都出现一个随机的数,要比设定的值大很多。”
只看这个图是无法给您什么有针对性的建议的。这要看到您的程序是如何给出设定值的。这里出现的是真随机数,还是隐含着您没有发现的规律。
您的DMC-4030中有没有别人存储的用户程序?如果有,这个程序也可能在设定Reference Position?或者,用LS指令检查一下。
如果在图片所示装态下,输入执行SH指令,能否使Reference Position改变到和当前Motor Position一致的数值上?当然,也可能Motor Position也在瞬间发生变化,让这两个数还是不一致,但是,至少可以确定一下SH指令能不能设置当的Reference Position
不知道您的电机是如何驱动的,或者说,控制卡上的