Re: Jog wheel




Bill (comments in)

On Sunday 02 June 2002 00:46, Bill wrote:
> > This behavior could be altered if we wrote a routine that captured the 
> > pulses of the handwheel and add them up while a jog command is being 
> > executed.  Then when the current motion command completes, it would issue 
> > a single command with the distance value as the number of pulses times the
> > increment and set the count to zero again.
>
> Ray,
>
>  If i know I need to move .005" and my multiplier is set to .001", I
> need to move the wheel 5 clicks, but if I just need to move the axis about
> 12" or so I want to start spinning the wheel fast and slow down as I near
> the
> 12" point. The axis will move fast when I'm spinning it fast and move slow
> when I'm spinning it slow. But most of all I want it to stop moving when I
> stop spinning.  Kind of a continious move as long as the wheel is spinning
> with the axis speed tied to the rate of the incomming pulses.

Yours is a very common way of thinking about the operation of a handwheel.  
It is more like the notion of the joystick.  From a service standpoint, I 
want the wheel to move 0.0100 when I command it to so that I can see axis 
problems.  Most of the handwheels I've worked with use fixed increments.  The 
exception that I've seen is the Turner control that Roland Friestad sells. 

> Perhaps a DRO board could be used to count up the pulses. Poll it every
> 10 msec or so, seems it would be easier than trying to catch every pulse
> that hits the parallel port.
>
>
> #Start Poll of DRO board
> Set NumberOfPulses = Pulses From DRO Board
> If NumberOfPulses < 10 Then feedrate = X
> If NumberOfPulses > 10 and < 100 Then feedrate = X *2
> If NumberOfPulses > 100 and < 1000 Then feedrate = X *3
>
> #Compare the pulse count with the last time I polled the port
> #If it's the same then issue a stop command, more or less
> #determines direction
>
> If NumberOfPulses = LastPollNumberOfPulses then Stop
> If NumberOfPulses > LastPollNumberOfPulses then Direction = 1
>     Send Continious command
> If NumberOfPulses < LastPollNumberOfPulses then Direction = 0
>     Send Continious command
>
> #Assign the new pulsecount to the old pulsecount variable for comparison
> #next time I poll the port.
> LastPollNumberOfPulses = NumberOfPulses

Sure, that'd work.  I was thinking of the software task and not using extra 
hardware.

Good stuff.

Ray



Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact