Aihearkisto: sarastevalo

Sähköä ilmassa ja valoa katossa

Rakentelin tuossa sarastevaloa hiukan erillaseen kuosiin. Entinen oli kylmän valkoista ledinauhaa ja seinässä katonrajassa kiinni. Nykyinen on lämpimämmän valkoinen ja kiinnitetty lack hyllyn yläpintaan jolloin valo tulee epäsuorasti katon kautta. Lisäksi virtalähde on vaihtunut, mutta muuten systeemi on sama kuin ennenkin.

Siinä kolvaillessa johtoja huomasin mielenkiintoisen yksityiskohdan, osa ledeistä syttyi, jos koskin johtimiin samaan aikaan, kun kosketin kolvilla jotain muuta kohtaa johtimessa. Sama tapahtui valmiissa kytkennässä vaikka ledit olivat off-tilassa, mutta virtalähde oli verkossa kiinni.

Ensimmäinen ajatus oli että kyseessä on 50Hz häiriö ja DS1Z_QuickPrint2oskilloskoopilla mittaillessa asia vahvistui.  Kuvassa ei itse asiassa edes ole ledinauhaa vaan pelkästää sormella kosken oskilloskoopin proben kärkeen ja tulos on 100V, 50Hz siniaalto! Mittailin nauhasta useammastakin kohti, mutta en muita kuvia laittanut, koska ne käytännössä ovat samanlaisia, jännite vain muuttuu. Tässä kirjoitellessa tajusin yhden jutun, minulla on oskilloskooppi kiinni maadoittamattomassa pistorasiassa ja se vaikuttaa mittauksiin. Kävin mittaamassa saman keittiössä missä on maadoitus ja voltti määrä tipahti vajaaseen pariin volttiin, mutta edelleen selkeä 50Hz siniaalto.

”Hauskaa” asiassa on se, että ensimmäinen ajatus tuossa vaiheessa oli että kyllä nyt säteily hörhöt innostuu ja Vesa Linja-aho joutuu (taas) rauhoittelemaan villeimpiä hörhöjä.

50Hz häiriötä on nykymaailmassa käytännössä kaikkialla missä verkkovirtaa vain on. 50Hz aallonpituus (tyhjiössä/ilmassa) on \frac {c}{50Hz}\approx \frac {300\:000km/s}{50Hz} \approx 6\:000km . Niili ja Amazon joet ovat vain hiukan pitempiä! (Jossain maissa on 60Hz käytössä) eli aikasta pitkäaaltoista kamaa!

Virtaa ei tullut mitattua, vaikkakin ehkä sen jossain vaiheessa kokeilen mitata.

 

Mistä sitten videolla näkyvä ilmiö johtuu? Lyhyesti sanottuna ledinauha ja ihmiskeho toimii antennina ja kolvista/oskilloskoopista/jännitelähteestä on reitti maahan ja toisena ”johtimena” toimii 50Hz sähkömagneettinen aalto, joka saa elektronit liikenteeseen ”antennissa”.

Onko tästä sitten haittaa? Tässä tapauksessa ei, häiriö signaali on kyllä kytkennässä, mutta muutama nano/mikroamppeeri ei haittaa mitään, kun ledinauha itsessään imaisee päälle 5A virtaa. Teoriassa häiriö jännite voisi helpostikin saada jänniteohjatut mosfetit väärään tilaan, mutta käytännössä alasvetovastukset pitävät mosfetit oikeassa tilassa. Monessa muussa sovelluksessa 50Hz haittaa paljon enemmän vrt esimerkiksi kitaravahvistin, joista joskus kuuluu 50Hz hurina.

Asiassa olisi kirjoitettavaa vaikka useamman kirjan verran (EMI/RFI/common mode interference), mutta antaapa toistaiseksi olla näin yleisellä tasolla.

 

Keltainen on gate signaali ja sininen ledi-nauhan gnd
DS1Z_QuickPrint9
Keltainen on mosfetin gate ja sininen on virtalähteen plus napa.

Mittilöin aikani kuluksi samalla PWM-signaalin ledeistä ja mosfeteistä. Signaali näyttää häiriöiseltä, mutta pannaa suurin osa halvan virtalähteen syyksi, jota ei voi ”hiljaiseksi” sanoa.

Hyvän kuvan virtalähteestä saa kuvasta. Reilun 5A kuorma, kun PWM-signaali on +5V. Melkoista pörinää, mutta niin kuin sanoin kyllä se  ledeille kelpaa ja ohjainkin näköjään kestää moisen.

Tämän ledinauhan värilämpö on paljon miellyttävämpi kuin edellinen, joka oli todella kylmä! Vertailun vuoksi molemmista nauhoista kuva. Kamera valehtelee molemmissa kuvissa, kylmä näyttää kylmemmältä kuin onkaan ja ei toi lämminkään oikea ole, vaikkakin lähempänä onkin.IMG_20150808_200357wpid-img_20141220_155657.jpg

 

Entäs sitten ne säteilyhörhöt ja sähköallergikot?  Noh… Toivottavasti he löytävät hyvä psykologin. En siis tarkoita, että he olisivat hulluja tai mielisairaita, jotka huijaavat oireensa. Oireet sähköallergiassa ovat erittäinkin todelliset, mutta todennäköisyys, että ne johtuisivat sähköstä on aika pieni.

 

 

 

Omia ja muiden virheitä, mutta toimiva sarastevalo silti.

Joulu meni ja samoin uusivuosi. Edessä siis uudet kujeet, mutta jatketaan hetki viellä vanhoilla kuitenkin. Itead studiosilta tilatut piirilevyt saapuivat ”joululoman” aikana.  Itead on erittäin edullinen piirilevyvalmistaja, tekee kuitenkin ihan kohtuullista jälkeä. Välistä kuitenkin on pieniä ongelmia. Kuvassa on lähikuva yhdestä toimitetusta piirilevystä, vihreässä juotteenestopinnoitteessa on ilmeisesti routterin tekemä jälki. Hassua sinällään, että itead toimitti tuon ”rikkinäisenkin” levyn, koska pienin tilausmäärä heiltä on kymmenen levyä ja tuo rikkinäinen on yhdestoista.

Tinailin kytkennän kasaan ja poltin koodin atmega328p mikrocontrolleriin ja kas kummaa laite ei toimi! Ei muuta kuin tutkimaan missä vika on. Yllätys ei liene, että se löytyi penkin ja näppäimistön välistä.

Etukäteen oli jo tiedossa, että shift registerit on kytketty väärään järjestykseen piirilevylle, mutta muita yhtä alkeellisia virheitä löytyi levyltä lisääkin. Ts. A7D kytkimiin asetettu aika tulee väärin luettua. (03:45 tulee luettua 45:03) Onneksi kaikki ”isot” virheet olivat sellaisia, että ne pystyi koodissa korjaamaan.

Ensimmäinen ongelma oli rotary encoderin kanssa, joka ei toiminut. Syyksi paljastui koodi ja fuse-bittien asettelu. Levylle laitettu pari vastusta ja kondensaattori per encoderin pinni estämään kytkinvärähtelyä, en kuitenkaan aikonut luottaa pelkästään tuohon kytkentään, joten koodissakin oli kytkinvärähtelyjä varten rivi. Kokeilin erillaisia viiveitä ja kaikilla viiveillä tilanne oli että, encoderi ei toiminut. Tilanne korjautui, kun jätti koko viive rivin pois koodista. Myöhemmin huomasin, että viiveet olivat kaiken kaikkiaan liian pitkiä ja syy siihen oli fuse-bittien tila. Koska käytin arduinon IDEä tähän projektiin luulin, että se asettaa fuse-bitit automaattisesti. Näköjään niitä ei aseteta automaattisesti ja mikrocontrolleri toimikin tehdasasetuksilla eli 1MHz taajuudella eikä 16MHz taajuudella niin kuin minä ja koodi olettivat. Kaikki delay-käskyt kestivät siis 16 kertaa pidempään kuin oli tarkoitus.

Seuraava ongelma oli, että sarastuksen asetus ei toiminut. Ongelman ratkaisemiseksi jouduin tekemään koodin, jolla asetettu aika välkyteltiin ledillä, koska systeemissä ei ole muuta näyttöä.  Levylle on kyllä suunniteltu I2C liitäntä näyttöä varten, mutta posti ei ole viellä tuonut tilaamaani I2C-kytkentäistä näyttöä Suomeen asti. Näillä näkymin kuitenkin jätän näytön kokonaan pois.

Ongelmaksi selvisi virhe piirilevyssä. IMG_20150109_233454  Kuvassa näkyy kytkimen kyljessä  numerot 1,2,4 ja 8, jotka kertovat bittien järjestyksen kytkintä luettaessa. Piirilevyllä vedot menevät päinvastaisessa järjestyksessä. Kytkimeen asetettu ykkönen (0b0001) siis tuli luettua numerona kahdeksan (0b1000). Yksi funktio koodiin lisää ja ongelma oli ratkaistu.

Kuvassa näkyy myös seuraava ongelma. Kissa pääsi leikkimään kytkimellä ja testasin vain mekaanisen toiminnan kytkimestä ennen kuin tinasin sen paikoilleen. Olisi kannattanut testata myös sähköinen toiminta. Kissan hammas oli sen verran painassut kytkimen sisuskaluja, että kytkin ei toiminut kunnolla ja jouduin tinaamaan sen irti. Onneksi olin tilannut yhden ylimääräisen, vaikka suhteellisen kalliita mokomat ovat!wpid-wp-1420882629588.jpeg

Kuva ei ole mitenkään selvä, mutta tarkkaan katsomalla siitä näkee, että alhaalta laskien toinen ”liuku” on taipunut. Ehkä sen olisi saanut toimimaan, mutta kun oli toimiva kappalekin niin laitoin sen.

 

Koodissa on vielä tekemistä ja RTC-moduli IMG_20150112_012817(kuvassa keltainen) on kotelointia ajatellen aika hankalasti 90 asteen kulmassa alaspäin. Moduli on tinattu noin, koska etupuolelle tinattuna se olisi ollut ICSP liittimen tiellä. Tässä versiossa taidan vain vaihtaa/suoristaa pinnit ja asentaa modulin varsinaisen piirilevyn alle, mutta kaikkien virheiden takia taidan tehdä levystä version kaksi, jossa lisään RTC-modulin piirit suoraan pääpiirilevylle. Tällä hetkellä käytössä ds1307 piiriin prustuva RTC-moduli. Levyltä pitää lisäksi siirtää muutamia komponentteja hiukan, koska nyt ne ovat liian ahtaasti.

Laite siis kuitenkin toimii tällä hetkellä ja jo useampana aamuna olen herännyt helposti. RTC- moduli ei tosin tunnu olevan kovin tarkka, melkein minuutin per päivä heittää kello. Tarkemmin ajatellen itseasiassa kide taitaa olla suurin syyllinen kellon heittoon.

Pieniä harmaita aivosoluja sai kyllä koodatessa käyttää, kuten esimerkiksi miten asettaa RTC-kellon aika, kun laitteessa ei ole yhtään ainutta nappia? Vain A7D-kytkimet ja encoderi. Ratkaisu oli sitten kuitenkin aika yksinkertainen. Mikä tahansa ei kellon ajaksi sopiva asetus A7D kytkimissä, asettaa laitteen tilaan, jossa  kellonajan voi asettaa. A7D-kytkimiin laitetaan kellonaika ja encoderia pyöräyttämällä se siirretään RTC-chippiin. Muitakin asetuksia voinee laittaa vastaavalla menetelmällä, mutta katsotaan.

Lisäksi nälkä kasvaa syödessä! Alunperin oli tarkoitus tehdä valosta ihan oma yksikseen toimiva, mutta nyt mielessä on netin yli ohjauksen lisääminen masiinaan.  Samalla voisi käyttää NTP:tä hyväksi ja pitää sillä kellonaika oikeana.

