Huomenta kaikki lastuajat,
Olen tässä iltapuhteiksi työstellyt ikuisuusprojekti-marsun sähkökuvia ja sekin homma alkaa olla voiton puolella. Tämä projektihan ei siis perustu tarpeeseen työstää metallia vaan harrastaa koneen rakentamista :) :) No, ehkä sillä lähitulevaisuudessa työstetäänkin, mutta asiaan:
Käväisin taas vähästä aikaa pläräämässä LinuxCNC:n wikiä, kun se on marsun ohjaussysteemi. Mulla on marsussa Mesan FPGA-kortti generoimassa servosignaalit ja yleistä I/O:ta. Haasteena on vaan, että I/O käy vähiin; marsussa on aika paljon ohjattavia leluja kun siinä on oma hydraulikoneikko, työkalunvaihtaja, 4-5 voitelupumppua eri kohteisiin, 2-vaihteinen kara erillisellä lukituksella ja tietty muljun, sumutuksen ja ilmapuhalluksen ohjaukset, sekvensseripoljin ja varmaan vielä muutakin minkä tässä unohdan. Kaikkea pitää ohjata sekä käsin että automaattisesti, tietty. Ja kun kaikkea ihminen haluaa niin minä haluan marsuun kunnolliset fyysiset ohjainnamikat niinkuin "oikeissa" koneissa on, eikä mitään PC:n kuvaruudun virtuaalinappeja. Suunnittelin jo hommata toisen FPGA-kortin ja sille bobin, mutta törmäsinpä sattumalta tähän: http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Shift_Register_Port_Expander (http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Shift_Register_Port_Expander). Tuohan on loistava kyhäelmä, sillä saa jumalattomasti I/O:ta edullisesti. Äkkiä laskien rinnakkaisportissa on 12 lähtösignaalia ja 5 tulosignaalia. Kun I/O-laajennin tarvii 3 lähtöä ja 1 tulon niin yhteen porttiin saa 4 laajenninta, eli 4*16 = 64 I/O-signaalia! Noistahan rakentaa ihan mitä vaan. Tavalliseen PC:hen saa ainakin 2 rinnakkaisporttia joten vaikka stepperien tms pulssitukset onnistuu toisella ja I/O toisella kortilla.
Meinaan lähteä suorilta rakentamaan tuohon konseptiin sopivaa I/O-korttia ja sovitinta jolla käytettävät rinnakkaisportin I/O-pinnit ohjataan I/O-korteille. Eli max 4 kpl 16 in / 16 out -korttia per portti ja niiden eteen valitsin jolla signalointi ohjataan oikealle I/O-kortille.
Onko foorumilla kiinnostuneita tällaisesta? Nyt on mahdollisuus vaikuttaa asiaan ja ilmaista kiinnostuksensa. Oma tämänhetkinen ajatus on rakennella muutama erilainen I/O-adapteri vaikkapa yleiseen signalointiin (5-24V optoerotettu); 230VAC-ohjauksiin releillä (lähdöt) ja optoilla(tulot); mahdollisesti (ja jopa luultavasti) extenderi eli RS485-ajureilla tms toteutettu "jatkokaapeli" jolla I/O-adapteri voidaan viedä kauemmas PC:stä, vaikka toiselle puolelle konetta. Itse ainakin tarvitsen sellaista - marsu kun on aika iso.
Aikataulu tälle olisi "kevään kuluessa" eli ei ihan tarkkaan osaa vielä sanoa, mutta mitään suurta mysteeriä tuossa ei ole.
Liitteenä kuva joka saattaa selventää, tai sitten ei...
Elikkä tuommoinen on lähdössä liikkeelle, kuka haluaa hypätä kelkkaan niin mainitkoon asiasta. Periaate on sama kuin meikän muissakin projekteissa, eli omakustannushinnalla liikkeellä, ja vehkeet rakennetaan laatukomponenteista asiaa kumminkaan liioittelematta. Ei näistä mitään hirmu hintaisia kapineita ole tulossa, tarvittava kama on lopulta kohtuullisen edullista.
Kaikki kommentit on tervetulleita ja toivottuja ihan siitä riippumatta haluatteko lähteä mukaan. Itse mietin mm. sellaista, että pitäisikö tehdä 5-24V logiikalle optio jossa on galvaanisesti erotettu apujännitteen syöttö (siis niin, että signalointi on erillään mahdollisesti tarvittavasta apujännitteestä). Varmaan kohta mietin montaa muutakin juttua mutta palataa niihin jos/kun asia etenee.
No terve Kremmen!
Tässä taitaa olla johdatusta. Ostin nimittäin pienen Terco-jyrsimen, jossa Linuxcnc valmiiksi asennettuna ja tämä ohjaa siis kolmea stepperiä. Laitoin tähän kiinankaran tamulla. Tamua ohjailen ensin ihan sen omasta nippeleistä, mutta aloin jo miettimään, millaisen kortin sitä tilaisi.
Lisäksi olen miettinyt josko tulevaisuudessa laittaisi kaksi akselia lisää, olis hyllyssä geckot ja servot valmiina. Eikös tällä sun kortilla pystyis ohjaamaan viittä akselia ja karan tamua? Jos kyllä niin kiinnostaa ja kiirettä ei tosiaankaan ole.
Sen verran pitää olla varovainen, että tämän systeemin kautta ei varmaan kannata yrittää stepperien tai servojen pulssitusta. Jos nyt luetun ymmärtäminen toimi niin LinuxCNC:n wiki-sivuilla puhuttiin noin kilohertsin kellotustaajuudesta, eli se jaettuna karkeasti 16:lla (I/O-kanavien määrä) olisi siinä 62 Hz. Riittää kyllä yleiskäyttöisen I/O:n päivitystahdiksi, mutta eihän tuolla taajuudella voi steppereitä askeltaa. Konehan olisi hidas kuin jääkauden eteneminen...
Yhdestä LPT-portista saa 4 pulssikanavaa ulos, sitten loppuu pinnit. Jos ollaan oikein viekkaita niin toisesta LPT-portista voi napata pari signaalia niin, että saa vielä viidennen pulssikanavan ja loput menisi sitten I/O-käyttöön. Jos tämä oli ajatus niin voin ottaa sen mietintään, mutta pikkasen mutkistaa systeemiä.
Vaatisiko tamu analogiohjesignaalin vai pulssituksen? Pulssit menisi samalla ajatuksella, mutta analogsignaali tarttisi jonkun pwm- tai pdm-suodattimen. Niitäkin voidaan kyhätä.
Odotellaan vähän josko tulee muitakin kommentteja ja edetään sitten ajatuksessa.
Analogi.... ::)
http://www.automationtechnologiesinc.com/products-page/cnc-spindle/led-display
Kun LinuxCNC:ssä voi aika vapaasti ohjata noita signaaleja I/O-laitteiden loogisiin pinneihin, niin tämmöinen ajatus vaikuttaisi toimivalta ratkaisulta:
- konseptiin mukaan LPT-porttiin laitetaan kiinni splitteri, joka ohjaa sarja-I/O:n kanavat 4 Ethernet-kaapeliin. Kuhunkin tulee differentiaalisignaalina lähjtevä ja tuleva datakanava, siirtokello ja siirtolatchien aktivointipulssi. Tämän lisäksi 3 erillistä johdinta +12V, +5V ja COMmon. Viimeksimainitut otetaan PC:ltä vakiomallisen levypoweriliittimen kautta.
Mitä tässä nyt tapahtuu on, että efektiivisesti LPT-portin 3 lähtöä ja 1 tulo on kytketty kuhunkin splitattuun kanavaan. Ei mikään luonnonlaki määrää, että kanavassa pitää olla juuri sarja-I/O-laite perässä.
Niinpä tehdään kanavaan sopiva analogivahvistin joka ottaa sisään pwm-signaalia ja muuntaa sen 0 - 10V analogisignaaliksi. Kaksi muuta lähtösignaalia voivat olla haluttuja ohjaussignaaleja, esim enable+suunta tai käynti etteen/käynti taqakse. Ihan sen mukaan mitä VFD odottaa saavansa. Samoin se ainoa tulokanava voidaan käyttää haluttuun signaaliin, vaikka "at speed" tai alarm tai mitä nyt vaan.
Toinen vaihtoehto on hoitaa kaikki tilasignalointi muiden sarja-I/O-adapterien kautta ja varata yksi kanava kokonaan analogilähdöille. Tällöin niitä saisi samalle kortille 3 kpl kun ottaa kaikki lähtökanavat käyttöön.
Miltäs tuo kuullostaisi?
Mistään mitään tiedä mutta pakko kysyä mikset käytä modbussia? Ladderilla suora tuki käsittääkseni. Ja silloin tuo io lauta kävis vaikka mihin ;D
No miksipä ei, joskin Modbus on huomattavasti monimutkaisempi - tämä serIO on ääliöyksinkertainen. Jos mä vähän avaan:
-Modbus on "aito" dataväylä joka määrittelee sekä fyysisen kerroksen (eli käytännössä RS485 tai sinne päin) että linkkikerroksen saantimenetelmineen. Tätä varten kaikilla modbus-nodeilla pitää olla oma osoite jonka ne tunnistavat ja jota master käyttää kun sillä on asiaa nodelle. Väylällä noudatetaan määriteltyä saantimenetelmää mikä käytännössä tarkoittaa, että vain yksi node kerrallaan voi puhua väylään.
-Sanomat ovat tyypitettyjä ja hyötykuorma on joko teksti- tai binäärimuotoista dataa. Datalle on siten tietenkin vaihtelevia keskenään yhteensopimattomia esitysmuotoja
-Modbus-väylä voidaan toteuttaa Ethernetillä tai sarjakanavalla. Ainakaan sarjakanavalla ei päästä lähellekään sellaisiin vauhteihin, että esim servon/tamun pwm-ohjaus olisi käytännössä mahdollista.
-Modbus on aikanaan suunniteltu ohjelmoitavien logiikoiden yhteyskanavaksi ja semmoiseen se sopii, jos/kun signaloinnin ajastusvaatimukset ei ole nuukia. Rele-I/O:ta modbussillakin pystyy tottakai hoitamaan hienosti.
Mutta kun sen saman pystyy tekemään tällä serIO-"protokollalla" yhtä hyvin ja paremmin ilman mitään overheadia. On totta, että modbussilla voi tehdä suoraviivaisesti tuhannen I/O-pisteen systeemin, mutta kun ei tässä olla sellaiseen pyrkimässä. Eli ei ole vaatimus. SerIO on suoraviivainen - ei mitään väylien konfigurointeja eikä mitään sanomaliikenteen törmäystenhallintaa eikä ajastusongelmia - ei mitään sellaista. Valitset vaan HAL IO:ssa pinnin johon/josta haluat kaman ulos/sisään ja kun pinni on kiinnitetty oikean kanavan oikeaan lokeroon niin se on siinä. Helppo käsittää ja helppo toteuttaa.
Splitterikortti ei tee mitään muuta kuin ottaa yhden LPT-portin fyysisen pinnin ja muuttaa sen lähteväksi / tulevaksi differentiaalisignaaliksi joka kestää häiriöitä. Oletusarvoisesti signaalit jaetaan tasan 4 kanavaan, mutta splittauksesta voi tehdä eri versioita helposti. Toisessa päässä voi olla joko serIO-käytännön mukainen I/O-laite tai kuten edellä maalailin, niin jotain ihan muuta. Kuten nyt vaikkapa pwm-ohjattu analogilähtö. LinuxCNC:n päässä ei edelleenkään tarvitse kuin ohjata pwm-signaali haluttuun LPT-portin pinniin niin sieltä se tulee kanavasta ulos toisessa päässä. RS485-signalointi vaan mahdollistaa pwm-signaalin kuskaamisen kauemmaksikin häiriövapaasti. (Olen juuri piirtämässä input-tasoriippumatonta pwm-demodulaattori/vahvistinta josta näyttää tulevan aika hyvä. Käytän sitä varmaan itsekin vielä ja voisi olla pavelle ja muillekin tarvitsijoille jotain iloa siitä).
Nämä on minun syitäni miksi suosin tässä yhteydessä simppeliä ratkaisua. Ei se mitenkään poissulje, etteikö modbussia voi ajatella myös, mutta mennään siihen jos jollakulla on aitoa tarvetta.
Jo selkes idea... mites noiden io nopeuksien kanssa?
Pistämpä kuitenkin linkin jos joku ei ollut tietoinen.
käy esim tamujen ohjaamiseen...
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?ClassicLadder_Ver_7.124
Lainaus käyttäjältä: porepe - 07.02.14 - klo:12:55
Jo selkes idea... mites noiden io nopeuksien kanssa?
Pistämpä kuitenkin linkin jos joku ei ollut tietoinen.
käy esim tamujen ohjaamiseen...
http://wiki.linuxcnc.org/cgi-bin/wiki.pl?ClassicLadder_Ver_7.124
Modbssin tapauksessa on kaksi i/o-nopeutta: väylän bittinopeus ja tehollinen signalointinopeus (eli kuinka monta bittiä sekunnissa saadaan infoa siirtymään HAL IO:sta toimilaitteelle). Kaikki modbus-laitteet jakavat yhteisen väylän, joten signalointinopeus on enintään väylän tehollinen bittinopeus jaettuna asemien lukumäärällä keskimääräinen sanomapituus huomioiden. Tosin master voi tietty päättää ketä orjaa suosii että kiireiselle nodelle voi lähettää päivityksiä useammin. Mutta väylän tehollista bittinopeutta ei voi ylittää eikä rehellisesti edes saavuttaa per node jos nodeja on yli yksi. Ja sarjalinjan maksiminopeus on se 155 kbps jonka kaikki nodet jakaa keskenään.
Tuossa serIO:ssa ei ole mitöään erityistä ylärajaa; linjadriverit ja siirtorekisterit kellottaa helposti megahertsejä ja yli, että se on enempi kiinni siitä mitä Linux ja RTAI jaksaa vääntää. Useita kilohertsejä nyt kumminkin, niin että vaikka juuri tuo pwm-ohjaus kyllä onnistuu tällä systeemillä.
Tänne ainakin yks paletti testattavaksi jahka valmistuu...
Okei :) palaamme asiaan jahka alkaa olla jotain konkreetista käsissä.
Varmaan riippuu mesa- kortin mallista mutta eiköhän ne kaikki nykyään pysty käyttämään sarjaväylää myös.
Ainakin 5i25 + 7i76/7i77 on käytetty suoraan vain steppigeneraattorit ja enkooderi. Loppu IO menee noiden kahden välillä sarjadatana ja lisäkortilla (7i76/77) on PIC hoitamassa liikenteen ja IO:t ulkomaailmaan.
Mesalta taitaa saada kevyempiäkin sarjakortteja kuin nuo 76/77.
Mutta itse tekeminen on aina plussaa, kerro ihmeessä miten onnistuu.
Taidan kokeilla itsekin koska pikkukaivertimessa ohjaimena on läppäri johon ei saa lisää portteja millään...
Joo varmasti näin ja itsekin käytän Mesan kortteja omassa projektissa. Tässä serialIO:ssa vaan on se hyvä puoli että se ei tarvitse "mitään" sovitinkorttia PC:n päässä. Toki moderneista koneista LPT-portti puuttuu mutta monessa se vielä on ja adapterin saa halvalla.
Tämä projekti on sikäli hyvä, että lopputulos ei ole onnistumisen varassa - tällä samalla tekniikalla olen tehnyt useita kapistuksia, tälläkin foorumilla viimeksi joillekin tutun karan kierroslukumittarin, jossa näytön päivitys toimi samalla periatteella. Kyse on lähinnä siitä koska kerkiää pyöräyttää koko suunnittelu- ja toteutussyklin läpi.
Tämäkin homma etenee. Über-I/O -laajentimen speksit tällä hetkellä:
Alijärjestelmä joka toteuttaa LinuxCNC:n sarjadatakanavaan perustuvan porttilaajentimen.
Kts http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Shift_Register_Port_Expander (http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Shift_Register_Port_Expander).
Alijärjestelmään kuuluu ainakin seuraavat osat:
1: Breakout-kortti
2: Digitaali-I/O -laajennin (16 in, 16 out)
3: 3-kanavainen PWM-analogilähtö (0...10V / -10...+10V)
Breakout-kortti jakaa PC:n rinnakkaisportin signaloinnin 4 kanavaan (3 lähtevää signaalia ja 1 tuleva per kanava) joista jokaiseen voidaan kytkeä tällainen laajennin tai jotain aivan muuta.
Breakout-kortin ja laajentimen välinen signalointi on toteutettu differentiaalisilla RS485-linjaohjaimilla joilla saadaan hyvä häiriönsieto suurilla siirtonopeuksilla. Kaapelointina käytetään standardi Cat5 Ethernet-piuhaa ja liittimiä. Kukin laajenninkortti tarvitsee +5V ja +12V apujännitteet. Nämä on ajateltu otettavaksi PC:ltä breakoutille käyttäen standardi levyaseman poweriliitintä. Kullekin lajenninkortille viedään apujännitteet samanlaisiin liittimiin. Breakout-kortin apujännitelähdöt on sulakesuojattu.
Vaihtoehtoiseti apujännitteet voi tuoda muualtakin, kunhan syötöillä on PC:n kanssa yhteinen maataso ja jännitteet on valmiiksi reguloitu +5 ja +12V:iin.
Digitaali-I/O-laajennin
1: Lähdöt:
Kaikki 16 lähtöä on käytössä. Lähdöt on jaoteltu seuraavasti:
1a: 4 kpl potentiaalivapaata relelähtöä ( 1 sulkeutuva kosketin max 277VAC/30VDC/5A) . Kahdesa ensimmäisessä relelähdössä on kalustusvaihtoehto: haluttaessa voidaan tilalle kalustaa Omron G8P-tehorele (250VAC/28VDC/30A).
1b: 12 kpl optoerotettuja open drain-tyyppisiä NFET-lähtöjä max 100V/1,5A. Lähdöillä on apujännite hilaohjausta varten siten, että ne on ryhmitelty 4 + 8 (4 ensimmäisellä yhteinen apujännite, 8 viimeisellä samoin). Haluttaessa apujännitteet voidaan ketjuttaa kortilla johdotuksen yksinkertaistamiseksi. Minimiapujännite on 5V, maksimi 48V. Fetit voivat ohjata eri jännitteisiä piirejä kunhan niillä on ryhmittäin yhteinen maataso keskenään ja apujännitteen kanssa.
2: Tulot:
Kaikki 16 tuloa ovat käytössä. Tulot on ryhmitelty seuraavasti:
2a: 8 kpl optoerotettuja digitalituloja. Tulopiirit ovat kelluvia ja kaikki toisistaan ja kortin elektroniikasta galvaanisesti erotettuja. Piirit on varustettu Schmitt-triggerillä hitaiden reunojen värähtelyn estämiseksi. Tulopiirin jännitettä voi sovittaa opton etuvastusta muuttelemalla.
2b: 8 kpl galvaanisesti erottamattomia digitaalituloja. Tulot on suojattu ylijännitteitä ja piikkejä vastaan, mutta ne jakavat maatason keskenään ja kortin elektronikan kanssa. Tulot on tarkoitettu potentiaalivapaiden kosketintietojen keräilyyn mutta niitä voi harkiten käyttää mihin vaan kunhan pidetään huoli ettei synny liiallisia kiertovirtoja maajohtimissa.
PWM-analogilähtö
3 optoerotettua analogilähtöä jotka voidaan erikseen konfiguroida toimimaan joko 0 ... +10V tai -10V ... +10V alueella. Kunkin kanavan lähtöjännite on suoraan suhteellinen vastaavan kanavan pwm-modulaatioasteeseen missä 0 vastaa alinta konfiguroitua lähtöjännitettä ja 100% ylintä. Näiden välillä jännite on lineaarisesti suhteellinen modulaatioasteeseen.
Ottaisin mielelläni vastaan kommentteja jos jotakuta kiinnostaa aiheeseen paneutua.
Piirikaaviot on vielä pikkasen työn alla, voin laittaa nekin jakoon kohtapuoliin jos ketä kiinnostaa moinen.
Mielenkiintoinen projekti. Kytkis kiinnostaa, erityisesti tuo galvaanisesti erotettu PWM ja muukin I/O. On se hyvä kun joku saa jotain aikaa.
Mitä tossa voi olla väylän pituus?
I2C näyttää mielenkiintoiselta, mutta joku tyhmä orja vetää lopulta jommankumman linjan turpeeseen ja pitää siellä...eikös Modbus poista niskoittelevan orjan kierrosta? Lukeakseni väylän pituus jotain alle metrin.
MCP23017-E/SP
http://www.abelectronics.co.uk/docs/stock/raspberrypi/iopi/IOPi-schematic.pdf
PekkaNF
Lainaus käyttäjältä: PekkaNF - 02.03.14 - klo:20:34
Mielenkiintoinen projekti. Kytkis kiinnostaa, erityisesti tuo galvaanisesti erotettu PWM ja muukin I/O. On se hyvä kun joku saa jotain aikaa.
Mitä tossa voi olla väylän pituus?
Laitanpa piirikaaviot näkyviin jahka saan ne esittelykelpoiseen kuntoon.
RS422/485 -väylät voi olla pitkiäkin. Niille on määritelty taajuuden ja etäisyyden tuloksi 100 Mb/s*m. Eli 100 metrin linjalla pitäisi siirtonopeus rajata max 1 megabitti sekunnissa. Joka tapauksessa vauhdit ja pituudet riittää hyvin näihin tarkoituksiin.
Lainaa
I2C näyttää mielenkiintoiselta, mutta joku tyhmä orja vetää lopulta jommankumman linjan turpeeseen ja pitää siellä...eikös Modbus poista niskoittelevan orjan kierrosta? Lukeakseni väylän pituus jotain alle metrin.
I2C on alunperin ajateltu yhden piirilevyn sisällä tapahtuvaan tiedonsiirtoon. Ei mikään fysiikan laki estä käyttämästä sitä laitteiden välilläkin, mutta fyysinen signalointi ei ole kovin häiriösietoinen.
Modbus-väylän turvapiirteistä en tiedä kovin tarkkaan. Protokollaa voi ajaa ainakin sarjaväylässä ja Ethernetin yli eikä kummassakaan ole fyysisellä kerroksella mitään mekanismia sulkea nodea pois linkiltä, joten jos tuommoinen ominaisuus on, niin sen täytyy perustua yhteistyöhön. Vikatapauksessa .... hmm.
Lainaa
MCP23017-E/SP
http://www.abelectronics.co.uk/docs/stock/raspberrypi/iopi/IOPi-schematic.pdf
Tuo Microchipin piiri on IO expanderi jota siis Pii näköjään käytää. Siinä on sekä SPI että I2C-linjakurit toteutettuna joten sikäli sopii erilaisiin käyttötarkoituksiin. Se on myös ohjelmoitava eli porttikonfiguration voi siinä säätää mieleisekseen.
Tässä nimenomaisessa tapauksessa noita ominaisuuksia vaan ei pääse hyödyntämään kun fyysinen protokolla on jo saneltu LinuxCNC:n puolelta. Toinen oleellinen juttu on, että piiri pitää alustaa ja siihen tarvitaan aika suora yhteys ohjaavaan kontrolleriin jota tässä sovelluksessa on vähän vaikea järjestää.
Mutta jos tästä systeemistä kehitellään sellaisia variaatioita joissa nuo ei muodostu esteiksi niin sitten tuokin on varteenotettava vaihtoehto joustavuutensa takia. Muistakseni Opto-22 I/O-modulit on jo vuosikymmeniä olleet sellaisia että inputit ja outputit istuu samaan sokettiin jolloin I/O:n voi kasata tapauskohtaisesti. Mutta aika hintava siitä sillä tavalla tulee...
Lainaa
PekkaNF
Tässä digitaali-I/O -kortin piirikaavio.
Kaavio on hierarkinen joten vaatii vähän tarkkasilmäisyyttä, muta kaikki blokit on kyllä tässä.
Jostain syystä Foxit-printteri päätti laatia ylimääräisen laatikon jokaisen kaavion vasempaan ylänurkkaan - se ei meina mitään.
Laitan lisää kaavioita seuraaviin viesteihin.
Tässä splitterin piirikaavio. Tämä siis kytketään PC:n rinnakkaisporttiin ja se hajottaa signaalit 4 differentiaalikanavalle johon voi laittaa jotain perään, vaikkapa tuollaisen I/O-laajentimen tai analogilähdön tms mitä nyt keksitään.
Tässä vielä analogivahvistimen ensimmäinen versio. Seuraavaksi meinaan simuloida kaikki ja rakennella protoja sen verran kuin tarvitaan. Sen jälkeen tulee ajankohtaiseksi tilailla piirilevyjä ja varmaan silloin alan kyselemään onko muita kiinnostuneita.
Kaikkeen voi vielä yrittää vaikuttaa. Jos on hyviä ajatuksia niin huomioin semmoisia mielelläni.
Laitanpa tästäkin päivitystä niille joita kiinnostaa. Tässä siis digitaali-I/O-kortti nykyisessä asussaan. Kortin tämänhetkiset ominaisuudet:
* 16 digitaalituloa, joista
- 8 täysin optoerotettuja. Opton ledipiirin syöttö on hoidettava kortin ulkopuolelta koska näissä on täysi galvaaninen erotus. Liitäntä 2-napaisella riviliittimellä jossa liittimien jännite-ero merkitsee. Absoluuttitasolla ei ole merkitystä. Oletusarvoisesti tulojännite on 5V, mutta kortilla on jokaielle kanavalle 2 kpl tinausoikosulkuja, jotka järjestykessä avaamalla tulon voi sovittaa 12V tai 24V jännitteille.
- 8 galvaanisesti erottamatonta, mutta ylijännitesuojattua. Minimi signaalijännite on 5V, maksimia ei tiedä kukaan. 24V asti ei pitäisi olla mitään ongelmia ja tulot toimivat kunnes niiden suojana oleva TVS räjähtää. Tämä tuskin tapahtuu alle 100V jännitteillä, mutta se kokeilee ken uskaltaa :). Joka tapauksessa '1' -tilan rajajännite on normaali HC-logiikan pari volttia.
* 16 digitaalilähtöä, joista
- 2+2 on galvaanisesti erotettuja relelähtöjä. Jokaiseen lähtöpositioon voi kalustaa signaalireleen, mas 2A ~100V about. Kahteen ensimmäiseen voi tarvittaessa kalustaa vaihtoehtoisesti G8P-tyyppisen tehoreleen 30A/250VAC.
- 8 + 4 galvaanisesti erotettua transistorilähtöä (open drain FET), max 1,5A/100V. Kaikki lähdöt on galvaanisesti erotettu kortilta, mutta ne ovat keskenään ryhmitelty yhteen 4 + 8, (ryhmät A ja B). Kummallekin ryhmälle on oma erillinen yhteismaa ja apujännitesyöttö (tämä tarvitaan vain fettien hilaohjausta varten). Haluttaessa ryhmät voidaan yhdistää kolvattavin hyppylangoin ellei tarvita kahta erillistä.
Kortin oma apujännitesyöttö on ajateltu otettavaksi PC:n +5/+12/GND-syötöistä, mutta sen voi ottaa muualtakin. Kortin ja PC:n nollataso on joka tapauksessa oltava yhteinen. Tätä varten kortilla on tavallinen 4-napainen riviliitin jossa edellämainitut sekä PE-liitin ylijännitesuojauksen maadoitukselle.
Data on ajateltu siirrettäväksi tavallisella Ethernet-kaapelilla ja sitä varten kortilla on RJ45-liitin. Se on ajateltu kytkettäväksi SerIO-breakout-korttiin jota ei siis vielä ole piirretty tähän valmiuteen.
Muutamia juttuja vielä täytyy miettiä, mutta aika lähellä totuutta tämä jo on. Kommentteja otetaan edelleen vastaan jos joku haluaa vaikuttaa lopputulokseen.
Linkkien kuvista saa ehkä jotain käsitystä miltä kapine nyt näyttää.
https://www.dropbox.com/s/di66mpi7wlgme7g/SerIO_GPIO_layout_top.PNG (https://www.dropbox.com/s/di66mpi7wlgme7g/SerIO_GPIO_layout_top.PNG)
https://www.dropbox.com/s/9tvw4tm1m11hbn3/SerIO_GPIO1.PNG (https://www.dropbox.com/s/9tvw4tm1m11hbn3/SerIO_GPIO1.PNG)
https://www.dropbox.com/s/32luzvpurgsy71d/SerIO_GPIO2.PNG (https://www.dropbox.com/s/32luzvpurgsy71d/SerIO_GPIO2.PNG)