Lämpömittari 7-segmenttinäytöllä. ISO. - Osa 3.

Osassa 2 saatiin näyttö valmiiksi. Nyt tarvitaan elektroniikka mittaamaan lämpötilaa ja ohjaamaan näyttöä. Koska näytössä on vain kaksi numeroa ja etumerkit, yhteensä 17 segmenttiä, sitä voidaan ohjata suoraan mikrokontrollerilla, jossa on riittävän monta ulostuloa. Lisäksi tarvitaan yksi ulostulo säätämään kirkkautta, yksi digitaalinen sisäänmeno lämpötilan mittausta varten sekä yksi analoginen sisäänmeno valoisuuden mittaamista varten.

Tarvitaan siis yhteensä 17 digitaalista ulostuloa, yksi PWM-ulostulo, yksi digitaalinen sisäänmeno ja yksi analoginen sisäänmeno. Sopiva ja erittäin käyttökelpoinen mikrokontrolleri on Arduino Nano. Se toimii sopivasti samalla 12 voltin jännitteellä kuin LED-segmentitkin. Digitaalisten ulostulojen jännite  (5V) ja virta (40/200mA) eivät riitä ohjaamaan segmenttejä suoraan, joten väliin tarvitaan transistorit. Valitaan NPN-transistorit BC547B, joiden virrankesto riittää hyvin tähän tarkoitukseen. Jokainen segmentti tarvitsee oman transistorinsa.

Näytön kirkkautta ohjataan Arduinon PWM-ulostulon avulla. PWM on lyhenne sanoista Pulse Width Modulation, suomeksi kaiketi pulssinleveysmodulaatio. Arduinon ulostolojen jännite on joko 0 tai 5 volttia. PWM-ulostulosta saadaan 5V kanttiaalto, jonka huipun leveyttä voidaan säätää. Se voi saada arvon välilä 0...255. Idea käy ilmi alla olevasta kuvasta.



Pulssin taajuus Arduinossa on joko 490 tai 980 Hz, käytetystä pinnistä riippuen. Käytetäänpä kumpaa tahansa, taajuus on niin iso, että kun lediä syötetään PWM-pulssilla, ihmissilmä ei erota ledin vilkkumista vaan näkee ainoastaan ledin kirkkauden muuttuvan pulssin leveyden mukaan. Näin ollen, ledin näennäistä kirkkautta voidaan säätää PWM-pulssin leveyttä säätämällä. Tätä säätöä varten tarvitaan kaikille segmenteille yksi yhteinen PNP-transistori, joka kestää kaikkien segmenttien virran. Valitaan transistori BD132

Kytkentäkaava on seuraava:



Segmenttien järjestyksellä ei ole niin väliä, koska ne voidaan Arduinon ohjelmassa asettaa miten halutaan. 

Hahmotellaan sitten kytkentä 3x1 koekytkentälevylle. Tässä on transistorien ja vastusten paikat suunniteltu, muut voidaa improvisoida rakennusvaiheessa.


Kytkentälevyn koko on tehty sopimaan valittuun koteloon.


Komponentit ladotaan suunnitelluille paikoille ja juotetaan kiinni.



Arduinon paikka katsotaan sopivaksi, loput komponentit ladotaan ja johdotetaan. Oikeassa alakulmassa 12 voltin terminaali.


Ternimaalin yläpuolella on sulakepesä, sen yläpuolella kaksi diodia; toinen suojaa Arduinon väärältä napaisuudelta, toinen on kytketty estosuuntaan + ja - napojen väliin sulakkeen taakse. Tämä on kivikautinen ja brutaali, mutta melko idioottivarma tapa estää väärä napaisuus, koska se johtaa diodin kautta oikosulkuun ja sulakkeen palamiseen. Pelkkää diodia myötäsuunnassa ei tässä haluta käyttää, koska se pudottaa jännitettä diodin kynnysjännitteen n. 0,7 voltin verran, mikä hieman vähentäisi ledien kirkkautta. Luultavasti mitään muuta kuin Arduinoa tässä ei tarvitsisi edes suojata, koska näytössä on estosuunnassa kaksi transistoria ja kolme lediä sarjassa, joiden kyllä pitäisi kestää väärä napaisuus. 

Kun kaikki komponentit on asennettu ja johdotukset tehty, voidaan sovitella piirilevyä koteloon, joka on sillä välin kiinnitetty näytön takapuoellelle. Kuten nähdään, myös kotelon pohjassa on n. 40 mm reikä, jonka kautta näytön johdot tulevat koteloon.



Näytön johdoista vain +johdot on merkitty, muut pitää etsiä 12 voltin jännitteellä kokeilemalla, mikä segmentti mistäkin johdosta syttyy. Kun johdot ovat löytyneet, ne juotetaan piirilevyyn kiinni. Siniset johdot menevät valovastukselle. Kotelon ja vanerin väli on tiivistetty Sikaflexillä.



Kun kaikki johdot ovat löytäneet paikkansa, kiinitetään levy koteloon nylon-ruuveilla ja painetaan Arduino kantaansa.



Nyt puuttuu vielä lämpötila-anturi. Käytetään anturia DS18B20. Se on erittäin kätevä, TO-92 -koteloon pakattu  1-Wire® Interface -väylää käyttävä digitaalinen osoitteellinen lämpötila-anturi, jonka tarkkuus on kohtalaisen hyvä ±0.5°C.  Arduino tukee 1-Wire® Interface -väylää ja koska anturi on osoitteellinen, niitä voidaan saman piuhan päähän asentaa useita ja antureiden yksilöllisten osoitteiden avulla lukea niistä halutut. Minulla on eräässä toisessa sovelluksessa Arduino Nanon perässä 7 kpl näitä antureita, kauimmaiset yli 15 metrin kaapelin päässä.

Halpoja kopioantureita kannattaa varoa. Niitä saa sikahalvalla Kiinasta, mutta ne toimivat (jos toimivat) huonosti ja niiden tarkkuus on heikompi kuin alkuperäisissä Dallas Semiconductors -antureissa. Alkuperäisissä anturin merkinnät on tehty koteloon laserilla, halvoissa kopioissa merkinnät on painettu. Koska aidotkaan eivät maksa kuin noin viisi euroa kappaleelta, ei ole mitään syytä käyttää kopioita.

DS18B20-antureita saa myös vesitiiviissä koteloissa, mutta TO-92 kotelo on helppo koteloida vesitiiviiksi itsekin. Juotetetaan se ensin johtoihin kiinni. 



Sen jälkeen eristetään jalat kutistesukalla.



Lopuksi eristetään koko hoito liimapintaisella kutistesukalla.



Asennetaan valmis anturi holkkitiivisteen läpi kotelon ulkopuolelle ja liitetään johdot terminaaliin.


Virtajohto paikalleen omaan holkkitiivisteeseen ja kotelon kansi kiinni.



 
Näyttö alkaa näyttää valmiilta. Akryylin suojamuovi poistetaan vasta kun näyttö on lopullisesti asennettu paikalleen.



Jatkuu osassa 4.

Kommentit

Tämän blogin suosituimmat tekstit

Vacuum Tube Tesla Coil Staccato Controller with Arduino

Käämintäkone

Linnunpöntön porttilaskuri