Jon,

  You idea would work, along with a number of others, so long as I
never disable the motors.  The problem occurs when I disable the
motors and move the table manually.

  The problem occurs because the only place to feed position feedback
that will work when the motors are disabled is through
axis.0.motor-pos-fb.  This value is then subject to inverse screw
compensation.  The only way to make this work accurately is to zero
out all the screw and backlash comp.  Theoretically, it will calculate
the screw comp and backlash in real time, but on my machine, I need a
feed forward component for accuracy.

  What we need is a pin called axis.0.joint-pos-fb (input) that
normally is netted to a pin that is the motor position plus the
inverse screw comp (output).  Then I could un-net those, and plug my
scale feedback into the joint-pos-fb pin, instead of the inferred
joint position (motor-pos-fb + inverse screw comp).

Brian

On Thu, Aug 5, 2010 at 9:36 PM, Jon Elson <[email protected]> wrote:
> Brian wrote:
>>  I have a setup problem that I think should be a fairly common issue
>> that I would like to bring up to the development team.
>>
>>  I have a milling machine that uses open loop steppers to operate the
>> screws, and scales to monitor table position.  I want to use the
>> scales to monitor the table position when the drives are disabled, and
>> I am manually moving the machine.  This will mitigate the need for an
>> MPG.
>>
>>  My problem is, I don't see a good way to integrate the direct
>> reading scales into the HAL component 'axis'.  I can't use
>> motor-pos-fb, because the backlash is added to it to determine actual
>> joint position.
>>
> You can do this with the hardware step generators available with EMC.
> They work like a servo,
> even when the steppers are run open-loop.  Axis commands a velocity in
> steps/second, and the step generator puts out that rate.  The steps are
> counted by an encoder counter and fed back to the PID component and the
> axis component.  You can see the logic in your configs/univstep
> directory.  If you flip a switch on the Universal Stepper Controller, it
> switches to reading an actual encoder and ignores the exact number of
> steps sent.  This allows mixing open- and closed-loop steppers in the
> same system, too.
>
> Jon
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by
>
> Make an app they can't live without
> Enter the BlackBerry Developer Challenge
> http://p.sf.net/sfu/RIM-dev2dev
> _______________________________________________
> Emc-developers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/emc-developers
>

------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to