[OT] 3d tisk ozubeni

Jaroslav Buchta jaroslav.buchta na hascomp.cz
Pátek Květen 3 07:23:10 CEST 2019


Tak uz jsem si to nakreslil, fakt to vychazi.
Jinak ted pouzivam 
https://github.com/openscad/MCAD/blob/master/involute_gears.scad a asi 
bez vyhrad, da se to hezky parametrizovat.
V priloze pokusny kod, kdyby si chtel nekdo hrat ;-)

Dne 03.05.2019 v 6:16 Jaroslav Buchta napsal(a):
> Dekuji, to je naprosto super manual, varianta v priloze vypada 
> zajimave, zkusim ;-)
>
> Jen mi vrta hlavou - napr. kdyz budu mit z_centr 10, z_kor 50, z_sat 
> vychazi 20 a satelity vyjdou rozmisteny pravidelne po 120 stupnich? 
> Nebo to proste jen pujde smontovat a pravidelne to nebude. Nejak si to 
> nedovedu predstavit, pokud neni z_centr i z_kor delitelne 3.
>
> Dne 02.05.2019 v 21:41 Michal Lukac napsal(a):
>>
>> Rozstupovy priemer oz kolesa(t. j. ten po ktorom sa kolesa odvaluju) 
>> je umerny poctu zubov:
>>
>> D = modul * poz_zubov
>>
>> takze: D_centr + 2*D_sat = D_kor
>>
>> takze zuby musia byt v pomere: z_centr + 2*z_sat = z_kor
>>
>> no aked cchete pocitat prevodovy pomer tak takto:
>>
>> je definovany vnut. prevod pomer planetoveho sukolesia.
>>
>> To je taky, ked unasac stoji a vstup je central a vystup je koruna.
>>
>> cize: i_v = i_ck(u) = -zk/zc  (! iv je zo znamienkom)
>>
>> _
>>
>> potom podla toho ktory clen sa zastavi mame rozny prevod a ten sa 
>> vyjadri podla tohoto prevodu iv takto:
>>
>> Ak sa zmenia posledne indexy navzajom je to 1-povodny_prevod
>>
>> ak sa zmenia prve dva indexy navzajim je to 1/povodny prevod
>>
>> chcem napr prevod vstup je koruna a vystup unasac ak stoji central:
>>
>> i_ku(c) = 1-i_kc(u) = 1-(1/ck(u)) = 1 - 1/iv
>>
>> chcem napr prevod vstup central vystup unasac ak stoji koruna:
>>
>> i_cu(k) = 1-i_ck(u) = 1-i_v
>>
>> atd...
>>
>> Ked cchete vytvorit z toho vonkajsieho ozubenia vnutorne, len 
>> odcitanim a nesedi vam to
>>
>> skuste zvacsit hlavovy priemer na vnut. uzubeni a hlavovy na 
>> vonkajsom ozubeni(satelite)
>>
>> zmensit. Pri takomto vytvoreni vnut. oz kolesa bocne krivky sedia ale 
>> nesedi ta cast v pate zuba preto treba posunut hlavove priemery. (no 
>> to ale zavisi ako je generovane to vonk. ozubenie - co vsetko sa tam 
>> berie v uvahu)
>>
>> a co sa tyka zmontovatelnosti takmusi platit (z_k+z_c)/pocet_sat = 
>> cele cislo
>>
>> alebo ked cchete este vacsi prevod spravte dvojity satelit viz priloha:
>>
>> tam je i_v = -(zk*zsc)/(zc*zsk)
>>
>> tu je potom podmienka zmontovatelnosti:
>>
>> (zk*zsc + zc*zsk)/(poc_sat * B) = cele_cislo
>>
>> B je najvacsi spolocny delitel zk*zsc a zc*zsk
>>
>> m.
>>
>> *From:*Hw-list <hw-list-bounces na list.hw.cz> *On Behalf Of *Jaroslav 
>> Buchta
>> *Sent:* Thursday, May 2, 2019 7:41 PM
>> *To:* hw-list na list.hw.cz
>> *Subject:* Re: [OT] 3d tisk ozubeni
>>
>> Zkusim, kazdy namet dobry. Nejak jsem to vytisknul a vubec to nesedi...
>>
>> IMHO musi byt nejake pravidlo v pomeru zubu vnejsi-saatelity-vnitrni 
>> aby sedely roztece. Nebo cim se to da ovlivnit? Kdyz menim modul, 
>> krome celkove velikosti se proporce zdaji stejne. A kdyz 3 satelity, 
>> tak vnejsi a vnitrni pocet zubu proste musi byt delitelny 3 ne?
>>
>> Zame je udelat vetsi prevod na drtic sladu, jako takovy vetsi mlynek 
>> na maso, chtel bych to honit malym KM a prevod je potreba odhadem 
>> docela velky a hlavne bych nechtel mit axialni sily na sneku.
>>
>> Dne 02.05.2019 v 19:35 Milan B. napsal(a):
>>
>>     On 01.05.2019 18:13, Jaroslav Buchta wrote:
>>
>>     A prečo nepoužijete toto:
>>     http://hessmer.org/gears/InvoluteSpurGearBuilder.html
>>
>>     Oko za oko, príloha za  prílohu - OpenSCAD zvláda DXF generovane
>>     touto stránkou (čo som sa taký generátor nahľadal...)
>>
>>     -m-
>>
>>
>>
>>         Zkousim udelat planetovou prevodovku a mam par nejasnosti,
>>         strojarum to asi bude jasne... Nahled v priloze (OpenSCAD)
>>
>>         - kdyz chci udelat ozubene kolo s vnitrnim ozubenim, staci z
>>         valce vykousnout kolo s vnejsim ozubenim? Nasel jsem projekt
>>         kde to tak delaji, zkusebni vytisk vypada, ze to funguje, ale
>>         zda se mi to divne...
>>
>>         - Mam vnejsi kolo, satelity a vnitrni kolo, je nejaka
>>         zakonitost poctu zubu a modulu? Se mi zda, ze to nejak
>>         automaticky vychazi, pocty zubu vnejsiho a vnitrniho kola
>>         logicky musi byt delitelne 3 pro 3 satelity a vychazi mi to
>>         pokusne treba 45/18/9, nebo 30/12/6 atp... Je nekde popsan
>>         princip, jak ty pomery pocitat?
>>
>>
>>
>>         _______________________________________________
>>         HW-list mailing list  -  sponsored by www.HW.cz
>>         <http://www.HW.cz>
>>         Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>>         http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>>
>>
>>
>>     _______________________________________________
>>
>>     HW-list mailing list  -  sponsored bywww.HW.cz  <http://www.HW.cz>
>>
>>     Hw-list na list.hw.cz  <mailto:Hw-list na list.hw.cz>
>>
>>     http://list.hw.cz/mailman/listinfo/hw-list
>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored bywww.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20190503/661dc25f/attachment-0001.html>
------------- další část ---------------

