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