Voin lähettää koodin ja eagle tiedostot sähköpostilla, jos joku niitä kaipaa. Tänne en niitä (viellä) laita, koska molemmissa on viellä tekemistä aika paljon.  edit: whatta heck!! laitetaan kuitenkin tarjolle vaan. Tuleepahan samalla opeteltua tuota GITHubin käyttöä. Lisäksi noita piirilevyjä on enemmän kuin minä tarvitsen, että niistäkin voidaan päästä sopuratkaisuun. Sarastevalo siis sinällään toimii, mutta en voi sanoa olevani viellä täysin tyytyväinen siihen.

Ensimmäinen aamu sarastevalon kanssa

Huomenta!

Ensimmäinen aamu takana, kun sarastevalon testikytkentä on wpid-img_20141223_101819.jpgtoiminnassa. Herätys oli kieltämättä normaalia helpompi sarastevalon kanssa, mutta yhden aamun kokemuksella ei ihan hirveästi voi viellä sanoa tarkasti vaikutusta.

Aikaisemmasta kokemuksesta kuitenkin voin sanoa, että idea on toimiva! Jos sinulla ei ole muuten kokemusta niin mieti miten helppoa on kesäaamuna herätä auringon valoon.

 

Seinässä katon rajassa on kummallakin puolella huonetta 2.5m ”valkoista” ledi nauhaa. Testi kytkennässä on käytössä vain toisen puolen nauha. Nauhan valinnassa tärkeimmät asiat olivat kirkkaus ja wpid-img_20141220_155657.jpghinta. Kompromissi näiden suhteen on suhteellisen hyvin onnistunut, mutta seuraava nauha on lämmintä valkoista, eikä ”pelkkää” valkoista niin kuin tämä nauha. Nykyinen nauha on ihan liian kylmän väristä, niin kuin edellisessä kirjoituksessa mainitsin. (Kuva viellä valehtelee lisää, valo ei sinistä kuitenkaan ole. Kuvassa on eri testikytkentä, mutta nauha on sama.)

Seuraava vaihe on tehdä koodi loppuun ja väkerrellä piirilevy eaglella ja tilata se. Jonkinlainen kotelokin pitäis sitä ennen päättää. Onneksi joulun aikaan on aikaa tälläisellekin.

Minulla on ollut aikaisemmin ollut  denver merkkinen sarastevalo, mutta en ollut tyytyväinen siihen. En löytänyt netistä täsmälleen samaa, mutta löysin erimerkkisen, mutta ulkoisesti täysin samanlaisen valon.

En voi todellakaan suositella denver/audiosonic sarastevaloa, se on vaikea käyttöinen, näytön sininen taustavalo on aivan liian kirkas, sisuskalut näyttävät halpaakin halvemmalta, vaarallisilta suorastaan ja lisäksi yksi 40w lamppu ei ihan hirveästi ainakaan minuun vaikuta. Aukaisin denverin valon, koska halusin himmentää näyttöä vaihtamalla isompi vastus näytön ledille, mutta heitin valon menemään SER-jätteeseen,  kun näin valon sisuskalut, mielenkiinnosta kokeilin kuitenkin vastuksen vaihtamista ensin ja onnistuihan se.

Vaikeakäyttöinen herätyskello

Miltä kuulostaisi herätyskello, jonka herätysaika asetetaan  binäärikoodilla ja jonka kellonaika tarkistetaan kytkemällä kello USB-piuhalla kiinni tietokoneeseen?IMG_20141221_224506 Ei kovin käyttäjäystävälliseltä? Sellaisen kuitenkin rakensin 😉 Herätyskin toimii yhdellä ainoalla punaisella ledillä.

Fiksuimmat ovat ehkä jo pelkän kuvan perusteella tajunneet, että kyseessä on vielä vaiheessa oleva projekti. Valmistumassa on siis sarastevalo. Tämän hetken ohjaimena toimii arduino micro ja kellona TINY-RTC.  Herätysaika  tai siis sarasteaika asetetaan taustalla näkyvällä reikälevyllä olevilla DIP-kytkimillä. Valmiissa sarastevalossa on toki paljon helpompi tapa asettaa herätys.

