Hello Guest it is September 21, 2019, 07:53:07 AM

Author Topic: Non linear axis measurement...  (Read 3325 times)

0 Members and 1 Guest are viewing this topic.

Non linear axis measurement...
« on: May 27, 2009, 02:46:26 AM »
This might be a strange post, but if you have any ideas, please share them.

I have constucted a rotating bracket (see the attached schematic).
The movement is not given on the rotation axis (red dot),
but by a gear-pinion sytem at the edge of the bracket.

I want to measure degrees at this axis.
The movement method causes non linear measurement.
As the bracket goes to the edges of the pinion,
i need to travel more for the same change on degrees.

Can i touch the measuring system?
Or can you think any way to solve this problem, without changing the moving method?

Giannis

Offline jimpinder

*
  •  1,233 1,233
  • Wakefield, West Yorks, UK
    • View Profile
Re: Non linear axis measurement...
« Reply #1 on: May 27, 2009, 03:49:38 AM »
I cannot see how your motor gear stays in contact with the pinion - something must move to allow it to work.

If the pinion stays in the same position and some mechanism lengthens the bracket so the motor stays in contact, then the tangent of the angle subtended by the bracket{call this A} is the (distance along the pinion) divided by the (distance of the pinion from the centre {call this C}).

Therefore the (distance along the pinion) = TanA multiplied by C.

If however, your pinion moves to keep in contact with the motor, then the angles are constantly changing, and the calculations become much more difficult.

Not me driving the engine - I'm better looking.
Re: Non linear axis measurement...
« Reply #2 on: May 27, 2009, 05:30:13 AM »
Yes, the pinion stays at the same position and the bracket lengthens.

I agree with your calculations, it is the definition of tan(a).

My problem is how mach will move, showing at a DRO the real angle...
Re: Non linear axis measurement...
« Reply #3 on: May 27, 2009, 07:39:56 AM »
If I understand you correct you want to control the angle and not the linear movement.

If so, I would have fitted a servo motor system with an encoder measuring the angle of the rotating bracket, not the rotational position of the motor, giving feedback to the servo motor drive board. Such a system requires minimal or no backlash on your drive system but removes any complicated angle/linear conversion from Mach3. Mach3 will put out, and the DRO will accurately read, the position in degrees.

Offline jimpinder

*
  •  1,233 1,233
  • Wakefield, West Yorks, UK
    • View Profile
Re: Non linear axis measurement...
« Reply #4 on: May 27, 2009, 11:58:03 AM »
Steinar has a simple solution (and it might be easier) - but if you are set up with stepper motors, and no feedback, then you need to write a simple Macro and instead of using the simple G1 or G0 command, use the Macro instead.

If you are familiar with visual basic, then the logic would be (something) like this.
We will assume that the bracket starts in the vertical position (0). Two UserDRO's should be set up, one showing the current position and one in which to enter the desired position. The macro can be then placed on a button at the side of the second DRO. The axis should, as far as Mach is concened, still be in linear dimensions.

Start:
Enter desired position in 2nd DRO.
Press button
get desired position from DRO2
position = armlength*tan(new angle)
code "G0 x"&position
set DRO1 to equal DRO2


That is fairly simple, since Mach 3 will keep the present position of the pinion in linear form in it's DRO so you don't jave to recalculate it all the time.
The only problem is I have just remembered that I think vis basic uses radiams and not degrees in it's calculations.
You will have to work in some logic to reverse the arm to bring it the other way.









Not me driving the engine - I'm better looking.
Re: Non linear axis measurement...
« Reply #5 on: May 28, 2009, 01:30:58 AM »
Guys, thank you for the posts.
Very helpfull.
Finally i did something like you describe.

a=getuserdro(1000) 'At a user DRO i place the value in degrees
a=(3.14*a)/180 'i convert the degrees to radians (while the Tan function works with radians)
b=Tan(a)*730 'multiply the Tan by the bracket length
code "G0 X" &b ' Move to the new point

Works perfect!
Thank you.

Giannis