Hjälp mach3 home speed

Robot, CNC, Pneumatik, Hydraulik, mm
makino
Inlägg: 169
Blev medlem: 27 februari 2010, 19:54:50
Ort: Malmö
Kontakt:

Hjälp mach3 home speed

Inlägg av makino »

hej
jag vill ändra i mach3 så att när jag kör hem axlarna i maskinens nollpunkt så den går i ca 2000mm/min till brytaren och sen kryper av i ca 10mm/min

så som det är nu att den går snabbt på och av tror jag inte blir någon precision

är det någon som vet hur man programerar om det?
Användarvisningsbild
ghost_rider
Inlägg: 2211
Blev medlem: 26 maj 2008, 21:48:15
Ort: Genarp

Re: Hjälp mach3 home speed

Inlägg av ghost_rider »

borde inte det gå att lösa med soft limits och slow zone?
H.O
Inlägg: 5913
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: Hjälp mach3 home speed

Inlägg av H.O »

> så som det är nu att den går snabbt på och av tror jag inte blir någon precision

Har du kollat?

Jag kan tänka mig att den absoluta nollpunkten kan flytta sig något beroende på med vilken hastighet man kör (och hur "slöa" brytare man har) men det har väl inte någon större betydelse så länge positionen är reperterbar.

Det går inte att köra i olika hastigheter till och från brytaren så att säga. Men det går att göra så att den ref-kör två gånger med olika hastigheter. Det kräver dock lite makrokod. Jag kan visa dig hur man kan göra det men testa först om du verkligen behöver det.

ghost_rider,
Lite svårt det där. För att soft-limits skall fungera måste maskinen vara ref-körd. Annars vet den ju inte vart den är och således inte vart den skall börja bromsa för att inte kracha in i ändläget.
makino
Inlägg: 169
Blev medlem: 27 februari 2010, 19:54:50
Ort: Malmö
Kontakt:

Re: Hjälp mach3 home speed

Inlägg av makino »

det måste ju gå att köra i olika hastigheter
om man kanske döper om ref home knapparna och skriver ett nytt macro till dom,

eller det går att skriva om macrot som redan finns?
H.O
Inlägg: 5913
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: Hjälp mach3 home speed

Inlägg av H.O »

> det måste ju gå att köra i olika hastigheter
Nej det går inte göra så att den kör med en hastighet TILL switchen och en annan hastighet när den backar från switchen. Det är inte så enkelt som att med från ett macro köra axeln och i en loop vänta på att ingången går till. Om man gör SÅ får du nog problem med precisionen. Homingen i Mach3 (när man kör med LPT-porten alltså) är en funktion i LPT-port drivaren. Ingången för givaren kollas MINST lika ofta som det skickas en stegpuls till motorn. Därför är jag lite skeptisk till att repeterbarheten verkligen ökar för att man kör långsammare.

Det går, som jag skrev tidigare, att med ett nytt macro göra så den ref'ar varje axel två gånger - först med 2000mm/min sedan med 10mm/min.
makino
Inlägg: 169
Blev medlem: 27 februari 2010, 19:54:50
Ort: Malmö
Kontakt:

Re: Hjälp mach3 home speed

Inlägg av makino »

ja jag är kanske ute och cycklar,
vill du hjäpa till med en andra rep
H.O
Inlägg: 5913
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: Hjälp mach3 home speed

Inlägg av H.O »

Visst, det kan jag göra, men har du kollat hur mycket skillnad det gör i verkligheten?
Sätt upp en indikatorklocka och kör 10 ref-körningar i 2000mm/min (eller någon rimligt hög hastighet) och skriv upp hur stor skillnaden är sinsemellan. Dvs. nolla klockan efter första körningen, skriv upp +/-0.xxx för resternade nio körningar. Gör samma sak med en lägre hastighet. Hur mycket mindre diffar det mellan körningarna i den lägre hastigheten jämfört med den högre?

Vad har du för ref-brytare?

Jag är nyfiken då frågan du ställer har dykt upp ett par gånger och jag är inte helt övertygad om att en lägre hastighet verkligen gör det mer repeterbart.

Under tiden ska jag fila på ett macro som gör det i två omgångar med olika hastigheter.
makino
Inlägg: 169
Blev medlem: 27 februari 2010, 19:54:50
Ort: Malmö
Kontakt:

Re: Hjälp mach3 home speed

Inlägg av makino »

nollan flyttar sig ca 2mm om jag ligger på 5% resp 100% matning
annars ändrade det sig inte något när man repeterade
men det käns ändå bättre om maskinen inte går så stressigt, det är en stor maskin så jag vill vara säker på att det blir likadant alltid.
och någon dag kanske brytarna går lite trögare

och det är lite problem med mina brytare dom är för spetsiga så dom går förbi
dom ser ut ungefär som tecknen här ><
så jag får väl göra nya klackar
men det hade varit bra om den hade reffat två gånger
H.O
Inlägg: 5913
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: Hjälp mach3 home speed

Inlägg av H.O »

OK, då var det som jag förväntade mig. Dvs den absoulta positionen flyttar sig men reperterbarheten påverkas inte i någon större utsträckning.

Det här är inte testat i verkligheten, bara simulerat, men det "ska" fungera. Ta det försiktigt.

Kod: Markera allt

Option Explicit

' Skapa variabler för att lagring originalinställningarna.
Dim Default_X As Double
Dim Default_Y As Double
Dim Default_Z As Double

' Hämta originalinställningarna.
Default_X = GetParam("XRefPer")
Default_Y = GetParam("YRefPer")
Default_Z = GetParam("ZRefPer")

' Ref-kör axlarna med orignalinställningarna.
DoOEMButton(1024)  ' Ref Z
DoOEMButton(1022)  ' Ref X
DoOEMButton(1023)  ' Ref Y

' Ändra ref-speed till 5%
SetParam("XRefPer", 5)
SetParam("YRefPer", 5)
SetParam("ZRefPer", 5)

' Ref-kör axlarna igen, med den lägre hastigheten.
DoOEMButton(1024)  ' Ref Z
DoOEMButton(1022)  ' Ref X
DoOEMButton(1023)  ' Ref Y

' Återställ orignalinställningarna.
SetParam("XRefPer", Default_X)
SetParam("YRefPer", Default_Y)
SetParam("ZRefPer", Default_Z)
Notera att om du exempelvis nödstoppar mitt i refkörningen med den lägre hastigheten så kommer inte originalinställningarna att återställas.
makino
Inlägg: 169
Blev medlem: 27 februari 2010, 19:54:50
Ort: Malmö
Kontakt:

Re: Hjälp mach3 home speed

Inlägg av makino »

tackar,
men du var ska jag lägga den?
H.O
Inlägg: 5913
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: Hjälp mach3 home speed

Inlägg av H.O »

Välj Operator -> Edit Button Script. Då börjar de knappar som har ett script bakom sig att blinka.
Klicka på Ref All Home knappen för att öppna scriptet "bakom" den knappen.
Byt ut det som finns där mot koden jag postade.
Spara och stäng editorn.
Välj View->Save Current Layout för att spara ändringen tillbaka in i .set filen.

Notera att det nu bara är just DEN ref all knappen som har den nya funktionen.
makino
Inlägg: 169
Blev medlem: 27 februari 2010, 19:54:50
Ort: Malmö
Kontakt:

Re: Hjälp mach3 home speed

Inlägg av makino »

Ändrade lite här
men det funkar bara när man kör steg för steg
inte när man kör hela programmet då går den snabbt båda gångerna

Kod: Markera allt

Option Explicit

' Skapa variabler för att lagring originalinställningarna.
Dim Default_X As Double
Dim Default_Y As Double
Dim Default_Z As Double

' Hämta originalinställningarna.
Default_X = GetParam("XRefPer")
Default_Y = GetParam("YRefPer")
Default_Z = GetParam("ZRefPer")

' Ref-kör axlarna med orignalinställningarna.
DoOEMButton(1024)  ' Ref Z
DoOEMButton(1022)  ' Ref X
DoOEMButton(1023)  ' Ref Y

' Ändra ref-speed till 5%
SetParam("XRefPer", 5%)
SetParam("YRefPer", 5%)
SetParam("ZRefPer", 5%)

