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

Jyrsin projekti 2011 sähköistäminen

Aloittaja Jarkko Nieminen, 06.09.14 - klo:21:16

« edellinen - seuraava »

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

Jarkko Nieminen

Moi,

Alun perin oli ajatus käyttää tuota Kremmenin BOB korttia, jolla olisi välitetty step ja dir tieto Omronin SGDH pakeille. Nyt on herännyt kiinnostus saada järjestelmästä oikea "cnc kone" eli sellainen että servoilta tulisi enkoodereiden takaisin kytkentä PC:lle eli kaiketi sitten Linuxcnc.

Mitä osia tarvitsisin jotta ko. homma onnistuisi? Mesalla näytti olevan vaikka mitä, mutta kun en asiasta juuri tiedä oli pakko lähestyä arvon kanssa harrastajia.

onnistuuko plug and play tyyppisesti, vai vaatiiko jotain ohjelmointia yms, joka ei minulta taivu.

-Jarkko
ex nimimerkki jarkko.j

Kremmen

Omronin (siis Yaskawan tekeleitähän ne on) SGDH-servopakit on tarkoitettu käytettäväksi SGMxx -AC-servomoottorien kanssa. Noihin yleensä sisältyy enkooderi eikä enkooderittomia koneita pidäkään edes miettiä koska homma menee vaikeaksi. Enkooderi voi olla joko inkrementti- tai absoluuttiversio ja molemmat toimivat. Absoluuttienkooderin kanssa säästyy kotiinajolta joka startissa, mutta eipä siinä muuta eroa ole. Minulla on marsu-projektijyrsimessa juurikin tuollaiset Sigma II-sarjan SGDH-20DE -pakit ja niiden perässä SGMGH-20D -moottorit. Servopakin tyyppikoodissa oleva E-kirjain indikoi, että pakki osaa sekä paikka-, nopeus-, että momenttisäädön. Paikkaohje voidaan antaa pulssijonona, mutta nopeus- ja momenttiohje annetaan max +/- 10V analogijännitteenä. Jos käytät LinuxCNC:tä niin oletusarvo on, että servopakkia ajetaan momenttisäätöisenä ja PC laskee tavoite asemat ja niistä nopeuden- ja momentin ohjearvot. Tämä ei onnistu LPT-portista saatavalla signaloinnilla joten siihen tarvitaan apuja.
Mesan FPGA-kortteihin saa ladattua erilaisia säätöalgoritmeja sen mukaan mitä tarkkaan ottaen haluat laskettavan missäkin.

Tarviit siis sopivan Mesan FPGA-kortin. Näitä on lukuisia erilaisia, sopiva saattaisi olla 5i20 mutta muitakin ja tehokkaampia Mesalta löytyy. Tuolla nyt vamaan tulisi toimeen kumminkin. Siinä on 3 kpl bob-liitäntöjä ja kukin pystyy välittämään 25 signaalia, eli yhteensä 75. Riittänee jollei kone ole überkompleksinen. Yhden liittimen kautta kulkee 4 kanavan servosignaalit ja muiden kahden kautta yleinen I/O joka välitetään LinuxCNC:lle about sellaisenaan.

Servojen liittämiseksi tarvitset Mesan breakout-kortin ja FPGA-kortilta tulevan 50-napaise lattakaapelin. Servokäyttöön sopiva bob voisi olla esim 7i33 joka osaa välittää tyypillisen analogiohjatun servon signaloinnin. Muitakin vaihtoehtoja on.

Laitoin oheen liitteeksi pari marsun sähkökuvaa joista ehkä selviää jotain. Servot ja karan tamu on näissä kuvissa kaikki nopeussäädettyjä, mutta momenttisäätö aiheuttaa kuvissa vain ohjesignaalin siirron liittimessä toiseen paikkaan. (X-akselin kuvassa näkyy servopakin liittimet T-ref ja GND).

SGMGH-moottorien enkooderit on semimoderneja sarjaprotokollaa käyttäviä laitteita, joten mitään A-, B-, Z-pulssijonoja et niistä saa. Tämän takia enkooderi on kytkettävä suoraan servopakkiin siten kuin dokumentaatio osoittaa, käyttäen servopakin päässä 6-napaista Firewire-liitintä. LinuxCNC:lle menevä enkooderitieto otetaan ulos servopakilta joka transformoi sarjadatana tulleen asematiedon ABZ-pulssijonoksi sähköisen vaihdelaatikon läpi. Vaihdelaatikossa voit melko vapaasti asettaa halutun resoluution per moottoriakselin kierros ja LinuxCNC näkee tämän resoluution.
Tästä samaisesta syystä ei kannata harkitakaan mitään muita moottoreita kuin Yaskawan/Omronin omia joissa on yhteensopiva enkooderi valmiina.

