Inhoudsopgave:

PyonAir - een Open Source Air Pollution Monitor - Ajarnpa
PyonAir - een Open Source Air Pollution Monitor - Ajarnpa

Video: PyonAir - een Open Source Air Pollution Monitor - Ajarnpa

Video: PyonAir - een Open Source Air Pollution Monitor - Ajarnpa
Video: TOP 10 Extreme HARD Landing RYANAIR 2023 2024, Juli-
Anonim
PyonAir - een open source luchtvervuilingsmonitor
PyonAir - een open source luchtvervuilingsmonitor
PyonAir - een open source luchtvervuilingsmonitor
PyonAir - een open source luchtvervuilingsmonitor

De PyonAir is een goedkoop systeem voor het monitoren van lokale luchtvervuilingsniveaus, met name fijnstof. Gebaseerd op het Pycom LoPy4-bord en Grove-compatibele hardware, kan het systeem gegevens verzenden via zowel LoRa als wifi.

Ik heb dit project uitgevoerd aan de Universiteit van Southampton, waar ik in een team van onderzoekers werkte. Mijn primaire verantwoordelijkheid was het ontwerp en de ontwikkeling van de PCB. Dit was de eerste keer dat ik Eagle gebruikte, dus het was zeker een leerervaring!

Het doel van het PyonAir-project is om een netwerk van goedkope IoT-vervuilingsmonitors in te zetten waarmee we cruciale informatie kunnen verzamelen over de verspreiding en oorzaken van luchtvervuiling. Hoewel er veel vervuilingsmonitors op de markt zijn, bieden de meeste alleen "Air Quality Index", in plaats van onbewerkte PM-gegevens - vooral tegen betaalbare prijzen. Door het project open-source te maken, met eenvoudige installatie-instructies, hopen we het PyonAir-apparaat toegankelijk te maken voor iedereen die geïnteresseerd is in luchtkwaliteit, persoonlijk of professioneel. Dit apparaat kan bijvoorbeeld worden gebruikt om gegevens te verzamelen voor studentenprojecten, PhD's en onafhankelijke partijen, waardoor vitaal onderzoek dat bekend staat om hoge kosten veel beter bereikbaar is. Het project kan ook worden gebruikt voor outreach-doeleinden, communicatie met het publiek over hun lokale luchtkwaliteit en de stappen die kunnen worden genomen om deze te verbeteren.

Onze doelen van eenvoud en gebruiksgemak inspireerden onze beslissing om het Grove-systeem als de ruggengraat van ons ontwerp te gebruiken. Het brede scala aan compatibele modules stelt gebruikers van het systeem in staat om het PyonAir-apparaat aan hun behoeften aan te passen, zonder gedwongen te worden de fundamentele hardware opnieuw te ontwerpen. Ondertussen biedt LoPy4 van Pycom meerdere opties voor draadloze communicatie in een enkel, overzichtelijk pakket.

In deze instructable zal ik de ontwerpreis en stappen beschrijven om de PCB te vervaardigen, gevolgd door instructies voor het monteren van de volledige PyonAir-eenheid.

Benodigdheden

componenten:

  • LoPy4: Moederbord (https://pycom.io/product/lopy4/)
  • PyonAirPCB: eenvoudige aansluiting op Grove-sensoren
  • Plantower PMS5003: Luchtvervuilingssensor (https://shop.pimoroni.com/products/pms5003-particu…
  • Sensirion SPS30: Luchtvervuilingssensor (https://www.mouser.co.uk/ProductDetail/Sensirion/SPS30?qs=lc2O%252bfHJPVbEPY0RBeZmPA==)
  • SHT35-sensor: Temperatuur- en vochtigheidssensor (https://www.seeedstudio.com/Grove-I2C-High-Accurac…
  • Realtimeklok: back-upklokeenheid (https://s-u-pm-sensor.gitbook.io/pyonair/hardware/…
  • GPS-module: GPS-ontvanger voor tijd & locatie (https://www.seeedstudio.com/Grove-GPS-Module.html)
  • Grove kabels:
  • Pycom-antenne: LoRa-mogelijkheid (https://pycom.io/product/lora-868mhz-915mhz-sigfox…
  • Micro SD kaart
  • Voeding: Primaire voeding (aanbevolen:
  • Behuizing: IP66 115x90x65 mm weerbestendige ABS-kast (https://www.ebay.co.uk/itm/173630987055?ul_noapp=t…

Gereedschap:

  • Soldeerbout
  • Multimeter
  • Kleine schroevendraaier
  • FTDI-kabel (optioneel):

Stap 1: Over de PCB:

Over de PCB
Over de PCB
Over de printplaat
Over de printplaat

Grove-connectoren zijn een steeds populairdere standaard in het elektronica-ecosysteem van hobbyisten. De plug-and-play-connectoren maken het bevestigen en verwisselen van een breed scala aan modules eenvoudig en snel, zonder dat verbindingen opnieuw moeten worden gesoldeerd.

Ondertussen werd het LoPy4-bord van Pycom geselecteerd als de belangrijkste microcontroller voor de PyonAir, omdat het 4 draadloze communicatiemodi biedt: LoRa, Sigfox, WiFi en Bluetooth en is geprogrammeerd met MicroPython.

Arduino en Raspberry Pi ondersteunen al Grove-connectorschilden, maar er was nog geen vrijgegeven voor het Pycom-systeem. Daarom hebben we onze eigen printplaat voor uitbreidingskaarten ontworpen, die op het LoPy4-bord past. De printplaat bevat:

  • 2 I2C-aansluitingen (Temperatuursensor & RTC)
  • 3 UART-aansluitingen (2x PM-sensor & GPS)
  • Pinnen voor USB-gegevens
  • Een transistorcircuit voor het regelen van de stroom naar de PM-sensoren
  • Een transistorcircuit voor het regelen van de stroom naar de GPS-ontvanger
  • Micro SD-slot
  • Gebruikersknop
  • Voedingsingangsconnectoren (barrel, JST of schroefklem)
  • Spanningsregelaar

Stap 2: PCB V1-V3

PCB V1-V3
PCB V1-V3
PCB V1-V3
PCB V1-V3
PCB V1-V3
PCB V1-V3

PCB V1

Mijn eerste poging tot de PCB was gebaseerd op een "shim"-concept, waarbij een dunne PCB zou passen tussen het LoPy-bord en een Pycom-uitbreidingsbord, zoals de Pytrack (zie CAD-tekening). Als zodanig waren er geen montagegaten en was het bord erg basic, met alleen connectoren en een paar transistors om de PM-sensoren aan of uit te zetten.

Om eerlijk te zijn, er mankeerde veel aan dit bord:

  • De sporen waren veel te dun
  • Geen grondvlak
  • Vreemde transistororiëntaties
  • Ongebruikte ruimte
  • Het versielabel is geschreven in een track-laag, niet in zeefdruk

PCB V2

Tegen V2 was het duidelijk geworden dat we de PyonAir nodig hadden om te werken zonder een uitbreidingskaart, dus werden voedingsingangen, een UART-terminal en een SD-slot aan het ontwerp toegevoegd.

Problemen:

  • Tracks gekruiste montagegatzones
  • Geen LoPy-oriëntatiegids
  • Onjuiste richting van de DC-cilinderaansluiting

PCB V3

Er zijn relatief kleine wijzigingen aangebracht tussen V2 en V3 - meestal correcties op de bovenstaande problemen.

Stap 3: PCB V4

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

V4 bevatte een compleet herontwerp van de gehele PCB, waarbij de volgende wijzigingen zijn aangebracht:

  • Bijna elk onderdeel kan met de hand worden gesoldeerd of voorgemonteerd met PCBA
  • Montagegaten op hoeken
  • Componenten gegroepeerd in "Permanent", "Power" en "User" zones
  • Etiketten voor:

    • Ingangsspanningsbereik:
    • Documentatielink
    • LoPy LED-locatie
  • 2 opties voor SD-houders
  • Testpads
  • DC barrel jack kan op of onder het bord worden gemonteerd
  • Betere routering
  • Efficiënter verpakte componenten
  • Er werden langere vrouwelijke headerrijen toegevoegd, zodat een gebruiker 4x 8-pins headers zou kunnen gebruiken in plaats van 2 paar 8-pins en 6-pins headers, wat het iets goedkoper maakt.

Stap 4: PCB V5

PCB V5
PCB V5
PCB V5
PCB V5
PCB V5
PCB V5

De definitieve versie

Deze laatste paar aanpassingen zijn gedaan aan V5 voordat het door Seeed Studio werd ingediend voor PCBA-productie:

  • Nog nettere routering
  • Verbeterde labelpositionering
  • Bijgewerkte websitelink
  • Zeefdrukpads voor het labelen van PCB's tijdens het testen
  • Meer afgeronde hoeken (om beter in de gekozen behuizing te passen)
  • Aangepaste lengte van PCB om op behuizingsrails te passen

Stap 5: Hoe maak je je eigen: PCBA

Hoe maak je je eigen: PCBA
Hoe maak je je eigen: PCBA
Hoe maak je je eigen: PCBA
Hoe maak je je eigen: PCBA
Hoe maak je je eigen: PCBA
Hoe maak je je eigen: PCBA

Als u van plan bent minder dan 5 PCB's te maken, raadpleeg dan "Hoe u uw eigen printplaten maakt: handmatig solderen" (volgende stap).

PCBA Bestellen bij Seeed Studio

  1. Log in of maak een account aan op
  2. Klik op 'Bestel nu'.
  3. Upload Gerber-bestanden.
  4. Instellingen aanpassen (aantal printplaten & oppervlakteafwerking: HASL Loodvrij).
  5. Voeg een montagetekening en een pick-and-place-bestand toe.
  6. Selecteer PCBA-hoeveelheid.
  7. Stuklijst toevoegen. (N. B.: Als je het zelf solderen wilt vermijden en het langere wachten niet erg vindt, kun je de TSRN 1-2450 spanningsregelaar toevoegen aan de stuklijst.
  8. Toevoegen aan winkelwagen & bestellen!

Ga naar: https://s-u-pm-sensor.gitbook.io/pyonair/extra-inf… voor de vereiste bestanden.

Solderen van de spanningsregelaar

Het enige onderdeel dat moet worden gesoldeerd bij gebruik van de PCBA-service van Seeed, is de TSRN 1-2450-spanningsregelaar. Zoals hierboven vermeld, kunt u dit opnemen in de assemblagestuklijst, maar het kan veel meer tijd aan de bestelling toevoegen.

Als u het met de hand wilt solderen, voegt u gewoon de regelaar toe op de plaats die wordt aangegeven door de zeefdruk en zorgt u ervoor dat de oriëntatie correct is. De witte stip op de zeefdruk moet uitgelijnd zijn met de witte stip op de regelaar (zie foto).

Stap 6: Hoe u uw eigen maakt: handsolderen

Zelf maken: Handsolderen
Zelf maken: Handsolderen
Zelf maken: Handsolderen
Zelf maken: Handsolderen
Hoe maak je je eigen: Handsolderen
Hoe maak je je eigen: Handsolderen

Als u van plan bent een groot aantal PCB's te vervaardigen, raadpleegt u in plaats daarvan "Hoe u uw eigen PCBA maakt" (vorige stap).

PCB's bestellen

U kunt PCB's van veel websites kopen, waaronder Seeed Studio, waarvan sommige in minder dan een week kunnen worden geleverd. We hebben Seeed Fusion gebruikt, maar deze stappen zouden erg op andere sites moeten lijken.

  1. Log in of maak een account aan op
  2. Klik op 'Bestel nu'.
  3. Upload Gerber-bestanden.
  4. Instellingen aanpassen (aantal PCB's & Oppervlakteafwerking: HASL Loodvrij)
  5. Voeg toe aan winkelwagen en bestel!

Ga naar: https://s-u-pm-sensor.gitbook.io/pyonair/extra-inf… voor de vereiste bestanden.

Onderdelen bestellen

Omdat het bord extra pads heeft voor SMD/through-hole montage-opties, hoeft u niet elk onderdeel te vullen. Als je met de hand soldeert, is het het gemakkelijkst om alle SMD's te vermijden door het bord te vullen volgens de tabel in de afbeeldingen.

NB Als je zeker bent van een soldeerbout, is het ruimtebesparend en goedkoper om een Micro SD-slot voor opbouwmontage te gebruiken in plaats van de 8-pins header + breakout-kaart.

Stap 7: Hoe u uw eigen maakt: montage

Zelf maken: montage
Zelf maken: montage

Grove kabel aanpassingen

Om uw PM-sensoren op de grove connectoren aan te sluiten, moet u de sensorkabels op de grove kabels splitsen, zoals weergegeven in de afbeelding hierboven. U kunt dit doen met behulp van plooien of solderen en krimpen. Afhankelijk van de sensor die u gebruikt, moet u ervoor zorgen dat de pinout overeenkomt met de ingangen naar de printplaat.

Montage stappen

  1. Kies welke van de stroomingangen je wilt gebruiken (barrel jack / JST / screw terminal) en sluit de juiste voeding aan.
  2. Gebruik een multimeter om de V_IN- en 5V-testpads op de achterkant van de PCB te controleren.
  3. Als je tevreden bent dat het bord correct is gevoed, verwijder je de voeding. (Als dit niet het geval is, probeer dan een alternatieve voeding)
  4. Sluit de LoPy4 aan op de 16-pins headers en zorg ervoor dat de LED zich bovenaan bevindt (zoals weergegeven op de zeefdruk). De onderste 4 gaten in de headers zijn ongebruikt.
  5. Sluit elk van de Grove-apparaten aan op de bijbehorende aansluitingen op de printplaat.
  6. Sluit de micro SD-kaart aan.
  7. Sluit de voeding weer aan. De LED's op de LoPy4 en GPS moeten beide gaan branden.
  8. Gebruik een multimeter om de resterende testpads op de achterkant van de printplaat te controleren.
  9. Uw PyonAir zou nu klaar moeten zijn om te programmeren!

NB Zorg ervoor dat u de SD-kaart leegt en formatteert als FAT32 voordat u deze op het bord aansluit.

WAARSCHUWING: Sluit altijd maar één voedingsbron tegelijk aan. Als u meerdere voedingen tegelijk aansluit, kan er kortsluiting optreden in een batterij of netstroom!

Stap 8: Hoe u uw eigen software kunt maken

Voor onze softwareontwikkeling hebben we Atom en pymakr gebruikt. Beide zijn open-source en zouden op de meeste computers moeten werken. We raden aan deze te installeren voordat u de code voor het LoPy4-bord downloadt.

Pycom raadt aan de firmware van hun apparaten bij te werken voordat ze proberen te gebruiken. Volledige instructies over hoe u dit moet doen, vindt u hier:

Installatie

  1. Om uw PM-sensorapparaat in gebruik te nemen, downloadt u de nieuwste versie van onze code van GitHub: https://github.com/pyonair/PyonAir-pycom Zorg ervoor dat u alle bestanden uitpakt naar een handige locatie op uw pc of laptop en vermijd het hernoemen van bestanden.
  2. Open Atom en sluit alle huidige bestanden door met de rechtermuisknop op de map op het hoogste niveau te klikken en te klikken op "Projectmap verwijderen" in het menu dat verschijnt.
  3. Ga naar Bestand > Map openen en selecteer de map "lopy". Alle ingesloten bestanden en mappen zouden moeten verschijnen in het "Project"-paneel aan de linkerkant in Atom.
  4. Sluit de PyonAir-printplaat aan op uw pc of laptop met behulp van een FTDI-USB-kabel en de RX-, TX- en GND-pinnen op de header rechts van het bord.
  5. Het bord zou in Atom moeten verschijnen en automatisch verbinding moeten maken.
  6. Om de code te uploaden, klikt u eenvoudig op de knop "Uploaden" in het onderste deelvenster. Het proces kan enkele minuten duren, afhankelijk van het aantal bestanden dat moet worden verwijderd en geïnstalleerd. Zodra het uploaden is gelukt, drukt u op Ctrl + c op uw toetsenbord om de code te stoppen en koppelt u vervolgens de FTDI-USB-kabel los.

Configuratie

Wanneer u voor de eerste keer een nieuw apparaat instelt of als u instellingen wilt wijzigen, moet u dit via wifi configureren.

  1. Verwijder uw luchtvervuilingsmonitor uit alle gevallen zodat u toegang hebt tot de gebruikersknop.
  2. Bereid een telefoon of computer voor die verbinding kan maken met lokale wifi-netwerken.
  3. Schakel het PyonAir-apparaat in.
  4. Wanneer het apparaat voor de eerste keer wordt ingesteld, moet het zichzelf automatisch in de configuratiemodus schakelen, aangegeven door een knipperende blauwe LED. Houd anders de gebruikersknop op de Grove socket PCB (met het label CONFIG) 3 seconden ingedrukt. De RGB-led moet effen blauw worden.
  5. Maak verbinding met de wifi van het PyonAir-apparaat. (Dit wordt 'NewPyonAir' genoemd of hoe u het apparaat eerder ook noemde.) Het wachtwoord is 'newpyonair'.
  6. Voer https://192.168.4.10/ in uw webbrowser in. De configuratiepagina zou moeten verschijnen.
  7. Vul alle verplichte velden op de pagina in en klik op 'Opslaan' als u klaar bent. (U moet verbindingsgegevens verstrekken aan LoRa en WiFi, een unieke ID toewijzen aan elke sensor en uw voorkeuren met betrekking tot data-acquisitie specificeren.)
  8. Het PyonAir-apparaat zou nu opnieuw moeten opstarten en de door u opgegeven instellingen gebruiken.

Om je apparaat met LoRa te verbinden, registreer je het via The Things Network. Maak een nieuw apparaat met de apparaat-EUI die wordt weergegeven op de configuratiepagina en kopieer de toepassings-EUI en app-sleutel van TTN naar de configuraties.

Pybytes is de online IoT-hub van Pycom, waarmee u firmware kunt bijwerken, OTA-updates kunt uitvoeren en gegevens van aangesloten apparaten kunt visualiseren. Eerst moet je hier inloggen of een account aanmaken: https://pyauth.pybytes.pycom.io/login en volg dan de stappen om een nieuw apparaat te registreren.

Testen

De eenvoudigste manier om te testen of uw luchtvervuilingsmonitor correct werkt, is door een FTDI-USB-kabel en de RX-, TX- en GND-pinheaders op de Grove Socket PCB te gebruiken. Door het apparaat op deze manier aan te sluiten, kunt u alle berichten en metingen in Atom bekijken.

De RGB-LED op het LoPy-bord geeft de status van het bord weer:

  • Initialiseren = Amber
  • Initialisatie geslaagd = Groen lampje knippert twee keer
  • Geen toegang tot SD-kaart = Rood lampje knippert onmiddellijk na opstarten
  • Ander probleem = Rood lampje knippert tijdens initialisatie
  • Runtime-fouten = Rood knipperend

Standaard worden gegevens van de PyonAir naar de server van de University of Southampton gestuurd. U kunt de code bewerken voordat u het apparaat implementeert om het om te leiden naar een locatie naar keuze.

Stap 9: Zelf maken: implementatie

Zelf maken: implementatie
Zelf maken: implementatie
Zelf maken: implementatie
Zelf maken: implementatie

Nu uw luchtvervuilingsmonitor volledig is geconfigureerd, zou u klaar moeten zijn om het apparaat in te zetten!

Casus advies

De case die we voor onze apparaten hebben geselecteerd was: https://www.ebay.co.uk/itm/173630987055?ul_noapp=t… Voel je echter vrij om een andere case te kopen of je eigen case te ontwerpen. SolidWorks-bestanden voor de meeste hardware die we hebben gebruikt, zijn te vinden in de sectie Extra Info, om te helpen bij het ontwerpen van aangepaste cases. Een voorgestelde methode om de sensoren te plaatsen en gaten in de behuizing te maken, wordt ook getoond in de bovenstaande afbeelding.

Onthoud alleen dat uw zaak:

  • Bescherm de elektronica tegen water en stof
  • Montage van het apparaat ter plaatse toestaan
  • Laat lucht de PM-sensor(en) bereiken
  • Voorkom dat de elektronica oververhit raakt
  • Houd de elektronica stevig vast in de behuizing

Locatieadvies

Een ideale implementatielocatie voldoet aan de volgende criteria:

  • In een regio van belang voor luchtvervuiling
  • Uit direct zonlicht
  • Binnen het bereik van een LoRa-gateway
  • Binnen bereik van wifi
  • Dicht bij een stroombron
  • Veilige bevestigingspunten
  • In staat om GPS-signalen te ontvangen

Stap 10: Bestanden en tegoeden

Bestanden en tegoeden
Bestanden en tegoeden

Alle bestanden die je nodig hebt om je eigen volledige PyonAir te maken, zijn te vinden op: https://su-pm-sensor.gitbook.io/pyonair/extra-inf… (Zip-bestanden kunnen niet worden geüpload naar Instructables, sorry!) Het Gitbook bevat ook aanvullende informatie over de hardware en software.

Credits

Project begeleid door Dr. Steven J Ossont, Dr. Phil Basford & Florentin Bulot

Code door Daneil Hausner & Peter Varga

Circuitontwerp en instructies door Hazel Mitchell

Aanbevolen: