» »

Linux CNC

Linux CNC

poweroff ::

Kolega si je doma izdelal CNC mašino. Vse skupaj krmili nek software, ki pa teče le pod Linuxom. NA spletni strani LinuxCNC je našel dva custom kernela za Ubuntu, vendar sta starejšega datuma in v njima ni podpore za vso strojno opremo, ki jo ima na računalniku (konkretno: mrežna in zvok).

Torej... problem je v tem, da bib ilo treba narediti nov custom kernel. Malce sem gledal tale postopek:
http://wiki.linuxcnc.org/cgi-bin/emcinf...

Problem je, da wget drugega linka ne dela. Poleg tega zadeva zahteva nek rtai modul... je morda kdo, ki ima kakšen novejši custom kernel v deb paketu oz. ve kakšno preprosto rešitev za namestitev potrebnega softwera na kakšen novejši Ubuntu?
sudo poweroff

Phoebus ::

Sicer linuxCNC ne poznam, ampak zakaj bi rabil poseben kernel? Če prav razumem ima neko userspace aplikacijo ki prebere "CNC" fajle in krmili mašino, right?
Torej je največ kar je "custom" kak kernel modul ki pride skupaj s cnc aplikacijo- torej bo najlažje vzet ta modul in ga skompajlati za navaden kernel...

poweroff ::

Ne razumem povsem zadeve, ampak menda rabi nek real time kernel support ali kaj, da krmiljenje motorčkov teče bolj gladko. Če inštaliram rtai modul, zadeva tudi ne začne delat...
sudo poweroff

Brane2 ::

NIsem se dokopal do detajlne shematike a videti je, da stvar direktno trajba stepperje in zato hoče real-time response.
On the journey of life, I chose the psycho path.

HAM ::

Sam sem uporabil BDI install iz te strani. In zadeva deluje.
Je pa tudi napisano za vsako distro posebej kaj moras narediti.
Tudi na Debianu RT deljuje bp kar se EMC-ja tice

poweroff ::

Hmm, obstaja kakšen junak, ki bi naredil deb paket za Ubuntu 9.04? :D

(Sam vprašam).
sudo poweroff

Icematxyz ::

S tem ne gre usposobiti realtime podpore na 8.04?

2.4. Building emc2 (realtime)

In seveda za prvič najlažje da se sname njihov LiveCD:

LiveCD

Prednosti:

-This install gives you all the benefits of the community-supported Ubuntu distribution as well as being automatically configured for EMC2.
-In pa ko bo to delovalo kot treba potem se razmišlja naprej?

Zgodovina sprememb…

Brane2 ::

A je kje shematika ?
On the journey of life, I chose the psycho path.

poweroff ::

Hmm, on je uporabil 8.04, vendar starejši kernel (-16, -24 pa ima podporo za eth in sound). Je pa stvar v tem, da se jaz na CN zadeve ne spoznam ama ništa, on se je pa z Linuxom začel seznanjat šele pred kratkim...

Brane: rekel je, da je načrt za kontroler našel nekje na netu. Sem mu itak rekel, naj se registrira tukaj gor, pa ga boš lahko direktno vprašal...
sudo poweroff

radioamater ::

Gre za to, da mora jedro direktno dostopati do paralelnega porta. Včasu DOS-a je to bilo samoumevno, danes ni več tako ne na win, ne na linuxu. Program preko paralelnega porta krmili krmilnik koračnih motojev, ki je lahko homemade ali kupljen. Shem je polno na netu, se pa da program nastavljati po mili volji. Pomembno je, da pozna krmilnik ukaza STEP in DIRECTION. Step je neka frekvenca na za to določenem pinu, direction pa je 0 ali 1 (0v ali 5v) za smer vrtenja (korakanja).

Zadeva najbolje deluje tako, da live cd instaliraš na trdi disk - gre za kompletno Ubuntu distribucijo z rtai podporo in instaliranim emc2 z vsemi frontendi.

Zgodovina sprememb…

Brane2 ::

Se mi je zdelo, da gre za nek crap na LPTju.

Pa ne bi bilo bolje stvar narediti s poštenim mikrokrmilnikom preko recimo mreže ?
On the journey of life, I chose the psycho path.

radioamater ::

Verjetno da se da, ampak se softwersko z real time kernelom da lepo delat.

Brane2 ::

Real time kernel ne bo nikoli imel te časovne ločljivosti, kot jo ima najnavadnejši PIC za 5EUR.

PC enostavno ni rojen za te zadeve...
On the journey of life, I chose the psycho path.

radioamater ::

Ja to že, ampak...

Krmilniki v domači izvedbi so itak vsi na PICih in Atmelih. Ampak samo za krmiljenje motorja. PC pa potrebuješ za "izvrševanje" G kode in vizualizacijo le tega. V emc2 naložiš G kodo, ki si jo napisal sam, prevedel iz *.dxf vektorske slike, jo ustvaril iz bitne slike itd... Potem program to G kodo spremeni v vektorsko sliko , da vidiš kako bo CNC stroj vrtal, frezal, stružil... No sočasno, ko prikazuje delovanje na monitorju pa preko paralelnega porta pošilja step in direction ukaze mikrokontrolerju v krmilniku koračnega motorja. Ti ukazi, pa so preračunani glede na uporabljen krmilnik, motor, morebitne prenose, dimenzije vretena itd.

Prednost emc2 (linuxcnc) je pa predvsem v tem da ogromno funkcij ponuja povsem brezplačno. Konkurenčne rešitve pa so zelo drage, saj se firmam ob besedi CNC očitno malo zrola in kasirajo kot nori.

Pravi profesionalci pa uporabljajo boljše rešitve kot je LPT port...

Brane2 ::

Že, ampak a ti prek LPTja krmiliš motorje dirrekt al samo pošiljaš ukaze tipa "dvigni glavo, pojdi na X,Y s pospeškom V in končno dovoljeno hitrostjo W itd" ?
On the journey of life, I chose the psycho path.

radioamater ::

PC preko LPT pošilja krmilniku motorja preko dveh pinov ukaza STEP in DIRECTION. Step je spreminjajoča se frekvenca, ki jo krmilnik motorja prevaja v korake. Višja fekvenca hitrejši koraki nižja frekvenca počasnejši koraki. Pin direction, pa ima stanje 0 ali 1, kar pomeni eno ali drugo smer korakov. Vsaka os ima svoj motor, vsak motor ima svoj krmilnik in vsak krmilnik ima svoja dva pina na LPT portu.

Brane2 ::

Potem "STEP" ni frekvenca, ampak to, kar mu že ime pove - step ali korak.

In če je tako, potem PC praktično neposredno krmili motorje, kar je slabo, saj je njegova časovna resolucija slaba proti resoluciji mikrokrmilnika.
On the journey of life, I chose the psycho path.

radioamater ::

Res je.

Ampak to počne dovolj dobro, tako da stvar v praksi deluje.

F2_Silberpfeil ::

Problem RTAI-ja je v tem, da ni samo custom modul ampak rabiš celo jedro novo.

RTAI uporablja mikrojedro ADEOS, ki teče na goli strojni opremi, linux in rtai procesi pa se v adeos vključujejo kot domene. Adeos je v bistvu razvrčevalnik, skrbi pa tudi za razpošiljanje interuptov ....

No na kratko, rabiš jero z rtai patchom, ki jedro spremi v tolikšni meri, da enostavno moraš prevesti celo jedro. Ker maš novo jedro moraš na novo prevesti tudi RTAI.

Jaz sem tega dosti dela za diplomsko nalogo (sicer na ARM procesorju) in ti laho povem da ni enostavno :). Zadeve se ne bom še enkrat lotil. Plus zelo dobro moraš poznati svoj računalnik, da lahko izbereš katere module potrebuješ. Zato je najbolje, da se zadeve lotita s prijateljem sama. Pa veliko veselja pri čakanju :P (jedro se orng dolgo prevaja).

Postopek je dokaj dobro opisan na: link in link

Brane2 ::

Saj pravim, ne najbolj racionalna poraba časa.

Trud, ki bi šel sicer v "realtime" obnašanje kernela je veliko bolje uporabiti za mikrokrmilnik, ki bo na koncu veliko bolje lahko krmilil motorje in tako ob sutrezni elektroniki dosegel veliko višje navore in hitrosti...
On the journey of life, I chose the psycho path.

radioamater ::

Glejte...

Meni zadeva krmili dva CNC stroja. Enega predelanega proxona in eno večjo zadevo.

Časa rabiš točno toliko, da namestiš na disk Ubuntu, ki vsebuje vse potrebno.

http://www.linuxcnc.org/hardy/ubuntu-8....

Motorji na večji mašini so različni. Največji kuri pri bipolarnem krmiljenju 6A na fazo, napetost na krmilniku pa je 55V (krmilniki so Geckodrive), tako da je navora čez glavo...

Edit: Dodatek + slovnica ...

Zgodovina sprememb…

brez-imenko ::

Mene pa zanima če je spodnja shema primerna za STEP in DIRECTION ali je to povsem svoja zadeva in bi bila mogoče pogojno uporabna samo za TurboCNC?
 ULN2003A

ULN2003A


Malo je problem, če ti pride na misel, da bi mogoče krmilil naenkrat 5 motorjev(5 axis) potem ti pa zmanka žic na paralelu, sploh pa če imaš samo COM port

Drugače če uporablja tale EMC2 samo STEP in DIRECTION kateri krmiilnik bi priporočali. Sam sem potem nekako razmišljal tudi o tem:
 shema

shema


Ampak ta mi žal ne pride v poštev, ker deluje nakako samo do 12V oz. naj bi podpiralo motorje do te voltaže. Piše da tudi več od 12V jaz pa imam 24V napetosti in nekje do 1A toka tako da nevem ali bi skurilo te čipe.
Saj to zgornja sem dal kot primer, ker potrebujem izključno samo ICje in ne PICje, ker s programiranjem PICev sem zelo bogi oz. nisem s tem nikoli imal izkušen me pa vsekakor zanima kakšnega adruinota dobit(BTW s prvo shemo se da potom njega krmilit koračnika). S spajkalnikom mi gre vseeno bolje pa tudi ploščico mislim, da mi nebi delalo problamov naredit, ko bi imel pri sebi nabavljen ves material.
www.podarimo.si pa lep pozdrav vsem, Janez


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Raspberry Pi z 10 milijoni prodanih enot ruši rekorde

Oddelek: Novice / Procesorji
4712386 (9732) TESKAn
»

cnc

Oddelek: Elektrotehnika in elektronika
153620 (3168) brez-imenko
»

Autocad na linuxih

Oddelek: Programska oprema
51308 (1155) 'FireSTORM'
»

Krmilje za koračne motorje.

Oddelek: Elektrotehnika in elektronika
85799 (5557) mjakop
»

Kubuntu in pregrevanje procesorja?

Oddelek: Operacijski sistemi
91399 (1210) G-man

Več podobnih tem