Sewer'Sway: 3 Adım
Sewer'Sway: 3 Adım
Anonim
Kanalizasyon Yolu
Kanalizasyon Yolu

Mevcut kanalizasyon hattı temizleme süreci proaktif olmaktan ziyade reaktiftir. Bir bölgedeki kanalizasyon hattının tıkanması durumunda telefon aramaları kaydedilir. Ayrıca, manuel çöpçülerin hata noktasında sıfıra inmeleri zordur. Etkilenen bölgedeki birden fazla rögarda temizleme işlemini gerçekleştirmek için vur-ve-dene yöntemini kullanırlar ve çok zaman kaybederler. Ek olarak, zehirli gazların yüksek konsantrasyonu, sinirlilik, baş ağrısı, yorgunluk, sinüs enfeksiyonları, bronşit, zatürree, iştahsızlık, zayıf hafıza ve baş dönmesine yol açar.

Çözüm, bir rögar kapağına gömülü küçük bir cihaz olan - bir kalemin form faktörüne sahip - bir prototip tasarlamaktır. Kapak kapalıyken rögarın iç kısmına maruz kalan cihazın alt kısmı - kanalizasyon içindeki su seviyesini ve metan, karbon monoksit, karbondioksit ve azot oksitleri içeren gazların konsantrasyonunu algılayan sensörlerden oluşur.. Veriler, LoRaWAN üzerinden her rögarda kurulu bu cihazlarla haberleşen ve verileri izleme amacıyla bir gösterge panosu barındıran bir bulut sunucusuna gönderen bir ana istasyonda toplanır. Ayrıca, bu, kanalizasyon bakımından sorumlu belediye yetkilileri ve çöp toplama arasındaki boşluğu doldurur. Bu cihazların şehir genelinde kurulumu, atık su yüzeye ulaşmadan önce tıkanmış kanalizasyon hattının yerini tespit etmek ve tespit etmek için önleyici bir çözüm sağlayacaktır.

Gereçler

1. Ultrasonik sensör - HC-SR04

2. Gaz sensörü - MQ-4

3. LoRa ağ geçidi - Raspberry pi 3

4. LoRa modülü - Semtech SX1272

5. DüğümMCU

6. Buzzer modülü

7. 500mAh, 3.7V Li-ion pil

Aşama 1:

resim
resim
resim
resim
resim
resim
resim
resim

İlk prototip için muhafaza olarak bir tic-tac (taze nane kutusu) kullandım. Ultrasonik sensörlerin takılması, Tx ve Rx'i kanalizasyon akışına yönlendirecek şekilde yapılmıştır. Ultrasonik sensöre ve gaz sensörüne bağlantılar çok kolaydır. Verileri okumak için tek tek sensörlere güç vermeniz ve NodeMCU'da bulunan 8 dijital pinden herhangi birini kullanmanız yeterlidir. Daha iyi anlamak için bağlantıları çizdim.

Adım 2: SEMTECH SX1272 ile Tanışma

Bir sonraki adımımız kütüphaneleri NodeMCU'muza kurmak olacaktır.

Semtech LoRa modülüne ait kütüphaneleri bu linkte bulabilirsiniz:

Bu kitaplığı yüklemek için:

  • Arduino Kitaplığı yöneticisini ("Çizim" -> "Kitaplığı Dahil Et" -> "Kütüphaneleri Yönet…") kullanarak kurun veya
  • "ZIP İndir" düğmesini kullanarak github'dan bir zip dosyası indirin ve IDE ("Çizim" -> "Kitaplığı Dahil Et" -> ". ZIP Kitaplığı Ekle…") kullanarak yükleyin.
  • Bu git deposunu eskiz defteri/kütüphaneler klasörünüze klonlayın.

Bu kütüphanenin çalışması için Arduino'nuz (veya hangi Arduino uyumlu kartı kullanıyorsanız) alıcı-vericiye bağlı olmalıdır. Kesin bağlantılar biraz alıcı-verici kartına ve kullanılan Arduino'ya bağlıdır, bu nedenle bu bölüm her bağlantının ne için olduğunu ve hangi durumlarda gerekli olduğunu (gerekmediğini) açıklamaya çalışır.

SX1272 modülünün 3.3V'ta çalıştığını ve muhtemelen pinlerinde 5V'u sevmediğini unutmayın (veri sayfası bu konuda bir şey söylemese de ve alıcı-vericim yanlışlıkla 5V I/O'yu birkaç saat kullandıktan sonra açıkça kırılmadı). Güvende olmak için, seviye değiştirici veya 3.3V'da çalışan bir Arduino kullandığınızdan emin olun. Semtech değerlendirme panosu, hasarı önleyebilecek tüm veri hatlarıyla seri olarak 100 ohm dirençlere sahiptir, ancak buna güvenmezdim.

SX127x alıcı-vericileri, 1.8V ile 3.9V arasında bir besleme voltajına ihtiyaç duyar. 3.3V besleme kullanmak tipiktir. Bazı modüllerin tek bir güç pimi vardır (3.3V etiketli HopeRF modülleri gibi), ancak diğerleri farklı parçalar için birden fazla güç pimi ortaya çıkarır (VDD_RF, VDD_ANA ve VDD_FEM'e sahip Semtech değerlendirme panosu gibi), hepsi birbirine bağlanabilir. Herhangi bir GND pininin Arduino GND pin(ler)ine bağlanması gerekir.

Alıcı-verici ile iletişim kurmanın birincil yolu SPI (Seri Çevre Birimi Arayüzü) aracılığıyladır. Bu dört pin kullanır: MOSI, MISO, SCK ve SS. İlk üçünün doğrudan bağlanması gerekir: yani MOSI'den MOSI'ye, MISO'dan MISO'ya, SCK'den SCK'ye. Bu pinlerin Arduino'nuzda bulunduğu yerler değişiklik gösterir, örneğin Arduino SPI belgelerinin "Bağlantılar" bölümüne bakın. SS (bağımlı seçim) bağlantısı biraz daha esnektir. SPI bağımlı tarafında (alıcı-verici), bu, NSS etiketli pime (tipik olarak) bağlanmalıdır. SPI master (Arduino) tarafında, bu pin herhangi bir I/O pinine bağlanabilir. Çoğu Arduino'nun ayrıca "SS" etiketli bir pimi vardır, ancak bu yalnızca Arduino bir SPI bağımlısı olarak çalıştığında geçerlidir, burada durum böyle değildir. Hangi pini seçerseniz seçin, kütüphaneye pin eşleştirme yoluyla hangi pini kullandığınızı söylemeniz gerekir (aşağıya bakın).

Alıcı-verici kartındaki DIO (dijital G/Ç) pinleri çeşitli işlevler için yapılandırılabilir. LMIC kitaplığı, alıcı-vericiden anlık durum bilgisi almak için bunları kullanır. Örneğin, bir LoRa iletimi başladığında, DIO0 pini bir TxDone çıkışı olarak yapılandırılır. İletim tamamlandığında, DIO0 pimi, LMIC kitaplığı tarafından algılanabilen alıcı-verici tarafından yükseltilir. LMIC kitaplığının yalnızca DIO0, DIO1 ve DIO2'ye erişmesi gerekir, diğer DIOx pinleri bağlantısız bırakılabilir. Arduino tarafında, mevcut uygulama kesintileri veya diğer özel donanım özelliklerini kullanmadığından herhangi bir I/O pinine bağlanabilirler (bu özellikte eklenmiş olsa da, "Zamanlama" bölümüne de bakın).

LoRa modunda DIO pinleri şu şekilde kullanılır:

  • DIO0: TxDone ve RxDone
  • DIO1: RxTimeoutIn

FSK modu aşağıdaki gibi kullanılır:

  • DIO0: PayloadReady ve PacketSent
  • DIO2: Zaman Aşımı

Her iki mod da sadece 2 pime ihtiyaç duyar, ancak alıcı verici, gerekli tüm kesintilerin aynı 2 pime eşleneceği şekilde eşlenmesine izin vermez. Bu nedenle, hem LoRa hem de FSK modları kullanılıyorsa, üç pinin tümü bağlanmalıdır. Arduino tarafında kullanılan pinler, çiziminizdeki pin eşlemesinde yapılandırılmalıdır (aşağıya bakın). Sıfırla Telsizin, onu açıkça sıfırlamak için kullanılabilecek bir sıfırlama pimi vardır. LMIC kitaplığı, çipin başlangıçta tutarlı bir durumda olmasını sağlamak için bunu kullanır. Pratikte, bu pin bağlantısız bırakılabilir, çünkü alıcı-verici açılışta zaten aklı başında bir durumda olacaktır, ancak bağlanması bazı durumlarda sorunları önleyebilir. Arduino tarafında herhangi bir I/O pini kullanılabilir. Kullanılan pin numarası, pin eşleştirmede yapılandırılmalıdır (aşağıya bakın).

Alıcı-verici iki ayrı anten bağlantısı içerir: Biri RX için diğeri TX için. Tipik bir alıcı-verici kartı, bu RX ve TX bağlantıları arasında tek bir antenin değiştirilmesine izin veren bir anten anahtar çipi içerir. Böyle bir anten değiştiriciye, genellikle hangi konumda olması gerektiği, genellikle RXTX olarak etiketlenen bir giriş pimi aracılığıyla söylenebilir. Anten anahtarını kontrol etmenin en kolay yolu, SX127x alıcı-verici üzerindeki RXTX pinini kullanmaktır. Bu pin, TX sırasında otomatik olarak yüksek ve RX sırasında düşük olarak ayarlanır. Örneğin, HopeRF panolarında bu bağlantı yerinde görünüyor, bu nedenle herhangi bir RXTX pinini açığa çıkarmazlar ve pin, pin eşleştirmede kullanılmamış olarak işaretlenebilir. Bazı kartlar anten değiştirici pimini ve bazen de SX127x RXTX pimini açığa çıkarır. Örneğin, SX1272 değerlendirme panosu, önceki FEM_CTX'i ve sonraki RXTX'i çağırır. Yine, bunları bir aktarma kablosuyla basitçe birbirine bağlamak en kolay çözümdür. Alternatif olarak veya SX127x RXTX pini mevcut değilse, LMIC anten anahtarını kontrol edecek şekilde yapılandırılabilir. Anten anahtarı kontrol pinini (örneğin Semtech değerlendirme kartındaki FEM_CTX) Arduino tarafındaki herhangi bir I/O pinine bağlayın ve pin haritasında kullanılan pini yapılandırın (aşağıya bakın). Yine de alıcı-vericinin anteni doğrudan kontrol etmesini neden istemediği tam olarak açık değil.

3. Adım: Bir Muhafazayı 3B Yazdırma

Bir Muhafazayı 3B Yazdırma
Bir Muhafazayı 3B Yazdırma
Bir Muhafazayı 3B Yazdırma
Bir Muhafazayı 3B Yazdırma

Her şeyi hazır hale getirdikten sonra, daha iyi görünen bir tasarım için modül için bir kasayı 3D yazdırmaya karar verdim.

Eldeki nihai ürünle, rögar boşluğuna kurulum ve bir gösterge panosunda gerçek zamanlı sonuçlar elde etmek kolaydı. Su seviyesi göstergeli gerçek zamanlı gaz konsantrasyonu değerleri, yetkililerin proaktif bir yaklaşımın yanı sıra sorunu ele almanın daha güvenli bir yolunu da sağladı.

Önerilen: