Sida 1 av 3

Extern styrning av CNC-fräs?

Postat: 16 februari 2006, 21:56:24
av Andax
Ursäkta den kryptiska rubriken. Många CNC program bygger på att programmet själv sköter stegningen av stegmotorerna via parallell porten. T.ex. Mach3 och turbocnc.

Är det någon som byggt en extern modul som t.ex. via serielina får kommandon hur den ska stega och sedan styr stegmotorerna. Ofta är ju en enklare processor mer kapabel att stega än en windowsbaserad maskin. Det känns lite fånigt att man ska behöva ha en 1GHz maskin för att stega några stegmotorer när det skulle gå att göra med en relativt enkel PIC.

Flashcut CNC kör ju enligt den principen, men deras protokoll över serieporten är ju hemligt. Så man måste ju köra med deras styrbox.
Finns det någon standard eller måste man implementera en g-code interpretator i PIC-en?

Såg i en annan tråd "Mach3 frågor" om att Gecko G100 skulle funka så.

Är någon intresserad att göra ett projekt av detta? Eller vet om något liknande?

Postat: 16 februari 2006, 22:19:04
av strombom
Javisst, jag gjorde det med en AVR. Endast linjär interpolering, inga cirkulära rörelser...

Där är kod och schema

http://www.altronix.se/elwiki/pmwiki.ph ... .CNCMaskin

Jag kände dock inte att jag hade tid att förfina det så jag köpte färdiga grejer till min maskin nu för några månader sedan

/Johan

Postat: 16 februari 2006, 22:23:02
av Fagge
Tidigare har jag har försökt små labba lite med att försöka styra en stegmotor med en gammal 68HC11 & försökt att implementera acceleration & de-acceleration, men där tog proccessorkraften slut trots en klocka på 20Mhz.
Det krävs en enorm tidsprecition för att få motorerna att rulla mjukt, & att få en vanlig PIC att reda ut detta & samtidigt styra minst 3 individuella motorer & läsa G-koden i förväg för att besluta om olika åtgärder för motorernas gång låter inte helt enkelt!.
Det krävs en riktigt pigg processor, eller änu bättre en PLD-krets som kan jobba parrarellt i block!.

Postat: 17 februari 2006, 18:56:31
av funkis
Jamen, om man kör med en packe 16 bits PWM kanaler och choppar klabbet
så får man väll en fasligt bra styrning?

Micro steppa kan man väll?

/Funkis

Postat: 17 februari 2006, 19:04:26
av funkis
strombom skrev:Javisst, jag gjorde det med en AVR. Endast linjär interpolering, inga cirkulära rörelser...

Där är kod och schema

http://www.altronix.se/elwiki/pmwiki.ph ... .CNCMaskin

Jag kände dock inte att jag hade tid att förfina det så jag köpte färdiga grejer till min maskin nu för några månader sedan

/Johan
Hur mycket gav du för den, ingick fräs motorn?

/funkis

Postat: 17 februari 2006, 19:12:23
av strombom
hoppas inte Andax blir sur för tråd-lånet men men

funkis: köpte den på www.easgmbh.de, ca 1000 euro. nej fräsmotorn ingick inte och jag köpte en ny för några månader sedan från proxxon. så här ser det ut nu http://bildz.altronix.se/mekpro/frasa1.jpg

Postat: 17 februari 2006, 21:09:01
av funkis
Kul, ser du att det ser ut som en dödskalle/ghosthead med
två prickar i underlaget som ögon som tittar up på fräsen! :)

Jag gillar din fräs skarpt, liten o go, men alldeles för dyr för mig!
Eldade du upp förra motorn?

/funkis

Postat: 17 februari 2006, 21:47:51
av strombom
nejdå, den var bara lite för klen, jag har den för manuella grejer nu: http://www.proxxon.com/images/produkte/28481.jpg

det är ingen dödskalle, det är vår fina robot min grupp i en kurs bygger http://bildz.altronix.se/mekpro/

Postat: 17 februari 2006, 21:52:07
av funkis
""Ser ut som en"". :)

Appropå "råbåt" ni ungdommar har det bra ni, på min tid fick man
sitta i en skokartong på motorvägen i hällande ösregn och knappa
dass basic på en ABC80 men tro inte att vi fick bygga nått kul till
styrkoden, näe, de var bara att ta nästa teori kapittel i boken.

Vilken jäkla skit skola/system man gick i, håhåjaja! :(

/Funkis

Postat: 17 februari 2006, 21:56:41
av matseng
strombom: Var har ni köpt dom där speciella "allhålls"-hjulen?

Edit: Ändade ordföljden till att bli normal svenska :-)

Postat: 17 februari 2006, 21:58:40
av strombom
hehe jodå, jag ser också att jag fräser någon i pannan :) scream

matseng: http://www.omniwheel.com/

Postat: 27 februari 2006, 19:30:25
av Andax
Strömbom,

Skickade du ner G-kod till microkontrollern eller? Vad använde du för interpolationsmetod. Bresenhams?

Postat: 27 februari 2006, 19:47:49
av strombom
Ja det var nog bresenhams linje-ritnings algoritm men jag utökade den med en z axel också.

Nej jag skickade inte g-kod, jag skickade en koordinat i taget, så jag hade planerat att mjukvaran i pc:n skulle dela upp cirkelrörelser och liknande i mindre rätlinjiga rörelser...

Postat: 27 februari 2006, 22:14:12
av tusse
Utan att kunna speciellt mycket om ämnet skulle inte HPGL vara en lösning.
http://www.luberth.com/cstep/hpgl.htm

Denna fick mig att bli impad...
http://www.luberth.com/cstep/PCBtest.htm

Postat: 27 februari 2006, 23:42:58
av Andax
Hittade ett paper som beskriver linjär interpolationen i 3D, inkl helix.

http://www.khwarzimic.org/takveen/helix.pdf

Har sedan suttit och lurat på hur man kan implementera detta effektivt och även kunna ta hänsyn acceleration etc.

Med hjälp av en timerinterrupt kan man generera en timer interrupt med ett programmerbart interval där intervallet är proportionellt mot 1/F, dvs låg feed rate ger lång tid. Hur den ska pulsa ligger som en byte i en buffer som den läser en gång per interrupt. Genom att se hur många värden som är kvar i bufferten kan man sedan ändra tiden mellan interrupten (decelerera) om de börjar ta slut.
(Egentligen sker två interrupt per puls, en vid starten och en vid slutet av pulsen, en fix tid efter starten, t.ex. 15 µs, det är totala tiden mellan två start interrupt som är proportionellt mot 1/F)

Skulle nu beräkningarna för att göra t.ex. helix interpoleringen ta längre tid per steg än k*1/F decelererar algoritmen automatiskt tills den hinner med.
Linjär interpolering lär den med den här metoden garanterat hinna med.