June 19, 2002

Först lite bakgrundsinformation kanske, jag studerar till civilingenjör elektroteknik på Chalmers i Göteborg. Tillsammans med ett par kompisar (vi är 5-10 stycken nu) utvecklar jag ett hemautomationssystem som fortfarande befinner sig i startgroparna. Vi designar allting från scratch och har valt att använda oss av CAN-bussen, den återfinns bland annat i moderna bilar. Än så länge är projektet inte jättekompetent, men det blir bättre och bättre hela tiden.
Systemet använder centraliserad logik, det vill säga en dator som koordinerar alla noder mot varandra. Här kommer en liten sammanfattning av vad jag har än så länge (taget direkt ifrån min blogg):
Datorinterface
Jag är medlem i ett elektronikprojekt om ungefär tio personer vars mål är att utveckla ett hemautomationssystem, det vill säga ett sätt att skapa det intelligenta hemmet. Det befinner sig fortfarande rejält i utvecklingsstadiet, men nu har jag dragit ut lite kabel och kopplat det så att det är fast anslutet till mediaservern.
[Image Can Not Be Found] [Image Can Not Be Found]
Anslutningen består av en usb->rs232-omvandlare som är ansluten till ett generellt kort (nodeEssential) som är vårat grundläggande kort. Uppställningen kanske inte är jättesnygg, men den fungerar sålänge tills det hela blir ethernetanslutet. Jag har dessutom en ansluten nod på skrivbordet som just nu mäter temperaturen, men det är tänkt att det ska bli en liten utvecklingshörna här med ett par noder.
Kylning av Tv-Bänken
Tjosan! Ledig förmiddag betyder meck med hemautomationen! Eftersom jag placerat min stereoförstärkare i tv-möbeln blir det väldigt varmt där inne och om det är något jag inte gillar så är det varm elektronik. Alltså tänker jag montera in en fläkt för att kyla av, och fläktens varvtal ska givetvis bero på temperaturen där inne.
[Image Can Not Be Found] [Image Can Not Be Found]
Idag nöjer jag mig dock med att försöka ta reda på hur mycket kylning som behövs, så jag har gjort ett hål och monterat in en fläkt med en liten fläktkontroller på som gör att jag kan ställa in temperaturen manuellt. Passade även på att snygga upp kabeldragningen runt tv-möbeln när jag ändå var igång. Nu ska jag iväg till Andreasson Musik och testa gitarreffektpedaler med Björn!
[Image Can Not Be Found] [Image Can Not Be Found]
Temperaturövervakning av TV-Bänken
Ikväll betsämde jag mig för att fortsätta lite med hemautomationen så jag lödde ihop en liten nod som övervakar temperaturen i min TV-Möbel, närmare bestämt avdelningen där förstärkaren står. Jag använde en generisk nod med en liten kopplingsyta på som passade perfekt. Efter att jag lött på en DS18S20-termometer såg det ut såhär:
[Image Can Not Be Found] [Image Can Not Be Found]
Det fungerade utmärkt, jag saknade dock en vettig låda att bygga in det i så jag tog en antistatpåse ifrån elfa som jag klippte ett hål för sensorn i bara. Isolerade med lite eltejp ifrån biltema efter att bilden togs. Nu funkar det iallafall utmärkt, jag har en temperatur på mellan 35 och 45 grader beroende på belastning och en rumstemperatur på 25 grader. Jag hoppas att det inte är för varmt, men ska se om jag inte kan få lite mer fart på fläkten. Temperaturen står på LCD-Skärmen som jag har på skrivbordet, men det ska snyggas till innan jag visar bilder här.
[Image Can Not Be Found] [Image Can Not Be Found]
Nummerpresentatör
Idag har jag färdigställt min nummerpresentatör och byggt in den i en låda. Den är ansluten till hemautomationen såklart, och här har jag ett par bilder:
[Image Can Not Be Found] [Image Can Not Be Found]
Jag har minsann filat och putsat och borrat! Och den passade perfekt efter lite mekkande
[Image Can Not Be Found] [Image Can Not Be Found]
Jag har använt ett perlscript för att kommunicera med growl på datorn som visar ett fint meddelande när någon ringer. Fungerar finfint! För övrigt var vi på ikea i helgen och köpte en del smått och gott, kommer bilder på det inom kort!
Vill du veta mer om projektet kan du svänga in på vår projektsida.
June 19, 2002

Liten uppdatering med nya generella kort!
Nu har vi fått CoreCard, det nya generella kortet gjort för expansioner. Det är mycket högre kvalité på de här korten än på de tidigare från olimex. Ännu är de inte bestyckade, men de har bland annat möjlighet till switchad spänningsmatning. Jag har också lött ihop en nodeusb för anslutning till datorn, men jag vet inte om jag kommer att koppla in den innan jag får ihop en etherhetnod.
[Image Can Not Be Found] [Image Can Not Be Found]
På bilden syns också två av de gamla generella noderna, nodeessential som har färre utgångar och bara vanlig linjärregulator till spänningsmatningen. De nya är dessutom billigare, 10 kronor styck inkl moms och frakt vid beställning av 100 stycken. Lysande!
Dags för en liten uppdatering då!
Lite om min RGB-Lampa
Jag har en lampa ansluten till hemautomationssystemet, närmare bestämt en RGB-diod. En RGB-diod består av en röd, en grön och en blå lysdiod i samma kapsel. Detta gör att jag kan välja vilken nyans som helst genom att ändra ljusstyrkan på de olika lysdioderna. I dagsläget kan jag också tona mellan olika nyanser som man kan ställa in i program som sedan laddas över till lampan, just nu kör jag ett program som går igenom alla regnbågens färger. Mycket vackert tycker jag.
[Image Can Not Be Found] [Image Can Not Be Found]
Man kan välja program och ändra ljusstyrka med hjälp av fjärrkontrollen också. Jag har lagt in stöd för att kunna välja en fast färg med fjärrkontrollen, men det är inte implementerat än. En liten film på 30 sekunder den där tonar finns att ladda hem här (32.4 MB). Kameran ser saker som ögat inte uppfattar, flimmret syns inte alls och färgerna är betydligt med övertygande med blotta ögat.
[Image Can Not Be Found] [Image Can Not Be Found]
Övervakning i bilen!
Ja, då vill det sig inte bättre än att jag har påbörjat bygget av en liten skärm till bilen. Allt är inte klart för mig ännu, men det som är bestämt är att det blir en 20×2 alfanumerisk OLED samt en rotary encoder som gränssnitt. Vackert grönt, precis som resten av belysningen i bilen. Jag vill ha displayen där för att hålla koll på diverse saker i bilen, första versionen kommer inte att kunna styra något utan bara övervaka. Jag tänker använda CAN för att kunna expandera med fler kort sen, men någon intern canbuss finns inte i bilen så det är inget att koppla in sig på.
Jag vill på sikt kunna övervaka:
* Laddtryck
* Varvtal
* Hastighet
* Lambda-värde (smalbands)
* Spridartider (det vill säga bränsleförbrukning)
* Oljetemperatur
* Oljetryck
* Ev. insugstemperatur
Första versionen kommer att ha stöd för laddtryck och varvtal, sen blir det ett externt sensorkort för att hålla koll på resten av sakerna. Har läst på lite i servicemanualen till insprutningssystemet och det verkar inte vara så lurigt att läsa av sensorerna, mest analoga sensorer. Intressant är lösningen för de lågohmiga spridarna, de får först en kort puls på 12v för att öppnas helt och sedan kopplas ett ballastmotstånd in som begränsar spänningen till ungefär 2.5v vilket får spridaren att hålla sig öppen. Detta gör att påslagningstiden blir väldigt kort så att mjukvaran i styrboxen slipper kompensera för detta.
Just nu håller jag på med kretskortslayoten till displaykortet, det är inte ens nästan klart än. Det är mycket att tänka på, transientskydd så att inte allt brinner upp på grund av den smutsiga elektriska miljön i en bil. En lämplig laddtrykssensor har jag också hittat tror jag, ska se om man inte kan få lite gratis samples…
Ny display till bildatorn!
Tjoho, nu har jag äntligen fått OLED-displayen ansluten till ett nylött kort. Mycket snyggare och snabbare än den tattiga LCD-displayen jag hade förut. Den gröna färgen kommer att passa perfekt till alla andra gröna lampor i saaben. Har lagt till två skärmar med mätdata till och snyggat till koden för displaykortet, nu är det verkligen dags att börja designa sensorkortet med rätt ingångsfilter och operationsförstärkare. Har två snygga bilder och en snitsig liten film som visar hur jag tänkt mig att det hela ska se ut.
[Image Can Not Be Found] [Image Can Not Be Found]
En liten film som bland annat visar den nya snabbare skärmanimationen finns här (ca 20m). Filmen finns även komprimerad i m4v-format (ca 3mb) här: här
Uppdateringsdags! Lite mer med sensorkortet till bilen!
Har börjat lite smått med tester för sensorkortet nu, fick nämligen trycksensorerna ifrån freescale idag. Kopplade snabbt in en av de till ett löst generellt kort för att testa och visst funkade den. Än så länge är det helt okalibrerat så värdena som står är felaktiga, men det går ändå att blåsa i slangen och ändra värdet. Rätt häftigt tycker jag. Jag är i princip färdig med layouten av sensorkortet också, så jag ska etsa det någon dag snart hade jag tänkt.
[Image Can Not Be Found] [Image Can Not Be Found]
En liten film på när jag blåser i sensorn finns här. Jag censurerade bort de något osmakliga sug-och-blås-ljuden
Yttertempetarusensor!
Det börjar bli lite kallt ute, så en yttertemperaturmätare kan vara trevligt för att se hur mycket kläder man behöver ha på sig egentligen. Givetvis ansluts denna till hemautomationssystemet. En perfekt liten tentaflykt såhär på måndagkvällen. Jag hade tyvärr ingen bra nod att använda till det här så det fick bli ett kort som jag tidigare haft i kopplingsdäck, generellt kort. Min tanke är att senare ha en grym väderstation som kan mäta luftfuktighet och andra grejer så det fick bli en tillfällig lösning.
[Image Can Not Be Found] [Image Can Not Be Found]
En fastlödd sensor för innertemperatur, den verkar dock värmas upp en del av kortet så jag vet inte hur mycket man kan lita på den. Jag får sätta en annan utanför lådan och jämföra helt enkelt. Sedan tog jag en fiffilurig låda och sandpapprade upp ett hål för kabeln (note to self: Köp filar! Asjobbigt att sandpappra!). Passar perfekt!
[Image Can Not Be Found] [Image Can Not Be Found]
Givetvis måste det finnas en sensor för att mäta temperaturen där ute också, en DS18S20 blir perfekt här också. Båda temperatursensorerna sitter på samma entrådsbuss, riktigt smidigt. Den ena kabeln som sticker ut ifrån lådan är CAN-anslutningen och den andra går till yttertemperatursensorn. Det gick åt en del krympslang till yttertemperatursensorn så jag hoppas att den håller ett tag nu. Vi får se hur bra den klarar fukt och snö.
[Image Can Not Be Found] [Image Can Not Be Found]
Förvånandsvärt nog fungerade allting på försa försöket, tjoho! Nu har jag yttertemperatur, innertemperatur och temperatur i TV-möbeln. Börjar bli dags att skriva en bättre LCD-mjukvara så man kan välja vilken av sensorerna man vill kika närmare på. En annan given förbättring är att sätta sensorn i skuggan, som det är nu visar den väldigt optimistiska värden ibland.
[Image Can Not Be Found] [Image Can Not Be Found]
Håller även på med en lite snyggare LCD-utskrift som visar vad man bör ha på sig givet yttertemperaturen. Till exempel så spottar den ut “Mössa, Vantar” om det är under fyra grader. Snitsigt tycker jag!
Minikvällsuppdatering
Har fixat till så den skriver ut klädesplagg nu.. Dock bara enkelt. Under 10 grader: Vantar, under 6 grader: Vantar och Mössa. Nu vill jag ha en grafisk LCD vid dörren som kan rita vad man bör ha på sig, får börja pilla på en drivare till den grafiska LCD:n jag har liggandes här kanske
[Image Can Not Be Found] [Image Can Not Be Found]
Landrash: Tack Det är alltid kul med positiv feedback
Om ni undrar varför det har varit slött med uppdateringar beror det på att jag har skaffat en ny bil (likadan fast bättre... och snabbare!) och den är inte riktigt färdigpysslad. Läcker kylarvatten från turbon för stunden. Sen är jag mitt uppe i tentaperioden också, så det ska nog bli bättring snart hoppas jag.
June 19, 2002

