kohinaa

kohinaa kaikkialta

Pimeästä LEDistä MIDI-rumpupadiin

Elektroniikkaa kytkentä kerrallaan – teholähteestä, yhdestä itsepäisestä LEDistä ja suunnitelmasta, jonka päässä odottavat soittimet, jotka haluan oikeasti pitää.

LED, joka ei syttynyt

Ensimmäinen ilta uuden teholähteen kanssa meni näin. Asetin jännitteeksi 5 volttia, painoin punaisen LEDin koekytkentälevyyn, kytkin johdot ja käynnistin lähdön. Ei mitään. Ei valoa, ja teholähteen virtanäyttö näytti tasan 0,000 A.

Vaihdoin LEDin tilalle vastuksen – samat johdot ja samat asetukset. Nyt näyttö kertoi virran kulkevan. Teholähde toimi, johdot toimivat, koekytkentälevy toimi. Vain LED kieltäytyi.

Testasin kaikki LEDini yleismittarin diodimittausasennolla. Jokainen hehkui himmeästi, eli yksikään ei ollut rikki. Lopulta vika oli melkein nolo: teholähteen plus- ja miinusjohto olivat koekytkentälevyn virtakiskoissa väärin päin. LEDin pitkä jalka oli punaisella viivalla merkityssä kiskossa, juuri kuten pitääkin – mutta siihen kiskoon olikin kytketty miinus.

Miksi vastus sitten toimi? Koska vastukselle on yhdentekevää, kumpaan suuntaan virta sen läpi kulkee. LEDille se ei ole: LED on diodi, ja diodi johtaa virtaa vain yhteen suuntaan. ”Todisteeni” kytkennän toimivuudesta oli testannut juuri sen asian, jolle LED ei ollut herkkä.

Ensimmäinen oppi: mittaa virtakiskot ennen kuin laitat levylle ainuttakaan komponenttia. Punainen mittapää punaisen viivan kiskoon, musta toiseen. Jos lukeman edessä on miinusmerkki, johdot ovat väärin päin.

Tuo pieni arvoitus opetti enemmän kuin sivullinen teoriaa, ja se antoi suunnan kaikelle, mitä tässä jutussa seuraa: ennusta, rakenna, mittaa – ja kun todellisuus on eri mieltä, selvitä miksi.

Miksi aloittaa teholähteestä

Useimmat aloituspaketit toimivat 9 voltin paristolla. Minä jätin paristot kokonaan väliin ja hankin säädettävän teholähteen. Siinä on kaksi tärkeää säätöä: jännite, jota se yrittää pitää, ja virtaraja, jota se ei koskaan ylitä.

Virranrajoitus tekee siitä oppimisvälineen. Teitpä minkä virheen tahansa, teholähde ei anna enempää virtaa kuin virtaraja sallii. Jos johdot oikosulkee toisiinsa, mitään ei kipinöi eikä pala: teholähde vain laskee jännitettään, kunnes virta on täsmälleen virtarajan suuruinen.

Teholähde toimii siis kahdessa tilassa. Se pitää jännitteen vakiona (vakiojännite, CV) niin kauan kuin kytkentä ottaa vähemmän virtaa kuin virtaraja. Jos kytkentä yrittää ottaa enemmän, teholähde pitää vakiona virran (vakiovirta, CC) ja antaa jännitteen laskea.

0 1 2 3 4 5 6 7 8 9 10 11 12 0 1 2 3 4 5 6 virta (mA) jännite (V) asetus 5,00 V, virtaraja 30 mA virtaraja laskettu 3 mA:iin: CC-raja 1 kΩ:n kuormasuora: U = R · I ei kuormaa: CV, 0 mA 1 kΩ: CV, 5,00 V, 5 mA 1 kΩ, virtaraja 3 mA: CC, 3,0 V, 3 mA Toimintapiste on siinä, missä kuormasuora kohtaa rajat. Ilman kuormaa: CV, 0 A; oikosulussa: CC, 0 V ja virta = virtaraja.
Teholähteen toimintapiste riippuu kuormasta. 1 kΩ:n vastus ottaa 5 voltista 5 mA, mikä jää alle 30 mA:n virtarajan, joten teholähde pysyy CV-tilassa (30 mA:n raja on kuvan oikean reunan ulkopuolella). Kun virtaraja lasketaan 3 mA:iin, teholähde siirtyy CC-tilaan: 3 mA 1 kΩ:n läpi jättää jännitteeksi vain 3 V.

Siksi jokainen suunnitelmani harjoitus alkaa rivillä tyyliin ”Teholähde: 9,00 V, virtaraja 0,030 A”. Teholähde muistaa myös viisi esiasetusta, joten jokainen asetus tallennetaan ensimmäisellä käyttökerralla ja haetaan myöhemmin kahdella napinpainalluksella.

Suunnitelma: komponentit ennen koodia

Tältä polku näyttää. Arduinoon ja koodaamiseen olisi houkuttelevaa hypätä suoraan, mutta päätin käyttää ensimmäiset projektit pelkkiin komponentteihin: vastuksiin, diodeihin, transistoreihin, kondensaattoreihin ja ajastinpiiriin. Ajatus on yksinkertainen. Kun Arduino myöhemmin tulee mukaan, sen pitäisi korvata jotain, jonka olen jo rakentanut käsin – silloin tiedän, mitä koodi oikeasti tekee kytkennälle.

Jokainen projekti etenee samalla kaavalla:

  1. Ennusta paperilla, mitä mittarin pitäisi näyttää.
  2. Simuloi kytkentä ruudulla (ilmainen piirisimulaattori näyttää virran liikkuvina pisteinä).
  3. Rakenna se koekytkentälevylle.
  4. Mittaa ja vertaa ennusteeseen.
  5. Kirjaa, mikä yllätti.

Vaihe 1: Ohmin laki ja LED

Ensimmäinen oikea kytkentä on pienin hyödyllinen: teholähde, vastus ja LED samassa virtapiirissä.

Ensimmäinen kytkentä. Vastus määrää virran, LED syttyy.

LEDillä on erikoinen ominaisuus. Kun se palaa, sen yli oleva jännite pysyy lähes samana virrasta riippumatta: punaisella LEDillä noin 2 volttia, sinisellä noin 3 volttia. Tämä on LEDin päästöjännite. Loput jännitteestä jää vastuksen yli, ja vastus määrää virran Ohmin lain mukaan: virta on jännite jaettuna resistanssilla.

Mittaamalla huomaa toisenkin säännön. Vastuksen ja LEDin yli olevat jännitteet ovat yhteensä aina teholähteen jännitteen suuruiset. Jokainen teholähteen antama voltti kuluu jossain virtapiirin osassa. Tämä on Kirchhoffin jännitelaki, ja sillä selittyy puolet kaikesta, mitä myöhemmin tulee vastaan.

Sitten tulee koe, joka saa kaiken loksahtamaan paikalleen: 1 kΩ:n vastus vaihdetaan pienempiin. Virta yli kaksinkertaistuu, mutta LEDin jännite tuskin liikahtaa. LED ei rajoita omaa virtaansa, vaan vastus rajoittaa. Ilman vastusta mikään ei pysäytä virtaa, ja LED kuolee.

+ − 1 5 10 15 20 a b c d e f g h i j + 9 V (punainen hauenleuka) − 0 V (musta hauenleuka) 1 kΩ: pluskisko → rivi 3 LED: pitkä jalka (+) reikään e3, lyhyt (−, litteä reuna) reikään e7 Musta hyppylanka: rivi 7 → miinuskisko Varjostettu rivi = 5 yhdistettyä reikää. Rivi 3 yhdistää vastuksen LEDin anodiin; jalat ovat eri riveillä.
Sama kytkentä koekytkentälevyllä. Jokaisen numeroidun rivin viisi reikää on kytketty levyn sisällä toisiinsa, ja LEDin jalkojen on oltava eri riveillä.

Tähän kätkeytyy vielä yksi pieni oppi. Käännä LED väärin päin, ja se sammuu – ja lähes koko teholähteen jännite on nyt sen yli. Tavallinen LED kestää estosuunnassa vain noin 5 V, joten tätä koetta varten jännite lasketaan ensin 9 voltista 5 volttiin. Komponentin raja-arvojen tarkistaminen ennen koetta on tapa, joka kannattaa opetella heti alussa.

Vaihe 2: jännitteen jakaminen

Kaksi sarjaan kytkettyä vastusta jakaa teholähteen jännitteen keskenään resistanssiensa suhteessa. Tämä on jännitteenjakaja, ja sitä tarvitaan kaikkialla: äänenvoimakkuuden säätimissä, valoantureissa ja myöhemmin, kun Arduinon 5 voltin lähtö muutetaan vahvistimelle sopivaksi signaaliksi.

Vaihe 3: yksisuuntaiset kadut ja vakaat jännitteet

Kun yksi diodi on jo kerran huijannut minua, haluan tutustua koko sukuun. Teholähteellä voin nostaa jännitettä kunkin diodin yli hitaasti ja piirtää virran jännitteen funktiona. Piidiodi alkaa johtaa noin 0,65 voltissa, Schottky-diodi noin 0,3 voltissa ja LEDit värin mukaan 2–3 voltissa. Tämän kynnysjännitteen alapuolella virtaa ei kulje; sen yläpuolella virta nousee lähes pystysuoraan.

Zenerdiodi tekee tästä jyrkästä käyrästä hyödyllisen. Estosuuntaan kytkettynä se alkaa johtaa tarkassa jännitteessä (minun zenerissäni 5,1 V) ja pitää jännitteen siinä – yksinkertaisin mahdollinen jänniteregulaattori. Siitä on lyhyt matka oikeisiin regulaattoripiireihin, kuten 7805:een, joka tekee noin 7 voltista ylöspäin mistä tahansa tasaiset 5 volttia. Hinta tästä maksetaan lämpönä: jokainen regulaattorin pudottama voltti muuttuu lämmöksi.

Vaihe 4 ja eteenpäin: kytkimiä, aikaa ja rytmiä

Transistorilla pieni virta ohjaa suurta. Muutama milliampeeri transistorin kannalle riittää kytkemään kuorman, joka rikkoisi Arduinon nastan. Juuri näin mikro-ohjain myöhemmin ohjaa kaiuttimia ja moottoreita.

Kondensaattori varastoi varausta, ja sen lataaminen vastuksen kautta vie aikaa. Kun resistanssi kerrotaan kapasitanssilla, saadaan aikavakio: aika, jossa kondensaattori latautuu noin kaksi kolmasosaa.

Kun vastuksiin ja kondensaattoreihin yhdistetään klassinen 555-ajastinpiiri, syntyy oskillaattori: kytkentä, joka vilkkuu itsestään ja jonka tahdin valitut komponentit määräävät. Kun sen pulssit syötetään laskuripiirille, kymmenen LEDiä syttyy yksi toisensa jälkeen. Siinä on kellosignaali ja digitaalilogiikka – jokaisen tietokoneen sydämensyke – koottuna kourallisesta osia, ennen ainuttakaan koodiriviä.

Arduino astuu kuvaan

Vasta nyt mukaan tulee Arduino, ja sen ensimmäinen tehtävä on tarkoituksella tuttu: vilkuttaa LEDiä, aivan kuten 555 teki. Erona on, että tahti on nyt luku ohjelmassa eikä vastus ja kondensaattori.

Sen jälkeen vuorossa ovat painikkeet (ja se, miksi tulonasta, jota ei ole kytketty mihinkään, poimii häiriöitä), potentiometrin lukeminen sekä RGB-LEDin himmentäminen kytkemällä sitä hyvin nopeasti päälle ja pois (pulssinleveysmodulaatio eli PWM). Yksi harjoitus palaa teholähteeseen: syötän Arduinon analogiatuloon tunnettuja jännitteitä ja tarkistan lukemat. Sen AD-muunnin jakaa välin 0–5 V 1 024 askeleeseen, joista kukin on noin 4,9 mV. Kun askeleet on tarkistettu teholähdettä vasten, tiedän, kuinka paljon lukemiin voi luottaa.

Ytimessä: ääni

Tätä osaa odotan eniten, joten kurssin keskiosa on rakennettu sen ympärille. Jokaisessa projektissa yhdistyvät yksi elektroniikan ja yksi ohjelmoinnin idea.

Äänen tekeminen

Kun nastaa kytketään päälle ja pois 440 kertaa sekunnissa, kaiutin soittaa A-sävelen. Kaksinkertainen taajuus nostaa säveltä oktaavin; jokainen oktaavin kahdestatoista puolisävelaskeleesta on noin 6 %:n askel. Muutaman taulukon ja funktion jälkeen Arduino soittaa melodioita painikkeista tai tietokoneen näppäimistöltä.

Äänenvoimakkuutta

Arduinon nasta ei jaksa ohjata oikeaa kaiutinta kunnolla, joten seuraavaksi tulee pieni vahvistinpiiri. Sen mukana tulee oppitunti kondensaattoreista: vahvistimen ja kaiuttimen välinen kytkentäkondensaattori estää tasajännitteen mutta leikkaa myös bassoa.

Tässä vaiheessa korjaan vihdoin myös vanhan ”music speaker” -rakennussarjan, joka ei ole koskaan toiminut: syötän sille virtaa virtarajan kautta, mittaan, minne jännite menee, ja seuraan signaalia, kunnes se pysähtyy.

Piippauksista oikeaan ääneen

Kanttiaalto on karkea ääni. Kun Arduinon nopea päälle–pois-signaali johdetaan vastuksen ja kondensaattorin muodostaman alipäästösuotimen läpi, pulssit tasoittuvat oikeaksi aaltomuodoksi. Seuraavaksi rakennetaan pelkistä vastuksista pieni DA-muunnin ja syntetisaattori, joka laskee jokaisen näytteen ajastinkeskeytyksessä tuhansia kertoja sekunnissa. Tässä kohtaa ohjelmointi muuttuu vakavaksi: rekisterit, bittioperaatiot, keskeytykset, laskenta ilman liukulukuja ja äänen mahduttaminen 32 kilotavun muistiin.

Kaiuttimet ovat fyysisiä esineitä

Kaiutin ei ole pelkkä vastus. Sillä on resonanssitaajuus, jolla se liikkuu helpoimmin. Minulla on pari exciteriä eli kaiutinmoottoreita ilman kartiota; ne muuttavat kaiuttimeksi minkä tahansa pinnan, johon ne kiinnitetään. Minun exciterieni resonanssitaajuus on valmistajan mukaan noin 298 Hz. Taajuuspyyhkäisy ja mittaus näyttävät, missä resonanssi on, ja eri pintojen – akryylin, puun, ikkunan – kokeileminen kertoo, kuinka paljon pinta muokkaa ääntä.

Kuunteleminen

Viimeiset ääniprojektit kääntävät suunnan. Mikrofoni ja operaatiovahvistin antavat Arduinolle kuulon: ensin yksinkertaisena äänitasomittarina, sitten kitaravirittimenä, joka tunnistaa kielen taajuuden. Virittimessäkin on elektroniikan oppitunti. Piirin kellotaajuus määrää sen ajantajun, ja halpa keraaminen resonaattori on tarkkuudeltaan vain 0,5 %. Se on noin yhdeksän senttiä (sentti on sadasosa puolisävelaskeleesta) – tarpeeksi, jotta jokainen kieli jää kuuluvasti vireestä. Kvartsikide on yli sata kertaa tarkempi.

Ääniosuuden huipentuma on rumpupadi: pietsoelementti tunnistaa jokaisen lyönnin, Arduino mittaa sen voimakkuuden ja lähettää MIDI-viestin – kolme tavua, joista ensimmäinen on 0x90 eli ”note on” – samplerpadilleni oikeaa 5-napaista MIDI-kaapelia pitkin.

Anturit, liike ja pysyvät rakennelmat

Äänen jälkeen kurssi käy läpi valo-, lämpötila- ja etäisyysanturit ja sitten liikkuvat asiat: transistorilla ohjatun tuulettimen (ja vapaakäyntidiodin, joka suojaa sitä moottorin jännitepiikiltä), servon, askelmoottorin, siirtorekisterit ja pienet näytöt.

Viimeinen osa käsittelee rakennelmia, jotka jäävät pysyviksi. Useimmat projektit elävät koekytkentälevyllä muutaman illan ja puretaan sitten, jotta osia voi käyttää uudelleen. Neljä on poikkeuksia:

Rakennelma Mitä se opettaa lopuksi
Sääasema Juottaminen liuskalevylle, anturien ja näytön yhdistäminen samaan ohjelmaan, 3D-tulostettu kotelo
Bluetooth-kaiutin Kaksi sarjaan kytkettyä litiumkennoa, suojapiiri ja USB-C-lataus, jännite nostettuna vahvistimelle 12 volttiin
Kitaraviritin ”Minimaalinen Arduino”: pelkkä mikro-ohjainpiiri kvartsikiteen kanssa levyllä, virtana yksi litiumkenno omalla latauspiirillään
MIDI-rumpupadi Sama minimaalinen Arduino USB-virralla, MIDI-yhteydellä

Siinä vaiheessa Arduino ei ole enää maaginen sininen piirilevy. Se on mikro-ohjainpiiri, kvartsikide, kaksi pientä kondensaattoria ja vastus – osia, joihin olen tutustunut matkan varrella yksi kerrallaan.


Missä olen nyt

Laboratorioteholähde on pöydällä, ensimmäinen LED palaa vihdoin, ja loppumatkan osat ovat tulossa. Opiskelen kasasta kirjoja ja MIT:n avoimesta piiritekniikan kurssista, ja kaikki, minkä selvitän, päätyy muistiinpanoihin, joista on hiljalleen kasvamassa aloittelijan opas.

Jos haluat kulkea saman polun, tarvitset yllättävän vähän: koekytkentälevyn, yleismittarin, kourallisen osia ja mieluiten teholähteen, jossa on virranrajoitus. Ja kun ensimmäinen LEDisi jää pimeäksi, mittaa virtakiskot.