Indul a Mesa 7i43 bemutatása

Régebb óta tervben volt a Mesa 7i43 kártya ismertetése. Most körvonalazódni látszik a konkrétum.

Előre is köszönet a támogatásért Snecinek, aki felajánlotta, hogy segít ebben.

Belecsapunk a lecsóba és bemutatjuk egy-két minta konfiguráción keresztül, hogyan kell beállítani, használni.
Részletesen, (képernyő)képekkel, kezdőknek is érthető módon.

7i43

Hetente legalább egy cikk fog megjelenni és megpróbálunk kivesézni minden lényeges részt.

Majd’ elfelejtettem: kész a kártyához a leválasztó prototípusa, rövidesen jönnek a részletek!

Szeretettel várunk mindenkit!

Kategória: Cikkek | Hozzászólás most!

Esztergálás könnyebben?

Sziasztok!

Még egy kis türelmet kérek, aztán a nyár elejétől több időm lesz és ismét gyakran fog frissülni az oldal. Addig is beteszek egy képet egy nagyon ígéretes fejlesztésről. Kíváncsian várom én is mikor lesz elérhető. A képernyőkép az esztergálásról készült, de nem kétséges hogy a maráshoz is hasonló módon lehet használni majd a felületet. Érdemes kicsit elidőzni a részleteken!

Kategória: Hírek | 1 hozzászólás

CNC-zzünk Raspberry Pi-n

Csak idő kérdése volt, hogy mikor lesz elérhető megfelelő szoftver a Raspberry Pi-re. A processzor nem egy erőgép, vannak nála sokkal gyorsabbak is, de bizonyos kompromisszumokkal hobbi célokra teljesen megfelel. Ebben a cikkben egy kis áttekintést szeretnék adni, hogy mik a lehetőségek, merre érdemes elindulni.

Először is fontos tisztázni, hogy a Raspberry Pi-t egy ARM alapú processzor hajtja. Ez egy teljesen más architektúra mint amit a “hagyományos” számítógépeké. Asztali és notebook kategóriában van az ún. x86-os architektúra, kezdve az Intel 286-tól a x386, x486, Pentiumokon át a legújabb processzorokig. Természtesen ide tartoznak az AMD processzorok egy része is,
de vannak más, kevésbé ismert gyártók is.

Az ARM egy csökkentett utasításkészletű architektúra (RISC), ezért a kevesebb utasítást kisebb számú tranzisztorral lehet megvalósítaniami ami a következő előnyökkel jár:
a) kevesebb hő termelődik,
b) kisebb áramfelvétel szükséges a működéshez,
c) kisebb a helyszükséglete.

A Raspberry Pi mellett több említésre méltó ARM processzoros gép is elérhető:
a BeagleBone, BeagleBoard hasonlóan népszerű , és sokkal erősebb processzorokkal is elérhető. Sőt, a nagyobb mondellekben a léptetőmotoros hajtáshoz kiválóan használható PRU (programozható valósidejű egység) is megtalálható.

BeagleBone

Az OlixIno egy teljesen nyílt forráskódú hardver, ami azt jelenti hogy a nyák gyártáshoz szükséges dokumentáció is ingyen heozzáférhető. Nagyon ígéretes kezdeményezés.

OlixIno

A legtöbb mobiltelefonban ARM proci dolgozik, beleértve az Aplle iPhone 5-t is.

A Raspberry PI-hez van egy Debian linux alapú disztribúció, ez a Raspbian.
Jelenleg csak a Xenomai féle valós idejű kernel használható az ARM platformon. Ez a kiegészítés feltétlenül szükséges a precíz időzítések miatt. Egy részletes leírás készült arról, hogyan kell Xenomai kernelt és LinuxCNC-t fordítani az RPI-re.

Itt pedig látható működés közben egy RasPi gép.

Amit a konfigurációról tudni érdemes:
A processzor kevés egy teljes értékű LinuxCNC meghajtásához, így csak a minimálisan szükséges összetevők futnak rajta a többi komponens máshol lakozik, vagy másképp van megoldva:
1) Az AXIS grafikus felhasználói felület jelentős processzor teljesítményt igényel, így azt egy webszerveren futó miniEMC2 nevű alkalmazás helyettesíti, amit hálózaton keresztül böngészőből lehet elérni.

miniEMC2

2) Szintén nem elég gyors a processzor a megfelelő minőségű léptető jelek generálásához, így azt a feladatot jelen esetben egy 4$-os PIC processzor végzi.

16 db. általános 3.3V kimenete
15 db. ebből 5db. 5V kimenet és 4db. impulzusszélesség modulációra képes (PWM) kimenet,
4 step/dir jel generálására alkalmas kimenet (max. 80Khz)

BeagleBone vagy OlixIno kártyák esetén nem szükséges a PIC alkalmazása, mivel ezek egyrészt gyorsabb processzrroal rendelkeznek, másrészt a hardveres Step/Dir jelek generálásához beépített funkciók léteznek.

Kategória: Cikkek | Címke: , , , | Hozzászólás most!

Kézikerék (MPG) a második párhuzamos porton

Első lépésként, hogy derítsük ki a gépben levő második párhozamos port címét.

Terminál ablakba írjuk be ezt: dmesg | grep parport

Ahogy már volt róla szó, a dmesg kiírja az utolsó rendszerüzeneteket. Köztük van az a sor is, amelyikben a kernel felismeri a párhozamos portot. Tehát a rendszerüzeneteket betoljuk a grep parancsnak (egy függőleges vonallal: Alt-W), így csak azokat a sorokat kapjuk, amelyekben szerepel a parport szó.

Nekem ez valahogy így néz ki:
[ 12.019259] parport_pc 00:07: reported by Plug and Play ACPI
[ 12.019282] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE,EPP] . .
[ 12.185883] parport_serial 0000:04:00.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
[ 12.185905] parport1: PC-style at 0xdd00 [PCSPP,TRISTATE,EPP]

Ebből következik a két kártya címe: 1. 0x378, ez az alaplapi (0x1234 a hexadecimális cím megadásának formátuma) 2. 0xdd00, ez a PCI portos, és ezt kell konfigurálni.

Nyisd meg a HAL fájlt és ami eddig loadrt hal_parport cfg=0x378 volt az cseréld le erre: loadrt hal_parport cfg="0x378 0xdd00 in"

Ennek hatására az történik, hogy az első számú párhuzamos port címe marad, és mivel nem írtunk hozzá irányt (in, out) ezért alapértelmezetten kimeneti out míg a második port bemeneti lesz (in).

Majd a következő sor elé illeszd be a következőt: addf parport.1.read base-thread addf parport.1.write base-thread

Ha minden rendben van, akkor a LinuxCNC következő indításakor nincs hibaüzenet és felismerte a második kártyát.

Most egy kis kitérő, ugyanis definiálnunk a kezelőszerveket.

Feltételezzünk egy eléggé minimalista hardver konfigurációt:

1) Kézikerék (MPG): ennek van két betáp (5V, GND) lába és a két enkóder kimenete (A,B)

2) Tengely választó kapcsoló, minimálisan 3 tengely közül választanánk (X,Y,Z)

3) Lépés választó forgókapcsoló, amivel a lépés mértékét tudjuk állítani (1.0, 0.1, 0.01)

Ennek megfelelően a HAL fájl ezzel bővülne:

loadrt encoder num_chan=1
loadrt mux4 count=1

addf encoder.capture-position servo-thread
addf encoder.update-counters base-thread
addf mux4.0 servo-thread
setp axis.0.jog-vel-mode 0
setp axis.1.jog-vel-mode 0
setp axis.2.jog-vel-mode 0
setp mux4.0.in0 1
setp mux4.0.in1 0.1
setp mux4.0.in2 0.01
net scale1 mux4.0.sel0 <= parport.1.pin-09-in
net scale2 mux4.0.sel1 <= parport.1.pin-08-in
net pend-scale axis.0.jog-scale <= mux4.0.out
net pend-scale axis.1.jog-scale
net pend-scale axis.2.jog-scale
net mpg-a encoder.0.phase-A <= parport.1.pin-02-in
net mpg-b encoder.0.phase-B <= parport.1.pin-03-in
net mpg-x axis.0.jog-enable <= parport.1.pin-04-in
net mpg-y axis.1.jog-enable <= parport.1.pin-05-in
net mpg-z axis.2.jog-enable <= parport.1.pin-06-in
net pend-counts axis.0.jog-counts <= encoder.0.counts
net pend-counts axis.1.jog-counts
net pend-counts axis.2.jog-counts

A folytatásban elemezzük majd mit is jelentenk a fenti sorok.

Kategória: Cikkek | 1 hozzászólás