„Pasidaryk pats“ anemometrai (parengiamosios grupės vaikams). Naminis anemometras

Buvo užduotis vienam projektui surinkti anemometrą, kad per USB sąsają būtų galima paimti duomenis į kompiuterį. Straipsnyje daugiau dėmesio bus skiriama pačiam anemometrui, o ne duomenų apdorojimo sistemai iš jo:

1. Komponentai

Taigi gaminiui gaminti reikėjo šių komponentų:
rutulinė pelė Mitsumi - 1 vnt.
Ping-pong kamuolys - 2 vnt.
Tinkamo dydžio organinio stiklo gabalas
Varinė viela, kurios skerspjūvis 2,5 mm2 - 3 cm
Tušinukų pildymas - 1 vnt.
Chupa Chups saldainių lazdelė - 1 vnt.
Kabelio spaustukas - 1 vnt.
Tuščiavidurė žalvarinė statinė 1 vnt.

2. Darbaračio gamyba

Prie žalvarinės statinės buvo prilituoti 3 gabalai varinės vielos, kurių kiekvienas po 1 cm, 120 laipsnių kampu. Statinės angoje prilitavau stovą iš kiniško grotuvo su siūlu gale.

Vamzdelį iš saldainio supjausčiau į 3 dalis apie 2 cm ilgio.

Perpjaunu 2 rutuliukus per pusę ir, naudodama mažus to paties grotuvo varžtus ir polistireninius klijus (klijų pistoletu), rutulio puses pritvirtinau prie ledinukų tūtelių.

Vamzdelius su rutuliuko puselėmis uždėjau ant sulituotų vielos gabalėlių, o ant viršaus viską sutvirtinau klijais.

3. Pagrindinės dalies gamyba

Anemometro guolio elementas yra metalinis strypas iš tušinuko. Apatinėje strypo dalyje (kur buvo įkištas kamštis) įkišau diską iš pelės (kodavimo). Pačios pelės konstrukcijoje apatinė kodavimo dalis rėmėsi į pelės korpusą, formuojant taškinį guolį, buvo tepalo, todėl kodavimo įrenginys lengvai pasisuko. Bet reikėjo pataisyti viršutinę strypo dalį, tam paėmiau tinkamą plastiko gabalėlį su skylute, kurios skersmuo yra tiksliai strypo skersmuo (toks gabalas buvo išpjautas iš CD-ROMa vežimo prailginimo sistemos). Liko išspręsti problemą, kad kodavimo strypas neiškristų iš taškinio guolio, todėl ant strypo tiesiai prieš laikantįjį elementą prilitavau kelis lašus lydmetalio. Taigi strypas laisvai sukosi laikančiojoje konstrukcijoje, bet neiškrito iš guolio.

Priežastis, kodėl buvo pasirinkta kodavimo grandinė, yra tokia: visuose interneto straipsniuose apie savadarbius anemometrus buvo aprašyta jų gamyba naudojant nuolatinės srovės variklį iš grotuvo, kompaktinio disko ar kito gaminio. Tokių prietaisų problema yra, pirma, jų kalibravimas ir mažas tikslumas esant mažam vėjo greičiui, antra, netiesinėje vėjo greičio charakteristikoje išėjimo įtampos atžvilgiu, t.y. norint perkelti informaciją į kompiuterį, kyla tam tikrų problemų, reikia apskaičiuoti įtampos ar srovės kitimo nuo vėjo greičio dėsnį. Naudojant kodavimo įrenginį, tokios problemos nėra, nes priklausomybė yra tiesinė. Tikslumas yra didžiausias, nes koderis duoda apie 50 impulsų vienam anemometro ašies apsisukimui, tačiau keitiklio grandinė yra šiek tiek sudėtingesnė, kurioje yra mikrovaldiklis, skaičiuojantis impulsų skaičių per sekundę viename iš prievadų ir išėjimų. šią reikšmę į USB prievadą.

4. Testavimas ir kalibravimas

Kalibravimui buvo naudojamas laboratorinis anemometras.

Paprasta buitinė firminė ar naminė meteorologinė stotis matuoja dvi temperatūras – drėgmę (kambaryje ir lauke), atmosferos slėgį, papildomai turi laikrodį su kalendoriumi. Tačiau tikroje meteorologinėje stotyje yra daug daugiau – saulės spinduliuotės jutiklis, lietaus matuoklis ir visa tai, apskritai, reikalinga tik profesionaliems tikslams, išskyrus vieną išimtį. Vėjo matuoklis (greičio ir, svarbiausia, krypties) yra labai naudingas priedas kaimo namams. Be to, firminiai vėjo jutikliai yra gana brangūs net „Ali Baba“, todėl prasminga ieškoti namuose pagamintų sprendimų.

Iš karto turiu pasakyti, kad jei būčiau iš anksto žinojęs, kiek rankų darbo ir pinigų, išleistų eksperimentams, atsiras mano idėja, galbūt nebūčiau pradėjęs. Tačiau smalsumas nusvėrė, ir šio straipsnio skaitytojai turi galimybę išvengti tų spąstų, už kuriuos teko suklupti.

Dėl vėjo greičio matavimai(anemometrija) yra šimtai būdų, iš kurių pagrindiniai yra:

karštas laidas,
- mechaninis - su sraigtu (tiksliau, sparnuotė) arba taurine horizontalia sparnuotė (klasikinis puodelio anemometras) Greičio matavimas šiais atvejais prilygsta ašies, ant kurios pritvirtintas sraigtas ar sparnuotė, greičio matavimui.
- taip pat ultragarsu, kuris sujungia greičio ir krypties matavimus.
Dėl krypties matavimai mažiau būdų:
- minimas ultragarsas;
- mechaninė vėtrungė su elektroniniu sukimosi kampo pašalinimu. Taip pat yra daug įvairių sukimosi kampo matavimo būdų: optinis, varžinis, magnetinis, indukcinis, mechaninis. Beje, ant vėtrungės koto galite tiesiog pritvirtinti elektroninį kompasą – tai tik patikimų ir paprastų ("kelių" kartojimui) būdų, kaip perduoti rodmenis iš chaotiškai besisukančios ašies, dar teks paieškoti. Todėl toliau renkamės tradicinį optinį metodą.

Kartodami bet kurį iš šių būdų savarankiškai, turėtumėte nepamiršti minimalių energijos sąnaudų ir visą parą (o gal ištisus metus?) saulės ir lietaus buvimo reikalavimų. Vėjo jutiklis negali būti dedamas po stogu pavėsyje - priešingai, jis turi būti kuo toliau nuo visų trukdančių veiksnių ir „atviras visiems vėjams“. Ideali vieta yra namo stogo kraigas arba, blogiausiu atveju, tvartas ar pavėsinė, nutolusi nuo kitų pastatų ir medžių. Tokie reikalavimai reiškia autonominį maitinimo šaltinį ir, be abejo, belaidį duomenų perdavimo kanalą. Šie reikalavimai kyla dėl kai kurių dizaino „varpelių ir švilpukų“, kurie aprašyti toliau.

Apie minimalų energijos suvartojimą

Beje, kiek yra minimalus energijos suvartojimas? Remiantis įprastomis buitinėmis AA tipo baterijomis, vidutinis grandinės suvartojimas idealiai turėtų būti ne didesnis kaip 1–2 mA. Paskaičiuokite patys: padoraus AA šarminio elemento talpa yra apie 2,5-3 Ah, tai yra, grandinė su nurodytomis sąnaudomis iš jo dirbs apie 1500-2500 valandų arba 2-3 mėnesius. Iš esmės tai taip pat nėra daug, bet gana priimtina - jūs negalite padaryti mažiau: arba sugenda akumuliatoriai, arba turėsite naudoti baterijas, kurias reikės krauti dar dažniau nei keičiant baterijas. Dėl šios priežasties, sudarydami tokią grandinę, privalome sugauti bet kokius trupinius: privalomą energijos taupymo režimą, kruopščiai apgalvotą schemą ir veiksmų seką programoje. Toliau pamatysime, kad galutiniame projekte aš vis tiek neatitikau būtinų reikalavimų ir turėjau naudoti akumuliatoriaus energiją.


Informatyvus pasakojimas apie tai, kaip bandžiau atgaminti moderniausią ir pažangiausią iš metodų - echoskopiją, ir nepavyko, papasakosiu kitą kartą. Visi kiti metodai apima atskirą greičio ir krypties matavimą, todėl turėjome blokuoti du jutiklius. Išstudijavęs teoriškai karšto laido anemometrus, supratau, kad mes negalėsime nusipirkti jau paruošto mėgėjiško lygio jautraus elemento (jų yra Vakarų rinkoje!), Bet sugalvoti jį patiems - įsitraukti į MTTP su atitinkamu laiko ir pinigų švaistymu. Todėl, šiek tiek pagalvojęs, nusprendžiau padaryti vieningą abiejų jutiklių dizainą: puodelio anemometrą su optiniu sukimosi greičio matavimu ir vėtrungę su elektroniniu sukimosi kampo nuskaitymu pagal kodavimo diską (koderį).

Jutiklių dizainas

Mechaninių jutiklių privalumas yra tas, kad ten nereikia jokių tyrimų ir plėtros, principas paprastas ir aiškus, o rezultato kokybė priklauso tik nuo kruopščiai apgalvotos konstrukcijos tikslumo.

Taip atrodė teoriškai, praktiškai tai lėmė aibę mechaninių darbų, kurių dalį teko užsakyti į šoną, nes po ranka trūko tekinimo ir frezavimo staklių. Iš karto turiu pasakyti, kad niekada nesigailėjau, kad nuo pat pradžių rėmiausi kapitaliniu požiūriu, o konstrukcijų iš improvizuotų medžiagų neaptvėriau.

Vėtrungei ir anemometrui reikalingos šios detalės, kurias reikėjo užsakyti iš tekintojo ir frezininko (kiekis ir medžiaga nurodomi iš karto abiem jutikliams):

Ašys, pažymime, būtinai yra pasuktos tekinimo staklėmis: beveik neįmanoma padaryti ašies su antgaliu tiksliai centre ant kelio. O antgalio padėtis tiksliai išilgai sukimosi ašies čia yra lemiamas sėkmės veiksnys. Be to, ašis turi būti visiškai tiesi, jokie nukrypimai neleidžiami.

Mechaninis vėjo krypties jutiklis – elektroninė vėtrungė

Vėtrungės (kaip ir žemiau esančio greičio jutiklio) pagrindas yra U formos laikiklis, pagamintas iš D-16 duraliuminio, parodytas brėžinyje viršuje, kairėje. Į apatinę įdubą įspaudžiamas PTFE gabalas, kuriame 2 ir 3 mm grąžtais paeiliui daroma laiptuota įduba. Į šią įdubą aštriu galu įkišama ašis (vėtrungei - iš žalvario). Iš viršaus jis laisvai praeina per 8 mm skylę. Virš šios skylės prie laikiklio M2 varžtais pritvirtinamas stačiakampis to paties fluoroplastiko gabalas, kurio storis 4 mm, taip, kad jis perdengtų skylę. PTFE buvo padaryta skylė tiksliai išilgai 6 mm ašies skersmens (esama tiksliai išilgai bendros skylių ašies – žr. surinkimo brėžinį žemiau). Fluoroplastika viršuje ir apačioje čia atlieka slydimo guolių vaidmenį.


Ašis trinties taške prieš fotoplastiką gali būti poliruota, o trinties plotas gali būti sumažintas įgilinus skylę fluoroplastikoje. ( Žr. šią temą UPD nuo 09/13/18 ir 06/05/19). Vėtrungiui tai nevaidina ypatingo vaidmens - tam tikras „atsilikimas“ jam netgi naudingas, o anemometrui turėsite stengtis sumažinti trintį ir inerciją.

Dabar apie sukimosi kampo pašalinimą. Klasikinis 16 padėčių pilkos spalvos koduotuvas mūsų atveju atrodo taip:

Disko dydis buvo pasirinktas atsižvelgiant į patikimos emiterio ir imtuvo porų optinės izoliacijos viena nuo kitos sąlygą. Naudojant šią konfigūraciją, 5 mm pločio plyšiai taip pat yra 5 mm atstumu, o optinės poros yra tiksliai 10 mm atstumu. Kronšteino, prie kurio pritvirtinta vėtrungė, matmenys buvo tiksliai apskaičiuoti pagal 120 mm disko skersmenį. Visa tai, žinoma, galima sumažinti (ypač jei renkatės kuo mažesnio skersmens šviesos diodus ir fotodetektorius), tačiau buvo atsižvelgta į kodavimo įrenginio gamybos sudėtingumą: paaiškėjo, kad malūnininkai nesiima tokio subtilaus darbo, todėl teko pjauti rankiniu būdu adatine dilde. O čia kuo didesnis dydis, tuo patikimesnis rezultatas ir mažiau vargo.

Aukščiau pateiktame surinkimo brėžinyje parodyta, kaip diskas tvirtinamas prie ašies. Kruopščiai centruotas diskas M2 varžtais pritvirtinamas prie kaprolono įvorės. Įvorė dedama ant ašies taip, kad tarpas viršuje būtų minimalus (1-2 mm) - kad ašis laisvai suktųsi normalioje padėtyje, o apvertus antgalis neiškristų iš lizdo ties apačioje. Fotodetektorių ir emiterių blokai yra pritvirtinti prie laikiklio disko viršuje ir apačioje, tiksliau apie jų dizainą žemiau.

Visa konstrukcija dedama į plastikinį (ABS arba polikarbonatinį) 150×150×90 mm korpusą. Surinktas (be dangčio ir vėtrungės) krypties jutiklis atrodo taip:

Atkreipkite dėmesį, kad pasirinkta šiaurės kryptis pažymėta rodykle ir ją reikės laikytis montuojant jutiklį iš naujo.

Tikroji vėtrungė yra pritvirtinta prie ašies viršaus. Jis pagamintas tos pačios žalvarinės ašies pagrindu, kurios pjūvyje bukojoje pusėje yra lituojamas žalvarinis lakštinis kotas. Aštriame gale iki tam tikro ilgio nupjaunamas M6 sriegis, ant kurio veržlėmis pritvirtinamas apvalus iš švino atsvaras atsvaras:

Krovinys suprojektuotas taip, kad svorio centras tiksliai kristų ant tvirtinimo taško (judindami jį išilgai sriegio, galite pasiekti tobulą pusiausvyrą). Vėtrungė prie ašies tvirtinama naudojant M3 nerūdijančio plieno varžtą, kuris praeina per vėtrungės ašyje esančią angą ir įsukamas į sukimosi ašyje nupjautą sriegį (tvirtinimo varžtas matomas aukščiau esančioje nuotraukoje). Norint tiksliai orientuotis, sukimosi ašies viršuje yra pusapvalė įduba, kurioje yra vėtrungės ašis.

Vėjo greičio jutiklis – „pasidaryk pats“ puodelio anemometras

Kaip jau supratote, greičio jutiklio pagrindas suvienodinimo tikslu buvo pasirinktas toks pat kaip ir vėtrungės. Tačiau dizaino reikalavimai čia šiek tiek skiriasi: norint sumažinti paleidimo slenkstį, anemometras turi būti kuo lengvesnis. Todėl visų pirma jo ašis yra pagaminta iš duraliuminio, disko su skylėmis (sukimosi greičiui matuoti) skersmuo yra sumažintas:

Nors keturių bitų pilkos spalvos koduotuvui reikia keturių optronų, greičio jutikliui reikia tik vieno. Išilgai disko perimetro išgręžiama 16 skylių vienodu atstumu, todėl vienas disko apsisukimas per sekundę prilygsta 16 hercų dažnio, gaunamo iš optrono (galima daugiau skylių, galima mažiau - klausimas tik perskaičiavimo skalė ir energijos taupymas teršėjams).

Savarankiškai pagamintas jutiklis vis tiek pasirodys gana grubus (pradžios slenkstis yra bent pusė metro per sekundę), tačiau jį galima sumažinti tik radikaliai pakeitus dizainą: pavyzdžiui, vietoj sraigto įdėkite sraigtą. puodelio patefonas. Sukamajame puodelyje srauto pasipriešinimo jėgų skirtumas, lemiantis sukimo momentą, yra santykinai mažas – jis pasiekiamas vien dėl skirtingos paviršiaus formos, atitinkančios artėjantį oro srautą (todėl puodelių forma turėtų būti tokia pat rafinuota kaip įmanoma - idealiu atveju tai yra pusė kiaušinio arba rutulio). Propeleris turi daug didesnį sukimo momentą, gali būti daug lengvesnis, o galiausiai ir pats gaminimas yra paprastesnis. Bet propeleris turi būti montuojamas oro srauto kryptimi – pavyzdžiui, pastatant jį tos pačios vėtrungės gale.

Klausimų klausimas tuo pačiu metu: kaip perduoti rodmenis iš jutiklio, kuris atsitiktinai sukasi aplink vertikalią ašį? Man nepavyko to išspręsti, o sprendžiant iš to, kad profesionalus puodelių dizainas vis dar paplitęs, jis jokiu būdu nėra išspręstas su puse smūgio (į rankinius anemometrus neatsižvelgiame - jie orientuojami rankiniu būdu pagal orą srautas).

Mano puodelio anemometro versija paremta lazeriniu disku. Viršutinis ir apatinis vaizdas rodomas nuotraukoje:



Puodeliai pagaminti iš kūdikių vandens buteliukų „Agusha“ dugnų. Apačia atsargiai nupjaunama, o visos trys – vienodu atstumu, kad būtų vienodo svorio, lokaliai pašildomos centre (jokiu būdu nešildykite viso – jis negrįžtamai sulinks!) Ir užpakalinė pusė medinės rankenos nuo dildės išlinksta į išorę, kad ji būtų supaprastinta. Pakartosite – apsirūpinkite didesniais buteliais, iš penkių ar šešių vienetų greičiausiai pavyks pagaminti tris daugmaž vienodus puodelius. Pagamintuose puodeliuose šone yra padaryta plyšys ir jie pritvirtinami išilgai disko perimetro 120 ° kampu vienas kito atžvilgiu vandeniui atspariais klijais-hermetiku. Diskas yra griežtai centre ašies atžvilgiu (aš tai padariau naudojant uždarą metalinę poveržlę) ir pritvirtintas prie kaproloninės įvorės M2 varžtais.

Bendras jutiklių projektavimas ir montavimas

Abu davikliai, kaip jau minėta, dedami į plastikinius 150×150×90 mm dėklus. Į korpuso medžiagos pasirinkimą reikia žiūrėti apgalvotai: ABS ar polikarbonatas turi pakankamai atsparumo oro sąlygoms, tačiau polistirenas, organinis stiklas, juo labiau polietilenas čia tikrai netiks (o taip pat bus sunku juos nudažyti, kad apsaugotų nuo saulės). ). Jei nėra galimybės įsigyti firminės dėžutės, geriau patiems išlituoti korpusą iš folijos stiklo pluošto, o vėliau nudažyti, kad apsaugotumėte nuo korozijos ir suteiktų estetinę išvaizdą.

Dangtelyje tiksliai ašies išėjimo taške padaroma 8-10 mm skylė, į kurią tuo pačiu klijais-hermetiku įklijuojamas plastikinis kūgis, iš snapelio išpjautas iš purškimo skardinės su statybiniu sandarikliu arba klijais:

Norėdami centruoti kūgį išilgai ašies, nuo dangčio apačios spaustuku pritvirtinkite medžio gabalą, pažymėkite ant jo tikslų centrą ir 12 mm grąžtu kastuvu eikite šiek tiek giliau, aplink skylę padarykite žiedinę įdubą. Kūgis turi būti tiksliai ten, po kurio jis gali būti padengtas klijais. Kietėjimo metu jį papildomai galite pritvirtinti vertikalioje padėtyje M6 varžtu su veržle.

Pats greičio jutiklis šiuo kūgiu tarsi skėčiu uždengia ašį, neleisdamas vandeniui patekti į korpusą. Vėtrungei virš kūgio verta papildomai uždėti rankovę, kuri nuo tiesioginio vandens srauto užtaisys tarpą tarp ašies ir kūgio (žr. žemiau esančią bendro jutiklių vaizdo nuotrauką).

Laidai iš optronų prijungiami prie atskiros D-SUB jungties (žr. aukščiau esančią krypties jutiklio nuotrauką). Sujungimo dalis su kabeliu įkišama per stačiakampę skylę korpuso apačioje. Tada skylė uždengiama dangteliu su lizdu kabeliui, kuris neleidžia jungtis iškristi. Duraliniai laikikliai yra prisukami prie korpuso pagrindo, kad būtų galima pritvirtinti. Jų konfigūracija priklauso nuo jutiklių vietos.

Surinkus abu jutiklius atrodo taip:

Čia jie rodomi jau sumontuoti vietoje – ant pavėsinės kraigo. Atkreipkite dėmesį, kad dangtelį tvirtinančių varžtų įdubos nuo vandens apsaugotos šlapiais guminiais kaiščiais. Jutikliai montuojami griežtai horizontaliai pagal lygį, kuriam reikėjo naudoti pamušalus iš linoleumo gabalėlių.

Elektroninė dalis

Visą orų stotį sudaro du moduliai: nuotolinis blokas (kuris aptarnauja abu vėjo jutiklius, taip pat ima rodmenis iš išorinio temperatūros-drėgmės jutiklio) ir pagrindinio modulio su ekranais. Nuotoliniame bloke yra jo viduje sumontuotas belaidis siųstuvas duomenims siųsti (antena kyšo iš šono). Pagrindinis modulis gauna duomenis iš nuotolinio bloko (imtuvas dedamas ant kabelio atskirame bloke, kad būtų lengviau orientuotis), taip pat ima rodmenis iš vidinio temperatūros-drėgmės jutiklio ir visa tai rodo ekranuose. Atskiras pagrindinio įrenginio komponentas yra laikrodis su kalendoriumi, kuris bendro stoties nustatymo patogumui yra aptarnaujamas atskiru Arduino Mini valdikliu ir turi savo ekranus.

Vėjo jutiklių nuotolinis modulis ir matavimo grandinė

