cancel
Showing results for
Did you mean:
cancel
Showing results for
Did you mean:

Community Tip - Help us improve the PTC Community by taking this short Community Survey! X

13-Aquamarine

## Wheel climbing a ramp

I need to calculate a drive torque for a wheel climbing a ramp.

i can calculate this,  but my worksheet is not elegant and is heavy 😥 (probably, i'a m using matchad programmation not correctly)

Here is now i do

The ramp is cylindrical profil

in first time

now, i dicotomize a ramp ( arc lenght)

In second time. At this step, this is a mechanical problem

I assume the ramp angle is simply a/2 .

In fact, the ramp (red line, on the picture) is the tangent equation at the circle. the first point where we calculate a tangent is calculate with polar coordinates from dicotomized values.

I think my result its Ok

but i want more 😁

I want calculate all Traction forces and all associated torques for all dicotomized value.

in one program ?

and i want to draw all result

at this moment i am lost, can you help me

thank

attacher P6 file

1 ACCEPTED SOLUTION

Accepted Solutions
24-Ruby V
(To:XDN)

The maximum is not exactly at 22.5°:

Good thing that we have functions 🙂

32 REPLIES 32
13-Aquamarine
(To:XDN)

I wrote a nonsense😓

a/2 🤒  just a is ok

but how to do exit red value

13-Aquamarine
(To:XDN)

sorry i make a lot of rookie mistakes

good

24-Ruby V
(To:XDN)

13-Aquamarine
(To:Werner_E)

Great ! this is elegant !👍

24-Ruby V
(To:XDN)

When doing calculations with a set of values in vectors, you should use vectorization in your calculations (the arrow over the expression), otherwise the multiplication of two vectors yields the scalar product and not a vector with every vector elements multiplied.
I don't know if the pic below is correct from a mechanical point of view, but it shows what I mean. It would not be necessary to apply vectorization in the calculation of xN and yN as it would be automatically implicitly done by Prime, but its a good habit to use vectorization explicitly whenever you want it to be done.

Personally I find it a better idea to set up functions instead of doing calculations with vectors. Those functions need no vectorization as they are written to deal with normal scalar arguments. Only when you call those functions with a vector of elements as argument, you must vectorize that function call.

In the pic below I made the functions dependably only on alpha, but you may consider using radius and/or mass as additional function arguments for more flexibility.

Again: YOU have to check for mechanical correctness 😉

And while you sure ma plot one vector over another, having functions makes plotting quite easy and flexible

P6 worksheet attached

13-Aquamarine
(To:Werner_E)

Ok i undestand what you say ...

I continue to discover the Prime promming

13-Aquamarine
(To:XDN)

This was the first step ...

Now, i have 2 wheels:

i want to make a same calculus, but the normal forces (green arrow) are variable

the final goal is :

find the position (and the value) where max torque here.

when the wheel climbing a ramp, the orange force decrease, and the angle increase

24-Ruby V
(To:XDN)

Or maybe that way using the functions (see my answer above)

BTW, did you notice that you always have to add 1mm just because you forgot to add a unit to the radius R.wheel?

13-Aquamarine
(To:Werner_E)

😲 fantastic 👍

i use "1mm" in torque calculation, because, if i give the wheel radius with unit. my calculus don't work

probleme with rolling coefficient

i'm going to watch your file ...

13-Aquamarine
(To:XDN)

for the rest

i want to calculate normal force for each wheel

to do that, i need to calculate the coordinates to the center point of wheel

knowing, the center of gravity, when the P force are applied are invariant

coordinates : 0 is the center of gravity (and is a circle center)

CenterWheel1

Xw_1

Yw_1

CenterWheel2

Xw_2

Yw_2

Theorem of the resultant:

P1 + P2 + P = 0

Resulting moment theorem

Xw_1 * P1 + Xw_2 * P2 = 0

I want to make that for each angle

and finally i want to calculate the max torque value and is position on the circle

13-Aquamarine
(To:Werner_E)

d(alpha)/Rwheel it's wrong

the correct formulation is

roll coefficient /Rwheel ( not arc lenght)

i don't find a working solution, if i use : Rwheel with unit (mm)

except to remove the unit with fuction dimless

thank you for your work, I will be able to inspire me

13-Aquamarine
(To:XDN)

Sorry, now the mechanical problem is correct

there is no longer the correction of  1mm, it's mistake of me

13-Aquamarine
(To:XDN)

Werner, thank you for your help

your excellent sheet inspired me a lot

now, i have a simple and efficient worksheet!

very good 😀 ( write simple with function 👌)

the first part it's ok ... i'm going to the second part

Joule, is not a problem for me

1J is the energy for move 1Newton on 1Meter lenght

so 1J = 1N*m

13-Aquamarine
(To:XDN)

Anyone have an idea for calculate center wheel with this parameter

h ( distance with center tube, for example R=350mm)

WheelBase (for example 360mm)

Or, i think it's more simple tu use polar coordinates!🤔

we can calculate the center wheel point directly with polar coordinates

At the nominal position:

wheel 1 and wheel 2 are positionning with 45deg angle between verical axes

and use radius center wheel compared center tube

after this the angle increase (or decrease) with value of THETA angle.

24-Ruby V
(To:XDN)

Using Pythagoras you have h^2 +(Wheelbase/2)^2 = (R-R.wheel)^2

> wheel 1 and wheel 2 are positionning with 45deg angle between verical axes

I don't think so.

The angle rather is acos(h / (R-R.wheel)) = asin( Wheelbase /(2*Wheel_center_radius)), isn't it?

45° only if wheelbase = 2 * h

13-Aquamarine
(To:Werner_E)

I love your way of writing with functions

and finally , i calculate the center point coordinates with polar coordinates !

Now, i have a new problem

for the mechanical calculation i use a solve block !

how can i use this for all theta value ?

13-Aquamarine
(To:XDN)

another things.

In matrix N for example, it is possible to use millimeter  in place meter

another one : Thanks👍

13-Aquamarine
(To:XDN)

i find an example in this forum to use solve block with function

great !

But, now I don't know how to do with the N(theta) variables

🤔

24-Ruby V
(To:XDN)

@XDN wrote:

another things.

In matrix N for example, it is possible to use millimeter  in place meter

another one : Thanks👍

Unfortunately Prime doesn't allow to change the unit inside of a matrix. You can change it by typing the desired unit in the placeholder after the matrix, but this only works OK if all elements of the matrix have the same unit. In your case it fails because the first (header) row consists of strings.

If you can do without the header row it will work.

24-Ruby V
(To:XDN)

@XDN wrote:

I love your way of writing with functions

and finally , i calculate the center point coordinates with polar coordinates !

Now, i have a new problem

for the mechanical calculation i use a solve block !

how can i use this for all theta value ?

You may turn the solve block into a function dependent on the row number:

24-Ruby V
(To:Werner_E)

Just had a second look and the better way would be to make the solve block dependent on theta using the function x.p1 and xp.2 instead of the table lookup.

For a nicer table you may define two auxiliary functions which return just one of the two solutions each:

13-Aquamarine
(To:Werner_E)

Thanks ! very great 👌

Oh ! sorry , i don't see your last post, before posting

fabulous !!!!

13-Aquamarine
(To:XDN)

i don't understand correctly your auxiliary function🤔

do you can to explain me ?

the result is very great ! it's elegant !

13-Aquamarine
(To:XDN)

And finally

and to go further😃

find the maximal torque for wheel1 (climbing wheel)

and draw the corresponding graphics : maximum torque

maximum torque as a function of angle

dans variation P1 force as a function of angle

24-Ruby V
(To:XDN)

The solve block function res2 returns a 2x1 vector. If you call that function vectorized with a nx1 vector of theta values, you get a nested matrix, a nx1 vector where each element is a 2x1 vector. This may be undesired.

So I defined functions which call the solve block but only return one of the two result values. res_a the first one and res_b the second one, note the vector index at the end of the functions.

If one of this auxiliary functions is called with a vector of angles, the result is a simple vector.

The method is of course inefficient because for every single value of theta the solve block is called twice even though a single call already returns both values.

If the calculation would be very time consuming and the theta-vector would be very large, I would chose a different appraoch (unnesting the nested matrix). But in case of the fast calculation for just four values of theta i didn't bother 😉

13-Aquamarine
(To:Werner_E)

ooppsss , I hurried up

i have a probleme with forces calculation ... because load is variable ....

finally the result is wrong

i want calculate for theta value, maximum traction and maximum torque

13-Aquamarine
(To:XDN)

i'm a fool

now is correct

13-Aquamarine
(To:XDN)

it is possible to draw a wheel 1 at max torque position

and wheel 2 corresponding ?

24-Ruby V
(To:XDN)

@XDN wrote:

it is possible to draw a wheel 1 at max torque position

and wheel 2 corresponding ?

If you have center and radius of the circles this should be no problem.

Announcements
Top Tags