Über-breakout v 2.0

Aloittaja Kremmen, 29.11.12 - klo:17:42

« edellinen - seuraava »

0 Jäsenet ja 1 Vieras katselee tätä aihetta.

Kremmen

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?
Nothing sings like a kilovolt
Dr W. Bishop

olli henttonen

#1
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.
dyykkari

nirkkow

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...

Jarkko Nieminen

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
ex nimimerkki jarkko.j

Jarkko Nieminen

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
ex nimimerkki jarkko.j

TeacDance

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ä..
_________________
Tero Koskela
Ylivieska

YouTube

Hiekkaranta_92

#6
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...

Kremmen

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.
Nothing sings like a kilovolt
Dr W. Bishop

Kremmen

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ä.
Nothing sings like a kilovolt
Dr W. Bishop

olli henttonen

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.
dyykkari

Kremmen

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.
Nothing sings like a kilovolt
Dr W. Bishop

Jarkko Nieminen

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
ex nimimerkki jarkko.j

Maukka

Kyllä kuulostaa hyvältä, mutta olisiko mahdollista jollain ottaa selkoa onnistuisiko käyttö myös linux emc:llä?

olli henttonen

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.
dyykkari

Kremmen

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
Nothing sings like a kilovolt
Dr W. Bishop

Powered by EzPortal
SMF spam blocked by CleanTalk