Varsinaista ohjelmointia tämän homman ei pitäisi vaatia. Sen sijaan joudut varautumaan seuraavaan:
- LinuxCNC:n käynnistyksessä pitää ladata Mesan kortin ajurit sekä FPGA-kortille haluttu servo-ohjelma ja I/O-ohjaimet. Nämä määritellään LinuxCNC:n konfiguraatiossa. Joudut siis opiskelemaan dokumentaatiosta mitkä modulit pitää ladata ja miten se tapahtuu, sekä kirjoittamaan vastaavat tiedot LinuxCNC:n asianmukaisiin konfistiedostoihin.
- Edelleen LinuxCNC:tä konfaamalla kytketään servojen ohjaussignaalit sekä yleinen I/O Mesan systeemin inputteihin ja outputteihin. Tähän on ainakin osittain olemassa helpot konfiguraattorit.
- Servopakit on konfiguroitava toimimaan halutussa moodissa ja halutuilla / sopivilla parametriarvoilla. Isommissa SGDH-pakeissa on toistasataa konfigurointiarvoa ja useimmat niistä pitää olla järkevissä arvoissa. Jotkin vielä täsmälleen oikein. Lisäksi servojen säädöt pitää virittää tavalla tai toisella. SGDH-pakeissa on automaattiviritys ainakin joillekin toimintamoodeille, mutta silti hommaan pitää paneutua eikä se tapahdu ihan viidessä minuutissa.

Kaikki selvää tähän asti? Jollei niin koetetaan autella eteenpäin.

Nothing sings like a kilovolt
Dr W. Bishop

tanantunari

Pistän tän nyt tähän ḱu samaa aihetta.

Eli Henkistä tukea kaivataan!

Eli Linux CNC + Mesan 5i20 ja 7i48 + Omron SGDH-02AE-OY setupilla leikitään.

Kytkentään tarvis varmistusta ennen kun alan johtoo kolvaa, jos joku kuka näistä enemmän ymmärtää ni kattos ja korjais jos on persiillään.

Tarkotuksena ny ens alkuun ihan vaan saadan kytkennät oikein että voin alkaa linux puolta ihmettelee ja koittaa saada moottorin pyörii.

Liitin CN1                         Mesa 7i48, Liitin P4, Kanava 0

9. Tref                >                  20. AOUT0 
10. SG               >                  19. GND0

19. PCO             >                  7. IDX0 
20. /PCO            >                  8. /IDX0 

33. PAO               >                1. ENCA0
34. /PAO              >                2. /ENCA0

35. PBO               >                4. ENCB0
36. /PBO              >                5. /ENCB0

40.  /S-ON            >                ENA0+    ->        ja     ENA0- 24V virtalähteen -
47. +24VIN          >                Tähän 24V virtalähteen +

                                               6. +5V from 7i48     (tämä ? eikös nämä ole encoderille ja se saa jo                                         
                                               3.  GND                                virtansa servo ohjaimelta)                   

Isto

Nuo 2 alinta ("6. +5V from 7i48" ja "3. GND") jätetään kytkemättä, tarvitaan vain signaalit servolta mesalle, ei käyttöjännitettä.
Samoin varmista että 7i48 jumpperit on oikein enkooderisignaalin kannalta, oletus on TTL ja se ei käy tähän eli W13,W16,W19 Mesan manuaalin  mukaan "right"- asentoon.
Muuten näyttää oikealta.

tanantunari

#4
Thanks! For quick reply

Ja korttia katottiin niinpäin että 50pin liitin on vasemmalla pystyssä ja 5v liitin ylhäällä, niin niihin nähden kaikki jumpperit oikeelle.

Kiiitoksia vain, huomenna pääsee vähä taas eteenpäin

Edit. Onko Manuskassa  tai kokoonpanossa muuten virhe, tässä lukee että DEFAULT SETTING => LEFT=TTL enkä oo noihin jumppereihin koskenu ja ne on oikeella, cable power select on oikein.
TTL:n ja RS422:n ero ei ole kyllä selvillä mutta eiköhän sekin tästä.

Isto

Tästä katsoin: http://www.mesanet.com/pdf/motion/7i48man.pdf
Sivulla 3 on kuva jonka mukaan jumpperit pitäisi katsoa, ja siinäkin näyttäisivät olevan kaikki "oikealla".
Ehkä kannattaa varmistaa Mesalta kumpi on se virallisesti oikea asetus kun kerran kortti eroaa manuaalista. Vuosi/pari sitten ainakin vastailivat nopeasti kysymyksiin.

Pikaisesti yksinkertaistettuna:
TTL: "0" = 0..0.8V ja "1" = 2..5V, kahdella johdolla joista toinen on maa ja toinen signaali.
RS422: -6V...+6V,  kahdella johdolla joista toinen on signaali+ ja toinen signaali-, ei maata.

tanantunari

#6
Tarvii pistää sähköpostia ja varmistaa.

Manuskan sivut 2 ja 3 antaa ristikkäistä informaatioo, eusurplus firman sivulla on kuva kortista kts.liite, ni siinä jumpperit on sit taas toisinpäin.

Edit. Mesalta vastattiin näin.

"The manual is correct. It may be that the cards came from assembly with the wrong settings (Left) so ended up after testing in the right hand position"




Powered by EzPortal
SMF spam blocked by CleanTalk