Sari la conținut
ELFORUM - Forumul electronistilor

Cate rotatii pentru a parcurge Distanta ?


Gilbert Sparios

Postări Recomandate

Asa cum probabil v-ati obisnuit, cele mai idioate si ciudate intrebari vin de la mine. Am spus sa nu va dezamagesc nici de aceasta data, asa ca..ma pun sa desir problema actuala.

 

thumb_calculez_infaruare.jpg

In partea stanga avem o teava in profil cu diametrul de 25mm si lungime 12mm, pe care prin infasurare/roluirea  se ruleaza/deruleaza o banda cu latimea de 10mm si grosimea de 1mm. 

 

Putem avea acces la cercul nostru de 25mm diametru in sensul ca putem controla sensul si numarul de rotatii la virgula. Ce vrem sa calculam este de exemplu:

 cate rotatii pentru ca obiectul sa coboare/urce 2000mm, sau 1250mm... etc. Ca sa nu ne complicam, vom alege doar ridicare cu teava goala. Consideram ca banda se va aseza perfect, ne gandim doar la problema matematica in sine.

 

La prima vedere pare ca putem calcula lungimea cercului. De exemplu pentru 2000mm.

  2000mm / 78.54mm(lungime cerc) = 25.46 rotatii.

Doar ca.. nu va fi asa. Grosimea benzii de sa zicem 1mm va influenta la fiecare rotatie, diametrul cercului.
Și atunci cum voi calcula ? Ce formula, ce progresie, ecuatie...?

 

Intr-un program as putea simula rotatiile si apoi incep procedura, dar eu as vrea sa pot calcula cu o formula matematica fara simulare.

Am ales sa simulez in Delphi7 - pascal si ar fi cam asa:

function calculeaza(diametru,grosime,distanta:double):double;
var
  raza, circumferinta:double;
  rotatii:double;
begin
 circumferinta := 0.0;
 raza := diametru / 2.0;
 rotatii := 0.0;

 while (circumferinta < distanta) do
  begin
    Application.ProcessMessages;
    circumferinta := circumferinta + (((2.0 * 3.14151926) * raza)*0.001);
    if (circumferinta > distanta) then
      begin
        result := rotatii;
        exit;
      end;
    raza := raza + (grosime*0.001);      
    rotatii := rotatii + 0.001;
  end; //while
end;

 

sau in Arduino

float calculeaza(diametru,grosime,distanta:float) {
	float circumferinta := 0.0;
	float raza := diametru / 2.0;
	float rotatii := 0.0;
	
	while(circumferinta < distanta) {
		circumferinta := circumferinta + (((2.0 * 3.14151926) * raza)*0.001);
		if (circumferinta > distanta) {
			return rotatii;
		}
		raza := raza + (grosime*0.001);      
		rotatii := rotatii + 0.001;		
	} // end.while
}

Result: 15,657 rotatii

 

dar as vrea sa stiu daca merge matematic..sau daca pot aplica un calcul si nu o "simulare" babeasca..

Editat de Gilbert Sparios
Link spre comentariu

Nu degeaba se făcea matematica serioasa la facultatea de informatica. 

Programarea nu înseamnă să iei de pe net funcții făcute de alții și conbinindu-le sa obții programul dorit. 

 

Pornești de la formula arcului de cerc (e greu sa o scriu de pe mobil) : lungime arc =PI*raza*unghi/180

Unghi de 360=o rotație. 

Acum apare problema dacă raza variază în trepte de cite 1mm sau putem considera o variație continua astfel incit la 360grade sa avem o creștere a razei de 1mm.

Raza o descrii cu o formula 12.5mm+360/unghi (variație continua a razei). 

Din formula rezultata extragi unghiul iar nr de rotații îl afli împărțind la 360. 

 

Te descurci mai departe? E greu sa scriu formule de pe mobil. 

Editat de sesebe
Link spre comentariu

perfect de acord. dar eu nu folosesc nici macar biblioteci...uneori ma inspir cu anumite aspecte, dar nu am folosit cod de-a gata decat o singura data. era asm..

nu am facut facultatea de informatica, am facut conservatorul de muzica asa ca...nu am avut ocazia sa invat ce mi-ar fi placut.(nu intram in detalii de ce)

una peste alta, stiu destul de multe pentru o persoana care a studiat doar muzica de la 4 ani pana la 26 ca scoala. ma intreb daca o persoana care a studiat facultatea de electronica stie tot atata muzica.

: ) glumesc, muzica nu este importanta acum. 

 

sa fiu sincer nu m-am prins inca..ce vroiai sa spui mai sus. sau cel putin nu vad unde este reflectata grosimea materialului acumulat.

poate cand ai mai mult timp sau, nu stiu..daca vrei.

ideea ca eu pot folosii cod ca mai sus, si este foarte precis din experimentele facute. dar mi-as dori sa fie ceva mai elegant totusi..

raza nu creste doar la fiecare 360º. creste linear, la fiecare unghi diferit, sau fractie de rotatie

Editat de Gilbert Sparios
Link spre comentariu

In formula cu care descrii raza domnule.

Nu te-ai intrebat dece am pus o formula acolo si nu am lasat simplu raza?

La fiecare rotatie completa (360grade) raza creste cu 1.

Link spre comentariu
Acum 5 ore, sesebe a spus:

La fiecare rotatie completa (360grade) raza creste cu 1.

Nu creste brusc,  pt ca ar însemna ca treapta ce corespunde începutului benzii sa se propage din strat în strat.

Link spre comentariu

Hai salut @Gilbert Sparios !

 

Acum 10 ore, Gilbert Sparios a spus:

Asa cum probabil v-ati obisnuit, cele mai idioate si ciudate intrebari vin de la mine.

Nooo. Stai la coada! Mai sunt si alti clienti la rand.
In ceea ce ma priveste, trebuie sa recunosc ca uneori ai niste idei (putine, da' fixe) care ma inspira sa-mi mai flexez bicepsul neuronului. Asta a fost una dintre ele.

 

Acum 10 ore, Gilbert Sparios a spus:

Și atunci cum voi calcula ? Ce formula, ce progresie, ecuatie...?

Paiii, iaca ce-am ticluit, destul de banal de altfel, dar dragut. Sa presupunem, ca o aproximatie simplificatoare, ca fiecare spira are diametrul cu 2 grosimi de banda mai mare decat spira anterioara. Pe baza acestei presupuneri, sa vedem ce lungime au primele cateva spire.

Notam:
D = 25mm; diametrul tevii
g = 1mm; grosimea benzii infasuratoare
Sn = distanta variabila pana la ce-atarna;

 

Lungimi Spire Individuale:

Spira 1 = PI*D
Spira 2 = PI*(D+1*2*g)
Spira 3 = PI*(D+2*2*g)
Spira 4 = PI*(D+3*2*g)
...
Spira n = PI*(D+(n-1)*2*g)

 

Intrucat diferenta dintre 2 termeni consecutivi este constanta si egala cu 2*g, rezulta ca avem de-a face cu o progresie aritmetica. Bun, sa fie primit! Si ce daca?

Pai, suma primilor n termeni ai unei progresii aritmetice este Sn = n*(a1 + an)/2
Aplicand formula in cazul nostru, rezulta:
Sn = n*(PI*D + PI*(D+(n-1)*2*g))/2

Expandand egalitatea si re-aranjand termenii dupa puterile lui n, rezulta ecuatia de gr. 2 in n:
PI*g*n^2 + PI*(D-g)*n - Sn = 0

Radacinile ecuatiei de gr. 2 vor fi:
n1,2 = (-PI*(D-g) +/- SQRT((PI*(D-g))^2 + 4*PI*g*Sn))/(2*PI*g)

Dintre cele doua radacini una va fi negativa si o dam la pisi; ramane sa o folosim pe cea pozitiva. Si uite asa am calculat de cate ori tre' sa invartim banda pe teava ca sa ruleze Sn metri.

 

Iaca si un test in excel, pentru o lungime Sn = S = 1000mm, ca sa verificam ca am calculat corect. Dupa cum se vede n = 9.5, ceea ce e undeva intre 9 si 10 spire, daca n e intreg.

In partea stanga este calculat n pe baza formulei deduse mai sus. In partea dreapta se calculeaza iterativ lungimea spirelor consecutive. La 9 spire avem 933mm, la 10 spire avem 1131mm. Deci n = 9.5 calculat e cam pe-acolo.

spireGilbertSparios.thumb.png.0c13d47ea6d724291c96266c44c10b23.png

delta este discriminantul functiei de gr. 2

 

Spor la programat!

 

 

 

 

Editat de cirip
Link spre comentariu
Acum 11 ore, sesebe a spus:

Nu degeaba se făcea matematica serioasa la facultatea de informatica. 

Programarea nu înseamnă să iei de pe net funcții făcute de alții și conbinindu-le sa obții programul dorit. 

 

Pornești de la formula arcului de cerc (e greu sa o scriu de pe mobil) : lungime arc =PI*raza*unghi/180

Unghi de 360=o rotație. 

Acum apare problema dacă raza variază în trepte de cite 1mm sau putem considera o variație continua astfel incit la 360grade sa avem o creștere a razei de 1mm.

Raza o descrii cu o formula 12.5mm+360/unghi (variație continua a razei). 

Din formula rezultata extragi unghiul iar nr de rotații îl afli împărțind la 360. 

 

Te descurci mai departe? E greu sa scriu formule de pe mobil. 

 

Am revazut postarea si am o greseala: Raza =12.5+180/unghi

Din pacate pt aflarea unghiului si implicit a nr de rotatii trebuie rezolvata o ecuatie de gradul 2.

 Ecuatia este:

180*PI*U^2+12.5*PI*U-180L=0    unde U este unghiul si L este lungimea

Nr de rotatii = (-12.5*PI+sqrt((12.5PI)^2-4*180*PI*L))/(2*180*PI*360) = (-12.5*PI+sqrt(156.25*PI^2-720*PI*L))/(129600*PI) unde L este lungimea ceruta

 

Editat de sesebe
Link spre comentariu

Problema o constituie precizia ceruta si influenta aproximarilor simplificatoare.

Spirele nu sunt circulare ci au o forma ovoidala ce se apropie de un cerc pe masura ce creste numarul de spire.

Lungimea primei spire nu este data de diametrul tevii ci de diametrul pe care se înfasoara fibra neutra a benzii iar pozitia fibrei neutre depinde de diametrul de înfasurare, de grosimea benzii , de proprietatile acesteia, etc. La fel pentru spirele urmatoare. Pe masura ce creste numarul de spire, fibra neutra se apropie de pozitia mediana fata de fetele benzii.

Este deci necesar un compromis.

Link spre comentariu

Acolo ai o spirala plana sau spirala lui Arhimede. Gasesti acolo lungimea arcului.

https://math.wikia.org/ro/wiki/Spirala_lui_Arhimede

Uite un exemplu de calcul parametric folosit in prelucrari mecanice 

https://www.ttonline.ro/revista/masini-unelte/strategii-de-prelucrare-prin-frezare-prelucrarea-buzunarelor-circulare-prin-metoda-spiralei-plane-cu-doua-centre-algoritm-de-programare

Adausul de prelucrare il poti considera grosimea firului.

Editat de daniels
Link spre comentariu
Acum 14 ore, Gilbert Sparios a spus:

Asa cum probabil v-ati obisnuit, cele mai idioate si ciudate intrebari vin de la mine. Am spus sa nu va dezamagesc nici de aceasta data, asa ca..ma pun sa desir problema actuala.

 

thumb_calculez_infaruare.jpg

In partea stanga avem o teava in profil cu diametrul de 25mm si lungime 12mm, pe care prin infasurare/roluirea  se ruleaza/deruleaza o banda cu latimea de 10mm si grosimea de 1mm. 

 

 

Aici nu e nevoie nici de progresii, nici de integrale... E sufucient sa observam ca aria coroanei de cerc, vopsita maro in poza, este egala cu lungimea de banda infasurata inmultita cu grosimea benzii. Astfel problema devine una de clasa aVII-a.

Link spre comentariu

Si cum determinam aria coroanei de cerc din datele pe care le-a pus la dispozitie colegul: "Putem avea acces la cercul nostru de 25mm diametru in sensul ca putem controla sensul si numarul de rotatii la virgula"? (S-ar putea masura si procesa diametrul exterior al spiralei.)

Acum 2 ore, daniels a spus:

Acolo ai o spirala plana sau spirala lui Arhimede. ...............

Spirala lui Arhimede pleaca de la r=0, cea de fata de la r+kg (consideram ca nu se desfasoara banda pâna la zero, adica ramân câteva spire pe teava).

De asemenea, interesant ca aspect practic, banda poate intra în interiorul tevii (unde are loc si fixarea ei) pe o traiectorie spirala, în continuarea spiralei înfasurate pe teava. În acest caz spirala (ecuatia ei) pleaca de la r.

Link spre comentariu
Acum 10 minute, franzm a spus:

Si cum determinam aria coroanei de cerc din datele pe care le-a pus la dispozitie colegul: "Putem avea acces la cercul nostru de 25mm diametru in sensul ca putem controla sensul si numarul de rotatii la virgula"? (S-ar putea masura si procesa diametrul exterior al spiralei.)

Pai n-ai citit ce am spus? Aria coroanei e egala cu lungimea da banda infasurata (data) inmultita cu grosimea benzii (data si ea). Calculam diametrul exterior dupa formula ariei coroanei. Dupa aia aflam diferenta pe raza intre cele doua cercuri si impartim la grosimea benzii si aflam numarul de rotatii.

Ia si incearca sa vezi ce iese!

Editat de d2134
Link spre comentariu

Pai intrebarea era cum sa calculeze nr de rotatii ca sa poata trage cu roata o anumita lungime din sfoara care se infasoara pe roata.

Link spre comentariu
Acum 8 minute, sesebe a spus:

Pai intrebarea era cum sa calculeze nr de rotatii ca sa poata trage cu roata o anumita lungime din sfoara care se infasoara pe roata.

adica o lungime data

Ia incearca si tu ca nu dureaza mult!

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări