RemoteBud. Inlämnas: Patrik Johnsson, e01pjo Viktor Karlsson, e01vk

Relevanta dokument
Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia

Innehållsförteckning. Figur- och tabellförteckning. Figure 1 Blockschema över hårdvaran...4 Figure 2 Blockschema över programet...

Temperaturmätare med lagringsfunktion DIGITALA PROJEKT EITF11 GRUPP 14, ERIK ENFORS, LUDWIG ROSENDAL, CARL MIKAEL WIDMAN

PlantPuppy Räddaren för den som inte kan hålla växterna vid liv

Snake. Digitala Projekt (EITF11) Fredrik Jansson, I-12 Lunds Tekniska Högskola,

Rapport Digitala Projekt EITF11 Grupp 4 Axel Sundberg, Jakob Wennerström Gille Handledare: Bertil Lindvall

The Secure Light. Digitala Projekt EITF11. Hanna Tinglöf, I-12 Anna Horvath, I-12 Filippa Österlin, I-12. Handledare: Bertil Lindvall

Digitala projekt, EDI021 Rapport Handledare: Bertil Lindvall

Accelerometer. Rikard Ekström Mattias Kindborg. Informationsteknologi Lunds Universitet

Projektrapport i Digitala System

Digitala projekt rapport

Digitala projekt - Radiostyrd bil

Växtviskaren EITF11 Digitala projekt VT15, I12

Digitala Projekt (EITF11)

DIGITALA PROJEKT Väderstation

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: Tid: 14:00-18:00.

Effektpedal för elgitarr

TETRIS. LTH, Campus Helsingborg EITA15 Digitala System

Laboration 5. Temperaturmätning med analog givare. Tekniska gränssnitt 7,5 p. Förutsättningar: Uppgift: Temperatur:+22 C

Programmering av stegmotorer ett miniprojekt i samarbete med Svensk Maskinprovning

LARMANLÄGGNING. Digitala Projekt, EITF11. Oskar von Knorring Emin Karimov Henrik Akej Handledare: Bertil Lindvall

Projekt EITA15. Väckarklocka. LTH Ingenjörshögskolan vid Campus Helsingborg Datateknik

Digitala Projekt(EITF40) - Larm

Elektro och Informationsteknik LTH. Laboration 5 Operationsförstärkaren. Elektronik för D ETIA01

The Intelligent Timer

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT

Goda råd till de som ska utföra ett liknande projekt (från KMM 2016)

Pulsmätare med varningsindikatorer

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

CDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA

Blue Key Digitala projekt VT

D/A- och A/D-omvandlarmodul MOD687-31

Design av inbyggda system

Rapport. Fyra i rad-spel. Rapport Digitala Projekt EITF11 Grupp 9 Emma Rasmusson & Louise Ragnarsson Handledare: Bertil Lindvall

Umeå universitet Tillämpad fysik och elektronik Ville Jalkanen mfl Laboration Tema OP. Analog elektronik för Elkraft 7.

TEMPERATUR OCH VINDMÄTARE MED HÖGTALARFUNKTION

Whac A mole. Ett rektionstest i kursen Digitala Projekt EITF11 utfört av: Axel Spångberg I10 Marcus Witting I10. Handlett av: Bertil Lindvall

Bilen som inte kan krocka

Thunder s Truck projektrapport

Design vid utveckling av inbyggda system

Digitala kretsars dynamiska egenskaper

Faltningsreverb i realtidsimplementering

Digitala Projekt VT13. PING-Pong

Design av inbyggda system

Digitala Projekt (EITF11) Hemlarm

Mekanisk solros, Digitala projekt(edi021) Kristoer Nordvall, Stefan Windfeldt, Inlämmnad: 4 december 2006

Digitala projekt Konstruktion av nummerpresentatör

Ett urval D/A- och A/D-omvandlare

KALKYLATOR LABORATION4. Laborationens syfte

AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser

Projektlaboration 4, synkronisering av klockan

Mina listor. En Android-applikation. Rickard Karlsson Rickard Karlsson - rk222cu Linnéuniversitet rk222cu@student.lnu.

A/D- och D/A- omvandlare

LABORATIONER I DIGITALTEKNIK. Laboration 3 Speciella sekvenskretsar

Digitala Projekt Konstruktion av Tamagocchi. Av: Oskar Andersson D05 & Danial Rehman D05

Tentamen i Digitalteknik, EIT020

Avståndsmätare. Digitala System EITA Grupp 7. Abdelsalem Yabrag, Abdulhadi kikar, Fredrik Peterson, Jesper Annefors

Larmcentral. Digitala Projekt. Cecilia Olsson & Erika Björck Handledare: Bertil Lindvall LUNDS TEKNISKA HÖGSKOLA

Helena Harrysson och Linnéa Wickberg

Digitalt Projekt: Radiostyrd Bil

Laboration 4: Knappstuds Drivrutiner för att eliminera störningar.

Laborationshandledning

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

Laboration i digitalteknik Introduktion till digitalteknik

Datorprojekt, del 1. Digitala system 15 p

Department of Information Technology Digitala projekt. SuperKull. Daniel Öhman Alexander Persson

High Core Remote Car X8000 Cool

5 OP-förstärkare och filter

Spänningsstyrd Oscillator

Under höstterminen 2015 arbetade lärare på mellan- och högstadiet på

EITF40 - RFID-terminal. Joakim Marculescu (dt08jm6), Eric Johansson (dt08ej6)

Antennförstärkare för UHF-bandet

Design av inbyggda system

Laboration i digitalteknik

DEPARTMENT OF INFORMATION TECHNOLOGY. Digitala Projekt. Redovisning av Projekt - Grupp 14

Digital Projekt EDI 021 Konstruktion av talande nummerpresentatör VT1 2004

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

Laboration - Va xelstro mskretsar

Tentamen i Digitalteknik, EITF65

LiTH Lab1: Asynkron seriell dataöverföring via optisk länk Laboration 1. Asynkron seriell dataöverföring via optisk länk

Exempel på LAX-uppgifter

Elektronik-projekt. YH/Nät och kommunikation. Kommunikationskedja

Institutionen för elektro- och informationsteknologi, LTH

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH.

Gustaf Backman, Anton Nystedt, Nicholas Peebo Battleships. Lunds tekniska högskola. EITF11 Digitala projekt

Laborationshandledning

Laborationshandledning

Innehåll. 1 Inledning 3

Systemkonstruktion LABORATION REALTIDSPROGRAMMERING

4 Laboration 4. Brus och termo-emk

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

Datorteknik 1 (AVR 1)

Laboration 1: Aktiva Filter ( tid: ca 4 tim)

Instruktion elektronikkrets till vindkraftverk

Antennförstärkare för UHF-bandet

Formula Blue. Digitala Projekt 8p. Jesper Ferm E02 Carl Hakenäs E04

TENTAMEN I REGLERTEKNIK

Servicemanual. Autonomous Pallet System 800 Prototyp. Utfärdat:

Laborationshandledning för mätteknik

Design av inbyggda system. Innehåll. Hårdvarunära design. Hårdvarunära design. Hårdvarunära design. Hårdvarunära design TDD

Transkript:

RemoteBud Inlämnas: 2005-02-01 Patrik Johnsson, e01pjo Viktor Karlsson, e01vk

Abstract Skulle du också vilja styra dina lampor och rulla ner dina persienner med hjälp av din TV-fjärrkontroll? Remotebud är konstruktionen som låter dig styra diverse vardagsbestyr med din redan befintliga fjärrkontroll. Har du knappar på din fjärrkontroll som saknar funktion eller vill du kanske att dina persienner ska rullas ner när du slår på teven? I så fall har vi lösningen på ditt problem. Remotebud passar de flesta fjärrkontroller och är perfekt för dig som är en äkta latmask. 1

Innehållsförteckning Beskrivning av problemet...3 Utvecklingsprocessen...4 Hårdvaran...6 Mjukvaran...7 Förbättringar...8 Slutsats...9 Referenser...10 Bilaga 1...11 2

Beskrivning av problemet Vi hade från början tänkt oss att konstruera något som på ett bra vis kan spela in en godtycklig signal från vilken fjärrkontroll som helst inom en viss standard. Den inspelade signalen ska sedan användas för att t.ex. slå på en lampa eller styra en stegmotor. Fokus på uppgiften ligger på att få fram en konstruktion som går att använda tillsammans med så många olika fjärrkontroller som möjligt. Hela syftet med vår konstruktion är att ge din befintliga fjärrkontroll nya användningsområden. Vi satte från början upp en kravspecifikation som såg ut så här: Grundspecifikation: Konstruktionen skall klara av att spela in godtycklig signal från en i förhand utvald fjärrkontroll. Naturligtvis är det någon form av IR-standard som kommer att användas. Signalen som spelats in används för att känna igen en likadan signal. När signalen dyker upp igen skall en utsignal genereras. Utsignalen ska kopplas till ett relä eller något liknande. Specifikation för saker som implementeras i mån av tid: Möjlighet att kunna spela in flera olika signaler. Klara av mer än en standard. Kopplas till fler och mer avancerad applikationer. T.ex. dimmer eller stegmotor. 3

Utvecklingsprocessen Vi började med att försöka tänka ut ett blockschema som på ett bra vis beskrev uppgiften vi tänkt lösa. Efter en del funderande kom vi fram till blockschemat i figur 1. figur 1. blockschema över problemet. Vi började sedan fundera på hur vi skulle implementera vår konstruktion och vilka komponenter vi behövde. Eftersom vi redan från början hade våra aningar om att det skulle komma att behövas en processor gällde vårt första beslut val av processor. Vi ansåg att en AVR-processor var precis det vi behövde för inspelning och igenkänning av signalen och funderade vidare på de två första bitarna av blockschemat. Att bygga filter och förstärkare är ju inte vidare digitala uppgifter och framför allt inte det vi hoppades få syssla med i den här kursen men eftersom det är två mycket viktiga bitar för vår konstruktion är det inget man kan ignorera eller skjuta åt sidan. Dock visade det sig senare att det fanns en alldeles ypperlig komponent som löste bägge dessa problem mycket enkelt. IS1U60 är en komponent som tar emot, förstärker och filtrerar en signal från alla fjärrkontroller som har bärfrekvensen 38 khz. Tack vare denna lilla komponent sparade vi mycket arbete. Efter ytterligare lite letande bland databladen på kurshemsidan hittade vi en komponent till som kunde spara mycket arbete. En decoder från Philips som klarade av att koda av just den typen av signal som vi får som utsignal från vår mottagare/förstärkare. Man alltid har hört att Philips dominerar stora delar av TV-marknaden och att många olika andra TV-tillverkare använder sig av Philips standard. Visserligen skulle vi nu vara begränsade till Philips standard men om man tvunget måste välja en standard så varför inte ta den som är störst? Nu kunde vi göra en enkel uppkoppling för att undersöka fjärrkontroller. Vi provade den ena fjärrkontrollen efter den andra och hur vi än försökte kunde vi inte få decodern att fungera på någon fjärrkontroll. Detta var en besvikelse eftersom vi trodde att många olika fjärrkontroller skulle passa bra. Vi kontrollerade mottagaren för säkerhets skull men det verkade inte vara något fel på den. Vi valde nu att försöka hitta information på internet om exakt vilka olika fjärrkontroller som kunde tänkas följa vår valda standard och då fann vi förklaringen till att vi inte lyckats. Standarden vi valt var gammal och används inte längre. Detta var ett bakslag och vi fick nu på allvar fundera ut ett bra sätt att spela in och jämföra olika signaler med varandra. När vi funderat på problemet ett tag och diskuterat fram och tillbaka kom vi fram till att en ren mjukvarulösning av problemet var den bästa lösningen. Idén var att koppla signalen till ett av benen på processorn som används som inport. Därefter skulle vi generera att periodiskt avbrott och i avbrottsrutinen läsa av om vi hade en etta eller 4

nolla på benet vid just den tidpunkten. Vi tänkte sedan räkna antalet ettor och nollor som kommer i följd och på det viset avgöra pulslängderna i signalen. Alla mätningar sparas sedan i en vektor vilket gör det lätt att jämföra två signaler med varandra. För att hålla reda på om en signal ska sparas som referenssignal eller om den ska jämföras med den befintliga referenssignalen fick vi införa en inspelningsknapp. När knappen är nertryckt vet vi att det är dags att spela in en ny referenssignal och om knappen inte är nedtryckt så jämför vi den inkommande signalen med referenssignalen. Det visade sig att det var just denna biten som var den svåraste delen av hela projektet. Vi fick lägga ner ganska många timmar på att få ordning på avbrottsrutinen och på att få vårt program att fungera felfritt men när vi löst detta problemet var det dags att gå vidare till stegmotorn. Att få igång stegmotorn visade sig vara en betydligt lättare uppgift än vi trodde trotts att vi fick leta en del på internet innan vi fick igång den. Eftersom det gick så pass smärtfritt att få igång stegmotorn fick vi lite tid över att utvidga vår konstruktion så att den har möjlighet att känna igen flera olika signaler. 5