' Ref-kör axlarna igen, med den lägre hastigheten.
DoOEMButton(1024)  ' Ref Z
DoOEMButton(1022)  ' Ref X
DoOEMButton(1023)  ' Ref Y

' Återställ orignalinställningarna.
SetParam("XRefPer", 70%)
SetParam("YRefPer", 70%)
SetParam("ZRefPer", 70%)
H.O
Inlägg: 5913
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: Hjälp mach3 home speed

Inlägg av H.O »

OK, nu är det lite oklart.
Funkade det bra innan du ändrade men inte efter eller funkade det innan du ändrade heller?
Först tyckte jag det såg fel ut att du lagt till % efter siffrorna i SetParam-anropet men jag testade och det funkar tydligen det också - med det behöver inte vara där. Om du ändå "hårdkodar" en specifik hastighet så behöver vi ju inte spara originalinställningarna heller.

Jag har lagt till två grejjer. Dels en liten paus mellan det att parametern för hastighet ändras och själva ref-körningen startar. Inte helt säker på att den behövs men vi testar att ha med den. Det andra är att vänta tills Y-axel är ref-körd innan vi fortsätter.

Kod: Markera allt

Option Explicit
' Sätt hastighet till 70%
SetParam("XRefPer", 70)
SetParam("YRefPer", 70)
SetParam("ZRefPer", 70)

' Vänta på Mach3's update loop.
Sleep(150)

' Ref-kör axlarna med hög hastighet.
DoOEMButton(1024)  ' Ref Z
DoOEMButton(1022)  ' Ref X
DoOEMButton(1023)  ' Ref Y

' Vänta på att sista axeln ska bli färdig innan vi fortsätter.
While IsMoving()
Wend

' Ändra ref-speed till 5%
SetParam("XRefPer", 5)
SetParam("YRefPer", 5)
SetParam("ZRefPer", 5)

' Vänta på Mach3's update loop.
Sleep(150)

' Ref-kör axlarna igen, med den lägre hastigheten.
DoOEMButton(1024)  ' Ref Z
DoOEMButton(1022)  ' Ref X
DoOEMButton(1023)  ' Ref Y
makino
Inlägg: 169
Blev medlem: 27 februari 2010, 19:54:50
Ort: Malmö
Kontakt:

Re: Hjälp mach3 home speed

Inlägg av makino »

det blev likadant innan anledningen till att jag ändrade var för att se om det blev någon skillnad.

Nu fungerar det med det du gjorde,
men hur ska koden se ut för att hämta standard speed
jag tror att det blir bättre om den går hem sakta för att mina givare är så tajta så temperaturen i verkstan kan spela roll om dom går lätt eller trögt,
och går maskinen snabbt så kan det kanske skilja någon tia från dag till dag
har ej kollat detta, men det känns bättre nu
H.O
Inlägg: 5913
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: Hjälp mach3 home speed

Inlägg av H.O »

Precis som jag visade från början, med ändringarna i version två införda.

Kod: Markera allt

Option Explicit

' Skapa variabler för att lagring originalinställningarna.
Dim Default_X As Double
Dim Default_Y As Double
Dim Default_Z As Double

' Hämta originalinställningarna så vi kan återställa dom i slutet.
Default_X = GetParam("XRefPer")
Default_Y = GetParam("YRefPer")
Default_Z = GetParam("ZRefPer")

' Ref-kör axlarna med originalinställningarna.
DoOEMButton(1024)  ' Ref Z
DoOEMButton(1022)  ' Ref X
DoOEMButton(1023)  ' Ref Y

' Vänta på sista axeln.
While IsMoving()
Wend

' Ändra ref-speed till 5%
SetParam("XRefPer", 5)
SetParam("YRefPer", 5)
SetParam("ZRefPer", 5)

' Liten pause... 
Sleep(150)

' Ref-kör axlarna igen, denna gång med den lägre hastigheten.
DoOEMButton(1024)  ' Ref Z
DoOEMButton(1022)  ' Ref X
DoOEMButton(1023)  ' Ref Y

' Vänta på sista axeln.
While IsMoving()
Wend

' Återställ orignalinställningarna som vi "sparade" i början.
SetParam("XRefPer", Default_X)
SetParam("YRefPer", Default_Y)
SetParam("ZRefPer", Default_Z)
Skriv svar