Antons blogg om elektronik och Linux

Kaffetimern

Kaffetimern fungerar som en säkerhetstimer för ett vägguttag, i mitt fall har jag kopplat den till kaffebryggaren. Tanken är att den ska slå av strömmen till bryggaren om jag glömmer 🙂

Hårdvaran

Timern styrs av en ATtiny2313. Jag har valt att kapsla in den i en modifierad fjärrströmbrytare av märket Nexa. Dessa har redan en liten strömförsörjning, ett relä och en radiomottagare vilket gör dem lätta att modifiera för mina egna syften. Jag började med att öppna upp en och rita ett enkelt schema för att få ett hum om funktionen. Se bilden nedan.

Frågetecknet är den svarta komponenten i TO-126-kapsel som sitter limmad på vänster sida om reläet, förmodligen en säkring. Strömförsörjningen är annars väldigt lik den som demonstreras i denna X10-mottagaren, förutom att denna ger runt 24V ut för reläets skull. Istället för att använda en otymplig transformator skapas en virtuell jord man kan använda sig av för att ta ut valfri spänning. Nackdelen är dels att den får väldigt låg verkningsgrad, dels att den får en spänningspotiential mot skyddsjord då den inte är galvaniskt isolerad från nätspänningen. Hela enheten måste alltså kapslas in ordentligt för att undvika att användaren får elchocker 🙂

Jag började med att ta bort IC-kretsen som satt på kortet genom att skära av benen med en vass kniv och sedan plocka bort dem från kretskortet ett i taget med lödkolven. Jag tog även bort de flesta transistorer och passiva komponenter, alla utom filterkondensatorerna och reläets drivtransistor. Den var märkt ”1AM”, vilket tydligen är en förkortning för transistorn MMBT3904LT1, en småsignals NPN (datablad). Jag fick dock byta ut dess basmotstånd på 27kΩ mot ett på 4.7kΩ, eftersom den nu skulle drivas med 5V istället för 24V. Även motståndet till indikator-lysdioden på 15kΩ bytte jag ut mot ett på 3.3kΩ.

Utöver strömförsörjningen på 24V behövs dessutom en på 5V för att driva mikrokontrollern. Jag löste det med ett motstånd på 470Ω och en zenerdiod som tog ner den nya spänningen till 5.1V. Egentligen hade det varit bra med en kondensator också för att stabilisera, men det verkar fungera även utan. Kan även vara värt att tillägga att inga av dessa motståndsvärden är exakta, jag bara tog några som var ungefär lagom. Viktigt är att man inte väljer alltför låga värden för då kommer det höga strömuttaget att sänka spänningen på 24V-linan så mycket att reläets spole inte orkar driva. Med de värden jag valde håller sig strömförbrukningen på några få milliampere.

Som mikrokontroller valdes som sagt ATtiny2313. En mindre ATtiny45 hade förmodligen varit bättre då bara tre IO-pinnar behövs, men jag hade inga sådana hemma. Dessutom har ATtiny2313 en 16-bitars timer vilket underlättade programmeringen något. Efter att ha bränt in programmet i den klippte jag av alla oanvända pinnar för att spara plats. Utöver pinnarna jag använde sparade jag även SPI-pinnarna för att kunna programmera om den vid behov. Det fanns inte mycket plats i lådan men den passade som tur var på ett ställe. Jag limmade den upp och ner direkt på kretskortet med smältlim och lödde fast sladdarna direkt mot pinnarna.

Programmet

Programmet till mikrokontrollern skrev jag i C och kompilerade med hjälp av avr-gcc. Du hittar senaste versionen på projektsidan på Launchpad licensierat under GNU GPL v3. Launchpad använder programvaran Bazaar för versionskontroll och distribution. Det går också att hämta filerna direkt via webbläsaren om man så vill. Länkar finns längst ner på sidan.

Pinout står i källkodsfilen. För närvarande har programmet nån bugg eller två. För det första är lysdioden inte alltid tänd då reläet är på. För det andra är den väldigt känslig för störningar (den aktiveras av sig själv ibland). Ska reda ut dessa buggar så snart jag blir färdig till det.

Projektets sida på Launchpad: http://launchpad.net/kaffetimern/

Direktlänk för att hämta programmet: http://bazaar.launchpad.net/~eliasson/kaffetimern/main/files

Kommentera »

Inga kommentarer ännu.

RSS feed for comments on this post.

Lämna en kommentar

Skapa en gratis webbplats eller blogg på WordPress.com.