Lek med grafisk display!
Gårdagens projekt var att börja få igång den grafiska displayen till hemautomationen så att jag skulle ha en trevlig eftermiddag efter tentan idag. Vid åttatiden igår släpptes dock den magiska röken ur någon av kapslarna på kortet så det var inte direkt skoj att lägga projektet ifrån sig. Efter lite felsökning på ETA under lunchrasten kom det dock fram att det bara var en konding som hade kortslutits, lätt och billigt att fixa! Passade på att bygga ihop två noder extra när jag ändå var igång så nu har jag två nya generella kort (CoreCard), en essential och en generic (med kopplingsyta) till liggandes på skrivbordet utan funktion. Bra att ha under utvecklingen. Jag kopplade iallafall upp ett CoreCard för att använda som grafisk LCD-nod som test.
[Image Can Not Be Found] [Image Can Not Be Found]
Vem har sagt att labbplatta inte kan vara snyggt? Utförde lite kontrollmätningar och testprogram som verifierade att själva noden tog emot och skickade CAN ordentligt. Detta tog ungefär två timmar på grund av en bugg i vårat BIOS för noden vilket gjorde att noden hängde sig illa kvickt. Då var det dags att koppla in displayen då…
[Image Can Not Be Found] [Image Can Not Be Found]
Med den isatt var det bara att fortsätta koda drivrutin till LCDn, och för en dryg timma sedan lyckades jag skriva ut text. Sedan var det inte jättejobbigt att få ut grafik på den, fick det att fungera för ett par minuter sen bara… En vacker testbild:
[Image Can Not Be Found] [Image Can Not Be Found]
Fungerar precis som det ska! Nu måste jag dock sluta blogga, ska ut på stan och äta med Johanna för att fira att tentorna är över för den här gången. Ska nog pilla med pixelina lite imorgon efter att jag letat rätt på läckan i bilen
Lite allt och möjligt! Dagens inlägg handlar om lite mer än bara hemautomation, det får ni stå ut med
Idag har det varit en ganska bra dag får jag lov att säga! Först och främst så började jag med att försöka lokalisera vart bilen läcker kylarvatten. Problemet har varit att det har varit fuktigt lite överallt i motorrummet så jag har inte riktigt kunnat se vart det läcker någonstans. Till sist verkade det dock som att vi kom på det, det är helt enkelt kylaren som läcker. När vi har kört har fartvinden gjort att glykolvattnet blåst in i motorutrymmet och fått det att se ut som att något annat läcker. På grund av den gigantiska intercoolern var det dock svårt att se exakt vart det läckte. Imorgon ska vi köpa kylarcement för att se om det hjälper, i sådana fall har vi lokaliserat felet. Förhoppningsvis räcker det, annars får det bli en begagnad kylare helt enkelt. Skönt att det inte verkar vara något värre iallafall! Det var en stor börda som lyftes från mina axlar
[Image Can Not Be Found] [Image Can Not Be Found]
För det andra fick jag tag på en morgonrock inne i stan, en födelsedagspresent ifrån mina föräldrar. Hittade en riktigt snygg och mysig på hemtex, så den fick det bli. Har inte tagit några bilder på den dock, men snygg är den När man ändå är inne i stan måste man ju gå till clas ohlson, där passade jag på att köpa en billig skruvdragare som jag tänkt att använda för att dra upp persiennerna via hemautomationen. Det är för mig helt ofattbart att det går att köpa en skruvdragare med tillhörande bits för 39 spänn. Efter lite snabba tester hemma visade det sig att motorn var tillräckligt kraftig för att dra upp persiennen och att växellådan var tillräckligt trög för att den inte skall åka ner igen när man släpper spänningen till batteriet.
[Image Can Not Be Found] [Image Can Not Be Found]
Fortsatte att skruva isär den så att jag separerade motor och växel, men det gav inte speciellt mycket. Motorn är förvisso mindre än skalet men det är såpass smidigt att få en bra anslutning till utväxlingen så det får bli lite större. Ljuddämpning är dock ett måste, usch vad den gnäller när man belastar den lite grand.
[Image Can Not Be Found] [Image Can Not Be Found]
Detta var mer en liten studie inför nästa bygge, jag ska inte dra igång med det på riktigt förrän yttertemperaturmätaren med pixelina är inbyggd i låda och sitter på väggen. Jag har hittat ett program som bygger om bitmappar till c-arrayer anpassade för den grafiska displayen, men har ingen källkod till det så jag får väl skriva ett eget program så att man kan köra det under linux. Jag har iallafall lyckats lägga ut pixelina på displayen, och det blir riktigt läckert. Har en liten bild på detta också såklart.
[Image Can Not Be Found] [Image Can Not Be Found]
Morgondagens plan är att först och främst hämta ut ett paket på posten och att köpa kylarcement och hoppas att kylaren fixas av det. Det innebär även en trevlig tur runt med bilen eftersom det tydligen tar ett tag för cementen att göra sin magi. Sen hade jag även tänkt att knacka lite mer LCD-kod till den grafiska displayen för att visa temperatur på den och börja fundera på hur lådan till displayen ska se ut. Börjar fundera på om det inte behövs en lite fetare arkikektur för att kunna driva displayen på riktigt sen, en mega128 med ett externt minne på en megabyte vore så mycket trevligare än den här mega168 som jag använder nu… Ska fundera vidare på det. Nu kommer snart Tomas och Erik här för att spela Munchkin dock, så nu får jag sluta blogga och fortsätta städa
Sporadisk miniuppdatering
Har lekt lite mer med hemautomationen och påbörjat lite tester på ännu ett projekt, denna gång en brevlådekollare. Den ska kunna berätta när det har kommit post helt enkelt, så man slipper öppna luckan i onödan. Till detta har jag delar till ett gammal billarm, kopplade snabbt upp en liten krets och visst fungerade det finfint. När jag klickade på sändaren tändes en lysdiod på mottagarsidan, success! Räckvidden var också finfin, får se hur det blir när jag stänger in det i brevlådan sen. Min tanke just nu är att sätta lysdioder och fototransistorer i taket och sedan försöka detektera reflektioner i metallen i botten av brevlådan. Ska labba lite med det imorgon på lunchrasten hade jag tänkt. Har också lekt lite mer med den grafiska displayen så den faktiskt skriver ut temperaturerna. Har dock kommit fram till att jag behöver mer minne för att kunna göra något vettigt av den, har beställt samples på ett seriellt EEPROM ifrån microchip som förhoppningsvis ska fungera bra. Två bilder kan jag iallafall bjuda på denna gång.
[Image Can Not Be Found] [Image Can Not Be Found][/b]
Hemma-Sjuk-Dag
Idag är jag hemmasjuk. Förkyld. Så kan det gå ibland. Det har inte hänt så mycket i hemautomationen på ett tag nu eftersom jag har fått det där lilla konsultuppdraget. Det går dock framåt, hade tänkt att göra en prototyp på kretskort idag men eftersom jag är sjuk blir det inget med det. Jag har dock lyckats med en prototyp på papper som ni kan se på bilden nedan. När jag ändå var på elfa och köpte grejer till den passade jag på att köpa en passande låda till den grafiska displayen.
[Image Can Not Be Found] [Image Can Not Be Found]
Lådan är lite hög, men det får gå ändå. Passar så bra i bredd och djup. Jag ska försöka fräsa ur ett hål i nästa vecka för att kunna montera in displayen på ett snyggt sätt. Det är dock iallafall ett par veckor kvar tills vi beställer nya expansionskort så färdigmonterat blir det inte på ett tag.
[Image Can Not Be Found] [Image Can Not Be Found]
Jag har också gjort fler försök till brevlådenoden med ljusgrindar för att detektera om det har kommit brev eller inte, men det fungerar inte tillräckligt bra. Ett vitt brev reflekterar tillräckligt mycket ljus för att de billiga fototransistorerna jag testade mer ger utslag. Det behövs någon form av mer riktat ljus för att det ska funka som det är tänkt, men det har jag inte lust att lägga så mycket pengar på. Jag ska fundera vidare på hur man kan lösa det där på annat lämpligt sätt… Nu ska jag fortsätta tycka synd om mig själv och spela TV-Spel.
June 19, 2002

crotale wrote: Riktigt kul projekt!
Du har inte lust att förklara lite mer om vad för funktioner ni kan utnyttja på dom generiska korten? Ser ut som det sitter en Mega8 på dom
Vad har ni gör gränssnitt från dator till CAN-bussen?
Dom generiska kortet har en mega168 på sig, så du har nästan rätt mega168 är en nyare variant av mega8 som har bl.a. har interrupt på alla pinnar samt har 16k flash istället för 8. Det är dock pinkompatibelt så man kan smälla på en mega 8 (eller 88/48) istället om man tycker det är kul. Och i princip alla pinnar är utdragna så det finns AD, interrupt såklart, RX/TX till uart, PWM-utgångar och så vidare.
Det finns lite olika gränssnitt, jag kör med usb->rs232->generellt kort för stunden men det känns mer som en tillfällig lösning. Vi har kort till en simpel ethernetnod, men det har ett par buggar på sig så jag väntar tills nästa revision. Oavsett gränssnitt till datorn så kör man sedan en perl-demon (canDaemon) på datorn som man sedan kan ansluta till med diverse script och sånt. Ethernetnoden ansluts då via UDP.
Fler intressanta frågor?
June 19, 2002

Dags för en liten uppdatering. På grund av att jag har gift mig och exjobbar har det inte blivit så mycket hobbyverksamhet. Jag har köpt mig en tunn klient som jag håller på att försöka pilla in linux på så att jag ska kunna komma igång igen. Det är även en ny beställning av kretskort på gång.
Börjar jobba på riktigt i februari också, får se om det gör att det går snabbare eller långsammare att leka med detta Kommer att jobba med kretskortsdesign inom rymdbranschen.. Både till satelliter och raketer (så som arianne 5) om någon är intresserad
June 19, 2002

Tackar
Den tunna klienten ska vara spindeln i nätet. Den hanterar den intelligenta kopplingen mellan noder, mappning mellan ljusintensitet och dimmerinställning t.ex. Nu har jag fått in linux-2200 på den men det var väldigt minimalistiskt, inget nano, pico, apt-get, apropos eller ens gcc. Ska se om jag inte kan lyckas installera apt-get och gcc på den så att man kan komma igång och installera lite saker.. behöver både python, perl och framförallt en ssh-server innan den börjar bli användbar.
1 Guest(s)