TINY-RTC moduulissa on rtc-kello(DS1307), eeprom-muistia(AT24C32) ja paikka lämpötila anturille (DS18B20). Muistia en luultavasti käytä, kun lopullinen tarkoitus on tehdä koko paketti omalle piirilevylle. Lämpötila-anturikin taitaa jäädä käyttämättä, vaikka sekin olisi aika helppo tapaus.

Minulla on muistakin RTC-moduleita, jotka on tilattu halvalla DX.com:ista. Tosin niitten osalta näyttää tilanne siltä, että ne eivät toimi luotettavasti.

A7D-kytkimillä saa asetettua aika monta tilaa, jotka eivät ole sallittuja kellonaikoja. Pitää kehittää jotain järkevää tai järetöntä niille asetuksille. Periaatteessa käänteinenkin sarastevalo olisi kiva, ts. illalla valot sammuisivat hiljalleen.

Tarkoituksena olisi ohjata ledinauhaa katonrajassa, nauha on jo seinällä, mutta se on niin kylmää valoa, että se menee vaihtoon tai mahdollisesti rinnalle tulee toinen lämpimämpää valoa antava nauha. Mahdollisesti myös piilotan nauhan jonkinlaisen listan avulla, mutta katsotaan sitä jossain vaiheessa.

 

Edit: Kuulema oikea termi mahtaa olla sarastusvalo, mutta milloinkapa minä olisiin puhunut täysin oikeilla termeillä?

 

 

 

 

Omron A7D-206-1 pushwheel & 74hc165

Pientä testausta uusimpaan projektiin.

 

Testailin projektia varten omronin pushwheel-kytkintä. Mukava pieniOmron A7D BCD-koodia sylkevä laatikko.  ”Julkisivussa” siis numeronäyttö ja kaksi nappia, joilla voi valita numeron ja sama numero tulee binäärikoodina ulos pinneistä.  Common pinniin laitetaan joko maa tai muu sopiva jännite, muihin pinneihin laitetaan sopiva ylös/alavetovastus. (Itse käytän yleensä 10 kOhm.) Tämän jälkeen pinneistä on luettavissa binääri muodossa mikä numero on asetetuna kytkimeen.

 

A7D:t koekytkentälevyllä
A7D:t koekytkentälevyllä. En tehnt koko kytkentää vaan neljännen kytkimen sijaan ko. 74165 pinnit on kytketty nollaan.

Omaan projektiin on tulossa neljä noita kytkimiä.  Periaatteessa valitussa mikrokontrollerissa on riittävästi pinnejä lukea suoraan kaikki tarvittavat 16 pinniä kytkimistä, mutta parempi valinta monessa mielessä on kuitenkin käyttää PISO- siirtorekisteriä (rinnakkain sisään, sarjassa ulos.)

Tällä kertaa valinta osui 74HC165 piiriin. Se on 8-bittinen ja helposti ketjutettavissa oleva siirtorekisteri.  Piirtelin eaglella kytkennän ja rakentelin koekytkennän koekytkentälevylle74165 Kytkentä. Clk, (clock)inh(ibit), serdata ja *pl/ss (paraller load/serial shift) mevevät kaaviossa arduinolle, mutta itse kytkennässä INH-linja on suoraan maahan kytkettynä.

 

Koodi lukee A7D lukemia (vrt aikaisempaa kuva)

En alkanut itse kirjoittamaan koodia arduinolle testiä varten, vaan lainasin Jordanin blogista koodia, pienin lähinnä kosmeettisin muutoksin.

 

Tämä siis toimivaksi todettu. Projekti jatkuu näillä. Projektin vaiheita ja lopputulos tulee tänne siinä vaiheessa, kun on jotain julkaistavaa.

Loppuun viellä videon pätkää kytkimen toiminnasta. Kytkentä on tehty vain esittelemään kytkimen toimintaa ja siinä on virranrajoitusvastus, koekytkentälevy, neljä lediä, kytkin ja virtalähde.

 

Omron A7D data sheet

74hc165 data sheet