Innholdsfortegnelse:

PyonAir - en åpen kildekode luftforurensningsmonitor: 10 trinn (med bilder)
PyonAir - en åpen kildekode luftforurensningsmonitor: 10 trinn (med bilder)

Video: PyonAir - en åpen kildekode luftforurensningsmonitor: 10 trinn (med bilder)

Video: PyonAir - en åpen kildekode luftforurensningsmonitor: 10 trinn (med bilder)
Video: CS50 2015 - Week 4 2024, Juli
Anonim
PyonAir - en åpen kildekode luftforurensningsmonitor
PyonAir - en åpen kildekode luftforurensningsmonitor
PyonAir - en åpen kildekode luftforurensningsmonitor
PyonAir - en åpen kildekode luftforurensningsmonitor

PyonAir er et rimelig system for overvåking av lokale luftforurensningsnivåer - spesielt partikler. Basert rundt Pycom LoPy4-kortet og Grove-kompatibel maskinvare, kan systemet overføre data over både LoRa og WiFi.

Jeg påtok meg dette prosjektet ved University of Southampton, og jobbet i et team av forskere. Mitt hovedansvar var design og utvikling av kretskortet. Dette var første gang jeg brukte Eagle, så det var definitivt en lærerik opplevelse!

Målet med PyonAir-prosjektet er å distribuere et nettverk av rimelige IoT-forurensningsmonitorer som lar oss samle avgjørende informasjon om fordelingen og årsakene til luftforurensning. Selv om det er mange forurensningsmonitorer på markedet, tilbyr de fleste bare "luftkvalitetsindeks", i stedet for rå PM -data - spesielt til rimelige priser. Ved å gjøre prosjektet åpen kildekode, med enkle oppsettsinstruksjoner, håper vi å gjøre PyonAir-enheten tilgjengelig for alle som er interessert i luftkvalitet, enten personlig eller profesjonelt. Denne enheten kan for eksempel brukes til å samle inn data for studentprosjekter, doktorgrader og uavhengige parter, noe som gjør vitenskapelig forskning som har rykte for å øke kostnadene mye mer oppnåelig. Prosjektet kan også brukes til oppsøkende formål, og kommunisere med publikum om deres lokale luftkvalitet og trinnene som kan tas for å forbedre den.

Våre mål om enkelhet og brukervennlighet inspirerte vår beslutning om å bruke Grove -systemet som ryggraden i designet vårt. Det brede utvalget av kompatible moduler vil tillate brukere av systemet å tilpasse PyonAir -enheten til deres behov, uten å bli tvunget til å redesigne den grunnleggende maskinvaren. I mellomtiden tilbyr Pycoms LoPy4 flere alternativer for trådløs kommunikasjon i en enkelt, pen pakke.

I denne instruksen vil jeg beskrive designreisen og trinnene for å produsere kretskortet, etterfulgt av instruksjoner om hvordan du monterer hele PyonAir -enheten.

Rekvisita

