Hmm .. rinnakkaisportti ... hmm ...



Pienien haasteiden kautta lämmitysjärjestelmän rakentaminen etenee. Eikä yhtään liian aikaisin, pakkasta on reilut -20 astetta eikä (ulkoilman) lämpenemistä ole näköpiirissä.


Pellettipolttimenohjausyksikkö

 

Pidempää yhdyssanaa en tähän hätään keksinyt, mutta aika hyvähän se on tuokin :-) Sanan pituutta tärkempää kuitenkin on, että jo jonkin aikaa sitten on hommattu kannettava tietokone (HP nw8000), jossa pyörii XP, joka menee WLAN:in kautta verkkoon, ja jossa tosiaan näyttää olevan myös rinnakkaisportti. 

 

Edellisen kerran kirjoiteltaessahan tilanne oli se, että puhalluksen kanssa oli pieniä haasteita. Nyt, reilut kaksi kuukautta myöhemmin, tilanne on se, että valon havaitsemisen kanssa on pieniä haasteita ;-) Mutta ei mennä vielä niihin haasteisiin, vaan kerrataan ensin miten tuon puhalluksen kanssa kävi.

 

Mutta ensi alkuun valittelut blogin seuraajille, edellisestä kirjoituksesta on hirvittävän pitkä aika. Tämä johtuu siitä, että tämä alkutalvi on ollut töissä tavallistakin kiireisempi. Näiden kiireiden tuloksena on sitten onneksi tulossa muun muassa vielä parempi julkaisujärjestelmä, Mugi II. Tarkoitus olisi ottaa se käyttöön vielä tämän vuoden puolella. Mutta se mainospuheista, nyt varsinaiseen asiaan :-)

 

Puhallusongelmahan oli siis sellainen, että pystyin softalla kytkemään puhallusta päälle ja pois nopealla tahdilla, tarkoituksena saada näin toteutettua eri voimakkuudella olevia puhalluksia. Puhallin vain sattui olemaan sen verran siiviltään kevyt / likaisuudesta johtuen huono pyörimään, että tasaista ohjausta ei pystynyt näin tekemään.

 

Moottorinohjausyksikkö

 

Näinpä piti jälleen kääntyä gurun puoleen kysymään apua. Gurun vastaus oli, että osta Kemon moottorinohjausyksikkö. Ja minähän ostin, tarkemmin sanottuna mallin Kemo M028 (linkkivinkki). Lisäksi siihen M028 linkissä mainitun potin kohdalle ostin M150. Kädet innosta täristen sitten kellarin perällä tein kytkennät, ja kaikkihan toimi hienosti, kun M150:n ohjaus oli 0-5V jännitteellä (jonka sain näppärästi testattua erillisellä jännitelähteellä).

 

Eipä siis muuta kuin miettimään, että mistä minä nyt kehitän tähän omaan järjestelmään softalla ohjattavan jännitelähdön, Barionetissa kun on mukavasti analogiatuloja muttei yhtään analogialähtöä (digitaalilähtöjä kyllä).

 

8-bittinen D/A-muunnin

 

Ensimmäisenä mieleen tuli tietysti kaupasta ostettava D/A-muunnin. Näin sitten uskaltauduin jälleen SP-Elektroniikkaan, kyselemään että löytyyköhän teiltä D/A-muuntimia ja millainenhan tähän tarkoitukseen pitäisi olla. Paikan myyjiä ei voi ainakaan tyrkyiksi väittää, ensin katseltiin katalogeja ja sitten tuntui, että koko myynti transaktio päättyi siihen. Vähän jo ihmettelin mielessäni, että täällä ei vissiin sitten minkäänlaisia muuntimia ollut hyllyssä, mutta lausahdinpa vielä mietteeni ääneenkin. Kaveri pyörähti viereiselle pyörötelineelle ja näytti, että onhan näitä tässä muutamaa kymmentä eri mallia. No sitten summan mutikassa pyysin sieltä kaksi isojalkaista, että ei tarvitse alkaa kolvaamaan. Ja sellaiset sainkin.

 

Kotona jälleen innosta täristen aloin miettiä kytkentöjä, ja eiköhän vain ollut tullut hankittua sellainen muunninmalli (numeroa en tähän hätään muista), että kytkentään tarvittiin ainakin paria erilaista jännitettä. Kuvittelin ensin, etten ymmärrä kytkentäkaaviota (ovat aika hankalia meille amatööreille), joten käännyin jälleen gurun puoleen. Guru katseli teknistä speksiä ja totesi, että kyllä siinä vaan tarvittaisiin negatiivistakin jännitettä. Näin ollen nämä muuntimet jäi käyttämättä .. sen verran kuitenkin vielä aiheeseen perehdyin, että mikäli jatkossa pitää hankkia muuntimia, niiden nimessä tulee olla maininta "rail-to-rail".

 

Haluaisikohan joku kaksi isojalkaista D/A-muunninta?

 

Pulssinleveysohjaus

 

D/A-muuntimien aiheuttama mielialanotkahdus ei kauaa kestänyt, vaan siirryttiin suunnitelmaan B. M150 speksin mukaan potin paikalle nimittäin pystyi kytkemään joko jänniteohjauksen tai pulssinleveysohjauksen. Pulssinleveysohjaus tarkoittaa tässä sitä, että M150:lle kytketään 1-10 KHz pulssi, jossa digitaali-ykkösen osuudella määritetään kuinka monta prosenttia ohjaustehosta otetaan käyttöön.

 

Barionetin kautta tapahtuvaan pulssitukseen olin ehtinyt jo ajatuksena kyllästyä, joten ajattelin, että kokeillaanpa tätä ohjausta tällä kertaa rinnakkaisportin kautta. Vanhassa läppärissä nimittäin oli rinnakkaisportti valmiina, ja sillähän homman pitäisi hoitua näppärästi!

 

Niin -- näppärästi ja näppärästi :-) Rinnakkaisporttia oli joskus aikoinaan tullut käytettyä DOS-aikana, silloin yksinkertaisesti lukien ja kirjoittaen IO-avaruuteen. Windowsissa tämä ei kuitenkaan onnistu niin vain, joten piti tehdä jälleen pieni perehtyminen aiheeseen. Asiaan vihkiytymättömille kerrottakoon sen verran, että rinnakkaisportti on se (yleensä vanhemmista) pöytäkoneista löytyvä portti, jonka kautta ennen vanhaan kytkettiin muun muassa tulostimet tietokoneisiin. Nykyisin tuohon liityntään käytetään USB:ta, joten rinnakkaisportit ovat vähän tyhjän panttina ja siksi jäämässä historiaan. Mutta - tässä tapauksessa tuo portti voisi itse asiassa olla aika näppärä ...

 

Hieman huolestuneena jo mietin, että pitääkö tässä alkaa laiteajurit kirjoittamaan tuota varten, mutta ei sentään. Pienen nettisurfailun jälkeen löytyi valmis DLL (eli muiden kirjoittamaa ohjelmistoa), jolla portin ohjauksen alimman tason sai toteutettua lähes sormia napsauttamalla. Kiitos ja kumarrus tänne suuntaan: http://logix4u.net/.

 

TTL-tasoinen rinnakkaisportti

 

Keittiönpöydän ääressä testasin fluken kanssa, että lähtö tosiaan muuttui kuten olettaa sopii (toimi ensimmäisellä yrityksellä), joten eipä muuta kuin taas kiireesti kellariin raudan ääreen testaamaan kytkemällä rinnakkaisportin ensimmäinen output-bitti M150:n pulssituloon. 

 

Seuraavat 1-4 tuntia (en osaa tarkalleen sanoa, ajantaju katosi) olivat sitten erilaisia testejä saada puhallin edes pikkuisen muuttamaan pyörimisnopeuttaan softan mukaan. Mutta kun ei niin ei. Usko itseä, tekniikkaa ja yhteiskuntaa kohtaan oli jo romuttumassa kun aloin mittailla tasoja uudelleen. Rinnakkaisportin lähtö vaihtelee hieman laitteittain ja tällaisessa minun käyttämässäni kannettavassa se oli noin 3 volttia. Sitten pikainen oikoluku M150 spekseistä ja perkule - sehän vaatikin 5 voltin pulssituksen.

 

Siis jälleen karvalakki kouraan ja kysymään gurulta neuvoa.

 

PNP-transistori, eikun NPN-transistori, eikun

 

Käsi ylös, kuka muistaa mitä transistorit ovat ja miten niitä käytetään? Hyvä on, te muistatte mutta minä en muistanut. Kertaus on onneksi opintojen äiti ;-) Lyhyesti kerrottuna kuitenkin yksinkertaisella transistorikytkennällä rinnakkaisportin noin 3 volttia sai muutettua noin 5 volttiin. Ennen tätä tarvittiin jälleen yksi lutikka lisää (gurulle kiitos pitkäjalkaisesta transistorista), sekä muutaman tunnin perehtyminen avainsanoihin "PNP", "NPN", "kanta", "kollektori", "kollektorivirta" jne. Ei sentään, helppoa oli kuin heinänteko kun hieman palautti asioita mieleen.

 

Bruumm ...

 

Kun hardisongelmat oli saatu ratkaistua, kaikki oli enää softasta kiinni. Eli käytännössä homma oli jo hoidettu :-) Pienen kirjoittelun jälkeen koodit lähtivät toimimaan ja puhalluksessa on nyt käytössä taso 0-100% kymmenen prosentin jaolla. Nopeutta en sinänsä ole arvioinut kuin äänen perusteella, mutta olisihan tuo mitattavissa. Juuri Oulussa avatun Clas Ohlsonin katalogissakin näytti olevan mittari aivan tätä varten.

 

Kenellekään ei varmaan kuitenkaan tule yllätyksenä, että kun puhallus alkoi toimia, vastaan tuli pieniä haasteita muualta. Nimittäin, valovastuksen dynamiikka tuntuu riittävän huonosti heikon liekin tunnistamiseen. Tämä puolestaan aiheuttaa sen, että järjestelmä yrittää ja yrittää käynnistyä (syttyä), eikä koskaan huomaa että siellähän on jo tuli ... Mutta tästä lisää seuraavissa kirjoituksissa.