Gilbert Sparios Postat Mai 28, 2020 Partajează Postat Mai 28, 2020 (editat) 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. 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 Mai 28, 2020 de Gilbert Sparios Link spre comentariu
sesebe Postat Mai 28, 2020 Partajează Postat Mai 28, 2020 (editat) 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 Mai 28, 2020 de sesebe 2 Link spre comentariu
Gilbert Sparios Postat Mai 28, 2020 Autor Partajează Postat Mai 28, 2020 (editat) 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 Mai 28, 2020 de Gilbert Sparios Link spre comentariu
sesebe Postat Mai 28, 2020 Partajează Postat Mai 28, 2020 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
Gilbert Sparios Postat Mai 28, 2020 Autor Partajează Postat Mai 28, 2020 aha. da. atunci am înțeles ideea. nu știu să o scriu matematic, dar cod stiu. mulțumesc. Link spre comentariu
franzm Postat Mai 29, 2020 Partajează Postat Mai 29, 2020 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
cirip Postat Mai 29, 2020 Partajează Postat Mai 29, 2020 (editat) 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. delta este discriminantul functiei de gr. 2 Spor la programat! Editat Mai 29, 2020 de cirip 1 Link spre comentariu
sesebe Postat Mai 29, 2020 Partajează Postat Mai 29, 2020 (editat) 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 Mai 29, 2020 de sesebe Link spre comentariu
franzm Postat Mai 29, 2020 Partajează Postat Mai 29, 2020 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
daniels Postat Mai 29, 2020 Partajează Postat Mai 29, 2020 (editat) 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 Mai 29, 2020 de daniels 1 Link spre comentariu
d2134 Postat Mai 29, 2020 Partajează Postat Mai 29, 2020 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. 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. 1 Link spre comentariu
franzm Postat Mai 29, 2020 Partajează Postat Mai 29, 2020 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
d2134 Postat Mai 29, 2020 Partajează Postat Mai 29, 2020 (editat) 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 Mai 29, 2020 de d2134 Link spre comentariu
sesebe Postat Mai 29, 2020 Partajează Postat Mai 29, 2020 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
d2134 Postat Mai 29, 2020 Partajează Postat Mai 29, 2020 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
Postări Recomandate
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 contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum