Nyt on CNC-foorumin tukeminen helppoa!
Maksu onnistuu PayPalin kautta myös kortilla
Konemies kiittää

Käsikapula LinuxCNC:hen

Aloittaja Tugge, 21.01.14 - klo:22:40

« edellinen - seuraava »

0 Jäsenet ja 2 Vieraat katselee tätä aihetta.

Tugge

Nonniin. Tänään saa laitettua piirilevyt tilaukseen. Siinä tuleekin sitten viivettä, kun joutuu tuolta kiinasta tilailemaan.

Tässä on muutama kuva, miten levy tulee kotelon sisälle sijoittumaan:
http://sdrv.ms/1d3rFTQ

Tuo peliohjainsysteemi on ihan mielenkiintoinen, mutta siinäkin pitää mennä tuota hal-tiedostoa säätämään.


Tugge

No siinähän on juurikin ne asiat, mitä tässä tehdään. Tuo teensy-esimerkki on kyllä hyvä, kun siinä on tuolle samalle prossulle tehty valmiiksi toimiva esimerkki, niin ei pitäisi olla ongelmia saada sitä toimimaan. Kiitoksia näistä linkeistä.

masaV

#18
lueskelin tätä ja huomasin tuon atmel 32u4 piiristä puhuit ettei saa ??? just tilasin arduino micron ja leonardon (jotka käyttää juuri tuota piiriä sen usb hid takia) ei maksa valmiina levynä kuni 3-6€ kpl. Teensystä taas pyytävät törkeitä hintoja vaikka sama piiri siinäkin vain on. mitä itte tilasin noita ebaystä.vai oliko se banggoodilta. eli mieluummin käyttää halvemoina noita arduino micro tai leonardon kiinan kopio kortteja saa kaiken valmiina muuta kuin ohjelmat (ties mitkä) sisään, itekin kiinnostunut ja tilasinkin microja jo mutten vaan saa tajuttua miten tuon saa esim vain switch käyttöön tai vain encoderit käyttöön tai vain analog inputit käyttöön, eri korteilel siis eri inputit ja maksimi määrä mitä ottaa vastaan.

tuohon knu vielä osaisi tehdä sen ohjelman että saa usb hid käyttöön plug and play tuon pitäisi mennä pc/linuxiinkin . ohjeita kaivataan tuon käyttöön kyllä. uno sun muut mega kortit ei käy kun ei ole suoraan usb hid yhteensopivia mutta sisuskalut kokonaan uusiksi polttamlla käy tuohon käyttöön ei tarvis microon kuin johdot juottaa napeille/encodereille.
ite tarvisin yhden kortin peruskäyttöön eli hid tuettuun perus korttiiin eli 6 akselia potentiometer,+32 nappia/kytkintä.

toisen 16 encoderia ja jos tilaa jää niin nappeja lisää.

ja ehkä myöhemmin yhden vielä missä olisi nini monta potikkaa kiinni mitä vain saa siihen .

Maukka


awallin

wanhaa asiaa vuodelta 2006, jos nyt ketään kiinnostaa:
http://www.anderswallin.net/2006/11/jogging-emc2/

suorat johdot pyörältä ja napeilta (optoerottimien kautta) Mesa PCI-kortin IO linjoihin.

riski kaikenlaisissa USB, HID, microkontrolleri, ajuri yms virityksissä on että real-time tuntuma kärsii, ts. kone ei liikahda ihan siihen tahtiin mitä rattia vääntää.
tosin aika moni on kai linuxcnc-foorumilla kokeillut näitä USB-peliohjaimia ja tuntuma on ehkä riittävän hyvä.. myös video-editointiin myydään USB-pyröiä. ehkä ei käänny täysin 360-astetta mutta ainakin reilusti oikealle/vasemmalle jotka vastaa 2 tai 3 kelaus-nopeutta.
(hätä-seis nyt on eri asia, sitä ei kannata vetää minkää älykapulan, usb-johdon, ja userspace-ajurin kautta! mutta tämänhän kaikki jo tiesi...)

Jussik

#21
Terve

Tuota samaa on hiukan havaittavissa kaikissa noissa "user space" komponenteissa.
Itse laitoin normi pulssipyörän kiinni mesan kautta ja tuntuma on täydellinen.

Nyt on menossa projekti, jossa tein user space komponentin Advantech PCI-1710 kortille.
Siinä on 16 analogi- ja 16 digitaali-inputtia, sekä 16 lähtöä.

Sain näillä feed override:t ja jog speedit potikoiden taakse, mutta reaaliaika tuntuma näissä vähän kärsi.

Tarkoitus olisi siirtyä jollakin aika välillä mesan 7I65 korttiin ja sen rinnalla kahteen mesan io-korttiin.
Tällä paketilla saisi näppärästi hoidettua 6 servoa , karan ja pulssipyörät.
Loppu nopea IO jäisi käyttöliittymän tarpeisiin.
Tällöin kaikki IO olisi mesan reaaliaika komponentin hoidossa.

Tässä tuo nykyinen käyttöliittymä:
https://www.youtube.com/watch?v=4d0Cn98bVCA

Ongelma on vielä tuo HAL_UI:n ja AXIS käyttöliittymän yhteistoiminta.
Jostakin syystä nuo viestit mitä HAL_UI lähettää ei mene motion controllerille perille yhtä hyvin,
kuin AXIS_käyttöliittymän lähettämät viestit.

Videolta huomaa kuinka jokainen napinpainallus luetaan sisälle,
mutta aina liikettä ei tule tai liikkuu pitenpään kuin nappi on pohjassa.





masaV

leo bodnarilla on myös hyäv input kortti, johon saa helposti kaikki potikat,kytkimet,napit ja encoderit kytkettyä, tuota olen käyttänyt monessa ohjaimessa ja pelikoneissa myös, esim lentosimulaattorissa nyt tuo viimeisin kortti kiinni.

roivai

Terve,

Hitusen vanha ketju, mutta jatkanpa tähän omasta projektistani kun otsikko on täsmälleen oikea.

Rakentelin lähinnä koemielessä Wifi-käsikapulan. Vehje perustuu ESP8266 kiinaihmeeseen, eli muutaman dollarin wifimoduuliin ja lisäksi sisällä on STM32 mikrokontrolleri, eli ESP-moduulia käytetään vain Wifi-sarjaportti-adapterina. Sinänsä tuo toinen prossu on turha, olisihan homman voinut tehdä pelkällä ESP:llä ja jollain IO-laajentimella, mutta minulla oli toisen projektin tiimoilta melkein valmis softa STM32:lle ja myös siihen käypä LinuxCNC-ajuri, joten hyödynsin niitä. Kukaan vakavasti otettava koneistajahan ei toki laita mitään tällaista Wlanin varaan :) Mutta yllättävän hyvin tuo parin illan kokeilujen perusteella näyttää toimivan.

Pari kuvaa palikasta löytyy osoitteesta http://pekka.eu/cnc/pendant.

Kuten kuvista näkyy, niin palikasta löytyy perusjutut, eli juoksupyörä, sille akselin ja kertoimen valinta. Lisäksi neljä nappia ja neljä lediä, joista kaksi kertoo itse palikan tilasta ja kaksi on ohjelmoitavissa LinuxCNC:stä. Johdotus on.. noh, melko kaamea, mutta protohan tämä onkin. Kotelo on 3D-tulostettu, ei mikään ergonomian riemuvoitto sekään. :D

Softa on toteutettu siten, että kapula itsessään ei tiedä että mihin pinniin on kytketty mitäkin, vaan yhteyden muodostuksen jälkeen LinuxCNC-ajuri lukee konffaustiedoston ja kertoo kapulalle käytössä olevat pinnit ja niiden tyypit ja luo niitä vastaavat pinnit myös LinuxCNC:n HAL-kerrokseen. Näin voin siis vaikkapa lisätä ledejä tai nappeja niin kauan kun prossussa riittää pinnejä, mutta minun ei tarvitse ohjelmoida kapulaa uudestaan, rivien lisääminen konffitiedostoon riittää. Tällä hetkellä tuettuna IO-tyyppeinä on input, output ja quadrature encoder, jota tuon juoksupyörän lukemiseen tarvitaan.

Parin illan kokeilun perusteella tuo tuntuisi tosiaan toimivan ihan hyvin. Vaikka Wlan-tukiasema on eri rakennuksessa kuin jyrsin, eli parin ulkoseinän läpi mennään, signaali kuuluu kohtalaisesti. Toki jos kapulan ja tukarin väliin laittaa vielä reilusti metallia (kuten jyrsinkoneen), niin signaali lakkaa kuulumasta. Tämä siis toimii tällä hetkellä ESP-moduulin piirilevyantennilla. Tilauksessa on tuommoinen patukka-antenni jolla kuuluvuuden pitäisi vielä parantua. Ja jos sekään ei riitä niin laitan toisen wlan-tukarin tuonne pajan puolelle.

Virtaa tuo kapula saa kahdesta 18650-koon litium-kennosta. Laitoin kaksi, koska n. 7.4V jännitteestä on mukavampi tehdä 5V hakkurilla kuin yhden kennon 3.7V:stä. Virrankulutus näyttäisi olevan vähän yli tai alle 100mA riippuen ledien tiloista, eli n.2000mAh kennoilla pitäisi pystyä ainakin 15h toiminta-aikoihin. Harvoin tulee niin kauan koneistettua. :)

Ehkä nyt en suosittele kenellekään tämän tekemistä, saahan noita langattomia pulikoita netistä satasella, mutta jos jotakuta kiinnostaa toteutuksen yksityiskohdat niin kerron toki mielelläni lisää ja voin myös nuo lähdekoodit laittaa jakoon.

Pekka

Jussik

Terve

Aika kiinnostava, itse käytän langalista versiota ja käyttöpaneelin luku/ohjaus on PCI pohjaisella standardi IO kortilla.
Tuon kortin kanssa käytän Comedi kirjastoa ja kirjoitin pienen userspace softan IO ja AI tulojen lukuun.

Millainen softa palikka tuota langatonta lukee?

roivai

Mitään muuta softaa ei ole kuin tuo LinuxCNC-ajuri. Ohjauskone on toki samassa verkossa tuon Wifi-palikan kanssa, ja ajuri lähettää mokkulalle UDP-paketteja, joissa se kertoo outputtien tilat ja paketin saatuaan mokkula vastaa kertomalla inputtien tilat. Tällä hetkellä ajuri yrittää lähettää paketteja 50 kertaa sekunnissa, mutta en ole ihan varma, että pystyykö se siihen.

Tuo kapula tosiaan pyörii userspacessa. Alkaen versiosta 2.7 LinuxCNC:stähän löytyy myös tuki käyttää Ethernet-socketteja ja muitakin kernelin userspace-IO:ta reaaliajassa, kun käytetään Preempt-RT-tyyppistä reaaliaikakerneliä. Dokumentaatio aiheesta on aika surkeaa, mutta tuolta löytyy jotain: http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Uspace. Tällä konstilla on saatu ajettua mm. tuota Mesan Ethernet-pohjaista 7180-korttia. Mainitsinkin tuossa aiemmasta projektista STM32:lle. Yritin siis tehdä tuollaista reaaliaika-IO-korttia, ja jossain määrin onnistuinkin, mutta nyt projekti on hautautunut muiden alle.. Kirjoittelin aiheesta jotain juttua tuonne: http://pekka.eu/cnc/

Jussik

Terve

Käytössä itsellä on tämmöisiä:
http://www.adlinktech.com/PD/web/PD_detail.php?pid=20

Ja yks kortti jossa lisäksi analogi tuloja.

Nyt käytän COMEDI ajureita noiden korttien ohjaamiseen, mutta olisi mahtavaa jos saisi kirjoitettua suoraan reaaliaika palikan noille.
http://www.comedi.org/

Pystytkö tossa reaalipalikan ohjelmoinnissa  auttelemaan?

roivai

Täytyy kyllä sanoa, että saattaa mennä hitusen mun osaamistason yläpuolelle, ainakin jos tuon haluaa RTAI-kernelin kanssa toimimaan eli kernel-spaceen. Tuon Comedin dokumenttien mukaan kernelimoduulit ja tuki RTAI-kernelille on kyllä olemassa joten tehtävissähän tuo varmasti on, mutta mulla on siitä puolesta kokemusta täysin nolla. Tuolla uudella Preempt-RT-kernelillähän pitäisi onnistua teoriassa käyttämään melko suoraan tuota comedilibiä, joten siten ehkä vois osatakin. Mutta se, että millainen reaaliaikasuorituskyky sillä saadaan jää varmaan arvailun varaan. Olen siinä käsityksessä että RTAI-kernelillä suorituskyky jo lähtökohtaisesti on parempi.

Sen verran alkoi kuitenki kiinnostamaan että selasin ebaytä ja siellähän oli Thaimaassa myynnissä käytetty NI:n DIO-96-kortti parilla kympillä. Laitoin tilaukseen. :)

Jussik

#28
Terve

Mulla setuppina on 10.04 ubuntu ja uusin linuxcnc.

Toi 96 pinninen levy on siinä mielessä mahtava kapistus että ton käyttöliittymän pystyy rakentamaan suoraan sen varaan.
Jopa Feedoverridelle jää riittävästi nastoja... :)

Preempt-RT- ja RTAI....  Eikös tämä liity nyt jotenkin tuohon realiiaika pohjaan linukan puolella?
Mikkäs noiden käytännön erot on?

