Jeffrey Cross
Jeffrey Cross

KUIDAS - Tehke analoog-ampomeetri kellaaeg

ANALOG AMP METER CLOCK - Elegantne kellamärk tähistab tunde nõelamõõturitega - Gene Scogin…

Mitu aastat tagasi oli mul mõte teha analoogkell, mis kasutas pigem voltmeetrilise nõelaga mõõturit kui tavalist valijat. Mõni nädal tagasi tegin lõpuks ühe, kasutades Arduino plaati ja 3 jooksvat meetrit kohalikust elektroonika poest.Ma ehitasin selle üles järk-järgult, alustades ühe meetriga, mis kuvati vaid mõne sekundi pärast, lisades tunde ja minuteid, lisades nuppe ja programmeerimist, et aja seadistada ja lõpuks see kena kasti. Siin, kuidas ma seda tegin.

Mõõturi toitmine

Arduino plaadil on 6 väljundit, mis võivad juhtida analoogväärtusi impulsi laiuse modulatsiooni (PWM) abil. See tähendab, et nad simuleerivad väljundpingeid, mis asuvad binaarsete kõrgete ja madalate (0V ja 5V) vahel, tsükliliselt kiirelt kahe erineva aja suhtega; näiteks simuleeritakse 2,5 V väljundit, kuna see on täpselt pool aega. Ma leidsin, et Arduino impulsi sagedus oli piisavalt kiire (490 Hz) ja mu arvesti oli piisavalt aeglane, et sa oleksid võimelised sõitma otse laua väljunditest ilma nõelata; sa ei vaja signaali silumiseks kondensaatorit.

Mul oli ainult võimalik leida ampermeetreid ja mitte voltmetreid, nii et ma pidin arvesti abil seeriasse paigaldama takisti, et piirata voolu. Omi seaduses on sätestatud, et 1 mA voolu saamiseks 5 V pinge abil vajate 5000 resistance vastupanu. Komponentide normaalsete variatsioonide võimaldamiseks koostasin selle resistentsuse, pannes seeriaga 4,50 Ω 0-500or potentsiomeetriga seeria. Iga meetri vahemiku määramiseks nullitakse see kõigepealt mõõteseadme reguleerimiskruviga, seejärel reguleerige potti kõrgema punkti seadmiseks.

MATERJALID

Arduino mikrokontrollplaat Ma kasutasin Maker Faires ostetud Arduino Diecimilat. Võite tellida ühe aadressilt store.makezine.com.

1 mA voolumõõturid (3) Veenduge, et teie pardal on piisavalt voolu, et juhtida meetri nõela kogu ulatuses; Ma proovisin algselt 50mA meetrit, kuid see ei olnud Arduino jaoks sobiv.

4,750Ω takistid (3)

500Ω potentsiomeetrit (3) ehk muutuvad takistid

Nupu lülitid, hetkelised SPST (3)

Solderless leivaplaat

Arvuti printeri ja paberiga

Pihustage liimi

Kena puitkarp ja värv

Mikrokontrolleri väljundvarda läbib reguleeritava takistuse ja seejärel sekundit.

Selle tegemine

Kui meil on arvesti ühendatud, saame kirjutada lihtsa C-programmi, et see loendaks 60 sekundit kogu minuti ulatuses. Analoogne kirjutusfunktsioon () võtab väärtuse vahemikus 0 kuni 255 ja väljundtähise indeksit ning määrab määratud tihvti väljundi PWM väärtuseks vahemikus 0V kuni 5V.

Sekundite jälgimiseks töötab programm pideva silmusena, mis kutsub üles millis (), sisseehitatud Arduino funktsiooni, mis tagastab millisekundite arvu, kuna plaat oli viimati sisse lülitatud. Tagastatavat väärtust võrreldakse eelmise ahela millis () väärtusega ja erinevus lisatakse sekundite jooksevale kogumahule, mis omakorda värskendab ekraani.