Hårdvaran Remotebud består av relativt få komponenter men här i figur 2 kommer ett blockschema som visa hur komponenterna hänger ihop med varandra och efter det kommer en beskrivning av de intressanta komponenterna. Vill du se hela kopplingsschemat finns det bifogat i bilaga 1 figur 2. Blockschema över hårdvaran. IS1U60: En mycket praktisk liten komponent som tar emot, förstärker och filtrerar signalen från vilken fjärrkontroll som helst med bärfrekvensen 38 khz. Utsignalen från denna komponent är perfekt som insignal till en processor. ATmega16: Processorn som vi använder för att utföra det mesta av arbetet. Denna processor innehåller det mesta och därför behövs väldigt få övriga komponenter i vår konstruktion. Processorn har 40 pinnar och en maximal klockfrekvens på 8 MHz. Stöd för både interna och externa avbrott finns naturligtvis också. Sm40: Detta är en mycket liten stegmotor som vi använder i rent demonstrativt syfte. När vår konstruktion skall användas på riktigt måste man såklart ha en motor anpassad till ändamålet. 6

Mjukvaran Som sagt har vi valt att implementera det mesta av vår konstruktion i mjukvara. Vi har ju trotts allt tillgång till en rätt kraftfull processor så varför inte använda den. I figur 3 visas en abstrakt modell av mjukvarans funktion. Efter initieringsfasen inväntas en signal eller knapptryckning. Om tex. change-knappen trycks ner så byts inspelningskanal och det visas med feedback lysdioden. När en signal tagits emot jämförs den och om den stämmer överens med någon inspelad signal görs den fördefinierade händelsen. Är istället inspelningsknappen nertryckt sparas signalen undan. Initiering Change nertryckt Väntar på signal Signal Mottagen Felaktig signal Behandlar signal Recbutton nertryckt Ändrar inspelnings -kanal Sparar signal Kanal1 Tänd/släck lampa Kanal2 Kör stegmotor framåt Kanal3 Kör stegmotor bakåt figur3. modell över hur mjukvaran är uppbyggd. 7

Förbättringar När man byggt en prototyp kommer man alltid på saker som kan förbättras eller som borde implementerats annorlunda. Vi anser att vår konstruktion kunde förbättrats på följande punkter: Den första och enklaste förbättringen är att lagra informationen i minnet så att den inte försvinner vid ett eventuellt strömavbrott. Genom att optimera avbrottstider och gränsvärden skulle man eventuellt få konstruktionen fungera tillsammans med fler fjärrkontroller. Ett lite större ingrepp vore att grundläggande ändra inläsningsmetod och istället för att generera ett periodiskt avbrott hela tiden vänta med detta tills det dyker upp en insignal. När det väl är en insignal på porten skulle man mycket väl kunna ha samma strategi som vi tidigare haft. Om man gör dessa ändringar får man en mer effektiv konstruktion och resurser över till eventuella andra uppgifter som skulle kunna implementeras. Att få användargränssnittet snabbare och enklare är också en sak att tänka på. Ett användargränssnitt som är både enkelt uppbyggt och lätt att förstå är viktigt för den här typen av produkter. Att byta processor till en lite mindre variant t.ex. Tiny AVR är ett sätt att få ner kostnaden på konstruktionen. Man kan även tänka sig att det kunde vara bra att försöka få ner effektförbrukningen så pass mycket att det räcker med ett batteri för att driva konstruktionen. Om man kan göra detta slipper man t.ex. ha en transformator och man har möjlighet att göra produkten riktigt liten och nätt. 8

Slutsats Kursen har ett format som är väldigt intressant. Nästan alla andra kurser består enbart av teori. Här får man gå från ide till prototyp och försöka använda sig av allt man har lärt sig. Kursen är uppbyggd på det viset att det inte finns någon övre gräns för hur mycket man får ut av den. Den blir helt och hållet vad man gör den till och ju mer tid man kan lägga ner på den ju mer intressant blir den. Kursen fungerar också som en bra värdemätare för hur mycket man hittills lärt sig på den här utbildningen och man får en liten hint om vilka områden man saknar kunskap inom och vilka områden man behärskar bra. 9

Referenser För att det skulle vara möjligt att bygga vår prototyp har vi naturligtvis fått leta efter en del fakta och här kommer våra källor. 1. Datablad till alla kretsar finns på : http://www.it.lth.se/digp/datablad/datablad_index.asp 2. B.W. Kernighan, D.M. Ritchie, the C programming language second edition, 1988. 3. Information om Stegmotorn: http://www.isk.kth.se/kursinfo/mekatronik/komponentkurs/klab/stegmotor/ 10

Bilaga 1 11