Obsah:

Kanalizace: 3 kroky
Kanalizace: 3 kroky

Video: Kanalizace: 3 kroky

Video: Kanalizace: 3 kroky
Video: Andy Grammer - "Don't Give Up On Me" [Official Video from the Five Feet Apart Film] 2024, Listopad
Anonim
Kanalizační dráha
Kanalizační dráha

Současný proces čištění kanalizace je spíše reaktivní než proaktivní. Telefonní hovory jsou registrovány v případě ucpání kanalizace v oblasti. Navíc je pro manuální lapače obtížné vynulovat v bodě chyby. Používají metodu pokusu a pokusu k provedení procesu čištění ve více šachtách v postižené oblasti, čímž ztrácejí spoustu času. Vysoká koncentrace toxických plynů navíc vede k podrážděnosti, bolestem hlavy, únavě, infekcím dutin, bronchitidě, zápalu plic, ztrátě chuti k jídlu, špatné paměti a závratím.

Řešením je navrhnout prototyp, což je malé zařízení - s tvarovým perem - zabudované na víku šachty. Spodní část zařízení, která je vystavena vnitřku šachty, zatímco je víko zavřené - obsahuje senzory, které detekují hladinu vody uvnitř kanalizace a koncentraci plynů, které zahrnují metan, oxid uhelnatý, oxid uhličitý a oxidy dusíku. Data jsou shromažďována na hlavní stanici, která komunikuje s těmito zařízeními nainstalovanými v každém šachtě přes LoRaWAN, a odesílá data na cloudový server, který je hostitelem řídicího panelu pro účely monitorování. Dále se tím překlenuje propast mezi obecními úřady odpovědnými za údržbu kanalizace a svoz odpadků. Instalace těchto zařízení po celém městě umožní preventivní řešení identifikovat a určit polohu ucpaného kanalizačního potrubí dříve, než se odpadní voda dostane na povrch.

Zásoby

1. Ultrazvukový senzor - HC -SR04

2. Senzor plynu - MQ -4

3. Brána LoRa - Raspberry pi 3

4. Modul LoRa - Semtech SX1272

5. NodeMCU

6. Modul bzučáku

7. 500mAh, 3,7V Li-ion baterie

Krok 1:

obraz
obraz
obraz
obraz
obraz
obraz
obraz
obraz

U prvního prototypu jsem jako přílohu použil tic-tac (krabici čerstvých mincoven). Upevnění ultrazvukových senzorů bylo provedeno tak, aby směřovalo Tx a Rx směrem k kanalizačnímu toku. Připojení k ultrazvukovému senzoru a senzoru plynu je velmi snadné. Stačí napájet jednotlivé senzory a pro čtení dat použít kterýkoli z 8 digitálních pinů dostupných v NodeMCU. Pro lepší porozumění jsem nakreslil souvislosti.

Krok 2: Seznámení s SEMTECH SX1272

Naším dalším krokem by byla instalace knihoven na náš NodeMCU.

Knihovny modulu Semtech LoRa najdete v tomto odkazu:

Chcete -li nainstalovat tuto knihovnu:

  • Nainstalujte jej pomocí správce knihovny Arduino („Sketch“-> „Include Library“-> „Manage Libraries…“), nebo
  • Stáhněte si soubor zip z github pomocí tlačítka „Stáhnout ZIP“a nainstalujte jej pomocí IDE („Sketch“-> „Include Library“-> „Add. ZIP Library…“
  • Klonujte toto úložiště git do složky skicářů/knihoven.

Aby tato knihovna fungovala, mělo by být vaše Arduino (nebo jakákoli deska kompatibilní s Arduino, kterou používáte) připojeno k transceiveru. Přesná připojení jsou trochu závislá na desce transceiveru a použitém Arduinu, takže se tato část pokouší vysvětlit, k čemu každé připojení slouží a v jakých případech je (ne) vyžadováno.

Všimněte si toho, že modul SX1272 běží na 3,3 V a pravděpodobně nemá rád 5 V na svých pinech (ačkoli datový list o tom nic neříká a můj transceiver se zjevně nerozbil po náhodném použití 5 V I/O na několik hodin). Chcete -li být v bezpečí, použijte řadič úrovně nebo Arduino běžící na 3,3 V. Zkušební deska Semtech má 100 ohmové odpory v sérii se všemi datovými linkami, které by mohly zabránit poškození, ale s tím bych nepočítal.

Transceivery SX127x vyžadují napájecí napětí mezi 1,8 V a 3,9 V. Typické je použití napájení 3,3 V. Některé moduly mají jeden napájecí kolík (jako moduly HopeRF s označením 3,3 V), ale jiné vystavují více napájecích kolíků pro různé části (například semtech vyhodnocovací deska s VDD_RF, VDD_ANA a VDD_FEM), které lze všechny spojit dohromady. Všechny piny GND je třeba připojit k pinům Arduino GND.

Primární způsob komunikace s transceiverem je prostřednictvím SPI (Serial Peripheral Interface). To používá čtyři piny: MOSI, MISO, SCK a SS. První tři je třeba přímo propojit: tedy MOSI na MOSI, MISO na MISO, SCK na SCK. Kde se tyto piny na vašem Arduinu liší, viz například část „Připojení“v dokumentaci Arduino SPI. Připojení SS (slave select) je o něco flexibilnější. Na straně SPI slave (transceiver) to musí být připojeno ke kolíku (obvykle) označenému NSS. Na straně SPI master (Arduino) se tento pin může připojit k jakémukoli I/O pinu. Většina Arduinos má také pin označený „SS“, ale to je relevantní pouze tehdy, když Arduino funguje jako otrok SPI, což zde není tento případ. Ať už si vyberete jakýkoli pin, musíte knihovně sdělit, jaký pin jste použili při mapování pinů (viz níže).

Piny DIO (digitální I/O) na desce transceiveru lze konfigurovat pro různé funkce. Knihovna LMIC je používá k získání okamžitých informací o stavu z transceiveru. Když například začne přenos LoRa, pin DIO0 je konfigurován jako výstup TxDone. Když je přenos dokončen, pin DIO0 je vysoko vysílačem, což lze detekovat knihovnou LMIC. Knihovna LMIC potřebuje pouze přístup k DIO0, DIO1 a DIO2, ostatní piny DIOx lze ponechat odpojené. Na straně Arduino se mohou připojit k jakémukoli I/O pinu, protože aktuální implementace nepoužívá přerušení ani jiné speciální hardwarové funkce (i když to může být do funkce přidáno, viz také část „Časování“).

V režimu LoRa se DIO piny používají následovně:

  • DIO0: TxDone a RxDone
  • DIO1: RxTimeoutIn

Režim FSK se používají následovně::

  • DIO0: PayloadReady a PacketSent
  • DIO2: TimeOut

Oba režimy potřebují pouze 2 piny, ale tranceiver je neumožňuje mapovat takovým způsobem, aby se všechna potřebná přerušení mapovala na stejné 2 piny. Pokud jsou tedy použity režimy LoRa i FSK, musí být připojeny všechny tři piny. Piny použité na straně Arduina by měly být nakonfigurovány v mapování pinů ve vaší skice (viz níže). Reset Transceiver má resetovací kolík, který lze použít k jeho explicitnímu resetování. Knihovna LMIC to používá k zajištění konzistentního stavu čipu při spuštění. V praxi může být tento pin ponechán odpojený, protože transceiver již bude při zapnutí v rozumném stavu, ale jeho připojení může v některých případech zabránit problémům. Na straně Arduino lze použít jakýkoli I/O pin. Použité číslo PINu musí být nakonfigurováno v mapování pinů (viz níže).

Transceiver obsahuje dvě oddělená připojení antény: jedno pro RX a jedno pro TX. Typická deska transceiveru obsahuje čip pro přepínání antény, který umožňuje přepínání jedné antény mezi těmito RX a TX připojeními. Takovému přepínači antény lze typicky říci, jakou polohu by měl mít prostřednictvím vstupního kolíku, často označovaného jako RXTX. Nejjednodušší způsob ovládání přepínače antény je použít pin RXTX na transceiveru SX127x. Tento pin je automaticky nastaven na vysokou hodnotu během vysílání a nízkou hodnotu na výstupu. Například desky HopeRF mají toto spojení na svém místě, takže nevystavují žádné piny RXTX a pin lze v mapování pinů označit jako nepoužitý. Některé desky odhalují pin přepínače antény a někdy také pin SX127x RXTX. Například zkušební deska SX1272 volá první FEM_CTX a druhou RXTX. Nejjednodušším řešením je opět jejich jednoduché spojení propojovacím kabelem. Alternativně, nebo pokud není pin SX127x RXTX k dispozici, lze LMIC nakonfigurovat pro ovládání přepínače antény. Připojte ovládací kolík přepínače antény (např. FEM_CTX na zkušební desce Semtech) k jakémukoli I/O pinu na straně Arduino a nakonfigurujte pin použitý v mapě pinů (viz níže). Není však zcela jasné, proč by nechtěl transceiver ovládat anténu přímo.

Krok 3: 3D tisk skříně

3D tisk skříně
3D tisk skříně
3D tisk skříně
3D tisk skříně

Jakmile jsem měl vše v provozu, rozhodl jsem se vytisknout pouzdro modulu pro lepší vzhled.

S konečným produktem v ruce byla instalace do díry pro muže a získání výsledků v reálném čase na palubní desce snadné. Hodnoty koncentrace plynu v reálném čase s indikací hladiny vody umožňovaly úřadům proaktivní přístup spolu s bezpečnějším způsobem řešení problému.

Doporučuje: