Giter Site home page Giter Site logo

mlab-modules / windgauge03 Goto Github PK

View Code? Open in Web Editor NEW
6.0 4.0 3.0 190.61 MB

Differential pressure wind speed sensor with magnetometer.

Home Page: https://www.mlab.cz/module/WINDGAUGE03/

License: GNU General Public License v3.0

G-code 98.38% Makefile 0.01% OpenSCAD 0.15% Shell 0.02% Python 0.04% Jupyter Notebook 1.40%
anemometer venturi-effect pitot-tube windspeed airspeed-velocity airspeed ias mlab mlab-module measuring

windgauge03's Introduction

WINDGAUGE03A

Venturi tube based anemometer

High-endurance venturi anemometer with minimum moving parts. Automatic estimation of direction to magnetic nort.

WINDGAUGE03A

Advantages

  • Minimised number of moving parts results in increased durability
  • Venturi effect allows accurate measurement in wide range of speeds is especially sensitive for common low airspeeds

Function principle

The measuring tube consist an orifice, which increases airflow in the tube. The different speeds generates differentiall preassure, which is measured by electronic differential pressure sensor. The same principle was used in beginnig of aircraft airspeed measurement. It is advantageous due to better sensitivity at lows speeds compared to pitot-static tube.

The anemometer consists the IMU sensor ICM-20948 which contains magnetometer, gyroscopes and accelerometers. The IMU allows sophisticated data aquisition for failure detection and gust wind analysis.

WINDGAUGE03A schematics

Main parameters

  • Absolute azimuth accuracy 1° (to magnetic north)
  • Wind speed measurement range 0-120 km/h
  • Maximum mechanically safe wind speed 150 km/h
  • Communication interfaces:
    • USB
    • I²C
  • Operational temperature range -20/+45 °C
  • Maximum hail diameter 0.5 cm

Software installation

The anemometer uses pymlab software toolkit to interface with a station computer. The toolkit also contains an example which allows basic calibration and data recording of anemometer data.

Usage

Calibration

Anemometer should be calibrated before the first use. That ensures, calibration of magnetometer parameters. To correctly determine the wind direction by internal magnetometer.

python3 serial_logger.py 68  15

Generated with MLABweb. (2019-04-25)

windgauge03's People

Contributors

jakubkandera avatar jankott avatar kaklik avatar roman-dvorak avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

windgauge03's Issues

Ultrasound based variant

Konstrukci UZ anemometru by zřejmě bylo možné výrazně zjednodušit digitálním zpracováním signálu v kontinuálním režimu.
Tj. tak, že by signál nebyl zpracováván pulzně. Ale naopak by byl kontinuálně vysílán signál umožňující měřit fázový posuv.

Takové řešení by asi nutně potřebovalo využití většího výpočetního výkonu. Anemometr by pak zřejmě podobně jako DISTROMETER01 končil USB zvukovkou připojenou do nějakého počítače.

Tolerance trnu pro nasazení na ložisko

Jednotlivé typy ložisek mají mírně jiné průměry trnu. V důsledku toho současný průměr otvoru v otočném dílu nepasuje na Adafruit slip ring 22mm, který je o několik desetin milimetru větší, než současná díra.
Při odvrtání otvoru vrtákem 8mm díl na trn ložiska sice už jde nasadit ale zároveň je příliš volný.

Tuhost uchycení na otočném ložisku

V důsledku zvětšení průměru kanálku pro vodiče (který teď umožňuje protáhnout vodiče i s kontakty), došlo k odstranění dosedací plochy trnul ložiska.
Nově je tak snadné otočný díl narazit na trn ložiska tak, že drhne. Navíc odstranil i část boční stěny, takže otočný díl se na ložisku dovede viklat.

image

Řešením současného stavu zřejmě je trochu precizněji vyřešit napojení kanálku vodičů na otvor pro trn ložiska. Otvor pro trn ložiska tak musí končit osazením, které bude omezovat zasunutí ložiska tak, aby byl umožněn prostup vodičů, ale zároveň nesmí být ložisko zasunutu tak hluboko, aby mohlo drhnout.
Představa o tvarovém provední spoje je nakreslena v řezu na následujícím obrázku:

image

Na horní hranu ložiska tak dosedá tištěný díl, který ložisko obepíná i z boku. Vodiče pak prostupují užším otvorem do kanálku pro vodiče.
Kanálek je ve směru k ložisku zkosený, aby bylo možné bez potíží vytáhnout vodiče zpět i s konektory. (toto řešení je velmi podobné aktuálnímu provedení tlakových kanálků ke snímači)

Rozměry ložiska lze vyčíst z následujících měření:

image

image

Tisknutelnost měřící trubice anemometru

Při tisku dochází v horní části výřezu pro ložisko k porouchání perimetrů.
Tato porucha se projevuje jednak propadnutím perimetrů (i u předchozích variant výtisků). Tyto propadané perimetry lze po vytištění odřezat nožem.

Nově však vzniká porucha, kdy se díky husté výplni perimetry i nadzvednou, což způsobuje zaražení trysky o model a ztrátu kroků krokového motoru. Následující část je tak tištěna posunutá.

image

Úplné vyřešení tohoto problému vyžaduje dva kroky.

  1. Snížení hustoty výplně v problematické převislé části otvoru a nebo v celém modifikátoru.
  2. Namodelování podpěr, které by zabránily propadání perimetrů během tisku. Po tisku se tyto podpěry vylomí.

Uložení servisní délky vodičů

Aktuálně navržené řešení uložení vodičů omotáním okolo PCB je prakticky nerealizovatelné. Problémem je, že nelze udržet vodiče správně umístěné pod víčkem při nasazování víčka.

Nově navržený kanálek pro přivedení vodičů je však dostatečně tlustý na to, aby jím bylo možné protáhnout vodiče i s nakrimpovanými kontakty konektoru. Tím je umožněno zcela nové řešení, že by vodiče byly rovnou správně dlouhé a mohly být přivedeny rovnou do konektoru.
Délka vodičů ale nikdy přesně správná nebude, pouze přibližně. Takže zde je potřeba mít nějakou co největší rezervu. Aktuálně jsem však vyzkoušel, že kanálek je tak široký že v něm vzniká asi 15mm rezerva délky, kterou do něj lze natlačit. (Možná by bylo možné tuto rezervu zvětšit)

Případně by bylo možná udělat místo pro vodiče vytvořením druhého kanálku z protější strany, než kde vede teď. (Tento kanálek by asi mohl být slepý a přebytečná délka vodiče se do něj natlačí od PCB z vrchní strany)

Vyplývá z toho ale že je zřejmě potřeba obnovit původní menší kapkovitý kryt bez kulatých rohů. Ten byl lepší neboť nespotřebovával tolik materiálu a neměl takový aerodynamický odpor.

Výška těžiště nad otočným ložiskem

Aby otočný díl dobře držel na ložisku anemometru, tak je výhodné, aby měl co nejníže těžiště a nedocházelo tak k vyvracení ložiska.

Toho lze dosáhnout posunutím hmotnosti, která vyvažuje anemometr co nejvíce dolů.

Optimalizace rozměrů víčka elektroniky anemometru

Aktuální kryt PCB má z předu kruhový průřez

image

Důvodem k tomu, je získání dostatečného prostoru pro montáž PCB. Tento prostor však zřejmě stále není úplně dostatečný jak ukazují poslední pokusy s tiskem krytu.

PCB narušuje vrstvy v přední části krytu
PCB narušuje vrstvy v přední části krytu

97584828_244697976853190_5755182762764009472_n

U šroubů není možné vytisknout dostatečně kvalitní stěnu a most:
image

97137646_1648315295334842_636777421877542912_n

Jedním z řešení tohoto problému může být deformace kapkového krytu pomocí transformace scale, nebo resize.

Použití takové transformace by umožnilo získat větší šířku kapky v ose X bez zvětšování její výšky.

Pro případ získání prostoru pro šrouby je možné šrouby natočit v krytu od PCB tak aby byl u hlaviček šroubů získán větší prostor na materiál krytu. Šrouby pak nebudou rovnoběžné ale sbíhavé.

Chybné měření teploty

Zpracování teploty z anemometru zřejmě obsahuje nějakou chybu. Která způsobuje, že teplota je za nižších teplot nesmyslná.
Tohle anemometr ukazuje při vnější teplotě okolo 10 stupňů.

0886; 2020-11-16T15:22:14.016948; Dp: +0.00 [Pa]; T: 210.472 [degC]; MAG_HDG: +78.59; SPD_W_DP: +0.00 [km/h]
0887; 2020-11-16T15:22:14.076994; Dp: +0.00 [Pa]; T: 210.424 [degC]; MAG_HDG: +78.62; SPD_W_DP: +0.00 [km/h]
0888; 2020-11-16T15:22:14.142151; Dp: +0.00 [Pa]; T: 210.376 [degC]; MAG_HDG: +78.53; SPD_W_DP: +0.00 [km/h]
0889; 2020-11-16T15:22:14.212157; Dp: +0.00 [Pa]; T: 210.472 [degC]; MAG_HDG: +78.54; SPD_W_DP: +0.00 [km/h]
0890; 2020-11-16T15:22:14.276800; Dp: +0.00 [Pa]; T: 209.897 [degC]; MAG_HDG: +78.61; SPD_W_DP: +0.00 [km/h]
0891; 2020-11-16T15:22:14.346179; Dp: +0.00 [Pa]; T: 210.472 [degC]; MAG_HDG: +78.61; SPD_W_DP: +0.00 [km/h]
0892; 2020-11-16T15:22:14.417284; Dp: +0.00 [Pa]; T: 210.424 [degC]; MAG_HDG: +78.63; SPD_W_DP: +0.00 [km/h]
0893; 2020-11-16T15:22:14.482254; Dp: +0.00 [Pa]; T: 210.424 [degC]; MAG_HDG: +78.65; SPD_W_DP: +0.00 [km/h]
0894; 2020-11-16T15:22:14.544916; Dp: +0.00 [Pa]; T: 210.472 [degC]; MAG_HDG: +78.68; SPD_W_DP: +0.00 [km/h]
0895; 2020-11-16T15:22:14.601937; Dp: +0.00 [Pa]; T: 210.376 [degC]; MAG_HDG: +78.68; SPD_W_DP: +0.00 [km/h]
0896; 2020-11-16T15:22:14.659344; Dp: +0.00 [Pa]; T: 210.136 [degC]; MAG_HDG: +78.69; SPD_W_DP: +0.00 [km/h]
0897; 2020-11-16T15:22:14.729835; Dp: +0.00 [Pa]; T: 210.376 [degC]; MAG_HDG: +78.70; SPD_W_DP: +0.00 [km/h]
0898; 2020-11-16T15:22:14.800006; Dp: +0.00 [Pa]; T: 210.089 [degC]; MAG_HDG: +78.72; SPD_W_DP: +0.00 [km/h]

Problém se týká teploty měřené senzorem ICM20948

Vodotěsnost víčka elektroniky

Aby víčko bylo zaručeně vodotěsné, tak potřebuje hodně perimetrů. (Obvykle tak 6, ale reálnou hodnotu je potřeba vyzkoušet)

Při pokusu o tisk s takovým nastavením vznikl tento výsledek:

103450737_571261650459548_1397892508345263158_n

Je tak zřejmě potřeba zkontrolovat, jak vypadají tiskové vrstvy a výplň pod vrchlíkem víčka. A případně podle toho upravit parametry tisku, nebo model.

Ověření kalibrace

Popis probému

Pro použití anemometru se ukazuje jako poměrně komplikované ověřit, že je anemometr správně zkalibrován. Kalibrace totiž obsahuje jak směrovou, tak i rychlostní složku.

Postup, který umožňuje zkalibrovat/zkontrolovat obě měřené složky proudění by mohl vypadat tak, že anemometr bude namontován na střechu auta společně s GPS přijímačem. S autem se pak bude jezdit po kružnici ve stabilních větrných podmínkách.

Přesnost kalibrace by pak měla být vidět v polárním grafu. Který by vypadal podobně jako tento geologický. Hlavní rozdíl je, že v grafu by byly zakresleny dva měřené zdroje. Jedním by byl azimut a rychlost z anemometru a pak jinou barvou azimut a rychlost podle GPS.

image

Očekávaný výsledek

V případě, že by automobil jezdil po kružnici konstantní rychlostí. Tak tvar který bude v tomto polárním grafu zakreslen na základě dat z GPS bude kruh.

Pro data z anemometru platí totéž pouze za předpokladu dokonalého bezvětří. Je však mnohem pravděpodobnější, že nastanou dva doprovodné jevy způsobené nenulovou rychlostí vetru.

  1. Kruh nakreslený z dat anemometru je posunutý oproti středu - Důsledek působení rychlosti větru, která je však nízká oproti rychlosti kroužícího automobilu.
  2. Tvar zakreslených dat z anemometru odpovídá elipse - rychlost jízdy automobilu po kružnici je srovnatelná, nebo nižší než rochlost větru.

Kromě těchto dvou základních stavů mohou pravděpodobně nastat i další degradace měřených dat. Patří mezi ně nepřesnosti způsobené zpracováním dat z magnetometru. Tyto chyby ale nelze přímo zobrazit na polárním grafu.

Za účelem ověření kalibrace magnetometru je nutné zkonstruovat kartézský graf, který bude znázorňovat surová data z magnetometru. Zobrazené hodnoty by v tomto případě měly odpovídat kružnici, respektive kouli v prostoru.

Předpokládané hodnoty z magnetometru

Možný postup řešení

Upravit logovací skript, tak aby zaznemanával surové hodnoty ze senzorů (tlakový spád a raw hodnoty magnetometru).

Vytvořit jupyter notebook, který nakreslí obě výše popsaná zobrazení.

Python nástroje, které by na to asi šly použít jsou tyhle:

Zub na kanálku kabelů vadí při protahování vodičů.

Těsně pod konektorem na PCB se senzory je na přívodním kanálků vodičů zub při vyústění ke konektoru.

image

Vzhledem k tomu, že se vodiče protahují směrem od otočného ložiska k PCB, tak tento zub velmi výrazně komplikuje protožení kabeláže. Při montáži jsem jej ručně zahladil pájkou, abych vůbec byl schopen kanálkem protáhnout vodiče.

Ani druhá stěna kanálku na tom není úplně nejlépe:
image

Očekávaným řešením takového kanálku je plynulé vyústění až na povrch modelu bez zubu o který by se vodiče mohly při protahování zaseknout.

V aktuálním řešení by to možná mohlo jít namodelovat tím způsobem, že kanálek vodičů bude protažen až naprovrch skrz již existující "trychtýř", tím pravděpodobně vznikne nevzhledná kombinace trychtýře a kanálku, která ale umožní protožení vodičů.

V případě že by se našlo nějaké estetičtější řešení, tak by to určitě bylo přínosné.

Šroubky víčka

Pro uchycení víčka nelze použít původně plánované šrouby M3x12mm

Průměr zůžené části venturiho trubice

Při minulých experimentech byly vytištěny dvě verze nastavení venturiho trubice.

  1. Starší původní
  2. Nová širší

První starší verze byla testována za jízdy na autě, kde nastal stav, že při rychlostech i do 100km/h došlo k saturaci tlakového snímače. Jak ukazuje následující graf.

87468694_220922022378877_5567378712086708224_n

Z tohoto důvodu byla vytvořena nová verze, která má větší průměr zúžené části tak, aby se zmenšil tlakový spád. Tato verze má však průměr zřejmě moc velký a tlakový spád je velmi malý, tím je měření zatíženo velkou chybou. Rozdíl je viditelný na následujícím grafu:

90640188_215187579832227_3908752957591519232_n

Samotný šum pak lépe vynikne, když se měření přenormuje na stejnou škálu:
90356613_1113754748961626_7473293449236578304_n

Řešením tohoto problému by zřejmě mělo být upravení průměru zůžení úzké části na nějakou hodnotu mezi oběma aktuálně experimentálně vyzkoušenými průměry a opětovné vyvážení modelu.

Zajištění anemometru na otočném ložisku

Při vyšších rychlostech proudění okolo anemometru došlo k vyckvaknutí otočného dílu z trnu ložiska.
Záležitost je potřeba řešit, protože to jednak způsobilo, že do ložiska začala téct voda a zároveň se může stát, že stejným způsobem anemometr vypadne i při nižší rychlosti.

Řešením by mohlo být stažení trnu symetrickými šrouby, tak aby otočný díl byl na trnu mírně zdeformován. Je ale důležité, aby vnější povrch krytu ze strany šroubů nebyl nijak spojen s vnitřním (suchým) objemem pro ložisko.

Jedna z možných realizací tohoto řešení by mohla vypadat následovně:

image

Šrouby by tak byly symetricky po obou stranách otvoru pro ložisko, tak aby co nejtěsněji svíraly vytištěné pozdro pro ložisko. Cílem je zajistit, že po utažení šroubů se pouzdro mírně zdeformuje do oválu. Deformace ostatních částí anemometru by tak pokud možno měla zůstat minimální.

Issue je pokračováním původního MLAB-project/Modules#17

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.