WindWiz

En GSM-uppkopplad vindmätare

Under huven

Syftet med denna blogg är att främst att dokumentera mitt egna vindmätarbygge. Men ibland kan det vara nyttigt att låta sig inspireras av liknande projekt. Skånes skärmklubb Club Parapente Syd har nyligen utökat sin arsenal av vindmätare med en ny mätare från italienska DPS Promatic och deras AWS-X väderstationsprodukt. Detta är samma typ av mätare som klubben redan har på Hammars backar, och är också mätaren som inspirerat mig till att börja bygga något eget.

I egenskap av nörd och tillika vindmätarfreak kunde jag inte låta bli att ta en titt på tekniken under huven. Här följer en kort sammanfattning.

Moderkort och instickskort (tryck för större bild)

Väderstationen levereras i flera delar och du kan själv vid beställning välja vilka givare och tillval du behöver.  Utöver den givna vindflöjeln och vindsnurran kan man även koppla på givare för regn, solstrålning, lufttryck, temperatur och luftfuktighet. Man kan även koppla på en LCD-display för utläsning på plats. En ganska trevlig flexibel moduläritet som jag ännu inte tagit höjd för i mitt egna projekt.

”CPU-boxen”, som innehåller all elektronik är inkapslad i en IP56-klassad plastbox. Detta innebär att den skall vara delvis skyddad från damm, och klara av att man spolar boxen med en vattenslang utan läckage. Inget jag har planer på att testa, men med tanke på Sveriges väderlek känns det inte orimligt att det kan hända.

I boxen finns en ganska redigt 12V blyack. Gissningsvis har man valt blyack över Lithium-kemi för att underlätta solpanelsladdning och ev. för att bredda väderstationens temperaturspann.

Elektroniken består av två kretskort, ett s k ”TCX”-kort och ett ”AWX”-kort. TCX-kortet innehåller GSM-modem, styr-CPU, spänningsreglering & matning, batteriladdning och andra mer generella komponenter medans AWX-kortet tillför för all väderstationsfunktionalitet. Man kan väl se TCX-kortet som ett moderkort och AWX-kortet som ett slags instickskort. En snabb visit på DPS Promatics hemsida avslöjar att de utöver sina väderstationer även säljer andra GSM-uppkopplade prylar, t.ex. en grindöppnare, som sannolikt också bygger på ett TCX-kort, fast med ett annat instickskort.

Gränssnittet mellan korten utgörs av 4 st signaler. De syns i ovan bild som 4 st färgglada kablar med varsin tvinnad jord (4 st svarta kablar). Jag har inte brytt mig om att karakterisera signalerna, men jag misstänker att det är ett seriellt protokoll med t.ex. en data-pinne i vardera riktning, en klocka och kanske en interrupt-pinne? Signalnivån ligger på 3.3V. Förutom de färgglada kablarna finns 12V spänningsmatning (tvinnad röd&svart kabel i bild) och en okänd grå kabel. Se nedan för min teori kring denne.

Båda korten har varsin Atmel Atmega64L mikrokontroller, dvs en något biffigare variant jämfört med Atmega328p som används i mitt bygge. Mikrokontrollern på TCX-kortet kör på 3.3V, medans CPU-matningsspänning på AWX-kortet ligger på 5V. Jag finner det mycket märkligt att de använder olika matningsspänningar och tvingar säkerligen på diverse nivå-omvandlingskomponenter mot gränssnitt-signalerna.

Eftersom väderstationen även kan avlyssnas per telefon innehåller AWX-kortet ett par (2) externa minnen där ljudklipp lagras. Dessa klipps sedan ihop under pågående samtal för att bilda de upplästa meningar man hör i luren. I min design valde jag ganska tidigt bort att utföra röstsyntetisering i vindmätaren för att minska krav på minne, CPU och för att inte tumma på ljudkvalité och planerar istället att göra det på en separat server.

Något jag inte helt funderat ut är hur ljuddata överförs tillbaks till TCX-moderkortet. Som jag nämnde tidigare finns det en ”okänd grå kabel” mellan korten. Jag misstänker att denna kanske bär ljuddata från instickskortet tillbaks till GSM-modemet. Just nu har jag inget oscilloskop nära tillhands, men mätning med enkel multimeter på den grå kabeln under pågående samtal visar inte på några svängningar likt en analog signal. Behöver ett riktigt oscilloskop nu! Den grå kabeln och närliggande komponenter är för övrigt riktigt dåligt lödad, som kan vara en indikation på att de monterats manuellt i efterhand. Jag vet att röstsyntetisering ej ingår i standardutbuden, vilket kan vara ytterligare en ledtråd till att den grå kabeln bär ljuddata.

Dålig lödning! Plasten på kontakten är delvis värmeskadad/smält.

När korten strömsätts startar stationen upp och börjar genast ge ifrån sig ett tickande ljud från sin lilla summer på undersidan. Detta trodde jag först var ett trasigt relä, men det skall tydligen vara så. Inte helt intuitivt. I sitt standardläge är inga Status-dioder tända och den tickar på. En gång i minuten piper den till och STATUS + GSM-dioderna blinkar kort.

Vad jag senare insåg är att detta är väderstationens sätt att indikera sin sömncykel. I sin fabriksinställning är nämligen mätaren konfigurerad till att sova 1 minut, vakna, titta efter inkomna konfigurations-SMS, behandla dem och slutligen somna om. Detta är ett sätt för stationen att spara ström eftersom den då kan stänga ner stora delar av komponenterna under sin sömncykel.

Varför man inte använt ett avbrott istället för att periodiskt polla SMS-inkorgen är ett mysterium. Modemet sover inte eftersom det i alla lägen måste kunna svara på ett inkommande samtal, och i alla modem jag någonsin arbetat med kan man också få modemet att signalera vid inkommande SMS, trots att de ligger i partiell sömn. Jag tror någon har varit lite lat i sin implementation här :) Följden blir att det tar upp till 1 minut att få svar på sina konfigurations-SMS. Segt! Jag var först osäker på om jag formaterat mitt meddelande rätt och hann skicka flera olika meddelanden innan jag fick svar på det första och poletten trillade ner.

Utöver sin uppringda funktionalitet kan väderstationen även sända sin mätdata till en server via en GPRS-anslutning. Detta är metoden som används för att samla in vinddata till CPS vindwebb och tanken är att även denna mätare skall kopplas på samma sida. Därför har jag även testkört denna funktionalitet i den nya mätaren. Tack å lov verkar paket-protokollet som DPS Promatic använder för att sända mätdata vara konsekvent med den äldre stationen, trots att de kör olika versioner av mjukvaran. Det gick förvånadsvärt smärtfritt att få den nya stationen att rapportera in mätvärden i databasen. Ett issue som måste lösas är dock att den nya stationen sänder vindhastighet i m/s, medans den gamla sänder i km/h. Det finns inte heller något sätt att särskilja paketen åt, bortsett från stationsnamn. Men man vill ju inte gärna hårdkoda in stationsnamn i mjukvaran som tar emot och behandlar paketen från vindmätarna, det blir snabbt ohållbart.

Jag mailade DPS Promatic och de hade inga råd att ge. Deras bästa tips var att uppgradera den gamla stationen så även den sänder med enhet m/s. På längre sikt är det tanken, men just nu inte möjligt eftersom jag för tillfället sitter 30+ mil bort från Hammars backar. Givetvis tillåter inte väderstationen fjärruppgradering. Doh! DPS Promatic kommer skicka en ny version av mjukvaran som jag kan använda för att uppgradera mätaren på plats i Hammar. Kommer kännas lite konstigt att sitta ute i naturen och programmera om en väderstation med laptop :)

Ni kan givetvis också räkna med en analys av mjukvaran så fort jag fått en kopia. Lite disassembly har ingen dött av!

Förhoppningsvis blir det montering i Vitemölla inom några veckor. Jag måste bara hitta lite gummi att täta kabelgenomföringshålen ordentligt. Slut på rapport!

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s

Följ

Få meddelanden om nya inlägg via e-post.

%d bloggers like this: