CNC-Harrastus

CNC-KONEEN SUUNNITTELU, RAKENTAMINEN JA TESTAUS => Ohjausjärjestelmän suunnittelu ja rakentaminen => Ohjausjärjestelmä, ohjauskeskus ja sähköistys => Aiheen aloitti: Kremmen - 29.11.12 - klo:17:42

Otsikko: Über-breakout v 2.0
Kirjoitti: Kremmen - 29.11.12 - klo:17:42
Tervehdys lajitoverit,
Jäsen Grinderin kanssa on ventiloitu aiheesta olisiko tilausta/tarvetta vähän ensimmäistä breakout-korttia kehittyneemmälle kapistukselle. Lähinnä mielessä oli pari asiaa - ensinnäkin mahdollisuus kytkeä "näppärästi" servo-ohjaimia + enkoodereita kiinni Mach 3:een ja toiseksi päästä eroon noista historiallisista LPT-porteista rajoituksineen. Fyysisenä lopputuloksena olisi laite joka hoitaa 1 - n stepperi- tai servokanavaa tarvittavine lukitus- ja rajakytkintietoineen ja liittää ne Mach3-softaan (ja jos niin päätetään, niin muihinkin) jollain modernilla kommunikointitavalla, lähinnä Ethernetillä.
Kun tuo perusajatus jo vaatii toteutuakseen prosessorin ohjaamaan lähiverkkoliikennettä, niin ajatuksellisesti on lyhyt hyppäys siihen, että softatoteutukseen otettaisi mukaan numeeriset säätäjät samaan tyyliin kuin kaupallisissa servo-ohjaimissa. Toki säilyttäen mahdollisuus perusmalliseen stepperinohjaukseen.
Tästä eteenpäin on tietenkin mahdollista ajatella, että toteutukseen integroitaisi mukaan vielä servovahvistin, jolloin kapine hoitaisi koko roskan Mach3:n ja moottorin välissä alusta loppuun. Toisaalta on mahdollista jakaa tuota fyysisesti osiin joista saa koottua tämän kokonaisuuden tai sitten joitain osia voi toteuttaa muilla vehkeillä.
Tällä hetkellä homma on vasta idea-asteella ja ajattelin vähän kaivella josko Machin Ethernet-liitynnästä olisi dokumentointia saatavilla. Jos joku tietää niin saa vinkata.
Tämän viestin tarkoitus on luodata mielenkiintoa aiheeseen sekä kerätä kommentteja puolesta ja vastaan. Erityisesti kiinnostaa kuulla miksi tätä ei kannattaisi tehdä, koska olisihan typerää tehdä vaivalla sovellus jonka saa samanlaisena jostain halvemmalla tai jotain muuta yhtä fiksua...
Toteutuspäätöstä ei siis vielä ole tehty enkä ota tässä vaiheessa vastaan tilauksia. Mielenkiinnon ilmauksia sitä vastoin kyllä ja jos niitä tulee niin sitten harkitaan liikkeelle lähtöä. Ja selvää on, että peruskonseptiin sopii ehdottaa mitä vaan säätöjä jos tuntuu siltä.

Laajimmillaan konsepti siis voisi sisältää tämmöiset osat (ei välttämättä yhtenä möykkynä mutta yhteen sovitettuina):
- Ethernet-liitäntä Mach3-sovellukseen, mahdollisesti myös EMC/LinuxCNC
- 6 liikeakselia (XYZ, ABC)
- lineaariliikeiden pääty- ja kotirajatiedot
- mahdollisuus kiertoliikkeiden rajakytkitietoihin kuten yllä, jos tarvitaan
- Hätäseis-piiri ja akselien enable/disable-logiikka
- Karan ohjaus (mahdollisuus servo-ohjaukseen?)
- Jäähdytyksen ohjauslähdöt (flood, mist)
- Työkalunvaihtajan ohjaustulot ja -lähdöt
- mitä vielä? muutama vapaa tulo/lähtö varmaan ainakin?

Tämä on tietty melkoinen elefantti yhtenä palana haukattavaksi, joten ehkei kannata tähdätä heti ihan ylämummoon, mutta konseptin voi laatia sitä silmälläpitäen ja toteuttaa sen mukaan kuin jaksaa ja tarvetta on.
Kommentteja?
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: olli henttonen - 29.11.12 - klo:17:58
työkalu/home mittaus automaagio, kappaleen digitointi, käsiohjaus, mitähän muuta tuossa palikassa oli mitä puuhapajalle suunnittelin.
Noita kortteja/palikoita saa tällähetkellä neljälle akselille kait 180€> eli jos siihen hintaluokkaan sais puristettua niin puuhapajalle heti pari ainakin.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: nirkkow - 29.11.12 - klo:18:25
Moi,

Dynomotion korttia käytin jyrsimessä takavuosina. Nyt tuo on odottelemassa plasmaleikkurin valmistumista.

Kortti on USB-liitäntäinen, mutta ei toiminut luotettavasti Mach:n kanssa. Parin katkenneen terän jälkeen siirryin käyttämään Dynomotionin omaa käyttöliittymää, joka taitaa olla kopsattu muistaakseni EMC:stä. Toimi ihan luotettavasti. Lisätietoa ja muistaakseni koodiakin löytynee Dynomotionin sivuilta...
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Jarkko Nieminen - 29.11.12 - klo:20:11
Kuulostaa mielenkiintoiselta.... Periaatteessahan mulla olisi tohon Sorviprojektiin ajatuksena servot.....Granitedevicea kuten jyrsimeenkin. Mutta miksikäs ei voisi ajatella open source tyyppistäkin ratkaisua.  Millekäs moottorijännitteelle tuon voisi toteuttaa? 230Vac servoja olis hyllyssä 750W tehoisia... Tai sitten jos toi ohjaisi myös stepperitä, jossa encoderit päissä.... myös 12Vdc servoja olis hyllyssä muutama.

Jos vaan kustannukset pysyy jotenkin hanskassa niin kiinnostaa.

-Jarkko
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Jarkko Nieminen - 29.11.12 - klo:20:25
Niin ja jos ei servovahvistinta tule niin sitten tuollainen stepperiohjaus, johon saisi vaikka max 80Vdc sisään. ja mahdollisuus saada encoder tieto vietyä sisään mach3:seen.
Nyt nuo mun vsd-xe:t jää ilman takaisin kytkentää mach3:seen tuolla Granite devisen LPT portin kautta ohjattavalla BOB kortilla. vahvistimista kyllä saa tiedon ulos, mutta ei ole mitään korttia, jolla sen veisi mach3:seen.

-Jarkko
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: TeacDance - 29.11.12 - klo:21:54
Sitten voisi olla kans semmoinen basic kortti kans

Stepperien ohjaus
Kiinan karan ohjaus suoraan machistä
Limitti kytkimet
Työkalun nollaus
Pari rele lähtöä jos perus hiilimoottorilla päästelee ja jos haluaa muuta ohjata

Varmaan servo ja stepperi kortit erikseen vai voiko se tehdä semmoisen uber kortin noin vain että ei se hinta karkaa ihan käsistä..
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Hiekkaranta_92 - 29.11.12 - klo:22:24
Kuinkas kun jossain  ? edellisessä brake out kortti threadissa?? puhutiin näistä väylässä olevista luteista. Jos tämä olis tälläinen väylä ethernet isäntä johon voitas sitten liittää vaikkapa se servo vahvistin, Rele I/O, Analogia I/O, Digi I/O.  Olisi siten mahdollista kasata jokatilanteeseen sopiva kortti, mutta tästä tulis kallis ja pitäs sitten olla joku varasto komponentteja...
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Kremmen - 30.11.12 - klo:11:25
Tässä olisi ensimmäinen hajatelma siitä mitä ÜberBOB voisi pitää sisuksissaan. Jos avaan lyhyesti niin kuva menee näin:
- Mach 3 kytketään Ethernetillä - Machin Dev kitissä näyttää olevan dokumentaatiota kuinka siihen voi kehittää plugineja. Pitää siis toteuttaa MAchille Ethernet-plugin joka osaa liikennöidä ÜBOBin ymmärtämällä tavalla.
- Automaattiajotilassa ÜBOB otta vastaan kjäskynsä MAchilta - lähinnä rataohjauksen koordinaatteja ja Bezier/Bresenham -parametreja jotka viedään suoraan rataohjaukseen. Samalla tietty ylläpidetään koneen tilanohjausta ja työkiertoa Machilta tulevien sanomien ja koneen rajakytkin- ym. tilatietojen avulla
- Manuaaliohjauksessa paikallisen käyttöliittymän avulla ohjataan koneen liikkeitä, jotka raportoidaan Machille jotta tila säilyy sielläkin oikein. Tähän voidaan hyvin kytkeä pulssipyöriä ja muita tarvittavia vehkeitä, jos niin halutaan. Tai ohjaustiedot voidaan viedä Machille joka sitten käskyttää ÜBOBia, täytyy tuota vielä miettiä.
- Akselien ohjauksessa on useita vaihtoehtoja. Machin kannalta on ehkä yksinkertaisin kofiguroitava jos ÜBOBin akselit näyttäytyvät step/dir-ohjauksina kuten askelmoottori - siis ilman pulssitakaisinkytkentää. Tällöin takaisinkytkentä on paikallinen kuten kuvassa on esitetty. ÜBOB voi ohjata stepperiä tai servoa joko nillä samoilla step/dir-pulsseilla tai sitten analogijännitteinä jos niin halutaan. Stepperistäkin voidaan ottaa enkooderitakaisinkytkentä jos Machin pulsseja ei välitetä suoraan stepperille, vaan ne toimivat vain paikallisen säätäjän asemaohjearvona.
- Karan ohjaus toimii periaatteessa samoin kuin akselinkin, kuvassa siihen on piirretty analogilähtö, mutta voi se olla yhtä hyvin step/dir myöskin.
- Koneen puolen GPIO-liitynnän kautta otetan sisään kytkintiedot kuten rajat ja kotiasemat ja ohjataan lähtöjä kuten servo enable, muljupumput, työkalunvaihto jne.

Keskellä kuvaa näkyy laatikko "työkierron ohjaus". Automaattiajolla tämä on suora naru joka vain välittää Machilta tulevat käskyt rataohjaukselle. Tilanohjaus on aina välissä varmistamassa sen verran ettei ajeta päin seiniä tms. Manuaaliajolla työkierron ohjaus hoitaa joggaukset ja pulssipyörällä ajot jne. Siihen voi toteuttaa myös erilaisia purkitettuja työkiertoja. Ajattelin että ÜBOBissa olisi paikallinen massamuisti, esim SD-kortti tms johon voi talletella erilaisia hyödyllisiä juttuja ja lukea niitä sieltä. Sellaisia vähän mutkikkaampia toimintoja kuin kappaleen digitointi voisi ajatella ohjattavan tällaisella purkitetulla työkierrolla. Ehkä jonain päivänä voisi kokeilla myös kääntää jenkkien standardi-instituutin NIST:in RS274-tulkin niin silloin tuonne voisi tallentaa suoraan G-koodisia ohjelmia ja tulkata niitä ilman Machia tai mitään muutakaan varsinaista CNC-softaa. Mutta se jääköön nähtäväksi.

Mitä sitten tulee varsinaisiin servoihin tai steppereihin, niin ainakin on oltava mahdollisuus liittää ulkoinen laite tähän BOBiin. Silloin rajapinnat ovat step/dir ja enkooderi sekä enable-signaali. Vastaava ajatus pätee karalle. Näin toteutettuna BOB ei aseta mitään rajoituksia sille, miten pieni tai järeä servo/stepperi siihen kytketään. Jos moottorinohjaimet ovat hyvin pieniä niin voisi tietenkin ajatella että nekin olisi jollain tavalla kytketty osaksi konseptia. Suoraan BOB-kortille niitä ei varmasti huoli piirtää koska se sotkee tuota isompien ohjainten liitäntätarvetta, mutta jonkinlainen plugin-malli voisi olla toimiva. Täytyy sitä vielä miettiä. Puusta katsoen tuntuisi siltä, että järkevä raja voisi mennä siinä, mitä L298-piirillä pystyy ohjaamaan. Juuri tuota piiriä ei välttämättä ole tarve käyttää, mutta sen reunaehdot, eli ~40 V syöttö ja pari-kolme ampeeria per käämi voisi olla kohtuullinen raja, vai mitä sanoo raati?

Kun kapine on kytketty Ethernettiin, niin sen konfigurointi olisi varmaan helpointa tehdä myös sitä kautta. Mach 3 puhuu BOBille johonkin IP-porttiin (en vielä tiedä mihin). BOBin voi laittaa kuuntelemaan myös vaikkapa Telnet-porttia jonka kautta on helppo tehdä simppeli tekstimuotoinen rajapinta jota voi sitten käyttää millä tahansa kapineella joka hanskaa Telnetin. Ja melkein kaikkihan sen osaa.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Kremmen - 30.11.12 - klo:15:46
Mietiskellyt tässä että minkähän tuohon laittaisi aivoksi, ettei tarttisi ihan joka jumalan detaljia keksiä tyhjälle ruutupaperille. 8-bittiset on liian lapasia Eetteriverkkohommiin joten 32 bittinen siis ainakin. Itse olen pelannut Atmelin UC3-sarjalaisten kanssa jotka on aika kivoja pelejä, mutta ehkä tähän vaikka hakisi jotain vähän standardimpaa, jos vaikka joku muukin haluaisi joskun kyhätä jotain. Aika äkkiähän se ajatus kääntyy sitten ARMiin, kun sen standardimmaksi ei juuri taida päästä. ARMeja valmistaa monikin ja niitä on monenlaisia mutta ehkä tähän löytyy onni Cortexeista, ajattelin jotain linjalla M4 tai M4F. Jälkimmäisessä olisi liukulukulaskuri mukana, joskin ilmankin tulee toimeen.
Maailman nopein M4 tuplaydinprosessori on NXP:llä, siinä on Cortex M0 apuvääntimenä ja molemmat tikittää 204 MHz tahtia. Sillä ehtisi tehdä kaiken ja aikaa jäisikin vaikka kuinka. Harmi vaan, että nuo on pakattu niihin kirottuihin BGA-koteloihin joiden juottaminen on arpapeliä jopa ammattilaisillekin välillä. Siispä ei kiitos. Muita yleisiä valmistajia on TI joilla on aika nasta Stellaris-sarja, itselläkin pari Stellaris Launchpadia joissa on M4F-tason kivi. Harmi van, että TI:n Code Composer ohjelmointiympäristön ilmaisversio on rampautettu max 32kB sovelluskokoon. Jos siitä haluaa ylöspäin niin alkaa raha palamaan suuren maailman tyyliin. ST tekee STM32-sarjaa jota näkee aika usein ja sitä kai pidetään aikas napakkana, mutta kehittäjät kiroaa ST:n dokumentaatiota luokattomaksi ja kirjastoja paikoitellen hatariksi. Tiedä sitten kun ei ole tullut enemmälti käytettyä. Muita olisi Freescale ja niiden Kinetis-sarja mutta siinä on sama vaiva kuin TI:llä - kunnolliset IDE-työkalut alkaa maksamaan miehekkäästi. Linux-puolelle kyllä löytyy ilmaisia Eclipse / GCC -pohjaisia työkalusettejä mutta niiden varjopuoli on hillitön säätäminen ennenkuin ne alkaa toimia. Oma kokemus on sikäli negatiivinen, että aina ne repeää jostain reunasta juuri väärällä hetkellä kun joku konfis on pielessä tai joku kirjasto puuttuu tai on salaperäisestä syystä epäyhteensopiva.
Siispä ympäri käydään ja yhteen tullaan. Nyt olen miettimässä tähän moottoriksi Atmelin SAM4s-sarjan ARMia. Vauhtia niihinkin saa 120 MHz mikä varmasti riittää, ja mikä parasta Atmel Studio 6 on ilmainen ja jo valmiiksi mulla asennettunakin. Samoin löytyy kaikki kehityslaudat ja debuggerit joten taidanpa unohtaa irtiotot ja aloittaa tutulla ja koetellulla setillä. Mitään erityistä vikaa ei noissa SAMilaisissa pitäisi tietääkseni olla.
Iso ylimääräinen bonari on myös se, että sellaiset avainkomponentit kuin lwIP-protokollapino Ethernetille ja reaaliaikakäyttis FreeRTOS on portattu SAMeille. Nuo on aikaisemmista projekteista tuttuja, joskus täälläkin niistä kirjoitellut.
Palataan taas aiheeseen kun myssyssä on muhinut lisää mietteitä.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: olli henttonen - 30.11.12 - klo:16:14
Kuulostaa maalikolle just siltä mitä meinaan puuhapajan masiinoihin tulevaisuudessa iskeä kiinni, yks vaikkapa valmiiksi koteloitu purkki jossa liittimet käsiohjaimille, spinlensyötöille, moottoriohjaimille, työkalunmittauksille yms mahdollisille kilkkeille. Tökkii vaan piuhoja kii manuaalin mukaan ja homma alkaa pelittämään kunhan on Mach: iin asentanut plukkarin  8) Olisiko tuo 24v tuollainen teollisuuden käyttämä ulkoinen wirtaskalähde jolla se ja kaikki muutkin toimis.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Kremmen - 30.11.12 - klo:18:39
Aikaistahan tässä on vielä kiinnittää tarkkoja speksejä, mutta varmaan 24 V on ihan todennäköisimmästä päästä sisäänotettavia apujännitteitä.
Tässähän on kaksi eri juttua: ensinnäkin logiikan toimintajännite joka prosessorin osalta on mitä ilmeisimmin 3,3 V ja se tod näk synnytetään yksinkertaisella buck-hakkurilla samaan tyyliin kuin äskeisessä nopeusnäytössä sen tarvitsema 5V. Noille 2574-ohjaimille kelpaa kaikki 40 V asti joten se hoitunee sillä. Korkeampiakin apujännitteitä tarvitaan koska releiden ohjaus ja muu signalointi 3,3 voltilla on tarpeetonta kikkailua, selvempää on käyttää vakiintuneita 12 tai 24 V apujännitteitä. Nekin muodostetaan systeemissä itsessään siten, että ulkoa tarvitaan vain 1 jännite joka on riittävästi yli tuon signalointijännitteen että selvitään yksinkertaisella buck-hakulla. 24V on siis aika varma veto.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Jarkko Nieminen - 30.11.12 - klo:19:54
Moi,

Kuulostaa hyvältä!

Eli jos tää olis vaan bob eli jätettäs noi ohjaukset lisäkorteille.
Tässä olisi siis ainakin

-Ethernet liityntä
-24v tulojännite ja sisäiset hakkurit 3.3v, 5v encoodereille, 12v ja 24v releille.
-6 akselin step, dir ja enable, disable ohjaus.(esim vsd-xe kadotettuaan paikan lähettää mach3 softalle disable komennon lpt 14 nastaan)
-6 akselin encoder sisääntulo -> vienti ethernetin kautta mach3 softaan, jolloin kaiketi mach3 osaa lähettää takas korjaavia step ja dir tietoja.
-Riittävästi i/o nastoja vapaana mpg, digitointi, rajat, kotirajat yms...

Mukana ollaan!

-Jarkko
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Maukka - 30.11.12 - klo:19:59
Kyllä kuulostaa hyvältä, mutta olisiko mahdollista jollain ottaa selkoa onnistuisiko käyttö myös linux emc:llä?
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: olli henttonen - 30.11.12 - klo:21:07
Juuh siinä toivomusta puuhapajakin esittää että moottoriohjauskortit olisi erillisiä palikoita, vois käyttää mitä on tai haluaa ja tähän vois liittää eri palikoita mitä sattuu tarvitsemaan.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Kremmen - 30.11.12 - klo:21:33
Lainaus käyttäjältä: Maukka - 30.11.12 - klo:19:59
Kyllä kuulostaa hyvältä, mutta olisiko mahdollista jollain ottaa selkoa onnistuisiko käyttö myös linux emc:llä?
Koetan selvittää, onko linukalle samankaltaista plugarisysteemiä kuin Machille.  Tuntuisihan se pikkasen tyhmältä tehdä tämmöinen ja jättää juuri se avoin sovellus tukematta. Mutta riippuu kovasti siitä, mitä LinuxCNC:lle on olemassa
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Ozz - 01.12.12 - klo:00:36
Kuulostaa loistavalta! Tätä vähän jo odottelinkin Kremmeniltä  :)
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Kremmen - 01.12.12 - klo:20:44
Kiitokset tähän astisista kommenteista ja kannustuksesta :)

Pienen säätämisen jälkeen sain Mach3 plugin kehityskitin asennettua lopulta aika vähällä vaivalla. Tosin Mikkisoftan Visual C++ piti downgradeta versiosta 2012 versioon 2008 ennekuin asennus pääsi lopputulokseen. No, onneksi tuosta löytyy ilmainen Express-versio eikä tarvinnut poistaa 2012-versiota.
Nyt on eka rima siis ylitetty ja voin aloittaa tuon Ethernet-liikenteen miettimisen ja PC-pään kirjoittamisen. Oma aikansa menee kun opiskelee miten Mach muodostaa koneen tilatiedot ja rataohjauksen. Mutta sehän selviää kun selvitetään. Harmi vaan, että tästä kaikesta ei kyllä varmaan ole iloa LinuxCNC:n osalta, kun siellä on tietty ihan omat ja erilaiset konstinsa. Aion kyllä katsoa senkin kortin kunhan nyt ensin saadaan pää auki Machin kanssa.

Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Grinder831 - 03.12.12 - klo:05:28
Huomentah vaan jokaselle  :) katselin tuossa selailessani noita kaiken-maailman kortteja että Nyt on kyllä hintaa mutta Sitä läksin lähinnä Kyselemään että Olisko tää kortti semmonen Ominaisuuksiltansa mitä oltais hakemassa porukassa ?? ?? 

http://www.ebay.com/itm/CNC-Breakout-Board-Ethernet-Smooth-Stepper-Mach3-Motion-Controller-CM106-ESS-/180836283124


Tietysti Kaikella kunnioituksella ja hatun nostolla Kremmenin projekteja Seuranneena ja osallistuneena Laatua Ja Osaamista on  :)  (ei tää nyt sitä tarkoita että Tämmönen kortti JUST olis, mutta tähän suuntaan vai vai ??)

T: Grinder831  8)

Edit:

Dääm. täähän on ihan peruskortti. ei pentele... Sori Kauhiasti häiriö.. (melkein) tommonen Breakout kortti tehtiin.. paitti vaan Lpt-liitoksella ei ethernet-mallina  :P
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: olli henttonen - 03.12.12 - klo:09:33
ompas hirveen hintainen kortti, samanlaisia saa pariinsataan 4 akselisena, taino toi on kyllä 6 akselinen versio. mutta joo tuollaista nopeasti wilkaistuna puuhapaja kaipailee
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Kremmen - 03.12.12 - klo:10:03
Puusta katsoen tuollaisen komponentit jää kyllä reilusti alle parinsadan, että myyjällä on katteet kohdallaan.
Omaa projektia silmälläpitäen vaan hieman huolestuttaa tämä minkä olen pannut merkille tutkiessani muiden tekeleitä - Hirveän monessa näkyy joko nopea ARM (luokkaa 500 MHz) tai ARMin ja FPGAn yhdistelmä. Niinkuin tässäkin kortissa on tuo TI:n LM3S joka on Cortex M3 ja siinä vieressä Xilinxin Spartan-6 joka on keskivauhdikas FPGA, tosin jo vähän vanhempaa mallisarjaa, mutta kuitenkin vääntää signaalingeneroinnissa jonkun 120 MHz ARMin maan rakoon.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Hiekkaranta_92 - 03.12.12 - klo:11:42
Tuolakun oli jotain puhetta noista gantry akselisista koneista... Jos halutaan vaikka X ja Y lle molemmille kaksi akselia ja kuitenkin vielä kääntöakselit niin pitäisko sitten jo olla ainakin se seitsemän akselia + kara? Vai olisko kahdeksan parempi, jos joku haluaa vielä Z:lle kin kaksi moottoria? Ohjaimia jotka tukee tuota montaa akselia samaan aikaan ei taida olla montaa? ja mitä nyt äkkiä noita emc:n kinematiikka topicceja luin niin rajoittaa joggausta ainakin pahoin kinematiikalla tehtynä. Jotenkin tuntui siinä kohtaa siis siltä että homing ja singaalin jako kannattais tehdä tällaisella ohjaimella jolloin ei pääse joggaamalla ajamaan konetta kieroon.

Kuusi akselia taas  olisi mukava olla jos jotain tälläista haluaa tehdä: http://www.youtube.com/watch?v=MTPkw5BNmVw
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Kremmen - 04.12.12 - klo:15:19
Joka tietoa lisää se tuskaa lisää.
Eli nyt olen pystynyt selvittämään Machin toiminnasta muutaman oleellisen detaljin. Noin yleisesti ottaenhan liikkeenohjaus CNC-koneessa menee siten, että tulkitaan jotain liikkeiden kuvauskieltä, yleisimmin G-koodia ja muodostetaan siitä ohjaussignaalit toimilaitteille. G-koodi kertoo peräkkäiset asemat joihin liike 3-ulotteisessa avaruudessa halutaan tehdä (1- ja 2-ulotteiset liikkeet on 3-ulotteisen liikkeen erikoistapauksia). Lisäksi G-koodissa pystytään ilmaisemaan liikkeen laatu, joko suora tai kaareva liike. Täydellinen yksittäinen liike siis sisältää translaation (siirtymän) ja rotaation (kiertymän) kaikkien akselien suhteen (jossain ajassa), ja translaatio voi lisäksi tapahtua määriteltyä kaarta pitkin. Mach3 kuten kai yleisesti kaikki CNC-ohjaimet, jakaa yksittäisen liikkeen tarvittaessa useisiin liikeprimitiiveihin. Yksittäinen liikeprimitiivi lienee Machin sisäisessä esitystavassa ns quaternioni http://en.wikipedia.org/wiki/Quaternion (http://en.wikipedia.org/wiki/Quaternion) joka onkin yleinen esitystapa. Jotta tuosta olisi jotain iloa ulkomaailmalle, on quaternionin kuvaama 3D-muunnos muutettava servojen tai stepperien ymmärtämään muotoon, eli siitä on generoitava askelpulssisekvenssi. Tämä tapahtuu jonkin ns. digitaalidifferenssialgoritmin avulla; yksi hyvin suosittu on Bresenham. Näillä algoritmeilla käyrä ensin projisoidaan niihin tasoihin joilla liike tapahtuu ja sitten ikäänkuin juostaan tuota käyrää pitkin kussakin tasossa siten, että pysytään koko ajan korkeintaan yhden etäisyyspulssin päässä käyrän oletetusta linjasta k.o. tasossa. Käytettäessä printteriportteja step/dir -pulssien kytkentään, suorittaa Mach3 tuon quaternioni-pulssimuunnoksen itse. Harmi vaan, että se ajatus ei toimi jos moottorinohjaimet kytketään Ethernet-ohjaimen kautta.

Jos Machin liikkeenohjaukset välitetään Ethernetillä breakout-kortille kuten juuri on nyt tarkoitus tehdä, niin valmiiksi laskettuja askelluspulsseja ei saa Machilta ulos. Tämä johtuu yksinkertaisesti siitä, että pulssijonojen tarkkoja ajastusvaatimuksia ei saa millään toteutumaan Eetteriverkon läpi. Sen sijaan Mach rakentaa omiin sisäisiin tietorakenteisiinsa rengaspuskurin, jossa on jonossa liikeprimitiivejä. Primitiivit ovat joko suoria siirtymiä tai kuutiosplinejä:

struct GMoves
{
   int type;    // 0 is linear, 1 is cubic
   double cx,cy,cz; // center of move for cubics.
   double ex,ey,ez,ea,eb,ec;
   double sx,sy,sz,sa,sb,sc;
   __int64  DDA1[6]; //DDA1's for cubics
   __int64  DDA2[6];
   __int64  DDA3[6];
   double Time;
   bool   Stop;
};


Näistä Ethernetin toisessa päässä olevan breakout-kortin pitää generoida pulssijonot siten, että liikeprimitiivi toteutuu. Eli tuossa tietorakenteessa on jokaisen liikeprimitiivin alku- ja loppupisteet kaikille akseleille, ja mikäli kyseessä on kuutiosplini, myös liikkeen episentri tai polttopiste. Parametri Time ilmaisee missä ajassa liike pitää suorittaa (max mitä Mach teettää on 64 ms per primitiivi). Tästä rakenteesta joudutaan siis bob:illa laskemaan rataohjaus kaikille 6 akselille samanaikaisesti.

Yhden lahjan Mach tosin antaa breakoutille, eikä se ole aivan mitätön: digitaalidifferenssianalysaattorin parametrit (DDA1..DDA3) on valmiiksi laskettu jokaiselle akselille. Näistä saadaan siis suoraan muodostettua nopeuden ensimmäinen ja toinen derivaatta, eli kiihtyvyys ja tempaus. Pulssingeneroinnin ongelmaksi jää sovittaa primitiivit saumattomaksi ketjuksi ja pysäyttää liike kun muuttuja Stop saa arvon tosi.

Ylläolevan lisäksi tulee paljon muuta ohjausta, lähinnä liikkeenohjauksen enablointiin ja kalibrointiin liittyvää, sekä tietty koko pluginin toimintamekanismi joka perustuu ajastettuihin sykleihin joilla data kuskataan Machin ja bob:in välillä.

Alkaa näyttää siltä, että FPGA:n käytöltä on vaikea välttyä jos tämän nyt meinaa oikeasti tehdä. Nuo pulssijonon laskennat vielä tekisikin sillä Atmelin ARMilla, mutta oikein missään mikrokontrollerissa ei ole tuon DDA-algoritmin vaatimaa oheishardwarea. Mikään yleisesti löytyvä pwm-generaattori ei tähän kelpaa, koska luonteensa takia tuo DDA joutuu juokseman pitkin käyrää ja ulostamaan ohjauspulssin aina kun otetaan yksi käyränseuranta-askel. Tämä on peruuttamattomasti laskemalla tehtävä juttu, ja FPGA:n vahvuus on kyky rinnakkaiseen laskentaan hyvin korkeilla kellotaajuuksilla. Vastaavasti heikkous on sikamaisen hankala toteutustyönkulku, niille kun ei varsinaisesti "kirjoiteta ohjelmaa" vaan niillä kuvataan vaatimuksen toteuttava hardware-rakenne. Ja joo, jos joku nyt miettii niin FPGA:lle kyllä saa erilaisia soft prosessoreita joita voi ohjelmoida vaikka C:llä, mutta niillä on juuri ne samat heikkoudet miksi aitokaan prosessori ei tämmöiseen oikein hyvin sovellu.
No, mulla on Xilinxin ISE Webpack asennettuna ja toimivana, joten otetaan lusikka käteen. Spartaneihin asti ainakin pitäisi lisenssit riittää, joten jos joku muu on niillä saanut tuon tehtyä niin ei se mahdotonta voi olla. Jatketaan homman miettimistä ja katsotaan mihin tökkää jos mihinkään. Sillä ARMilla on hyvä tehdä Ethernet-liityntä ja sanomajonon hallinta ym hommat jotka sopii paremmin aidosti ohjelmoitaville vehkeille. Siitä sitten muokataan nuo liikeprimitiivit FPGA:lle sopivaan muotoon.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Grinder831 - 04.12.12 - klo:15:38
 :o  ööööööööööööööööö.......???? ????? ????? ???? Nyt kyllä löi Kremmen sellasta tekstii että HUH HUH !! ISO Kumarrus ! Voi morjens Oikeasti !! Luoja tietää (Kremmen) mitä tästä voi seurata  :P  Iso Hatun nosto Jo tähän astisesta tutkimisesta ! Hienoa !   ;D
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: senaattori - 04.12.12 - klo:21:58
Mää lähden tekeen kiilauria, sopivan primitiivistä mun ajatusmaailmalle, tuli oikeen hiki kun luin KUNNIOITETUN Kremmenin kirjoitusta ;D
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Kremmen - 04.12.12 - klo:23:19
Rauhallisesti nyt vaan :). Joka härillä kyntää, se häristä puhuu. Tässä nyt ei ole mitään oikeasti ihmeellistä, noin se homma tehdään joka jampan Machissa ja EMC:ssä ja kaikissa muissakin. Detaljit tietty vaihtelee, mutta ei periaate. Ei minuakaan tässä se hirvitä, ettei tuon matikan kanssa pärjättäisi, mutta tuollaisen FPGA:n soveltaminen käytännössä on aika kiharainen juttu. Tarvitaan kaiken maailman ulkoiset ROM-piirit konfiguraation talletukseen, ihmeellisiä käyttöjännitteitä - noi nopeammat Spartanit taitaa toimia jollain 1 voltin core-jännitteillä ja piirilevy täytyy suunnitella nopeille signaloinneille. Tulee paljon oheishupia varsinaisen asiasuorituksen lisäksi. Mahdollista on melkein kaikki, mutta voi tulla hikinen harjoitus ja jossain välissä pitää päättää tuleko tästä niin paljon parempi kuin nuo muut että maksa vaivan tehdä.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: olli henttonen - 05.12.12 - klo:10:08
Mitäs jos se Mach3 plukkari olisi vain printteriportti emulaattori ja ohjais liikenteen sinne ethernetporttiin ja toisessa päässä sama juttu. Ja jos siinä olis tarpeeksi monta porttia emuloituna saataisiin tarvittavat pinnimäärät käyttöön?
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: senaattori - 05.12.12 - klo:11:48
Kyllä tässä oikeesti pikkuhiljaa tietämyskin jollain sortilla kasvaa kun näitä keskusteluja jaksaa ahkerasti seurata, vaikka näissä projekteissa tuntuu enempi oleen tutumpia hommia nua kotelon reiitykset ;D
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Hiekkaranta_92 - 05.12.12 - klo:12:15
Lainaus käyttäjältä: dyykkari - 05.12.12 - klo:10:08
Mitäs jos se Mach3 plukkari olisi vain printteriportti emulaattori ja ohjais liikenteen sinne ethernetporttiin ja toisessa päässä sama juttu. Ja jos siinä olis tarpeeksi monta porttia emuloituna saataisiin tarvittavat pinnimäärät käyttöön?

Juurikin sama kävi mielessä... mutta mietin kuinka realtime systeemi tuo olisi ja rajoitaako printteriportin standartoidut nopeudet; lähinnä jos halutaan kombinaatio nopea ja tarkka? Onko ethernet ainoa looginen ratkaisu? Olisko PCI kortti kuinka vaativa ajatus? Toisaaltase ainakin rajaa äkkiä läppärit pois...
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Kremmen - 05.12.12 - klo:12:35
Lainaus käyttäjältä: dyykkari - 05.12.12 - klo:10:08
Mitäs jos se Mach3 plukkari olisi vain printteriportti emulaattori ja ohjais liikenteen sinne ethernetporttiin ja toisessa päässä sama juttu. Ja jos siinä olis tarpeeksi monta porttia emuloituna saataisiin tarvittavat pinnimäärät käyttöön?
No siinäpä se haaste juuri on. Kun siis tuo ei ole mahdollista. Ajatellanpas asia läpi niin ymmärrätte kyllä miksi ei:

1: Mach3 / EMC / mikä vaan laskee rataohjauksen siten, että se jakaa ajan ( siis tämän meidän tunteman reaaliajan jota voi kellosta katsoa) inkrementteihin eli "pykäliin". Inkrementtien väliaika on niin pieni kuin mihin kone suosiolla pystyy. Olikohan niin, että Machista lähti 25 kHz, jolloin inkrementti on 40 us.

2: Liikkeen laskennassa Mach askeltaa pitkin haluttua liikerataa edeten halutulla nopeudella. Etenemä radalla per inkrementti määräytyy halutun nopeuden ja tuon minimiajan perusteella. Etenemisen aikana Mach laskee tuota aiemmin mainittua DDA-algoritmia jokaiselle radan pisteelle johon inkrementti osuu. Jos rata poikkeaa jossain suunnassa enemmän kuin yhden askeleen, annetaan kyseiselle akselille step-pulssi oikaisevaan suuntaan, jotta seuranta pysyy minimiaskeleen päässä radasta. Tästä siis seuraa, että mille tahansa akselille voi tulla pulssi mielivaltaisesti 40 us tai sen jonkin monikerran välein.

3: Koneen akselien liikenopeus on suoraan riippuvainen askelpulssien taajuuteen ja liikerata 3-ulotteisessa avaruudessa on suoraan verrannollinen eri akselien välisten pulssitaajuuksien erotuksiin. Esim jos halutaan liikkua X-Y -tasossa 45 asteen kulmassa nopeudella 100 mm/s ja askelpulssi vastaa 10 um liikettä, niin sekunnissa pitää antaa 7071 pulssia sekä X- että Y-toimilaitteelle. Nämä pulssit pitää antaa tasavälein sekunnin aikana jolloin taajuus olisi 7 kHz. Machin pitäisi siis lähettää 7000 Ethernet-sanomaa sekunnissa pystyäkseen pulssittamaan akselit pulssi kerrallaan. Tämä on mahdotonta paristakin hyvästä syystä: Ensinnäkään mikään PC ei tunge tuota määrää sanomia sekunnissa verkkoon ja toiseksi Ethernet ei ole ns. isokroninen verkko kuten esim julkisen puhelinverkon aikajakohierarkiat ovat. Tämä tarkoittaa sitä, että Eetterisanomalla ei ole mitään determinististä kulkuaikaa jolloin se olisi a) varmasti perillä jossain määräajassa ja b) sillä olisi jokin hyvin määritelty aikasuhde edelliseen sanomaan.
Lopputulos on, että Ethernetin läpi ei yksinkertaisesti voi kuljettaa tiukasti reaaliaikaista ohjausdataa.

Edelläolevista syistä Machin Ethernet-plugarit käyttävät systeemiä, jossa välitetään liikkeiden kuvauksia aiemmin esittämälläni tavalla ja nuo kuvaukset puskuroidaan jonoon. Jonossa täytyy aina olla liikeprimitiivejä odottamassa, koska jos se tyhjenee niin bob ei voi tietää mihin pitäisi liikkua seuraavaksi. Sen takia verkossa kuskataan liikkeitä eikä pulsseja. Tuo liikeprimitiivi syntyy Machissakin osana laskentaa mutta pulssien muodostusta edeltävässä vaiheessa. Mach itse siis tekee homman samalla tavalla, mutta se ei lähetä primitiivejä mihinkään vaan purkaa ne itse pulsseiksi omassa DDA-silmukassaan ja tunkee printteriporttiin. Plugari vain siirtää tuon DDA-laskennan verkon toiseen päähän.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: olli henttonen - 05.12.12 - klo:13:30
Oukei, sorry jos heittelen tyhmiä ehdotuksia ilmaan.
http://www.cs-lab.eu/en/galeria-zdjecie-dD-60-CSMIOIPM_4axis_Ethernet_Motion_Controller_STEPDIR.html (http://www.cs-lab.eu/en/galeria-zdjecie-dD-60-CSMIOIPM_4axis_Ethernet_Motion_Controller_STEPDIR.html)
Tuollainen olisi se palikka mitä puuhapajalla on mielessä, edullinen ja siihen voip lisäillä eri palikoita tarpeen mukaan. 6 akselinen vastaava kustantaakin sitten jo kertaa kaksi. Ainakin nuo valmiiksi koteloidut olisi minulle mieleen, helpottaa asennusta vaikka nostaakin hieman kustannuksia.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Kremmen - 05.12.12 - klo:14:45
Ehdotus sinänsä on ihan järkevä, ei siinä mitään. Noista mainitsemistani syistä johtuen vaan se on hankala tai mahdoton toteuttaa.
Tuo linkkaamasi purkki tekee juuri nämä esittämäni jutut, kuten tekevät kaikki muutkin vastaavat laitteet. Alkaa tuntua siltä, että isoja voittoja ei ole ehkä luvassa noin rahallisessa mielessä. Katetta nuo kaupalliset valmistajat toki vetävät välistä, mutta vastaavasti heillä on pidemmät tilaussarjat jolloin voi olla haastavaa päästä ainakaan kovasti alle noiden hintojen.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: olli henttonen - 05.12.12 - klo:16:15
Se 6 akselinen sitten maksoikin jo 520€, ei kait parin akselin lisä voi olla noin huima korotus kustannuksiin.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Hannu - 05.12.12 - klo:16:37

Tämähän on ihan huippu juttua, kiinnostaa.
En oikein ole mach o miehiä.Mutta pitää varmaan tutustua siihenkin.
Älä unohda EMCtä saisiko sen myös opetettua ohjaamaan konetta "etänä".
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Peruna - 05.12.12 - klo:19:44
Lainaus käyttäjältä: Kremmen - 04.12.12 - klo:23:19
Rauhallisesti nyt vaan :). Joka härillä kyntää, se häristä puhuu. Tässä nyt ei ole mitään oikeasti ihmeellistä, noin se homma tehdään joka jampan Machissa ja EMC:ssä ja kaikissa muissakin. Detaljit tietty vaihtelee, mutta ei periaate. Ei minuakaan tässä se hirvitä, ettei tuon matikan kanssa pärjättäisi, mutta tuollaisen FPGA:n soveltaminen käytännössä on aika kiharainen juttu. Tarvitaan kaiken maailman ulkoiset ROM-piirit konfiguraation talletukseen, ihmeellisiä käyttöjännitteitä - noi nopeammat Spartanit taitaa toimia jollain 1 voltin core-jännitteillä ja piirilevy täytyy suunnitella nopeille signaloinneille. Tulee paljon oheishupia varsinaisen asiasuorituksen lisäksi. Mahdollista on melkein kaikki, mutta voi tulla hikinen harjoitus ja jossain välissä pitää päättää tuleko tästä niin paljon parempi kuin nuo muut että maksa vaivan tehdä.
Tarvitaankos tuohon välttämättä Spartania, vai meniskö jollain vaatimattomammalla? Joku flash-vehje ei tarviis noita rommeja sun muita. Actelin Igloo vaikka, sitä sai jossain VQFP-kotelossakin, niin saa kolvillakin juotettua. Core-jännite on juu jotain voltin luokkaa, virrankulutus on tosin todennäköisesti sen verran pientä, että corejännite syntyy vaikka vastuksella ja zenerillä. I/O-jännitteet sitten tarpeen mukaan vaikka 3,3 V. Ja IO:ta saa hidastettua, niin pääsee piirilevynteossa helpommalla.
Ei tuommoinen pikku-FPGA ole mikrokontrolleria vaikeampi käyttää, ohjelman teko on sitten asia erikseen...
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Kremmen - 05.12.12 - klo:21:19
Joo eihän mikään yksittäinen asia sitä FPGAn käyttöä kaada, mutta kaikkien summasta tulee aika haastava. Tuo Igloo on mulle tuntematon komponentti ja paha rasti on, että kumpikaan Digikey tai Mouser ei sitä tunne. Tai no DK:lla Igloot näkyy Microsemin alla, mutta hintaa niille ei anneta, eli ei ole suoraan tilattavissa.
Sinänsä olisi kyllä iso etu jos FPGA:lla olisi oma kestomuisti ettei tarttisi pelata niiden ulkoisten kanssa. Jos noita saisi jostain luotettavasti niin voisihan sitä melkein tsekata onko niiden toolchain ihmisen ymmärrettävissä. Tiedätkö miten työkalujen lisenssijutut menee - melkein pitää olla ilmainen versio että kannattaa edes alkaa miettiä, koska maksulliset lisenssit tuppaa järestään olemaan järkyttävän hintaisia. Siis semmoisia että harrastaja kalpenee.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Peruna - 05.12.12 - klo:23:31
Igloo pistää hakuun, niin sieltä niitä tulee. DK vaan näyttää sekoilevan jotain hinnan kanssa. 10-20 e ovat. Lisenssi on ilmainen.

Entäs jos tuo Mach3 plugini laskisi ne pulssit valmiiksi ja lähettäisi tuolle bobille vaan listan että milloin lähetetään pulssi. 6 kanavaa ja 100 kHz pulssitaajuus niin ei tuo olisi kuin joku 150 kt/s. Bobin päähän joku lyhyt puskurimuisti, niin ei ethernetin viiveet haittaisi ja voisi pistää isompina paketteina menemään.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Kremmen - 05.12.12 - klo:23:44
OK, tarvii etsiä noilla hakuehdoilla, jospa ne sieltä löytyy.

Itse asiassa juurikin tuota se plugini tekeekin. Nuo tietorakenteet jotka laitoin näkyviin kuvaavat juuri tuollaisen pulssisekvenssin pätkän. Pointti on, että siinä rakenteessa lähetetään kaikkien akselien liike määrätyllä aikavälillä ja bob:in tehtävä on generoida pulssit tuon ohjeen mukaan. Yhdessä nuo rakenteet tuottavat peräkkäisten aikavälien katkeamattoman jonon, ja kun niissä on kuvattu useita millisekunteja kestävä pulssitus, niin ne ehtii lähettää verkon yli nopeammin kuin pulssit syntyvät reaaliajassa
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Peruna - 06.12.12 - klo:10:56
Jos DDA-laskennan siirtäisi tietokoneen päähän ja siirtäisi lopputuloksena saatavan pulssijonon bobille. Bobille ei jäisi paljoa laskettavaa, niin kerkeisi tekemään pulsseja ilman mitään pwm-rautaa. Esim. jos lähettäisi jotain tämäntapaista tietorakennetta ethernetin läpi (Sanan 1. bitti vastaa 1. akselia jne):
000010
010010
000000
Jossa 1 kuvaa lähetettävää  pulssia, 0 että ei lähetetä ja jokainen sana vastaa 10 mikrosekuntia. Tästä saisi kevyellä raudalla ilman FPGA:ta kehitettyä pulssit. Bobilla pitäisi olla muutaman kymmenen millisekunnin verran puskurissa tätä pulssijonoa, niin ethernetin viiveet ei haittaisi.

Edit: Tai ainakin jollain atmegalla tai dspicillä kerkeisi, armeihin en ole tutustunut.
Edit2: ENC28J60 eth.phy + vaikka DsPIC33EP256MC502-I/SP  vois hyvinkin keretä ja olisi aika halpa yhdistelmä.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: olli henttonen - 06.12.12 - klo:11:34
Lainaus käyttäjältä: Peruna - 06.12.12 - klo:10:56
Jos DDA-laskennan siirtäisi tietokoneen päähän ja siirtäisi lopputuloksena saatavan pulssijonon bobille. Bobille ei jäisi paljoa laskettavaa, niin kerkeisi tekemään pulsseja ilman mitään pwm-rautaa. Esim. jos lähettäisi jotain tämäntapaista tietorakennetta ethernetin läpi (Sanan 1. bitti vastaa 1. akselia jne):
000010
010010


Kertokaa jos (kun) olen ihan hakoteillä.
Eli nyt Mach lähettää printteriporttiin komennot analogisessa muodossa ja se mitä pitäisi plukkarin tehdä on muuttaa se inffo tikutaku (digitaaliseen muotoon) joka menee vilkkaasti ethernet kaapelia pitkin.
Toisessa piuhan päässä koneessa on palikka joka muuttaa datan takaisin analogiseksi (tarpeelliseksi määräksi lpt-portteja) jota taas kaikki nykyisetkin raudat tunnistaa. Sama tikutaku tieto voisi myös mennä eteenpäin sellaisenaan koska jo nyt on moottori/rele yms ohjaimia esim geckko (ja muitakin palikoita) jotka ottavat vastaan digi singnaalia ja tekee sen mitä machi käskee.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Peruna - 06.12.12 - klo:12:02
Digitaalisia ne printteriportit ovat, mutta ethernet on pakettiverkko eikä säilytä tarkkoja ajoituksia. Liikedata pitää lähettää bobille jossain sopivassa muodossa, josta bob sitten tekee samanlaisia pulsseja kuin lpt-portista tulisi. Se sitten riippuu bobin kyvyistä, että lähetetäänkö sinne g-koodia, liikeprimitiivejä vai mitä.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: olli henttonen - 06.12.12 - klo:12:13
ok ymmärretty.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Timo Hotti - 08.12.12 - klo:17:18
Onko tällaisella kortilla minkään virkaa?
http://www.zappautomation.co.uk/en/cnc-controllers-ethernet/171-plcm-e3p.html


timi
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: saulij - 08.12.12 - klo:18:07
Tämä kiinnostaa, kun SS näyttää luovuttaneen. Toiveena kunnon liittimet, eikä tuollaisia nauhakaapeli jutuja, eikä D-liittimiä. Ihan kunnon ruuvattavat liittimet. Nämä tietysti vie 90% kortin pinta-alasta/reunoista, mutta parempi niin. BOBistahan nyt otsikon mukaan on kysymys.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: ftec - 08.12.12 - klo:18:40
Tulee mieleen kuinka järkevää on lähteä rakentamaan mitään Machin varaan. Sehän rupeaa olemaan vanhentunut ratkaisu, verrattuna siihen mitä markkinoilla on tarjolla. Uusi versio siitä on tulossa joka tapuksessa ja hinta nousee ja teknisestikin silloin voi kaikki muuttua. 

Entä onnistuisiko tällaisella konseptilla kuitenkaan suuremmat STEP kellotaajuudet servon drivereille? Nykyisen Mach version eräs iso ongelmahan on pulssituksen kellotaajuuden katto, joka riippuu PC:n prosessorin kellotaajuudesta sekä myös pulssin laatu. Jälkimmäinen saattaisi tietysti parantua jos lähdetään uudestaan rakentamaan ratakäyrien interpolointia. Itselläni käytössä 45kHz Machissa ja sekään ei riitä saamaan kaikkean ulos servoista. Mach pulssin laadun vaikutuksen näkee kun vertaa liikkeen tasaisuuteen GD:n setup-ohjelman kautta ajettuna.

Kun katselee Smoothstepprin historiaa, odotettavissa on joka tapauksessa pitkä ja kärsivällisyyttä vaativa kehitysprojekti, koska näiden laitteiden tulee olla luotettavia. Sinulla on osaamista ja kapasiteettiä, miettii vain oisiko sille parempaa käyttö, esim. saattaisiko kenties olla järkevää lähteä suoraan tälle linjalle ja unohtaa Mach. Hinnallisestikin tämä on järkevä ratkaisu:

http://www.edingcnc.com/index.php?pagina=detail_producten&productenid=51

