Jonas Nygård Skalman

Projektavslutning

Hej

Nu är projektet avslutat för vår del!

Här kommer en bild föreställande badsensorn under den sista monteringen.

Vi tänkte avsluta detta sista blogginlägg med att dels sammanfatta projektet samt ta upp lite lärdomar vi har tagit åt oss.

Innan vi går igenom det så kan dock vara ett bra tillfälle att ställa sig frågan igen, varför skall man ha en sådan här uppkopplad badsensor? Det finns ingen rätt svar här, utan det blir mer argument för och emot.

Några punkter för är rimligtvis: Bekvämlighet (enkelt att hitta information om alla badplatser). Mätdata under lång tid (kan bli väldigt användbart framöver). Det kan skapa ett ytterligare teknikintresse (utveckling). Det kan öka intresset för badplatserna(alla/vissa). Det skulle i princip också kunna bidra till mindre resande (enkelt att titta om det ”värt” att åka och bada idag).

Några argument emot skulle kunna vara. Mer resande (skulle kunna få en motsatt effekt istället). ”Onödigt” varför inte bara åka och titta osv.

Det finns många fler argument både för och emot, men dessa frågor är något alla utvecklare bör ställa sig någon gång.

 

Med dessa ord sagda så går vi över till själva sammanfattningen av hela projektet. Vi börjar från börjar med projektstart till projektavslut.

Projektstart

Om vi börjar från början. Från projektstarten hade vi några krav på oss, nämligen följande:

Krav Badsensor:

  • Skall använda sig av LoRaWAN
  • Skall mäta minst två stycken parametrar
  • Skall klara att användas minst en badsäsong (1 juni – 31 augusti)

Utifrån dessa krav så kom vi fram till att vi skulle mäta lufttemperatur, vattentemperatur samt solinstrålning(ljusintensitet). Vi utformade också en grov tidsplanering som såg ut på följande sätt.

Här innan hade vi också kommit överens om att uppdela projektet i de tre huvuddelarna för att hinna med så mycket som möjligt (analog design, lorawan kommunikation samt kommunikation med de två temp givarna). Varje person var då ansvarig för att se till att sin egen ansvarsdel skulle bli klar i tid.

Från början var det tänkt att ett blogginlägg / vecka skulle publiceras. Vi har dock ej kunnat uppfylla detta fullt ut. Då vissa inlägg har tagit mer på sig än vad som först räknades med. I övrigt så har denna planering hållit sig någorlunda bra, med övriga delar cirka 1 vecka försenade. Vilket innebar att reservveckan var välbehövlig för att färdigställa alla tre huvuddelar i projektet.

Komponenter

Efter att konceptet var utformat så kom valet av komponenter. Vid detta val så hade vi följande prioriteringslista, där 1 är högsta prioritet.

 

  1. Miljöpåverkan (exempel: Inga batterier)
  2. Kostnad
  3. Tillgänglighet (exempel: solcell → datablad)
  4. Komplexitet (utvecklingstid)

Med valet av komponenter så kom vi fram till att använda oss utav B-L072Z-LRWAN1, DS18B20 (dallas one wire temp givare) samt solcell+superkondensatorer för strömförsörjningen. Med tillgänglighet så menas att komponenterna skall vara lätta att få tag på och hela komplexiteten på badsensorn får inte bli för stor då vi har en väldigt begränsad tidsbudget.

Analog del

Denna del är välbeskriven i det tidigare inlägget, så vi går inte in i mycket detalj här. Den slutgiltliga versionen som konstruerades såg ut på följande sätt.

Till vänster ser vi mönsterkortet från ovan med utgångar till solpanel, superkondensatorer samt extra solcellen som mäter ljusintensitet. I den högra bilden har vi de två stora 400F kondensatorerna som står för lagringen av den energi som behövs för badsensorn.

 

LoRaWAN

När det kom till Lorawan delen så utgick vi från End nod exemplet som återfinns i I-CUBE-LRWAN . Ursprungsprogrammet fungerar enligt följande tillståndsmaskin.

caption id=”attachment_138″ align=”alignnone” width=”773″ Lorawan state machine källa: ST I-CUBE-LRWAN middleware programming guidelines, page 27./caption

Det fungerar som då att efter hårdvaruinitiering så försöker den connecta med lorawan nätverket (vilka parametrar måste ställas in). Om den lyckas så provar den sända data, lyckas den ej så går till sleep mode och försöker igen vid nästa sändningstillfälle. I vårt fall så är programmet modifierat till att endast använda sig av Lorawan klass A, vilket betyder att den endast lyssnar tillbaka en kortare stund efter varje uppladdningsförsök. Sändningsintervallet är inställt till 15 minuter, vilket sammanfaller med mätningarna av de tre olika givarna, (luft, vatten samt ljusintensitet).

DS18B20 (dallas one wire)

De temperaturgivare som används har också beskrivits i tidigare blogginlägg, så vi går inte in på detalj här igen. En sammanfattning presenteras åter igen här nedan.

Tester och mätningar

För att svara på om vi uppfyllt de givna kraven så har vi utfört lite testar på följande parametrar.

  • Strömmätningar:
  • Upp och urladdning av superkondensatorer
  • Strömmätning av mikrokontrollern
  • Kommunikationstest med LoRaWAN och Gateway
  • Kommunikationstest med prototyp och DS18B20 (dallas one wire)

Utöver detta så har en grövre prisuppskattning (material) genomförts för att se vad kostnaden för prototypen ligger på just nu.

 

Resultat av mätningar

Max strömförbrukning vid radio sändning samt vid temperaturmätning.

Som kan ses är den maximala strömförbrukningen runt 100 mA. För sleep mode ligger strömförbrukningen istället runt nedan uppmätta nivåer.

I sleep mode så ligger strömförbrukningen alltså runt 2,4 mA. Vilket är mycket mer än vad vi hade räknat med tidigare.

Vid mätningar över superkondensatorerna själva så ligger den totala medelförbrukningen på strax över 3 mA.

Detta skulle då medföra att med fulladdade superkondensatorer så skulle badsensorn klara sig strax över 24 timmar utan någon solinstrålning alls.

Lorawan kommunikationstest

Vid uppkoppling mot Lorawan gatewayen så kunde vi skicka upp all relevant data utan större problem.

Bilden ovan visar hur data ser ut när den kommer in till databasen. I detta fall så skickades korrekt data på alla 3 parametrar.

DS18B20 mätning

Temperaturgivarna DS18B20 kontrollerades också mot några vanliga temperaturgivare inomhus. Ett exempel visas nedan.

Som bilden visar, så skiljer det endast 0,1 grad mellan DS18B20 och den ”vanliga” temperaturmätaren.

 

Prisuppskattning

Så slutligen, kanske den mest intressanta parametern för vissa personer, vad kostar då en sådan här badsensor? Priset blir som all ekonomi en fråga om volym, men om vi bara ser till de materialkostnader som vi använt oss utav i denna prototyp så blir priset för diverse komponenter uppskattningsvis följande.

Alltså, vi hamnar vid en siffra på runt 1300 kr. Där de största kostnaderna som ses utgörs av utvecklingskortet, mönsterkorten(pcb, låg volym) samt superkondensatorerna.

Slutsatser

Om vi återkopplar till de uppsatta parametrarna i början så kan vi nu ge några svar angående just dessa.

Krav Badsensor:

  • Skall använda sig av LoRaWAN – Uppfyllt! (se resultat ovan)
  • Skall mäta minst två stycken parametrar – Uppfyllt! (Vattentemp, lufttemp, ljusintensitet)
  • Skall klara att användas minst en badsäsong (1 juni – 31 augusti) – Uppfyllt (Se strömmätningar ovan)

Förutsatt att badsensorn kan få solinstrålning minst med 24 timmars uppehåll (från full laddning) så kommer det inte att vara några problem med att använda badsensorn under en hel badsäsong.

 

Lärdomar

Några av de lärdomar som vi dragit av projektet är följande.

  • Vikten av en bra (utförlig) förstudie
  • Uppdelning av arbete (utvecklingstid)
  • Samarbete – tillit
  • Kontinuerlig dokumentation
  • Teknisk utveckling (stm32, lorawan, dallas one wire)

Alla dessa delar är ju inte nya lärdomar i sig, men det är inte alltid något som har prövats praktiskt. Som exempel kan ges att vi gemensamt genomförde ett ganska omfattande förstudie för projektet, vilket starkt bidrog till att vi inte stötte på några större problem med själva projektet under dess gång. Det är annars lätt att man gärna vill sätta igenom direkt med det tekniska arbetet, men med en bra grund att stå på så blir allt så mycket klarare och tydligare längre fram. Det är också viktigt att man kan lita på sina gruppmedlemmar och säga som det är. Med det menas att det bör vara en sådan miljö inom gruppen att alla vågar säga som det är, exempelvis: kör man fast på en grej och/eller inte kan något så kan man säga det utan att vara rädd för att repressalier från andra gruppmedlemmar. Detta bidrar till en mycket mer positiv utvecklingsmiljö och i längden ett snabbare och bättre jobb. Sen slutgiltigt så återkommer vikten av att ha en kontinuerlig dokumentation, det underlättar så mycket för alla andra också när detta genomförs på rätt sätt.

Sett till tekniska lärdomar så har vi bland annat utvecklat vår förståelse framförallt med STM32 mikrokontrollers, ingen av oss hade erfarenhet av dessa sen tidigare. Detta bidrog till att utvecklingstiden tog lite längre på vissa delar än vad vi hade hoppats på men den tiden tror vi att man lätt kan tjäna igen i framtida projekt. Vi fick också porta över ett existerande dallas one wire bibliotek till STM32L072 mikrokontrollern, vilket ledde till en djup insikt över själva protokollet också. Sen givetvis har vi dragit vissa lärdomar om Lorawan självt.

 

Fortsatt utveckling

Vad kan då göras vid en fortsatt utveckling av denna badsensor. Några förslag med relativt hög prioritet skulle kunna vara.

  • Optimering av Badsensorn
    • Stänga av Badsensorn under natten (Spara energi)
    • Förbättra laddningen (Effektivisera)
    • Optimera super kondensatorerna  (Pris -> kapacitans)
  • Förbättra konstruktionen
    • Enklare montering eller för fabriks konstruktion

Det första som bör göras är dock att testa prototypen under kommande badsäsong för att verkligen utvärdera och därefter förbättra de bristande delarna.

 

 

Med detta så tackar vi för oss för denna gång!

/Med vänliga hälsningar

Jonas, Viktor, Kastriot