Leivaplaat kannab 3 identset ahelat, mis töötavad paralleelselt tundide, minutite ja sekundite kohta.

Kui sekundid ümbritsevad, lähtestab kood jooksva summa 0-ni ja lisab ülejäänud osa. Kood tegeleb ka teise erijuhtumiga, kui millise () poolt tagastatud väärtus rullub umbes iga 9 tunni järel.

Ma kasutasin Arduino pin 11 oma hiljuti programmeeritud sekundite mõõtmiseks. Siis ma läksin tundide ja minutite mõõtmisega sarnaselt programmeerima ja sõitma, kasutades nööpe 9 ja 10. Iga meetri juhtmestik on täpselt sama: mikrokontrolleri väljundtank ühendab seeria vastupanu potentsiomeetriga, mis seejärel viib arvesti. Kogu selle projekti kood koos juhtmiskeemidega on saadaval aadressil makezine.com/13/diycircuits_clock.

Originaalmõõturid näitasid skaala vahemikus 0 kuni 1 milliamps.

Aja seadmine

Selleks, et muuta meie kella kasulikuks, on meil vaja aega, et määrata aeg pärast seda, kui me selle käivitame. Selleks kasutasin 3 lülitit. Üks tsüklit läbib oma 4 režiimi (normaalne, seatud, kõik-madal ja kõik-kõrge - hiljem selgitatud), üks kasvab tundide kaupa ja üks sammuga minutit. Selleks, et digitaalsisenditest õigesti lugeda, on vaja iga sisendnõela ja + 5V vahel tõmbetakistit. Arduino mikroprotsessoril on need mugavalt sisse ehitatud, kuid peate need selgesõnaliselt aktiveerima, teatades pin kui sisend

pinMode (b1pin, INPUT)

ja seejärel helistades

digitalWrite (pin, HIGH)

Kuna programm läbib peamist silmusahelat mitu korda sekundis, eeldame, et nupu ühe nupuvajutusega loetakse mitu korda. Selle käsitlemiseks on iga nupu jaoks muutuja, mis jälgib selle olekut. Samuti, kui programm tuvastab kõigepealt, et nupu olek on muutunud, ootab see 20 millisekundit, et oodata mis tahes signaali tagasilööki lülitist.

Režiimilüliti liigutab kella 4 režiimi vahel: normaalne, seadistatud aeg, kõik meetrit madalad ja kõik meetrit kõrgused. Tavaline režiim näitab aega, seadistatud režiimi abil saate seda muuta ning kõik-madalad ja kõik kõrged režiimid määravad mõõturite kalibreerimiseks vastavalt 3 väljundnuppu vastavalt 0V ja 5V. Kood jätkab jooksva kellaaja jälgimist kõikides režiimides, välja arvatud juhul, kui see on nullitud. Ma kaalun kella lisamisviiside lisamist, näiteks äratus, stopper ja taimer.

Kaalude tegemine

Mõõdetud skaalad, mis on ostetud, loetakse 0mA-st kuni 1 mA-ni, kuid kella lugemiseks, vajame kaalu, mis kulub 0 kuni 24 tundi ja 0 kuni 60 minutit ja sekundit. Selle lõppedes oli projekti üks raskemaid osi.

Ma alustasin ühe meetri lahti võtmisest ja skaneerides trükitud paneeli skaalal. Siis ma kasutasin mõõtmisvahendeid Unixi joonistusprogrammis Xfig (xfig.org), et mõõta pildi kaugusi ja nurki. Üks komplikatsioon oli see, et skaala ei põhine lihtsal ringi kaarel; see on vertikaalselt kokkusurutud nii, et skaala otsad asetsevad nõela pöördepunktist kaugemal kui keskel.

Uute skaalade loomiseks kirjutasin programmi Tcl (tcl.tk), mis võtab skeemi kirjeldavate vahemaade ja nurkade kogumi, arvutab selle komponendi jooned ja kõverad ning väljastab pildifaili Xfigi emakeeles. Ma lugesin selle faili Xfigisse ja kasutasin seda printitava PostScript-faili loomiseks.

Joonis A: sekundite mõõteskaala kuvab 60 sisendiga 1 milliamp.

Ainus probleem oli see, et parimad jooned, mida Xfig võis joonistada, oli paksem kui ma tahtsin, nii et redigeerin PostScripti käsitsi, et muuta see enne printimist õhemaks. Kui ma uue kaalu välja trükkisin, lõigasin need välja ja kasutasin pihustusplaatidele plaatidele kinnitamiseks (joonis A).

Et aidata plaatidel kaalusid üles tõmmata, trükisin lisamärgid, kus kruvikeerud olid. Ja nii, et originaalkaalud ei ilmuks läbi paberi, panin uued kaalud plaatide tagaküljele, mis olid tühjad (ja sümmeetrilised).

Poks It Up

See on projektitüüp, mis vajab head kasti, et näidata meetreid ja varjata juhtmeid ja selliseid. Mu naine soovitas, et küünlale oleks hea puitkarp, ja me valisime ühe kohaliku käsitöölauale.

Joonis B: paberimall aukude lõikamiseks karbis.

Joonis C: Karbis olevad augud, mõned augud saagitakse avadesse kruvide kinnitamiseks.

Joonis D: Uute kaaludega mõõturid sobivad kasti.

Mõõteriistade paigaldamine tähendas laia keskavaava puurimist mõõturi enda taga, ühtlaselt 4 väikese avaga kinnituskruvide jaoks. Ma tegin juhendina paberimudeli (joonis B, eelmine lehekülg) ja puuritud vastavalt, kuid oli raske saada kinnitusavasid piisavalt täpseks, nii et ma kasutasin suuremat natuke ja võtmehoidja nägi, et piisavalt ruumi, et nad sobiksid (Joonis C). Mõõturid sobituvad tihedalt keskmistesse aukudesse, nii et ma ei viinud pähklite ja seibide paigaldamist kinnituskruvidele (joonis D).

Toiteallika jaoks arvasin, et panin akud kasti, kuid Arduino tõmbab 20mA-30mA, nii et isegi D-rakkudega oleks vaja neid vahetada iga 5 nädala järel. Selle asemel otsustasin ma kasutada seina tüüka ja jooksin juhet läbi kasti tagaküljel oleva augu. Kella ja nuppude muutmise nupud lahkusin leivaplaadil sees.

Joonis E: Punane värvi alusvill.

Joonis F: Must värv, mis on osaliselt servadest peenestatud, paljastades punase alusvärvi antiikse efekti jaoks.

Lõpuks tahtsin, et karp oleks vananenud must, et see sobiks meie mööbli. Ma saavutasin selle efekti kõigepealt punase värvi kattekihi allalaskmise ja lasta kuivada (joonis E). Siis ma järgisin seda mustaga ja pühkisin kergelt märjad värvid servadest maha, paljastades väikese koguse punast (joonis F).

Lõpptulemus on ainulaadne kella ja suurepärane vestluskäivitaja, mida saab minu kodus ja nüüd ka sinu sees näha!

Joonis G: Lõpetatud ampomeetri kella, mille kaas on avatud, et näidata skeemi.

Joonis H: Kell näitab analoogi vilkumist 12:00.


Gene Scogin on arvutiprogrammeerija, kes naudib erinevaid praktilisi projekte.


Viited:

Mark: Arduino Arduino stardikomplekt Arduino alustamine

http://store.makezine.com

http://www.makezine.com/13/diycircuits_clock

http://xfig.org

http://tcl.tk


MAKE 13 - lk 165. MAKE saamiseks tellige või ostke üksikuid mahtusid.

Osa

Jätnud Kommentaari