PS. Tuossa  näytille laittamassasi C++ structissa näytti olevan int määrittelyt Mikkisoftan C++/CLI pohjalta, et varmaan ajatellut sekoittaa Frameworkia mukaan driveriin hidastamaan, ja Machan on myös ainakin tällä hetkellä vielä 32 bittinen. Jos sulla on MSDN, niin eikös ne vanhat VS versiot saa ladattua Mikkosoftasta? Itselläni on korkkaamaton MSDN VS2010:ssa, mutta en ole vielä tsekannut miten onnistuu. Tarvitsen itse 2005 versiota jossain vaiheessa.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: olli henttonen - 08.12.12 - klo:19:02
ihan turistina ja noviisina cnc ympyröissä.... varmaan on parempia ehompia yms ohjelmia kuin mack, mutta itse ainakin olen tyytyväinen siihe. Syy, edullinen aloittelijalle, löytyy oheiskortteja edullisesti, ja on kait kumminkin markkinajohtaja levinneisyydessään. Niinpaljon kuin wintoosaa haukutaankin on se ympäristö johon eniten tehdään sovwellutuksia ja minua ei henkilökohtaisesti kiinnosta opetella uusia käyttiksiäkin.
Sitten kun olen harjoitellut tarpeeksi ja todennut ettei ne stepperit ja mack enään vastaa vaatimuksiani tai alan tekemään ammatikseni tuotantoa siirryn eteenpäin. Tietty voitaisiin tehdä emppiirinen tutkimus monellako kanavalla olevista on mikäkin ohjelmaympäristö ja enemmistö päättäköön.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: ftec - 08.12.12 - klo:19:53
Lainaus käyttäjältä: dyykkari - 08.12.12 - klo:19:02
ihan turistina ja noviisina cnc ympyröissä.... varmaan on parempia ehompia yms ohjelmia kuin mack, mutta itse ainakin olen tyytyväinen siihe. Syy, edullinen aloittelijalle, löytyy oheiskortteja edullisesti, ja on kait kumminkin markkinajohtaja levinneisyydessään. Niinpaljon kuin wintoosaa haukutaankin on se ympäristö johon eniten tehdään sovwellutuksia ja minua ei henkilökohtaisesti kiinnosta opetella uusia käyttiksiäkin.
Sitten kun olen harjoitellut tarpeeksi ja todennut ettei ne stepperit ja mack enään vastaa vaatimuksiani tai alan tekemään ammatikseni tuotantoa siirryn eteenpäin. Tietty voitaisiin tehdä emppiirinen tutkimus monellako kanavalla olevista on mikäkin ohjelmaympäristö ja enemmistö päättäköön.

Niin, en tiedä tarkoititko kommenttisi vastauksena omaani, mutta jos, niin tuon antamani Eding linkin kortti korvaa sekä Machin että käsittääkseni myös BOBin ja toimii toki Win ympäristössä.

Etuina edellisten lisäksi on näin servojen yleistyessä harrastelijoidenkin koneissa, että saadaan enemmän irti servoista. Jos (ja kun) Machin hinta nousee (kuten ovat luvanneet ja lisensiointikäytäntö myös muuttuu) tulee Mach + BOB + sen lisävärkit ehkä jopa kalliimmaksi kuin tuo Eding, ja linkissä sen kallein versio. Sehän toiminee myös STEP/DIR periaatteella, joten miksi ei kävisi myös steppereille? Lisäksi tässä ketjussa kuvaillun kortin ja driverin kehitys vie oman aikansa ja vaivansa ja  sitten se pitää vielä testata kaikin puolin varmasti toimivaksi ennen lanseeraamista ettei vain tule laitevaurioita eikä kenellekään henkilövahinkoja.

Esitän tämän vain asian toisena puolena, kritiikitön hehkuttaminen ei mielestäni ole kovinkaan järkevää.

EDIT: Edling p.o. Eding
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Timo Hotti - 08.12.12 - klo:20:03
Onko tuosta Edllingissä 5 tai 6 akselista versiota? omassa koneessa molemmat reunat vetää joten tarvitsee 4 akselia liikkeisiin ja 1 pyörittäjään eli minimi 5 akselia...

timi
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: ftec - 08.12.12 - klo:20:06
Lainaus käyttäjältä: ftec - 08.12.12 - klo:19:53
....

Esitän tämän vain asian toisena puolena, kritiikitön hehkuttaminen ei mielestäni ole kovinkaan järkevää.

Tarkoitan siis, että kai asiaa saa tarkastella eri näkökulmista kun on näin tuotu yleisön puitavaksi. Päätökset ja kaiken työn tekee tietysti Kremmen itse, tarkoitus oli vain saattaa nämäkin seikat päätöstensä tueksi.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: olli henttonen - 08.12.12 - klo:20:30
Kommenttini ei ollut varsinaisesti kohdistettu kehenkään, oli vain oma mielipiteeni asiasta. Se miksi esimerkiksi vierastan tuota linkittämääsi tuotetta. Yksi valmistaja jota kait mitkään muut ei tue, itse ohjelmasta en osaa sanoa mitään kun en ole käyttänyt, enkä yhtään epäile sen vahvuuksia. En usko että mach on vastaus kaikkeen, sen vahvuuksia on aloittelijan kannalta, että rautaa saa joka suunnalta jotka on siihen yhteensopivia ja samalla ehkä pitää hinnatkin kurissa, erilaisia oheisohjelmia ja plukkareitakin on tukku tarjolla. Moni suunnitteluohjelmakin suoraan ilmoittavat mach tukensa, jopa ihan proot.
Se että tulevaisuudessa senkin hinta nousee, ei ole mikään ihme, ei se ohjelman päivittäminen ilmaista ole vastaamaan nyky kompuutterien tasoa, toivottavasti siinä on moniprosessorituki ja se 64 bittisyys ja jatkossakin yhtä innokkaasti harrastajajoukko kehittelee erilaisia plukkareita ja helpottavia apuohjelmia.
Servoista senverran, että jo tälläkokemuksella askelmoottoreista, uskon että tulen todella pitkään tulemaan niillä toimeen, vaikka menetänkin servojen etuja. Yksinkertaisesti että minulla ei ole kapitaalia sijoittaa niinpaljoa jaloon harrastukseen. Kärsin sitten nahoissani hitaammalla nopeudella mutta saman lopputuloksen toivottavasti saan aikaiseksi. Uskoisin että tuon paikoituksenkin saan kyllä askelmoottoreilla toimimaan, onhan noita valmiita lukijoita jotka kiinnitetään akseliin ja tieto siitä saadaan ohjausohjelmalle kunhan kanavat riittä.
Kaikenkaikkiaan sanoisin että on hyvä että täällä ollaan hyvässä yhteishengessä eri mieltä asioista, sitäkautta saa omillekkin näkemyksille laajuutta, ettei ihan kaikesta tarvitse aina mennä pee edellä puuhun. Tosin juuri se on minun tapani ::)
ps muuten siitä kellotaajuudesta, saako machin toimimaan ulkoisella kellopulssilla, jotenkin jäänyt sellainen mielikuva että se onnistuisi?
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Kremmen - 09.12.12 - klo:12:08
Lainaus käyttäjältä: ftec - 08.12.12 - klo:18:40
Tulee mieleen kuinka järkevää on lähteä rakentamaan mitään Machin varaan. Sehän rupeaa olemaan vanhentunut ratkaisu, verrattuna siihen mitä markkinoilla on tarjolla. Uusi versio siitä on tulossa joka tapuksessa ja hinta nousee ja teknisestikin silloin voi kaikki muuttua. 
Täytyy miettiä kaiken muun ohella, mitä systeemejä tämmöinen bob nyt sitten tukisi. Machista on löytynyt dokumentaatiota aika hyvin, EMC:stä on paikoitellen käytettävissä lähinnä lähdekoodia.
Lainaa
Entä onnistuisiko tällaisella konseptilla kuitenkaan suuremmat STEP kellotaajuudet servon drivereille? Nykyisen Mach version eräs iso ongelmahan on pulssituksen kellotaajuuden katto, joka riippuu PC:n prosessorin kellotaajuudesta sekä myös pulssin laatu. Jälkimmäinen saattaisi tietysti parantua jos lähdetään uudestaan rakentamaan ratakäyrien interpolointia. Itselläni käytössä 45kHz Machissa ja sekään ei riitä saamaan kaikkean ulos servoista. Mach pulssin laadun vaikutuksen näkee kun vertaa liikkeen tasaisuuteen GD:n setup-ohjelman kautta ajettuna.
Pulssien generointi on ulkoistettu bob:ille joten Mach ei enää tee sitä ja näin kaikki PC:n rajoitukset poistuvat. Siinä tietorakenteessa kuvataan pulssien generointisääntö annetulle aikavälille, mutta ei itse pulsseja. Bobin vastuulle jää generoida pulssijono annetun kuvauksen mukaan. FPGA:n avulla saa tehtyä vaikka megahertsiluokan pulssijonoja.
Lainaa
[...]
PS. Tuossa  näytille laittamassasi C++ structissa näytti olevan int määrittelyt Mikkisoftan C++/CLI pohjalta, et varmaan ajatellut sekoittaa Frameworkia mukaan driveriin hidastamaan, ja Machan on myös ainakin tällä hetkellä vielä 32 bittinen. Jos sulla on MSDN, niin eikös ne vanhat VS versiot saa ladattua Mikkosoftasta? Itselläni on korkkaamaton MSDN VS2010:ssa, mutta en ole vielä tsekannut miten onnistuu. Tarvitsen itse 2005 versiota jossain vaiheessa.
C++ standardit ei taida tuntea 64-bittistä integer-datatyyppiä joten semmoinen pitää keksiä lennosta ja tämä on MS:n versio aiheesta. Tuo __INT64 voidaan castata ihan miksi vaan halutaan joten ei sen käyttö edellytä mitään muita kirjastoja tai frameworkeja.
Netistä löytyy fiksattu plugin-kehitysympäristö VS2008:lle ja sen olen saanut asennettua toimivaksi niin, että demoplugari kääntyy samoin netistä löytyvällä VS2008-versiolla.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: ftec - 09.12.12 - klo:12:13
Tuo Edinging kortti käyttää halpaa Atomia ytimenä. Sellainenkin ajatus voisi olla mahdollinen, että suunnitteleekin kortin PC:n emoksi, josta on riisuttu aivan kaikki ylimääräinen (Atomin tai muun PC prossun ympärille). Kellotus suunniteltu niin, että palvelee CNC:n tarkoitusperiä. Laittaa siihen sitten softaksi pyörimään open source EMC:n, jossa tarvittava matikka on jo valmiina ja sitä voi myös muokata eteenpäin. Kortille sitten PC:n ytimen lisäksi kaikki kuvatut ja halutut BOB ominaisuudet ym. mitä CNC konetta varten lisää tarvitaan.

Yhteys käyttäjän PC:ssä pyörivään käyttöliittymään esim. sitten Ethernetillä. Mach käyttää Cypress Basicia käyttöliittymässä, Eding jotain muuta lisenssiä. En tiedä mitä maksavat, mutta ehkä noitakaan ei tarvita jos käyttis suunniteltaisiin pyörimään Win puolella Frameworkillä, jolloin sitä voisi muokata haluamakseen ilmaisella VS Expressillä. Pitäisi vain tehdä DLL jolla käyttis kytketään Ethernetin kautta kortiin.

EDIT: Edling p.o. Eding
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: ftec - 09.12.12 - klo:12:55
Lainaus käyttäjältä: Kremmen - 09.12.12 - klo:12:08
...C++ standardit ei taida tuntea 64-bittistä integer-datatyyppiä joten semmoinen pitää keksiä lennosta ja tämä on MS:n versio aiheesta. Tuo __INT64 voidaan castata ihan miksi vaan halutaan joten ei sen käyttö edellytä mitään muita kirjastoja tai frameworkeja.
...

Jep, tuli vain mieleen kun puhuit Expressistä ja käytit myös MIDL typedef muuttujia.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: saulij - 09.12.12 - klo:13:11
Ulkoisella pulssilaitteella kuten SS, ei ole mitään merkitystä Machin pulssitaajudella. SS pystyy tuottamaan pulsseja 2 MHz taajuudella, mikä riittää kyllä nopeisiin liikeisiin suurellakin enkooderilla.

Kannatan myös Mach, puutteineen/vikoineen ym samoista syistä kuin dyykkari.
Eding tarvitsee kaverikseen ainakin yksinkertaisen BOBin, johon saa johdot ruuvata kiinni.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: ftec - 09.12.12 - klo:15:50
Lainaus käyttäjältä: saulij - 09.12.12 - klo:13:11
Ulkoisella pulssilaitteella kuten SS, ei ole mitään merkitystä Machin pulssitaajudella. SS pystyy tuottamaan pulsseja 2 MHz taajuudella, mikä riittää kyllä nopeisiin liikeisiin suurellakin enkooderilla.

...

OK, ja nyt näköjään SS:ään on Ethernet vaihtoehto Usb:n sijasta. Tuossa puhutaan jopa 4MHz:stä:

http://www.automationtechnologiesinc.com/products-page/breakout-boards/smoothstepper-ethernet-motion-control-board-for-mach-3
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: ftec - 09.12.12 - klo:22:02
Tuosta Eding värkistä löytyy mielenkiintoista historiaa netistä keskustelupalstoilta yli 10 vuoden takaa. Eding on ensin muuttanut EMC:n pyörimään Win NT:ssä ja kehitellyt siitä juttua sitten eteenpäin.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Miguel- - 13.12.12 - klo:23:06
Meniköhän tuo timin kysymys tuosta zapp:n linkin takaa löytyvästä purelogic:n vehkeestä ohi suurelta yleisöltä?

Eli kyseessä näyttäisi olevan juurikin keskustellun tyylinen laite ja hinnaltaan zappin kautta asialliset 130 puntaa plus verot ym. Tätä ja muita heidän tuotteita löytyy suoraan purelogiciltakin hieman halvemmalla, kuin zapin kautta http://www.plmotion.com (http://www.plmotion.com)

Ajurit tuohon pitää ajaa sekä machin plugini ja näyttäisi olevan 100khz pulssitaajuus.

Käykääs muutkin tutkimassa tuota, noilla venäjänkielisillä sivuilla on tuotteita vielä reilusti enemmänkin, tosin translaten käyttäminen ei välttämättä toimi ihan parhaiten :)

ps. älkää välittäkö illan aivopieruisesta kirjoitustyylistä, taitaa olla nukkumaanmenoaika jo takanapäin
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Timo Hotti - 13.12.12 - klo:23:10
Lainaus käyttäjältä: Miguel- - 13.12.12 - klo:23:06
Meniköhän tuo timin kysymys tuosta zapp:n linkin takaa löytyvästä purelogic:n vehkeestä ohi suurelta yleisöltä?

Eli kyseessä näyttäisi olevan juurikin keskustellun tyylinen laite ja hinnaltaan zappin kautta asialliset 130 puntaa plus verot ym. Tätä ja muita heidän tuotteita löytyy suoraan purelogiciltakin hieman halvemmalla, kuin zapin kautta http://www.plmotion.com (http://www.plmotion.com)

Ajurit tuohon pitää ajaa sekä machin plugini ja näyttäisi olevan 100khz pulssitaajuus.

Käykääs muutkin tutkimassa tuota, noilla venäjänkielisillä sivuilla on tuotteita vielä reilusti enemmänkin, tosin translaten käyttäminen ei välttämättä toimi ihan parhaiten :)

ps. älkää välittäkö illan aivopieruisesta kirjoitustyylistä, taitaa olla nukkumaanmenoaika jo takanapäin

Ootkos tilannut tuolta mitään, miten toimitukset toimii?
Zappilta oon saanut asialliset, nopeat toimitukset ja ohjeet kaupanpäälle.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: jyrki.j.koivisto - 17.12.12 - klo:11:02
Tuossa olisi yksi valmis Arm-prossukortti ethernetillä ja laajalla IO-liitynnällä, https://www.sparkfun.com/products/11605
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Timo Hotti - 10.04.13 - klo:18:47
Minkähänlainen kortti tällainen olisi?

http://www.goodluckbuy.com/new-4-axis-usb-cnc-controller-cncusb-usbcnc-cnc-usb-alternative-mach3-usbcnc-2-1.html

Hinnalla ei o pilattu ja rahtivapaasti. Taidan yhden kortin ottaa koemielessä jos pääsis tosta LPT portista vaikka eroon. Kellään kokemusta?

Voiko tällaisia laittaa useampia samaan koneeseen jos tarvitsee esim. 5 akselia?

Timi
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: saulij - 10.04.13 - klo:19:32
Vaikuttaa ihan hyvältä muute, mutta vain "25 kHz maximum step frequency", eli on aika hidas.
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Timo Hotti - 10.04.13 - klo:20:00
Joo, hyvä huomio. Juuri tuo on ollut lpt portin ongelma kun tarttis useammalle akselille vauhtia...
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: TeacDance - 10.04.13 - klo:22:47
Lainaus käyttäjältä: Timo Hotti - 10.04.13 - klo:20:00
Joo, hyvä huomio. Juuri tuo on ollut lpt portin ongelma kun tarttis useammalle akselille vauhtia...

Varmaan ihan paska kyllä se tässä on huomattu että jossain noissa on aina säästetty jos ne pilkka hintaan saapi. maltetaan odotetaan tuota Über korttia  8)

mulla on jos joku tarttee niin tuommoinen kiinalainen lpt porttiin tarkoitettu kortti ylinmääräisenä tilasin sen mutta sitten tulikin tuo kremmerin kortti niin en laittanutkaan sitä 10eurolla lähtee postikuluineen jotain kiinalaisia ohjeita siinä oli ja cd-romppu
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: TeacDance - 01.11.14 - klo:01:32
Mikäs tämän tilanne :)
Otsikko: Vs: Über-breakout v 2.0
Kirjoitti: Grinder831 - 14.10.15 - klo:17:27
 8)  :)