3D delta mechanika teszt

Tegnap megtörténtek az első tesztek a 3D nyomtató/gravírozó mechanikán.

Delta mechanika, 1Nm létetőmotorok, MXL bordásszíj, Beaglebone Black, LPT-Combo cape, LinuxCNC 2.6

A finomhangolás még visszavan, de stabil és megbízható a szerkezet minden eleme.
A sebességet 12.000mm/min-re korlátoztuk, majd megnézzük később mit lehet üzemszerűen kihozni.
Bőven elég lesz nemcsak nyomtatásra hanem gravírozásra is.

Many thanks to Machinekit Community: Michael Haberler, Charles Steinkuehler and all others for the great software and support

Posted in Hírek | Tagged , , | Leave a comment

Újdonságok a 2.6-ban: Körív illesztésű pályatervező

Mi várható a 2.6-os LinuxCNC-ben?

Jelenleg a 2.5.3 a LinuxCNC legújabb stabil verziója. Még nincs végleges kiadási dátum a 2.6-ra, de gőzerővel folyik a munka sok fronton. Pár érdekességről elöljáróban szeretnék beszámolni.

Körív átmenetes pályatervező (circular blending trajectory planner)

A jelenleg használatos parabolikus átmenetű (parabolic blending) trajektória tervező általánosságban jól működik, de vannak korlátai. Ezek közül az egyik, hogy csak egy szakaszt (egyenes vagy körív, vagy azok bármilyen kombinációja) tekint előre és nem veszi figyelembe a bejárandó pálya további részleteit a pályatervezésnél. Ennek következtében a nagyméretű programokban, ahol sok apró szakasz található – főleg gravírozásnál – jelentős kisebb a sebesség az elérhető elméleti maximumnál.

A Robert Ellenberg által készített új körív átmenetű pályatervezője a sok rövid szakaszból álló marópálya esetén jelentősen csökkenti a megmunkálási időt, köszönhetően nagyobb sebességeknek. A pályatervező alapértelmezésben 50 egymást követő szakaszt vesz figyelembe. A tesztelés kifejezetten jó eredményeket mutatott. Előfordult, hogy 35%-50%-kal csökkent a végrehajtási idő a jelenlegi pálytervezőhöz képest.

Ami még érdekesség, hogy a tesztelések során kiderült, hogy a Mach3 pályatervezője helyenként igen jelentős mértékben túllépte a programban beállított a maximális sebességet. Ez a határértékek jelentős megsértése és nem lenne szabad ilyennek előfordulnia. Lett is kisebb vihar ebből a Mach3 fórumokon. Az esetek nagy részében a nem jelent gondot, mert a léptető motoros rendszerek gyakorlatilag “elskilanak” ez felett, de szervók esetén ez már hibát eredményez. Nem véletlen, hogy a Mach felhasználók alig 5% használ csak szervókat.

Lássunk néháyn konkrét összehasonlítást a két pályatervezőről

Az alábbi képen egy gravírozás megmunkálási ideje látható a jobb oldali panelen:
Cycle time: 2:53:8 azaz majdnem három óra a megmunkálási idő

Screenshot from 2014-02-08 15-27-59

Ugyanez az új pályatervezővel: 1 óra 33 perc.

Screenshot from 2014-02-08 20-54-20

És itt egy videó, igaz eléggé gyenge minőségben, de a lényeg látszik: a jelenlegi pályatervezővel a maximális sebesség 100 egység körül van, az újjal ez bőven felmegy 400 fölé.

Rövidesen teszek fel majd saját teszt eredményeket is.

A következő részekben bemutatok egy-két ígéretes fejlesztést az új grafikus felületekről, megnézünk egy progamnyelvet, amivel sokkal átláthatóbb és olvashatóbb módon lehet G kódot írni, valamint lesz szó a BeagleBoneBlack újdonságairól is.

Posted in Cikkek | Tagged , , | Leave a comment

Mesa IV. Egyszerű konfiguráció Pncconf segítségével

Gyorsan az elején tisztázzunk egy-két fontos dolgot:

A Pncconf “varázsló” megkönnyíti az elindulást és a kezdeti konfigurálást egy kezdő számára, de messze nem lehet ezzel az eszközzel minden beállítást megtenni. A részletes finomhangoláshoz és az egyedi eszközök kezeléséhez a HAL és INI fájlok kézzel való szerkesztése szükséges. Nem kell ettől megijedni, csak kell hozzás egy kis gyakorlat, no meg az elején segítség.

Kétféle módon lehet megközelíteni egy CNC gép konfigurálását a LinuxCNC alatt:

1) Fogunk egy mintakonfigurációt a sok szimulációs vagy valódi, előre elkészített konfiguráció közül, amely leginkább közelít a gépünkhöz. Ezt a konfigurációt használva kiindulásnak lehet szépen módosítgatni a kívánt beállításokat egyenként.
2) A másik módszer a Pncconf program használata, ami egy “varázsló”-szerű dolog a Mesa kártyákhoz és ennek segítségével próbáljuk meg a lehető legjobban bekonfigurálni a gépünket. Én most ez utóbbi módszert mutatom be. Ezzel elkészítjük az alapbeállításokat. Utána már mindenképp kézzel kell módosítani a konfigurációs állományokat a végleges állapothoz.

Figyelem! A 7i43 kártyának már látszódnia kell a program felé, tehát azt kössük össze a párhuzamos porttal és gondoskodjunk a tápellátásról is, ahogy az előző részben azt tárgyaltuk. Mondani sem kell, hogy az összekötést a PC kikapcsolt állapotában szabad csak megtenni!

Tehát a menüből elindítjuk a Pncconf programot és létrehozunk egy új konfigurációt.

7i43_1

A következő oldalon már a lényegi részek kezdődnek:
Megadjuk a konfigurációnk nevét, a tengelyek elrendezését és a gépi mértékegységet. A szervó periódusidő maradjon a program által javasolt érték, majd ezután válasszuk ki a legördülő menüből a kártyánk pontos típusát. Az alsó részben a grafikus felületet tudjuk megadni, maradjunk az Axis-nál.

7i43-2z

Továbblépve a következő oldalakon a külső joystick, MPG és egyéb kezelőszervek majd a grafikus felület beállítása jön, de ezzel most nem foglalkozunk, simán átlépünk a következő lapra.

7i43-3

7i43-4

Ezen az oldalon a legördülő menüből kiválasztjuk a használni kívánt firmware verziót. Esetünkben ez az SVST4_12, ami 4 szervó hajtást és 12 léptető motoros vezérlést biztosít maximális kiépítettségben. A program felismeri a párhuzamos port címét, ahol a 7i43 elérhető. A PWM és PDM frekvenciákat hagyjuk az alapértelmezéseken. A “watchdog” egy őrkutya ami funkciójában a “charge pump”-hoz hasonló: “simogatni” kell megfelelő időközönként mert ha ez nem történik meg akkor “harap”, azaz letiltja a kimenő jeleket. Ez a funkció arra szolgál, hogyha valamilyen oknál fogva a Mesa kártya processzora nem küld jeleket a watchdog-nak, akkor baj van, tehát le kell állítani a vezérlést. Az alsó részben kiválasztjuk az enkóderek számát (ezt lehet használni pl. főorsó fordulatszám visszajelzésre), a PWM generátorok számát (főorsó meghajtás vagy egyéb PWM vezérlés) és a léptető generátorok számát. Mivel a képzeletbeli gépünkön három tengely van egy-egy léptetőmotorral, így itt 3 lesz.
Ha lenne valamilyen Mesa gyártányú meghajtó kártyánk akkor azt a jobb oldali szekcióban lehet kiválasztani

7i43-5z

Továbblépve az I/O Connector 3 fülre konfigurálhatjuk a P3 csatlakozó lábait. Az előbbi oldalon definiált 3 Step/Dir generátor már itt van, csak a “unused StepGen”-re kattintva a legördülő menüben kiválasztjuk, melyik valós tengelyhez rendeljük a Step/Dir generátort.

7i43-6

Az I/O Connector 4 fülön pedig ott van az enkóder és a PWM generátor. A többi láb szabad, arra használjuk amire szeretnénk.

7i43-7

Példának okáért definiáltam a P4 csatlakozón a 6. lábon egy X referencia/végállás bemenetet.

7i43-8z1

Ha megvagyunk a beállításokkal, akkor vissza kell menni a Configuration Page fülre és ott el kell fogadtatni a beállításokat az Accept components Changes gombra kattintva. Ezek után jönnek a tengelybeállítások.

A Step On-Time a Step jel minimális hossza (nanosec.), a Step Space a Step jelek közötti minimális idő, a Direction Hold az utolsó Step jel és a Dir jel irányváltása közötti minimális idő, míg a Direction Setup a Dir irányváltás és az azt követő első Step jel közötti minimális idő. Ezek a paraméterek a léptetőmotor vezérlőjének jellemzői, itt elő kell venni a vezérlő leírását és megnézni a pontos adatokat. Leírás hiányában pedig felülről közelítve próbáljunk megadni olyan értékeket amelyek realisztikusak.
A két Rapid Speed és Feed Speed Following Error értékeket hagyjuk az itt megadott értékeken. Ezek gyakorlatilag a vezérelt és valós pozíció közötti eltérés követési hibáit adják meg. Jelentőségük inkább a szervós rendszereknél van, mivel a léptetőmotoroknál nincs visszacsatolás, de ha túl alacsonyak ezek az értékek, akkor hibajelzést okozhatnak.
Az Invert Motor Direction a motor forgási irányának változtatására szolgál.
A Stepper Scale a lépték, azaz hány léptető impulzus (Step jel) kell ahhoz, hogy az adott tengely 1 gépi mértékegységet (esetünkben 1mm-t) elmozdujon. Ez egy kis matematikával kiszámolható. Tudnunk kell hozzás a léptetőmotor felbontását, a vezérlő mikrolépés beállítását, a golyós orsó vagy trapézmenet emelkedését és az esetleges áttétel nagyságát.

A maximális sebesség és gyorsulás értékei nem kívánnak különösebb magyarázatot. Elvileg van lehetőség azonnal tesztelni az adott tengely beállításait a Test / Tune axis gombbal, de a program ezen része még nem mindig működik hibátlanul, de azért érdemes megpróbálni hátha sikerül megmozgatni már most a motorokat.

7i43-9z2

Példa lépték számításra:
Léptetõ motor: 1.8 fok/lépés azaz 200 lépés/fordulat, Mikrolépés: 4,
Golyós orsó:16/5 azaz 5mm menetemelkedés fordulatonként, Áttétel: 1:3 (motor:hajtott tengely)
SCALE = 200*4*3/5 = 2400/5 = 480

Ha azonban valakinek szüksége lenne egy kis segítségre, vagy csak ellenőrizni szeretné a számításait, akkor kattintson a Calculate Scale gombra és az előbb említett értékeket beírva a program kiszámolja a léptéket. A Pulley Teeth sort kipipálva megadhatjuk a fogaskerék vagy bordásszíj áttétel arányát. Egy sorral lejjebb az áttételes hajtómű (Worm turn ratio) áttételezése adható meg. A Microstep Multiplication Factor vezérlőben beállított mikrolépés nagyságát jelenti. Metrikus emelkedésű golyós orsó vagy trapézmenet esetén a fordulatonkénti menetemelkedést (Leadscrew Metric Pitch) kell beírni miliméterben. Coll méretű orsóknál a collonként fordulatot kell megadni (Leadscrew Metric TPI). Végül a Motor steps per revolution a léptetőmotor fordulatonkénti lépésszámát jelenti. Ezekből az adatokból a program kiszámolja a léptéket és egyéb mozgási paramétereket.

7i43-9a

A StepLen, StepSpace, DirHold, DirSetup jelek könnyebb megértéséhez szolgál az alábbi idődiagram:

steplen

A következő képernyőn a tengely végállásait lehet definiálni. Ezek a beállítások már részletesen dokumentálva vannak az Első lépések a LinuxCNC-vel leírásban, így itt nem térek ki rájuk.

7i43-9b

A további beállításokba sem megyünk most bele, csak végigmegyünk a többi képernyőkön és lementjük a konfigurációt.

Az így elkészült INI és HAL fájlokat érdemes egy kicsit áttanulmányozni. Meglepő, vagy inkább természetes módon nagyon kevés Mesa specifikus dolgot találunk csak itt, ami eltérne egy hagyományos párhuzamos portos konfigurációtól. Az INI fájlban semmi ilyen nincs is. A HAL fájlban is csak a HOSTMOT paraméterek, firmware és persze a jelek nevei utalnak a MESA kártyára. Ezzel csak arra akartam utalni, hogy nincs semmi különleges egy Mesa vagy LPT port konfigurálásában, pár hardver specifikus dolgon túl ugyan az a felület áll rendelkezésre minden esetben.

Most nekiláthatunk a tesztelésnek és további finomhangolásnak. Mindenképpen ajánlatos egy kis memória frissítés az INI fájl tekintetében. Készült egy mindenre kiterjedő leírás , ennek tanulmányozása sokat segít a dolgok megértésében.

Kívánok jó munkát a beállításokhoz és tesztelésekhez!

Posted in Cikkek | Tagged , , , | Leave a comment

Mesa: III. 7i43 jelszintek, lábak, csatlakozók

Régi elmaradásom szeretném pótolni a Mesa kártyákról szóló cikksorozat folytatásával.

Az első rész a Mesa kártyákról általánosságban szólt, a második pedig az architektúrát tárgyalta.

Most nézzük meg, milyen be-,kimenetek, csatlakozók és jelszintek vannak egy konkrét 7i43 vezérlőn.

A 7i43 többféle verzióban létezik:
1) 7i43H 400K kapuval, USB csatlakozóval,
2) 7i43-P 200K kapuval, párhuzamos port csatlakozóval,
3) 7i43-U 200K kapuval, párhuzamos port és USB csatlakozóval,
4) 7i43-U-4 400K kapuval, párhuzamos port és USB csatlakozóval.

