Senzor de direcție a vântului cu mâinile lor. Anemometru de casă. Măsurarea vitezei vântului Dispozitive de casă pentru generatoare de vânt de casă

Stația meteorologică de uz casnic obișnuit sau de casă măsoară două temperaturi de umiditate (în cameră și pe stradă), presiunea atmosferei Și, în plus, are un ceas cu un calendar. Cu toate acestea, prezenta stație meteorologică are multe mai multe - senzor de radiație solară, metru de precipitare și ceva de genul ăsta, în general, este necesar numai pentru nevoile profesionale, într-o singură excepție. Contor de parametri (viteza și, principale, direcții) - o adăugare foarte utilă pentru casa la tara. Mai mult, senzorii de vânt de marcă sunt destul de drumuri chiar și pe Ali-Baba și are sens să se uite la soluțiile de casă.

Imediat spun că, dacă știam în prealabil, în ce volum manipulate Și ideile mele petrecute pe experimente vor cădea, poate că nu va începe. Dar curiozitatea sa întors, iar cititorii acestui articol au șansa de a evita acele pietre subacvatice, pe care trebuia să le poticni.

Pentru măsurători de viteză a vântului (anemometrie) Există o oprire a metodelor, dintre care sunt:

Thermomemometric,
- mecanic - cu o elice (mai precis, un rotor) sau un rotor orizontal cupă (anemometru Cupa clasică), măsurarea vitezei în aceste cazuri este echivalentă cu măsurarea vitezei de rotație a axei pe care este fixată propulsorul sau rotorul.
- precum și ultrasunete, combinând măsurătorile vitezei și direcțiilor.
Pentru măsurători de direcție Metode mai puțin:
- ultrasunete menționate;
- Fluger mecanic cu un unghi electronic de deteriorare. Pentru a măsura unghiul de rotație există, de asemenea, multe căi diferite: optic, rezistiv, magnetic, inductiv, mecanic. Apropo, este posibil să reparați pur și simplu busola electronică pe arborele arborelui - aici este doar fiabilă și simplă (pentru "repetarea" genunchiului ") metodele de transmitere a citirilor cu o axă de rotație haotică va trebui să caute. Prin urmare, alegem în continuare modul optic tradițional.

Cu o repetare independentă a oricăreia dintre aceste metode, păstrați cerințele consumului minim de energie și ceasul rotund (A, poate tot pe tot parcursul anului?), Rămânând la soare și în ploaie. Senzorul de vânt nu poate fi plasat sub acoperiș la umbra - dimpotrivă, acesta trebuie îndepărtat maxim din factorii de interferență și "deschis la toate vântul". Locul perfect de plasare este acoperișul acoperișului casei sau, cel mai rău, un hambar sau arbori îndepărtați din alte clădiri și copaci. Astfel de cerințe sugerează nutriție autonomă și, evident, un canal de date fără fir. Aceste cerințe se datorează unor "grinzi" ale designului, care este descris mai jos.

Privind consumul minim de energie

Apropo, și consumul minim de energie - cât de mult este? Dacă procedăm de la bateriile obișnuite ale tipului AA, atunci consumul mediu al schemei din cazul ideal nu trebuie să fie mai mare de 1-2 mA. Numărați-vă: recipientul elementului alcalin decent al dimensiunii AA este de aproximativ 2,5-3 A, adică schema cu consumul specificat va funcționa de la acesta aproximativ 1500-2500 de ore sau 2-3 luni. În principiu, acest lucru este, de asemenea, un pic, dar relativ acceptabil - mai puțin nu poate fi posibil: fie rulați pe baterii, fie trebuie să utilizați bateriile care trebuie încărcate mai des decât schimbarea bateriilor. Din acest motiv, la elaborarea unei astfel de scheme, este obligată să prindeți orice cruzime: modul obligatoriu de economisire a energiei, gândirea cu atenție a circuitului și o secvență de acțiuni în program. Apoi, vom vedea că în ultimul design, încă nu am îndeplinit cerințele necesare și a trebuit să folosim energia acumulatorului.


O poveste informativă despre modul în care am încercat să reproduc cel mai modern și mai avansat mod - ultrasonic și am eșuat, voi spune altcuiva. Toate celelalte moduri sugerează o măsurare separată a vitezei și direcției, prin urmare a trebuit să ardă doi senzori. Prin studierea termoemometrelor teoretic, mi-am dat seama că elementul sensibil la nivelul amatorului nu ar funcționa cu noi (sunt disponibile pe piața occidentală!), Și inventează independent - să se implice în următorul Nio CRP cu timpul potrivit și bani. Prin urmare, într-o anumită reflecție, am decis să fac un design unificat pe ambii senzori: un anemometru cupă cu o măsurare optică a vitezei de rotație și o fluger cu o îndepărtare electronică a unui unghi de rotație bazat pe un disc de codare (encoder).

Proiecte de senzor.

Avantajul senzorilor mecanici este faptul că nu este necesară nicio NIIOCr, principiul este simplu și înțeles, iar calitatea rezultatului depinde doar de acuratețea îndeplinirii unei structuri cu atenție atent.

Așa părea teoretic, în practică a izbucnit într-o grămadă munca mecanicaPartea din care trebuia să fie comandată pe o parte, din cauza lipsei de mașini de strunjire și de frezat la îndemână. Voi spune că voi spune că nu am regretat niciodată că, de la început, pariez pe abordarea capitalei și nu am făcut structurile din materialele depuse.

Pentru fluger și anemometru, trebuie comandate următoarele părți de la Tokar și mașină de frezat (cantitatea și materialul sunt indicate imediat pentru ambii senzori):

Axa, notă, asigurați-vă că ați fost scos mașină de rotire: Faceți o axă pe genunchi cu marginea exact în centru este aproape imposibilă. Iar plasarea insulei este cu precizie de-a lungul axei de rotație aici - factorul definitoriu al succesului. În plus, axa trebuie să fie perfectă, nu sunt permise abateri.

Senzor mecanic de direcție a vântului - vreme electronică

Baza vane (precum și senzorul de viteză este mai departe) servește ca un suport în formă de P de la Durală D-16, descris în desenul din partea de sus a stângii. O felie de fluoroplast este presată în adâncul inferior, în care locașul pas cu pas este realizat în exerciții succesiv 2 și 3 mm. La această aprofundare, axa este introdusă cu un capăt acut (pentru fluger - din alamă). De mai sus, trece liber printr-o gaură de 8 mm. Deasupra acestei găuri șuruburile M2 la suport atașează o bucată dreptunghiulară de același fluoroplastic cu o grosime de 4 mm, astfel încât să se suprapună cu gaura. În fluoroplast, o gaură este făcută exact prin diametrul axei de 6 mm (situat exact axa comună găuri - a se vedea desenul ansamblului de mai jos). Fluoroplastic în partea de sus și de mai jos joacă rolul rulmenților de alunecare.


Axa de la locul de frecare despre fotoreplastică poate fi lustruită, iar zona de frecare este redusă, luând gaura în fluoroplastic. ( Vedeți acest subiect sub Uppment de la 09/13/18 și 05.06.19). Pentru vreme, nu joacă un rol special - o "inhibare" este chiar utilă pentru el, iar pentru un anemometru va trebui să încerce să minimizeze frecare și inerție.

Acum despre îndepărtarea magnitudinii unghiului de rotație. Un codificator clasic de auz pe 16 prevederi referitoare la cazul nostru arată că arată în imagine:

Dimensiunea discului a fost selectată, pe baza condițiilor de izolare optică fiabilă a receptorului emițătorului cu abur unul de celălalt. Cu o astfel de configurație, lățimea fantei este de 5 mm este de asemenea localizată cu un interval de 5 mm, iar perechile optice sunt situate la o distanță de exact 10 mm. Dimensiunile suportului la care se montează fludirul, au fost calculate tocmai pe baza diametrului discului 120 mm. Toate acestea, desigur, pot fi reduse (mai ales dacă alegeți LED-urile și fotodetectorii ca un diametru mai mic posibil), dar a fost luată în considerare complexitatea fabricării unui encoder: sa dovedit că lucrătorii de măcinare nu sunt luate pentru o astfel de muncă fină, pentru că a trebuit să fie tăiată manual cu Supfil. Și aici dimensiunile mai multe, cu atât mai bine rezultatul și mai puține probleme.

La desenul de asamblare de mai sus prezintă fixarea discului pe axă. Cu atenție discul centrat este atașat de șuruburile M2 la bucșa Capro alley. Manșonul este plasat pe axă astfel încât spațiul de sus să fie minim (1-2 mm) - astfel încât axa în poziția normală să se rotească liber și în timpul loviturii de stat, vârful nu a scăzut din soclu la fundul. Blocurile de fotodetectoare și emițătoare sunt atașate la suportul de sus și sub disc, mai exact despre designul lor în continuare.

Întregul design este plasat în carcasa din plastic (ABS sau policarbonat) 150 × 150 × 90 mm. Ca formă colectată (fără un capac și floger), senzorul de direcție arată astfel:

Rețineți că direcția selectată la nord este marcată cu o săgeată, va trebui să fie observată atunci când senzorul este instalat în poziție.

Pe partea de sus a axei, vanul însuși este atașat. Se face pe baza aceleiași axe din alamă, în incizia pe partea stupidă a cărei coadă de la o alamă de foi este lipită. La capătul ascuțit, firul M6 este tăiat pe o lungime, iar o contragreutate de carbon rotundă este fixată pe ea, aruncată din plumb:

Cargoul este proiectat astfel încât centrul de greutate să reprezinte cu precizie la locul de montare (mutați-l de-a lungul firului, puteți obține echilibrarea perfectă). Fixarea flugerului la axa se realizează folosind șurubul inoxidabil M3, care trece prin orificiul din axa flugului și este înșurubat în fir, feliat în axa de rotație (șurubul de umplere este vizibil în fotografia de mai sus). Pentru o orientare precisă, partea superioară a axei de rotație are o adâncire semicirculară, care se află axa flugerului.

Senzor de viteză a vântului - un anemometru cupă cu propriile mâini

După cum ați înțeles deja, baza senzorului de viteză în scopul unificării a fost aleasă la fel ca și pentru vreme. Dar cerințele pentru design aici sunt oarecum diferite: Pentru a reduce pragul de atingere, anemometrul trebuie facilitat cât mai mult posibil. Prin urmare, în special axa pentru acesta este fabricată din dural, un disc cu găuri (pentru măsurarea vitezei de rotație) redusă în diametru:

Dacă există patru optocupluri pentru un gri de codificator pe patru biți, atunci pentru un senzor de viteză numai unul. Prin cercul discului, 16 găuri au fost forate pe o distanță egală, astfel încât o cifră de afaceri a unui disc pe secundă este echivalentă cu 16 heozuri de frecvență venind de la Optocoupler (puteți mai multe găuri, este posibil mai puțin - întrebarea este doar pe scară de recalculare și economisire a energiei la emițători).

Senzorul de casă va deveni în continuare destul de dur (prag de pornire de cel puțin jumătate de metru pe secundă), dar este posibil să o reduceți numai dacă schimbați radical designul: de exemplu, în loc de o ceașcă de turnare, puneți o elice în loc de o ceașcă. Într-o ceașcă de turnantă, diferența în rezistența fluxului de flux, cuplul rezultat, relativ mic - se realizează numai datorită diferitelor formă a suprafeței care îndeplinește fluxul de aer incident (prin urmare, forma paharilor ar trebui Fiți cât mai mult posibil - în mod ideal este o jumătate de ouă sau o minge). Cuplul elicei este mult mai mare, se poate face mult mai puțin în greutate și, în final, producătorul este mai ușor. Dar elicul trebuie instalat în direcția fluxului de aer - de exemplu, plasându-l la capătul aceluiași vreme.

Întrebarea problemelor în același timp: cum să transferați mărturia de la un senzor haotic care se rotește în jurul axei verticale? Nu puteam să-l rezolv și să judec prin faptul că cupele profesionale sunt încă larg răspândite, este decis să nu de la sondaj (anemometrele manuale în calcul nu le iau - sunt orientate manual).

Versiunea mea a anemometrului cupei se face pe baza unui disc laser. Vederea de sus și de mai jos sunt afișate în fotografie:



Cupele sunt fabricate din fundul sticlelor de sub apa copiilor "Agușa". Dysyshko este curat tăiat, cu toate cele trei - la aceeași distanță pentru a avea o greutate egală, se încălzește local în centru (în nici un caz nu se încălzește întregul - înghițit ireversibil!) Și partea din spate a mânerului de lemn din fișier este strâns să iasă să facă mai raționalizată. Veți repeta - sticle de sticle mai multă cantitateDe la cinci la șase bucăți, probabil că veți putea să faceți trei mai multe sau mai puțin decât aceleași cupe. În cupele făcute, slotul este realizat și sunt fixați de-a lungul perimetrului discului la 120 ° în raport unul cu celălalt cu ajutorul adezivului de etanșare rezistentă la apă. Discul este strict centrat în raport cu axa (am făcut-o cu o mașină de spălat metal imbricată) și fixat pe șuruburile cu manșon de capro ale M2.

Designul total și instalarea senzorilor

Ambii senzori, așa cum am menționat deja, sunt plasați în carcase de plastic de 150 × 150 × 90 mm. La alegerea materialului de caz, este necesar să aproximativ: ABS sau policarbonat are suficientă rezistență la intemperii, dar polistiren, plexiglas, și chiar mai mult polietilenă, nu vor fi dificil de decisiv (și vor fi, de asemenea, dificil de a le proteja prea dificil). Dacă nu există posibilitatea de a achiziționa o cutie corporativă, este mai bine să lipiți în mod independent corpul dintr-un material de sticlă de folie și apoi să vopsească pentru a proteja împotriva coroziunii și dând o specie estetică.

În capac, se face o deschidere de 8-10 mm în capac, în care conul de plastic este lipit cu același adeziv de etanșare, sculptat dintr-un spray dintr-un material de etanșare sau adeziv:

Pentru a otrăvi conul de pe axă, fixați clema de tăiere din partea inferioară a capacului, verificați centrul exact pe acesta și aprofundați burghiul de 12 mm, făcând o adâncitură inelară în jurul găurii. Conul ar trebui să meargă exact acolo, după care poate fi înșelat de lipici. Puteți remedia în mod suplimentar într-o poziție verticală în momentul înghețată cu un șurub cu o piuliță.

Senzorul de viteză în sine acoperă axa cu acest con, ca o umbrelă, împiedicând intrarea apei în interiorul carcasei. Pentru vreme, este necesar să plasați suplimentar un manșon peste con, care va închide spațiul dintre axă și con de la scurgerea directă a apei (a se vedea fotografia tipului general de senzori mai departe).

Firele de la Optopar cu mine sunt îndepărtate la un conector separat de tip D-sub (vezi fotografia senzorului de direcție de mai sus). Partea rezultată cu cablul este introdusă prin orificiul dreptunghiular la baza cazului. Gaura este apoi acoperită cu un capac cu un slot pentru un cablu care ține slotul de la scăpare. Parantezele durabile pentru fixare în poziție sunt înșurubate pe baza carcasei. Configurația depinde de locația instalării senzorului.

Ca formă colectată, ambii senzori arată astfel:

Aici sunt afișate deja instalate în loc - pe arborele de cal. Rețineți că adânciturile pentru fixarea capacului șurubului sunt protejate de apă cu capace de cauciuc crud. Senzorii sunt instalați strict orizontal pe nivel, pentru care era necesar să se folosească căptușeală din bucăți de linoleum.

Partea electronică

Stația meteorologică ca un întreg constă din două module: un bloc la distanță (care servește atât senzori de vânt, cât și elimină citirile dintr-un senzor extern de umiditate a temperaturii) și modulul principal cu afișaje. Unitatea de extensie este echipată cu un transmițător fără fir pentru a trimite date instalate în interiorul acestuia (antena se fixează pe partea). Modul principal primește date de la unitatea la distanță (receptorul pentru confortul orientării sale este realizat pe cablu într-o unitate separată) și elimină, de asemenea, citirile de la senzorul de temperatură internă și afișează-o pe toate afișajele. O componentă separată a unității principale este un ceas cu un calendar, care, pentru confortul setării generale a stației sunt servite de un controler separat Arduino Mini și are propriile lor afișaje.

Modulul de la distanță și schema de măsurare a senzorilor de vânt

LED-urile din gama IR al-107b au fost alese ca emisii de fotografie. Aceste LED-uri de epocă, desigur, nu sunt cele mai bune din clasa sa, dar au un corp miniatura cu un diametru de 2,4 mm și capabil să treacă curentul până la 600 mA în puls. Apropo, atunci când testați, sa dovedit că eșantionul de acest LED de aproximativ 1980 de eliberare (în carcasa roșie) are ceva de două ori mai mare (exprimat în intervalul de lucru încrezător al fotodetectorului) decât exemplele moderne achiziționate în "cip dipipe" (sunt transparente galbiene galbiene). Este puțin probabil ca în 1980, cristalele erau mai bune decât acum, deși ce naiba nu glumește? Cu toate acestea, este posibil, cazul în diferite unghiuri de împrăștiere în același design.

Prin LED-ul în senzorul de viteză a trecut dC. Aproximativ 20 mA (rezistor 150 ohmi cu o nutriție de 5 volți) și în senzorul de direcție - pulsul (meander cu un standard 2) curent de aproximativ 65 mA (același 150 ohmi cu nutriție de 12 volți). Curentul mediu printr-un singur senzor de direcție este de aproximativ 33 mA, doar patru canale sunt de aproximativ 130 mA.

Fototransistorii L-32p3c în cazul unui diametru de 3 mm au fost aleși ca fotodeterters. Semnalul a fost îndepărtat din colector încărcat la rezistența de 1,5 sau 2 kΩ de la alimentarea cu 5 V. Acești parametri sunt selectați astfel încât la o distanță de ~ 20 mm între emisia de fotografie și receptorul de pe intrarea controlerului au ajuns imediat Un semnal logic de dimensiuni mari în niveluri de 5 volți fără amplificare suplimentară.. Curenții care apar aici vă pot părea în mod disproporționat, dacă procedați de la cerințele minime de energie minimă menționate mai sus, dar după cum vedeți, ele apar în fiecare ciclu de măsurare pentru maximum mai multe milisecunde, astfel încât consumul total rămâne mic.

Baza pentru fixarea receptoarelor și a emițătoarelor servite segmente ale canalului de cablu (vizibil în fotografia senzorilor de mai sus), tăiați astfel încât la bază să formeze o "urechi" pentru fixarea pe suport. Pentru fiecare dintre aceste tăieri, o placă de plastic a fost lipită la capacul de blocare, lățimea egală cu lățimea canalului a fost lipită. LED-urile și fototranzistorii au fost fixați la distanța dorită în găurile forate în această placă, astfel încât concluziile să se afle în interiorul canalului și numai bulgări la capătul incintelor efectuate. Concluziile sunt nemulțumite în conformitate cu schema (a se vedea mai jos), concluziile externe sunt realizate prin tăierea unui fir flexibil multi-color. Rezistoarele pentru emițătoarele senzorului de direcție sunt de asemenea plasate în interiorul canalului, o ieșire generală este făcută din ele. După decăderea capacului se fixează, toate fisurile sunt sigilate cu plasticină și bandă lipicioasă, care închide și gaura din concluzia opusă și întregul design este turnat rășină epoxidică. Concluziile externe, după cum se poate vedea în fotografia senzorilor sunt afișate pe blocul de borne, fixate pe partea din spate a suportului.

Schema schematică Unitatea de procesare a senzorului de vânt arată astfel:

Despre serviciul de la 12-14 volți provin de la, vezi mai jos. În plus față de componentele specificate în diagramă, unitatea externă conține un senzor de temperatură de umiditate, care nu este prezentat în diagrama. Dividetorul de tensiune conectat la ieșirea A0 a controlerului este proiectat pentru a controla tensiunea sursei de alimentare pentru a înlocui în timp util. LED-ul conectat la concluzia tradițională 13 (producția 19 din carcasa DIP) este o superochie, pentru că strălucirea normală, nu orbitoare este suficient de curentă în partea de milliamper, care este asigurată de o aleatorie neobișnuit de mare a rezistenței 33 com.

Diagrama utilizează controlerul "gol" ATMEGA328 în carcasa DIP programată prin intermediul Uno și instalat pe panou. Astfel de controlere cu descărino-boot încărcător deja înregistrat sunt vândute, de exemplu, în chip dipipe (sau bootloaderul poate fi scris independent). Un astfel de controler este programat în mod convenabil într-un mediu familiar, dar, lipsit de componente de pe tablă, mai întâi, se dovedește mai economic, în al doilea rând, este nevoie de mai puțin spațiu. Se poate obține un mod de economisire a energiei cu drepturi depline, să scape de bootloader prea (și, în general, să joace tot codul pe asamblare :), dar aici nu este foarte relevant, iar programarea este inutil complicată.

În sistem, dreptunghiurile gri au circulat componentele referitoare separat pentru a accelera canalele și direcțiile. Ia în considerare funcționarea schemei în ansamblu.

Funcționarea controlerului este gestionată în general de WDT WatchDog, inclusă în modul de întrerupere a întreruperii. WDT afișează un controler din modul de repaus la intervale specificate. Dacă cronometrul este reconstruit în întreruperea deconectată, repornirea de la zero nu apare, toate variabilele globale rămân cu valorile lor. Acest lucru vă permite să acumulați date de la trezire la trezirea și la un moment dat pentru a le procesa - de exemplu, medii.

La începutul programului au fost făcute următoarele înregistrări ale bibliotecilor și a variabilelor globale (pentru a nu aglomera textul exemplelor deja extinse, tot ceea ce aparține senzorului de temperatură-umiditate este eliberat aici:

#Include. #Include. #Include. . . . . . #Define LEDPIN 13 // Ieșire LED (ieșire PB5 19 Atmega) #define ir_pin 10 // Controlul tranzistorului IRLU (ieșire PB2 16 ATMEGA) #define IN_3P 9 // Descărcarea intrării receptorului 3 #define in_2p 8 // Descărcarea intrării receptorului 2 # Definiți in_1p 7 // Descărcarea intrării receptorului 1 #define in_0p 6 // Descărcarea intrării receptorului 0 #define ir_pinf 5 // (PD5,11) Ieșire pentru Frecvența IR IR #DEFINE IN_PINF 4 // (PD4,6) Detectarea frecvenței de frecvență Volatile nesemnate lungi time \u003d 0; // perioada de declanșare a senzorului FLOT FF; // frecvența senzorului de viteză pentru o medie de msg; // numărul de byte Messsedzh selectat \u003d 0; // Counter Int Batt; // pentru bateriile octei de medici; // Gama de direcții de vânt Byte Wind_Gray \u003d 0; // cod de direcție de vânt
Pentru a iniția modul Sleep și WDT (trezire la fiecare 4 secunde), următoarele proceduri servesc:

// Traducerea sistemului la modul Sleep System 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 \u003d 9; bb \u003d II și 7; Dacă (II\u003e 7) BB | \u003d (1<<5); //в bb - код периода bb|= (1< Senzorul de viteză emite frecvența întreruperii canalului optic, ordinea de mărime este unitățile de zeci de Hertz. Măsurați o astfel de valoare mai economică și mai rapidă prin perioadă (aceasta a fost dedicată publicației autorului "Metode de evaluare pentru măsurarea frecvențelor joase pe Arduino"). Aici metoda este selectată prin funcția Pulsenllong modificată (), care nu legată măsurarea la o anumită ieșire a controlerului (textul funcției periodice () poate fi găsit în publicația specificată).

Funcțiile de configurare () sunt declarate direcții de ieșire, biblioteca emițătorului 433 MHz este inițializată și cronometrul de supraveghere (șirul pentru in_pinf este, de asemenea, inutil și inserat pentru memorie):

SETUP VOID () (Pinmode (IR_PINF, ieșire); // pe ieșirea de pinmode (in_pinf, intrare); // Detectarea frecvenței de ieșire la intrarea de pinmode (13, ieșire); // vw_setup LED (1200); // conexiune virtuală VITEA VW_SET_TX_PIN (2); // D2, PD2 (4) Ieșire de transmisie VirtualWire // Serial.Begin (9600); // Serial-port pentru control la depanarea setup_watchdog (8); // perioada de greutate 4 C WDT_RESET (); )
În cele din urmă, în ciclul principal al programului, mai întâi de fiecare dată când trezirea (la fiecare 4 secunde) Citiți tensiunea și calculați frecvența senzorului de viteză a vântului:

Loopul VOOD () (WDT_RESET (); // Resetați cronometrul digital (LEDPIN, HIGH); // Porniți LED-ul pentru a controla BATT \u003d analog (0); // citiți și salvați codul curent al bateriei / * \u003d\u003d\u003d Frecvența \u003d\u003d\u003d \u003d * / digitalwrite (IR_PINF, ridicat); // Porniți un senzor de viteză LED IR float F \u003d 0; // variabilă pentru frecvență time \u003d periinlong (in_pinf, scăzut, 250000); // așteaptă 0,25 secunde // Serial. Println (TTime); // pentru a controla dacă Debug (TTime! \u003d 0) (// în caz de lipsă de frecvență f \u003d 1000000 / float (TTime);) // Calculați frecvența Semnal în Hz DigitalWrite (IR_PINF, LOW); / / Opriți IR LED FF \u003d F; // Salvați valoarea calculată în matrice .....
Timpul de combustie al LED-ului IR (consumator, reamintire, 20 ma) aici, după cum puteți vedea, va fi maxim în absența rotației discului senzorului și este în același timp aproximativ 0,25 secunde. Frecvența minimă măsurată va fi de 4 Hz (un sfert din revoluția discului pe secundă la 16 găuri). Așa cum sa dovedit la calibrarea senzorului (vezi mai jos), aceasta corespunde cu aproximativ 0,2 m / s viteza vântului, subliniem că aceasta este viteza minimă măsurată a vântului, dar nu rezolvând capacitatea și nu un prag al îndoirii ( care va fi mult mai mare). Dacă există o frecvență (adică atunci când senzorul este rotit), timpul de măsurare (și, în consecință, timpul de combustie a LED-ului, adică consumul curent) va fi scăzut proporțional, iar rezoluția este de a crește.

Următoarele proceduri urmate de fiecare a patra trezire (adică la fiecare 16 secunde). Frecvența senzorului de viteză din cele patru valori acumulate pe care le transmitem nu este medie, iar maximul - după cum a arătat experiența, este o valoare mai informativă. Fiecare dintre valori, indiferent de tipul său, pentru confort și uniformitate, convertim la un număr pozitiv integrat de 4 decalaje zecimale. Aruncarea peste numărul de ceasuri de trezire Variabila numărului:

// la fiecare 16 secunde în medie bateria și determină valoarea maximă // Frecvența de 4 valori: dacă (număr \u003d\u003d 3) (F \u003d 0; // Frecvență valoare pentru (Byte I \u003d 0; I<4; i++) if (f Următorul - definiția direcției de gri de cod. Aici, pentru a reduce consumul, în loc de LED-uri iR permanente pe toate cele patru canale în același timp prin tranzistorul de câmp cheie utilizând funcția TONE (), frecvența de 5 kHz este furnizată. Detectarea prezenței unei frecvențe pe fiecare dintre descărcări (ieșiri IN_0P - IN_3P) se face prin metoda similară cu anti-buress atunci când citirea citirilor apăsând butonul. În primul rând, așteptăm în ciclu, dacă există un nivel ridicat la ieșire și apoi verificați-l după 100 μs. 100 μs Există o jumătate de frecvență de 5 kHz, care este, dacă există o frecvență de cel puțin a doua oară, vom scădea din nou la un nivel ridicat (doar în cazul repetăm \u200b\u200bde patru ori) și acest lucru înseamnă că este exact Acolo. Repetăm \u200b\u200baceastă procedură pentru fiecare dintre cele patru biți ale codului:

/ * \u003d\u003d\u003d\u003d\u003d vânt gri \u003d\u003d\u003d\u003d * / // Direcție: ton (IR_PIN, 5000); // 5 kHz frecvență pe boolean da \u003d tranzistor fals; Byte I \u003d 0; În timp ce (! Da) (// descărcare 3 i ++; Boolean State1 \u003d (DigitalRead (IN_3P) și înălțime); întârzieri (100); // întârzierea în 100 microsecunde Da \u003d (STAT1 &! DigitalDead (IN_3P)); dacă (i\u003e 4) pauză; // încercăm de patru ori) dacă (da) WDIR \u003d 1; Altfel wdir \u003d 0; da \u003d false; i \u003d 0; În timp ce (! Da) (// descărcare 2 i ++; Boolean State1 \u003d (DigitalRead (IN_2P) și înălțime); întârzieri (100); // întârzierea în 100 microsecunde Da \u003d (State1 &! DigitalCead (IN_2P)); dacă (i\u003e 4) pauză; // încercăm de patru ori) dacă (da) WDIR \u003d 1; Altfel wdir \u003d 0; da \u003d false; i \u003d 0; În timp ce (! Da) (// descărcare 1 i ++; Boolean State1 \u003d (DigitalRead (IN_1P) și mare); întârzieri (100); // întârzierea în 100 microsecunde Da \u003d (STAT1 &! DigitalCead (IN_1P)); dacă (i\u003e 4) pauză; // încercăm de patru ori) dacă (da) WDIR \u003d 1; Altfel wdir \u003d 0; da \u003d false; i \u003d 0; în timp ce (! da) (// descărcare 0 i ++; Boolean State1 \u003d (DigitalRead (IN_0P) și ridicat); întârzieri (100); // întârzierea în 100 microsecunde Da \u003d (STAT1 &! Digitaldread (IN_0P)); dacă (i\u003e 4) pauză; // încercăm de patru ori) dacă (da) WDIR \u003d 1; Altfel wdir \u003d 0; Notone (ir_pin); // opriți frecvența // colectați octetul în codul gri: Wind_Gray \u003d WDIR + WDIR * 2 + WDIR * 4 + WDIR * 8; // Traducere directă în DV. cod int wind_g \u003d wind_gray * 10 + 1000; // Supliment la 4 fii. evacuări. . . . .
Durata maximă a unei proceduri va fi în absența unei frecvențe la receptor și este de 4 × 100 \u003d 400 microsecunde. Timpul maxim de combustie a indicațiilor cu 4 conduse va fi atunci când nici un receptor nu este umplut, adică 4 × 400 \u003d 1,6 milisecunde. Algoritmul, apropo, va funcționa în același mod dacă în loc de frecvență, a cărui perioadă este multiplă 100 μs, trimiteți pur și simplu un nivel ridicat de LED-uri. Dacă există meandru, în loc de un nivel constant, salvăm pur și simplu dieta de două ori. Încă mai putem salva dacă începeți fiecare IR condus printr-o linie separată (în consecință, printr-o concluzie separată a controlerului cu tranzistorul cheie), dar schema, aspectul și controlul și un curent de 130 mA pentru 2 ms la fiecare 16 secunde sunt complicate. - Asta vezi, puțin.

In cele din urma, transmisie de date wireless.. Pentru a transfera date din locația senzorilor la pachetul de afișare, metoda cea mai simplă, ieftină și fiabilă: pereche de transmițător / receptor la o frecvență de 433 MHz. Sunt de acord, metoda nu este cea mai convenabilă (datorită faptului că dispozitivele sunt proiectate pentru a transfera secvențe de biți și nu a întregului octeți, este necesar să fie sofisticați în conversia datelor între formatele necesare) și sunt încrezător Mulți vor dori să se certe cu mine în ceea ce privește fiabilitatea acesteia. Răspunsul la ultima obiecție este simplu: "Tu nu știi cum să le gătești!".

Secretul este că, de obicei, rămâne în spatele cadrului diferitelor descrieri ale schimbului de date pe canalul 433 MHz: deoarece aceste instrumente sunt pur analogice, atunci sursa de alimentare a receptorului trebuie să fie foarte bine curățată de orice valuri străine. În nici un caz nu alimentați receptorul de la stabilizatorul intern de 5 volți Arduino! Instalare pentru receptorul unui stabilizator separat de putere redusă (LM2931, LM2950 sau similar) direct aproape de concluziile sale, cu circuitele corecte de filtrare la intrare și ieșire, crește radical gama și fiabilitatea transmisiei.

În acest caz, transmițătorul a lucrat direct de la tensiunea bateriei 12 V, receptorul și transmițătorul au fost echipate cu antene standard de casă sub formă de lungime de 17 cm lungime. Pachet de informații într-o lungime de 24 de octeți (luând în considerare umiditatea și temperatura contului) fără probleme cu încredere cu o viteză de 1200 bps în diagonală printr-o secțiune de grădină de 15 hectare (aproximativ 40-50 de metri), apoi prin trei pereți log în interiorul camerei (în care, de exemplu, a Semnalul celular este făcut cu mare dificultate și nu peste tot). Condițiile practic impresionante pentru orice standard de 2,4 GHz (tip Bluetooth, Zig-Bee și chiar amator Wi-Fi), în ciuda faptului că consumul de transmițător aici este un patetic de 8 mA și numai în momentul transmiterii în sine, restul Timpul Transmițătorul consumă penny venerabil. Transmițătorul este plasat din punct de vedere structural în blocul de la distanță, antena se fixează pe partea orizontală.

Combinăm toate datele într-un singur pachet (în stația reală, chiar și temperatura și umiditatea vor fi adăugate), constând din piese uniforme de 4 octeți și semnătura "DAT" premutabilă prin semnătură, trimite-l la transmițător și Completați toate ciclurile:

/ * \u003d\u003d\u003d\u003d\u003d Transmițător \u003d\u003d\u003d\u003d\u003d * / String strmsg \u003d "dat"; // Rata STREMSG + \u003d volt; // atașați bateria 4 a STRMSG-ului de descărcare + \u003d WING_G; // atașați STRMSG + FI; // atașați frecvența de 4 descărcare strwsg.tocararray (MSG, 16); // traduceți șirul într-o matrice // serial.println (MSG); // pentru a controla vw_send ((uint8_t *) msg, strlen (MSG)); // transferul mesajului vw_wait_tx (); // Asteptam finalizarea transferului - asigurati-va! Întârzierea (50); // + chiar numai în cazul în care numărul de întârziere \u003d 0; // resetați contorul) // numărul de capăt \u003d\u003d 3 altceva număr ++; Digital (LEDPIN, scăzut); // GASIM SYSTEM_SLEEP () LED-ul semnalului; // System - în somn) // Lovitură de capăt
Dimensiunea pachetului poate fi redusă dacă refuzați să reprezentați fiecare dintre soiurile de diferite tipuri sub forma unui cod uniform de 4 octeți (de exemplu, pentru codul gri, desigur, un byte). Dar am părăsit universalizarea de dragul tuturor lucrurilor așa cum este.

Nutriția și caracteristicile designului blocului de la distanță. Consumul blocului de la distanță numără în acest fel:

20 mA (emițător) + ~ 20 mA (controler cu lanțuri auxiliare) pentru aproximativ 0,25 din fiecare patru secunde - în medie 40/16 \u003d 2,5 mA;
- 130 mA (emițători) + ~ 20 mA (controler cu lanțuri auxiliare) pentru aproximativ 2 ms la fiecare 16 secunde - în medie 150/16/50 ≈ 0,2 mA;

Aruncarea acestui calcul a consumului controlerului la scoaterea datelor de la senzorul de temperatură-umiditate și în timpul funcționării emițătorului, aduceți cu îndrăzneală consumul mediu de până la 4 ma (cu un vârf de aproximativ 150 mA, notificare!). Bateriile (care, apropo, veți avea nevoie de 8 bucăți pentru a vă asigura puterea transmițătorului cu tensiunea maximă!) Va trebui să vă schimbați prea des, deoarece ideea de a hrăni blocul de la distanță de la bateriile de 12 volți pentru Șurubelnița - le-au format doar două bucăți de inutile. Capacitatea lor este chiar mai mică decât cantitatea corespunzătoare de baterii AA - doar 1,3 și o oră, dar nimeni nu le deranjează să le schimbe în orice moment, ținând al doilea acuzat. Cu acest consum de 4 MA de 1300 de ore, este suficient timp de aproximativ două săptămâni, ceea ce nu este prea supărător.

Rețineți că tensiunea bateriei Fresheater poate fi de până la 14 volți. În acest caz, este furnizat un stabilizator de intrare de 12 volți - pentru a preveni supratensiunile de putere ale transmițătorului și pentru a nu supraîncărca principalul stabilizator de cinci ori.

Blocul de la distanță într-o cutie de plastic adecvat este plasat sub acoperiș, cablul de alimentare de la baterie și conexiuni la senzorii de vânt este conectat la acesta. Principala dificultate este că schema sa dovedit a fi extrem de sensibilă la umiditatea aerului: în vreme ploioasă, după câteva ore, începe să colecteze transmițătorul, măsurătorile de frecvență arată un terci de frecvență, iar măsurătorile tensiunii bateriei arată " Vremea pe Marte ".

Prin urmare, după depanarea algoritmilor și verificați toate conexiunile, carcasa trebuie să fie sigilată cu atenție. Toți conectorii de la intrarea în corp sunt răi de către materialul de etanșare, același lucru se aplică tuturor șuruburilor care lipitează, antena de ieșire și cablul de alimentare. Articulațiile cauzei sunt etichetate cu plasticină (având în vedere faptul că vor fi distribuite) și, în plus, sunt furnizate pe partea de sus a benzilor de bandă sanitară. Nu este rău să întăriți cu exactitate conectorii folosiți în interior: astfel încât, indicată pe diagrama modulului de la distanță DB-15, nu este sigilată și între forma metalică și baza plastic va descuraja încet aerul umed.

Dar toate aceste măsuri vor da doar un efect pe termen scurt - chiar dacă nu există o alimentare cu aer umed rece, atunci aerul uscat din cameră este ușor transformat în umed atunci când temperatura scade în afara carcasei (amintiți fenomenul numit " punct de condensare").

Pentru a evita acest lucru, este necesar în interiorul corpului pentru a lăsa un cartuș sau o pungă cu un gel de silicagel cu umiditate - Silicage (pungi cu acesta sunt uneori încorporate în cutiile cu pantofi sau în unele pachete cu dispozitive electronice). Dacă gelul de silice de origine necunoscută și a fost păstrat de mult timp, este necesar să o ascundeți în fața a 140-150 de grade timp de câteva ore înainte de utilizare. Dacă carcasa este sigilată așa cum ar trebui, atunci schimbarea absorberului de umiditate nu va avea mai des decât la începutul fiecărui sezon de țară.

Modulul principal.

În modulul principal, toate valorile sunt acceptate, descifrate, dacă este necesar, sunt convertite în conformitate cu ecuațiile calibream și sunt afișate pe afișaje.

Receptorul este transferat dincolo de corpul modulului principal al stației și plasat într-o cutie mică cu urechi pentru fixare. Antena este îndepărtată prin gaura din capac, toate găurile din carcasă sunt etanșate cu cauciuc brut. Contactele receptorului sunt afișate pe un conector de fiabile PC-4, de la partea receptorului, este conectat printr-un segment al unui cablu AV ecranat dublu:

Conform unui cablu, semnalul este îndepărtat, pe de altă parte, puterea este furnizată sub formă de "brut" de 9 volți de la adaptorul de alimentare al modulului. Stabilizatorul de tip LM-2950-5.0, împreună cu condensatoarele de filtrare, este instalat în cutie împreună cu receptorul pe o eșarfă separată.

Au fost făcute experimente pentru a mări lungimea cablului (doar în caz - dintr-o dată nu ar funcționa peste perete?) În care sa dovedit că, în limita de până la 6 metri, nimic nu se schimbă.

Afișajele de tip OLED sunt doar patru: două galben servește meteo și două ceasuri și calendar verde. Plasarea lor este prezentată în fotografie:

Rețineți că în fiecare grup, una dintre afișajele este textul, al doilea este grafic, cu fonturi create artificial sub formă de înduiță. Aici, în viitor, nu vom locui pe problema afișării informațiilor despre afișaje, astfel încât să nu se umfle textul deja extins al articolului și exemplelor: datorită prezenței imaginilor glifelor pe care trebuie să le retrageți în mod individual ( Adesea, prin simpla transferizare a opțiunilor de către cazul operatorului) Programele de ieșire pot fi foarte greoaie. Pentru a gestiona astfel de afișări, a se vedea publicarea autorului "grafic și text text al afișajelor Winstar", unde există, de asemenea, un exemplu al afișajului pentru ieșirea datelor de vânt.

Diagramă schematică. Ceasurile și afișajele lor pentru configurarea configurației sunt deservite de un controler separat Arduino Mini și nu le vom dezasambla aici. Conectarea componentelor la Arduino Nano, controlul de primire și ieșire, după cum urmează:

Aici, spre deosebire de modulul la distanță, este prezentată conexiunea meteorodacilor - barometrul și senzorul de temperatură internă și umiditate. Atenția ar trebui să se acorde alimentării cu energie electrică - afișajele sunt alimentate de un stabilizator separat 5 în LM1085. Este firesc să alimentați ceasul, însă, în acest caz, controlerul de ceas ar trebui, de asemenea, să mănânce de la aceeași tensiune și prin ieșirea 5 V și nu de VIN (pentru Mini Pro, acesta din urmă se numește RAW). Dacă salvați controlerul de ceas în același mod ca nano-9 volți prin ieșirea brută, atunci stabilizatorul său intern va intra în conflict cu 5-yolts extern și în această luptă, desigur, cea mai puternică va câștiga, adică LM1085, iar mini-ul va rămâne complet fără alimente. De asemenea, pentru a evita orice probleme înainte de programarea Nano și, în special, mini (adică înainte de a conecta un cablu USB), adaptorul extern trebuie deconectat.

La stabilizatorul LM1085, la conectarea tuturor celor patru afișaje, puterea se va distinge lângă Watt, prin urmare trebuie instalată pe un radiator mic aproximativ 5-10 cm2 dintr-un colț de aluminiu sau cupru.

Acceptarea și prelucrarea datelor. Aici voi reproduce și comenta cu privire la fragmentele programului legate de datele de vânt, despre alți senzori mai multe cuvinte.

Pentru a primi un mesaj prin intermediul canalului 433 MHz, aplicăm metoda standard descrisă într-o varietate de surse. Conectăm variabilele bibliotecii și declarăm:

#Include. . . . . . int volt; // tensiune akuumulator în codul de batt plutitor condiționat; // valoarea reală - tensiunea bateriei WDIR; // direcția în codul gri Uint16_T t_time \u003d 0; // char interval de recepție; // rând pentru date uint8_t bf; // variabilă pentru mesajul primit uint8_t buflen \u003d vw_max_message_len; // max lungimea mesajului primit. . . . .
O caracteristică este asociată cu dimensiunea tampon tampon: pentru a declara valoarea sa (VW_MAX_MESSAGE_LEN) O dată la începutul programului nu este suficient. Deoarece în funcția de recepție (vezi mai jos), această variabilă apare pe link, apoi mesajul implicit trebuie să actualizeze fiecare ciclu. În caz contrar, datorită primirii de mesaje răsfățate, valoarea Buflen va fi scurtată de fiecare dată până când începeți să primiți orice nonsens în loc de date. În exemple, ambele variabile declară de obicei la nivel local în ciclul buclă, deoarece dimensiunea tamponului este actualizată automat și aici vom repeta pur și simplu atribuirea valorii dorite la începutul fiecărui ciclu.

În procedura de configurare, efectuăm următoarele setări:

VOID SETUP () (întârziere (500); // pentru a seta afișajele de pinmode (16, input_pullup); // ieșire pentru butonul VW_SETUP (1200); // VirtualWire VW_SET_RX_PIN Viteza conexiunii (17); // A3 Virtualwire Receptor de ieșire . ....
Înainte de a primi ceva, intervalul de timp T_Time a fost verificat de la ultima recepție. Dacă depășește limitele rezonabile (de exemplu, 48 de secunde este un timp de repetare de trei ori de mesaje de la un bloc extern), atunci este perceput ca pierderea senzorului și cumva indică pe afișaj:

Loopul Void () (vw_rx_start (); // Pregătirea recepției Buflen \u003d VW_MAX_MESSASAGE_LEN; // Dimensiune tampon de fiecare dată Anena ((INT (Millis (Millis (Millis ()) - t_time)\u003e 48000) // Dacă T_Time nu a fost actualizat mai mult decât 48 de secunde (<отображаем прочерк на дисплее> . \u003d Milis (); / ////dow t_time pentru (byte i \u003d 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> . . . . .
Coeficientul de 55,5 recalculează valoarea codului ADC în tensiunea reală, valoarea acestuia depinde de tensiunea de referință și de valorile rezistoarelor divizorului.

Apropo, codul gri are o singură caracteristică: nu este important în ordinea biților, codul rămâne toate proprietățile sale cu orice permutare. Și din moment ce descifrează, considerăm în continuare fiecare caz în parte, atunci biții pot fi luați în considerare în orice ordine și chiar confunda atunci când sunt conectați. Un alt lucru dacă doreau ca acest caz, cumva aranja - de exemplu, crearea unei game de direcții ("C", "CVD", "SZ", "ZSZ", "S", ", etc.) și în loc de o atenție individuală fiecare opțiune pentru a extrage denumirile după număr în această matrice. Apoi ar trebui să transforme codul de joc într-un binar comandat, iar ordinea bitului ar juca un rol semnificativ.

Și în cele din urmă, recuperați valoarea de viteză și închideți toți operatorii:

Pentru (Byte I \u003d 19; i<23;i++) // Получить четыре байта частоты str= buf[i]; // упаковать их в строку int wFrq=atoi(str); //преобразовать в целое число wFrq = (wFrq-1000)/10; //удаляем добавки до 4-х байт wFrq=10+0.5*wFrq;//скорость в целом виде с десятыми <отображаем ее на дисплее поразрядно> ) // capăt în cazul str \u003d dat) // capăt vw_get_message) // capăt vw_have_message (); . . . . .
Aici 10 + 0.5 * WFRQ este o ecuație de calibrare. 10 DM / S (adică 1,0 metru pe secundă) Există un prag tropic și coeficient de recalculare a frecvenței la viteză (în DM / s). La valoarea zero a frecvenței de intrare, această ecuație emite 10 dm / s și, prin urmare, ar trebui să fie luate separat pentru a obține nu 1 m / s, și anume valoarea zero. Calibrarea senzorului de viteză poate fi utilizând orice anemometru manual mai ieftin și ventilator desktop. Nu încercați să determinați pragul de declanșare experimental - mult mai precis se dovedește dacă notați două sau trei puncte ale valorii directe de calibrare a vitezei V de la Frecvența F: V \u003d VP + K × F la viteze diferite de flux, atunci Pragul de pornire va fi determinat automat, ca valoare a VP (punctele ordonate care traversează această linie cu axa vitezelor).

Înainte de a închide ciclul principal, trebuie să faceți altceva. Avem o tensiune a bateriei, dar nu este necesar să o afișăm tot timpul - numai locul pentru a ocupa. Pentru a face acest lucru, aveți nevoie de butonul KN1 - făcând clic pe el, temporar (până la următoarea actualizare a datelor) înlocuiți șirul de temperatură externă-umiditate a tensiunii:

Dacă (DigitalRead (16) \u003d\u003d scăzut) (// butonul apăsat<выводим напряжение на дисплей, затирая значение температуры-влажности> ) // întârzierea butonului final (500); ) // lingură de sfârșit
Butonul meu a fost, după cum se poate vedea din schemă, cu un contact de tort, dar nimic nu împiedică închiderea cu închiderea, conectarea la putere prin rezistență. De asemenea, puteți adăuga caractere intermitente pe acest ecran dacă tensiunea bateriei scade mai jos, de exemplu, 10 volți, ca semn că este timpul să îl schimbați.

În concluzie despre meteori. SHT-75 a fost folosit ca senzor exterior - singura senzorilor amatori găsiți de mine, care nu necesită calibrare și prezintă valori reale și temperaturi și umiditate direct "din cutie" (prin urmare, prețul său ridicat).

Biblioteca pentru conexiunea sa poate fi găsită.

Sht-75 este proiectat destul de prost: un tablou de substrat metalic este perfect realizat căldură, de aceea este necesar să o suporte în întregime dincolo de carcasă. În caz contrar, prezența unui controler de tip ATMEGA328 cu un stabilizator de putere într-un caz închis este suficientă pentru a încălzi senzorul pentru o pereche de grade prin bord, chiar dacă capul este rotit spre exterior. Schema mea cu senzori de vânt, cu curenții săi la 20-130 mA (chiar dacă milisecundele nesemnificative în prezent) încălzește gradul de sht-75 pe cinci, așa că a fost transferat în exterior și instalat separat pe placa de plastic, proeminentă din bloc locuințe.

Datele din SHT-75 sunt îndepărtate de același controler ca și datele senzorilor de vânt și sunt trimise de la modulul la distanță într-un singur pachet prin canalul fără fir de 433 MHz. Pentru transmisie, acestea sunt, de asemenea, administrate un format de linie de 4 octeți.

Pentru a măsura temperatura și umiditatea în interior, a fost ales un DHT-22 banal - deoarece intervalul este mic acolo în comparație cu strada, se face indiferent la ce senzor de utilizat (cu excepția DHT-11, care nu trebuie utilizat la În orice caz, în orice caz este doar inoperabil la numirea țintă). Temperatura DHT-22 a fost dezvăluită prin măsurătorile unui termometru de mercur (au coincis complet cu SHT-75!), Iar umiditatea a fost ușor tratată cu comparație cu SHT-75. Modificările sunt introduse imediat înainte de afișarea pe afișaj.

Apropo, DHT-22 trebuie, de asemenea, să fie lăsat departe de carcasă cu afișaje - altfel se va încălzi și se va minți în mod inevitabil. Îl rezolv pe muntele de plastic din partea de jos a cazului, la o distanță de milimetri de zece de la ea. Această circumstanță, așa cum suspectează, unul dintre motivele (cu excepția lipsei de calibrare individuală) este că toate stațiile meteorologice de marcă RST și Oregon sunt în mărturie, având o împrăștiere chiar cu ei înșiși (senzor intern cu outdoor) în două sau trei grade și până la o duzină de umiditate.

Barometru Nu reprezintă probleme, deoarece aproape toate disponibile la vânzare se efectuează pe aceeași bază - microelectromecanică (MEMS) Microcircuit BMP180 sau modificările sale. Experiența mea personală încearcă să utilizeze o varietate mai rar întâlnită bazată pe LPS331AP a fost negativă: Biblioteca pentru ea este mai greu de găsit, iar conflictul cu alte dispozitive de pe autobuzul I2C a fost găsit în partea de sus. Mărturia barometrului poate fi ajustată la locul de instalare - la fiecare 10-12 metri înălțime deasupra nivelului mării reduc presiunea la 1 mm. Artă. Prin urmare, va fi necesar să deduceți (sau să adăugați) de la citiri, astfel încât valoarea presiunii să corespundă mărturiei stației meteorologice oficiale din această zonă.

În totalitate toate posturile meteorologice ale programului pe care nu le aduc - sunt destul de voluminoase, iar unul la altul nu poate să repete designul. Dacă asta, bateți-vă într-un personal.

UPARTATE de la 06/30/17. Puterea instalată din bateria solară. Set de aici:
panoul solar.
controlor
Akb.
Toate împreună + livrare în Moscova în limitele de 2,5 Tyr. Funcționează fără probleme.
Metodă interesantă de calculare a puterii bateriei solare și ACB, care este oferită consultanți de pe acest site. Un exemplu de calculare a energiei de 3 W consumate (am mult mai puțin), citez:
"3W multiplicați cu 24 ore și împărțiți cu 6 \u003d 12 ore este recipientul minim de baterie
3W multiplicați cu 24 de ore și împărțiți 3H \u003d 24W este puterea minimă a bateriei solare "
Fara comentarii.
În cazul meu, puterea rezultată a instalației de energie solară este de zece ori mai mare decât cea necesară în cele mai grave condiții meteorologice. Prin urmare, în controlorul senzorului, este în special să se ocupe de economisirea energiei și să aplice toate frecvențele necesare ale valorilor de citire și medie.

UPD DAT 09/13/18. Pentru aproape două sezoane de funcționare, au fost dezvăluite punctele forte și punctele slabe ale postului. Slab - În primul rând, faptul că ciclul de actualizare al citirilor este de 16 secunde (din cele patru serii de măsurători), așa cum a fost inițial prea lung. Instalarea bateriei solare cu o baterie tampon a permis să nu se gândească la economisirea energiei și să se joace cu durata ciclului. Ca rezultat, ciclul a fost setat la 8 secunde (patru dimensiuni în două secunde).
Din îmbunătățiri mecanice, a fost introdus un spion solid sub marginea senzorului de viteză (da, am fost chiar avertizat despre nevoia ei, dar atunci nu am venit cu cum să o fac). După o perioadă de timp axa senzorului săpată complet suportul fluoroplastic, iar pragul de îndoire a crescut brusc (asupra sensibilității flustrului, acest lucru, apropo, nu a afectat sensibilitatea). Prin urmare, suportul a fost înlocuit cu un vârf din oțel inoxidabil, în care o adâncitură mică a fost făcută de un burghiu subțire. Antimonia, care va avea în continuare ceva de a veni cu marginea, care, ca toată axa, este făcută din Durala. Dar am amânat-o până când senzorul ar fi trebuit să redo: un disc laser, luat ca bază a designului, pentru două sezoane tulbure de la soare și a început să spargă.

UPDAT DATA 06/05/19.
Pe modificarea senzorului (flustrul este lăsat același). Senzorul de viteză a trebuit să revină și din cauza axei șterse și datorită discului laser care a intrat în discrete. Baza designului este lăsată de același lucru, dar noul disc laser este vopsit cu vopsea de aur din cutie. Soluția pentru ISZ se găsește în formularul de mai jos. În axa Durall, aprofundarea a fost forată exact în centru și a fost introdusă acolo pe cel de-al doilea lipici de tăiere partea superioară a robinetului chinez 3 mm. Vârful robinetului este un con bine centrat, cu un unghi de aproximativ 70-80. Ca bază, am folosit capul șurubului inoxidabil M3 cu un slot spinal în care o adâncire mică a centrului este programată pentru un burghiu convențional D \u003d 2 mm. Acest șurub înfășurat direct în locaș în fluoroplast, suge de axa mai devreme decât centrarea.
Vârful axei a fost umerat cu un lubrifiant de grafit pentru a proteja împotriva coroziunii (deoarece proprietățile inoxidabile ale testerului sunt necunoscute pentru mine). După ce au scăzut, pragul de început a scăzut atât de mult încât a devenit imposibil să se măsoare anemometrul semnăturii, în care pragul este de aproximativ 0,3-0,5 cm / s. Conform datelor indirecte (construcția unei linii de-a lungul a două puncte) a fost un prag voluntariat de 0,3 m / s, deși este, probabil, oarecum mai puțin.

Principala modificare a algoritmilor de supraveghere se referă, de asemenea, la senzorii de vânt și am considerat util să o îndurem.

Pentru fabricarea dispozitivului, care măsoară viteza debitului de aer, va necesita o șurubelniță. De exemplu, jumătate din ouăle de Paște din plastic pot fi utilizate ca rezervor al anemometrului. De asemenea, va fi necesar un motor compact pe perii pe magneți permanenți. Principalul lucru este că rezistența lagărelor pe arborele motorului a fost minimă. O astfel de cerință se datorează faptului că vântul poate fi destul de slab, iar apoi arborele motorului nu va fi purtat pur și simplu. Pentru a crea un anemometru, motorul va fi utilizat de pe vechiul hard disk.

Principala dificultate în asamblarea unui anemometru este de a face un rotor echilibrat. Motorul va trebui să fie instalat pe o bază masivă și pe rotorul său pentru a planta un disc din plastic gros. Apoi, din ouă de plastic, este necesar să taie cu atenție trei emisfere identice. Ele sunt fixate pe disc folosind știfturi sau tije de oțel. În acest caz, discul trebuie mai întâi să divizeze sectoarele de 120 de grade.

Se recomandă echilibrarea într-o cameră în care există complet mișcări de vânt. Axa anemometrului trebuie să fie într-o poziție orizontală. Fitul de greutate sunt de obicei efectuate folosind picioarele. Punctul este că rotorul se oprește în orice poziție și nu în același lucru.

Calibrarea dispozitivului

Instrumentul de casă trebuie calibrat. Pentru calibrare este cel mai bine să utilizați mașina. Dar veți avea nevoie de un fel de catarg, pentru a nu intra în zona aeriană indignantă creată de mașină. În caz contrar, mărturia va fi puternic distorsionată.

Calibrarea trebuie efectuată numai într-o zi fără vânt. Atunci procesul nu va întârzia. Dacă vântul va sufla, va trebui să mergeți pe drum pentru o lungă perioadă de timp și să calculați valorile medii ale vitezei vântului. Trebuie să se țină cont de faptul că viteza vitezometrului este măsurată în km / h și viteza vântului în m / s. Raportul dintre ele este 3.6. Aceasta înseamnă că citirile de vitezometru vor trebui împărțite în acest număr.

Unii oameni din procesul de calibrare folosesc un recorder de voce. Puteți pur și simplu să împingeți citirile de vitezometru și un anemometru dispozitivului electronic. În cazul în care puteți crea o nouă scară pentru anemometrul dvs. de casă. Numai cu ajutorul unui dispozitiv calibrat corect se poate obține date fiabile privind atmosfera eoliană din zona necesară.

Anneometru - dispozitiv pentru măsurarea vitezei vântului. Un anemometru clasic Cup este un dispozitiv pur mecanic capabil să măsoare viteza vântului în intervalul de la 2 la 20 m / s. Anemometrul calculează pur și simplu numărul de rotații de rotoare. Pentru a determina viteza vântului, trebuie să măsurați numărul de rotații pentru o anumită perioadă de timp, de exemplu 30 S, apoi calculați numărul de diviziuni pe care săgeata Anamometru trece pentru 1 s. După aceea, pentru a determina viteza vântului, utilizați programul.

Descrieți analogul este cel mai simplu mod bazat pe un motor electric cu putere redusă, cum ar fi DM-03-3S 3 91, care acționează ca un generator. Rotorul cu patru lame este pregătit, achiziționat pe Aliexpress aproximativ 1 dolar.

Diametrul rotorului este de 10 cm, iar înălțimea este de 6 cm.

Motorul electric este amplasat în carcasa realizată dintr-o capacitate de sudare la rece, în capacul căruia orificiul pentru arborele motorului și conducând de la motorul de cabluri este tăiat.

O punte diode VD1 colectată pe diodele Schottky 1N5817 este conectată la motorul electric. La priza de diodă, condensatorul electrolitic C1 1000 ICF X 16 V. este conectat

Diagrama conexiunii anemometrice

Diodele Schottka sunt alese datorită faptului că viteza de rotație a rotorului, în condiții normale (dacă nu există uragan) nu este foarte mare. La viteza vântului, aproximativ 6 m / s, la ieșirea dispozitivului există o tensiune de aproximativ 0,5 V. În astfel de condiții, minimizează rațional pierderile pe toate elementele schemei. Din același motiv, conductorii secțiunilor excesive sunt utilizate ca fire de conectare.

La ieșirile redresorului, puteți conecta orice voltmetru DC cu 2 V. Prin rolul său este perfect compus multimetrul. Deși utilizarea unui dispozitiv separat arrow vă permite să absolvi direct scala în viteza vântului.

Deoarece dispozitivul a fost planificat să funcționeze pe stradă, podul diodei a fost inundat cu rășină epoxidică. După cum sa dovedit, condensatorul a fost luat excesiv, astfel încât tensiunea rapidă picăturile și, în consecință, rafalele vântului nu pot fi fixate. Autorul revizuirii Denev.

Anemometrul este numit dispozitivul care arată viteza cu care fluxurile de aer se mișcă. Până în prezent, acest dispozitiv este capabil să determine temperatura acestora. Dispozitivele sunt fabricate de industrie, dar cele mai simple pot fi făcute și de tine. Tipuri principale existente: aripa anemometrică, ceașcă și termometru.

Alte soiuri ale acestui dispozitiv sunt găsite, dar ele sunt folosite puțin și în industrii destul de specifice.

Tipul de dispozitiv numit rotorul

Anamometrul manual considerat cu rotorul este uneori numit lamă sau ventilație, în conformitate cu partea principală, care este similară cu ventilatorul. Masele de aer, care se încadrează pe rotor, schimbați viteza de rotație a lamelor. Acest dispozitiv este măsurat prin viteza aerului în conducte și sisteme de ventilație. Cifrele arată o diagramă a unui anemometru de diferite tipuri. Vântul, care se încadrează pe rotorul (desenul "Nr. 1), duce la mișcarea dintelui, care la rândul său face mecanismul de numărare (figura" A "nr. 2).

Tipuri de anemometre

Uneori dispozitivul este comparat cu vane, pe principiul funcționării sale. Dispozitivul prezintă nu numai viteza vântului cu care rotorul se rotește, ci și direcția fluxului de aer. Această calitate este, fără îndoială, un plus de acest tip de anemometru.

Dispozitiv de cupă

Dispozitivul numit anemometru manual al Cupei a apărut înainte de alte tipuri de dispozitive. Diferă simplitatea dispozitivului. Numele pe care la primit tipul de iminente impendate, care seamănă cu cupele de ceai. Viteza rotației lor este determinată de viteza fluxului de aer.

Rotorul (figura "B" nr 1) constă din patru lame caută într-o direcție. Contorul (figura "B" Nr 2) este ascuns în corpul de plastic.

Rotorul conține axa din metalul conectat prin capătul inferior cu contorul. Mânerele dintr-un fir puternic (figura "B" Nr 3) protejează rotorul din deformarea mecanică.

Termotemometru

Termoemometrul combină funcțiile a două dispozitive

Principiul termoeemomemelor este același cu toate instrumentele acustice - măsoară viteza sunetului și apoi pe baza acestor date transmite informații despre viteza vântului. Acest dispozitiv este electronic și utilizat mai des decât primele două, pe lângă faptul că funcționează pe principiul unui senzor termic acustic prezintă temperatura aerului. Acest anemometru cu ultrasunete și designul său este destul de complex. Prin urmare, este utilizat pentru a controla microclimatul în locurile de muncă în diferite sectoare industriale. Există multe soiuri de termomanmometre digitale portabile - aluat anemometru și așa mai departe.

În plus față de cele trei descrise mai sus, se produce așa-numitul inducție manuală "ARI-49" anemometru. Contorul electric (desenul "B" este montat în ea).

Termeni de utilizare a dispozitivului

Bucurați-vă de dispozitivul în acest fel: fixați la dispozitivul de ridicare, orientați-l în vânt. După zece minute, îndepărtați mărturia. Anemometrele cu mecanică sunt verificate cu calibrarea atașată la dispozitivele, iar inducția prezintă viteza fluxului de aer (în metri pe secundă) pe cadran.

Făcând un anemometru cu propriile mâini

Având în vedere un mic efort și dorință, puteți face posibil să faceți un anemometru de casă acasă. Pentru fabricarea dispozitivului, veți avea nevoie de un recorder vechi veche sau mai degrabă, partea sa este numită unitatea de rotație a capului. De la ea este necesar să eliminați totul prea mult, lăsând cadrul metal al capului rotativ cu axa, parte cu blocul de lagăre și motorul de fixare a pucului. Dispozitivul va măsura viteza medie și severă a vântului.

Facem următoarele:


Setare

Reglați anemometrul mai bine în funcție de mărturia standardului. Dar pentru absența acestui lucru, puteți aplica următoarea metodă. Consolidarea dispozitivului la un mâner din lemn atunci când conduceți o mașină într-un calm. Testarea unui dispozitiv cu o mașină de vitezometru. Dispunând de valoarea razei roții în milimetri, reglați dispozitivul.

Prin conectarea anemometrului vertical la suporterul ciclului, obținem rezultate de măsurare.

Instalare

Instalăm dispozitivul pe polul înalt de pe acoperișul casei. Sperăm că în ce ordine vom face, pregătirea materialelor și uneltelor. Este la modă să faceți coloana vertebrală fără un dispozitiv, iar după instalare. Realizăm cablul la casă și porniți dispozitivul. Cum funcționează poate fi vizualizat în materialul video.

Astfel, știm cum să facem un anemometru cu propriile mâini și ceea ce este necesar pentru acest lucru. Nu contează de ce dispozitivul servește - pentru ventilație, viteză de măsurare sau temperatură. Nu contează ce este - staționară, miniatură sau inducție. Un lucru se poate spune sigur - el aduce beneficii oamenilor.

Anneometru - un dispozitiv conceput pentru a măsura viteza fluxului de aer (gaz). Mai jos este o reluare redusă autorizată a articolului despre cum să faceți un anemometru de casă de la un motor electric. Articolul original este postat pe acest site. .

Dacă veți folosi un generator de vânt în ferma dvs., veți avea nevoie de o evaluare inițială pentru a afla atmosfera vântului la fața locului, unde este asumată moara de vânt. Vă va oferi evaluarea inițială, de bază, care puterea de vânt și generatorul pe care îl puteți construi. Anemometrele comerciale sunt destul de scumpe, astfel încât să puteți face un anemometru. Ca lame ale anemometrului, jumătate din ouăle de Paște din plastic sunt perfect potrivite.

Avem nevoie de un mic motor electric fără perii pe magneți permanenți. Principalul criteriu de selecție este rezistența minimă a rulmenților pe arborele motorului. Deoarece vântul poate fi destul de slab și din cauza frecării, el nu va putea să testeze arborele motorului. În acest caz, am folosit motorul de pe un hard disk vechi defect. ( Astfel de discuri pot fi foarte ieftine pentru a cumpăra pe licitații de internet, colaps de radio locale sau magazine și ateliere implicate în repararea și vânzarea de computere. Website). Cu toate acestea, designul anemometrului este clar din fotografii.

Un astfel de motor este de 12 bobine situate pe stator și rotorul pe care se află magnetul permanent. Pentru a controla un astfel de motor, sunt utilizate controale speciale și drivere. Dar dacă începeți rotirea rotorului, curentul electric va începe pe bobine. Mai mult, frecvența acestui curent va fi în mod natural legată direct de viteza de rotație a rotorului. Și ea, la rândul său, depinde de viteza vântului. Aceste fapte vor fi folosite la construirea unui anemometru de casă.

Principala dificultate în construcții este de a face un rotor exclusiv echilibrat al anemometrului. Motorul în sine este montat pe o bază masivă, iar un disc din plastic gros este atașat la rotorul său. Din ouăle din plastic, am tăiat 3 emisfere complet identice. Cu ajutorul tijelor de oțel sau a știfturilor, fixăm emisfera pe disc, plasându-l cu atenție pe sectoare de 120 de grade. Echilibrarea atentă este efectuată în cameră în care nu există mișcare de vânt cu poziția orizontală a axei anemometrice. Fitul de greutate este efectuat folosind piciorul. Rotorul trebuie să se oprească în orice poziție și nu în același timp.

Pe măsură ce folosim un motor electric complet aleatoriu și morile de vânt de casă, nu știm absolut cum va interacționa cu vântul. Va trebui să ne calibrați singur anemometrul. Și pentru asta trebuie să facem cel mai simplu contor de frecvență. Acesta va converti frecvența la intrarea sa la tensiune sau curent. Schemele astfel de contoare de frecvență pot fi găsite în reviste pentru radio amatori. Cel mai simplu convertor este integratorul obișnuit (filtrul LF) constând dintr-o diodă și condensator. La ieșire, folosim shooter milliammeter. (Scheme aproximative ale unui contor de frecvență simplă, consultați articolul original).

Dacă utilizați orice amplificator în schema contorului de frecvență și hrăniți-l de la baterie, ar trebui să înțelegeți că reducerea tensiunii sale poate influența citirile instrumentului.

Calibrarea anemometrului de casă este cea mai bună cu ajutorul unei mașini. Adevărat, va fi necesar un fel de catarg ca anemometrul să nu cadă în zona aeriană indignă creată de mașină. În caz contrar, mărturia lui va fi foarte distorsionată. Da, iar vitezometrul auto în sine este verificat cu un navigator GPS care arată viteza adevărată a mașinii.

Pentru calibrare, este aleasă o zi fără vânt. Apoi calibrarea poate fi făcută rapid. Dacă vreun vânt suflă, va trebui să mergeți acolo de mult timp și înapoi pe drum, astfel încât viteza vântului a fost adăugată pentru prima dată la viteza de mișcare și apoi dedusă. Și trebuie să calculați orice valori medii. Da, și vântul nu ar trebui să se schimbe. Este dificil și viguros. Prin urmare, este mai bine să așteptați calmul și când treceți pe un drum drept, calibrați rapid anemometrul. Rețineți că vitezometrul ne va arăta km / h, iar viteza vântului este interesată de noi în m / s. Și raportul dintre ele este 3.6. Acestea. Citirile de vitezometru trebuie împărțite la 3.6. Dacă mașina se plimbă la o viteză de 40 km / h, apoi viteza vântului care suflă un anemometru este de 11,12 m / s. La calibrare, este convenabil să utilizați un recorder de voce. Pur și simplu introduceți citirile vitezometrului și dispozitivului, iar la domiciliu, într-o atmosferă relaxată, puteți face o nouă scară pentru anemometru.

Acum, având un anemometru, vom putea colecta informații foarte fiabile despre atmosfera eoliană din zona de vânt. Și acest lucru ne va permite să facem alegerea corectă și în ceea ce privește designul și tipul de vânt de vânt, precum și puterea generatorului.

(Reteling Konstantin Timoșenko).

mob_info.