AL-107B IR šviesos diodai buvo pasirinkti kaip fotoemiteriai. Šie senoviniai šviesos diodai, žinoma, nėra patys geriausi savo klasėje, tačiau jie turi miniatiūrinį 2,4 mm skersmens korpusą ir gali praleisti srovę iki 600 mA per impulsą. Beje, bandymų metu paaiškėjo, kad šio šviesos diodo pavyzdys apie 1980 m. išleistas (raudonas korpusas) turi maždaug dvigubai didesnį efektyvumą (išreikštas patikimo fotodetektoriaus veikimo diapazone) nei šiuolaikiniai pavyzdžiai, įsigyti Chip. -Gili (jie turi skaidrų gelsvai žalią kūną). Vargu ar kristalai 1980 metais buvo geresni nei dabar, nors koks velnias nejuokauja? Tačiau galbūt problema yra skirtinguose abiejų modelių sklaidos kampuose.

Per šviesos diodą greičio jutiklyje (150 omų rezistorius, kai maitinamas 5 voltais) buvo praleista apie 20 mA nuolatinė srovė, o krypties davikliu - impulsinė (vingiuota, kurios darbo ciklas yra 2) apie 65 mA ( tas pats 150 omų, kai maitinama 12 voltų). Vidutinė srovė per vieną krypties jutiklio šviesos diodą yra apie 33 mA, iš viso per keturis kanalus - apie 130 mA.

Kaip fotodetektoriai buvo pasirinkti L-32P3C fototranzistoriai 3 mm skersmens pakuotėje. Signalas buvo paimtas iš kolektoriaus, apkrauto 1,5 arba 2 kOhm rezistoriumi iš 5 V maitinimo.Šie parametrai parinkti taip, kad ~ 20 mm atstumu tarp foto emiterio ir imtuvo pilno dydžio loginis signalas, esant 5 -V lygiai be papildomo stiprinimo iškart patektų į valdiklio įvestį. Čia pavaizduotos srovės jums gali atrodyti neproporcingai didelės, atsižvelgiant į aukščiau paminėtą minimalų galios poreikį, tačiau, kaip matysite, kiekviename matavimo cikle jos pasirodo ne ilgiau kaip kelias milisekundes, kad bendras suvartojimas išliktų mažas.

Imtuvų ir emiterių montavimo pagrindas buvo kabelio kanalo sekcijos (matomos aukščiau esančioje jutiklių nuotraukoje), iškirptos taip, kad prie pagrindo susidarytų „ausys“, skirtos tvirtinimui ant laikiklio. Kiekvienam iš šių pjūvių prie fiksavimo dangčio iš vidaus buvo priklijuota plastikinė plokštė, kurios plotis lygus kanalo pločiui. Šioje plokštelėje išgręžtose skylėse reikiamu atstumu buvo pritvirtinti šviesos diodai ir fototranzistoriai, kad laidai būtų kanalo viduje, o į lauką išsikišdavo tik korpusų galų iškilimai. Išvados lituojamos pagal schemą (žr. žemiau), išorinės išvados daromos lanksčios įvairiaspalvės vielos pjūviais. Kanalo viduje taip pat dedami rezistoriai krypties jutiklio emiteriams, iš jų daroma viena bendra išvada. Po išlitavimo dangtelis užsifiksuoja, visi plyšiai užklijuojami plastilinu ir papildomai lipnia juosta, kuri taip pat uždaro skylę iš priešingos laidams pusės, o visa konstrukcija užpildoma epoksidine derva. Išorinės išvados, kaip matote jutiklių nuotraukoje, išvedamos į gnybtų bloką, pritvirtintą laikiklio gale.

grandinės schema vėjo jutiklio apdorojimo įrenginys atrodo taip:

Apie tai, iš kur gaunama 12–14 voltų maitinimas, žr. Be diagramoje nurodytų komponentų, nuotoliniame bloke yra temperatūros-drėgmės jutiklis, kuris diagramoje nepavaizduotas. Įtampos daliklis, prijungtas prie valdiklio A0 gnybto, skirtas valdyti maitinimo įtampą, kad būtų galima laiku pakeisti. Prie tradicinio kaiščio 13 (DIP korpuso 19 kontakto) prijungtas šviesos diodas yra itin ryškus, jo normaliam, nekrentančiam švytėjimui pakanka miliampų srovės dalies, kurią užtikrina neįprastai didelė 33 vertė. kΩ rezistorius.

Grandinėje naudojamas plikas Atmega328 valdiklis DIP pakete, užprogramuotas per Uno ir sumontuotas ant lizdo. Tokie valdikliai su jau parašyta Arduino įkrovos programa parduodami, pavyzdžiui, Chip-Dip (arba galite patys parašyti įkrovos tvarkyklę). Tokį valdiklį patogu programuoti pažįstamoje aplinkoje, tačiau, be komponentų plokštėje, jis, pirma, yra ekonomiškesnis, antra, užima mažiau vietos. Visavertį energijos taupymo režimą būtų galima gauti ir atsikračius įkrovos tvarkyklės (ir apskritai visą kodą parašius asamblieryje :), bet čia tai nelabai aktualu, o programavimas be reikalo sudėtingas.

Diagramoje pilki stačiakampiai apjuosė komponentus, susijusius atskirai su greičio ir krypties kanalais. Apsvarstykite visos schemos veikimą.

Viso valdiklio veikimą valdo WDT laikmatis, įjungtas pertraukimo skambučio režimu. WDT nustatytais intervalais pažadina valdiklį iš miego režimo. Jei iškviestoje pertraukoje laikmatis iš naujo nustatomas, iš naujo paleisties nuo nulio nėra, visi pasauliniai kintamieji lieka savo vertėmis. Tai leidžia kaupti duomenis nuo pabudimo iki pabudimo ir tam tikru momentu juos apdoroti – pavyzdžiui, apskaičiuoti jų vidurkį.

Programos pradžioje pateikiamos šios bibliotekų ir globalių kintamųjų deklaracijos (kad nebūtų perkrautas ir taip gausių pavyzdžių tekstas, čia skelbiama viskas, kas susiję su temperatūros-drėgmės jutikliu):

#įtraukti #įtraukti #įtraukti . . . . . #define ledPin 13 //LED kaištis (PB5 kaištis 19 ATmega) #define IR_Pin 10 //IRLU tranzistoriaus valdymas (PB2 kaištis 16 Atmega) #define in_3p 9 //Imtuvo įvesties bitas 3 #define in_2p 8 //Imtuvo įvestis 2 define in_1p 7 //imtuvo įvesties bitas 1 #define in_0p 6 //imtuvo įvesties bitas 0 #define IR_PINF 5 //(PD5,11) išvestis dažniui IR LED #define IN_PINF 4 //(PD4,6) dažnio aptikimo įvestis nepastovi nepasirašytas ilgas ttime = 0; //Jutiklio aktyvavimo periodas float ff; //greičio jutiklio dažnio vertės, skirtos char msg vidurkiui; //išsiųsta žinutė baitų skaičius=0;//skaitiklis int batt; //vidutinti akumuliatoriaus baitą wDir; // vėjo krypčių masyvas baitas wind_Gray=0; //vėjo krypties kodo baitas
Miego režimui ir WDT (pabusti kas 4 sekundes) įjungti naudojamos šios procedūros:

// sistemos užmigdymas void system_sleep() ( ADCSRA &= ~(1<< ADEN); //экв. cbi(ADCSRA,ADEN); выключим АЦП set_sleep_mode(SLEEP_MODE_PWR_DOWN); // режим сна sleep_mode(); // система засыпает sleep_disable(); // система продолжает работу после переполнения watchdog ADCSRA |= (1 << ADEN); /экв. sbi(ADCSRA,ADEN); включаем АЦП } //**************************************************************** // ii: 0=16ms, 1=32ms,2=64ms,3=128ms,4=250ms,5=500ms // 6=1 sec,7=2 sec, 8=4 sec, 9= 8sec void setup_watchdog(int ii) { byte bb; if (ii >9) ii=9; bb=ii & 7; jei (ii > 7) bb|= (1<<5); //в bb - код периода bb|= (1<Greičio jutiklis išveda optinio kanalo pertrūkių dažnį, kurio dydis yra vienetai-dešimties hercų. Išmatuoti tokią vertę po tam tikro laikotarpio yra ekonomiškiau ir greičiau (apie tai buvo skirta autoriaus publikacijoje „Arduino žemų dažnių matavimo metodų įvertinimas“). Čia pasirenkamas metodas per modifikuotą funkciją pulseInLong(), kuri nesusieja matavimo su tam tikrais valdiklio išėjimais (funkcijos periodInLong() tekstą rasite nurodytoje publikacijoje).

Funkcijoje setup() deklaruojamos kaiščių kryptys, inicijuojama 433 MHz siųstuvo biblioteka ir budėjimo laikmatis (IN_PINF eilutė iš esmės yra nereikalinga ir įterpiama atminčiai):

Void setup() ( pinMode(IR_PINF, OUTPUT); //išvesties pinMode(IN_PINF, INPUT); //išvesties dažnio aptikimas įvesties pinMode(13, OUTPUT); //LED vw_setup(1200); // „VirtualWire“ ryšio greitis vw_set_tx_pin(2); //D2, PD2(4) VirtualWire perdavimo kaištis // Serial.begin(9600); // Nuoseklus prievadas, skirtas stebėti derinant setup_watchdog(8); //WDT periodas 4 c wdt_reset(); )
Galiausiai pagrindinėje programos kilpoje kiekvieną kartą pabudus pirmiausia nuskaitome įtampą (kas 4 sekundes) ir apskaičiuojame vėjo greičio jutiklio dažnį:

Void loop() ( wdt_reset(); // iš naujo nustatykite laikmatį digitalWrite(ledPin, HIGH); // įjunkite šviesos diodą, kad valdytumėte batt=analogRead(0); // skaitykite ir išsaugokite esamą akumuliatoriaus kodą /*=== dažnis === = */ digitalWrite(IR_PINF, HIGH); //įjunkite greičio jutiklio IR šviesos diodą f=0; // dažnio kintamasis ttime=periodInLong(IN_PINF, LOW, 250000); //laukti 0,25 sek // Serial. println(ttime); //kontrolei derinimo metu if (ttime!=0) (//jei dažnio nėra f = 1000000/float(ttime);) //apskaičiuokite signalo dažnį Hz digitalWrite(IR_PINF, LOW); //išjunkite IR šviesos diodą ff=f; //išsaugokite apskaičiuotą reikšmę masyve. . . . .
IR šviesos diodo degimo laikas (sunaudojantis, priminsiu, 20 mA) čia, kaip matote, bus maksimalus, jei jutiklio diskas nesisuka ir yra apie 0,25 sekundės tokiomis sąlygomis. Taigi minimalus išmatuojamas dažnis būtų 4 Hz (ketvirtadalis disko apsisukimų per sekundę su 16 skylių). Kaip paaiškėjo kalibruojant jutiklį (žr. žemiau), tai atitinka apie 0,2 m/s vėjo greičio Pabrėžiame, kad tai yra minimali išmatuojama vėjo greičio reikšmė, bet ne skiriamoji geba ir ne starto slenkstis (kuris būti daug didesnis). Esant dažniui (tai yra, kai jutiklis sukasi), matavimo laikas (ir atitinkamai LED degimo laikas, tai yra srovės suvartojimas) sumažės proporcingai, o skiriamoji geba padidės.

Po to atliekamos procedūros, kurios atliekamos kas ketvirtą pabudimą (tai yra kas 16 sekundžių). Iš sukauptų keturių verčių greičio jutiklio dažnio reikšmę perduodame ne vidutinę, o maksimalią – kaip parodė patirtis, tai informatyvesnė reikšmė. Patogumui ir vienodumui, prieš perduodant, kiekvienas kiekis, neatsižvelgiant į jo tipą, konvertuojamas į teigiamą sveikąjį skaičių, kurio dydis yra 4 skaitmenys po kablelio. Skaičiavimo kintamasis stebi pažadinimų skaičių:

//kas 16 sekundžių apskaičiuojame akumuliatoriaus vidurkį ir nustatome maksimalią //dažnio reikšmę iš 4 reikšmių: if (count==3)( f=0; //dažnio reikšmė (baitas i=0; i<4; i++) if (fKitas yra krypties pilkojo kodo apibrėžimas. Čia, siekiant sumažinti suvartojimą, vietoj nuolatinio IR šviesos diodų, 5 kHz dažnis vienu metu taikomas visiems keturiems kanalams per pagrindinį lauko tranzistorių, naudojant tono () funkciją. Dažnio aptikimas kiekviename iš skaitmenų (pins in_0p - in_3p) atliekamas naudojant metodą, panašų į apsaugos nuo atšokimo metodą, nuskaitant paspausto mygtuko rodmenis. Pirmiausia cikle laukiame, kad pamatytume, ar išvestis yra didelė, o tada patikriname po 100 µs. 100 µs yra pusė 5 kHz dažnio periodo, tai yra, jei yra dažnis bent iš antro karto, mes vėl pasieksime aukštą lygį (tik tuo atveju, kartosime keturis kartus) ir tai reiškia, kad tai tikrai yra. Kartojame šią procedūrą kiekvienam iš keturių kodo bitų:

/* ===== Pilka vėjo spalva ==== */ //kryptis: tonas (IR_Pin,5000);//dažnis nuo 5 kHz iki tranzistoriaus loginis taip = klaidingas; baitas i=0; while(!yes)( //skaitmuo 3 i++; loginė būsena1 = (skaitmeninis skaitymas(in_3p)&HIGH; delsaMikrosekundės(100); // 100 mikrosekundžių delsa taip=(būsena1 & !digitalRead(in_3p)); if (i> 4 ) pertrauka; //bandyti keturis kartus) if (yes) wDir=1; kitu atveju wDir=0; taip = klaidinga; i=0; while(!yes)( //bit 2 i++; loginė būsena1 = (skaitmeninis skaitymas(in_2p)&HIGH); delsaMikrosekundės (100); // 100 mikrosekundžių delsa taip=(būsena1 & !digitalRead(in_2p)); if (i> 4 ) pertrauka; //bandyti keturis kartus) if (yes) wDir=1; kitu atveju wDir=0; taip = klaidinga; i=0; while(!yes)( //bit 1 i++; loginė būsena1 = (skaitmeninis skaitymas(in_1p)&HIGH); delsaMikrosekundės (100); // 100 mikrosekundžių delsa taip=(būsena1 & !digitalRead(in_1p)); if (i> 4 ) pertrauka; //bandyti keturis kartus) if (yes) wDir=1; kitu atveju wDir=0; taip = klaidinga; i=0; while(!yes)( //bit 0 i++; loginė būsena1 = (skaitmeninis skaitymas(in_0p)&HIGH); delsaMikrosekundės (100); // 100 mikrosekundžių delsa taip=(būsena1 & !digitalRead(in_0p)); if (i> 4 ) pertrauka; //bandyti keturis kartus) if (yes) wDir=1; kitu atveju wDir=0; noTone(IR_Pin); //išjungti dažnį //surinkti jį į baitą pilku kode: wind_Gray=wDir+wDir*2+wDir*4+wDir*8; // tiesioginis vertimas į dvejetainį. kodas int wind_G=wind_Gray*10+1000; //pridėkite iki 4 des. iškrovos. . . . .
Didžiausia vienos procedūros trukmė bus be dažnio imtuve ir yra lygi 4 × 100 = 400 mikrosekundžių. Maksimalus 4 krypčių šviesos diodų degimo laikas bus tada, kai nešviečia joks imtuvas, ty 4 × 400 = 1,6 milisekundės. Algoritmas, beje, veiks taip pat, jei vietoj dažnio, kurio periodas yra 100 μs kartotinis, šviesos diodams tiesiog pritaikysite nuolatinį aukštą lygį. Esant meandrai, o ne pastoviam lygiui, maistą tiesiog sutaupome per pusę. Dar daugiau galime sutaupyti, jei kiekvieną IR šviesos diodą paleisime per atskirą liniją (atitinkamai per atskirą valdiklio išėjimą su savo rakto tranzistoriumi), tačiau tai apsunkina grandinę, laidus ir valdymą bei 130 mA srovę po 2 ms 16 sekundžių – tai, matai, yra šiek tiek.

Pagaliau, bevielis duomenų perdavimas. Duomenims iš jutiklių vietos perduoti į orų stoties ekraną pasirinktas paprasčiausias, pigiausias ir patikimiausias būdas: siųstuvo/imtuvo pora 433 MHz dažniu. Sutinku, kad metodas nėra pats patogiausias (dėl to, kad įrenginiai skirti perduoti bitų sekas, o ne ištisus baitus, turite puikiai konvertuoti duomenis tarp reikiamų formatų), ir esu tikras, kad daugelis to norės ginčytis su manimi dėl jo patikimumo. Atsakymas į paskutinį prieštaravimą yra paprastas: „Jūs tiesiog nežinote, kaip juos virti!

Paslaptis dažniausiai lieka užkulisiuose įvairiems duomenų apsikeitimo 433 MHz kanalu aprašymams: kadangi šie įrenginiai yra grynai analoginiai, imtuvo galia turi būti labai gerai išvalyta nuo pašalinių bangelių. Jokiomis aplinkybėmis imtuvas neturėtų būti maitinamas vidinio Arduino 5 V reguliatoriaus! Prie pat jo išėjimų sumontavus atskirą mažos galios imtuvo reguliatorių (LM2931, LM2950 ar panašų) su tinkamomis įvesties ir išvesties filtravimo grandinėmis, labai padidėja perdavimo diapazonas ir patikimumas.

Šiuo atveju siųstuvas veikė tiesiogiai nuo 12 V baterijos įtampos, imtuve ir siųstuve buvo įrengtos standartinės namų gamybos antenos 17 cm ilgio vielos gabalo pavidalu. (Priminsiu, kad tik vieno branduolio laidas tinka antenoms, o antenas būtina išdėstyti erdvėje lygiagrečiai viena kitai.) 24 baitų ilgio informacijos paketas (atsižvelgiant į drėgmę ir temperatūrą) be problemų buvo užtikrintai perduotas 1200 bps greičiu įstrižai per sodo sklypas 15 arų (apie 40-50 metrų), o po to per tris rąstines sienas į kambarį (kuriame, pavyzdžiui, korinio ryšio signalas priimamas labai sunkiai ir ne visur). Sąlygos, kurios praktiškai nepasiekiamos jokiam standartiniam 2,4 GHz metodui (pvz., Bluetooth, Zig-Bee ir net mėgėjiškas Wi-Fi), nepaisant to, kad siųstuvo suvartojimas čia yra apgailėtinas 8 mA ir tik tikrojo perdavimo metu, likusį laiką siųstuvas sunaudoja tikrus centus. Siųstuvas struktūriškai patalpintas nuotolinio įrenginio viduje, antena iš šono išsikiša horizontaliai.

Visus duomenis sujungiame į vieną paketą (realioje stotyje prie jo bus pridėta temperatūra ir drėgmė), susidedantį iš vienodų 4 baitų dalių ir prieš tai su „DAT“ parašu, išsiunčiame į siųstuvą ir užbaigiame visus ciklus:

/*=====Siųstuvas=====*/ String strMsg="DAT"; //parašas - duomenys strMsg+=volt; //pridėkite 4 skaitmenų bateriją strMsg+=wind_G; //prideda vėją 4 bitai strMsg+=fi; //prideda dažnis 4 bitai strMsg.toCharArray(msg,16); //eilutės vertimas į masyvą // Serial.println(msg); //valdyti vw_send((uint8_t *)msg, strlen(msg)); // siųsti žinutę vw_wait_tx(); // palaukite, kol bus atliktas perkėlimas – būtina! delsimas(50); //+ tik tuo atveju, vėlavimo skaičius=0; //nustatyti skaitiklį iš naujo )//pabaigos skaičius==3 else count++; digitalWrite(ledPin, LOW); //išjungiame signalą LED system_sleep(); //sistema – miegoti) //pabaigos kilpa
Paketo dydis gali būti sumažintas, jei atsisakoma reikalavimo pateikti kiekvieną iš įvairių tipų reikšmių vienodo 4 baitų kodo pavidalu (pavyzdžiui, pilkajam kodui, žinoma, pakanka vieno baito). Bet universalumo dėlei viską palikau taip, kaip yra.

Nuotolinio įrenginio maitinimas ir konstrukcijos ypatybės. Nuotolinio įrenginio suvartojimas apskaičiuojamas taip:

20 mA (emiteris) + ~20 mA (valdiklis su pagalbinėmis grandinėmis) maždaug 0,25 s kas keturias sekundes - 40/16 = 2,5 mA vidurkis;
- 130 mA (radiatoriai) + ~20 mA (valdiklis su pagalbinėmis grandinėmis) maždaug 2 ms kas 16 sekundžių - 150/16/50 ≈ 0,2 mA vidutiniškai;

Atsižvelgdami į šį skaičiavimą, valdiklio suvartojimą nuskaitydami duomenis iš temperatūros-drėgmės jutiklio ir siųstuvo veikimo metu, mes drąsiai padidiname vidutinį suvartojimą iki 4 mA (su piko maždaug 150 mA, atminkite!). Baterijas (kurioms, beje, norint maitinti siųstuvą maksimalia įtampa prireiks net 8 vienetų!) teks keisti per dažnai, todėl kilo mintis nuotolinį įrenginį maitinti iš 12 voltų baterijų, skirtų atsuktuvui - Turėjau tik du papildomus. Jų talpa net mažesnė už atitinkamą AA baterijų skaičių – tik 1,3 A valandos, tačiau niekas nesivargina jų keisti bet kada, laikydamas pasiruošęs antrą įkrautą. Esant nurodytam suvartojimui 4 mA, 1300 mA valandų talpos pakanka maždaug dviem savaitėms, o tai nėra per daug varginantis.

Atkreipkite dėmesį, kad ką tik įkrauto akumuliatoriaus įtampa gali būti iki 14 voltų. Šiuo atveju buvo sumontuotas 12 voltų įvesties stabilizatorius - siekiant išvengti viršįtampių siųstuvo tiekime ir neperkrauti pagrindinio penkių voltų stabilizatoriaus.

Nuotolinis blokas tinkamame plastikiniame dėkle dedamas po stogu, prie jo jungtyse prijungiamas maitinimo laidas iš akumuliatoriaus ir jungtys su vėjo jutikliais. Pagrindinis sunkumas yra tas, kad grandinė pasirodė itin jautri oro drėgmei: lietingu oru po poros valandų pradeda gesti siųstuvas, dažnio matavimai rodo visišką netvarką, o baterijos įtampos matavimai rodo „orą Marse“. .

Todėl, suderinus algoritmus ir patikrinus visas jungtis, korpusas turi būti kruopščiai užplombuotas. Visos jungtys prie įėjimo į korpusą yra padengtos sandarikliu, tas pats pasakytina apie visas išsikišusias varžtų galvutes, antenos išvestį ir maitinimo laidą. Korpuso sandūros padengiamos plastilinu (atsižvelgiant į tai, kad jas teks atskirti), o viršuje papildomai klijuojamos santechnikos juostelėmis. Panaudotas jungtis viduje pravartu papildomai kruopščiai sutvirtinti epoksidine derva: pavyzdžiui, schemoje nurodytas nuotolinio valdymo modulis DB-15 pats savaime nėra sandarus, o drėgnas oras pamažu prasiskverbs tarp metalinio rėmo ir plastikinio pagrindo.

Bet visos šios priemonės savaime duos tik trumpalaikį efektą – net jei nėra siurbiamas šaltas, drėgnas oras, tada sausas oras iš patalpos lengvai virsta drėgnu, kai temperatūra lauke nukrenta (prisiminkime reiškinį, vadinamą „rasos taškas“).

Norint to išvengti, dėklo viduje būtina palikti kasetę ar maišelį su sausikliu – silikageliu (maišeliai su juo kartais dedami į dėžutes su batais arba į kai kurias pakuotes su elektroniniais prietaisais). Jei silikagelis yra neaiškios kilmės ir buvo laikomas ilgą laiką, prieš naudojimą jį reikia keletą valandų kaitinti elektrinėje orkaitėje 140-150 laipsnių temperatūroje. Jei korpusas sandariai uždarytas, sausiklį teks keisti ne dažniau kaip kiekvieno vasaros sezono pradžioje.

Pagrindinis modulis

Pagrindiniame modulyje visos reikšmės gaunamos, dekoduojamos, jei reikia, konvertuojamos pagal kalibravimo lygtis ir rodomos.

Imtuvas išimamas iš pagrindinio stoties modulio korpuso ir dedamas į nedidelę dėžutę su ausytėmis tvirtinimui. Antena išvedama per dangtelyje esančią skylutę, visos korpuso skylės užsandarintos žaliava guma. Imtuvo kontaktai nukreipiami į labai patikimą buitinę RS-4 jungtį, iš imtuvo pusės jungiama per dvigubai ekranuoto AV laido segmentą:

Signalas paimamas iš vienos iš kabelių šerdies, o maitinimas tiekiamas per kitą „neapdorotų“ 9 voltų pavidalu iš modulio maitinimo adapterio. Stabilizatorius tipas LM-2950-5.0 kartu su filtrų kondensatoriais montuojamas dėžutėje kartu su imtuvu ant atskiros plokštės.

Buvo atlikti eksperimentai, siekiant padidinti kabelio ilgį (tik tuo atveju - o jei jis neveiks per sieną?), Kuriuose paaiškėjo, kad iki 6 metrų niekas nesikeičia.

Yra tik keturi OLED ekranai: du geltoni pateikia orų duomenis, du žali laikrodžiai ir kalendorius. Jų išdėstymas parodytas nuotraukoje:

Atkreipkite dėmesį, kad kiekvienoje grupėje vienas iš ekranų yra tekstas, antrasis yra grafinis, su dirbtinai sukurtais šriftais glifų paveikslėlių pavidalu. Čia mes nesigilinsime į informacijos išvedimą į ekranus ateityje, kad nebūtų išpūstas ir taip didelis straipsnio tekstas ir pavyzdžiai: dėl to, kad yra glifų paveikslėlių, kuriuos reikia rodyti atskirai (dažnai tiesiog įtraukiant sąrašą). parinktis naudojant atvejo pareiškimą), išvesties programos gali būti labai sudėtingos. Norėdami gauti informacijos apie tai, kaip tvarkyti šiuos ekranus, žr. autoriaus įrašą „Winstar ekranų grafinis ir tekstinis režimas“, kuriame yra vėjo duomenų išvesties ekrano pavyzdys.

Schema. Kad būtų lengviau nustatyti, laikrodį ir jo ekranus aptarnauja atskiras „Arduino Mini“ valdiklis, todėl čia jų daugiau nenagrinėsime. Komponentų prijungimo prie „Arduino Nano“, kuris valdo oro duomenų priėmimą ir išvedimą, schema yra tokia:

Čia, priešingai nei nuotoliniame modulyje, parodytas oro jutiklių prijungimas - barometras ir vidinis temperatūros-drėgmės jutiklis. Reikėtų atkreipti dėmesį į maitinimo laidus – ekranai maitinami atskiru 5 V stabilizatoriumi, LM1085 tipo. Taip pat natūralu iš jo maitinti laikrodžio ekranus, tačiau tokiu atveju laikrodžio valdiklis taip pat turi būti maitinamas iš tos pačios įtampos, o per 5 V išėjimą, o ne Vin ("Mini Pro" pastarasis vadinamas RAW). Jei laikrodžio valdiklį maitinate taip pat kaip Nano - 9 voltais per RAW išvestį, tada jo vidinis reguliatorius prieštaraus išoriniam 5 voltui ir šioje kovoje, žinoma, laimės stipriausias, tai yra LM1085. , o Mini liks visiškai be maitinimo. Taip pat, norint išvengti visokių nesklandumų, prieš programuojant Nano ir ypač Mini (tai yra prieš prijungiant USB kabelį) reikėtų atjungti išorinį adapterį.

Ant LM1085 stabilizatoriaus, sujungus visus keturis ekranus, atsiskirs apie vatas galios, todėl jį reikėtų montuoti ant nedidelio apie 5-10 cm2 radiatoriaus iš aliuminio ar vario kampo.

Duomenų priėmimas ir tvarkymas. Čia atgaminu ir komentuoju tik su vėjo duomenimis susijusius programos fragmentus, apie kitus jutiklius keliais žodžiais vėliau.

Norėdami gauti pranešimą 433 MHz kanalu, naudojame standartinį metodą, aprašytą daugelyje šaltinių. Sujungiame biblioteką ir deklaruojame kintamuosius:

#įtraukti . . . . . intvoltas; //baterijos įtampa sąlyginiame visame kode float batt; //reali reikšmė – akumuliatoriaus įtampos baitas wDir; //kryptis pilku kodu uint16_t t_time = 0; //priėmimo laiko intervalas char str; // duomenų eilutė uint8_t buf; //gautos žinutės kintamasis uint8_t buflen = VW_MAX_MESSAGE_LEN; // maksimalus gauto pranešimo ilgis. . . . .
Yra vienas buferio buferio dydžio ypatumas: neužtenka vieną kartą deklaruoti jo reikšmę (VW_MAX_MESSAGE_LEN) programos pradžioje. Kadangi šis kintamasis pasirodo kaip nuoroda gavimo funkcijoje (žr. toliau), numatytasis pranešimo dydis turi būti atnaujinamas kiekvieną ciklą. Kitu atveju dėl sugadintų žinučių priėmimo bufleno reikšmė kaskart trumpės, kol pradės gauti nesąmonės vietoj duomenų. Pavyzdžiuose abu šie kintamieji dažniausiai deklaruojami lokaliai loop() cikle, todėl buferio dydis atnaujinamas automatiškai, tačiau čia tiesiog pakartosime norimos reikšmės priskyrimą kiekvieno ciklo pradžioje.

Sąrankos procese atliekame šiuos nustatymus:

Void setup() (delsimas (500); //išjungimui rodomas pinMode(16,INPUT_PULLUP); //mygtuko vw_setup(1200) kontaktas; //VirtuWire ryšio greitis vw_set_rx_pin(17); //A3 VirtualWire imtuvo kaištis. ...
Prieš ką nors priimant, patikrinamas laiko intervalas t_time, kuris praėjo nuo paskutinio priėmimo. Jei jis viršijo pagrįstas ribas (pavyzdžiui, 48 sekundės - tris kartus daugiau nei išorinio įrenginio pranešimų pasikartojimo laikas), tai suvokiama kaip jutiklio praradimas ir kažkaip rodomas ekrane:

Void loop() ( vw_rx_start(); // Paruošta priimti buflen = VW_MAX_MESSAGE_LEN; // buferio dydis kiekvieną kartą iš naujo if ((int(millis()) - t_time) > 48000) // jei t_time nebuvo atnaujintas daugiau nei 48 sekundes (<отображаем прочерк на дисплее>)//pabaigos jutiklis nerastas if (vw_have_message()) ( //laukti priėmimo if (vw_get_message(buf, &buflen)) // Jei duomenys gaunami ( vw_rx_stop(); //tam laikui sustabdyti gavimą t_time = millis( ); //atnaujinkite t_time for (baitas i=0;i<3;i++) // Получить первые три байта str[i]= buf[i]; str="\0"; if((str=="D")&&(str=="A")&&(str=="T")) { //сигнатура принята //принимаем данные: for (byte i=3;i<7;i++) // извлечь четыре байта аккумулятора str= buf[i]; // упаковать их в строку volt=atoi(str); //преобразовать в целое число volt=(volt/10)-100; //удаляем добавки до 4-х байт batt=float(volt)/55.5; //преобразуем в реальный вид напряжения в вольтах //и пока храним в глобальной переменной for (byte i=7;i<11;i++) // извлечь четыре байта направления str= buf[i]; // упаковать их в строку int w_Dir=atoi(str); //преобразовать в целое число w_Dir=(w_Dir-1000)/10; //возвращаем к исходному виду wDir=lowByte(w_Dir); //младший байт - код Грея <выводим направление на дисплей через оператор case> . . . . .
Koeficientas 55,5 - ADC kodo vertės konvertavimas į realią įtampą, jo vertė priklauso nuo etaloninės įtampos ir skirstytuvų rezistorių verčių.

Beje, Gray kodas turi vieną savybę: jame bitų tvarka nesvarbi, kodas išsaugo visas savo savybes bet kokiai permutacijai. O kadangi dekoduodami čia vis tiek svarstome kiekvieną atvejį atskirai, bitai gali būti svarstomi bet kokia tvarka ir net supainioti prijungus. Kitas dalykas, jei jie norėjo kažkaip supaprastinti šį reikalą – pavyzdžiui, sukurti krypties reikšmių masyvą („s“, „ssz“, „sz“, „zsz“, „z“ ir kt.), kiekvienas variantas atskirai ištraukia pavadinimus pagal skaičių šiame masyve. Tada Grey kodą tektų konvertuoti į sutvarkytą dvejetainį, o bitų tvarka vaidintų svarbų vaidmenį.

Galiausiai išgauname greičio reikšmę ir uždarome visus teiginius:

For(baitas i=19;i<23;i++) // Получить четыре байта частоты str= buf[i]; // упаковать их в строку int wFrq=atoi(str); //преобразовать в целое число wFrq = (wFrq-1000)/10; //удаляем добавки до 4-х байт wFrq=10+0.5*wFrq;//скорость в целом виде с десятыми <отображаем ее на дисплее поразрядно>)//end if str=DAT )//end vw_get_message ) //end vw_have_message(); . . . . .
Čia 10+0,5*wFrq yra kalibravimo lygtis. 10 dm/s (t. y. 1,0 metro per sekundę) yra pradžios slenkstis, o 0,5 yra dažnio ir greičio perskaičiavimo koeficientas (dm/s). Esant nulinei įvesties dažnio vertei, ši lygtis duoda 10 dm/s, todėl reikėtų ypač pasirūpinti, kad būtų rodoma ne 1 m/s, o nulinė reikšmė. Greičio jutiklį galite sukalibruoti naudodami bet kurį pigiausią rankinį anemometrą ir stalinį ventiliatorių. Nemėginkite eksperimentiškai nustatyti starto slenksčio – bus daug tiksliau, jei iš dažnio F žymėsite du ar tris greičio V kalibravimo tiesės taškus: V = Vp + K × F esant skirtingiems srauto greičiams, tada pradžios slenkstis bus nustatytas automatiškai kaip reikšmė Vp (šios tiesės taško susikirtimo su greičio ašimi ordinatė).

Prieš uždarant pagrindinę kilpą, reikia padaryti dar vieną dalyką. Turime akumuliatoriaus įtampą, bet jums nereikia jos nuolat rodyti – tiesiog užimkite vietą. Tam reikalingas mygtukas Kn1 - jį paspaudę laikinai (iki kito duomenų atnaujinimo) išorinę temperatūros-drėgmės liniją pakeičiame įtampos verte:

If (digitalRead(16)==LOW)( //mygtukas paspaustas<выводим напряжение на дисплей, затирая значение температуры-влажности>)//pabaigos mygtuko delsa (500); )//pabaigos kilpa
Mygtuką, kaip matyti iš schemos, turėjau su perjungimo kontaktu, bet niekas netrukdo sumontuoti įprasto su uždaromu, prijungti jį prie maitinimo per rezistorių. Taip pat galite pridėti mirksinčių simbolių ekrane, jei akumuliatoriaus įtampa nukrenta žemiau, pavyzdžiui, 10 voltų, kaip ženklą, kad laikas jį pakeisti.

Apibendrinant, apie oro jutiklius. SHT-75 buvo naudojamas kaip lauko jutiklis - vienintelis mano radęs mėgėjų jutiklis, kuriam nereikia kalibravimo ir kuris rodo tikrąsias temperatūros ir drėgmės vertes tiesiai iš dėžutės (taigi ir didelė kaina).

Galima rasti biblioteką jai prijungti.

SHT-75 sukurtas gana kvailai: metalinis plokštės pagrindas labai gerai praleidžia šilumą, todėl turi būti visiškai ištrauktas iš korpuso. Kitu atveju užtenka tik vieno ATmega328 valdiklio su maitinimo reguliatoriumi uždarame korpuse, kad jutiklis įkaitintų pora laipsnių per plokštės pagrindą, net jei jo galvutė būtų perkelta į lauką. Mano grandinė su vėjo jutikliais su 20-130 mA srovėmis (net jei srovė yra nereikšminga milisekundžių) SHT-75 įkaitino penkiais laipsniais, todėl buvo išimta ir sumontuota atskirai ant plastikinės plokštės, išlindusios iš korpuso šonu. .

Duomenys iš SHT-75 paimami to paties valdiklio, kaip ir iš vėjo jutiklių, ir siunčiami iš nuotolinio modulio vienoje pakuotėje 433 MHz belaidžiu kanalu. Jie taip pat konvertuojami į 4 baitų eilutę išankstiniam perdavimui.

Kambario temperatūrai ir drėgmei matuoti buvo pasirinktas banalus DHT-22 – kadangi diapazonas ten mažas, lyginant su gatve, nėra jokio skirtumo, kurį jutiklį naudoti (išskyrus, žinoma, DHT-11, kurio neturėtų būti). gali būti naudojamas bet kokiomis aplinkybėmis, pagal paskirtį, jis tiesiog neveikia). DHT-22 temperatūra buvo pakoreguota pagal matavimus gyvsidabrio termometru (jie visiškai sutapo su SHT-75!), o drėgnumas buvo šiek tiek pakoreguotas lyginant su SHT-75. Pataisymai įvedami prieš pat indikaciją ekrane.

Beje, DHT-22 taip pat reikia išimti iš korpuso su ekranais – kitaip jis neišvengiamai įkais ir gulės. Tvirtinu ant plastikinio laikiklio korpuso apačioje, dešimties milimetrų atstumu nuo jo. Ši aplinkybė, beje, kaip įtariu, yra viena iš priežasčių (neskaitant individualaus kalibravimo nebuvimo), kad visos RST ir Oregon firmos buitinės meteorologijos stotys begėdiškai guli savo rodmenyse, pasiskirstydamos net su savimi (vidinis jutiklis su išoriniu) dviejų ar trijų laipsnių ir iki dešimties procentų drėgmės.

Barometras nesukelia jokių problemų, nes beveik visos parduodamos yra pagamintos tuo pačiu pagrindu – BMP180 mikroelektromechaniniu (MEMS) lustu ar jo modifikacijomis. Mano asmeninė patirtis su rečiau paplitusiu LPS331AP pagrįstu variantu buvo neigiama: jam sunkiau rasti biblioteką, be to, buvo rastas konfliktas su kitais įrenginiais I2C magistralėje. Barometro rodmenis gali tekti koreguoti įrengimo vietoje – kas 10-12 metrų aukščio virš jūros lygio sumažina slėgį 1 mm Hg. Art. Todėl iš rodmenų reikės atimti (arba pridėti) tam tikrą reikšmę, kad slėgio reikšmė atitiktų oficialios meteorologinės stoties toje vietoje rodmenis.

Aš nepateikiu visų orų stoties programų - jos yra gana sudėtingos ir vis tiek negalėsite pakartoti dizaino vienas prieš vieną. Jei ką, paskambink į PM.

UPD data 06/30/17. Sumontuota saulės energija. Rinkinys iš čia:
saulės kolektorių
valdiklis
baterija
Viskas kartu + pristatymas Maskvoje per 2,5 tūkst. Veikia nepriekaištingai.
Įdomus saulės baterijos ir baterijos galios apskaičiavimo metodas, kurį siūlo šios svetainės konsultantai. 3 W energijos suvartojimo skaičiavimo pavyzdys (turiu daug mažiau), cituoju:
„3 W iš karto 24 h ir padalytas iš 6 = 12 Ah yra minimali akumuliatoriaus talpa
3W padauginta iš 24h ir padalinta iš 3h = 24W yra minimali saulės baterijos galia.
Be komentarų.
Mano atveju gaunama saulės elektrinės galia yra dešimt kartų didesnė nei reikalaujama esant blogiausioms oro sąlygoms. Todėl jutiklio valdiklyje jūs negalite per daug rūpintis energijos taupymu ir taikyti bet kokius būtinus skaitymo ir vidurkinimo dažnius.

UPD data 09/13/18. Beveik du veiklos sezonus buvo atskleistos stoties stipriosios ir silpnosios pusės. Silpnosios visų pirma yra tai, kad rodmenų atnaujinimo ciklas 16 sekundžių (iš keturių matavimų serijų), kaip buvo iš pradžių, yra per ilgas. Sumontavus saulės bateriją su buferine baterija buvo galima negalvoti apie energijos taupymą ir žaisti ciklo trukme. Dėl to ciklas buvo nustatytas į 8 sekundes (keturi matavimai per dvi sekundes).
Iš mechaninių patobulinimų, po greičio jutiklio galiuku buvo įdėtas tvirtas traukos guolis (taip, jau tada buvau įspėtas apie jo poreikį, bet tada nesugalvojau, kaip tai padaryti). Po kurio laiko jutiklio ašis visiškai perpjovė fluoroplastinę atramą ir paleidimo slenkstis smarkiai padidėjo (beje, tai visiškai neturėjo įtakos vėtrungės jautrumui). Todėl atrama buvo pakeista nerūdijančio plieno atraminiu guoliu, kuriame plonu grąžtu buvo padaryta nedidelė įduba. Turiu mintį, kad vėliau turėsiu sugalvoti ką nors kita su antgaliu, kuris, kaip ir visa ašis, yra pagamintas iš duraliuminio. Bet atidėjau iki to momento, kai vis tiek teks perdaryti jutiklį: projektavimo pagrindu paimtas lazerio diskas per du sezonus nuo saulės drumsto ir pradėjo trūkinėti.

UPD, 06/05/19.
Apie jutiklio pakeitimą (vėtrungė liko ta pati). Greičio jutiklį teko perdaryti ir dėl susidėvėjusios ašies, ir dėl netinkamu naudoti tapusio lazerinio disko. Pagrindinė konstrukcija išlieka ta pati, tačiau naujasis lazerinis diskas yra purškiamas auksiniais dažais. Ašies galo sprendimas buvo rastas tokia forma. Duraliuminio ašyje tiksliai centre buvo išgręžta įduba, o ten ant antrųjų klijų buvo įkištas kiniško čiaupo viršaus 3 mm pjūvis. Maišytuvo viršus yra gerai įcentruotas kūgis, kurio kampas yra apie 70-80 laipsnių, jis buvo papildomai nupoliruotas švitriniu popieriumi, o po to GOI pasta. Kaip pagrindą naudojau nerūdijančio M3 varžto galvutę su pjautine grioveliu, kurios centre įprastu grąžtu D = 2 mm pažymėta nedidelė įduba. Šis varžtas buvo įsuktas tiesiai į PTFE įdubą, perpjautą ašimi anksčiau, nei buvo užtikrintas centravimas.
Ašies galas buvo suteptas grafito tepalu, kad apsaugotų nuo korozijos (nes man nežinomos čiaupo nerūdijančio plieno savybės). Po tam tikro šlifavimo pradžios slenkstis sumažėjo tiek, kad tapo neįmanoma jo išmatuoti patentuotu anemometru, kuriame slenkstis yra apie 0,3–0,5 cm / s. Pagal netiesioginius duomenis (statant tiesę iš dviejų taškų) savanoriškai buvo priimtas 0,3 m/s slenkstis, nors jis tikriausiai yra kiek mažesnis.

Pagrindinis skaičiavimo algoritmų pakeitimas taip pat susijęs su vėjo jutikliais, todėl man buvo naudinga tai įdėti .


Vėjai svyruoja nuo silpno vėjelio iki staigių, gūsingų škvalų, atnešančių sunaikinimą ir mirtį. Stipriausi vėjai yra uraganai. Šie uraganiniai vėjai susidaro virš vandenynų tropikuose, kai didžiulės oro masės yra įsiurbiamos į žemo slėgio sritis. Audros debesys dažnai sukasi aplink uragano centrą (arba akį) didesniu greičiu nei geležinkelio traukinys.

Galbūt niekada nesate patyrę uraganinių vėjų, bet kur begyventumėte, tikriausiai esate patyrę ir ramių, ir vėjuotų dienų. Padarykite anemometrą – paprasčiausią prietaisą vėjo greičiui matuoti ir užfiksuokite vėjo stiprumą jūsų vietovėje vėjuotą dieną.

Jums reikės:

Storas medinis kaištis
ploni mediniai strypai
virvė ir svambalas
puodelis jogurto
lipni juosta (atspari vandeniui)
nykštukai
spalvotas kartonas
varinis vamzdis
klijai
žirklės

1. Paimkite storą medinį kaištį ir tvirtai įkiškite jį į varinį vamzdelį. Tai bus anemometro stovas.

2. Paprašykite suaugusiojo padėti išgręžti skylę stove. Skylės skersmuo turi atitikti vieno iš plonų strypų storį. Viename šio plono strypo gale padarykite plyšį. Įdėkite jį į stovą ir pritvirtinkite, kaip parodyta paveikslėlyje.

3. Iš kartono iškirpkite strėlės antgalį ir fletchingą ir pritvirtinkite prie plono strypo galų.

4. Iš spalvoto kartono iškirpkite ketvirtį apskritimo ir lipnia juosta pritvirtinkite prie rodyklės.

5. Paimkite didelę stiklinę jogurto. Priklijuokite jį prie vieno antrojo plono medinio strypo galo.

6. Paprašykite suaugusiojo padėti jums išgręžti nedidelę skylutę kitame antrojo strypo gale, tada prisegti arba prikalti ją prie stulpelio viršaus. Įsitikinkite, kad strypas laisvai sukasi.

7. Pasirinkite tinkamą vietą stebėjimui lauke. Įkiškite varinį vamzdelį į žemę ir įkiškite į jį stulpelį. Pritvirtinkite stelažą norimoje padėtyje naudodami miniatiūrą. Sumontuokite stovą griežtai vertikaliai, pakabindami svamzdelį prie rodyklės (kaip svamzdelį galite naudoti veržlę). Svambalo linija turi kabėti griežtai lygiagrečiai stovui.

Vėjas pasuka anemometro adatą taip, kad ji būtų nukreipta ta kryptimi, iš kurios pučia vėjas.
Jogurto puodelis ir stiebas pakils kartu su juo. Kuo stipresnis vėjas, tuo aukščiau pakyla rodyklė.

Boforto skalė

Tai vėjo greičio matavimo skalė, pagrįsta gamtos stebėjimais. Svarstykles beveik prieš 200 metų išrado anglų admirolas seras Francisas Bofortas.

Vėjo greitis orų žemėlapiuose nurodomas brūkšnelių skaičiumi vėjo jėgos piktogramoje.

Vėjo greitis Žodinė charakteristika Vėjo greičio įvertinimo ženklai
m/s km/val balas
Bofortas
0,0-1,5 0,0-1,8 0 Ramus Dūmai kyla vertikaliai arba beveik vertikaliai, lapai nejuda
0,6-1,7 1,9-5,1 1 Tylus vėjas Vėjo kryptį lemia dūmai
1,8-3,3 5,2-11,7 2 Lengvas vėjelis Vėjo judėjimas juntamas veidu, ošia lapai
3,4-5,2 11,8-18,7 3 silpnas vėjas Nuolat siūbuoja lapai ir plonos medžių šakos, vėjas plevėsuoja lengvomis vėliavėlėmis, jūrą dengia ištisinė šviesos banga.
5,3-7,4 18,8-26,6 4 vidutinio stiprumo vėjas Vėjas kelia dulkes, pajudina plonas medžių šakas, ant atskirų bangų retkarčiais pasirodo balti, greitai išnykstantys „ėriukai“
7,5-9,8 26,7-35,3 5 Gaivus vėjelis Storos medžių šakos siūbuoja; „ėriukai“ matomi ant kiekvienos bangos
9,9-12,4 35,4-44,0 6 Stiprus vėjas Siūbuoja storos medžių šakos, dūzgia telegrafo laidai, bangose ​​ilgesni „ėriukai“ (5-10 sek.)
12,5-15,2 44,1-54,7 7 stiprus vėjas Medžių viršūnės linguoja, stambios šakos linksta, nepatogu eiti prieš vėją. Jūroje putojančios bangos
15,3-18,2 54,8-66,0 8 Labai stiprus vėjas Vėjas laužo plonas ir sausas medžių šakas, todėl sunku judėti
18,3-21,5 66,1-77,5 9 Audra Vėjas nuverčia kaminus ir stogo čerpes. Labai sunku eiti prieš vėją.
21,6-25,1 77,6-90,2 10 Stipri audra Didelis sunaikinimas, išversti medžiai
25,2-29,0 90,3-104,4 11 Žiauri audra Didelis sunaikinimas: nuversti telegrafo stulpus, vagonus
Virš 29.0 Virš 104,4 12 Uraganas Griauna namus, sukelia didelę sunaikinimą

Mano naujas anemometras. Anemometras pasirodė nemažas, generatorius diskinis, varžto skersmuo 0,5 m.Anemometras horizontalaus tipo su šešių menčių propeleriu. Straipsnyje pateikiamas išsamus aprašymas su nuotraukomis ir vaizdo įrašais

Naujas straipsnis šia tema + nuotrauka ir vaizdo įrašas - Anemometras android + mikrofonas

Pagaliau priėjo prie anemometro. Padaręs jau tris vėjo jėgaines, vis dar tiksliai nežinau, koks vėjas ir kiek duoda mano vėjo malūnai. Dabar veikia tik vienas vėjo generatorius, mano sėkmingiausias, nors jis visas surinktas „ant kelio“. Apytiksliai įsivaizduoju vėjo stiprumą ir galiu atskirti 5 m/s ir 10 m/s vėją, bet vis tiek noriu tiksliau sužinoti vėjo greitį, kad galėčiau nustatyti vėjo generatoriaus galią.

Kelias dienas karts nuo karto galvojau iš ko nors padaryti anemometrą, bet kol kas nieko protingo iš namuose turimų šiukšlių neišėjo. Radau du mažus variklius iš DVD grotuvo, bet jie yra skausmingai maži ir sunku sugalvoti ašmenis plonam velenui.

Akį patraukė automobilių ventiliatorius, dažniausiai jie montuojami sunkvežimiuose. Tai aš jį kankinau. Išmontuotas ir nuimtas variklis. Nulaužiau ašmenis nuo sraigto ir liko tik pagrindas - centrinė dalis, kuri uždedama ant veleno. Tada galvojau, kokius peiliukus prie jo pritvirtinti, bandžiau plastikinių butelių ir skardinių dugnus, bet visa tai nepatiko.

Tada radau 5 cm skersmens ir 50 cm ilgio PVC vamzdžio gabalėlį, iš jo padariau 4 peiliukus, tik vamzdį išilgai perpjaunu į dvi dalis, o puselių, kiekviena į dvi dalis, gavosi 4 ašmenys. Pagrinde, kuris liko nuo natūralaus varžto, išgręžiau 4 skylutes ašmenų tvirtinimui, taip pat padariau 4 skylutes ašmenyse. Viską susuko į varžtus ir gavo keturių menčių propelerį – savonius (pirmą „rimtą“ vertikalę).

Na, tada radau reikiamo ilgio laidus, sujungtus 5 metrus antenos kabelio ir 8 metrus įprasto. Iš karto sujungiau laidus, kad išmatuotų parametrus, atsižvelgiant į laido ilgį, nes duomenys gali skirtis, jei matavimai atliekami skaitiklio laidu arba 13 m.

Tada radau apie 80-90 cm ilgio metalinio vamzdelio gabalą, sulenkiau su raide Z ir suvyniojau variklį. Šis vamzdelis pritvirtins anemometrą prie stiebo. Nėra nieko sudėtingo, galite naudoti bet kokią medžiagą.

Na, o tada, kai aš visiškai surinkau anemometrą, sumontavau jį ant savo motociklo, kad sukalibruotų. Žemiau nuotraukoje matosi kaip tai buvo daroma, viskas primityvu ir paprasta. Ant primatų veidrodžio su elektrine juostele muilo matuoklis apskritai kažkaip viską sutvarkė, kad išlaisvinčiau rankas valdyti motociklą.

Ši rudens diena labai sėkminga dėl beveik visiško vėjo nebuvimo, kuris, beje, pasitarnavo kaip greitas anemometro surinkimas, tokia diena neturėtų išnykti. Nenorėjau eiti ant asfalto, nes su nesuvokiama gudrybe prieš motociklą atkreipčiau į save dėmesį, todėl nusprendžiau važiuoti per laukus palei miško plantacijas.

Važinėjau pirmyn ir atgal bei įvairiomis kryptimis ir įvairiu greičiu fiksavau multimetro rodmenis telefone. Anemometras startavo 7 km/h greičiu, o aš pamažu riedėjau pirmyn atgal skirtingais greičiais pradedant nuo 10 km/h ir maksimalaus 40 km/h, buvo galima ir daugiau, bet gruntiniai keliai labai nelygūs ir galima. nelabai įsibėgėti.

>

Po pokatushek tokie duomenys buvo sudaryti. Multimetras rodė esant 10km/s =0.06V, prie 20km/h=0.12V, prie 30km/h=0.20V, prie 40km/h=0.30V.

Tada, naudodamas skaičiuotuvą, apskaičiavau vidutinių vėjo greičių rodmenis.

Voltai – vėjo greitis m/s.

Duomenys, viršijantys 11 m/s, buvo apskaičiuoti nubraižant ant popieriaus lapo įtampos augimo, priklausomai nuo vėjo greičio, grafiką, kuris sklandžiai tęsėsi iki 15 m/s. Tą pačią dieną, tiksliau vakare, ant stiebo prie vėjo generatoriaus sumontavau anemometrą. Jis nuleido vėjo malūną ir apačioje pririšo anemometrą. Vamzdį laikinai užtraukiau ant laido ir papildomai apvyniojau elektrine juostele, pasirodė tvirtas. Na, tada aš pakėliau visą daiktą į vietą ir dabar ant stiebo prie vėjo generatoriaus yra anemometras, kuris prasideda nuo 3 m/s ir reguliariai rodo vėjo greitį.

>

>

Žemiau nuotraukoje jau pakelta vėjo jėgainė su fiksuotu anemometru. Išsamiau nefotografavau, nes ten nėra nieko sudėtingo ir nėra ką kartoti. Anemometrą galima surinkti iš bet ko, beveik iš bet kurio variklio. Žinoma, patogiau kalibruoti automobiliu. Ten ir patogu, ir patogiau, ir spidometras tikslesnis. Bet aš nusprendžiau motociklą ir atrodė, kad jis gerai pasirodė, tikiuosi, kad spidometras meluoja, tai ne per daug.

>

Kol kas tiek, tai pirmoji šio anemometro versija ir manau, kad ne paskutinė. Tuo tarpu aš palauksiu vėjo ir sužinosiu, ką duoda mano vėjo generatorius. Na, o aš papildysiu šį straipsnį šiais duomenimis. Gal reikia ką nors perdaryti...

Papildymas

Pūtė vėjas ir aš išbandžiau anemometrą. Pirmieji vėjo stiprumo stebėjimai ir generatoriaus ampermetro rodmenys aiškiai parodė, koks nestabilus buvo vėjas. Žemiau čia, kadangi stiebas nėra aukštas, jį daugiausia sudaro trumpi gūsiai, kurių trukmė neviršija dviejų ar trijų sekundžių, o po kelių sekundžių vėjas gali smarkiai svyruoti.

Neapkrautas anemometro varžtas staigiai reaguoja į kiekvieną gūsį ir vėjo greičio pasikeitimą. O šio vėjo generatoriaus apkrautas sraigtas dar vėluoja reakcijose ir dėl to rodmenyse nesinchroniniai duomenys. Šiandien vėjas 3-7 m/s, anemometras tikrai pagavo porą gūsių iki 10 m/s, bet jie truko mažiau nei sekundę ir vėjo generatorius tiesiog negalėjo į juos reaguoti.

Po kurio laiko stebėjimo, esant tam tikram vėjui, buvo nubrėžtos kai kurios vidutinės vėjo generatoriaus srovės stiprumo vertės. Varžtas prasideda nuo 3,5-4 m / s, kraunamas 0,5A esant 4m/s, 1A esant 5m/s, 2,5A esant 6m/s, 4A esant 7m/s, 5A esant 8m/s. Šie duomenys yra suvidurkinti, nes ampermetras yra analoginis stot, ir galiu klysti iki 0,5A vėjo generatoriaus srovės rodmenyse.

Tai turėjo būti kažkas panašaus

Paties jutiklio gamybos etapai:

Atvejis padarė taip: paėmiau kvadratinio vamzdžio gabalą ir išpjoviau jame langą, kad vėliau per jį galėčiau montuoti užpildą (beje, išpjoviau langą su temperatūra, bet labai norėjau tai padaryti kad atsikėliau ir nuėjau pažiūrėti). Tada suvirinau plokštę viduje (vidinis guolio laikiklis), tada suvirinau dugną (apatinis guolio laikiklis). Kai nusprendžiau padaryti viršų, nusprendžiau padaryti šlaitinį stogą - tam iškirpau keturis trikampius ir atsargiai sugriebiau, o tada visiškai užvirinau ir padariau smailų skydelį. Tada įsmeigė į spaustukus ir 0,5 mm mažesniu nei guolio skersmuo grąžtu išgręžė vertikalią skylę apatiniame dangtelyje ir viduriniuose, tiek guoliams. Taip, kad plieniniai guoliai su tempimu buvo sureguliuoti šluojant. Guoliai tinka taip, kaip turėtų. Tada į juos įkišo šiek tiek nupoliruotą 100 ku vinį, o lango viduryje uždėjo plastikinę poveržlę su 4 plyšiais. Vinio apačioje nukirpau siūlą ir ant jo prisuku sparnuotė.

Darbaratį dariau taip: prie veržlės elektrodu su deuke privirinau tris vinis, tada jas nupjoviau ir nupjoviau sriegius, kurių galuose prisukau iš rutuliuko puses.

Prie korpuso buvo privirintas nerūdijančio plieno šešiakampis strypo laikiklis. Pats korpusas du kartus nudažytas balta emaliu, kad tikrai nerūdytų.

Nusprendžiau ne išradinėti dviračio, o daryti kaip kompiuterio pelėje, ant sukimosi ašies yra plastikinė poveržlė su keturiomis angomis, kai sukasi sparnuotė, ji sukasi ir poveržlė mirga virš jutiklio, kuris yra pritvirtintas prie priekinio dangtelio ir kai dangtelis prisukamas, tai kaip kazkada pasidaro taip, kad sukasi poveržle ir šviesos srautas nuo LED iki fototranzistoriaus juda ir išeina. Tai viskas... čia jūs turite impulsus, juos galima suskaičiuoti ir turėti apsisukimų skaičių per sekundę.

Leddiodno - fototranzistoriaus jutiklis ištrauktas iš spausdintuvo, tokių yra urmu.

Iš pradžių pagamintas iš teniso kamuoliukų

Turėjau šiek tiek modifikuoti įrenginį. Ant sparnuotės nuo teniso kamuoliukų jis startavo esant 5 m/s vėjui. kamuoliukai buvo pirkti vaikiškų žaislų parduotuvėje, kurių skersmuo 55 mm. Prasideda nuo 2m/s ir matuoja iki 22m/s, man jau gana.

Kai jutiklis buvo paruoštas. Turėjome gaminti elektroniką.

Pirmasis variantas buvo naminė LUT technologija + žalia kaukė iš Kinijos, džiūsta ultravioletinėje šviesoje.

55 nuotraukoje yra apsisukimai per sekundę. Reikėjo kažkaip išversti į m/s. Ilgai galvojau kaip, gavau net du anemometrus, senus iš SSRS ir kiniškus už 50$, bet buvo problemų su patikra, nes vėjas žvarbus ir nepučia stabiliai.

Todėl sugalvojau taip: laisvą dieną su tėčiu už miesto radome 2 km lygaus kelio be mašinų, be vėjo ir iš abiejų pusių apsodintų medžių (važiavo tėtis, o aš sėdėjau pusiau už lango) ir važiuokime pirmyn atgal. Pirmiausia susidėliojau SSRS ženklą ir kiniškus anemometrus, įsitikinau, kad jie abu rodo tą patį ir teisingai, nes jei automobilio spidometro greitį padalinsite iš 3,6, tada gausite skaičių, kurį anemometrai rodė m / s. Tėtis važiavo tokiu pat greičiu, o instrumentai rodė tą patį vėją. Taip išbandžiau savo įrenginį. Tėtis kaskart pridėdavo +5 km per valandą, o aš užsirašydavau naują rodiklį (rpm). Matavimai buvo atlikti tris kartus. Kai važiavome virš 80 km/h (22 m/s), mano anemometras nebegalėjo pasisukti ir figūra sustingo, nes matuoja ne daugiau kaip 22 m/s....

Beje, kinai rodė iki 28m/s. SSRS lazda iki 20m/s. Kai įdiegiau vietoje su pakeista programa, dar kartą patikrinau su kinu viskas susitvarkė.

Dabar jis modifikuojamas „Arduino“.

Planuose tai įsukti į išmaniojo namo sistemą, kad iš išmaniojo telefono būtų galima įvesti ir valdyti namo apkrovas, stebėti temperatūrą namuose (man tai aktualu, tiesiog kartais dujos išjungiamos ziema ir gerai paziureti kokia temperatura) bus duju daviklis, o plius prie namo bus rodomas vėjo greitis.

Darbo video

Darbo rezultatai žiemai

s-st --- valandos žiemai
0 m/s --- 511,0
1 m/s --- 475,0
2 m/s --- 386,5
3 m/s --- 321,2
4 m/s --- 219,0
5 m/s --- 131,5
6 m/s --- 63,3
7 m/s --- 32,5
8 m/s --- 15.4
9 m/s --- 9.1
10 m/s --- 5,0
11 m/s --- 3.5
12 m/s --- 2.2
13 m/s --- 1.3
14 m/s --- 0,8
15 m/s --- 0,5
16 m/s --- 0,5
17 m/s --- 0,2
18 m/s --- 0,0
19 m/s --- 0,1


Pagal dviejų žiemų rezultatus pamačiau, kad mano vėjai nėra stiprūs ir vėjo malūnas nebus efektyvus, todėl padariau nedidelį su 50 cm ašmenimis. didžiausia galia 150 vatų. Tik įsitikinau, kad dingus šviesai šviečia bent viena ekonomiška lemputė.

Dabar šiek tiek apie Arduino.

Internete radau pelės schemą, ji aiškiai parodo kaip veikia mano sistema.

Remdamasis pelės schema, sudariau tokią schemą.

Impulsai ateina iš fototranzistoriaus į Arduino, ir jis juos suvokia kaip mygtukų paspaudimus.

Programos algoritmas yra toks: Atsižvelgiame, kiek mygtukų paspaudimų įvyko per vieną sekundę, todėl turime sukimosi dažnį. Norėdami konvertuoti šį dažnį į m/s. Kai tai padariau „Atmel“, sukūriau algoritmą dažniui m / s apskaičiuoti. Tai atrodė taip:

ob_per_sec=0; // Kintamasis, kuriame apsisukimų per sekundę dažnis patenka.

int greitis_vėjas=0; // Vertė bus čia, kai dažnis bus konvertuotas į m/s.

int greitis_vėjo_max=0; // Čia eina didžiausia vėjo rodmens m/s reikšmė.

int greitis_vėjas_2=0; // Sekundžių skaičius nuo programos pradžios, kai vėjo greitis 2 m/s.

int greitis_vėjas_3=0; // Sekundžių skaičius nuo programos pradžios, kai vėjo greitis 3 m/s.

int greitis_vėjas_4=0; // Sekundžių skaičius nuo programos pradžios, kai vėjo greitis 4 m/s.

int greitis_vėjas_5=0; // Sekundžių skaičius nuo programos pradžios, kai vėjo greitis 5 m/s.

…………………………………………………………..

int greitis_vėjas_22=0; // Sekundžių skaičius nuo programos pradžios, kai vėjo greitis 22 m/s.

if (ob_per_sec >0 && ob_per_sec<4) { speed_wind=2; speed_wind_2++;}

if (ob_per_sec >4 && ob_per_sec<7) { speed_wind=3; speed_wind_3++; }

if (ob_per_sec >7 && ob_per_sec<11) { speed_wind=4; speed_wind_4++; }

if (ob_per_sec >11 && ob_per_sec<15) { speed_wind=5; speed_wind_5++; }

if (ob_per_sec >15 && ob_per_sec<18) { speed_wind=6; speed_wind_6++; }

if (ob_per_sec >18 && ob_per_sec<23) { speed_wind=7; speed_wind_7++; }

if (ob_per_sec >23 && ob_per_sec<27) { speed_wind=8; speed_wind_8++; }

if (ob_per_sec > 27 && ob_per_sec<30) { speed_wind=9; speed_wind_9++; }

…………………………………………………………..

if (ob_per_sec >60 && ob_per_sec<67) { speed_wind=22; speed_wind_22++; }

if (greitis_vėjas> greitis_vėjas_maksimalus)( greitis_vėjas_maksimalus = greitis_vėjas ;)// patikrinkite ir perrašykite, jei maksimali reikšmė didesnė už anksčiau parašytą.

Ir parodykite vertę.

Jei reikia, galite peržiūrėti, kiek minučių vėjas pūtė tam tikru greičiu, tam reikia parodyti kintamąjį (su reikiamu greičio indeksu) speed_wind_№ (bet padalykite jį iš 60, kad gautumėte minutes.).

Aš tai padariau savo programoje: paspaudus tam tikrą mygtuką, visi kintamieji rodomi paeiliui, nuo speed_wind_1 iki speed_wind_22.

Įkeliama...Įkeliama...