On 08/07/10 11:43, Chris Radek wrote:
> On Thu, Jul 08, 2010 at 10:32:50AM +1000, Jake Anderson wrote:
>    
>> We have converted our mill to CNC and EMC2 and all is fairly well.
>> http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?JakeAndRussells
>>      
> ...
>
>    
>> Unfortunatly when I change that cruise speed (g1 F200 vs G1 F100 say)
>> the ferror goes up, and I start either leading or lagging the set point.
>> I can tune to hover around 0 error at any given speed, but as the speed
>> changes I start getting error again.
>>      
>    
>> Any tips?
>>      
> Yes but beware they're all half-baked.
>
> I see you're using bare H bridges which means you don't have a
> velocity loop.  I think this problem with FF1 is because of that, and
> it is a fairly fundamental problem with a torque-mode setup.
>
> In hand-wavey terms, a full velocity mode servo amp has a commanded
> velocity (output of emc's pid in our case) and actual velocity (from a
> tachometer) and it uses the difference between the two to determine
> the torque/current to apply to the motor.
>
> It seems like you can fake this up by using the mesa encoder's
> velocity output as your pretend velocity feedback.  Use sum2 (one gain
> negative) to calculate the difference between your pid output and your
> velocity feedback.  Pick your scales carefully so everything matches
> up.  Use this resulting difference to drive your pwmgen.
>
> I haven't tried this and the whole idea came out of a late-night chat
> session with Kim K.  Unfortunately I can't find the archive of it.
>
> I'd be thrilled to hear whether this gives you a stable loop and
> whether it tunes up better.  Please do keep notes and report back if
> you try it.
>    
I'll have to catch you up on IRC and see if you can hand hold my way 
through setting that up lol
(I'm Valen there btw)
> One step more complicated is to have dual pid loops, a torque loop
> inside a velocity.  I'm not sure what you'd use for torque/current
> feedback, though.  Normally that's current sensing in hardware, and
> you have no equivalent that I can see.
>    
ok well I have no hope of that lol.

> Simpler is to leave your pid as-is and try using I instead of FF1.  If
> you can increase your I by a lot and still keep the loop stable,
> you'll get correct following at any (steady) speed.  The tradeoff is
> sloppy settling at speed changes, like at the beginning and ending of
> moves.
>    
I can add a bunch of I and get it to be pretty good but things where it 
plunges then starts cutting wind up with an overshoot and the like.

Currently I am running a
P of ~3
D of .01
FF1 0
FF2 .03
FF2 .0001
or so
(these vary for each axis)

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to