|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
folc Član
Pridružen-a: Pon 16 Nov 2009 21:25 Prispevkov: 678 Aktiv.: 3.86 Kraj: Nekje med NG in Tolminom
|
Objavljeno: Tor Jan 13, 2015 6:56 pm Naslov sporočila: LinuxCNC (EMC2) "ničenje" Z osi |
|
|
Pozdravljeni,
zanima me če ima kdo izmed vas izkušnje z kreiranjem gumbov po meri za LinuxCNC in sicer najbolj me zanimata gumba za "touchOFF" na z osi tako da ne delam na približno ko menjam rezkar.
Sam sem sledil navodilom ki so v priponki, tudi kodo sem malenkost popravil. Sedaj pa me moti, ker ob dotiku "probe" se aktivira in mi Z nastavi na debelino PCB ploščice. Vse lepo in prav, ampak ne razumem drugega dela kode, katero aktivira gumb in sicer G92 in g0z3 ...
G0 Z3 bi moral z os pomakniti na Z3 pa je ne, ko rezkar aktivira "probe" tam tudi ostane Z pa se nastavi na v mojem primeru Z1,52mm
koda izgleda nekako takole :
[HALUI]
MDI_COMMAND = G38.2 Z-2 f16
MDI_COMMAND = G92 Z1.52 // debelina ploščice
MDI_COMMAND = G0 Z3 // probe removal
MDI_COMMAND = G92 x2 y-.5
upam da sem jasen kaj me muči, in da kdo ve kje tiči problem.
PS: gre se za LinuxCNC 2.6
Opis: |
zip datoteka z naovodili in config datotekami |
|
Download |
Ime datoteke: |
configfiles.zip |
Velikost datoteke: |
18.81 KB |
Downloadano: |
3 krat |
_________________ elektrika je edina baba, k se ne pusti šlatat
Folc |
|
Nazaj na vrh |
|
|
folc Član
Pridružen-a: Pon 16 Nov 2009 21:25 Prispevkov: 678 Aktiv.: 3.86 Kraj: Nekje med NG in Tolminom
|
Objavljeno: Čet Jan 15, 2015 8:26 pm Naslov sporočila: |
|
|
bom drugače vprašal
mi upa kdo izmed vas pomagati s tem, da me usmeri kaj vse moram storiti, da bi gumb po meri (v mojem primeru "Z touch off") izvede spodnjo G-kodo.
Koda: |
%
G21 (metrične enote)
G91 G38.2 F350 Z-60 (1. spust Z osi do stika oz. max 60mm)
G90 G0 Z[#5063+2.5] (ob stiku se dvigne za 2.5mm)
G91 G38.2 F150 Z-3.5 (ponoven počasnejši spust do ponovnega stika oz. max 3.5mm)
G90 G0 Z[#5063+2.0] (višina stika + 2.00mm -> postavi se 2mm nad PCB ploščico)
G10 L20 P1 Z3.50 (postavi Z na trenutno višino ki znaša ploščica"1.50mm" + 2mm=3.50)
(debug, Rezkar se nazaja 3.50mm nad obdelovancem.)
%
|
PS. če je slučajno kakšna napaka u kodi me prosim popravite ..
_________________ elektrika je edina baba, k se ne pusti šlatat
Folc |
|
Nazaj na vrh |
|
|
bostjan 2 Član
Pridružen-a: Pon 05 Dec 2011 19:35 Prispevkov: 121 Aktiv.: 0.80 Kraj: Vače
|
Objavljeno: Čet Jan 15, 2015 11:13 pm Naslov sporočila: |
|
|
Bi po strani:
http://softsolder.com/2010/04/17/ugliest-tool-length-probe-switch-repeatability/
probal tole:
(Tool length probing test)
(--------------------)
( Initialize first tool length at probe switch)
( assumes metric units!)
O<Probe_Init> SUB
G49 ( clear tool length compensation)
G30 ( to probe switch)
G91 ( relative mode for probing)
G38.2 Z-90 F300 ( trip switch on the way down)
G0 Z1 ( back off the switch)
G38.2 Z-10 F10 ( trip switch slowly)
#<_ToolRefZ> = #5063 ( save trip point)
G90 ( absolute mode)
G30 ( return to safe level)
O<Probe_Init> ENDSUB
(--------------------)
( Initialize new tool length at probe switch)
( assumes metric units!)
O<Probe_Tool> SUB
G49 ( clear tool length compensation)
G30 ( to probe switch)
G91 ( relative mode for probing)
G38.2 Z-90 F300 ( trip switch on the way down)
G0 Z1 ( back off the switch)
G38.2 Z-10 F10 ( trip switch slowly)
#<_ToolZ> = #5063 ( save new tool length)
G43.1 K[#<_ToolZ> - #<_ToolRefZ>] ( set new length)
G90 ( absolute mode)
G30 ( return to safe level)
O<Probe_Tool> ENDSUB
(--------------------)
( Set up first tool)
G21 ( metric units)
(msg,Verify origin at indicator ball, hit Resume)
M0
(msg,Verify G30.1 above tool change switch, hit Resume)
M0
(msg,Verify blunt tool installed, hit Resume)
M0
O<Probe_Init> CALL
(debug,Initial tool length = #<_ToolRefZ>)
O100 REPEAT [10]
G0 X0 Y0
G0 Z0
(msg,Record indicator Z-axis reading, hit Resume)
M0
G0 Z5 (get air)
G30 (to tool change position)
O<Probe_Tool> CALL
(debug,Tool length offset = #<_ToolZ>)
O100 ENDREPEAT
M2
_________________ Ja še vedno se ne da... |
|
Nazaj na vrh |
|
|
folc Član
Pridružen-a: Pon 16 Nov 2009 21:25 Prispevkov: 678 Aktiv.: 3.86 Kraj: Nekje med NG in Tolminom
|
Objavljeno: Čet Jan 15, 2015 11:39 pm Naslov sporočila: |
|
|
trenutno delam po tem vodiču Klik
deluje vredu dokler je 1 vrstica ... problem se pojavi ker je več vrstic in nevem kako naj z enim gumbom izvedem zaporedje več MDI-COMMAND v datoteki custom_postgui.hal oz. postgui.hal v tem vodiču
če uporabim
Koda: |
net remote-z-off halui.mdi-command-00 <= pyvcp.z-off (prva vrstica)
net remote-z-off halui.mdi-command-01 <= pyvcp.z-off (druga vrstica)
net remote-z-off halui.mdi-command-02 <= pyvcp.z-off (tretja vrstica)
net remote-z-off halui.mdi-command-03 <= pyvcp.z-off (četrta vrstica)
...
|
se pojavi problem ker ne počaka, da se ukaz do konca izvede
@boštjan2 bom jutri stestiral to na mašini sedaj programiram prek virtualca GUI da stestiram jutri na sami mašini
_________________ elektrika je edina baba, k se ne pusti šlatat
Folc |
|
Nazaj na vrh |
|
|
folc Član
Pridružen-a: Pon 16 Nov 2009 21:25 Prispevkov: 678 Aktiv.: 3.86 Kraj: Nekje med NG in Tolminom
|
Objavljeno: Čet Jan 15, 2015 11:40 pm Naslov sporočila: |
|
|
PS .
kot gledam že obstoječe primere je zadeva v custom_postgui.hal datoteki takšna
Koda: |
# set up the z-axis touchoff button
net remote-z-axis-touchoff classicladder.0.in-00 <= pyvcp.z-axis-touchoff
# set to mdi mode
# show pin
net mode halui.mode.is-mdi => classicladder.0.in-01
# wait for motion to finish Use this file if you are using the EMC2 version 2.3.x or newer.
net in_pos motion.in-position => classicladder.0.in-02
# wait for motion to finish Use this for motion if you are using version 2.2.X or older of EMC2
#net in_pos motion.motion-inpos => classicladder.0.in-02
# mdi command 1 MDI_COMMAND = G38.2 Z-3 F16
net z-touchoff classicladder.0.out-00 => halui.mdi-command-00
# mdi command 2 MDI_COMMAND = G92 Z0.25
net z-zero classicladder.0.out-01 => halui.mdi-command-01
# mdi command 3 MDI_COMMAND = G0 Z1
#net rapid-away classicladder.0.out-02 => halui.mdi-command-02
# mdi command 4 MDI_COMMAND = G0 X-2 Y1
net zero-x-y halui.mdi-command-03 <= pyvcp.x-y_zero
|
a je ne razumem strukture točno
_________________ elektrika je edina baba, k se ne pusti šlatat
Folc |
|
Nazaj na vrh |
|
|
bostjan 2 Član
Pridružen-a: Pon 05 Dec 2011 19:35 Prispevkov: 121 Aktiv.: 0.80 Kraj: Vače
|
Objavljeno: Pet Jan 16, 2015 12:22 am Naslov sporočila: |
|
|
Folc, tudi jaz delam na LinuxCnc mašini, pa bom tole malce pogledal preko vikenda. Nikoli nisem potreboval touch probe.. Me pa zanima. Sem se pa zaj_ z hali ker sem dodal v sistem joypad za ročne premike.
Lp Boštjan
_________________ Ja še vedno se ne da... |
|
Nazaj na vrh |
|
|
folc Član
Pridružen-a: Pon 16 Nov 2009 21:25 Prispevkov: 678 Aktiv.: 3.86 Kraj: Nekje med NG in Tolminom
|
Objavljeno: Pet Jan 16, 2015 12:53 am Naslov sporočila: |
|
|
no če mi uspe javim jutri, potem me do ponedeljka ni (iskanje zaposlitve :'( ) zraven CNC-ja sem pa pri računalniku in prek virtualca testiram .hal datoteke
če ti kaj uspe se močno priporočam
_________________ elektrika je edina baba, k se ne pusti šlatat
Folc |
|
Nazaj na vrh |
|
|
folc Član
Pridružen-a: Pon 16 Nov 2009 21:25 Prispevkov: 678 Aktiv.: 3.86 Kraj: Nekje med NG in Tolminom
|
Objavljeno: Tor Jan 20, 2015 1:09 am Naslov sporočila: |
|
|
no zadevi sem nekako prišel do dna, bom pa še tu napisal kaj sem naredil, mogoče še komu pride prav.
Sledil sem temu vodiču: Klik Z avtorjem vodiča sva izmenjala tudi par besed na CNCZone forumu.
Namestitev:
ustvarimo novo "mašino" s pomočjo t.i. "Stepconf Wizard"
kjer v zavihku "Advanced Configuration" obkljukamo tako kot prikazuje spodnja slika A in B opcija !!
Konfirugacija datotek
vir:
1. custompanel.xml
Tu ustvarimo gumb po imenu "Touch Off Z" z ID-jem "o100" -> o kot črka O in NE kot številka NIČ !
Koda: |
<?xml version='1.0' encoding='UTF-8'?>
<pyvcp>
<!--
Include your PyVCP panel here.
The contents of this file will not be overwritten when you run stepconf again.
-->
<labelframe text="Zero Axes">
<button>
<halpin>"o100"</halpin>
<text>"Touch Off Z"</text>
<font>('fixed',10)</font>
</button>
</labelframe>
</pyvcp>
|
2. custom.hal
tu dodamo spodnjo kodo. Jaz sem predzadnjo in pred-predzadnjo vrstico zakomentiral "#" ker mi je javljalo napako da je probe že vklopljen. Predvideva da zaradi namestitve prej v "Stepconf Čarovniku"
Koda: |
#limits debounce to stop false triggers
loadrt debounce cfg=2
setp debounce.0.delay 100
addf debounce.0 base-thread
#net deb-probe-in debounce.0.0.in <= parport.0.pin-13-in-not
#net probe-in debounce.0.0.out
net probe-in => motion.probe-input
|
3. sledi konfiguracija naše <ime_mašine>.ini datoteke. <ime_mašine> smo določili v StepConfig čarovniku. moj primer je my-mill-01.ini
kjer pod [HALUI] dodamo t.i. MDI ukaz
Koda: |
MDI_COMMAND = o100 call
|
4. custom_postgui.hal
tu sem kopiral spodnjo vrstico
Koda: |
net remote-o100 halui.mdi-command-00 <= pyvcp.o100
|
5. za konec ustvarimo datoteko po imenu 100.ngc in jo shranimo v home/linuxcnc/nc_files . V tej datoteki se nahaja G-koda, ki jo poženem z pritiskom na gumb. Pomembno je da se koda nahaja znotraj <pre> ukaza in da je deklariran "podprogram" v mojem primeru o100 sub
Koda: |
[b]<pre>
o100 sub[/b]
#1 = 1.47 (PLATE THICKNESS)
#2 = 2 (UP OFF PLATE FOR 2ND TOUCH)
#3 = -3.5 (Distance depth for retouch)
#4 = 8.53 (offset)
G21 (uporabi metrične enote)
(DEBUG,PROBE is ACTIVE)
G10 L20 P0 Z0 ( Set current Z position to 0 so that we will always be moving down )
G38.2 Z-60 F450 (1st probe move)
G90 G0 Z[#5063+2.5](move #2 above PCB plate for 2nd touch)
G91 G38.2 F150 Z#3 (retouch max -3.5mm)
G90 G0 Z[#5063+#4] (Plate tickness + offset)
G10 L20 P1 Z10 (Set Z to current position = PCB + OffSet = 10mm )
(DEBUG,REMOVE TOUCH PLATE AND PRESS START TO CONTINUE)
[b]o100 endsub
</pre>[/b]
|
@bostjan 2 upam da ti kaj pomaga
_________________ elektrika je edina baba, k se ne pusti šlatat
Folc |
|
Nazaj na vrh |
|
|
bostjan 2 Član
Pridružen-a: Pon 05 Dec 2011 19:35 Prispevkov: 121 Aktiv.: 0.80 Kraj: Vače
|
Objavljeno: Tor Jan 20, 2015 4:06 pm Naslov sporočila: |
|
|
Hvala za tole! Malce kratek vikend je bil, pa ni šlo.
Veselo na delo!
LP Boštjan
_________________ Ja še vedno se ne da... |
|
Nazaj na vrh |
|
|
trot Član
Pridružen-a: Čet 18 Jan 2007 20:25 Prispevkov: 1270 Aktiv.: 6.05 Kraj: glej fogl
|
Objavljeno: Tor Jan 20, 2015 6:15 pm Naslov sporočila: |
|
|
Hvala za info, tudi meni bo tole kar prav prišlo... jaz sem ničenje ponavadi vključil kar v G kodo (sem naredil eno skriptico, ki je popravila Gkodo).
BTW, tole kar si zakomentiral... mogoče je bil problem, ker si potegnil signal iz negiranega vhoda parport.0.pin-13-in-not
Od kod pa si potem potegnil signal probe-in, če si ga zakomentiral:
#net probe-in debounce.0.0.out
net probe-in => motion.probe-input
_________________ lp, Klemen |
|
Nazaj na vrh |
|
|
folc Član
Pridružen-a: Pon 16 Nov 2009 21:25 Prispevkov: 678 Aktiv.: 3.86 Kraj: Nekje med NG in Tolminom
|
Objavljeno: Tor Jan 20, 2015 11:28 pm Naslov sporočila: |
|
|
ja jaz imam pin 13 za probe in in je "reverse" zato sem ga tu zakomentiral .. ker mi je javljalo napako da je že v uporabi, predvidevam da zaradi prednastavitve.
Drugače pa je celoten vodič tu Klik
PS: @trot ... tebi je uspelo uporabiti ničenje Z osi s pomočjo tegale članka kot si mi ga predlagal v sorodni temi ? namreč danes sem se malenkost igra s tem t.i. ProbeKins pa mi ni uspelo
_________________ elektrika je edina baba, k se ne pusti šlatat
Folc |
|
Nazaj na vrh |
|
|
folc Član
Pridružen-a: Pon 16 Nov 2009 21:25 Prispevkov: 678 Aktiv.: 3.86 Kraj: Nekje med NG in Tolminom
|
Objavljeno: Čet Jan 22, 2015 2:12 pm Naslov sporočila: |
|
|
Imam eno vmesno vprašanje, ki je seveda vezano na samo temo.
Dobil sem odličen primer, kako izdelati t.i. ploščico za dotik na internetu -> Klik do Primera katerega sem kopiral.
Zanima me če kdo ve oz. lahko potrdite moje sume, zakaj mi ko vežem LED diodo kot indikator za dotik na PCB plošči LinuxCNC ne zazna dotika. Namreč če je dotik brez LED diode vse deluje odlično. Hal meter lepo prikaže da je true oz. false signal. Če pa dam vmes LED diodo, dioda zasveti ob dotiku, a LinuxCNC signala ne zazna. Poskusil sem zraven vezati tudi upor a žal ne deluje. Sedaj pa bi rad prišel zadevi do dna zakaj ne in kakšna rešitev bi bila, razen dodatne žice. Je to mogoče zato, ker je LED dioda pol prevodnik ?
še podatki:
napetost na "probe" signalu je 5V
prek upora je sedaj cca 2.51V
če dodam diodo, dioda lepo zasveti, LinuxCNC pa dotika ne zazna.
V priponki še kaj sem naredil:
Opis: |
|
Velikost datoteke: |
1.04 MB |
Pogledana: |
3 krat |
|
_________________ elektrika je edina baba, k se ne pusti šlatat
Folc |
|
Nazaj na vrh |
|
|
bostjan 2 Član
Pridružen-a: Pon 05 Dec 2011 19:35 Prispevkov: 121 Aktiv.: 0.80 Kraj: Vače
|
Objavljeno: Čet Jan 22, 2015 2:45 pm Naslov sporočila: |
|
|
folc, to je premalo za logično 1. Kateri krmilnik imaš?
Ali imaš na žici 5V ko ni stika in 2 V ko je stik?
_________________ Ja še vedno se ne da... |
|
Nazaj na vrh |
|
|
folc Član
Pridružen-a: Pon 16 Nov 2009 21:25 Prispevkov: 678 Aktiv.: 3.86 Kraj: Nekje med NG in Tolminom
|
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 69 dni
Powered by phpBB © 2001, 2005 phpBB Group
|