Ebben a cikkben a 7i43-U-4 lesz a tesztalany, de gyakorlatilag ugyanígy kell kezelni a többi párhuzamos porttal rendelkező 7i43-at is. Az USB portos kapcsolat a 7i43 esetén LinuxCNC alatt nem támogatott. Létezik ugyan példa a használatára, de az már egy pilótavizsgás eset.

A 7i43 2db. 50 lábú csatlakozó felületet biztosít a külső eszközök csatlakoztatására, ebből kétszer 24 láb ami a gyakorlatban használható. Mind a 24 lábhoz tartozik egy GND (föld) láb. A GND lábak az áthallást hivatottak csökkenteni. Ezeken kívül marad még egy GND és egy Power (tápfesz) láb, így jön ki az 50 kivezetés.

20131222_082614.resized

A PWR (tápfesz), Done és Init státusz LED-ek szolgálnak az állapotok visszajelzésére.

Az összes jumper jelentése és beállításai az alábbiakban találhatók. A “LE” és “FEL” állásokat úgy kell érteni, ha a kártyát a képen látható módon tartjuk a kezünkben.

W1: Tápfesz választó a csatlakozók felé
LE:  3.3V tápfesz továbbítása a P3, P4 csatalokzók 49. lábára
FEL: 5V tápfesz továbbítása a P3, P4 csatalokzók 49. lábára
A csatlakozó MESA kártyák, leválasztók szintén 5V jelszintet használnak, így ilyen esetben az 5V-os beállítást kell alkalmazni. A P3 és P4 csatlakozókon levő elektronikai alkatrészek összes áramfelvétele nem haladhatja meg a 400mA-t.

W2: Buszfeszültség választó az összes I/O lábra
LE:  3.3V mód
FEL: 5V mód
A 3.3V mód nem tolerálja az 5V-ot. 3.3V módban a 4V-nál nagyobb buszfeszültség könnyen tönkreteheti az FPGA processzort.

W3: Felhúzó ellenállások használata
LE:  az I/O lábak lebegnek amíg az FPGA nem kerül beállításra
FEL:  az I/O lábak felhúzása 3.3V-ra amíg az FPGA nem kerül beállításra
Az 7i43-nak nincsenek felhúzó ellenállások a felhasználói I/O lábakon. Ez azt jelenti, hogy a lábak a beállításuk előtt definiálatlan állapotban vannak. Ezt elkerülendő a W+ átkötéssel az összes lábat fel lahet húzni. Így ha a W3 FEL pozícióban van, akkor az FPGA lábak, beleértve az I/O lábakat is 3.3V-ra felhúzásra kerülnek, azaz magas jelszintet kapnak. A gyártó által ez a mód a javasolt beállítás, hacsak ez nem okoz problémát a csatlakoztatott elektronikai berendezésekkel. Amikor az FPGA beállításra kerül miden I/O lábnat lehet le-, vagy felhúzásra programozni.

W4, W5:   Párhuzamos portos vagy USB kapcsolat
LE   LE  EPP mód – ez kell nekünk
LE  FEL  USB mód
FEL LE  EEPROM mód

W6: Tápellátás USB-ről vagy külső feszültségről
LE:  külső 5V tápfesz alkalmazása a P3, P4 csatlakozók felé
FEL: tápellátás az USB portról a P3, P4 csatlakozók felé

W7:   7i43 élesedés tápfesz meglétekor
LE:  a 7i43 csak az USB port feléledése után kap tápfeszt
FEL: a 7i43 tápellátás mindig engedélyezett

P5 JTAG csatlakozó:
Használata nem szükséges, így itt nem tárgyaljuk.

Külső tápfesz csatlakozó:
Ha az USB port áramellátása nem elégséges akkor ezt a csatlakozók kell használni a külső 5V betápra.

P4 be-,kimeneti csatlakozó:
Láb Funkció
1   IO0
2   GND
3   IO1
4   GND
5   IO2
.
.
47   IO23
48   GND
49   Tápfesz
50   GND

P3 be-,kimeneti csatlakozó:
Láb Funkció
1   IO24
2   GND
3   IO25
4   GND
5   IO26
.
.
47   IO47
48   GND
49   Tápfesz
50   GND

Ha minden beállítást kétszer lellenőriztünk, akkor összeköthetjük a kártyát a géppel:
1) 26-eres szalagkábel egyik végén IDC a máasik végén DB25 csatlakozóval a 7i43-tól a PC LPT portjához,
2) USB kábel a PC valamelyik USB csatlakozójától a kártyához (ha nem külső 5V tápot használunk)
3) 2 db. 50-eres szalagkábel a 7i43-tól a leválasztó kártyákhoz vagy direktbe a vezérleni kívánt eszközökhöz.

A sorozat következő cikkében a Pncconf programmmal “varázsolunk” egy kiinduló konfigurációt egy 3 tengelyes marógéphez.

Posted in Cikkek | Leave a comment