Komponenter:

  • LoPy4: Hovedkort (https://pycom.io/product/lopy4/)
  • PyonAirPCB: Enkel tilkobling til Grove -sensorer
  • Plantower PMS5003: Luftforurensningssensor (https://shop.pimoroni.com/products/pms5003-particu…
  • Sensirion SPS30: Luftforurensningssensor (https://www.mouser.co.uk/ProductDetail/Sensirion/SPS30?qs=lc2O%252bfHJPVbEPY0RBeZmPA==)
  • SHT35-sensor: Temperatur- og fuktighetssensor (https://www.seeedstudio.com/Grove-I2C-High-Accurac… …
  • Sanntidsklokke: Backup-klokkeenhet (https://s-u-pm-sensor.gitbook.io/pyonair/hardware/…
  • GPS-modul: GPS-mottaker for tid og plassering (https://www.seeedstudio.com/Grove-GPS-Module.html)
  • Grove-kabler:
  • Pycom-antenne: LoRa-funksjonalitet (https://pycom.io/product/lora-868mhz-915mhz-sigfox…
  • MicroSD -kort
  • Strømforsyning: Primær strømforsyning (anbefalt:
  • Veske: IP66 115x90x65 mm værbestandig ABS -boks (https://www.ebay.co.uk/itm/173630987055?ul_noapp=t…

Verktøy:

  • Loddejern
  • Multimeter
  • Liten skrutrekker
  • FTDI-kabel (valgfritt):

Trinn 1: Om PCB

Om PCB
Om PCB
Om PCB
Om PCB

Grove -kontakter er en stadig mer populær standard i det hobbyistiske elektronikkøkosystemet. Plug-and-play-kontaktene gjør det enkelt og raskt å feste og bytte et bredt spekter av moduler, uten å måtte løse leddene.

I mellomtiden ble Pycoms LoPy4 -kort valgt som den viktigste mikrokontrolleren for PyonAir ettersom den tilbyr 4 trådløse kommunikasjonsmoduser: LoRa, Sigfox, WiFi og Bluetooth og er programmert ved hjelp av MicroPython.

Arduino og Raspberry Pi støtter allerede Grove -kontaktskjermer, men ingen hadde ennå blitt utgitt for Pycom -systemet. Derfor designet vi vårt eget ekspansjonskort -kretskort, som passer på LoPy4 -kortet. PCB inneholder:

  • 2 I2C -kontakter (temperatursensor og RTC)
  • 3 UART -kontakter (2x PM -sensor og GPS)
  • Pinner for USB -data
  • En transistorkrets for styring av strøm til PM -sensorene
  • En transistorkrets for kontroll av strøm til GPS -mottakeren
  • Micro SD -spor
  • Bruker -knapp
  • Strøminngangskontakter (fat, JST eller skrueterminal)
  • Spenningsregulator

Trinn 2: PCB V1-V3

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

PCB V1

Mitt første forsøk på PCB var basert på et "shim" -konsept, der en tynn PCB ville passe mellom LoPy -kortet og et Pycom -utvidelseskort, for eksempel Pytrack (se CAD -tegning). Som sådan var det ingen monteringshull, og brettet var veldig grunnleggende, med bare kontakter og et par transistorer for å slå PM -sensorene på eller av.

For å være ærlig, var det mye galt med dette brettet:

  • Sporene var altfor tynne
  • Ingen bakkeplan
  • Merkelige transistororienteringer
  • Ubrukt plass
  • Versjonsetiketten ble skrevet i et sporlag, ikke silketrykk

PCB V2

Ved V2 hadde det blitt klart at vi trengte PyonAir for å fungere uten et utvidelseskort, så strøminnganger, en UART -terminal og et SD -spor ble lagt til designet.

Problemer:

  • Spor krysset monteringshullssoner
  • Ingen LoPy orienteringsguide
  • Feil DC -fatkontaktorientering

PCB V3

Det ble gjort relativt små endringer mellom V2 og V3 - for det meste korrigeringer av problemene ovenfor.

Trinn 3: PCB V4

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

V4 inneholdt et komplett redesign av hele kretskortet, der følgende endringer ble gjort:

  • Nesten hver komponent kan loddes for hånd eller forhåndsmonteres med PCBA
  • Monteringshull i hjørner
  • Komponenter gruppert i "Permanent", "Power" og "User" soner
  • Etiketter for:

    • Inngangsspenningsområde
    • Link til dokumentasjon
    • LoPy LED -plassering
  • 2 alternativer for SD -holdere
  • Testputer
  • DC fatkontakt kan monteres på toppen eller under brettet
  • Bedre ruting
  • Mer effektivt pakket komponenter
  • Lengre kvinnelige topptekster ble lagt til, slik at en bruker kunne bruke 4x 8-pinners hoder, i stedet for 2 par 8-pinners og 6-pinners overskrifter, noe som gjør det litt billigere.

Trinn 4: PCB V5

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

Den siste versjonen

Disse siste justeringene ble gjort på V5 før den ble sendt for PCBA -produksjon av Seeed Studio:

  • Enda ryddigere ruting
  • Forbedret posisjonering av etiketter
  • Oppdatert lenke til nettsted
  • Silketrykkputer for merking av PCB under testing
  • Flere avrundede hjørner (for å passe bedre inn i det valgte kabinettet)
  • Justert PCB -lengde for å passe til skapskinner

Trinn 5: Hvordan lage din egen: PCBA

Hvordan lage din egen: PCBA
Hvordan lage din egen: PCBA
Hvordan lage din egen: PCBA
Hvordan lage din egen: PCBA
Hvordan lage din egen: PCBA
Hvordan lage din egen: PCBA

Hvis du planlegger å produsere færre enn 5 PCB, kan du se "Hvordan lage din egen: Håndlodding" (neste trinn) i stedet.

PCBA -bestilling fra Seeed Studio

  1. Logg deg på eller opprett en konto på
  2. Klikk på 'Bestill nå'.
  3. Last opp Gerber -filer.
  4. Juster innstillingene (PCB-mengde og overflatebehandling: HASL blyfri).
  5. Legg til monteringstegning og velg og legg -fil.
  6. Velg PCBA -mengde.
  7. Legg til BOM. (NB: Hvis du vil unngå å lodde det selv og ikke har noe imot lengre ventetid, kan du legge til TSRN 1-2450 spenningsregulatoren i styklisten.
  8. Legg i handlevogn og bestill!

Besøk: https://s-u-pm-sensor.gitbook.io/pyonair/extra-inf… for de nødvendige filene.

Lodding av spenningsregulatoren

Den eneste delen som krever lodding ved bruk av Seeeds PCBA-tjeneste er TSRN 1-2450 spenningsregulator. Som nevnt ovenfor kan du inkludere dette i monteringslisten, men det kan legge mye mer tid til bestillingen.

Hvis du er glad i å lodde den for hånd, kan du bare legge til regulatoren på stedet som vises på silketrykket, og sørge for at retningen er riktig. Den hvite prikken på silketrykket skal være på linje med den hvite prikken på regulatoren (se bilde).

Trinn 6: Hvordan lage din egen: Håndlodding

Hvordan lage din egen: Håndlodding
Hvordan lage din egen: Håndlodding
Hvordan lage din egen: Håndlodding
Hvordan lage din egen: Håndlodding
Hvordan lage din egen: Håndlodding
Hvordan lage din egen: Håndlodding

Hvis du planlegger å produsere et stort antall PCB -er, kan du se "Hvordan lage din egen: PCBA" (forrige trinn) i stedet.

Bestilling av PCB

Du kan kjøpe PCB fra mange nettsteder, inkludert Seeed Studio, med noen som kan levere på under en uke. Vi brukte Seeed Fusion, men disse trinnene burde ligne veldig på andre nettsteder.

  1. Logg deg på eller opprett en konto på
  2. Klikk på 'Bestill nå'.
  3. Last opp Gerber -filer.
  4. Juster innstillingene (PCB-mengde og overflatebehandling: HASL blyfri)
  5. Legg i handlekurven og bestill!

Besøk: https://s-u-pm-sensor.gitbook.io/pyonair/extra-inf… for de nødvendige filene.

Bestilling av deler

Siden brettet har flere pads for alternativer for montering av SMD/gjennomgående hull, trenger du ikke fylle ut alle deler. Hvis du lodder for hånd, er det lettest å unngå alle SMD -er ved å fylle ut brettet i henhold til tabellen vist på bildene.

N. B. Hvis du er trygg på et loddejern, er det mer plasseffektivt og billigere å bruke et overflatemontert Micro SD-spor i stedet for 8-pinners topptekst + breakout-bord.

Trinn 7: Hvordan lage din egen: Montering

Hvordan lage din egen: Montering
Hvordan lage din egen: Montering

Grove -kabelendringer

For å koble PM -sensorene til lundkontaktene må du skjøte sensorkablene på lundekablene, som vist på bildet ovenfor. Du kan gjøre dette ved å bruke enten krymper eller lodding og varmekrymping. Avhengig av sensoren du bruker, må du sørge for at pinout matcher inngangene til PCB.

Monteringstrinn

  1. Velg hvilken av inngangene du ønsker å bruke (fatkontakt / JST / skrueterminal) og koble til riktig strømforsyning.
  2. Bruk et multimeter for å kontrollere V_IN og 5V testputene på baksiden av kretskortet.
  3. Når du er glad for at kortet er riktig drevet, må du fjerne strømforsyningen. (Hvis ikke prøv alternativ strømforsyning)
  4. Koble LoPy4 til 16-pinners hoder, og kontroller at LED-en er øverst (som vist på silketrykket). De nederste 4 hullene i hodene er ubrukte.
  5. Koble hver av Grove -enhetene til de matchende kontaktene på kretskortet.
  6. Koble til micro SD -kortet.
  7. Koble til strømforsyningen igjen. Lysdiodene på LoPy4 og GPS skal begge slås på.
  8. Bruk et multimeter for å kontrollere de resterende testputene på baksiden av kretskortet.
  9. Din PyonAir skal nå være klar til å programmere!

N. B. Sørg for å tømme SD -kortet og formatere det som FAT32 før du kobler det til kortet.

ADVARSEL: Koble bare til én strømkilde om gangen. Hvis du kobler til flere forsyninger samtidig, kan det føre til kortslutning på batteri eller strøm!

Trinn 8: Hvordan lage din egen: Programvare

For vår programvareutvikling brukte vi Atom og pymakr. Begge disse er åpen kildekode og skal fungere på de fleste datamaskiner. Vi anbefaler å installere disse før du laster ned koden for LoPy4 -kortet.

Pycom anbefaler at du oppdaterer fastvaren til enhetene sine før du prøver å bruke dem. Fullstendige instruksjoner for hvordan du gjør det finner du her:

Installasjon

  1. For å få PM-sensoren din i gang, last ned den nyeste versjonen av koden vår fra GitHub: https://github.com/pyonair/PyonAir-pycom Sørg for å trekke ut alle filene til et praktisk sted på din PC eller bærbare datamaskin og unngå å gi nytt navn til noen av filene.
  2. Åpne Atom og lukk gjeldende filer ved å høyreklikke på mappen på øverste nivå og klikke "Fjern prosjektmappe" i menyen som vises.
  3. Gå til Fil> Åpne mappe og velg "lopy" -mappen. Alle de inneholdte filene og mappene skal vises i "Prosjekt" -ruten til venstre i Atom.
  4. Koble PyonAir-kretskortet til PCen eller den bærbare datamaskinen ved hjelp av en FTDI-USB-kabel og RX-, TX- og GND-pinnene på toppteksten til høyre på brettet.
  5. Brettet skal dukke opp i Atom og koble til automatisk.
  6. For å laste opp koden klikker du bare på "Last opp" -knappen i den nederste ruten. Prosessen kan ta noen minutter, avhengig av hvor mange filer som må fjernes og installeres. Når opplastingen er vellykket, trykker du Ctrl + c på tastaturet for å stoppe koden, og koble deretter fra FTDI-USB-kabelen.

Konfigurasjon

Når du konfigurerer en ny enhet for første gang, eller hvis du vil endre noen innstillinger, må du konfigurere den via WiFi.

  1. Fjern luftforurensningsmonitoren fra alle tilfeller slik at du får tilgang til brukerknappen.
  2. Forbered en telefon eller datamaskin som kan koble til lokale WiFi -nettverk.
  3. Slå på PyonAir -enheten.
  4. Når du setter opp enheten for første gang, bør den automatisk bytte til konfigurasjonsmodus, indikert med blå LED som blinker. Ellers kan du trykke på og holde inne brukerknappen på PC -kortet til Grove -kontakten (merket CONFIG) i 3 sekunder. RGB -LED -en skal lyse konstant blå.
  5. Koble til PyonAir -enhetens WiFi. (Dette vil bli kalt 'NewPyonAir' eller hva du tidligere har kalt enheten.) Passordet er 'newpyonair'.
  6. Skriv inn https://192.168.4.10/ i nettleseren din. Konfigurasjonssiden skal vises.
  7. Fyll ut alle obligatoriske felt på siden og klikk "Lagre" når du er ferdig. (Du må oppgi tilkoblingsdetaljer til LoRa og WiFi, tildele en unik ID til hver sensor og angi preferansene dine for datainnsamling.)
  8. PyonAir -enheten skal nå starte på nytt og bruke innstillingene du oppga.

For å koble enheten til LoRa, registrer den via The Things Network. Lag en ny enhet med Device EUI vist på konfigurasjonssiden, og kopier Application EUI og App Key fra TTN til konfigurasjonene.

Pybytes er Pycoms online IoT -hub, der du kan oppdatere fastvare, utføre OTA -oppdateringer og visualisere data fra tilkoblede enheter. Først må du logge deg på eller opprette en konto her: https://pyauth.pybytes.pycom.io/login, følg deretter trinnene for å registrere en ny enhet.

Testing

Den enkleste måten å teste at luftforurensningsmonitoren din fungerer på, er ved å bruke en FTDI-USB-kabel og RX, TX & GND-pinnehodene på Grove Socket PCB. Ved å koble til enheten på denne måten kan du se alle meldingene og avlesningene i Atom.

RGB -LED -en på LoPy -kortet viser statusen til kortet:

  • Initialisering = Gult
  • Initialiseringen lyktes = Grønt lys blinker to ganger
  • Får ikke tilgang til SD -kort = Rødt lys blinker umiddelbart etter oppstart
  • Annet problem = Rødt lys blinker under initialisering
  • Kjøretidsfeil = Rødt blinkende

Som standard vil data fra PyonAir bli sendt til University of Southamptons server. Du kan redigere koden før du distribuerer enheten for å omdirigere den til et sted du ønsker.

Trinn 9: Hvordan lage din egen: Distribusjon

Hvordan lage din egen: Distribusjon
Hvordan lage din egen: Distribusjon
Hvordan lage din egen: Distribusjon
Hvordan lage din egen: Distribusjon

Nå som luftforurensningsmonitoren er fullstendig konfigurert, bør du være klar til å distribuere enheten!

Saksråd

Saken vi valgte for enhetene våre var: https://www.ebay.co.uk/itm/173630987055?ul_noapp=t… Du kan imidlertid kjøpe en annen etui eller designe din egen. SolidWorks -filer for det meste av maskinvaren vi brukte, er gitt i Extra Info -delen for å hjelpe deg med å designe tilpassede saker. En foreslått metode for å arrangere sensorene og skjære hull i saken er også vist på bildet ovenfor.

Bare husk at saken din skal:

  • Beskytt elektronikken mot vann og støv
  • Tillat montering av enheten på stedet
  • La luften nå PM -sensoren (e)
  • Forhindre at elektronikken overopphetes
  • Hold elektronikken godt inne i saken

Plasseringsråd

Et ideelt distribusjonssted vil oppfylle følgende kriterier:

  • I en region av interesse for luftforurensning
  • Uten direkte sollys
  • Innen rekkevidde av en LoRa -gateway
  • Innen rekkevidde av WiFi
  • I nærheten av en strømkilde
  • Sikre festepunkter
  • Kan motta GPS -signaler

Trinn 10: Filer og studiepoeng

Filer og studiepoeng
Filer og studiepoeng

Alle filene du trenger for å lage din egen fulle PyonAir finner du på: https://su-pm-sensor.gitbook.io/pyonair/extra-inf… (Zip-filer kan ikke lastes opp til Instructables, beklager!) Gitbook inneholder også tilleggsinformasjon om maskinvare og programvare.

Studiepoeng

Prosjekt overvåket av Dr Steven J Ossont, Dr Phil Basford og Florentin Bulot

Kode av Daneil Hausner & Peter Varga

Kretsdesign og instruksjoner av Hazel Mitchell

Anbefalt: