LPT-Combo cape: az első teszt sikeres

További részletek hamarosan.

Posted in Hírek | Tagged , , | 1 Comment

Upgrade 2.4-ről 2.5-re

A 10.04-es Ubuntuval (Lucid) az EMC2 2.4 települ. Azóta sok minden megváltozott, a program újabb verziója elérhető és EMC2-ről LinuxCNC-re változott a szoftver neve. Mindenképpen hasznos egy frissítés.

Röviden a következő lépéseket kell elvégezni az upgrade-hez:

1) A (System) Rendszer menüben az (Administration) Adminisztráció-n belül válasszuk ki a (Software Sources) Szoftver források-at. Itt a (Other Software) Egyéb szoftver fület kell kiválasztani

2) Töröljük vagy tiltsuk le a régi linuxcnc.org bejegyzéseket

3) Ezután alul a Hozzáadás gombra kattintva felveszünk egy új tárolót a következő paraméterekkel:
deb http://linuxcnc.org/ lucid base linuxcnc2.5 (Figyeljünk a szóközökre!)

4) Kattintsunk ezután a Forrás hozzáadása gombra

5) Fel fog jönni egy ablak, hogy frissítsük a tárolók információit, itt természetesen válasszuk az Újratöltés gombot

lucid-add-apt-line

Azután mentsük el a beállításokat és lépjünk ki a csomagkezelőből, majd parancssorban adjuk ki a következőket:

sudo apt-get update
sudo apt-get install linuxcnc

Fontos még tudni, hogy a névváltással a program alapértelmezett könyvtára is megváltozott:
Eddig a /home/felhasznalonev/emc2 volt, a 2.5-ös LinuxCNC-től a /home/felhasznalonev/linuxcnc lett.

A legegyszerűbb ha ilyenkor átnevezzük az emc2 könyvtárat linuxcnc-re
Az is megoldás, ha a emc2 könyvtárból a linuxcnc-be átmozgatjuk az előbbi tartalmát.

Érdemes belenézni még az INI fájlba, ugyanis ott lehetnek hivatkozások a régi könyvtárra. Ezeket értelemszerűen javítsuk ki.
Példa javítandó INI fájl részletre:
[DISPLAY]
PROGRAM_PREFIX = /home/cncuser/emc2/ncfiles

javítás után:
[DISPLAY]
PROGRAM_PREFIX = /home/cncuser/linuxcnc/ncfiles

Ha esetleg használtunk az emc2 alatt NGCGUI-t akkor az INI fájlból a következő sort kell eltávolítani:
USER_COMMAND_FILE = ./tkapp.py

Posted in Cikkek | Leave a comment

LPT-Combo cape BeagleBone Blackhez

A BeagleBone Black kitűnő választásnak tűnik automatizálási, adatgyűjtési és persze vezérlési feladatokra.
Van egy működő és folyamatosan fejlesztés alatt álló LinuxCNC image a Machinekit , ami gyakorlatilag ugyanaz mint a PC-s Ubuntu 10.04 LinuxCNC image, csak az ARM processzorra optimalizált verzióban. Le kell tölteni az image fájlt, bemásolni egy SD kártyára és már indul is a LinuxCNC a BBB-n.

A probléma csak az, hogy a BBB alapból 3.3V-os rendszer, emiatt illesztő kártya úgynevezett cape (a “cape” az egy illesztőkártya amivel a be/kimeneteket hozzuk ki és illesztjük) szükséges ha bármi TTL szintű eszközt hozzá akarunk csatlakoztatni. Van ugyan egy-két cape amelyek elvileg működnek, a gyakorlatban egy van, a BeBoPr . Ez támogatott a Machinekit-ben és elérhető, de az ára elég borsos .

Egy elektronikában jártas ismerőssel úgy döntöttünk, hogy készítünk egy olyan leválasztó kártyát, ami képes lesz meghajtani a 3D nyomtatókat és a hagyományos CNC gépeket is. Jelenleg itt tartunk:

LPT-Combo_cape2

LPT-Combo_cape1

A cape tartalmaz:
4db. Step/Dir kimenetet,
3db. termisztor csatlakozást,
6db. Ref./végállás kapcsoló be/kimeneteket,
3db. PWM kimenetet,
1db. LPT csatlakozót.

A cape BeBoPr kompatibilis lesz, így a LinuxCNC támogatás egyszerű és nem igényel sok konfigurálást.

Két különböző konfigurációban lehet majd használni:
1) A BBB és az LPT-Combo cape együtt kivált egy PC-t, ugyanis a meglévő párhuzamos kábelt csak át kell dugni az LPT_Combo kártyába és egy kis konfigurációs beállítás után minden működik ahogy eddig.

2) Az LPT-Combo cape-hez lehet csatlakoztatni a léptető motorokat, főorsó vezérlést, végálláskapcsolókat, vagy 3D-s nyomtató fejet termisztorral extrúderrel és a BBB így meghajt egy CNC maró gépet vagy 3D nyomtatót.

Az elektronikai terv tesztelés alatt van, napokon belül elkészül a prototípus.
Amint megmozgatunk vele valami CNC-hez közeli dolgot akkor jelentkezünk, reméljük hamarosan.

