Саморобний анемометр для вимірювання швидкості вітру "Раніше розвиток дітей" - майстерня -робимо вироби разом з дітьми Саморобний анемометр для метеостанції

Метеостанція побудована на Picaxe мікроконтролер від Revolution Education Ltd і складається з двох основних частин: зовнішній блок, який посилає свої дані кожні 2 секунди, використовуючи передавач на частоті 433МГц. І внутрішній блок, який відображає отримані дані на 20 х 4 РК-дисплеї, а також атмосферний тискщо вимірюється локально у внутрішньому блоці.

Я намагався зберегти дизайн максимально простим і водночас функціональним. Зв'язок пристрою з комп'ютером здійснюється через COM-порт. В даний час на комп'ютері безперервно будуються графіки з отриманих значень, а також відображення значень на звичайних індикаторах. Графіки та показання датчиків доступні на вбудованому веб-сервері, усі дані збережуться і т.ч. можна переглянути дані за будь-який проміжок часу.

Побудова метеостанції зайняла кілька місяців, від розробки до завершення, і загалом я дуже задоволений результатом. Я особливо радий, що мені вдалося збудувати все з нуля за допомогою звичайних інструментів. Мене вона повністю влаштовує, але досконалості межі немає, і особливо це стосується графічного інтерфейсу. Я не зробив жодних спроб комерціалізації метеостанції, але якщо ви думаєте про створення метеостанції для себе, то це добрий вибір.

Вуличні датчики

Датчики використовуються для вимірювання температури, вологості, опадів, напряму та швидкості вітру. Датчики є поєднанням механічних та електронних пристроїв.

Датчик температури та відносної вологості повітря

Вимірювання температури, мабуть, найпростіше. Для цього використовується датчик DS18B20. Для вимірювання вологості було використано HIH-3610, що видає напругу 0.8 - 3.9В при вологості 0% до 100%

Я встановив обидва датчики на невеликій платі. Плата встановлена ​​всередині саморобного корпусу, який запобігає впливу дощу та інших зовнішніх факторів.

Спрощений код для кожного датчика наведено нижче. Точніший код, який зчитує значення з точністю до однієї десятої, показаний на сайті Пітера Андерсона. Його код використовується у остаточному варіанті метеостанції.

Температурний датчик забезпечує точність ± 0.5 °C. Датчик вологості забезпечує точність до ± 2%, тому це не дуже важливо, скільки знаків доступно після коми!

Приклад ділянки програмного забезпечення, що працює на ПК.

Температура

Main: readtemp B.6, b1; read value into b1 if b1 > 127 then neg; test for negative sertxd (#b1, cr, lf); transmit value to PE terminal pause 5000 goto main neg: b1 = b1 - 128; adjust neg value sertxt ("-"); transmit negative symbol sertxt (#b1, cr, lf); transmit value to PE terminal pause 5000 goto main

Вологість

Main: readadc B.7,b1; read humidity value b1 = b1 - 41 * 100/157; change to %RH sertxd (#b1, "%", cr, lf) pause 5000; wait 5 seconds goto main

Розрахунок показань датчика вологості

Розрахунки взято з документації датчика Honeywell HIH-3610. На графіку показано стандартну залежність при 0 °C.

Напруга з датчика вимірюється на вході АЦП (B.7) мікроконтролера Picaxe 18M2. У коді, наведеному вище, значення, яке представлене у вигляді числа від 0 до 255 (тобто 256 значень), зберігається в змінній b1.

Наша схема живиться від 5В, тому кожен крок АЦП дорівнює:
5/256 = 0.0195 ст.

На графіку видно початкове значення АЦП 0.8:
0.8 / 0.0195 = 41

Взявши значення з графіка, нахил графіка (з урахуванням усунення) приблизно:
Напруга виходу/% відносної вологості або
(2.65 - 0.8) / 60 = 0.0308 В% RH
(У документації 0.0306)

Розрахуємо кількість кроків АЦП на 1% вологості:
(В % RH) / (крок АЦП)
0.0308 / 0.0195 = 1.57

% RH = значення з АЦП - зміщення АЦП / (кроки АЦП % RH), або
% RH = значення з АЦП - 41/1.57

Підсумкова формула розрахунок для мікроконтролера виглядатиме: % RH = значення з АЦП - 41*100/157

Захисний корпус

Почніть із розрізання кожної панелі на дві частини. Планки на одній частині будуть міцно прикріплені з двох сторін, а на другій лише з одного боку. Не викидайте ці частини – вони використовуються.

До цілих частин прикріпіть два дерев'яні бруски 20мм х 20мм зверху та знизу, і прикрутіть до них інші частини.

Обріжте одну частину з однією цілою стороною за розміром і приклейте її до внутрішньої сторони однієї зі сторін. Переконайтеся, що планки приклеєні так, що утворюють разом форму. Зробіть це з усіма сторонами.

Вимірювач швидкості та напрямки вітру

Механічна частина

Датчики швидкості та напрямки вітру є поєднанням механічних та електронних компонентів. Механічна частина ідентична обох датчиків.

12мм вставка з фанери (marine ply) знаходиться між трубою із ПВХ та диском із нержавіючої сталі у верхньому кінці труби. Підшипник приклеєний до диска з нержавіючої сталі та утримується нержавіючою пластиною.

Як тільки все буде повністю зібрано та налаштовано, відкриті місцягерметизуються герметиком для водонепроникності.

Інші три отвори на фотографії призначені для лопатей. Лопаті завдовжки 80 мм дають радіус повороту 95мм. Чашки 50 мм у діаметрі. Для них я використав обрізані флакони від одеколону, які мають майже сферичну форму. Я не впевнений у їхній надійності, тому зробив їх легкозамінними.

Електронна частина

Електроніка для датчика швидкості вітру складається лише з транзисторного ключа, фотодіода та двох резисторів. Вони монтуються на невеликій круглій ПП діаметром 32мм. Вони встановлені в трубі вільно, щоб волога у разі її потрапляння стікала вниз, не зачіпаючи електроніку.

Анемометр - один із трьох датчиків, який необхідно відкалібрувати (два інших – лічильник опадів та датчик атмосферного тиску)

Фотодіод забезпечує два імпульси за один оберт. У простій «послідовній» системі, до якої я прагнув (всі датчики опитуються по черзі), повинен бути компроміс між довжиною часу, що витрачається на опитування кожного датчика (в даному випадку, підрахунок імпульсів) та чуйність системи в цілому. В ідеалі, на повний цикл опитування всіх датчиків повинно піти не більше 2-3 секунд.

На фото вище перевірка датчика за допомогою двигуна з регульованими оборотами.

; LCD-specific commands shown in blue hsersetup B9600_4, %10000; Use LCD Pin 1, no hserin hserout 0, (13): pause 100; Initialize LCD hserout 0, (13): pause 100 hserout 0, (13): pause 100 pause 500 hserout 0, ("ac1", 13); Clear display pause 50 hserout 0, ("acc", 13) hserout 0, ("ac81", 13, "adcount: ", 13) ; Print the headings pause 10 hserout 0, ("ac95", 13, "adpulsin: ", 13) ; Print the headings pause 10 do count C.2, 1000, w0; Count the pulses (two per rev) w1 = 0 for b8 = 1 to 2; Measure pulse length twice pulsin C.2, 1, w2; per rev and... w1 = w1 + w2 next w1 = w1 / 2; ...calculate average hserout 0, ("ac89", 13, "ad ", #w0, " ", 13) ;Print the count value hserout 0, ("ac9d", 13, "ad ", #w1, " ", 13) ;Print the pulse-length value pause 100 loop

Я хотів відкалібрувати його під час руху на автомобілі, але на це не було часу. Я живу в відносно плоскій місцевості з аеропортом за кілька кілометрів поруч, тому я калібрував датчик, порівнюючи мої показання швидкості вітру зі свідченнями аеропорту.

Якби ми мали 100% ККД і лопаті крутилися б зі швидкістю вітру, то:
Радіус ротора = 3.75"
Діаметр ротора = 7.5" = 0.625 фута
Довжина кола ротора = 1.9642 фута

1 фут/хв = 0.0113636 м/год,
1.9642 фут/хв = 1 об = 0.02232 м/год
1 м/год = 1/0.02232 про

1 м/год = 44.8 про
? м/год = об/44.8
= (про/хв * 60) / 44.8

Оскільки за поворот виходить два імпульси
? м/год = (імпульсів за секунду * 30) / 44.8
= (імпульсів за секунду) / 448

Датчик напряму вітру – механічна частина

У датчику напрямку вітру, замість алюмінієвої пластини використовується магніт, а замість оптоелектронного вузла – спеціальна мікросхема AS5040 (магнітний енкодер).

На фото нижче показано 5мм магніт, встановлений на торці центрального гвинта. Вирівнювання магніту щодо мікросхеми дуже важливе. Магніт повинен бути точно центром на висоті близько 1мм над мікросхемою. Як тільки все буде точно вирівняно, датчик працюватиме правильно.

Датчик напряму вітру - електронна частина

Існують різні схемидля виміру напряму вітру. В основному вони складаються або з 8 герконів розташованих під кутом 45 градусів з інтервалом магніту, що обертається, або потенціометра який може повністю прокручуватися.

Обидва методи мають свої переваги та недоліки. Основною перевагою є те, що вони обидва прості у реалізації. Недоліком є ​​те, що вони підлягають зношуванню - особливо потенціометри. Альтернативою використанню герконів буде використовувати датчик Холла для вирішення механічного зносу, але вони, як і раніше, обмежуються 8 різними позиціями... В ідеалі, я хотів би спробувати щось інше і в кінцевому рахунку вирішив про - поворотний магнітний датчик IC. Хоча це пристрій для поверхневого монтажу (якого намагаюся уникати), він має ряд переваг, які роблять її використання привабливим!

Він має кілька різних форматів виведення, два з яких найбільше підходить для нашої мети. Найкраща точність досягається за допомогою інтерфейсу SSI. AS5040 видає імпульси завдовжки від 1 мкс при 0° та до 1024 мкс при 359,6°

Перевірка калібрування датчика напряму вітру:

Do readadc10 B.3, w0 ;Read from AS5040 magnetic bearing pause 100 w0 = w0 * 64/182; Convert to 0 - 360 (degrees) debug; Display in Prog/Edit debug window loop

Вимірник рівня опадів

Наскільки це можливо, я зробив дощомір із пластику та нержавіючої сталі, основа зроблена з алюмінію товщиною 3 мм для жорсткості.

У вимірнику рівня опадів є два цебра. Кожне відерце вміщує до 6 мл води до його зміщення центру тяжкості, яке змушує його вилити воду в ємність та подати сигнал на датчик. Коли цебро перекидається, алюміній прапор проходить через оптичний датчик, що посилає сигнал на електроніку зовнішнього блоку.

На даний момент, я залишив його з прозорими стінками (бо цікаво спостерігати це працює!). Але я підозрюю, що потрібно пофарбувати його білою фарбою, щоб відбивати тепло влітку, щоб уникнути випаровування. Я не міг знайти маленьку вирву, тому довелося зробити її самому. Зверніть увагу на дріт усередині лійки та по центру ринви. Це допоможе зупинити поверхневий натяг води у вирві та допомагає капати воді. Без дроту, дощ мав би тенденцію до "вивороту", і його траєкторія була б непередбачуваною

Крупним планом оптодатчики:

Електронна частина дощеміру

Через випадковий характер роботи датчика, програмне переривання в мікроконтролері зовнішнього блоку, здавалося, логічний підхід. На жаль, деякі команди програми відключають механізм переривань у той час, як вони виконуються, т.ч. Імовірність, що сигнал прийде в нікуди. З цих причин дощомір має власний мікроконтролер 08М Picaxe.

Використання окремого чіпа дозволяє використовувати його для створення достатньо точної 1-годинної затримки для того, щоб рахувати відра на годину.

Калібрівка

Picaxe 18м2 отримує поточну кількість цеберок на годину і виводить його на дисплей та комп'ютер.

Як відправна точка, я використовую такі дані:
Вирва діаметрів 120мм та ємність площею 11,311мм2
1 мм дощу = 11,311 мм3 або 11,3 мл.
Кожне цебро це 5,65 мл. Таким чином, 2 відра 2 х 5,65 = 11,3 мл (або 1 мм) опадів. Одне відро = 0,5 мм опадів.

Для звіряння, я купив дешеву склянку для вимірювання опадів.

Для наведеної вище схеми і схеми 08М Picaxe для датчика використовується одна і та ж топологія друкованої плати. Пристрій живиться від акумулятора 12V 7Ah через стабілізатор 7805.
Я використовував набір RF Connect kit для бездротового зв'язку на 433 МГц. Комплект містить кілька спеціально запрограмованих PIC контролерів. Комплект бездротових модулів під час випробувань зарекомендував себе досить надійний.

На ПП встановлений 08М Picaxe та 18м2. Кожен має свій власний роз'єм програмування. Окремі роз'єми, кожен зі своїми +5 В, призначені для кожного датчика - за винятком температури та вологості.

Зверніть увагу, що я намалював креслення Paintshop Pro тому я не можу гарантувати точність відстані між висновками.

Внутрішній блок

У внутрішньому блоці використовують 18м2 Picaxe, датчик тиску і РК-дисплей. Також є стабілізатор напруги 5В.

Датчик тиску

Після кількох невдалих спроб я зупинився на MPX4115A. Хоча інші датчики мають діапазон виміру трохи більший, вони важкодоступні. Крім того, інші датчики зазвичай працюють від 3,3В і вимагають додатковий стабілізатор. MPX4115A видає аналогову напругу від 3,79 до 4,25В пропорційно тиску. Хоча це майже достатній дозвіл для виявлення 1 мбар зміни тиску після деякого обговорення на форумі, я додав АЦП MCP3422. Він може працювати в 16-бітному режимі (або вище) порівняно з 10-бітним режимом Picaxe. MCP3422 може бути пов'язаний (як у нашій схемі) у диференціальний режим з аналоговим входом від датчика. Основною перевагою є те, що це дозволяє коригувати вихід датчика, тим самим легко компенсувати помилки MPX4115A та забезпечити простий спосіб калібрування датчика.

MPC3422 насправді має два диференціальних входу, але так як один не використовується вони замкнуті. Вихід з MCP3422 має інтерфейс I2C і з'єднується з SDA та SCL контактам на 18м2 Picaxe – висновки B.1 та B.4 відповідно. На мій погляд, єдиний недолік у використанні MCP3422 в тому, що це невеликий пристрій для поверхневого монтажу, але я його припаяв до адаптера. На додаток до I2C інтерфейсу MCP3422 18м2 просто обробляє дані, що надходять з 433МГц бездротовий приймач, виводить дані на дисплей і передає дані на ПК. Щоб уникнути помилок внутрішнього блоку коли комп'ютер не працює, немає жодних відповідей від ПК. Внутрішній блок передає дані та йде далі. Він передає дані приблизно 2-секундним інтервалом, щоб втрати даних швидко компенсувалися наступного разу. Я використовував незадіяні порти на 18м2 для підключення кнопки передньої панелі. Перемикач S1 (вхід С.5) використовується для увімкнення підсвічування РК-дисплея. Перемикач S2 (вхід C.0) скидає значення тиску (мбар) на РК-дисплеї. Перемикач S3 (вхід C.1) перемикає опади, що відображаються на РК-дисплеї між загальним у попередній годині та поточними. Кнопки необхідно утримувати більше 1 секунди для їхньої реакції.

Складання внутрішнього блоку

Як і в друкованій платі для зовнішнього блоку, я намалював макет вручну за допомогою Paintshop Pro, тому в відстанях можуть бути помилки

Плата трохи більша, ніж це необхідно, щоб вписатися в пази в алюмінієвому корпусі.
Я свідомо зробив роз'єм для програмування трохи "всередину" від краю плати, щоб запобігти його дотику до корпусу. Виріз для РК-дисплея проводиться висвердлюванням і припасуванням до точних розмірів.

На фото показано все, що вже встановлене в корпус.

Штирки на платі роблять складним її встановлення в корпус, тому мені довелося відпаяти їх і припаяти дисплей до плати проводами.

Зовнішній блок – код Picaxe

; ================================================== ================ ; Main 18M2 код для Picaxe Weather Station Outdoor (Transmitter) Unit ; Decimal precision Humidity & Temperature routines, ; copyright, Peter H Anderson, Baltimore, MD, Jan, "04 ; ; ================================== ================================ #Picaxe 18M2 Symbol HValue = w0 Symbol HighWord = w1 Symbol LowWord = w2 Symbol RH10 = w3 Symbol HQuotient = b0 Symbol HFract = b1 Symbol X = b0 Symbol aDig = b1 Symbol TFactor = b2 Symbol Tc = b3 Symbol SignBit = b4 Symbol TValue = w4 Symbol TQuotient = b10 Symbol TFract = b11 Symbol TempC_100 = w6 Symbol MagDir = w7 Symbol MagDirLo=b14 Symbol MagDirHi=b15 Symbol WindSpeed=w8 Symbol WindSpeedLo=b16 Symbol WindSpeedHi=b17 Symbol ThisHour=b18 Symbol LastHour=b19 Symbol RainRequest=b20; 3 Symbol Speed ​​= B.0 do ; Read Humidity ReadADC10 HumidRaw, HValue; + LowWord RH10 = RH10 - 258 pause 100; Get temperature SignBit = TValue / 256 / 128 якщо SignBit = 0 then positive ; It's negative so TValue = TValue ^ $ffff + 1 ; two comp positive: TempC_100 = TValue * 6 ; TC = value * 0.0625 TValue = TValue * 25 / 100 TempC_100 = TempC_1 = TempC_100 % 100 / 10 X = TQuotient / 10; Calculate temperature correction factor for Humidity if SignBit = 0 then SignBit = " " else SignBit = "-" endif if SignBit = "-" then X = 4 - X else X = X + 4 endif GoSub TempCorrection ; compensate RH HQuotient = RH10 / 10 ; Calculate RH Quotient and... Then , Under range HQuotient = 0 HFract = 0 endif ; 30th cycle (approx 1 minute), реакція терміну гальмування даних від 08M inc RainRequest if RainRequest >= 30 then high C.1 serin , C.0, N2400, ("r"), LastHour, ThisHour ; Rain counters low C.1 RainRequest = 0 endif; Send data to Indoor Unit в 8 byte блоках; Перші групи потрібні не calibration so calculations are done here first. ; Second group will need "tweaking" - more easily done at indoor end. serout C.2, N2400, ("t", SignBit, TQuotient, TFract, HQuotient, HFract, "A", "B") pause 100 serout C.2, N2400, ("m", MagDirHi, MagDirLo, WindSpeedHi, WindSpeedLo, LastHour, ThisHour, "C") Loop TempCorrection: Lookup X, (87, 89, 91, 93, 95, 97, 99, 101, 103, 106, 108, 110, 113, 116, 1 ), TFactor "-40 -30 -20 -10 0 10 20 30 40 50 60 70 80 90 100 110 120 if TFactor< 100 then aDig = TFactor / 10 RH10 = RH10 * aDig / 10 TFactor = TFactor % 10 aDig = TFactor RH10 = RH10 * aDig / 100 + RH10 else TFactor = TFactor % 100 aDig = TFactor / 10 RH10 = RH10 * aDig / 10 + RH10 TFactor = TFactor % 10 aDig = TFactor RH10 = RH10 * aDig / 100 + RH10 endif return

Використання пам'яті = 295 байт із 2048

Лічильник кількості опадів - 08M код

#picaxe 08M Symbol ThisHour = b2; Store the current sensor count in b2 Symbol LastHour = b3; Використовуйте попередній термін" count в b3 ;Hardware definitions Symbol DataRequest = pin3 Symbol BucketSensor = pin4 setint %00010000, %00010000 ; ; Update Last hour's count with ThisHour = 0 ; current hour & reset current hour goto main; Do the next hour interrupt: setint %00010000, %00010000; Re-instate interrupt if DataRequest = 1 then ; Чи був interrupt from the 18M2 ? serout 2, N2400, ("r", LastHour, ThisHour); Yes, se send previous hour's count & curent count. do: loop while DataRequest = 1 ; букет-тип count do: loop while BucketSensor = 1 ;

Внутрішній блок – код Picaxe

;================================================= =========================== ; Main Indoor (Receiver) Program. ; ; Receives data from outdoor unit, displays on LCD and passes data on to PC ; Також міри barometric pressure (завжди "matherp") ;===================================== ======================================= #PICAXE 18M2; Variable Definitions (b2 to b5 є використані для mBar code, коли вони існують) symbol Quotient = b2 symbol Fract = b3 symbol SignBit = b4 symbol Humidity = b5 symbol HFract = b14 symbol Dir = w5 symbol DirLo = b10 symbol DirHi = b symbol Speed=w3 symbol SpeedLo=b6 symbol SpeedHi=b7 symbol RainCountThisHour=b12 symbol RainCountLastHour=b13 symbol LCDRainWhole=b21 symbol LCDRainFract=b22 symbol LastOrThis=b23; MCP3422 ADC variables symbol mb900 = 17429; ADC reading for 900Mbar, тоді add 72.288 counts на mbar symbol adj0 = 72 symbol mBarADCValue = w0 symbol adj1 = b4 ; used to add 1 count every 4 mbar symbol adj2 = b5; used to add 1 count every 24 mbar symbol mBar = w4; Housekeeping variables symbol lastmbar = w8; Remember previous mBar reading symbol RiseFall = b18; Indicator for pressure rising or falling (up arrow or down arrow) символ active = b19 ; Telltale shows activity на LCD screen symbol LCD_Status = b20 ; Чи є LCD Backlight on or off (0 or 1)? ; Hardware Definitions symbol Wireless = C.7; Incoming connection from Wireless receiver/decoder symbol Computer = C.2 ; outgoing serial connection to computer symbol LCD = pinC.5; Front-panel button to blank / unblank LCD backlight symbol ClearRiseFall = pinC.0 ; Front-panel button to clear pressure "Рисунок / falling" індикатор symbol LastOrThisSwitch = pinC.1 ; Front-panel button to display current or previous hour"s rainfall Init: hsersetup B9600_4, %10000 ; Use LCD Pin 1, no hserin ; ByVac 20x4 IASI-2 Serial LCD hi2csetup i2cmaster, %11010000, i2cfast, i2cbyte ; Initialize I2C for MCP3422 ADC chip.hi2cout (%00011000) ;set MCP3422 for 16 bit continuous conversion pause 500 hserout 0, (13) : pause 100 ; hserout 0, ("ac50", 13) hserout 0, ("ad", 32, 32, 32, 32, 49, 42, 36, 32, 13) Define down arrow character (char 10) ac1", 13); Clear display pause 50 hserout 0, ("acc", 13) ; Hide cursor hserout 0, ("ac81", 13, "ad", $df, "C", 13) ; Print the headings hserout 0, ("ac88", 13, "admBar", 13) hserout 0, ("ac8e", 13, "adRH %", 13) hserout 0, ("acd5", 13, "ad", "dir" , 13) ; Print footings hserout 0, ("acdc", 13, "ad", "mph", 13); hserout 0, ("ace3", 13, "ad", "mm", 13) lastmbar = 0 Initialize variables LastOrThis = "c" ;========================================= ================================= ; Main Loop ;================================================ =========================== main: ; Check if a front-panel switch is pressed. The Picaxe interrupt mechanism is; майже permanentne disabled due to the large number of serin and serout commands ; so sprinkling the program with "gosub switches" to check the switch status is more ; ефективне, що interrupts. gosub switches; Get first group of values ​​from outdoor unit via 433MHz radio link. serin Wireless, N2400, ("t"), SignBit, Quotient, Fract, Humidity, HFract, b15, b15; Флеш "telltale" на LCD для конкретних дій і успішний "серін" від бездротовий. gosub telltale; Display перша група на LCD hserout 0, ("acc0", 13) hserout 0, ("ad", SignBit, #Quotient, ".", #Fract, " ", 13) hserout 0, ("acce", 13) hserout 0, ("ad", #Humidity,".", #HFract, " ", 13) gosub switches ; Send first group to computer COM port; Всі групи мають start identifier, data and an end identifier: ; Start = "xS", End is "xE" eg Wind Start is WS, Wind End is WE ; Multiple data є відокремленим до single space character. serout Computer, N2400, ("TS", SignBit, #Quotient," ", #Fract, "TE"); Temperature serout Computer, N2400, ("HS", #Humidity, " ", #HFract, "HE") ; Humidity; Check switches again and at regular intervals throughout program. gosub switches; Get second group of values ​​from outdoor unit radio link. serin Wireless, N2400, ("m"), DirHi, DirLo, SpeedHi, SpeedLo, RainCountLastHour, RainCountThisHour, b15 gosub telltale Speed ​​= Speed ​​* 300 / 448; Estimated conversion from pulses/sec to mph Dir = Dir * 64 / 182 ; Convert 0-1023 to 0-359 degrees; Для того, щоб переконатися, що райдужний хребет має бути calibrated by adjusting the ; механічні stops на tipping bucket so that 1 tip is 0.5 mm rain. if LastOrThis = "c" then ; Вирішує те, що для відтворення попередньої години з LCDRainWhole = RainCountThisHour / 2 ; LCDRainFract = RainCountThisHour * 5 // 10 else LCDRainWhole = RainCountLastHour / 2; LCDRainFract = RainCountLastHour * 5 // 10 endif; Виконати другу групу до LCD hserout 0, ("ac95", 13) hserout 0, ("ad", #Dir, " ", 13) hserout 0, ("ac9c", 13) hserout 0, ("ad", # Speed, " ", 13) hserout 0, ("aca1", 13) hserout 0, ("ad", LastOrThis, " ", #LCDRainWhole, ".", #LCDRainFract, " ", 13) ; Виконати першу групу до комп'ютера COM port serout Computer, N2400, ("WS", #Dir," ", #Speed, "WE") ; Wind serout Computer, N2400, ("RS", #RainCountLastHour," ", #RainCountThisHour, "RE"); Rain gosub switches; Відповідь на "Matherp" на Picaxe forum для mbar code loop: ; Measuring atmosperic pressure with MPX4115A ; Analogue to digital conversion using a MCP3422; MPX output to V+, 2. 5V to V-; ADC in 16 bit mode hi2cin (b1, b0, b2); Перейти в ADC reading and status byte from MCP3422 adj1 = 0 adj2 = 0 w1 = mb900 mbar = 900 do while mBarADCValue > w1 ; mBarADCValue = w0 = b1:b0 inc mbar w1 = w1 + adj0 inc adj1 if adj1 = 4 the inc inc adj2 w1 = w1 + 1 adj1 = 0 endif if adj2 = 6 then w1 = w1 + 1 adj2 = 0 endif loop gos telltale; Провести pressure до комп'ютера COM port serout Computer, N2400, ("PS:", #mbar, "PE") ; Initialize попередній pressure reading (lastmbar) if not already set if lastmbar = 0 then lastmbar = mbar RiseFall = " " endif ; Натисніть , щоб зняти або зменшити, якщо presspress has changed if mbar > lastmbar the RiseFall = "^" ; ^ lastmbar = mbar endif if mbar< lastmbar then RiseFall = 10 ; Custom LCD character. Down arrow lastmbar = mbar endif hserout 0, ("acc7", 13) hserout 0, ("ad", RiseFall, #mbar, " ",13) gosub telltale goto main ; Check if one of the front panel buttons is pressed. switches: if LCD = 1 then ; LCD Backlight on/off Button is pressed if LCD_Status = 0 then ; Backlight is on so... hserout 0, ("ab0", 13) ; Turn it off LCD_Status = 1 else hserout 0, ("ab1", 13) ; Else turn it on. LCD_Status = 0 endif do: loop while LCD = 1 ; Don"t return while button is pressed endif if ClearRiseFall = 1 then ; Pressure rise/fall button is pressed RiseFall = " " ; Clear indicator and... hserout 0, ("acc7", 13) ; ... update display. hserout 0, ("ad", RiseFall, #mbar, " ",13) do: loop while ClearRiseFall = 1 endif if LastOrThisSwitch = 1 then ; Rain Previous Hour / Last Hour button. if LastOrThis = "c" then LastOrThis = "p" LCDRainWhole = RainCountLastHour / 2 ; Recalculate values and re-display to LCDRainFract = RainCountLastHour * 5 // 10 ; give visual confirmation of button-press else LastorThis = "c" LCDRainWhole = RainCountThisHour / 2 ; LCDRainFract = RainCountThisHour * 5 // 10 endif hserout 0, ("aca1", 13) hserout 0, ("ad", LastOrThis, " ", #LCDRainWhole, ".", #LCDRainFract, " ", 13) do: loop while LastOrThisSwitch = 1 endif return ; Flash "tell-tale" on LCD display to show activity telltale: if active = "*" then active = " " else active = "*" endif hserout 0, ("ac80", 13, "ad", active, 13) return

Використання пам'яті = 764 байт із 2048

Програмне забезпечення для ПК

Програмне забезпечення, що працює на ПК було написано з використанням Borland Delphi 7. Воно досить примітивне в його нинішньому вигляді, але це принаймні показує зв'язок Picaxe з комп'ютером.

Графіки можуть бути вибрані для показу в період 1:00 або 12:00. Графіки можна прокручувати вперед-назад за допомогою мишки. Вони можуть бути збережені. Для цього необхідно клацнути по них правою кнопкою миші та вказати ім'я та файл значення. Можна налаштувати обмежений набір даних APRS, що записуються раз на хвилину на один рядок файлу APRS.TXT і які зберігаються в тій же папці, де знаходиться Weather.exe. Відзначу, що температура в градусах за Фаренгейтом і опади в 1/100ти на дюйм.

Список радіоелементів

Позначення Тип Номінал Кількість ПриміткаМагазинМій блокнот
Датчик температури та відносної вологості повітря
Датчик температури

DS18B20

1 До блокноту
Датчик вологостіHIH-36101 До блокноту
Резистор

4.7 ком

1 До блокноту
Вимірювач швидкості та напрямки вітру
ФототранзисторІЧ1 До блокноту
СвітлодіодІЧ1 До блокноту
Резистор

220 Ом

1 До блокноту
Резистор

4.7 ком

1 До блокноту
Магнітний енкодер1 До блокноту
Електролітичний конденсатор10 мкФ4 До блокноту
Конденсатор100 нФ1 До блокноту
Резистор

4.7 ком

1 До блокноту
Резистор

10 ком

1 До блокноту
Вимірник рівня опадів
МК PICAXE

PICAXE-08M

1 До блокноту
Випрямний діод

1N4148

2 До блокноту
Конденсатор100 нФ1 До блокноту
Резистор

4.7 ком

1 До блокноту
Резистор

10 ком

4 До блокноту
Резистор

22 ком

1 До блокноту
Резистор

220 Ом

2 До блокноту
СвітлодіодІЧ1

Якось зіткнувся з питанням, як можна визначити, чи є вітер у тому місці, де він живе. Таке питання виникло через те, що він хотів поставити вітряк для генерації електрики. За допомогою цього хитромудрого пристрою можна зробити виміри, як часто буває вітер, з якою середньою швидкістю він дме і так далі. В якості основи для збору та обробки інформації лежить плата Arduino.

Матеріали та інструменти для виготовлення анемометра:
- Шматок квадратної труби;
- болгарка;
- зварювання;
- Підшипник;
- Розгортка;
- Цвяхи;
- Фарба;
- Світлодіодіодно-фототранзисторний датчик (можна витягнути з принтера);
- Схема Arduino;
- Мінімальний набір інструменту.

Процес виготовлення:

Крок перший. Виготовляємо датчик анемометра
Для виготовлення датчика потрібно взяти шматок квадратної труби і потім у ній вирізати віконце, через нього буде відбуватися установка начинки. Усередині цієї труби потрібно приварити металеву пластину, вона виступатиме як утримувач підшипника. Далі приварюється ще одна пластина для фіксування нижнього підшипника.


Далі заготовка затискається в лещата і діаметром свердла на 0.5 мм менше, ніж діаметр підшипника в нижній кришці і в середині свердлиться отвір. Обидва вони потрібні для підшипників. Щоб підшипники стали на місця з натяжкою, розмір отворів підганяється розгорткою. Після того, як підшипники були встановлені, в них був вставлений цвях 100-ка. У середині віконця на нього надівається пластмасова шайба з чотирма прорізами. Знизу цвяха було нарізано різьблення і потім на цю вісь була накручена крильчатка.

Крок другий. Процес виготовлення крильчатки
Щоб виготовити крильчатку, потрібно взяти гайку і приварити до неї електродом на 2мм три цвяхи. Кінці цвяхів обрізаються, і ними нарізається різьблення. Потім на кінці надягають половинки від м'ячика.

Як тримач до корпусу був приварений шестигранний пруток із нержавіючої сталі. А щоб корпус не іржавів, він був покритий білою емаллю.




Щоб датчик міг прочитувати інформацію, потрібна шайба з прорізами. Автор дістав її зі старої кулькової комп'ютерної мишки. Коли проріз проходить перед світлодіодно-фототранзисторним датчиком, він посилає сигнал електроніці.

Щодо лопатей крильчатки, то вони спершу були виготовлені з тенісних м'ячиків. За такого розміру лопатей крильчатка заводиться за вітру від 5 м/с. Щоб зробити крильчатку чутливішою, були придбані м'ячики діаметром 55 мм, у такому разі крильчатка починає крутитися вже за м/с. При цьому вимір ведеться до 22 м/с.

Крок третій. Електронна частина
Як електронна схема автор спершу використовував саморобну ЛУТ схему з додаванням зеленої максі з Китаю. Але система не могла показувати швидкість вітру за метри/секунду. Вона лише відображала кількість обертів.







На даний момент йде складання схеми на Arduino. Принцип роботи анемометра автора такий, як і комп'ютерної мишки. Потрібно тепер лише поєднати дві схеми.

Вирішили передати імпульси з фототранзистора на Arduino, при цьому схема стала сприймати такі сигнали як натискання на кнопку. Щоб отримати швидкість вітру, потрібно просто порахувати, скільки йде натискань на кнопку протягом певного часу, скажімо, за секунду. Однак не все так просто, щоб перевести частоту обертання крильчатки у швидкість руху вітру м/с, потрібна спеціальна формула. Їй автор із задоволенням ділиться.

Анемометр – вимірювач швидкості вітру

Нарешті, справа дійшла і до анемометра. Маючи досвід виготовлення вже трьох вітрогенераторів, я так і не знаю точно на якому вітрі і скільки дають мої вітряки. Зараз лише один вітрогенератор у строю, мій найвдаліший, хоч і зібраний весь ”на коліні”. Я приблизно і уявляю силу вітру і можу відрізнити вітер в 5 м/с від 10 м/с, але все-таки хочеться точно знати швидкість вітру щоб визначати потужність вітрогенератора.

Кілька днів час від часу думав з чого-небудь зробити анемометр, але з мотлоху, наявного будинку поки нічого розумного не вимальовувалося. Знайшов два маленькі моторчики від DVD плеєра, але вони щось надто крихітні і лопаті до тонкого валу важко придумати.

Потрапив мені на очі автомобільний вентилятор, такі у вантажних авто ставлять зазвичай. Ось його та я й замучив. Розібрав та дістав моторчик. З гвинта зламав лопаті і залишилася лише основа – центральна частина, яка на вал надівається. Далі думав якісь лопаті до нього приробити, пробував і денці пластикових пляшок і банки консервні, але все це мені не подобалося.

Потім знайшов шматок ПВХ трубидіаметром 5см, і довжиною 50 см. З неї зробив 4 лопаті, просто порізав трубу вздовж на дві половинки, і половинки, кожну на дві частини, вийшло 4 лопаті. В основі, що залишилося від рідного гвинта просвердлив 4 отвори для кріплення лопатей, так само і в лопатях зробив 4 отвори. Усю цю справу скрутив на болтики і вийшов чотири лопатевий гвинт - савоніус (перша "серйозна" вертикалка).

Ну а далі знайшов дроти потрібної довжини, зростив метром 5 антенного кабелю і 8 метрів звичайного. дроти відразу під'єднав щоб заміряти параметри з урахуванням довжини дроту, так як дані можуть відрізнятися якщо робити виміри на метровому дроті, або на 13 м.

Потім знайшов шматок металевої трубки довжиною близько 80-90 см, її зігнув буквою Z і примотав моторчик. Цією трубкою анемометр кріпитиметься до щогли. Тут нічого складного можна використовувати будь-який підручний матеріал.

Ну а далі, як зібрав повністю анемометр, я щоб його відкалібрувати встановив на свій мотоцикл. Нижче на фото можна бачити, як це зроблено, все примітивно і просто. На дзеркало приматах ізолентою мильтиметр, загалом абияк усе закріпив, щоб звільнити руки для керування мотоциклом.

Цей осінній день дуже зручний через майже повну відсутність вітру, що до речі і послужило швидкої збірки анемометра, не пропадати-таки такому дню. На асфальт виїжджати не хотілося, бо з незрозумілою штуковиною спереду мотоцикла я б привертав до себе увагу, тому вирішив проїхатися по полях уздовж лісопосадок.

Катався туди сюди та в різних напрямках і записував у телефон показання мультиметра за різних швидкостей руху. Стартував анемометр зі швидкості 7 км/год, і я поступово відкотив туди сюди на різних швидкостях починаючи з 10 км/год і максимальна 40 км/год, можна було й більше, але ґрунтові дороги дуже не рівні і сильно не розженешся.

Після покатушок намалювалися такі дані. Мультиметр показав при 10км/с =0.06V при 20км/ч=0.12V, при 30=0.20V, при 40км/ч=0.30V.

Потім за допомогою калькулятора я вирахував свідчення проміжних значень швидкості вітру.

Вольти-швидкість вітру м/с.

Дані вище 11 м/с обчислив намалювавши на аркуші паперу графік зростання напруги залежно від швидкості вітру, що плавно продовжив до 15 м/с. Цього ж дня, а точніше вже ввечері встановив анемометр на щоглу до вітрогенератора. Опустив вітряк і примотав нижче анемометр. Трубу тимчасово притягнув на дріт і обмотав додатково ізолентою, вийшло начебто міцно. Ну а далі підняв усю цю справу на місце і тепер поряд з вітрогенератором на щоглі тепер стоїть анемометр, який стартує при 3м/с і справно показує швидкість вітру.

Нижче на фото вже піднятий вітрогенератор із закріпленим анемометром. Більш докладно я не став фотографувати, бо там нічого складного немає, і повторювати нічого. Анемометр зібрати можна з будь-чого, з практично будь-якого моторчика. Калібрувати, звичайно, зручніше на автомобілі. Там і зручне, і зручніше, і спідометр точніше. Але я ось вирішив на мотоциклі, і теж начебто вийшло непогано, сподіваюся, якщо спідометр і бреше, то не набагато.

Поки що все, ця перша версія цього анемометра, і я думаю не остання. А поки дочекаюся вітру і дізнаюся, що дає мій вітрогенератор. Та й доповню цю статтю цими даними. А може, щось доведеться переробляти.

Доповнення

Не навантажений нічим гвинт анемометра різко реагує кожен порив і зміна швидкості вітру. А навантажений гвинт цього вітрогенератора все-таки запізнюється в реакціях, і тому не синхронні дані в показаннях. Сьогодні вітер 3-7 м/с, анемометр, правда, ловив пару поривів до 10м/с, але вони тривали менше секунди і вітрогенератор просто не впівав на них реагувати.

Через деякий час спостережень намалювалися деякі середні значення сили струму від вітрогенератора за певного вітру. Стартує гвинт із 3,5-4 м/с, зарядка 0.5А на 4м/с, 1А на 5м/с, 2,5А на 6м/с, 4А на 7м/с, 5А на 8м/с. Ці дані усереднені, так як аналоговий амперметр стот, і я можу помилятися до 0.5А у показаннях сили струму від вітрогенератора.

Анемометр своїми руками
Нарешті я зробив анемометр і відкалібрував катаючись на мотоциклі. За основу взяв автомобільний ветилятор та з підручних матеріалів зібрав анемометр.


Вимірювач швидкості вітру своїми руками

Постало завдання зібрати для одного проекту анемометр, щоб знімати дані можна було на комп'ютері за інтерфейсом USB. У статті йтиметься більше про сам анемометр, ніж про систему обробки даних з нього:

1. Компоненти

Отже, виготовлення виробу знадобилися такі компоненти:
Кулькова миша Mitsumi - 1 шт.
М'ячик для пінг-понгу – 2 шт.
Шматок оргскла відповідного розміру
Мідний дріт перерізом 2,5 мм2 - 3 см
Стрижень від кулькової ручки- 1 шт.
Паличка від цукерки чупа-чупс – 1 шт.
Кліпса для кабелю – 1 шт.
Порожня латунна барило 1 шт.

2. Виготовлення крильчатки

До латунного барила були припаяні 3 шматки мідного дроту завдовжки 1 см кожен під кутом 120 градусів. В отвір барила я припаяв стійку з китайського плеєра з різьбленням на кінці.

Трубочку від цукерки розрізав на 3 частини завдовжки близько 2 див.

Розрізав навпіл 2 кульки і за допомогою дрібних шурупів з того ж плеєра та полістирольного клею (клейовим пістолетом) прикріпив половинки кульки до трубочок від чупа-чупса.

Трубочки з половинками кульки надів на припаяні шматки дроту, зверху все закріпив клеєм.

3. Виготовлення основної частини

Несучим елементом анемометра є металевий стрижень від кулькової ручки. У нижню частину стрижня (куди вставлялася пробка) я вставив диск від мишки (енкодер). У конструкції самої мишки Нижня частинаенкодера упиралася в корпус мишки утворюючи точковий підшипник, там було мастило, тому енкодер легко крутився. Але потрібно було зафіксувати верхню частину стрижня, для цього я підібрав відповідний шматок пластику з отвором точно по діаметру стрижня (такий шматок був вирізаний із системи висунення каретки CD-ROMa). Залишалося вирішити проблему, щоб стрижень з енкодером не випадав з точкового підшипника, тому на стрижні безпосередньо перед утримуючим елементом я напаяв кілька крапель припою. Таким чином, стрижень вільно крутився у утримуючій конструкції, але не випадав із підшипника.

Причина, за якою була обрана схема з енкодером, наступна: всі статті про саморобні анемометри в Інтернеті описували їх виготовлення на базі двигуна постійного струму від плеєра, CD-ROMa або якогось виробу. Проблема з такими пристроями у перших їх калібруванні і малої точності при малій швидкості вітру, тоді як у других - в нелінійної характеристиці швидкості вітру стосовно вихідному напрузі, тобто. Для передачі на комп'ютер є певні проблеми, потрібно прораховувати закон зміни напруги чи струму від швидкості вітру. При використанні енкодера такої проблеми немає, оскільки залежність виходить лінійною. Точність висока, тому що енкодер дає близько 50 імпульсів на один оберт осі анемометра, але дещо ускладнюється схема перетворювача, в якому стоїть мікроконтролер, що вважає кількість імпульсів в секунду на одному з портів і видає це значення в порт USB.

4. Випробування та калібрування

Для калібрування використали лабораторний анемометр.

Вимірювач швидкості вітру
Анемометр майстер-клас з фото зроби сам майстер-клас


Вимірювання швидкості вітру саморобними приладами для саморобних вітрогенераторів.

Originally published at Професійно про енергетику. Please leave any comments there.

Отже, ти вирішив зробити вітрогенератор своїми руками. EnergyFuture.RU вже неодноразово писала про різні конструкції саморобних вітрогенераторівта генераторів на постійних магнітах на них, включаючи знамениті конструкції Х'ю Пігота (повний архів тут). Дуже важливо перед початком зрозуміти і практично визначити доступну силу вітру у твоїй місцевості. Про це, власне, і стаття. Спостерігайте, міряйте та записуйте в журнал для статистики. як в школі!

Швидкість вітру- Одна з основних характеристик повітряного потоку, тому що визначає його енергію. Вона вимірюється в метрах за секунду ( м/сек) і позначається латинською літерою V. Чим більша швидкість вітру, тим більша й енергія укладена в потоці.

Для вимірювання швидкості вітру застосовуються роздивальні прилади: флюгери, анемометри та інші. Найпростіший прилад для вимірювання швидкості вітру - флюгер Вільда ​​(загалом застаріла річ, перевага одна - легко спорудити своїми руками).

До штоку-1жорстко прикріплений кіль-2, який у разі зміни напрямку вітру встановлює пластину-3перпендикулярно до напрямку потоку. Пластина має можливість коливатися відносно осі-4. Відповідно чим сильніший вітер, тим більше відхилення пластини. Визначають силу вітру за допомогою покажчика-5.

Для точності вимірювання пластина повинна мати розмір-150 X 300 мм і вага 200 грам для районів з невеликими вітрами і 800 грам для місцевості з вітрами більше 6 м/сек.

Поділ покажчика мають умовні значення, тому для визначення швидкості вітру слід скористатися таблицею.

Тим, кого не цікавить відносна точність, є ще один спосіб визначення швидкості вітру. за зовнішніми ознаками.

Вимірювання швидкості вітру саморобними приладами для саморобних вітрогенераторів
Originally published at Професійно про енергетику. Please leave any comments there. Отже, ти вирішив зробити вітрогенератор своїми руками. EnergyFuture.RU вже неодноразово писала про різні конструкції саморобних вітрогенераторів і генераторів на постійних магнітах на них, включаючи…



Як зробити анемометр своїми руками

Вузол обертання блоку готлвлк стає тепер серцем анемометра. Після видалення зайвих деталей (крутного трансформатора, магнітної головки і деталей двигуна) залишився металевий каркас головки, що обертається з віссю, нерухома частина з блоком підшипників і шайба кріплення двигуна. Вузол досить потужний, тому майбутній анемометр буде призначений більше для вимірювання швидкості вітру від середнього до сильного. У принципі, ці виміри і необхідні.

1. Доопрацюємо головку обертання. Просвердлимо свердлом по металу в бічній поверхні

частини 3, що обертається, отвори діаметром 4мм для кріплення чашок. При свердлінні орієнтуємось на три отвори в головці для кріплення внутрішніх вузлів.

2. Вставимо в отвори гвинтиМ4 довжиною 10мм, для кращого контакту з чашками з велосипедної камери виріжемо ножицями гумові шайби для запобігання обертанню чашок анемометра.

Гвинт із гумовою шайбою

3. Як чашкивикористані пластмасові кружки, спеціально куплені в магазині за 7 рублів. Кожен гурток доопрацьований:

На бічній поверхні в районі колишньої ручки просвердлено отвір діаметром 4мм.

Гуртки для анемометра

Кружка для анемометра

Отвір у чашці

4. Прикручуємо чашкидо вузла обертання, використовуючи шайбу та гайку. Прикручуємо обережно, не пошкодивши склянку. Зверніть увагу, щоб виступаючі частини шайби не торкалися при зборі нерухомого вузла. Збираємо конструкцію та перевіряємо легкість обертання.

Вузол обертання зібраний. Тепер необхідно подумати про встановлення датчика обертання та про кріплення вузла. Як датчик оптимально застосувати геркон, що спрацьовує від магніту, закріпленого на вузлі, що обертається. Частоту імпульсів обертання можна перетворити на оцінку швидкості вітру за допомогою аналогових або цифрових схем. Але можна піти простішим шляхом – використовувати велокомп'ютер.

Встановимо в анемометр датчик велокомп'ютера

1. Приклеїмо магніт

на частині вузла, що обертається. Під час кріплення можна заодно провести роботу з балансування вузла обертання. Магніт застосований від комплекту велокомп'ютера, єдино він вийнятий із пластмасового контейнера за допомогою якого він кріпиться на спицях велосипеда. Балансування необхідне усунення биття при обертанні анемометра як наслідок розгойдування жердини і появи сторонніх звуків у вузлах кріплення.

2. Просвердлимо в нерухомій частині

вузла отвір діаметром 7мм та закріпимо клеєм герконовий датчик велокомп'ютера в пластмасовому корпусі. При вклеюванні датчика я зібрав вузол, поклав на магніт шматочок картону товщиною 1мм, вставив датчик змащений клеєм в потрібному місці в отвір до торкання картоном і додатково промазав клеєм. Такий спосіб встановлення датчика дозволяє зберегти мінімальний зазор між магнітом і датчиком та забезпечити надійне його спрацьовування.

3. Перевіряємо роботу вузлана відсутності дотиків та за надійністю спрацьовування датчика (перевіряємо тестером).

Вузол кріплення

Підключаємо кабель

Налаштовуємо саморобний анемометр

Для налаштування показань анемометра в ідеалі застосувати цей анемометр. Я за своє життя тримав у руках це диво лише разів п'ять. Тому застосував стандартний спосіб, прикріпив анемометр до дерев'яної ручки. І при їзді на автомобілі в безвітряну погоду налаштував велокомп'ютер зі збігом свідчень зі спідометром. У моєму велокомп'ютері налаштування полягало у підборі значення радіуса колеса в міліметрах. Запам'ятовуємовеличину знайденого радіусу (краще записуємо), а то при зміні батарейки комп'ютер забуде налаштування. Мета отримати суперточні показання не ставилася. Все – налаштовано.

Встановлення анемометра

Анемометр краще встановити на довгу жердину подалі від будівель або на дах будинку. При монтажі продумуємо всі дії, готуємо інструмент та кріпильний матеріал. Корисно провести установку жердини без анемометра, зробити отвори кріплення і отвори для проходки кабелю. Закріплюємо анемометр на жердині і акуратно монтуємо конструкцію. Пропускаємо кабель усередину будівлі та підключаємо велокомп'ютер.

Саморобний анемометр своїми руками
Показано інструкцію з виготовлення саморобного анемометра


Вітри бувають різні, від легкого бризу до раптових, рвучких шквалів, що несуть руйнування і смерть. Найсильніші вітри – це урагани. Такі ураганні вітри утворюються над океанами в тропіках, коли величезні маси повітря засмоктуються у сфері низького тиску. Штормові хмари часто кружляють навколо центру (або очі) урагану зі швидкістю вищою за швидкість залізничного експресу.

Можливо, тобі ніколи не доводилося зустрічатися з ураганними вітрами, але де б ти не жив, тобі напевно доводилося спостерігати як тихі, так і вітряні дні. Зроби анемометр - найпростіший прилад для вимірювання швидкості вітру і записуй значення сили вітру у своїй місцевості у вітряний день.

Тобі знадобляться:

Товстий дерев'яний штир
тонкі дерев'яні стрижні
мотузка та виска
стаканчик з-під йогурту
клейка стрічка (водонепроникна)
креслярські кнопки
кольоровий картон
мідна трубка
клей
ножиці

1. Візьми товстий дерев'яний штир і щільно встав його в мідну трубку. Це буде стійка анемометра.

2. Попроси дорослих допомогти просвердлити дірку крізь стійку. Діаметр отвору повинен відповідати товщині одного з тонких стрижнів. Зроби проріз на одному з кінців цього тонкого стрижня. Встав його в стійку і закріпи, як показано на малюнку.

3. Виріж з картону наконечник і оперення стріли і закріпи на кінцях тонкого стрижня.

4. Виріж чверть кола з кольорового картону і прикріпи його до стріли за допомогою клейкої стрічки.

5. Візьми велику склянку з-під йогурту. Приклей його до одного кінця другого тонкого дерев'яного стрижня.

6. Попроси дорослих допомогти тобі просвердлити маленьку дірочку на іншому кінці другого стрижня, а потім прикріпи його шпилькою або прибий гвоздиком до верхівки стійки. Переконайся, що стрижень може вільно обертатися.

7. Вибери місце для спостереження на вулиці. Вбий мідну трубку в землю, а потім встав у неї стійку. Закріпи стійку у потрібному положенні за допомогою креслярської кнопки. Встанови стійку строго вертикально, підвісивши до стрілки схилу (як схилу можна використовувати гайку). Мотузка схилу повинна висіти строго паралельно стійці.

Вітер повертає стрілку анемометра так, що вона вказує напрямок, звідки дме вітер.
Скляночка з-під йогурту і стрижень разом з ним підніматимуться вгорі. Чим сильніший вітер, тим вище піднімається стрижень покажчик.

Шкала Бофорта

Це шкала вимірювання швидкості вітру, основу якої лежать спостереження природою. Шкала була винайдена англійським адміралом сером Френсісом Бофортом майже 200 років тому.

Швидкість вітру на картах погоди вказується числом штрихів на значку сили вітру.

Швидкість вітру Словесна характеристика Ознаки оцінки швидкості вітру
м/сек км/год бал
Бофорта
0,0-1,5 0,0-1,8 0 Штиль Дим піднімається прямовисно або майже прямовисно, листя нерухомі
0,6-1,7 1,9-5,1 1 Тихий вітер Напрям вітру визначається по диму
1,8-3,3 5,2-11,7 2 Легкий вітер Рух вітру відчувається обличчям, шелестять листя
3,4-5,2 11,8-18,7 3 Слабкий вітер Листя і тонкі гілки дерев постійно хитаються, вітер розвіває легкі прапори, море вкрите суцільною легкою хвилею.
5,3-7,4 18,8-26,6 4 Помірний вітер Вітер піднімає пил, приводить в рух тонкі гілки дерев, на окремих хвилях зрідка з'являються білі, що швидко пропадають "баранчики"
7,5-9,8 26,7-35,3 5 Свіжий вітер Гойдаються товсті сучки дерев; "баранчики" видно на кожній хвилі
9,9-12,4 35,4-44,0 6 Сильний вітер Гойдаються товсті сучки дерев, гудуть телеграфні дроти, "баранчики" на хвилях більш тривалі (5-10 сек.)
12,5-15,2 44,1-54,7 7 Міцний вітер Качаються верхівки дерев, гнуться великі гілки, незручно йти проти вітру. Піняться хвилі на морі
15,3-18,2 54,8-66,0 8 Дуже міцний вітер Вітер ламає тонкі гілки та сухі сучки дерев, ускладнює рух
18,3-21,5 66,1-77,5 9 Шторм Вітер скидає димові труби, черепиці. Іти проти вітру дуже важко.
21,6-25,1 77,6-90,2 10 Сильний шторм Значні руйнування, дерева вириваються з коренем
25,2-29,0 90,3-104,4 11 Жорстокий шторм Великі руйнування: валить телеграфні стовпи, вагони
Більше 29,0 Понад 104,4 12 Ураган Руйнує будинки, робить великі руйнування

Повинно було вийти щось таке

Етапи виготовлення самого датчика:

Корпус зробив так: узяв шматок квадратної труби в ній вирізав віконце, щоб через нього потім змонтувати начинку (до речі віконце вирізав із температурою, але так мені дуже хотілося це зробити, що встав і пішов пиляти). Потім усередину приварив пластину (утримувач внутрішнього підшипника), тоді приварив низ (утримувач нижнього підшипника). Коли вирішив робити верх, задумав зробити скатний дах - для цього вирізав чотири трикутники і акуратно прихоплював, а потім проварив повністю і так зробив загострений козирок. Тоді затиснув у лещата і свердлом на 0,5 мм менше, ніж діаметр підшипника просвердлив вертикально отвір у нижні кришці та середні, обидва для підшипників. Щоб підшипники стали з натяжкою підганяли розгорткою. Підшипники стали як рідні. Потім у них вставив трохи підшліфований цвях 100-ку при цьому в середині віконця одягнувши на нього пластмасову шаїбу з чотирма прорізами. На цвяху знизу нарізав різьблення і на неї накрутив крильчатку.

Крильчатку виготовив так: до гайки електродом двійкою приварив три цвяхи, потім їх обрізав і на кінцях нарізав різьблення якої прикрутив половинки від м'ячика.

До корпусу приварив тримач - шестигранний пруток з нержавіючої сталі. Сам корпус пофарбував білою емаллю двічі, щоб точно не іржавів.

Вирішив не вигадувати велосипед, а зробити так як у комп'ютерній мишці, є пластмасова шайба з чотирма прорізами на осі обертання, коли крильчатка крутиться то крутиться і шайба при цьому прорізи мелькають над датчиком, який кріпиться до передньої кришки і коли кришка прикручується, то він як раз стає так що шайба з прорізами крутиться і заступає та відступає світловий потік від світлодіода до фототранзистора. Все… тут вам і імпульси, а їх можна порахувати та мати кількість обертів за секунду.

Світлодіодіодно – фототранзисторний датчик висмикнув із принтера, там таких навалом.

Спочатку зробив із тенісних м'ячиків

Довелося трохи модифікувати прилад. На крильчатку від тенісних м'ячиків він стартував за вітру 5м/с. було куплено м'ячики у магазині дитячих іграшок діаметром 55 мм. Стартує при 2м/с і веде виміри до 22 м/с, Мені вистачає.

Після того, як датчик був готовий. Потрібно було зробити електроніку.

Перший варіант був саморобний технологія ЛУТ + зелена маска з Китаю, сохне під ультрафіолетом.

55 на фотографії це обертів за секунду. Треба було якось перевести у м/с. Довго думав як, дістав навіть два анемометри старий ще з СРСР і китайський за 50$, але з перевіркою виникли проблеми, бо вітер рвучкий і не дме стабільно.

Тому придумав так: у вихідний день я з Папою знайшли за містом 2 км рівної дороги без машин, без вітру і з обох боків посадка дерев (Тато за кермом, а я сидів наполовину за вікном) і давай ганяти туди-сюди вперед. Спочатку виставив СРСР і китайські анемометри я переконався, що вони обидва показують однаково і правильно, тому що якщо розділити швидкість на спідометрі машини на 3,6 то виходила цифра, яку показували анемометри в м/с. Тато їхав з однаковою швидкістю, і прилади показували однаковий вітер. Таким чином я перевіряв свій прилад. Папа додавав щоразу +5 км на годину, а я записував новий показник (обертів за секунду). Виміри провів тричі. Коли ми їхали більше 80 км/год (22м/с), мій анемометр вже не міг розкрутитися і цифра завмирала, тому більше 22м/с він не вимірює.

До речі, китайський показував до 28м/с. СРСР до 20м/с. Коли встановив його в місці з доопрацьованою програмою, ще раз звірив із китайською все зійшлося.

Наразі переробляється під Ардуїно.

У планах це докрутити в систему розумного будинку, щоб можна було зі смартфона заходити та керувати навантаженнями в будинку, дивитися температуру в будинку (для мене це актуально, просто часом газ вимикають узимку і добре бачити яка температура) буде ще датчик газу, і плюс буде відображається швидкість вітру біля будинку.

Відео роботи

Результати роботи за зиму

с-сть --- годин за зиму
0 м/с --- 511,0
1 м/с --- 475,0
2 м/с --- 386,5
3 м/с --- 321,2
4 м/с --- 219,0
5 м/с --- 131,5
6 м/с --- 63,3
7 м/с --- 32,5
8 м/с --- 15,4
9 м/с --- 9,1
10 м/с --- 5,0
11 м/с --- 3,5
12 м/с --- 2,2
13 м/с --- 1,3
14 м/с --- 0,8
15 м/с --- 0,5
16 м/с --- 0,5
17 м/с --- 0,2
18 м/с --- 0,0
19 м/с --- 0,1


За результатами за дві зими я побачив, що вітри у мене не сильні і вітряк буде не ефективний, тому зробив маленький з лопатями по 50см. потужністю в пік 150 Вт. Зробив просто, щоб хоча б одна економна лампочка світила, коли світло пропаде.

Тепер трохи про Arduino.

Знайшов в Інтернеті схему роботи мишки, вона наочно ілюструє, як працює моя система.

Відштовхуючись від схеми мишки я зробив таку схему.

Імпульси надходять із фототранзистора на Arduino, а він сприймає їх як натискання кнопки.

Алгоритм роботи програми такий: Вважаємо скільки натискань кнопки відбулося за одну секунду і маємо частоту обертання. Щоб цю частоту перевести в м/с. ще коли я робив Атмел я зробив алгоритм розрахунку частоти в м / с. Виглядав він так:

int ob_per_sec=0; // Змінна в яку потрапляє частота обертів на секунду.

int speed_wind=0; // Сюди потраплятиме значення після перерахунку частоти м/с.

int speed_wind_max=0; // Сюди потрапляє максимальне значення свідчень вітру м/с.

int speed_wind_2=0; // К-ть секунд з початку роботи програми зі швидкістю вітру 2 м/с.

int speed_wind_3=0; // К-ть секунд з початку роботи програми зі швидкістю вітру 3 м/с.

int speed_wind_4=0; // К-ть секунд з початку роботи програми зі швидкістю вітру 4 м/с.

int speed_wind_5=0; // К-ть секунд з початку роботи програми зі швидкістю вітру 5 м/с.

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

int speed_wind_22 = 0; // К-ть секунд з початку роботи програми зі швидкістю вітру 22 м/с.

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 (speed_wind> speed_wind_max)( speed_wind_max = speed_wind ;)// перевіряємо і перезаписуємо, якщо максимальне значення більше ніж попереднє записане.

І виводимо на екран значення.

При необхідності можна потім переглянути скільки хвилин віяв вітер з певною швидкістю, для цього потрібно на екран вивести змінну (з необхідним індексом швидкості) speed_wind_№ (але розділити її на 60, щоб вийшли хвилини.).

Я у себе в програмі зробив так: при натисканні певної кнопки по черзі виводяться всі змінні, від speed_wind_1 до speed_wind_22.