Forprosjektet

Download Report

Transcript Forprosjektet

HØGSKOLEN I SØR-TRØNDELAG
Avdeling for teknologi
Program for elektro- og datateknikk
7004 TRONDHEIM
Bacheloroppgave, forprosjekt
Oppgavens tittel:
Gitt dato: 10.01.11
Nikon trådløs fjernkontroll
Innleveringsdato: 25.05.11
Project tittel:
Antall sider/bilag
Gruppedeltakere:
Egil Rotevatn
Steinar Fagerli
Veileder (navn/email/tlf.):
Rolf Kristian Snilsberg
[email protected]
920 15 423
Studieretning:
Prosjektnummer:
3EE – Elektronikk
E1119
Oppdragsgiver:
Atmel Corporation
Kontaktperson hos
oppdragsgiver (navn/tlf.):
Terje Frostad
930 98 048
Fritt tilgjengelig
Tilgjengelig etter avtale med oppdragsgiver
Rapporten frigitt etter
X
Sammendrag
Dette forprosjektet omhandler våre ideer og planer til en fjernstyring av et fotoapparat.
Oppgaven skal skrives for Atmel Norway, og vi skal bruke flere av deres mikrokontrollere og
evalueringskit. Rapporten inneholder oppgavetekst og grove spesifikasjoner i tillegg til
informasjon om tenkt funksjonalitet, enheter, problemområder, arbeidsplan og ressursbruk.
_____________________
Egil Rotevatn
_____________________
Steinar Fagerli
_____________________
Rolf Kristian Snilsberg (veileder)
_____________________
Terje Frostad (oppdragsgiver)
Innholdsfortegnelse
1. Innledning ..........................................................................................................................4
1.1. Bakgrunn .....................................................................................................................4
1.2. Oppgavetekst...............................................................................................................4
1.3. Definisjoner .................................................................................................................4
2. Teknisk del..........................................................................................................................5
2.1. Problemstilling.............................................................................................................5
2.2. Prosjektmål..................................................................................................................5
2.2.1. Effektmål ..............................................................................................................5
2.2.2. Resultatmål...........................................................................................................5
2.2.3. Prosessmål............................................................................................................6
2.3. Prosjektbeskrivelse ......................................................................................................6
2.4. Spesifikasjoner.............................................................................................................7
2.5. Problemområder .........................................................................................................8
3. Arbeidspakker ....................................................................................................................8
4. Prosjektorganisering.........................................................................................................10
4.1. Prosjektdeltagere.......................................................................................................10
4.2. Utstyr og ressurser.....................................................................................................10
4.3. Prosjektleveranser .....................................................................................................11
4.4. Tids- og kostnadsplan ................................................................................................11
4.5. Kvalitetssikring...........................................................................................................11
5. Vedlegg 1..........................................................................................................................12
6. Vedlegg 2..........................................................................................................................13
7. Vedlegg 3..........................................................................................................................14
8. Vedlegg 4..........................................................................................................................15
1.
Innledning
1.1. Bakgrunn
Som ivrige amatørfotografer har vi sett behovet for mer avansert kontroll av fotoapparat. Vi
har en tendens til å være mer kamerainteresserte enn fotointeresserte, og blandet med en
interesse for elektronikk har vi sett muligheten for å utvikle systemer for fjernstyring og
automatisk styring av et kamera på stativ.
Oppgaven ble til etter en useriøs diskusjon om hva som kan gjøres med et digitalt
speilreflekskamera ved hjelp av mikrokontrollere i stedet for en PC. Der kom vi fram til at
trådløs innstilling av kamera, motorstyrt stativhode, timelapse og kamerautløser vha.
forskjellige sensorer og mye mer var mulig å få til.
Valdemar Finanger satte oss i kontakt med Atmel Norway, og de var veldig interesserte i en
slik oppgave. Atmel Corporation er en global leder innen design og produksjon av
mikrokontrollere, kapasitiv touch løsninger, avansert logikk, mixed-signal, nonvolatilt minne
og RF-komponenter. Prosjektet skal realiseres ved hjelp av deres veiledning og
komponenter.
1.2. Oppgavetekst
Oppgaven går ut på å lage en mikrokontrollerstyrt fjernkontroll til Nikon DSLR som kan styres
fra et Atmel Xplore utviklingskort. Kommunikasjonen skjer trådløst til USB-dongelen på
kameraet. Det skal være mulig å stille inn forskjellige innstillinger på kameraet ved hjelp av
touchskjermen/joysticken på Xplore. I tillegg vil vi kunne utvide med et motorstyrt
stativhode for å rotere/tilte kameraet, og ha eksterne trådløse sensorer som skal kunne
utløse lukkeren.
1.3. Definisjoner
DSLR:
Lukkertid:
Blender:
ISO:
Bulb:
Bracketing:
Timelapse:
Digital Single Lens Reflex - Betegnelsen på et digitalt speilreflekskamera.
Bestemmer varigheten på en eksponering med kameraet.
Bestemmer mengden lys som blir sluppet inn gjennom objektivet.
Bestemmer lyssensitiviteten til kamerasensoren.
Selvbestemt lengde på lukkertiden.
Sette kameraet til å ta en serie bilder med normal, over- og
undereksponering.
En serie bilder tatt med et gitt tidsintervall som spilles av i videohastighet.
Dongel:
USB:
En liten hardware-enhet som kan plugges i en pc, eller i vårt tilfelle kameraet.
Universal Serial Bus.
2.
Teknisk del
2.1. Problemstilling
Kontrollere et Nikon DSLR trådløst, uten bruk av PC, med sensorer og motorstyrt stativhode.
Vi har jobbet en del med ideen og sett på hva som er mulig å gjennomføre av de
egenskapene vi drømmer om. Vi har arbeidet fram et blokkskjema (vedlegg 1) som grovt
viser en tenkt oppbygning de forskjellige modulene kan ha og hva slags kommunikasjon som
er nødvendig. USB-dongelen blir en prototype og vi fokuserer da på funksjonalitet fremfor
design på grunn av at vi ikke vet hva vi kan implementere av moduler ennå.
Som vi ser av blokkskjemaet er dongelen den sentrale enheten og all kommunikasjon foregår
mot den. Fjernstyringen brukes til å konfigurere dongelen og til å lese ut status fra dongelen.
På den måten vil dongelen kunne fungere uten fjernstyringen når den er blitt konfigurert.
Sensorene programmeres fra fjernstyringen, men via dongelen. Slik har dongelen all
informasjon til enhver tid. Dette er egentlig en stor nok oppgave, men vi har et sterkt ønske
om i tillegg å ha med motorisert stativhode som også styres fra dongelen via kabel.
Originalt hadde vi mange flere funksjoner med i planene, men vi har fjernet mye som var
mindre relevant eller veldig ressurskrevende å lage. En av enhetene vi har fjernet er GPSmodul, som hadde blitt en selvstendig enhet med egen tilkobling til kameraet. Om vi har tid
vil denne blir vurdert i tillegg til flere sensorer.
2.2. Prosjektmål
2.2.1. Effektmål
Lage en trådløs fjernstyring for Nikon DSLR på stativ med mulighet for motorstyring og
sensorer.
2.2.2. Resultatmål
Nå effektmålet innen 25. mai 2011.
Ferdig USB-dongel
- Designe hardware
- Programmere USB-kontroller
- Programmere bulb/timelapse/kommunikasjon
Ferdig Xplore
- Programmere GUI/menysystem
- Programmere kommunikasjon
Fungerende trådløskommunikasjon
- Velge teknologi
- Definere generell kommunikasjonsprotokoll
- Implementere i nødvendige enheter
Ferdig sensor
- Velge sensormetode
- Designe hardware
- Programmere innstillinger/kommunikasjon
Ferdig motorstyring
- Designe kontrollerkrets
- Programmere styring/kommunikasjon
Skrive rapport.
Dersom god tid lage flere sensorer eller GPS-modul.
Holde oss innenfor en kostnadsramme på 5000 kr.
Hver student skal bruke minst 500 timer til prosjektet.
2.2.3. Prosessmål
Øke vår kunnskap til å designe elektriske kretser, og gjøre oss i stand til å implementere
forskjellige teknikker vi har lært til et ferdig produkt.
Designe et produkt som tilfredsstiller de bestemte spesifikasjonene.
Øke vår evne til samarbeid og felles problemløsing.
Få bedre kunnskap til komponenter og utstyr fra Atmel, og lære mer om praktisk bruk av
disse.
2.3. Prosjektbeskrivelse
Hardware
Fjernkontrollen er Atmel Xplore i samarbeid med Atmel RZ600 (trådløs kom.). Denne er
ferdig konstruert og trenger bare firmware.
USB-dongelen er den sentrale enheten som kobles til kameraet, derfor prioriterer vi denne i
starten. Her må det planlegges strømtilførsel/strømbruk, kommunikasjon med kamera,
fjernkontroll, sensorer og stativhode. Atmel har en chip som har mikrokontroller-egenskaper
og 2,4 GHz kommunikasjon i samme chipen, denne kan gi oss et billig og nett design.
Det motoriserte stativhodet er en mekanisk utfordring like mye som en elektronisk. Vi
ønsker et nett design som kan panorere og tilte kamerautstyr på minst 3 kilo. Her vil det
være lurest å kjøpe en mest mulig ferdig enhet med panorering og tilt så vi kan konsentrere
oss om elektronikkdelen. Vi må vurdere om vi trenger mikrokontroller på stativhodet eller
om det skal styres direkte fra dongelen. Det vil kreves en del effekt så enheten trenger egen
strømtilførsel og en forsterker.
Sensorene skal være små billige enheter som kun kan slås av og på i tillegg til å trigge
kameraet. Sensoren settes opp og justeres fra fjernkontrollen via dongelen. Vi ser for oss
flere sensorer som kan være aktuelle.
- Bevegelsessensor som utløser kameraet ved en form for bevegelse. For eksempel en
person/dyr som går foran kameraet, eller en dråpe som bryter en lysstråle.
- Lydsensor, en mikrofon som utløser kameraet ved en skarp lyd.
- En enkel knapp for å utløse kameraet, for eksempel når noen tråkker på den eller løfter opp
noe som står på den.
Firmware
Programmeringen skal foregå i C, på Atmel AVR Studio (AVR GCC).
Xplore: Programvare for LCD med menysystem og trådløs kommunikasjon. Touchskjermen,
eventuelt også joystick, skal brukes til å navigere i menyene.
Dongel: Trådløs kommunikasjon og funksjoner på mikrokontroller, og kommunikasjon på
USB-kontroller.
Sensor: Trådløs kommunikasjon med eventuelle sensitivitetsinnstillinger.
(Motorstyring: Motorstyring, batteristyring, kommunikasjon med dongel.)
Feilsøking og testing av produkt
Under designfasen for både hardware og firmware skal det planlegges en teststrategi.
Designet skal deles opp i mindre moduler som enkelt kan testes hver for seg før de kobles
sammen til et system. Vi har selvsagt en naturlig oppdeling i de forskjellige enhetene våre,
men disse må i tillegg brytes opp i mindre, testbare enheter.
Slik vil vi vite at de enkelte delene fungerer hver for seg og det er en kjempefordel når vi skal
teste og feilsøke på de ferdige enhetene, og til slutt på hele systemet.
Etter å ha lagt ut annonse om defekte kamera på www.foto.no fikk vi et gratis Nikon D70 av
www.akam.no, det fungerer til det meste annet enn lagring av bilder og er derfor perfekt til
testbruk.
2.4. Spesifikasjoner
Brukergrensesnittet
Det er kun Xplore-kortet som har brukergrensesnitt, de andre enhetene har kun av/påknapp. Vi skal lage et brukbart menysystem, med fokus på funksjonalitet foran design, og
helst med touchfunksjonaliteten til å navigere i menyene, og joysticken til motorstyringen.
Evt. kan joysticken brukes til all navigering. Menyvalgene vi ser for oss er:
- Ta bilde
- Eksponering: Sette blender, lukker (+bulb) og ISO og lese av lysmåling.
- Enkel eksponering eller serieeksponering
- Autofokus av/på
- Bracketing
- Timelapse
- Motorstyring
- Sensor: Stille sensitivitet og tidsforsinkelse.
Menyen skal i første omgang inneholde fem hovedmenyer med innstillinger og funksjoner,
som vist i vedlegg 2. Der det er aktuelt har vi en start/stopp-knapp som både aktiverer gitt
funksjon og fjerner muligheten til å aktivere de andre funksjonene samtidig.
Selve funksjonene skal utføres i dongelen, så den må ha RTC-timer til timelapse og bulb. I
tillegg må den ha kommunikasjon med USB-kontrolleren, motorstyringen, fjernkontrollen og
sensorer.
Xplore:
- ATXmega128A1
- USB-kontroller AT90USB1287
- LCD touchdisplay med joystick
- SPI til RZ600
- Batteri
Dongel:
- ATXmega128A1 eller ATmega128RFA1
- USB kontroller AT90USB1287
- USB tilkobling (kamera)
- Kobling til stativhode
- (SPI til RZ600)
- 5 V til USB
- 3,6 V til mikroprosessorer
- JTAG
Sensorer:
- ATmega128RFA1
- Sensor
- Batteri
- JTAG
Motorstyring:
- Kobling til Dongel
- Stativhode (3kg+)
- Motorer
- Batteri
- (Mikrokontroller og JTAG)
2.5. Problemområder
Vi har noen utfordringer som vi er spente på om lar seg gjennomføre.
- Tid. Vi mangler erfaring innen hvor lang tid det tar å lage utlegg eller programmere
firmware, og må lære mye nytt som vi er spent på hvor tidkrevende blir.
- USB-kommunikasjonen blir en stor utfordring. USB er mest brukt mot operativsystem med
drivere, det har ikke vi i dongelen vår. Derfor må vi bygge systemet mer fra grunnen og lære
oss hvilke funksjoner vi kan bruke mot kameraet. Vi er avhengig av USB-kommunikasjon for
å styre kameraet utover å bestemme når det skal fokusere og ta bilde.
- Grensesnittet i Xplore har veldig mange muligheter, men det medfører også utfordringer.
Det er en stor skjerm som krever et grafisk grensesnitt og det er i tillegg en berøringsskjerm.
Vi er usikre på hvor mye arbeid det medfører å programmere dette grensesnittet og hvor
godt vi får utnyttet mulighetene.
- Trådløs kommunikasjon er også noe vi ikke har prøvd oss på før. Men her får vi i
prototypen god hjelp av RZ600 som skal stå for den trådløse kommunikasjonen i
fjernkontrollen og muligens dongelen. I sensorene skal vi bruke en alt-i-ett chip med
innebygd trådløskommunikasjon.
- Stativhodet kan bli dyrt.
3.
Arbeidspakker
USB-dongel
Spesifisering
Designe hardware
Produsere hardware
Designe firmware
Test
Fjernkontroll
Spesifisering
Designe GUI og HID
Definere kommunikasjonsprotokoll
Designe firmware
Test
Sensor
Spesifisering
Designe hardware
Produsere hardware
Definere kommunikasjonsprotokoll
Designe firmware
Test
Motorstyring
Spesifisering
Designe mekanikk
Designe hardware
Produsere mekanikk
Produsere hardware
Definere kommunikasjonsprotokoll
Designe firmware
Test
Feilsøking og testing av produkt
Funksjoner
Enkelte enheter
Fjernstyring-Dongel
Hele settet
Presentasjon av hovedprosjekt
Muntlig presentasjon
http://hekta.org/~hpe1119/
Hovedprosjektrapport
4.
Prosjektorganisering
4.1. Prosjektdeltagere
Steinar Fagerli - 13.10.85
2008 Elektro og datateknikk, Elektronikk ved Høyskolen i Sør-Trøndelag
2008
Ski og skred ved Øytun FHS
2007
Produksjonselektroniker ved Noca AS
2006 – 2007 Forkurs ved Høyskolen i Troms
2005 – 2006 Offpiste ved Øytun FHS
2003 – 2005 Lærling i produksjonselektronikerfaget ved Simpro AS
2002 – 2003 VK1 Elektronikk ved Meldal VGS
2001 – 2002 GK Elektro ved Meldal VGS
Hovedansvar: Hardware og test.
Egil Rotevatn - 13.11.86
2008 Elektro og datateknikk, Elektronikk ved Høyskolen i Sør-Trøndelag
2007 – 2008 Vervet Matros ved Landsdelskommando Nord-Norge
2006 – 2007 Førstegangstjeneste ved Landsdelskommando Nord-Norge
2005 – 2006 Foto-friluftsliv ved Øytun FHS
2003 – 2005 VK1 og VK2 Økonomi og Administrasjon ved Volda VGS
2002 – 2003 GK Almennfag ved Volda VGS
Hovedansvar: Firmware og trådløs kommunikasjon.
4.2. Utstyr og ressurser
Atmel Xplore
Atmel JTAGIce
Atmel RZ600
AVR Studio
Altium
LyX
Microsoft Project
Microsoft Visio
Diverse instrument
Laboratorium
Nikon D70
Nikon D90
Nikon D300
Manfrotto Kamerastativ
4.3. Prosjektleveranser
Levering av forprosjektrapport innen 21. januar
Prosjektmøter (med innkalling og referat) annenhver uke
Toukersrapport annenhver uke
Oppdatere hjemmesiden annenhver uke
Levering av kretskortutlegg
Presentasjon av prosjektet
Levering av prosjektrapport
4.4. Tids- og kostnadsplan
Tidsbruken på dette prosjektet er beregnet til totalt 1000 timer. I vedlegg 3 og 4 finnes
henholdsvis S-diagram og Gantt-skjema over planlagt tidsbruk. I Gantt-skjemaet har vi
inkludert sensorer og stativhodet, så får vi se senere om vi har tid til dette. Vi har fått en
diskutabel kostnadsgrense på 5000 kr fra Atmel. Her vil stativhodet stå for de største
kostnadene i tillegg til kretskortene. Kostnadene avhenger av hvor mye vi får tid til å lage
selv. Xplore og RZ600 får vi låne av Atmel.
4.5. Kvalitetssikring
Oppgaven er like mye en trening i prosjektstyring som å lage et produkt. Det er derfor viktig
at vi følger arbeidsplanen i Gantt-diagrammet og evt. justerer dette etter hvert, skriver
journal kontinuerlig og skrive toukersrapporter og møteinnkallinger når det skal gjøres.
Rapporter og møteinnkallinger skrives i LyX (LaTeX), noe som vil være litt tidkrevende å
starte opp, men enklelt å utvide og fylle inn når hovedskjelettet til dokumentene er laget.
For enkel distribusjon av dokumenter og filer vil vi bruke Dropbox, med CrashPlan som
backupprogram, i tillegg til å legge ut tillatt informasjon på hjemmesiden på hekta.org.
Når det er hensiktsmessig vil vi teste hardware og firmware, både funksjon, enhet og etter
hvert flere enheter sammen. Det er viktig å tenke på testing og feilsøking når både hardware
og firmware designes.
Motorstyring
USB-dongel
Trådløs tilkobling:
Tilkobling
for RZ600
Fjernkontroll -> dongel
Eksponeringskontroll
Trigger
Sensorsetup
Timelapsesetup
Pan/tilt-setup
Status request
USB 2.0
Kontroller
Tilkobling
for dongel
Tilkobling
for USB
Nikon-batteri
Kablet tilkobling:
Pan/tilt
Kalibrer
Kontrollsignal
Kontroller
-PWM?
Tilkobling
for
stativhode
Sentral kontroller
Dongel -> fjernkontroll
Kamerastatus
Generell status
Sensorstatus
Timelapsestatus
Pan-tilt-status
Trådløs tilkobling:
Triggersignal
Setup
Sensorer
USB 2.0
Fjernkontroll
Tilkobling
for RZ600
Joystick
Sensor
LCDskjerm
med touch
Batteri
Nikon DSLR
Kontroller med RF
Sentral kontroller
10-pin
Accessoryplug
Tilkobling
for USB
Tilkobling
for
motorer
Undermeny
Hendelse
Hovedmenyer
+100
Skal vise på
displayet i
meny
Valg
-100
+10
+
-10
-
USBkommunikasjon
+time
Antall Bilder
-time
+
+min
Vis nåværende
valg eller
nedtelling
Brennvidde (DX)
Start/Stopp
Tid
Timelapsemeny
-min
+
Vis nåværende
valg eller
nedtelling
Start/Stopp
Bilder Horisontalt
Av/På?
Motorstyring
-
Ta bilde
(Single / Continuos /
Stop?)
+sek
Vis Eksp.innst.
og lysmåling
-sek
Bilder Vertikalt
Startmeny
Motortimelapse?
+
-
-
+
+
-
ISO
+
+
Blender
-
Lukker
-
+time
-time
Vis Eksp.innst.
og lysmåling
Tidsforsinkelse
Eksponeringskontroll
+min
Bulb
Trigger
-min
+
Sensitivitet
(Lyd?)
M
Modus
(Auto?)
A
Eksponeringskompensasjon
+sek
-
-
+
-sek
Type sensor?
Vis nåværende
valg og status
S
Start/Stopp
Vis nåværende
valg?
+
Fokus av/på?
-
Andre
instillinger
+
Oppdateringsfrekve
ns lysmåling?
Bracketing?
-
+
-
Tidsbruk
Uke
1200
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1000
800
Total tidsbruk
Timetall
600
400
200
Per person
53
26
105
53
158
79
211
105
263
132
316
158
368
184
421
211
474
237
526
263
579
289
632
316
684
342
737
368
737
368
789
395
842
421
895
447
947
474
1000
500
0
2
3
4
5
6
7
8
9
10
11
Uke
12
13
14
15
16
17
18
19
20
21
Gantt-Diagram
ID
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Task Name
Duration
Start
Bachelorprosjekt E1119
Forprosjekt
Spesifisering av enheter og komponenter
USB-dongel
Designe hardware
Printe/Lodde
Designe firmware
Ferdig USB-dongel
Fjernkontroll
Designe GUI og HID
Designe firmware
Ferdig Fjernkontroll
Test/Forbedring av Dongel og Fjernkontroll
Sensor
Designe hardware
Printe/Lodde
Designe firmware
Ferdig Sensor
Stativhode
Kjøpe mekanikk
Designe hardware
Printe/Lodde
Designe firmware
Ferdig Stativhode
Påskeferie
Testing/Forbedring av alle enheter
Prosjektpresentasjon
Prosjektrapport
Ferdig Prosjekt
98 days
10 days
10 days
45 days
15 days
10 days
45 days
0 days
45 days
5 days
40 days
0 days
10 days
20 days
5 days
5 days
10 days
0 days
36 days
5 days
10 days
15 days
10 days
0 days
6 days
19 days
45 days
88 days
0 days
10.01.11
10.01.11
17.01.11
31.01.11
31.01.11
21.02.11
31.01.11
01.04.11
31.01.11
31.01.11
07.02.11
01.04.11
04.04.11
21.03.11
21.03.11
28.03.11
04.04.11
15.04.11
21.03.11
21.03.11
28.03.11
11.04.11
26.04.11
09.05.11
18.04.11
26.04.11
01.03.11
24.01.11
25.05.11
Prosjekt: E1119
Dato: 26.01.11
27 Dec '10 10 Jan '11 24 Jan '11 07 Feb '11 21 Feb '11 07 Mar '11 21 Mar '11 04 Apr '11 18 Apr '11 02 May '1116 May '1130 M
F T S W S T M F T S W S T M F T S W S T M F T S W S T M F T S W S T M F T S W
ER;SF
ER;SF
SF
SF
ER
01.04
ER
ER
01.04
SF
SF
SF
ER
15.04
ER
SF
SF
ER
09.05
SF
SF;ER
SF;ER
25.05
Task
External Milestone
Manual Summary Rollup
Split
Inactive Task
Manual Summary
Milestone
Inactive Milestone
Start-only
Summary
Inactive Summary
Finish-only
Project Summary
Manual Task
Deadline
External Tasks
Duration-only
Progress