HOWTO: HDD Clock Eller: hur man gör en HDD klocka Peter Faltpihl & Gustav Andersson. Linköpings Universitet, Norrköping 2011-10-04 Har du någonsin undrat vad man kan göra med en gammal hårddisk som du inte längre har någon användning för? Vill du ha en klocka som skriker ED (och låter ganska mycket i sig själv)? Du har då kommit rätt och bör fortsätta läsa! 1 Översikt (a) Rensad hårddisk och skiva (b) Skiva med utskuret snitt (c) Fungerande HDD klocka Figur 1: Olika delar av en HDD klocka En hårddisk består i grund och botten av en skiva som snurrar, ett läshuvud och en massa annat strunt! Vi använder egentligen endast motorn och skivan för att bygga denna klocka. Genom att placera lysdioder (oftast RGB eller åtminstone tvåfärgers) under skivan och skära ett snitt i skivan (se Figure1(b)), kan man få visare att framträda när skivan snurrar (Figure1(c)). Detta åstadkommer man genom att tända och släcka alla lysdioder under skivan med väldigt noga vald timing. Genom att använda lysdioder av era färger, kan man skapa visare av olika färger, som får representera tim-,minut- samt sekund visare. Figure 1(a) visar hur en hårddisk och tillhörande skiva ser ut när allt som inte behövs rensats bort. Peter Faltpihl, Gustav Andersson faltpihl@gmail.com, gusan755@student.liu.se 2 Hårdvara 2.1 Vad behövs? Här nedan följer en lista över vilka grundläggande komponenter som behövs för att bygga din egen HDD klocka: • Hårddisk Självklart behövs en hårddisk till denna klocka. Fråga runt bland vänner, köp en begagnad, slakta din dator, leta i soprum - gamla hårddiskar går att hitta överallt! Viktigt att tänka på är att (om man har möjlighet att välja) välja en hårddisk där man får plats att montera lysdioder kring skivan. Mer om detta i 2.2. • Lysdioder Utan lysdioder (se Figur 2(a)) har man endast en snurrande skiva, så dessa är kritiska komponenter! Det nns en del att tänka på gällande val av dessa, detaljer nns i 2.2. • Logik Någon form av microcontroller, processor eller valfritt sätt att styra lysdioderna. • Transistorer Då lysdioderna drar mer ström än logiken kan leverera, behövs någon form av drivning. Lättast är att använda transistorer, men det nns en uppsjö av möjligheter, t.ex. färdiga LED drivare. • Sensor och kring-elektronik För att avgöra skivans position så behövs en sensor (se Figur 2(b)), mer om detta under 2.2. Saker som ström-försörjning och övrig elektronik behövs självklart också! (a) Närbild på lysdioder under körning (b) Sensor synlig (bortplockad skiva) Figur 2: Hårdvara Peter Faltpihl, Gustav Andersson faltpihl@gmail.com, gusan755@student.liu.se 2.2 Val av komponenter Egentligen är principen i detta projekt ganska simpel; logik för att styra lysdioder och lysdioder är egentligen de stora ingredienserna. däremot så måste man tänka på några saker när man väljer komponenter: • Hårddisk Första steget är egentligen att bestämma sig för vilken hårddisk man ska använda. Denna kommer ställa en del krav på övrig utrustning. Målet är att man skall lyckas fästa och rikta sina LED:s så att de lyser jämt runt hela området under skivan. Man måste även få plats med någon form av sensor (t.ex. reexsensor) som gör att man kan detektera var snittet i skivan benner sig, detta är mycket kritiskt för att kunna få en klockfunktion! • Lysdioder När man valt ett sätt att fästa och rikta sina lysdioder, så är det dags att välja vilka lysdioder man skall använda. Den enda, men dock viktiga, egenskapen man bör tänka på vid valet är att välja riktigt intensiva lysdioder! Man bör sikta på minst 5-10000mcd. tänk även på att det ger er möjligheter till snygga eekter osv. om man har RGB dioder! • Transistorer Här gäller det att hitta en transistor som är tillräckligt snabb och som (helst) går att driva utan kring-komponenter från logiken. Kraven på snabbheten hos transistorn är inte så höga, vi räknade på att vi vill kunna åstadkomma ca. 30 kHz via följande uträkning: 360 ∗ 5400 = 32400Hz 60 (1) där 5400 är varvtalet på motorn, vilket delas ned till varv/sekund. Sedan valde vi 360 tändningar per varv för att kunna få bra upplösning. • Sensor Om man vill kunna visa att t.ex. klockan är 12, så måste man veta vad som är upp på klockan. Utan en sensor så går det fortfarande att få visarna att förhålla sig rätt till varandra, men för att klockan 12 alltid skall vara uppåt (dvs klockan rätt-vänd) så krävs en sensor. Snittet i skivan utgör en bra grund för att enkelt mäta dess position. Då skivan reekterar väldigt mycket ljus, medan snittet inte gör det (ljuset passerar genom hålet) så kan en sensor som mäter ljus vara ett bra alternativ. Vi valde en reexsensor som både skickar ut och mäter IR ljus, som vi kunde sätta på undersidan så att den inte syns. Peter Faltpihl, Gustav Andersson faltpihl@gmail.com, gusan755@student.liu.se 3 Mjukvara Detta är principiellt hur vi valde att lägga upp mjukvaran. Detta är ett enkelt sätt att komma igång, men lämnar helt klart utrymme för förbättring: Börja med att skapa funktioner för att rita uppde tre olika visarna. Detta handlar om att under en kort tid tända alla lysdioder med en viss färg, med RGB-dioder är möjligheterna till färg val oändliga! Det är enkelt att testa sig fram för att hitta en rimlig tjocklek på visarna. Starta en timer för att hålla reda på tiden. I vissa fall nns en färdig RTC (real time clock) annars för man göra sitt bästa för att implementera en. Ett enkelt sätt att skapa en klocka är att sätta timern så att den ger interrupt varje sekund, och där uppdatera sekund,tim och minut-variabler. Kongurera ADC om detta krävs för att avgöra nivåerna på sensorn. använd interrupt då sensorn känner av att snittet passerat, i den rutinen så startas tre timers som var och en motsvarar tim-, sekund- och minut visare. Dessa tre timers anropar sedan funktionen som ritar respektive visare. Peter Faltpihl, Gustav Andersson faltpihl@gmail.com, gusan755@student.liu.se 4 Schema Vårt schema som vi använde (se Figur 3) är ett exempel på hur man kan lägga upp elektroniken. 5 Inköpslista Figur 3: Schema Här följer en lista på de komponenter som vi valde, med referens till schemat i Figur 3. Detta är enbart våra val och vi rekommenderar er att kolla på komponenter utifrån era krav! Vi valde våra komponenter i tidsbrist, så alla komponenter nns säkert i andra mer lämpliga alternativ. Namn i Figur 3 Beskrivning Antal C3 0.1uF till LDO 3.3V 1 C1,C2,C4 10uF till LDO 3.3V samt 5V 3 Q1,Q2,Q3 2N2905A PNP transistor 3 R13-R36 1 ohm till LED 24 R1-R12 56 ohm till LED 12 R37 1 kohm till sensor 1 R38 82 ohm till sensor 1 VR2 LD1117V33 3V regulator 1 VR1 LM1117MP 5V regulator 1 CPU STM32 discovery progammerare och processor 1 Sensor SFH9201 reexdetektor 1 P1 DCjack för matning 1 P4,P5 Hylslist för CPU 2 P2,P3,P6 Stiftlist för anslutningar på kortet 3 RGB LED1-RGB LED12 SWLED5MMRGBKC RGB LED gemensam katod 12 Batterieliminator 12v/2a för drivning 1 Peter Faltpihl, Gustav Andersson faltpihl@gmail.com, gusan755@student.liu.se 6 Allmänna tips Det är lätt att glömma vissa viktiga saker, så här följer en lista med misstag som vi antingen gjort eller undvikt: • tänk på matningsspänning till sensor, processor och övrig elektronik. Försök matcha så att du har samma på hela kortet så slipper du ha era spänningsnivåer! • Tänk både en och två gånger på hur du öppnar/stänger dina transistorer. Simulera gärna! • Om du plockar bort mycket saker för att rensa hårddisken, tänk på att styr-elektroniken förmodligen kommer med stor sannolikhet att vägra driva skivan under en längre tid. Detta gör att lösa genom att försöka ha kvar så mycket av läshuvud osv. som krävs (testa!) för att den skall fungera normalt, eller bygga/köpa en egen motordrivare. • Se till att din kombination av sensor/processor klarar av att läsa av tillräckligt snabbt (t.ex. ADC på processor eller motsvarande) • Tänk på hur du skall fästa din elektronik på hårddisken. (många gängor på hårddiskar har udda mått) • Ett tips för att få mer ljusstyrka är att antingen limma på vitt papper, måla vitt på området under skivan som skall belysas. • För enkelhetens skull, ur mjukvarusynpunkt, kan det vara bra att fästa sensorn längst upp (på urtavlans klockan 12). Detta ger en naturlig utgångspunkt för fördröjningar osv. • Tänk på de olika fall av visar-kombinationer som kan uppstå då visarna skall ritas upp. T.ex. vad som händer då två visare är på samma position? • Säkerhetskopiera all kod! • Glöm ej föregående punkt. använd gärna dropbox/git/usbminne samt spara på era plat- ser ändå! Peter Faltpihl, Gustav Andersson faltpihl@gmail.com, gusan755@student.liu.se
© Copyright 2024