Sorviin kasailin juuri MiniITX koneen Mesan PCIe kortilla, siinä taas 4 ytiminen 64bit prossu joten pohjalla debian ja uusin linuxcnc.

Mulla on valmis palikka tuohon userspace puolelle, saat kyllä sen käyttöön ja jatkokehitystä varten.
Tuo Comedilib ei pysty asentamaan Rtai puolelle, ainakaan kovin helposti.
Muistaakseni vaati stdio.h ja se taas ei tuettuna reaaliaika puolella.
Joitain muista vastaavuuksia löisin, sen takia luovutin tuon tuohun ja siirryin userspace puolelle.
Siinäkin tuli rajoitus vastaan jotain asiaa ei pystynyt koodia kääntäessä tekemään ellei ollut 2.7.0 uudempi linuxcnc.







roivai

Lainaus käyttäjältä: Jussik - 16.09.16 - klo:08:46
Preempt-RT- ja RTAI....  Eikös tämä liity nyt jotenkin tuohon realiiaika pohjaan linukan puolella?
Mikkäs noiden käytännön erot on?

Käytännön saati teorian eroista ei minullakaan ihan hirveän syvällistä käsitystä ole. Reaaliaikakernelin toteutustapoja molemmat siis ovat. Jostain tiivistetysti luin, että RTAI on tavallaan oma, erillinen reaaliaikakernel, joka pyörii tuon linuxin kernelin sisällä. Tällöin sillä on myös tarkasti rajattu oma rajapinta mistä siihen pääsee käsiksi. Kuten sanoitkin, normaali userspace-io, kuten vaikka stdio.h ei pelaa. Tuo Preempt-RT on taas muunnelma siitä varsinaista kernelistä ja sen schedulerista (mitähän tuokin on suomeksi) joka on optimoitu toimimaan paremmin reaaliajassa. Tällöin siis mahdollistuu paremmin ihan tavallisten ohjelmien ja laiteajurien käyttö reaaliaikakäytössä. Varmaan hyvinkin mutkia suoristava esitys, mutta näin olen sen itselleni selittänyt.

Käytännön tasolla LinuxCNC:ssä tuo ero näkyy siten, että tuo perinteinen LinuxCNC, eli kaikki ennen versiota 2.7 ja myös 2.7:n "vakioasennus" toimii vaan tuolla RTAI:lla ja vielä siten, että se vaatii tismalleen tietyn version kernelistä. LinuxCNC 2.7:sta löytyy taas sitten versio linuxcnc-uspace (esim tuolta http://buildbot.linuxcnc.org/), joka toimii tuolla Preempt-RT kernelillä.

Reaaliaikakernelien saatavuus valmiina pakettina vissiin vaihtelee aika paljon. Ubuntun tilanteesta mulla ei ole kovin hyvää käsitystä, itsellä on ollu Debian käytössä. Siellä Debian Wheezylle löytyy ihan suoraan paketinhallinnasta sekä RTAI (lyhenne rtai kernelin nimessä) että Preempt-RT (lyhenne rt), kun taas uusimmalla jakelulla Debian Jessiessä ei oikein ainakaan tuot rt-kerneliä löytynyt. Jostain löysin jonkun hepun itsensä kääntämän rt-kernelin Jessielle ja se tuntuis toimivan. Tietysti jos osaa ja viitsii kääntää itse, niin saahan sen mille tahansa jakelulle.

Lainaus käyttäjältä: Jussik - 16.09.16 - klo:08:46
Mulla on valmis palikka tuohon userspace puolelle, saat kyllä sen käyttöön ja jatkokehitystä varten.
Tuo Comedilib ei pysty asentamaan Rtai puolelle, ainakaan kovin helposti.
Muistaakseni vaati stdio.h ja se taas ei tuettuna reaaliaika puolella.
Joitain muista vastaavuuksia löisin, sen takia luovutin tuon tuohun ja siirryin userspace puolelle.
Siinäkin tuli rajoitus vastaan jotain asiaa ei pystynyt koodia kääntäessä tekemään ellei ollut 2.7.0 uudempi linuxcnc.
Joo RTAI-kerneliin tuskin menee sellaisenaan. Tuolla Comedin sivuilla kyllä mainitaan yhteensopivuus myös sille, mutta aika vähän löysin mitään juttua aiheesta kun koetin googletella. Mielelläni otan kyllä referenssiksi sun palikan, vois kokeilla että saako sen ensin vaikka kääntymään reaaliaikaan tuolla toisella kernelillä. Toiminnan testaukseen toki vaatii vielä viikon tai pari postikustin odottelua. :)

Pekka



Powered by EzPortal
SMF spam blocked by CleanTalk