include <involute_gears.scad> 

precission = 15;    //30;
involute_facets = 10;   //20;
thick1 = 3;
pressure_angle = 25;
circular_pitch = 700;

zk_c = 10;
zk_s = 20;
zk_k = 50;


epsilon = 0.01;

function gear_radius(number_of_teeth, circular_pitch) = number_of_teeth * circular_pitch / 360;

function gear_outer_radius(number_of_teeth, circular_pitch) = gear_radius(number_of_teeth=number_of_teeth, circular_pitch=circular_pitch) + (circular_pitch/180);

function gear_inner_radius(number_of_teeth, circular_pitch) = gear_radius(number_of_teeth=number_of_teeth, circular_pitch=circular_pitch) - (circular_pitch/180);


module gear_c()
{
    gear(
			number_of_teeth = zk_c,
            diametral_pitch=false,
            pressure_angle = pressure_angle,
            clearance = 0.2,
			backlash = 0.3,
			circular_pitch=circular_pitch,
			gear_thickness = thick1/2,
			rim_thickness = thick1,
			rim_width = 2,
			hub_thickness = thick1,
			hub_diameter=10,
			bore_diameter=5,
			circles=8, 
            involute_facets = 20,
            twist=0,
            $fn=precission);
}

module gear_k()
{
    difference()
    {
        cylinder (h = thick1-epsilon, r = gear_outer_radius(zk_k, circular_pitch)+5, center=false);
        rotate([0, 0, 360/zk_k/2])
            gear(
                number_of_teeth = zk_k,
                diametral_pitch=false,
                pressure_angle = pressure_angle,
                clearance = -0.2,
                backlash = -0.3,
                circular_pitch=circular_pitch,
                gear_thickness = thick1,
                rim_thickness = thick1+epsilon,
                rim_width = gear_inner_radius(zk_k, circular_pitch),
                hub_thickness = thick1,
                hub_diameter=0,
                bore_diameter=0,
                circles=0, 
                involute_facets = 20,
                twist=0,
                $fn=precission);
    }
}

            
module gear_s(angle, angleg)
{
    rotate ([0, 0, angle])
        translate ([gear_radius(zk_c, circular_pitch)+gear_radius(zk_s, circular_pitch),0,0])            
            rotate ([0, 0, angleg])
                gear(
                    number_of_teeth = zk_s,
                    diametral_pitch=false,
                    pressure_angle = pressure_angle,
                    clearance = 0.2,
                    backlash = 0.3,
                    circular_pitch=circular_pitch,
                    gear_thickness = thick1/2,
                    rim_thickness = thick1,
                    rim_width = 4,
                    hub_thickness = thick1,
                    hub_diameter=25,
                    bore_diameter=15,
                    circles=6, 
                    involute_facets = involute_facets,
                    twist=0,
                    $fn=precission);            
}

gear_c();
gear_k();
gear_s(0, 360/zk_s/2);
gear_s(120, 360/zk_s/2 + 180/3);
gear_s(240, 360/zk_s/2 + 180/3*2);


Další informace o konferenci Hw-list