Posted in Hírek | 2 Comments

Mesa : II. A firmware és környéke

Ebben a cikkben áttekintjük, milyen szoftver és hardver elemekből épül fel a Mesa kártyákkal a vezérlés, elsősorban azonban a szoftveres részre koncentrálunk.

A türelmetlenek, vagy akiket nem érdekelnek a “tudományos” részletek, ugorhatnak egyből a oldal alján a HAL fájl tartalma részhez. :)

A kártyákhoz a gyártó HostMot2 nevű konfigurációs állományokat, firmware-t készített. A firmware nyílt forráskódú, hordozható és rugalmasan konfigurálható.

A HostMot2 firmware két részből tevődik össze: a hostmot2 meghajtó általános célú meghajtóból és az alacsonyszintű meghajtóból, ami PCI kártyáknál hm2_pci vagy 7i43 esetében hm2_7i43.

Firmware-be három fajta modult lehet beállítani. Általában ezt a gyártó készíti el, de van lehetőség saját modulok fordítására is:
a) PWM generátor
b) Step/Dir generátor
c) kvadratúra enkóder

A gyárilag lefordított firmware modulokat a program indításakor rendelhetjük hozzá a fizikai lábakhoz, kivezetésekhez. A fel nem használt modulok be-/kimeneti lábai felszabadulnak és általános célú I/O lesz belőlük.

Kártyák és ahozzájuk tartozó gyári firmware-k
3×20 (144 I/O): hm2_pci
24-csatornás szervo
16-csatornás szervo plus 24 Step/Dir generátor

5i22 (96 I/O): hm2_pci
16-csatornás szervo
8-csatornás szervo és 24 Step/Dir generátor

5i20, 5i23, 4i65, 4i68 (72 I/O): hm2_pci
12-csatornás szervo
8-csatornás szervo és 4 Step/Dir generátor
4-csatornás szervo és 8 Step/Dir generátor

7i43 (48 I/O): hm2_7i43
8-csatornás szervo (8 PWM generátor és 8 enkóder)
4-csatornás szervo és 4 Step/Dir generátor

Az 5i25 kártyák előre programozottan érkeznek a felhasználóhoz, így azokba firmware-t nem kell már feltölteni.

A fentiek egy kicsit bonyolultan hangozhatnak, de nézzük mindezt képekben:

7i43_architC

Vegyük sorban balról jobbra:

1) Az első a PC, rajta a Linux operációs rendszer a valós idejű rendszermaggal

2) A Linux alatt fut a LinuxCNC program

3) A hostmot2 és hm2_7i43 firmware-t betöltjük a LinuxCNC-vel. PCI kártyáknál (pl. 5i20, 3×20) a hm2_7i43 helyet a hm2_pci-t kell használni.

4) A PC párhuzamos porton kapcsolódik a 7i43 kártyához. Ez csak a 7i43 esetében van így, a többi Mesa féle FPGA kártya PCI vagy PCI Express felületen kapcsolódik, de ezen túl más architektúrális különbség nincs.

5) A Mesa 7i43 kártyába betöltjük az SVST_4 nevű BIT fájlt, ami leegyszerűsítve a PWM, Step/Dir, enkóder és általános I/O komponensek hozzárendelését végzi a fizikai lábakhoz.

6) A 7i43-hoz jelen esetben egy 7i42/TA leválasztó kártyán keresztül csatlakoznak a CNC gép vezérlési részei: kapcsolók, érzékelők, léptető motor vezérlők, stb.

A fenti rajz általánosságban igaz más Mesa konfigurációkra is. Egyszerűbb esetben és megfelelő elővigyázatosságnál kihagyható a 7i42/TA leválasztó, de a 7i43 helyére is kerülhet mondjuk az 5i20 kártya, a rendszer generális elvi felépítése ugyanaz.

Mindez egyesek számára elszomorítóan bonyolultnak hangozhat, de van egy jó hír:
A fenti architektúráról és a firmware részletekről nem feltétlenül kell tudni semmit! Ugyanis, két sort kell csak beírni a HAL fáljba, és az mindent elintéz a firmware-rel kapcsolatban. Sőt, ezt a két sort is beteszi helyettünk egy konfigurációs “varázsló” a PncConf.

A HAL file tartalma

Az általános célú modult kell először betölteni:
loadrt hostmot2

Majd következik a csatoló specifikus modul:
loadrt hm2_7i43 config=”firmware=hm2/7i43-4/SVST4_6.BIT num_encoders=1 num_pwmgens=1 num_stepgens=3″

A fenti sor azt mondja meg, hogy a 7i43-as kártya 400K kapus verzóját használjuk, a 4-szervo 6-stepper konfigurációval amiből lesz nekünk 1 enkóder, 1 PWM generátor, 3 Step/Dir modul, a többi pedig szabad felhasználású be-/kimeneti láb.

A következő cikkben már a 7i43 bekötésével, táp és vezérlő jeleivel foglalkozunk. Már ha addig nem ment el a kedve mindenkinek ettől a sok technikai részlettől 😉

Posted in Cikkek | Tagged , , | 2 Comments