Grzybek? F1 F2 i kontakt blisko

Encoder... jakieś postępy?
Why? wybranie za gwintem to jeszcze z klawiatury nie wyszło, na razie ino zmienne do tabelki je markująkamar pisze:Z drobnym błędemMlKl pisze:[ nawet mi do głowy nie przyjdzie robić fazki z ręki, jak mam procedurę, co toczy czopa z dowolnie ukształtowaną fazką. .Jak robi wybranie za gwintem - wjeżdza na głębokość prawidłowo , po skosie ale roztacza na szerokość też po skosie
Zanixi pisze: Ano! i o to MlKl chodzi, tylko, nasze są detale będą jeszcze trochę trudniejsze, dochodzi gwint, miejsce na uszczelkę z zewnątrz, otwór, miejsce na uszczelki wewnątrz.
Grzybek się przydaje, generalnie to mam tak zrobioną tablicę zasilającą, że napięcie włączam przełącznikiem przerzutowym - dopóki go nie włączę, tablica i cała elektronika CNC jest martwa. Jak włączam, to prąd idzie przez grzyba na elektronikę, i zapala się zielona kontrolka. Jak wybiję grzyba, zielona gaśnie, zapala się czerwona - prąd idzie tylko na nią, reszta elektroniki jest odcięta.Zanixi pisze:Ja se tą masę zrobię, albo do 0 wszystko ;P Bo tak to na co te pancerze wszystkie...
Grzybek? F1 F2 i kontakt blisko
Encoder... jakieś postępy?
Kod: Zaznacz cały
( ------------------------------ )
( korek )
( ------------------------------ )
( Z. Maciej Miki Bajkowski)
(---na podstawie kodu Kamara-----)
( Time-stamp: <2012-04-16 01:39> )
(info: Korek Crosman)
o<korek_crosman> sub
( ------------------------------ )
( Zmienne do tabelki )
( ------------------------------ )
(wszystkie wartosci w milimetrach)
#<srednica_surowego_walka> = #1 (=23 Średnica surowego wałka)
#<dlugosc_detalu> = #2 (=15 Długość gotowego detalu)
#<srednica_walka> = #3 (=22 Średnica gotowego detalu)
#<srednica_czopu> = #4 (=19 Średnica czopu)
#<dlugosc_czopu> = #5 (=8.2 Długość czopu)
#<glebokosc_fazki_czopu> = #6 (=1 Głębokość fazki czopu)
#<szerokosc_fazki_czopu> = #7 (=1 Szerokość fazki czopu, zero wyłącza)
#<glebokosc_fazki_walka_1> = #8 (=1 Głebokość prawej fazki kołnierza)
#<szerokosc_fazki_walka_1> = #9 (=1 Szerokość prawej fazki kołnierza, zero wyłącza)
#<glebokosc_fazki_walka_2> = #10 (=1 Głebokość lewej fazki kołnierza)
#<szerokosc_fazki_walka_2> = #11 (=1 Szerokość lewej fazki kołnierza, zero wyłącza)
#<planowanie_czola> =#12 (=0.1 O ile mm splanować czoło, zero wyłącza)
#<glebokosc_podciecia> =#13 (=0 Głębokość podciecia za gwintem)
#<szerokoszc_podciecia>=#14 (=0 Szerokośc podcięcia za gwintem)
#<szerokość_noza> =#15 (=2.5 Szerokość noża)
#<poczatek_z>=#16 (=0 Początek na osi Z)
#<szybkosc_posuwu> = #17 (=10 Posuw)
#<szybkosc_posuwu_odcinania> = #18 (=2 Posuw odcinania)
#<obroty_wrzeciona> = #19 (=1000 Obroty)
#<przybranie_materialu> = #20 (=0.5 Przybranie)
(koniec zmiennych)
#<baza_x> = [#<srednica_walka> + 2] (tu zjedzie w osi x noz po pracy, ustawić tyle, by można swobodnie zmierzyć, czy wyjąć materiał)
#<srednica_walka_do_fazki> = #<srednica_walka> (zmienna #<srednica_walka> zmniejsza się w trakcie wykonywania programu, zapamietuję ją więec w zmiennej do późniejszego fazowania)
M3 s#<obroty_wrzeciona> (wlaczamy wrzeciono)
(Planowanie powierzchni)
G0 z1
X[#<srednica_surowego_walka>+1]
Z#<poczatek_z>
X#<srednica_surowego_walka>
#<Current_Dia>=#<srednica_surowego_walka>
o60 while [#<Current_Dia> gt #<srednica_walka>]
o61 if [#<Current_Dia>-#<przybranie_materialu> gt #<srednica_walka>]
#<Current_Dia>=[#<Current_Dia>-#<przybranie_materialu>]
o61 else
#<Current_Dia>=#<srednica_walka>
o61 endif
X#<Current_Dia>
G1 Z-[#<dlugosc_detalu>+#<szerokość_noza>] F#<szybkosc_posuwu>
G0 X[#<Current_Dia>+0.5]
Z#<poczatek_z>
o60 endwhile
(Koniec planowania powierzchni)
(Planowanie czoła)
g0 z[#<poczatek_z> + 0.5]
g0 x[#<srednica_walka> + 0.5]
#<akt_pozycja> = #<poczatek_z>
o50 while [#<akt_pozycja> gt -[#<planowanie_czola>]]
#<akt_pozycja> = [#<akt_pozycja> - #<przybranie_materialu>/5]
o52 if [#<akt_pozycja> lt -[#<planowanie_czola>]]
#<akt_pozycja> = -[#<planowanie_czola>]
o52 endif
g0 z#<akt_pozycja>
g1 x0 f#<szybkosc_posuwu>
g0 z[#<akt_pozycja> + 0.5]
g0 x[#<srednica_walka> + 0.5]
o50 endwhile
(Koniec planowania czoła)
(Toczenie czopa)
G0 z[0.5-[#<planowanie_czola>]]
o100 while [#<srednica_walka> gt #<srednica_czopu>] ( wykonuj dopoki #<srednica_walka> wiekszy od #<srednica_czopu> )
#<srednica_walka>=[#<srednica_walka>-#<przybranie_materialu>] ( deklarowane zmniejszenie)
o102 if [#<srednica_walka> lt #<srednica_czopu>]
#<srednica_walka> = #<srednica_czopu>
o102 endif
G0 x#<srednica_walka> (ustawienie noza na pozycji )
z-[#<planowanie_czola>]
g1 z[[-#<dlugosc_czopu>]-[#<planowanie_czola>]] f#<szybkosc_posuwu> ( toczenie )
G0 x[#<srednica_walka>+0.5] ( odjazd od materialu)
z[0.5-[#<planowanie_czola>]] ( powrot na poczatek i wykonywanie ponowne )
o100 endwhile ( koniec toczenia czopa)
o110 if [#<szerokosc_fazki_czopu> gt 0] (procedura wykonania fazki na wytoczonym czopie, wykonywana tylko, gdy zadeklarowana szerokość fazki jest większa od zera)
x[#<srednica_czopu>-#<glebokosc_fazki_czopu>*2] ( wjazd do fazki na fi #<srednica_czopu>)
z[[#<poczatek_z>]-[#<planowanie_czola>]]
g1 x[#<srednica_czopu>] z-[[#<szerokosc_fazki_czopu>]+[#<planowanie_czola>]] f#<szybkosc_posuwu_odcinania> ( toczenie fazki na fi #<srednica_czopu>)
g0 x[[#<srednica_czopu>]+0.5]
o110 endif (koniec procedury fazowania krawędzi czopa)
o120 if [#<szerokosc_fazki_walka_1> gt 0] (procedura wykonania fazki na pozostałej krawędzi wałka, wykonywana tylko, gdy zadeklarowana szerokość fazki jest większa od zera)
g0 z-[[#<dlugosc_czopu>]+[#<planowanie_czola>]] x[#<srednica_walka_do_fazki> - #<glebokosc_fazki_walka_1>*2] ( dojazd do fazki na fi #<srednica_walka_do_fazki>)
g1 x[#<srednica_walka_do_fazki>] z-[[#<dlugosc_czopu>+#<szerokosc_fazki_walka_1>]+[#<planowanie_czola>]] f#<szybkosc_posuwu_odcinania> ( toczenie fazki na fi #<srednica_walka_do_fazki>)
g0 x[[#<srednica_walka_do_fazki>]+0.5]
o120 endif (koniec procedury fazowania pozostałej krawędzi wałka)
g0 x[#<srednica_walka_do_fazki>+1] ( dojazd do fazki na fi #<srednica_walka_do_fazki>)
(Podcięcie za gwintem)
o125 if [#<glebokosc_podciecia> gt 0]
g0 z-[[#<dlugosc_czopu>]+[#<planowanie_czola>]]
x[#<srednica_czopu>]
g1 x[#<srednica_czopu>-#<glebokosc_podciecia>] f#<szybkosc_posuwu_odcinania>
g0 x[#<srednica_czopu>-#<glebokosc_fazki_czopu>*2]
g1 z-[[#<dlugosc_czopu>]+[#<planowanie_czola>-#<szerokosc_fazki_czopu>]] x[#<srednica_czopu>]
g0 x[#<srednica_walka_do_fazki>+1] ( dojazd na fi #<srednica_walka_do_fazki>)
o125 endif
(Odcięcie detalu)
g0 Z-[#<dlugosc_detalu>+#<szerokość_noza>]
x#<srednica_walka_do_fazki>
o130 if [#<szerokosc_fazki_walka_2> gt 0] (procedura wykonania fazki po lewej stronie kołnierza, wykonywana tylko, gdy zadeklarowana szerokość fazki jest większa od zera)
g1 x[#<srednica_walka_do_fazki>-#<glebokosc_fazki_walka_2>*2] f#<szybkosc_posuwu_odcinania>
g1 x#<srednica_walka_do_fazki> z-[#<dlugosc_detalu>+#<szerokość_noza>-#<szerokosc_fazki_walka_2>] f#<szybkosc_posuwu_odcinania>
g0 Z-[#<dlugosc_detalu>+#<szerokość_noza>]
o130 endif (koniec procedury fazowania lewej strony kołnierza)
g1 x0 f#<szybkosc_posuwu_odcinania>
G0 z1
x10 z0 (zjazd do bazy)
M30
o<korek_crosman> endsub