Skip to main content
Submitted by IanPMI on Tue, 10/07/2014 - 07:00

Hi everyone,

I am operating a linear motor using Torque Control and controlling it using a DMC-4040. I understand that in the process of tuning the linear motor per Note5491 that the constant KDx needs to increase in order to provide the proper commanded torque voltage to drive the amplifier. What I've noticed is that with an increasing KDx, the torque voltage (TTA, DAC) being supplied to my amplifier develops a sharper curve. However, the amplifier I am using to drive my motor requires a certain voltage level to overcome the static friction in the system (approx. 25% of the amplifier's output, meaning the voltage level needs to reach 2.5V since 10V = 100%) Because this torque voltage supplied by Galil is a gradual curve that starts close to zero, it creates a delay between command and actual motion. The delay I see is based on the amount of time it takes for the torque voltage to reach a certain level, since the curve I currently have is not like an instantaneous spike.

My question is this - does Galil have the ability to generate an offset (in both directions, not just one) for the torque voltage so Galil can drive my amplifier sooner and remove this delay I'm seeing? Or should this be something I should have my amplifier do if possible? Ideally I want to increase KD so this torque voltage curve will be sharper, but I'm worried that if I keep increasing this variable, it'll create instabilities in my system.

Essentially, I'm looking for a variable A to adjust my torque voltage V(t), where

V(t)new = A + V(t)existing for all positive V(t)existing
V(t)new = V(t)existing - A for all negative V(t)existing

Comments 1

Galil_CoryB on 10/21/2014 - 10:01

IanPMI-

This is absolutely possible to apply an offset. The OF command can be used to provide an open loop offset but it will only apply it in one direction. When profiling your motion you can issue OF right after BG to get the initial voltage o the DAC is needed. Using a variable would allow it to be programmed easily.

please see the code below for an example
[code]
off=2
#loop
PA 10000
BGA
OFA=off
AMA

PA 0
BGA
OFA=off*-1
AMA
JP#loop
[/code]

You may find that after tuning you can remove this offset. The FA command will do something like what you are asking. The FA will provide an open loop offset to the DAC proportional to the acceleration while accelerating or decelerating. This is used to get the the motor moving initially. The FV will so something similar while slewing but it will be proportional to the profiled slew speed.