Innehållsförteckning:

PyonAir - en öppen källkod för luftföroreningar: 10 steg (med bilder)
PyonAir - en öppen källkod för luftföroreningar: 10 steg (med bilder)

Video: PyonAir - en öppen källkod för luftföroreningar: 10 steg (med bilder)

Video: PyonAir - en öppen källkod för luftföroreningar: 10 steg (med bilder)
Video: ELON'S IN THE TWITTER ALGORITHM?! OPEN SOURCE 2024, Juli
Anonim
PyonAir - en öppen källkod för luftföroreningar
PyonAir - en öppen källkod för luftföroreningar
PyonAir - en öppen källkod för luftföroreningar
PyonAir - en öppen källkod för luftföroreningar

PyonAir är ett billigt system för övervakning av lokala luftföroreningsnivåer - särskilt partiklar. Baserat på Pycom LoPy4-kortet och Grove-kompatibel hårdvara kan systemet överföra data över både LoRa och WiFi.

Jag tog mig an detta projekt vid University of Southampton och arbetade i ett team av forskare. Mitt huvudansvar var design och utveckling av kretskortet. Detta var första gången jag använde Eagle så det var definitivt en lärorik upplevelse!

Syftet med PyonAir-projektet är att distribuera ett nätverk av billiga IoT-föroreningsmonitorer som gör att vi kan samla viktig information om fördelningen och orsakerna till luftföroreningar. Även om det finns många föroreningsövervakare på marknaden, erbjuder de flesta bara "luftkvalitetsindex", snarare än råa PM -data - särskilt till överkomliga priser. Genom att göra projektet öppen källkod, med enkla installationsanvisningar, hoppas vi kunna göra PyonAir-enheten tillgänglig för alla som är intresserade av luftkvalitet, antingen personligen eller professionellt. Till exempel kan den här enheten användas för att samla in data för studentprojekt, doktorander och oberoende parter, vilket gör viktig forskning som har rykte om att höja kostnaderna mycket mer uppnåelig. Projektet kan också användas för uppsökande ändamål, kommunicera med allmänheten om deras lokala luftkvalitet och de åtgärder som kan vidtas för att förbättra den.

Våra mål om enkelhet och användarvänlighet inspirerade vårt beslut att använda Grove -systemet som ryggraden i vår design. Det stora utbudet av kompatibla moduler gör det möjligt för användare av systemet att anpassa PyonAir -enheten efter deras behov, utan att tvingas göra om den grundläggande hårdvaran. Samtidigt erbjuder Pycoms LoPy4 flera alternativ för trådlös kommunikation i ett enkelt, snyggt paket.

I denna instruktör kommer jag att beskriva designresan och stegen för att tillverka kretskortet, följt av instruktioner om hur du monterar hela PyonAir -enheten.

Tillbehör

Komponenter:

  • LoPy4: Huvudkort (https://pycom.io/product/lopy4/)
  • PyonAirPCB: Enkel anslutning till Grove -sensorer
  • Plantower PMS5003: Sensor för luftföroreningar (https://shop.pimoroni.com/products/pms5003-particu…
  • Sensirion SPS30: Sensor för luftföroreningar (https://www.mouser.co.uk/ProductDetail/Sensirion/SPS30?qs=lc2O%252bfHJPVbEPY0RBeZmPA==)
  • SHT35-sensor: Temperatur- och fuktsensor (https://www.seeedstudio.com/Grove-I2C-High-Accurac… …
  • Realtidsklocka: Backup-klockenhet (https://s-u-pm-sensor.gitbook.io/pyonair/hardware/…
  • GPS-modul: GPS-mottagare för tid och plats (https://www.seeedstudio.com/Grove-GPS-Module.html)
  • Grove-kablar:
  • Pycom-antenn: LoRa-funktion (https://pycom.io/product/lora-868mhz-915mhz-sigfox…
  • MicroSD -kort
  • Strömförsörjning: Primär strömförsörjning (rekommenderas:
  • Fodral: IP66 115x90x65 mm väderbeständig ABS -låda (https://www.ebay.co.uk/itm/173630987055?ul_noapp=t…

Verktyg:

  • Lödkolv
  • Multimeter
  • Liten skruvmejsel
  • FTDI-kabel (tillval):

Steg 1: Om kretskortet

Om PCB
Om PCB
Om PCB
Om PCB

Grove -kontakter är en alltmer populär standard i hobbyistelektronikens ekosystem. Plug-and-play-kontakterna gör det enkelt och snabbt att fästa och byta ett brett utbud av moduler, utan att behöva lösa fogar.

Samtidigt valdes Pycoms LoPy4 -kort som huvudmikrokontroller för PyonAir eftersom det erbjuder fyra trådlösa kommunikationslägen: LoRa, Sigfox, WiFi och Bluetooth och är programmerad med MicroPython.

Arduino och Raspberry Pi stöder redan Grove -kontaktsköldar men inga hade ännu släppts för Pycom -systemet. Därför konstruerade vi vårt eget expansionskortskort, som passar på LoPy4 -kortet. Kretskortet innehåller:

  • 2 I2C -uttag (temperatursensor och RTC)
  • 3 UART -uttag (2x PM -sensor och GPS)
  • Stift för USB -data
  • En transistorkrets för styrning av effekt till PM -sensorerna
  • En transistorkrets för att styra ström till GPS -mottagaren
  • Micro SD -kortplats
  • Användarknapp
  • Effektingångar (fat, JST eller skruvplint)
  • Spänningsregulator

Steg 2: Kretskort V1-V3

Kretskort V1-V3
Kretskort V1-V3
Kretskort V1-V3
Kretskort V1-V3
Kretskort V1-V3
Kretskort V1-V3

PCB V1

Mitt första försök med kretskortet baserades på ett "shim" -koncept, där ett tunt kretskort skulle passa mellan LoPy -kortet och ett Pycom -expansionskort, till exempel Pytrack (se CAD -ritning). Som sådan fanns det inga monteringshål och kortet var mycket grundläggande, med endast kontakter och ett par transistorer för att slå på eller av PM -sensorerna.

För att vara ärlig var det mycket fel med den här brädan:

  • Spåren var alldeles för tunna
  • Inget markplan
  • Konstiga transistororienteringar
  • Oanvänt utrymme
  • Versionsetiketten skrevs i ett spårlager, inte på en silkscreen

PCB V2

Vid V2 hade det blivit uppenbart att vi behövde PyonAir för att fungera utan ett expansionskort, så kraftingångar, en UART -terminal och en SD -kortplats kom till designen.

Frågor:

  • Spår korsade monteringshålzoner
  • Ingen LoPy -orienteringsguide
  • Felaktig DC -fatkontaktorientering

PCB V3

Relativt mindre ändringar gjordes mellan V2 och V3 - mestadels korrigeringar av frågorna ovan.

Steg 3: PCB V4

PCB V4
PCB V4
PCB V4
PCB V4
PCB V4
PCB V4
PCB V4
PCB V4

V4 presenterade en komplett redesign av hela kretskortet, där följande ändringar gjordes:

  • Nästan varje komponent kan lödas för hand eller förmonteras med PCBA
  • Monteringshål i hörnen
  • Komponenter grupperade i "Permanent", "Power" och "User" zoner
  • Etiketter för:

    • Ingångsspänningsområde
    • Dokumentationslänk
    • LoPy LED -plats
  • 2 alternativ för SD -hållare
  • Testkuddar
  • DC -fatuttag kan monteras ovanpå eller under brädet
  • Bättre routing
  • Mer effektivt packade komponenter
  • Längre kvinnliga rubrikrader har lagts till, så att en användare skulle kunna använda 4x 8-stifts rubriker, istället för 2 par med 8-stifts och 6-stifts rubriker, vilket gör det något billigare.

Steg 4: PCB V5

Kretskort V5
Kretskort V5
Kretskort V5
Kretskort V5
Kretskort V5
Kretskort V5

Den sista versionen

Dessa senaste justeringar gjordes till V5 innan den lämnades in för PCBA -tillverkning av Seeed Studio:

  • Ännu snyggare routing
  • Förbättrad etikettpositionering
  • Uppdaterad webbplatslänk
  • Silkscreen kuddar för märkning av PCB under testning
  • Fler rundade hörn (för att passa bättre i det valda höljet)
  • Justerad PCB -längd för att passa skenor

Steg 5: Hur man gör din egen: PCBA

Hur man gör din egen: PCBA
Hur man gör din egen: PCBA
Hur man gör din egen: PCBA
Hur man gör din egen: PCBA
Hur man gör din egen: PCBA
Hur man gör din egen: PCBA

Om du planerar att tillverka färre än 5 kretskort, se "Hur man gör ditt eget: Handlödning" (nästa steg) istället.

PCBA -beställning från Seeed Studio

  1. Logga in eller skapa ett konto på
  2. Klicka på "Beställ nu".
  3. Ladda upp Gerber -filer.
  4. Justera inställningarna (PCB-kvantitet och ytfinish: HASL blyfri).
  5. Lägg till monteringsritning och plocka och placera fil.
  6. Välj PCBA -kvantitet.
  7. Lägg till BOM. (NB: Om du vill undvika att lödda det själv och inte har något emot den längre väntan, kan du lägga till spänningsregulatorn TSRN 1-2450 i BOM.
  8. Lägg i varukorgen & beställ!

Besök: https://s-u-pm-sensor.gitbook.io/pyonair/extra-inf… för de nödvändiga filerna.

Lödning av spänningsregulatorn

Den enda delen som kräver lödning vid användning av Seeeds PCBA-tjänst är spänningsregulatorn TSRN 1-2450. Som nämnts ovan kan du inkludera detta i monteringslistan, men det kan lägga mycket mer tid på beställningen.

Om du är glad att lödda den för hand, lägg helt enkelt till regulatorn på den plats som visas på silkscreen och se till att orienteringen är korrekt. Den vita pricken på silkscreen ska ligga i linje med den vita pricken på regulatorn (se bild).

Steg 6: Hur man gör din egen: Handlödning

Hur man gör din egen: Handlödning
Hur man gör din egen: Handlödning
Hur man gör din egen: Handlödning
Hur man gör din egen: Handlödning
Hur man gör din egen: Handlödning
Hur man gör din egen: Handlödning

Om du planerar att tillverka ett stort antal kretskort, se "Hur man gör egna: PCBA" (föregående steg) istället.

Beställning av kretskort

Du kan köpa kretskort från många webbplatser, inklusive Seeed Studio, med några som kan levereras på under en vecka. Vi använde Seeed Fusion, men dessa steg bör likna mycket andra webbplatser.

  1. Logga in eller skapa ett konto på
  2. Klicka på "Beställ nu".
  3. Ladda upp Gerber -filer.
  4. Justera inställningarna (PCB-kvantitet och ytfinish: HASL blyfri)
  5. Lägg i varukorgen och beställ!

Besök: https://s-u-pm-sensor.gitbook.io/pyonair/extra-inf… för de nödvändiga filerna.

Beställning av delar

Eftersom brädet har ytterligare kuddar för SMD/genomgående hålmonteringsalternativ behöver du inte fylla i alla delar. Om du lödder för hand är det lättast att undvika alla små och medelstora företag genom att fylla på kortet enligt tabellen som visas på bilderna.

N. B. Om du är säker på ett lödkolv är det mer rymdeffektivt och billigare att använda en ytmonterad Micro SD-plats istället för den 8-poliga rubriken + utbrottskortet.

Steg 7: Hur man gör din egen: Montering

Hur man gör din egen: Montering
Hur man gör din egen: Montering

Grove -kabeländringar

För att ansluta dina PM -sensorer till lundkontakterna måste du skarva sensorkablarna på lundkablarna, som visas på bilden ovan. Du kan göra detta med antingen crimps eller lod och värmekrympning. Beroende på vilken sensor du använder måste du se till att pinout matchar ingångarna med kretskortet.

Monteringssteg

  1. Välj vilken av ingångarna du vill använda (fatuttag / JST / skruvterminal) och anslut lämplig matning.
  2. Använd en multimeter för att kontrollera testkuddarna V_IN och 5V på baksidan av kretskortet.
  3. När du är nöjd med att kortet är korrekt drivet, ta bort strömförsörjningen. (Om inte prova alternativ strömförsörjning)
  4. Anslut LoPy4 till 16-stiftshuvudena och se till att lysdioden är överst (som visas på silkscreen). De 4 nedre hålen i rubrikerna är oanvända.
  5. Anslut alla Grove -enheter till matchande uttag på kretskortet.
  6. Anslut micro SD -kortet.
  7. Anslut strömförsörjningen igen. Lysdioderna på LoPy4 och GPS bör båda tändas.
  8. Använd en multimeter för att kontrollera de återstående testkuddarna på baksidan av kretskortet.
  9. Din PyonAir ska nu vara redo att programmera!

N. B. Se till att du tömmer SD -kortet och formaterar det som FAT32 innan du ansluter det till kortet.

VARNING: Anslut bara en strömkälla åt gången. Om du ansluter flera förbrukningsmaterial samtidigt kan det leda till att batteriet eller nätspänningen stängs av!

Steg 8: Hur man gör din egen: Programvara

För vår mjukvaruutveckling använde vi Atom och pymakr. Båda dessa är öppen källkod och bör fungera på de flesta datorer. Vi rekommenderar att du installerar dessa innan du laddar ner koden för LoPy4 -kortet.

Pycom rekommenderar att du uppdaterar firmware på sina enheter innan du försöker använda dem. Fullständiga instruktioner om hur du gör det hittar du här:

Installation

  1. För att få igång din PM-sensorenhet, ladda ner den senaste versionen av vår kod från GitHub: https://github.com/pyonair/PyonAir-pycom Se till att du extraherar alla filer till en bekväm plats på din dator eller bärbara dator och undvik att byta namn på någon av filerna.
  2. Öppna Atom och stäng alla aktuella filer genom att högerklicka på den översta mappen och klicka på "Ta bort projektmapp" i menyn som visas.
  3. Gå till Arkiv> Öppna mapp och välj mappen "lopy". Alla innehållna filer och mappar ska visas i rutan "Projekt" till vänster i Atom.
  4. Anslut PyonAir-kretskortet till din PC eller bärbara dator med en FTDI-USB-kabel och RX-, TX- och GND-stiften på huvudet till höger om kortet.
  5. Kortet ska dyka upp i Atom och ansluta automatiskt.
  6. För att ladda upp koden, klicka helt enkelt på knappen "Ladda upp" i den nedre rutan. Processen kan ta några minuter, beroende på hur många filer som måste tas bort och installeras. När uppladdningen har lyckats trycker du på Ctrl + c på tangentbordet för att stoppa koden och kopplar sedan ur FTDI-USB-kabeln.

Konfiguration

När du konfigurerar en ny enhet för första gången eller om du vill ändra några inställningar måste du konfigurera den via WiFi.

  1. Ta bort din luftföroreningsmonitor från alla fall så att du kan komma åt användarknappen.
  2. Förbered en telefon eller dator som kan ansluta till lokala WiFi -nätverk.
  3. Slå på PyonAir -enheten.
  4. När enheten installeras för första gången bör den automatiskt växla över till konfigurationsläge, indikerat med blå lysdiod som blinkar. Annars trycker du på och håller ned användarknappen på Grove -uttaget PCB (märkt CONFIG) i 3 sekunder. RGB -lysdioden ska bli fast blå.
  5. Anslut till PyonAir -enhetens WiFi. (Detta kommer att heta 'NewPyonAir' eller vad du tidigare har namngett enheten.) Lösenordet är 'newpyonair'.
  6. Ange https://192.168.4.10/ i din webbläsare. Konfigurationssidan ska visas.
  7. Fyll i alla obligatoriska fält på sidan och klicka på "Spara" när du är klar. (Du måste ange anslutningsinformation till LoRa och WiFi, tilldela varje sensor ett unikt ID och ange dina preferenser gällande datainsamling.)
  8. PyonAir -enheten ska nu starta om och använda de inställningar du angav.

För att ansluta din enhet till LoRa, registrera den via The Things Network. Skapa en ny enhet med Device EUI som visas på konfigurationssidan och kopiera Application EUI och App Key från TTN till konfigurationerna.

Pybytes är Pycoms online IoT -hubb, genom vilket du kan uppdatera firmware, utföra OTA -uppdateringar och visualisera data från anslutna enheter. Först måste du logga in eller skapa ett konto här: https://pyauth.pybytes.pycom.io/login följ sedan stegen för att registrera en ny enhet.

Testning

Det enklaste sättet att testa att din luftföroreningsmonitor fungerar korrekt är att använda en FTDI-USB-kabel och RX-, TX- och GND-stifthuvuden på Grove Socket PCB. Om du ansluter enheten på detta sätt kan du se alla meddelanden och avläsningar i Atom.

RGB -lysdioden på LoPy -kortet visar kortets status:

  • Initiera = Bärnsten
  • Initialiseringen lyckades = Grönt ljus blinkar två gånger
  • Kan inte komma åt SD -kort = Röd lampa blinkar direkt efter start
  • Annat problem = Rött ljus blinkar under initialiseringen
  • Körtidsfel = Rött blinkande

Som standard kommer data från PyonAir att skickas till University of Southamptons server. Du kan redigera koden innan du distribuerar enheten för att omdirigera den till en plats du väljer.

Steg 9: Hur du gör din egen: Distribution

Hur man gör din egen: Distribution
Hur man gör din egen: Distribution
Hur man gör din egen: Distribution
Hur man gör din egen: Distribution

Nu när din luftföroreningsmonitor är helt konfigurerad bör du vara redo att distribuera enheten!

Råd om fall

Fallet vi valde för våra enheter var: https://www.ebay.co.uk/itm/173630987055?ul_noapp=t… Du kan dock köpa ett annat fodral eller designa ditt eget. SolidWorks -filer för de flesta hårdvaror som vi använde finns i avsnittet Extra info för att hjälpa till med att designa anpassade fall. En föreslagen metod för att ordna sensorerna och skära hål i höljet visas också på bilden ovan.

Kom bara ihåg att ditt fall ska:

  • Skydda elektroniken mot vatten och damm
  • Tillåt montering av enheten på plats
  • Låt luft nå PM -sensorn
  • Förhindra att elektroniken överhettas
  • Håll elektroniken säkert inne i fodralet

Platsråd

En idealisk distributionsplats uppfyller följande kriterier:

  • I en region av intresse för luftföroreningar
  • Utan direkt solljus
  • Inom räckhåll för en LoRa -gateway
  • Inom räckvidd för WiFi
  • Nära en strömkälla
  • Säkra fästpunkter
  • Kan ta emot GPS -signaler

Steg 10: Filer och krediter

Filer och krediter
Filer och krediter

Alla filer du behöver för att skapa din egen fullständiga PyonAir finns på: https://su-pm-sensor.gitbook.io/pyonair/extra-inf… (Zip-filer kan inte laddas upp till Instructables, förlåt!) Gitbook innehåller också ytterligare information om hårdvaran och programvaran.

Poäng

Projekt som övervakas av Dr Steven J Ossont, Dr Phil Basford & Florentin Bulot

Kod av Daneil Hausner & Peter Varga

Kretsdesign och instruktioner av Hazel Mitchell

Rekommenderad: