Automatiseret katapult

Størrelse: px
Starte visningen fra side:

Download "Automatiseret katapult"

Transkript

1 Automatiseret katapult Kian Soleiman Casper Lindholt Andersen Rune Lauritzen Jesper Dalsgaard Mikkel Krautz DE3-1-E08 2. september 17. december 2008

2

3 Det Teknisk-Naturvidenskabelige Fakultet Aalborg Universitet Esbjerg 3. Semester TITEL: Automatiseret katapult PROJEKTPERIODE: P3, efterår september 17. december 2008 PROJEKTGRUPPE: DE3-1-E08 GRUPPEMEDLEMMER: Kian Soleiman Casper Lindholt Andersen Rune Lauritzen Jesper Dalsgaard Mikkel Krautz VEJLEDERE: SYNOPSIS: Der konstrueres en fuldautomatisk LE- GO katapult der styres ved hjælp af en MSP430F149 microcontroller. Katapulten ønskes i stand til at panorere 180, hvilket gør at den selvstændigt kan finde og affyre efter mål der befinder sig imellem cm fra enheden. Dette skal ske uden inputs fra andet end sensorer monteret på enheden. Efter udførelse af diverse test kan det konkluderes, at katapulten fungere modulvis i forhold til de opstillede krav. Mikael Svenstrup Morten Bisgaard OPLAG: 8 TOTAL SIDEANTAL: 82

4 2 Forord Denne rapport er udarbejdet på Aalborg Universitet Esbjerg af DE3-1-E08, som dokumentation for gruppens P3-projekt på 3. semester, efteråret Gruppen har valgt at kigge på problemstillingen: Kan man konstruere en panorerende katapult styret af microcontroller, som kan ramme mål uden andet end inputs fra sensorer på enheden?. Rapportens målgruppe er vores vejledere samt de andre medstuderende på D/E-retningen. Rapporten er skrevet i et forståeligt sprog, der gør at læseren ikke behøver den store tekniske baggrundsviden. Visse ord er dog forklaret med fodnoter. Projektet opfylder de kriterier, som står anført i studieordningen. I rapporten henvises der til kilder og figurhenvisninger ved at angive afsnittet med [#]. Informationer om kilderne kan findes ved opslag i kildelisten bagerst i rapporten. Med rapporten medfølger en CD-ROM, der indeholder datablade for de forskellige komponenter og microcontrolleren, kildekode for software og tests, videoer af forskellige test, samt selve rapporten i PDF format. Der er inkluderet kodeeksempler i rapporten, koden står på følgende måde: 1 #include <s t d i o. h> 2 3 int main ( int argc, char argv [ ] ) 4 { 5 p r i n t f ( " Hello, World! \ n " ) ; 6 return 0 ; 7 } Kian Soleiman Casper Lindholt Andersen Rune Lauritzen Jesper Dalsgaard M ikkel Krautz

5 Indhold Indledning 6 1 Problemformulering Problemformulering Problemafgrænsning Kravspecifikation Krav til rummet Krav til målet Krav til katapult Krav til ammunition Katapult Basedesign Base Affyringsmekanisme Låsemekanisme Afstandsmåler Motor Motorstyring DC motor Kasteparabel Implementering i katapulten Støj Microcontroller MSP Registre Clocks Digital I/O Konfiguration af digital I/O Anvendelse af digitale I/O porte Anvendelse af interrupts på digitale I/O ben Analog/Digital Converter

6 4 INDHOLD Virkemåde Konfiguration Kode Interrupts Interrupt prioritet Diskussion Kode RS Virkemåde USART Kode Timer bit tæller/timer for timer A Timer modes Anvendelse i software PWM PWM teori PWM på MSP Software design Stadier Initialisering Reset Målsøgning Affyring Moduler Interrupt-modulet Watchdog-modulet Panorerings-modulet Afstandsmåler-modulet Timer-modulet RS232-modulet Affyrings-modulet Hovedprogrammet main.c Test & Konklusion Indledning MSP Testspecifikation Resultat Konklusion Afstandsmåler Testspecifikation

7 INDHOLD Resultat Konklusion Panoreringsmotor Testspecifikation Resultatet Konklusion Låsemotor Testspecifikation Resultater Konklusion Affyringsmotor Testspecifikation Resultater Konklusion Træfsikkerhed Testspecifikation Resultater Konklusion Samlet system Testspecifikation Resultater Konklusion Teknologivurdering Konklusion Figurer 76 Litteratur 77 A Port oversigt 79

8 6 INDHOLD

9 Indledning I dette semester arbejdes med microcontrollere og programmering af disse. For at opnå de stillede krav til 3. semester projektet, er der lagt fokus på opbygning af en statisk katapult, der ved hjælp af en Texas Instruments MSP430F149 microcontroller kan scanne efter et mål, affyre efter målet og derefter søge videre efter andre mål. Da formålet med dette projekt er at lave et embeddet system, der kan fungere uden inputs fra andet end de sensorer den er udstyret med, virkede det derfor interessant at modificere en katapult, så den bliver det centrale i et microcontroller-styret system. 7

10 8 INDHOLD

11 Kapitel 1 Problemformulering 9

12 10 KAPITEL 1. PROBLEMFORMULERING 1.1 Problemformulering En katapult er pr. definition en genstand i hvilken en oplagret energi pludselig frigives, med det formål at affyre et objekt en distance. Historisk set, har katapulten været en krigsmaskine. I middelalderen benyttede man katapulter til at skyde store sten og lign. mod fjender. I dag er begrebet brugt mere mekanisk, i den forstand at man benytter oplagret energi til eksempelvist at trække flyvemaskiner op i fart, så de kan lette fra skibe og lign. Kan man lave en katapult af middelalder-typen vha. moderne elektronik? Katapulten skal opbygges således en microcontroller kan benyttes til at justere den afstand den skyder, så kan man fjerne de store ballaster man benyttede i middelalderen, og forbedre præcisionen, så man eventuelt kan ramme en række opstillede mål. Fremstilles der en LEGO-katapult, vil det så være muligt at udstyre den med en række sensorer, så den kan styres af en microcontroller? Med hjemmedesignet hardware, kan man lave en motorstyring der muliggør at styre de væsentlige funktioner i en katapult, og tillader desuden tilføjelse af funktioner som panorering, automatisk ladefunktion og lign. Alle disse er ting som ikke var at finde på den klassiske katapult. Styres en katapult af en microcontroller, åbner muligheden sig også for at styre den manuelt, samt at få statusudlæsninger, gennem en terminal. Det mest interessante ved en elektronisk katapult, er dog automatisering af arbejdet, så katapulten selv kan scanne området for potentielle mål, selvstændigt bestemme afstanden dertil, og affyre et skud. Ud fra dette kan der uddrages en problemstilling, der vil blive arbejdet ud fra: "Kan man konstruere en panorerende katapult styret af microcontroller, som kan ramme mål uden andet end inputs fra sensorer på enheden?"

13 1.2. PROBLEMAFGRÆNSNING Problemafgrænsning I forbindelse med at udarbejde et system styret af en microcontroller, er det i gruppen besluttet at konstruere en automatisk katapult. Designet af et sådant system er afgrænset til følgende punkter: Konstruktionen opbygges af LEGO. Konstruktionens platform skal ikke kunne tilte. Konstruktionens terminalprogram, skal benyttes til debugning, samt kontrol af systemets status. Softwaren til den variable affyring er designet til statiske mål, og indeholder ikke beregninger baseret på det skrå kast. Konstruktionen skal benyttes indendørs og på plane flader. Konstruktionen er bygget op, så den skal ramme indenfor forudbestemte zoner, der ligger indenfor afstandsmåleren rækkevidde. Konstruktionen skal lades manuelt. Projektet omhandler microcontroller-styrede systemer, og i forbindelse med dette benyttes en Texas Instruments MSP-430F149 microcontroller, som den centrale styringsenhed i prototypen.

14 12 KAPITEL 1. PROBLEMFORMULERING 1.3 Kravspecifikation Ud fra problemformulering og afgrænsning, stilles følgende krav til katapulten. Kravspecifikationen er delt op i flere dele i forhold til hvad kravene tilhører, således der er krav til selve rummet, hvor katapulten befinder sig, målet, katapulten og ammunitionen Krav til rummet Gulvet skal være plant indenfor en radius på en meter Krav til målet Målet skal stå vinkelret i forhold til katapulten. Målet skal være minimum 15 cm bredt og 20 cm højt. Der skal højest være et mål ad gangen indenfor rækkevidden. Målet må ikke være sort Krav til katapult Katapulten skal være opbygget på en ubevægelig (statisk) base. Katapulten skal kunne panorere 180 vha. LEGO DC motorer. Katapulten skal kunne ramme mål indenfor en rækkevidde af cm, opdelt i 3 zoner. Zone 3: cm, zone 2: cm, zone 1: cm. Med en fejlmargin på højest ±3 cm. Med en træfsikkerhed på minimum 6 ud af 10 gange. Katapultens motorer skal være DC motorer, som styres gennem en H-bro via microcontrolleren Krav til ammunition Ammunitionen skal være kugleformet. Ammunitionens vægt skal gøre den upåvirkelig fra trækvinde.

15 Kapitel 2 Katapult 13

16 KAPITEL 2. KATAPULT Basedesign Der er designet en statisk katapult af LEGO. Der vil i det følgende blive gennemgået de forskellig moduler i basen. Udover selve basen er der også to andre moduler: affyrings-modulet til affyring og låse-modulet der kan låse skeen fast i forbindelse med affyring Base Basen til katapulten har to formål. Den skal være stabil nok til ikke at vælte idet katapulten affyres. Derudover indeholder den katapultens panoreringsfunktion, der gør det muligt fra katapultens base at affyre skud spredt udover 180. Panoreringsfunktionen involverer en LEGO DC-motor og to kontakter. Panoreringen foregår således at et tandhjul kører en stang fra den ene side til den anden side, når der panoreres. I hver ende er der en kontakt. Stangen støder mod kontakten, der aktiverer den og får den sendt i den anden retning. Således vil den kunne panorere frem og tilbage uendeligt. Figur 2.1: Billede af katapulten Affyringsmekanisme Affyringsmekanismen på katapulten fungerer ved at der er en ske, der står fastmonteret på en gevindstang i oprejst position. På figur 5.3 kan der ses en illustration af, hvordan skeen oplagrer affyringsmomentet i gevindstangen, ved at en motor vha. en snor, trækker den ned til cirka 70 fra start. Som en del af affyringen

17 2.1. BASEDESIGN 15 træder en låsemotor ind og holder skeen fastlåst i ladt position, samtidig med at affyringsmotoren løsner snoren en bestemt længde, som passer til hvor langt katapulten skal skydes. Når snoren er løsnet nok, og er klar til affyring vil denne motor igen stoppe, og låsemotoren sættes til at bevæge sig tilbage. Dette får skeen til at køre op den længde snor, som er blevet løsnet, og derved affyre et skud. Figur 2.2: Illustration af hvordan momentet opbygges på katapulten. For at bestemme længden af snoren på skeen der skal spændes, er der monteret en omgangstæller, der tæller op samtidig med at motoren kører rundt. På denne måde kan katapulten selv tælle længden fra startposition til den laveste position, og ud fra dette kan det bestemmes hvor meget snoren skal løsnes for at ramme et bestemt mål Låsemekanisme Som tidligere nævnt, er låsemekanismen opbygget for at kunne fastholde skeen, mens den gøres klar til at blive affyret. Låsemekanismen er opbygget med en LEGO stang, som kører mellem to kontakter. Kontakternes funktion i opbygningen af låseenheden, er at stoppe en motor når LEGO-stangen er kørt helt ud til en side. Låsen kunne ligeledes være opbygget med en omgangstæller, men der blev benyttet

18 16 KAPITEL 2. KATAPULT kontakter, idet denne motor ikke drejer så langt, og at en omgangstæller muligvis ikke ville være præcis nok til dette. For at fastlåse skeen, bliver LEGO-stangen kørt ud foran den, og dermed holder den på plads. Med det samme låsen rammer kontakten vil den stoppe. Efter katapulten er klar til at affyre skeen, vil låsen blive kaldt til den anden side, og blive stoppet af den anden kontakt. Ligeledes er det sikret, at låsemekanismen bliver kørt væk, så skeen ikke bliver hevet ned i den, når den er ved at gøre klar til affyring. Figur 2.3: Billede af lock-motor.

19 2.2. AFSTANDSMÅLER Afstandsmåler Afstandsmåleren der benyttes er af typen Sharp GP2D12, den skal bruges til at bedømme afstanden til katapultens mål. Enheden der bliver benyttet er en analog afstandsmåler, da det er det mest optimale til dette projekt. Denne enhed er tilsluttet microcontrolleren gennem en 12-bit AD-converter [?]. Sharp GP2D12 fungerer ved at enheden udsender infrarøde stråler fra emitter siden, og derefter måler på refleksionen af de udsendte stråler. Refleksionen i objektet sker ved at den udsendte infrarøde stråle fra afstandsmåleren rammer objektet og sendes tilbage således, at der dannes en trekant, som på figur 2.4. Afstandsmåleren bruger så vinklen på refleksionen, til at bestemme afstanden til objektet. Figur 2.4: Refleksion af afstandsmåler fra et tilfældigt objekt [6]. Afstandsmåleren har en rækkevidde på cm, som læses vha. dens output i volt fra 0,4 V til 2,6 V. Implementeringen af denne enhed er simpel, idet selve behandlingen af de infrarøde signaler klares internt. Den kan sluttes til og så kan afstanden bestemmes ved at måle på outputtet. På figur 2.5 kan afstandsmålerens output i volt ses på grafen i forhold til centimeter.

20 18 KAPITEL 2. KATAPULT Figur 2.5: Graf over afstandsmålerens sammenhæng mellem volt og centimeter [7].

21 2.3. MOTOR Motor Der anvendes fire almindelige LEGO DC-motorer i opbygningen af katapulten. Motorerne bruges til panoreringsfunktionen, lademekanismen og to af motorerne anvendes i affyringsmekanismen. Alle motorerne styres gennem H-broer af typen L298N, som kører ved inputs fra microprocessoren Motorstyring Der anvendes i alt to L298N H-broer til motorstyring. Det giver hver især mulighed for at sætte de to motorer i fire forskellige stadier, hhv. forward, reverse, locked motor stop, samt free running motor stop. De fire forskellige stadier styres ved at driverkredsen modtager seks inputsignaler (tre til hver motor) fra microcontrolleren, og ud fra dem danner den fire outputsignaler til motorerne. De tre inputs bliver omtalt som V EN, C og D. På figur 2.6 kan de forskellige stadier ses. Figur 2.6: Tabel over de states H-broen kan sættes i vha. inputs [8]. Det kan ud fra figuren ses, at det for at få bevægelse i motorerne er nødvendigt med et højt signal på enable, og derudover enten højt på et af benene C og D. På figur 2.12 kan opbygningen af DC-motorerne på H-broen ses. Figuren viser en halv H-bro, dvs. en H-bro hvorpå der kun er koblet en enkelt motor. Det er således muligt at sætte to DC-motorer til en enkelt H-bro. På hver H-bro er der påsat kondensatorer på hhv. referencespændingen og forsyningsspændingen. Dette er gjort for at forhindre støj fra H-broen. Ligeledes er der sat 4 dioder omkring hver motor, for at ensrette strømmen således det løber gennem H-broen og kører motorerne.

22 20 KAPITEL 2. KATAPULT Figur 2.7: Diagram over opsætning af H-bro med DC-motorer [8]. Begge H-broer bliver forsynet med 9 V til motordelen og en reference spænding på 5 V til forsyning af kredsen. Motorerne vil derfor køre enten fremad eller bagud med fast 9 V, hvis der enten er højt på C eller D benet. En af motorerne vil være sat til at køre med et PWM signal, således det er muligt at nedtrappe de 9 V til en lavere spænding. For yderligere forklaring henvises til afsnit DC motor I projektet benyttes LEGO DC motorer af typen (Se figur 2.8). Disse motorer er velegnede på grund af deres relativt høje trækkraft der gør at de kan belastes i en sådan grad, at de kan benyttes til at panorere katapulten med, samt stramme snoren. Figur 2.8: LEGO-motor af typen [2]. Denne motor kører ubelastet med en hastighed på 360 RPM (omgange i minuttet), og trækker en strøm på 3,6 ma ved 9 V forsyning. Der gælder for

23 2.3. MOTOR 21 denne type motor, som ved de fleste DC motorer, at hastigheden er proportional med spændingen der trækker den. Se f.eks. figur 2.9 [2]. Figur 2.9: Tabel over antallet af omdrejninger, samt vridningsmoment en LEGO motor yder ved forskellige spændinger [2]. En ting værd at bemærke er dog at strømmen stiger markant ved belastning (figur 2.10). Helt op til 360 ma. Da panoreringen af katapultens base belaster panorerings-moteren meget, tages der højde for dette ved at benytte en ekstern strømforsyning til katapulten, i modsætning til den medfølgende til MSP430 Developer Kittet. Med en ekstern strømforsyning er det muligt at trække alle motorerne på en gang. [2] Figur 2.10: Graf over sammenhængen mellem omdrejninger og den strøm motorerne trækker [2].

24 22 KAPITEL 2. KATAPULT 2.4 Kasteparabel En kasteparabel eller det skrå kast, er et udtryk for et projektils bane når det bliver skudt af i en vinkel forskellig fra 90 i forhold til lodret. Er affyringsvinklen vandret vil projektilets bane være lige op, og derefter returnere til nulpunktet. Det er muligt at regne på hvordan projektilets bane gennem luften vil forme sig, hvis man har følgende data om affyringen. Starthastighed. Startvinkel. Start position i y-retning. Start position i x-retning. Figur 2.11: Et eksempel på en kasteparabel [9]. Kasteparablen kan indsættes i et koordinatsystem med startpunkt i origo, som vist på figur Bevægelsen kan beskrives som en bevægelsesvektor opdelt i to dele, en i x- og en i y-retningen: v 0 = ( v 0 cos(α) v 0 sin(α) ) Ved at benytte trekantsberegning kan det ses, at siden liggende på x-aksen, er lig v 0 gange med sinus til affyringsvinklen og siden stående parallelt med y-aksen er lig v 0 gange med cosinus til affyringsvinklen. ( ) ( ) x y = x0 +v 0 c cos(α) y 0 +v 0 c sin(α) Ved at benytte koordinatligningen kan projektilets position og hastighed beregnes ved at isolere c i koordinatligningen for x og herefter indsætte det fundne udtryk i ligningen for y. Resultatet af dette er kasteparablen. y = (1/2g) (v 0 cos 2 (α)) x2 + sin(α) x cos(α) Ud fra denne ligning fremgår det at y er et andengradspolynomium af x, og det vil være en parabel der peger nedad da andengradsleddet har negativt fortegn.

25 2.4. KASTEPARABEL Implementering i katapulten For at implementere kasteparablen i katapulten, skal sammenhængen mellem længden på skuddet, x, og affyringsvinklen alpha i formel 2.4, lagres ved affyring. Affyringshastigheden antages at være konstant, idet det oplagrede moment bør være stærkt nok til at returnere skeen til oprejst position uden at tabe hastighed af betydning. Med disse faktorer på plads kan kasteparablen bruges til kalibrere katapulten. idet man ved skud kan formode at den rammer ved højden y=0. Ved første skud kan man derfor se hvor skuddet rammer i forhold til målet og herudfra beregne farten v 0, idet det er den eneste ubekendte. Når v 0 er fundet skal den optimale affyringsvinkel beregnes, den ubekendte i formlen vil herefter være alpha idet afstanden til målet er givet vha. afstandsmåleren. Når affyringsvinklen er fundet, gøres katapulten klar til affyring og snoren løsnes til dette antal grader. Så skulle katapulten kunne ramme målet. På grund af gevindstangens ændring i moment vil affyringshastigheden, ændre sig for meget til at kunne antages som konstant, og derfor kan kasteparablen ikke anvendes rent praktisk på katapulten.

26 24 KAPITEL 2. KATAPULT 2.5 Støj Støj bliver ofte et problem i kredsløb hvor der indgår høj- og lav-impedante enheder. Den væsentligste støjkilde i hardware opstillingen, kommer fra de 4 høj-impedante DC-motorer. Idet der skal registres signaler fra kontakter og en omgangstæller er det vigtigt at disse ikke er påvirket af støj, da signalet, ved for store udsving, vil kunne registreres forkert. Et signal der ledes igennem en spole, eller er tilsluttet en kondensator før ground, vil give en mindre dæmpning af et lav-frekvens signal end på et høj-frekvens signal. Derfor bliver dette kaldt et lav-pass filter. Det modsatte er gældende for et høj-pass filter. Der gives en mindre dæmpning af et høj-frekvens signal end på et lav-frekvens signal. I vores opbygning af H-broer er der tilsluttet to kondensatorer før ground (se figur 2.12). Der anvendes dermed lav-pass filtre i opstillingen. På denne måde frafiltreres den høj-impedante som kommer fra motorerne. Figur 2.12: Diagram over opsætning af H-broerne med lav-pass filtre [8].

27 Kapitel 3 Microcontroller 25

28 26 KAPITEL 3. MICROCONTROLLER 3.1 MSP430 Som nævnt tidligere, benyttes der i en MSP430F149 microcontroller til styring og kontrol af katapulten. MSP430 microcontroleren er en 16-bit RISC 1 CPU. Der anvendes en Von- Neumann arkitektur, hvilket vil sige at selve instruktionerne der udføres at processoren, samt de data den arbejder på, opbevares i den samme hukommelse. Principperne bag MSP430 ens opbygning kan ses på figur 3.4. Figur 3.1: MSP430 diagram over dens opbygningen [3]. Da MSP430 er en microcontroller, og ikke kun en microprocessor, indeholder den ekstra in- og output-muligheder der gør det let at interagere med ekstern elektronik. En liste over nogle af de forskellige features der er tilgængelige ses nedenfor: JTAG til overføring af nyt firmware/programkode, samt debugging. USART for let implementering af serielle kommunikationsprotokoller. (RS232, osv.) Digitale I/O ben for tilkobling af eksterne digitale enheder. (Nogle med interrupt-muligheder.) 12-bit ADC Analog-to-digital converter. To indbyggede timere (Timer A og Timer B) med valgfrie clock-kilder. Kan f.eks. anvendes til implementering af PWM signaler (se afsnit 3.9). 1 Reduced Instruction Set Computer

29 3.2. REGISTRE Registre MSP430 har i alt 15 registre, hvor nogen af disse anvendes til specielle formål som f.eks. stack pointer eller program counter. De første fire registre i MSP430, R0, R1, R2 og R4 er specielle, og har følgende funktioner: R0: Program Counter R1: Stack Pointer R2: Status Register R3: Constant Generator De resterende registre, R4-R15 er general purpose, og kan således til hvad end man lyster. Program Counter registeret er det register der holder styr på adressen i hukommelsen hvor CPU en på et givent tidspunkt er ved at eksekvere. Stack Pointeren peger på programmets stack, og Constant Generator-registeret anvendes i instruktioner der arbejder med konstante værdier, f.eks. en CMP instruktion der sammenligner værdien af et register med 0 eller en anden konstant værdi. Det eneste register der er interessant fra vores synspunkt er Status Registeret, da vores programkode er skrevet i C, og derfor ikke har haft brug for at røre ved de resterende registre. Status registeret (se figur 3.2) indeholder diverse status bits for aritmetiske instruktioner som f.eks. ADD og SUB. Disse er N, Z, C og V, som er hhv. negativ-, zero-, carry- og overflow-bittene. Det er også muligt at slukke for nogle systemclocks (se næste afsnit 3.3 for mere information vedr. clocks) via registrene SCG0 og SGC1 og OSCOFF. Derudover er det også muligt at slukke for CPU en via CPUOFF-bittet. Det eneste register der eksplicit anvendes i vores software er GIE, Global Interrupt Enable, der slår interrupts til. Figur 3.2: Status registeret på MSP430 [4].

30 28 KAPITEL 3. MICROCONTROLLER 3.3 Clocks MSP430 indeholder et modul kaldet Basic Clock Module. Basic Clock modulet indeholder tre forskellige clock kilder: LFXT1CLK: en lavfrekvent 32,768 KHz oscillator. XT2CLK: En valgfri højfrekvent oscillator. DCOCLK: Intern digitalt kontrolleret oscillator med RC-karakteristik. Kører som standard omkring 800KHz. Selve Basic Clock modulet eksporterer tre clock signaler: ACLK: Auxillary clock. Kører altid med LFXT1CLK kilden. Kan køres med en divider på 1, 2, 4 eller 8. MCLK: Master clock. Master clocken er den clock der leverer clocksignal til bl.a. CPU en og system. Kan benytte alle ovenstående clock-kilder med dividerne 1, 2, 4 eller 8. til alle de ovenstående clock-kilder. SMCLK: Sub-master clock. Anvendt som clock til devices som f.eks. timere og USART. SMCLK har en divider på 1, 2, 4 eller 8. I projektet drives både MCLK og SMCLK af DCO clock-kilden. DCO clockfrekvensen er ikke ændret fra standardværdien, som er på omkring 800KHz. 3.4 Digital I/O MSP430 har i alt 64 ben, hvoraf de 48 kan konfigureres til I/O ben. Mange af disse har også andre funktioner som f.eks. timere, men kan indstilles som værende udelukkende I/O ben via et register. De 48 I/O ben er inddelt i 6 porte kaldet P1 P6. Hver enkelt port styres via et byte langt port-register [4]. På figur 3.3 kan en oversigt over portene og portenes placering på MSP en ses.

31 3.4. DIGITAL I/O 29 Figur 3.3: Oversigt over portene på MSP430F149 [3]. En oversigt over de porte der anvendes i katapult-projektet kan findes bagerst i bilag A Konfiguration af digital I/O Som nævnt kan de 48 ben kan enten vælges som digitale I/O ben eller den indbyggede funktion (f.eks. timere, ADC etc.). Det overordnede register der styrer dette kaldes PxSEL, der findes et af disse registre til hver port. Hvis et bit er sat højt, vil dette ben opføre sig efter den indbyggede funktion, som kan findes i databladet. Ligeledes vil et bit være et digitalt I/O ben, når dette bit er sat lavt. Skemaerne (figur 3.4 og figur 3.5) viser de registre der er tilkoblet de forskellige I/O porte. Portene P1 og P2 adskiller sig fra de andre registre ved at de har interrupt-egenskaber. Samtlige porte indeholder udover PxSEL (der bestemmer om en given port er et I/O ben), registrene PxIN, PxOUT og PxDIR. Derudover indeholder de to registre med interrupt-muligheder også registrene PxIE, PxIFG og PxIES der anvendes til konfiguration af interrupts [4].

32 30 KAPITEL 3. MICROCONTROLLER Figur 3.4: Oversigt over P1 og P2 registrene [4]. Figur 3.5: Oversigt over P3-P6 registrene [4] Anvendelse af digitale I/O porte Hver port har et PxDIR register. Dette register vælger retningen af I/O benet dvs. om benet skal være et input ben, eller et output ben. Benet sættes som output, hvis det tilsvarende bit i registret er sat højt, mens benet sættes som input, hvis det tilsvarende bit er lavt. Sættes et ben på en specifik port som et input ben, anvendes PxIN registret til at udlæse dette bens værdi. PxIN er kun et læsbart registrer, og det er ikke muligt at ændret dens værdi. Sættes et ben som output, styres benets værdi via registret PxOUT. PxOUT registret fungerer på samme måde som PxIN, bortset fra at man her selv sætter værdien, i stedet for at aflæse den. Signalerne på de digitale output ben afhænger af MSP430-controllerens forsyningsspænding. I dette projekt anvender en forsyning på 3,3 V, hvilket vil sige at MSP430 output benene giver 3,3 V output, og ligeledes forventer inputs på 3,3 V Anvendelse af interrupts på digitale I/O ben De to porte, P1 og P2, kan anvendes sammen med interrupts. Dette betyder at microcontrolleren kan interrupte kørende programkode, når der sker en ændring på et input ben. For at slå interrupt-funktionen til på et input ben, benyttes registret PxIE. Hvert bit i dette register svarer til et ben på den pågældende port. Når interrupts

33 3.4. DIGITAL I/O 31 er slået til, vil en ændring på et I/O få processoren til at hoppe til en bestemt adresse i koden (en såkaldt Interrupt Service Routine). Omstændighederne for ændringen af et bens værdi er det også muligt at konfigurere. Dette gøres via registret PxIES, som gør det muligt at vælge hvor vidt man vil have et interrupt når et signal går fra at være lavt til højt, eller omvendt.

34 32 KAPITEL 3. MICROCONTROLLER 3.5 Analog/Digital Converter En 12-bit analog til digital converter (ADC12) opererer ved at konvertere et analogt signal til dets repræsentative 12-bit digitale signal, som derefter gemmes i en konverteringshukommelse som kan aflæses efter behov Virkemåde ADC12 modulet som anvendes, har i sig også en integreret referencespænding. Den interne referencespænding kan enten sættes til 1,5 V eller 2,5 V og ellers er der mulighed for at sætte en ekstern reference til MSP en. For at bruge den interne referencespænding, skal REFON sættes til højt i ADC12 Kontrolregisteret (ADC12CTLx), ligesom det skal vælges hvilken referencespænding der skal bruges ved at sætte REF2_5V højt eller lavt for hhv. 2,5 V og 1,5 V. Dette bit sættes også i ADC12CTLx registeret [4]. Det er også muligt at konfigurere ADC en til at benytte en ekstern referencespænding. De to software-konfigurable ben (V R+ og V R ) kan sættes til forskellige ben på microcontrolleren, og dermed kan man sætte sin egen referencespænding hvis man ønsker at opnå en bedre udnyttelse af opløsningen end hvad de to standard referencer giver mulighed for. På MSP en findes der både et V ref+ og Ve ref+ ben (hhv. 7 og 10), mens V ref og Ve ref er samlet i det samme ben, 11. Forskellen er V ref er den interne reference, som kan måles, mens Ve ref står for den eksterne reference, hvor man selv beslutter referencen. I projektet anvendes der en ekstern reference spænding på 2,6 V. Den anvendte afstandsmåler kan maksimalt levere et output på 2,6 V, hvilket gør det logisk at bruge en ekstern reference på dette. Der er i dette projekt valgt benene V ref og Ve ref, som reference ben til ADC en. Men det er gennem ADC12 Conversion Memory kontrol registreret (ADC12MCTLx) på MSP en muligt at bestemme hvilken reference der bruges. De tre bits SREF kan sættes og ud fra dette kan der vælges hvilke ben der bruges. Det er således også muligt at vælge forsyningsspændingen til MSP en som reference, som det kan ses på figur 3.6.

35 3.5. ANALOG/DIGITAL CONVERTER 33 Figur 3.6: Oversigt over hvilke reference ben der kan sættes til ADC12 på MSP430 [4]. De 12-bit som ADC en kan gengive den analoge værdi i, giver rent teoretisk mulighed for at opdele spændingsintervallet i 4096 stykker og få en præcision på 0,0006V. Den formel der anvendes for konvertering fra den analoge spænding til den digitale 12-bits værdi kan ses nedenfor Konfiguration N ADC = 4095 V in V R V R+ V R I det følgende forklares opbygningen af referencespændingen på MSP en, samt hvilken reference der bliver brugt. Input kanalen og de to software-konfigurable ben bliver defineret i kontrolregistrene for enheden. ADC en er konfigureret vha. to kontrolregistre, ADC12CTL0 og ADC12CTL1, og aktiveres vha. ADC12ON bittet i ADC12CTL0. ADC12 en kan også deaktiveres, dette kan gøres for at spare strøm. Desuden skal det nævnes at ADC12 ens kontrol-bits kun kan ændres når ENC = 0, og for at der kan ske en konvertering skal ENC = 1. Dette bit sættes i ADC12CTL0 ADC12 har fire forskellige konverteringsmetoder, jvf. figur 3.1. Disse vælges på baggrund af hvordan CONSEQx bittet er sat. CONSEQx Mode Operation 00 Single channel singleconversion Et enkelt signal som konverteres en gang. 01 Sequence-of-channels En sekvens af signaler som konverteres en gang. 10 Repeat-single-channel Et enkelt signal som bliver konvereteret gentagne gange. 11 Repeat-sequence-ofchannels En sekvens af signaler som bliver konvereteret gentagne gange. Tabel 3.1: Tabel over konverteringsmetoder på ADC en [4]. I projektet bruges konverteringensmodellen kaldet Single channel singleconversion. Grunden til at denne konverteringsmodel benyttes skyldes at det opfylder kravene til projektet [4].

36 34 KAPITEL 3. MICROCONTROLLER Kode Herunder ses vores kode til styring af ADC12-enheden i MSP430. Som tidligere nævnt anvendes konverteringsmodellen Single Channel, Single Conversion hvilket gør implementationen let. Der anvendes en initialiserings-funktion, distance_init(), der opsætter ADC en vha. de i det foregående afsnit beskrevne principper. Derudover er der implementeret en distance_get()-funktion der foretager en måling på ADC en og returnerer en 12-bits digital værdi konverteret fra vores afstandsmålers analoge signal. 1 / 2 d i s t a n c e. c Distance sensor and ADC12 c o n t r o l. 3 / 4 5 #include <MSP430x14x. h> 6 #include " rs232. h " 7 #include " pan. h " 8 #include " launch. h " 9 #include " d i s t a n c e. h " / 12 I n i t i a l i z e d i s t a n c e module. 13 / 14 void d i s t a n c e _ i n i t ( void ) 15 { 16 P6SEL = 0x01 ; // P6. 0 ADC option s e l e c t 17 ADC12CTL0 = SHT0_2 + ADC12ON; // Set sampling time, turn on ADC12 18 ADC12CTL1 = SHP; // Use sampling timer 19 ADC12IE = 0x00 ; // Enable i n t e r r u p t 20 ADC12MCTL0 = SREF_2; // S e t VeRef+ and VeRef 21 ADC12CTL0 = ENC; // Conversion enabled 22 ADC12CTL0 &= ( BIT5 ^ 0xFF ) ; // Reference o f f 23 ADC12CTL0 = ADC12SC; // Sampling open 24 _BIS_SR(GIE ) ; 25 } / 28 Read v a l u e from d i s t a n c e sensor. 29 / 30 unsigned int distance_get ( void ) { 31 unsigned int val ; / S i g n a l the ADC to s t a r t sampling. / 34 ADC12CTL0 = ADC12SC; / Wait f o r completion. / 37 while (ADC12CTL1 & 0 x01 ) 38 ; 39

37 3.5. ANALOG/DIGITAL CONVERTER / Save v a l u e. / 41 val = ADC12MEM0; return val ; 44 }

38 36 KAPITEL 3. MICROCONTROLLER 3.6 Interrupts Et interrupt er et asynkront signal fra hardware eller software, som indikerer at der er behov eksekveringstid. Når der sker et interrupt kræver den opmærksomhed til det sted i koden der er fastsat (også kaldet en ISR 2, således afbrydes CPU ens igangværende programudførelse. Den igangværende programudførelse genoptages igen, når ISR en er udført. Interrupts på MSP430 slås til ved at sætte bittet GIE i status registeret SR. Derefter skal interrupts for de enkelte porte i PxIE, hvis der er tale om digital I/O, eller interrupt enable bittet i kontrolregistret for enheden Interrupt prioritet Når der er flere interrupts ønsker CPU-tid samtidigt, bliver de eksekveret efter prioritet. Fra Texas Instruments side er der på forhånd valgt prioriteter for de forskellige interrupts, som kan ses på figur 3.7. Som det kan ses har de vigtige system-interrupts højere prioritet end normale device-interrupts. Derudover er interrupt-prioriteten bestemt via interrupt-vektorens adresse i hukommelsen Diskussion Interrupts kan med fordel benyttes hvis ændringer af værdier på input kan håndteres i en interrupt service routine. Et eksempel på dette i vores projekt er knapperne der anvendes til hhv. panorering og låsemekanisme. I dette tilfælde giver det ingen mening at sidde og polle på de enkelte input ben for kontakterne og derefter udføre kode der ændrer en motors retning. I en sådan situation kan det meget bedre betale sig at anvende et interrupt, da opgaven der skal udføres er simpel. Et eksempel på et sted der anvendes polling på input ben i stedet for interrupts er i afstandsmåler-modulet. Pga. flowet i softwaren, er det meget lettere at avende en synkron aflæsning, end et asynkront interrupt. Om man skal anvende interrupts i en given situation afhænger således meget af situationen, og måden dataet fra en bestemt enhed skal anvendes i resten af softwaren. 2 Interrupt Service Routine

39 3.6. INTERRUPTS 37 Figur 3.7: Her ses de forskellige interruptvektorer samt en liste over interruptprioriteterne på MSP430 [3].

40 38 KAPITEL 3. MICROCONTROLLER Kode Da softwaren er skrevet i C, vil der her komme nogle enkelte eksempler på anvendelse af interrupt-vektorer for interrupt service routines i C. Vores kode er skrevet til både at kunne køres i Texas Instruments Code Composer compiler, og MSP-GCC. Begge disse compilere har understøttelse for at lave interrupt service routiner direkte i C-kode (i modsætning til assembler), men der benyttes forskellig syntax fra compiler til compiler. I Code Composer anvendes in-line ISR således: 1 #pragma v e c t o r=port1_vector 2 interrupt void p ort1_isr ( void ) { 3 4 / Read v a l u e o f PORT1 i nput. / 5 unsigned char v a l = P1IN ; 6 7 / Determine which pin to s e r v i c e. / 8 i f (P1IFG & 0x1 ) { 9 / P1. 0 was changed / (... ) P1IFG &= ~(0 x1 ) ; 14 } i f (P1IFG & 0x2 ) { 17 / P1. 1 was changed. / (... ) P1IFG &= ~(0 x2 ) ; 22 } 23 } I MSP-GCC erklæres funktionen lidt anderledes, ellers fungerer resten som i Code Composer: 1 #include <s i g n a l. h> / mspgcc wants the s i g n a l. h header f o r in l i n e ISRs. / 2 3 i n t e r r u p t (PORT1_VECTOR) port1_isr ( void ) { (... ) 7 8 }

41 3.6. INTERRUPTS 39 Desuden skal det nævnes at MSP430 ikke altid er god til selv at cleare interrupt flaget for alle interrupts, så vi har i alle tilfælde gjort dette manuelt.

42 40 KAPITEL 3. MICROCONTROLLER 3.7 RS232 RS232 er en simpel seriel data-bus oprindeligt beregnet til kommunikation mellem en DTE (Data Terminal Equipment) dvs. en computer eller en terminal, og en DCE (Data Communications Equipment) dvs. et modem [5]. RS232 standarden specificerer forskellige funktioner og niveauer, som f.eks. spændingsniveauer og funktionen af de forskellige ben på portene. Dog har RS232 gennem tiden også været brugt til andre ting end blot kommunikation mellem en DTE og en DCE, og i disse applikationer har man bl.a. brugt forskellige standard-specificerede ben til signalering af applikations-specifikke formål. Dermed trodsede man den egentlige specifikation, men fik yderligere funktionalitet. Dette var smart fordi RS232 og DE9-stik var vidt tilgængelige på computere, og det var derfor muligt at bygge simple udvidelser dertil. Selv om RS232 i dag kan føles gammel og forældet er det stadig yderst nyttigt, og meget simpelt at arbejde med i praksis, dette gør at det er yderst attraktivt at arbejde med til kommunikation mellem embeddede systemer under debugging eller lignende Virkemåde RS232 er anvendt til karakter-baseret kommunikation, typisk vil dette være transmission af ASCII karakterer, men det er ikke begrænset hertil. Normalt anvendes såkaldte UART er for at gøre det lettere at arbejde med RS232, og på disse kan man sætte en værdi for antal bits per karakter. For at gøre det muligt at modtage data asynkront fra den modsatte ende af kommunikationen, gør RS232 brug af start og stop bits. Denne teknik kaldes framing. Framing sker for hver enkel karakter der afsendes fra UART en. For at dekode en karakter fra signalerne der kommer efter et start-bit i en frame anvendes en forudbestemt timing kaldet baud raten. Baud raten bestemmer hvor tit modtageren skal sample signalet for dermed at bestemme en specifik bit-værdi. Ud over de to start- og stopbits fra framingen, bruger man også ofte endnu et ekstra bit for at forhindre data korruption, det såkaldte paritets-bit. Når paritet er slået til, vil paritets-bittet fremgå umiddelbart efter alle databits er blevet transmitteret, men før stop-bittet. Typisk anvendes to forskellige metoder til paritetstjeks, odd eller even paritet. De fungerer på den måde at antallet af logiske 1-bits i de transmitterede databits optælles. Køres der med odd parity

43 3.7. RS sættes paritetsbittet til logisk 1 hvis antallet er ulige, ellers 0. Ligeledes sættes paritetsbittet højt hvis antallet er lige, når der køres med even parity. RS232 bruger desuden lidt atypiske spændingsniveauer. Dette er gjort for at bekæmpe støj. Et logisk 0 i RS232 er en spænding mellem +3 V og +15 V. Et logisk 1 er en spænding mellem 3 V og 15 V USART En Universial Asynchronous Receiver/Transmitter (UART) eller Universial Synchronous/Asynchronous Reciever/Transmitter (USART) er det stykke hardware der benyttes til at kommunikere over en RS232-linje. Vi vil ikke gå i dybden med at forklarer hvordan en USART fungerer, men vil kun forklare det overfladisk. USART en laver alt det hårde arbejde beskrevet tidligere i kapitlet, og abstraherer stort set alt viden om den underliggende protokol væk. På MSP430 fungerer det på den måde, at man skriver til et output register for at sende en byte af sted, og læser fra et input register når man vil låse et sendt byte. Det er ligeledes muligt at anvende interfact til USART en via interrupts, så man kan modtage en IRQ når der er modtaget en ny byte, og når en ny byte bør sendes Kode Kode til styring af RS232 og USART kan findes på den medfølgende CD-ROM i mappen code/rs232.c.

44 42 KAPITEL 3. MICROCONTROLLER 3.8 Timer MSP430 indeholder to timere kaldet timer A og timer B [4]. Både timer A og B er asynkrone 16bit timere/tællere med: 4 indbyggede operationstilstande. Valgfrie og justerbare clock frekvenser. 3 justerbare capture/compare registre. Konfigurable outputs med mulighed for PWM. Asynkront input og output latching. Interrupt vector funktion for hurtig behandling af Timer A/B interrupts bit tæller/timer for timer A 16-bit tælle registret, TAR, fungerer på den måde at den afhængigt af operationstilstand vil enten inkrementere eller dekrementere sin værdi på hver stigende flanke på clocksignalet. TAR registret kan ved hjælp af software både skrives til og læses fra, ydermere kan timeren kan sættes til at generere at interrupt når der forekommer overflow i dette register. TAR registret kan også tømmes ved at sætte TACLR bittet. Dette sletter dog også clock divideren og count-retningen for op/ned mode Timer modes Timer A og B i MSP430 har 4 forskellige tilstande som vist på 3.8, up, up/down, stop og continuous. Hvilken af disse tilstande der vælges, bestemmes af MCx bittet. Figur 3.8: Timer modes på MSP430 [4]. Up-mode benyttes hvis timerperioden altid skal være forskellig fra 0FFFFh optællinger. Timeren vil gentage sig selv ved at tælle op til den i compare-registret,

45 3.8. TIMER 43 TxCCR0, angivne værdi hvilket definerer perioden som vist på Antallet af optællinger i perioden er TxCCR0 + 1, da den tæller op til TxCCR0 og derefter starter forfra fra 0 igen. Vælger man up-mode mens værdien er større end compareregistret vil timeren genstarte med det samme. TxCCR0 CCIFG interruptflaget bliver sat når timeren tæller fra TxCCR0 værdien. TxIFG interrupt flaget bliver sat når timeren tæller fra TxCCR0 til nul [4]. Figur 3.9: Up mode på Timer A og B.[4]. Continuous-mode får timeren til at tælle op til 0FFFFh, og genstarte fra 0. I denne mode virker Capture/compare registret TxCCR0 på samme måde som de andre capture/compare registre. Interruptflaget bliver sat når tælleren går fra 0FFFFh til 0 [4]. Figur 3.10: Continuous mode på Timer A og B [4]. Up/down-mode benyttes hvis optællinger timer perioden skal være forskellig fra 0FFFFh, og man har behov for en symmetrisk puls generering. Timeren tæller op til den i TxCCR0 registret angivne værdi, og derefter ned til 0 igen som vist på Perioden er det dobbelte af værdien angivet i TxCCR0 registret. Tællerretningen bliver husket, sådan at det er muligt at starte tælleren i samme retning som den talte da den blev stoppet. Hvis man ikke ønsker at gemme dette skal man slette TxCLR bittet, TxCLR bittet sletter også TxR værdien og TxCLK divideren.

46 44 KAPITEL 3. MICROCONTROLLER I up/down mode, bliver TxCCR0 CCIFG interrupt flaget og TxIFG interrupt flaget kun sat en gang hver periode, separeret af den halve timer periode. TxCCR0 CCIFG interrupt flaget bliver sat når timeren tæller fra TxCCR0+1 til TxCCR0, and TxIFG bliver sat når timeren fuldender nedtællingen fra 0001h til 0000h. Figur 3.11: Up/down-mode på Timer A og B [4] Anvendelse i software I softwaren anvendes både Timer A og Timer B. Timer A anvendes som en generel timer hvortil man kan registrere rutiner, man ønsker skal kaldes med jævne mellemrum. Timer B anvendes som PWM timer. Herunder forklares lidt om konfigurationen af den generelle timer. Konfiguration af PWM timeren kan findes i næste afsnit. Den generelle timer der benyttes i softwaren kører med SMCLK (som er DCO en i vores tilfælde). Den kører med en frekvens på 800 KHz og en divider på 8, hvilet bringer os ned på 100 KHz. Der køres i continuous mode og der reageres kun over overflows. I det tælle-registeret kun er 16-bit langt vil den overflowe efter efter timer ticks, hvilket vil sige at et overflow vil ske efter: 65536/ = sekunder Selve koden for den periodiske-timer kan findes i filen code/timer.c på den vedlagte CD-ROM.

47 3.9. PWM PWM PWM [1] eller Pulse With Modulation, på dansk kaldet pulsbredde-modulation, er den metode der benyttes til at lave individuel hastighed på de enkelte motorer PWM teori PWM fungerer ved at man i stedet for et konstant højt signal, sender et firkantsignal med ændret høj/lav tid, også kaldet modulation af duty cycle. Ved at modulere duty cycle til eksempelvis 50% høj og 50% lavt, kan man ændre output på en H-bro fra eksempelvis 9 V forsyningsspænding til 4,5 V (se figur 3.12) uden at bekymre sig om at de to H-broer i et L-298 komponent normalvis kører med samme spænding. Dette kan det beskrives som en kontakt der bliver tændt og slukket meget hurtigt. Figur 3.12: Eksempler på PWM signaler [1] PWM på MSP430 Som nævnt i forrige afsnit (3.8), anvendes Timer B til at generere det PWM signal der benyttes til låsemotoren. Timer B benyttes som tidligere forklaret i up-down mode. Eksemplet nedenfor er et uddrag af PWM koden, der er en del af affyringsmodulet. Hele koden kan findes på den vedlagte CD-ROM i filen code/launch.c. 1 P4SEL = PWM_SIGNAL1 + PWM_SIGNAL2; // P4. 1 and P4. 2 Timer B 1/2 o p t i o n s 2 P4DIR = PWM_SIGNAL1 + PWM_SIGNAL2; // P4. 1 and P4. 2 output 3 TBCCR0 = 128; // PWM Period /2 4 TBCCTL1 = OUTMOD_6; // CCR1 t o g g l e / s e t 5 TBCCR1 = 4 0 ; // CCR1 PWM duty c y c l e (Low p eriod ) 6 TBCCTL2 = OUTMOD_6; // CCR2 t o g g l e / s e t 7 TBCCR2 = 0 ; // CCR2 PWM duty c y c l e 8 TBCTL = TBSSEL_2 + MC_3; // SMCLK, up down mode

48 46 KAPITEL 3. MICROCONTROLLER Timeren sættes op til at køre med toggle/set, der toggler værdien på timerens output register. TBCCR0 registeret er timerens maksimum (dvs. en halv PWM periode), og TBCCR1 sætter et toggle-punkt, hvori firkant signalet toggles mellem høj og lav. Da der køres i up/down mode, kan der på denne måde genereres et PWM signal, som set på figur Figur 3.13: Anvendelse af PWM på Timer B. På billedet ses eksempler på værdier af de to Capture/Compare registre CCR0 og CCR1.

49 Kapitel 4 Software design 47

50 48 KAPITEL 4. SOFTWARE DESIGN 4.1 Stadier I det følgende vil der blive forklaret de forskellige stadier katapulten kan befinde sig i. Først forklares hele katapulten overordnet, og derefter de underordnede stadier. Den nedenstående figur 4.1 viser et overblik hvordan selve systemet fungerer og hvilke overordnede stadier systemet kan være i. Overordnet sker der en initialisering, når katapulten startes. Efter initialiseringen går systemet over i et reset stadie, der sikrer at alle motorer er sat op og klar. Herefter sættes målsøgningen i gang. Målsøgningen vil fortsætte uendeligt indtil afstandsmåleren opfanger et mål, hvorefter systemet går over i affyringsstadiet. Her vil selve affyringen ske, hvorefter systemet vil gå tilbage i reset stadiet, og således kører rundt i en løkke. De forskellige stadier vil blive beskrevet mere detaljeret nedenfor. Figur 4.1: State diagram over software for katapulten Initialisering Det første katapulten gør er at initialisere. Her sættes lock-motoren i unlock stadie, hvilket vil sige at den står klar til at låse når dens funktion bliver kaldt. Udover dette sættes affyringsmotoren klar, så den fastspændte snor er spændt helt ud og klar til at blive spændt. Ydermere sættes panoreringsmotoren og ammunitionsmotoren klar til at gå i gang, når målsøgningsstadiet nås. Udover de fire motorer sættes kontakterne også klar og i det rigtige stadie Reset Når katapulten har initialiseret alle motorerne og kontakter er den også gået igennem reset stadiet, se figur 4.2. Dette stadie vil sætte alle motorerne og kontakter til start position og nulstille alle variabler til deres startværdier. Figur 4.2: State diagram over reset state Målsøgning Efter initialisering og reset, begynder katapulten at søge efter mål. Her starter panoreringen i en retning og ligeledes startes afstandsmåleren. Opfanger afstands-

51 4.1. STADIER 49 måleren et mål indenfor cm., vil panoreringen stoppe, outputtet fra afstandsmåleren vil blive gemt, panoreringsretningen vil blive gemt og systemet vil fortsætte til næste stadie. Panoreringsretningen gemmes, således panoreringen kan fortsætte samme retning efter en affyring. Hvis afstandsmåleren ikke opfanger noget, vil panoreringen fortsætte frem og tilbage i 180 uendeligt. Situationen kan ses på figur 4.3. Figur 4.3: State diagram over målsøgnings state Affyring I affyrings stadiet, se figur 4.4, hentes afstandsmålerens output. Herefter bliver skeen sænket ved at snoren strammes. Når skeen er spændt helt ned holder låse motoren den på plads, på den måde kan snoren frigøres til affyring. Frigivelsen bliver udregnet udfra den gemte afstandsmåler værdi, og i forhold til det gemte antal ticks. Efter snoren er løsnet fjernes låsen og et skud affyres. Når der er blevet affyret et skud vil katapulten gå tilbage til reset stadiet. Figur 4.4: State diagram over affyrings state.

52 50 KAPITEL 4. SOFTWARE DESIGN 4.2 Moduler Pojektets software er opbygget i moduler. Opbygning med moduler gør det muligt at teste de enkelte komponenter hver for sig, og gør det muligt at fordele kodningsarbejdet ud på forskellige personer. Det vil sige at grænsefladen til de forskellige moduler er bestemt på forhånd, hvilket giver mulighed for flere forskellige implementeringsmuligheder så længe specifikationer for de forskellige moduler er overholdt. Nedenfor gennemgås software modulerne, deres grænseflader samt beskrivelse af funktionernes formål. Til sidst beskrives hovedprogrammet main.c Interrupt-modulet Interrupt-modulet benyttes kun til at slå interrupts fra med. Filer: interrupt.h Afhængigheder: Ingen. void enable_interrupts() Slå interrupts til på CPU en Watchdog-modulet Da watchdog hardwaren i MSP430 ikke skal anvendes, bruges watchdog modulet til at slå denne funktionalitet fra. Filer: watchdog.c, watchdog.h. Afhængigheder: Ingen. void watchdog_stop() Stop watchdog timeren Panorerings-modulet Panoreringsmodulet står for styring af panoreringsmotoren samt kontakterne til bestemmelse af retningsskifte.

53 4.2. MODULER 51 Filer: pan.c og pan.h. Afhængigheder: Ingen. PAN_DIRECTION_LEFT Retningskonstant (venstre) PAN_DIRECTION_RIGHT Retningskonstant (højre) void pan_init() Initialiserer panoreringsmodulet. void pan_turn_left() Drej til venstre. void pan_turn_right() Drej til højre. void pan_turn_dir(int dir) Drej til en bestemt side. Bestemt via en retningskonstant (PAN_DIRECTION_*). bool pan_is_running() Returnerer hvor vidt en panorering er i gang. int pan_stop() Stopper panorering. Returnerer den retning der panoreres, inden der stoppes Afstandsmåler-modulet Afstandsmodulet bearbejder de output fra afstandsmåleren via MSP430s indbyggede 12 bits AD converter. Filer: distance.c, distance.h. Afhængigheder: Ingen. void distance_init() Initialiserer afstandsmåler-modulet. unsigned_int_distance_get()

54 52 KAPITEL 4. SOFTWARE DESIGN Aflæs en afstand. Returnerer en ADC-værdi Timer-modulet Timer-modulet tillader brugeren at registrere en funktion som skal kaldes efter et bestemt tidsinterval. Tidsintervallet er ikke konfigurerbart, men er fastlagt ved initialisering. Timer-modulet kan således ikke bruges til præcis timing, men derimod til at få kaldt en funktion (til f.eks. status-tjek) med jævne mellemrum. Timer-modulet benyttes til at bestemme om ladefunktionen har nået en låst tilstand. Filer: timer.c, timer.h. Afhængigheder: Ingen. void timer_init() Initialiserer timer-modulet. int timer_call_regularly(timerfunc_t_func, void *udata) Registrerer en callback-funktion der skal kaldes med jævne mellemrum. Denne funktion har prototypen: bool_function(void *) Pointeren udata opbevares og passeres til callback-funktionen når den bliver kaldt. Returnerer en callback-funktionen false, fjernes den fra kalds-listen, returnerer den true vil den stadig blive ved med at kaldes. Funktionen returnerer et heltals-id, der kan bruges til at fjerne den manuelt (uden at returnere false i callback-funktionen), vha. timer_remove() RS232-modulet RS232-modulet bruges primært til debugging samt statusindikation. Modulet eksporterer en printf() funktion der udskriver via serielporten. Filer: rs232.c, rs232.h.

55 4.2. MODULER 53 Afhængigheder: Ingen. void rs232_init() Initialiserer RS232. void rs232_putchar(char x) Udskriver en enkelt karakter igennem RS232. void rs232_printf(char *fmt,... ) Formaterer en tekststreng som printf(), og udkskriver denne via rs232_putchar() Affyrings-modulet Affyrings-modulet står for selve affyringen og benytter sig bl.a. af timer modulet. Modulet styrer affyringsmotoren og låse motoren. Filer: launch.c, launch.h. Afhængigheder: Timer-modulet. void launch_init() Initialiserer affyrings-modulet. (Alle motorer der benyttes under affyring) void fire_init() Initialiserer affyrings-motoren. bool fire_is_running() Returnerer true eller false alt efter om katapulten er i gang med en affyring. void fire_shoot(int percent) Starter en affyring. Løsner skeen percent procent. void fire_motor_down() Kører affyrings-motoren ned. void fire_motor_up() Kører affyrings-motoren op. void fire_motor_stop() Stopper affyrings-motoren.

56 54 KAPITEL 4. SOFTWARE DESIGN void fire_motor_freerun() Sætter affyrings-motoren i free motor run. void load_init() Initialiserer load-motoren. (Anvendes ikke, da der ikke er implementeret en automatisk lade-funktion) void lock_init() Initialiserer låse-motore. void lock_turn_left() Kør låse-motoren mod venstre. void lock_turn_right() Kør låse-motoren mod højre Hovedprogrammet main.c I main.c intialiseres de forskellige moduler og det er her katapult-logikken er implementeret. Programmet kan findes på CD en, og har filnavnet code/main.c. Initialiserings-processen kan ses på nedenstående figur, 4.5, og anvender initialiserings-funktioner fra alle modulerne beskrevet i det tidligere afsnit her i kapitlet. Når alle moduler er blevet initialiserede, hopper programmet over i et main-loop (se figur 4.6. Det er heri koden for selve afstandsbestemmelsen, der sætter en affyring i gang når der er fundet et mål, kan findes. Figur 4.5: Flowchart over initialisering af software.

57 4.2. MODULER 55 Figur 4.6: Flowchart over main-loopet i vores katapult-software.

58 56 KAPITEL 4. SOFTWARE DESIGN

59 Kapitel 5 Test & Konklusion 57

60 58 KAPITEL 5. TEST & KONKLUSION 5.1 Indledning I dette afsnit er der fokuseret på tests af de samlede moduler, dette vil sige at det testes at softwaren til de enkelte moduler kan styre den tiltænkte hardware.

61 5.2. MSP MSP 430 Formålet med denne test er at sikre at microcontrolleren virker, så der i projektet er et stabilt udgangspunkt for en funktionel kode Testspecifikation Microcontrolleren er testet for at sikre os at alle in/output ben virker: Sætte alle ben høje, og måle om der står 3,3 V på dem. Sætte alle ben lave og måle om der står 0 V på dem. Testkoden for denne test kan findes på den vedlagte CD under /code/testport.c Resultat Testen viste at microcontrolleren fungerede, som den skulle. Alle ben der kunne sættes hhv. høj eller lav, gjorde dette. Test Alle ben sat højt Alle ben sat lavt Resultat Fungerer fint Fungerer fint Konklusion Tabel 5.1: Resultater af test med microcontrolleren Dette modul virker som det er beskrevet i testspecifikationen. Dog viste det sig at være nødvendigt eksplicit at sætte alle ben på microcontrolleren, da værdien ved opstart ikke er defineret.

62 60 KAPITEL 5. TEST & KONKLUSION 5.3 Afstandsmåler Formålet med denne test var at finde eventuelle fejl i afstandsmåleren i forhold til databladet, således der ikke satses blind på databladet. Grafen kan bruges til at bestemme katapultens afstand til et objekt, ved at udlæse ADC-tallet, og se på grafen hvor det ligger. Det er også disse ADC-tal der benyttes i koden til at bestemme hvor meget kraft katapulten skal affyre med Testspecifikation Afstandsmåleren er testet ved: at være monteret statisk. Ud fra dette er der afmålt 0-85 cm med 5 cm interval afmærkning. Efter hver 5 cm er der blevet indsat et objekt for at kunne aflæse ADC-tallet. Ved hver position er der taget ca. 5 sekunders målinger. Herfra er gennemsnittet ved hver position taget, for at få det endelige tal. Målingerne kan findes på den vedlagte CD-ROM under /test/afstand-test Resultat Resultatet af disse tests er plottet i den nedenstående figur 5.1. Figur 5.1: Output målinger fra afstandsmåleren med 5 cm interval i ADC-tal Konklusion Hvis man sammenligner vores test med databladets graf, se figur 5.2, kan man se at de stemmer meget overens. Graferne har hver deres enhed på den lodrette akse.

63 5.3. AFSTANDSMÅLER 61 Dette har ingen betydningen da volt og ADC-tallet er proportional og kan dermed sammenlignes. Der er et udsving i testgrafen ved omkring 45 cm. Dette er blevet taget med i udregningen af afstanden fra robotten. Ligeledes stemmer graferne fra 0-9 cm heller ikke overens. Dette er ikke af betydning for dette projekt, da kravet for afstanden til målet er mellem 30 og 80 cm. Figur 5.2: Sammenligning af databladetsgraf og test grafen

64 62 KAPITEL 5. TEST & KONKLUSION 5.4 Panoreringsmotor Formålet med denne test er at sikre at panoreringsmotoren kan nå yderpunkterne uden at ledningerne hæmmer katapulten. Desuden skal det sikres at katapulten er i stand til at reagere og stoppe foran et givent mål Testspecifikation Panoreringsmotoren er testet ved: Lade katapulten panorere til højre, se at den vender når den rammer kontakten og sikre at den kan gøre dette ubesværet. Lade katapulten panorere til venstre, se at den vender når den rammer kontakten og sikre at den kan gøre dette ubesværet. Sætte motoren i lockstop mens katapulten panorerer, for at sikre at den kan stoppe ud for et mål Resultatet Resultatet fra testen kan ses nedenunder. Test Panorering til højre Panorering til venstre Stop foran mål Resultat Fungerer fint Fungerer fint Fungerer fint Tabel 5.2: Resultater af test med panoreringsmotor Katapulten panorerer ca. 180, men har problemer med at nå helt ud til yderpunkterne, samtidig med at farten falder for panoreringen, pga. de mange ledninger omkring katapulten. Den skifter automatisk retning når den når et yderpunkt, og kører tilbage. Når katapulten finder et mål går panoreringsmotoren i locked stop, hvilket gør at den stopper foran mål Konklusion Det kan konkluderes at selve panoreringen fungere fint. Grunden til at den ikke altid kan nå helt ud til yderpunkterne skyldes dårligt design af katapulten, der gør at ledningerne trækkes med og giver panoreringen modstand. Katapulten stopper også foran målet, men har nogle gange en lidt langsom reaktionstid. Dette kan skyldes at panoreringsmotoren kører på 9 V, og dermed er for hurtigt til at reagere på det.

65 5.4. PANORERINGSMOTOR 63 På trods af de små fejl, vurderes det at panoreringen lever op til krav- og testspecifikationerne.

66 64 KAPITEL 5. TEST & KONKLUSION 5.5 Låsemotor Formålet med denne test er at finde ud af om konstruktionen af låsemotoren er holdbar, i forbindelse med opbygning af moment i katapulten Testspecifikation Låsemotoren er testet på følgende på følgende punkter: Køre låsen til højre og se at den stopper når den rammer kontakten. Køre låsen til venstre og se at den stopper når den rammer kontakten. Sænke skeen, slå låsen til og se at den holder skeen, samtidigt med at motoren stopper når låsen rammer kontakten. Slå låsen fra mens den holder skeen, samtidigt med at motoren stopper når låsen rammer kontakten Resultater Resultatet fra testen med låsemotoren kan ses nedenunder. Test Lås til højre Lås til venstre Låse skeen Løsne skeen Resultat Fungerer fint Fungerer fint Fungerer fint Fungerer fint Tabel 5.3: Resultater af test med låsemotor Låsen slår frit og ubesværet til og fra, og motoren stopper når låsen når yderpunkterne. Låsen kan holde skeen nede, og har kræfterne til at slå fra mens den holder skeen Konklusion Eftersom låsemotoren virker som det er beskrevet i krav- og testspecifikationen, er dette en holdbar løsning til at opbygge moment ved hjælp af denne lås.

67 5.6. AFFYRINGSMOTOR Affyringsmotor Formålet med denne test er at sikre at affyringsmotoren er stærk nok til at trække skeen ned, da dette er nødvendigt for en affyring Testspecifikation Affyringsmotoren er testet på følgende punkter: Trække skeen helt i bund. Trække skeen ned og sætte motoren i lockstop. Se efter at gevindstangen, kan holde til det moment der oplagres i den. Den første test sættes affyringsmotoren til at trække skeen ned, for at se om dette er muligt. Den næste test trækkes motoren igen ned på denne måde, men herefter sættes motoren i lockstop, for at teste om skeen kan blive holdt fast nede. Til sidst testes gevindstangen ved at køre skeen helt i bund, og herefter skal den selv køre op i free motor running. Dette gentages 10 gange, for at se hvordan gevindstangen opfører sig udfra det Resultater Resultaterne af disse test kan ses beskrevet i nedenstående tabel Test Skeen i bund Låse motoren fast Gevindstangen og moment Resultat Fungerer fint Fungerer ikke optimalt Fungerer ikke optimalt Tabel 5.4: Resultater af test med affyringsmotor Affyringsmotoren trækker som beskrevet i testspecifikation skeen ned uden problemer. Når motoren sættes i lockstop er momentet i skeen større end det motoren kan holde, og skeen bevæger sig langsomt opad. Gevindstangen ændrer sig meget under testene, og giver dermed forskellige startpositioner hver gang, dog opnås der noget stabilitet jo flere gange skeen er kørt ned og op Konklusion Dette er en fejlkilde i affyringsmotoren, at den giver sig lidt når skeen frigives. Det er en fejl, men det vurderes til at have meget lidt betydning, da det er noget der vil ske hver gang, og katapulten derfor vil opfører sig på samme måde. Test

68 66 KAPITEL 5. TEST & KONKLUSION af gevindstangen, viser tydeligt at der bliver tabt en del moment i starten. Men det virker som om at den når et stabilt punkt, hvor skeen altid returneres til samme position. Der vil dog altid være en del usikkerhed omkring stabiliteten af katapulten pga. gevindstangen. Dette modul virker ikke optimalt i forhold til kravspecifikationen. Dette er nogle ting der skal forbedres, hvis man skal være sikker på, at katapultens præcision skal være perfekt.

69 5.7. TRÆFSIKKERHED Træfsikkerhed Formålet med denne test er at sikre at katapulten, lever op til de krav for træfsikkerhed der er stillet i kravspecifikationen. Derfor laves denne test til at identificere hvor langt snoren skal løsnes, for at få den største træfsikkerhed indenfor vores forudbestemte zoner. Katapulten er ved denne test, fastsat statisk og uden panorering. Således katapulten står stille og kun skyder fremad. Figur 5.3: Illustration af katapulten og de 3 zoner Testspecifikation Katapultens træfsikkerhed er testet ved at: Affyre 5 skud for hver 5%, snoren kan løsnes fra og med 5% til og med 100%. Affyre yderligere 5 skud ved den længde løsnede snor, der har højst træfsikkerhed i de 3 zoner der ønskes at ramme. Træfsikkerhedsresultatet er taget ud fra de 10 skud, og er angivet i procent ud fra disse Resultater Resultaterne for testen kan ses nedenfor. Snor viser hvor mange procent snoren er løsnet, mens de forskellige test viser hvad der er sket. Ingen affyring betyder at ammunitionen ikke forlader skeen. Hopper betyder den hopper lige op og ned

1 Titelblad. Synopsis Denne rapport omhandler et autonomt robotsystem bygget op omkring microcontrolleren MSP430 fra Texas Instruments.

1 Titelblad. Synopsis Denne rapport omhandler et autonomt robotsystem bygget op omkring microcontrolleren MSP430 fra Texas Instruments. 1 Titelblad P3-projekt: Robot til autonom husovervågning Gruppe: DE3-3-e08 Vejleder: Mikael Svenstrup Synopsis Denne rapport omhandler et autonomt robotsystem bygget op omkring microcontrolleren MSP430

Læs mere

Arduino Programmering

Arduino Programmering Microcontroller, Arduino I teknologi skal vi lære at lave programmer til uc for at have muligheden til eksamen at kunne lave intelligente el-produkter. I hvert fald skal vi have set mulighederne, og forstået

Læs mere

Datamaters arkitektur og programmering

Datamaters arkitektur og programmering Mikael Svenstrup Datamaters arkitektur og programmering 1/24 Datamaters arkitektur og programmering MM11: Seriel kommunikation 2 (SW) Indhold Mikael Svenstrup Datamaters arkitektur og programmering 2/24

Læs mere

System Arkitektur og Integration

System Arkitektur og Integration Mikael Svenstrup System Arkitektur og Integration 1/24 System Arkitektur og Integration MM11: Seriel kommunikation 2 (SW) Indhold Mikael Svenstrup System Arkitektur og Integration 2/24 Tidligere har i

Læs mere

Analog Øvelser. Version. A.1 Afladning af kondensator. Opbyg følgende kredsløb: U TL = 70 % L TL = 50 %

Analog Øvelser. Version. A.1 Afladning af kondensator. Opbyg følgende kredsløb: U TL = 70 % L TL = 50 % A.1 Afladning af kondensator Opbyg følgende kredsløb: U TL = 70 % L TL = 50 % Når knappen har været aktiveret, ønskes lys i D1 i 30 sekunder. Brug formlen U C U start e t RC Beskriv kredsløbet Find komponenter.

Læs mere

Microcontroller, Arduino

Microcontroller, Arduino Microcontroller, Arduino Programmerbar elektronik. uc Vi skal lære at lave programmer til uc for at kunne lave el-produkter. Forstå princippet i programmering af en uc og se mulighederne. Programmeringen

Læs mere

AVR MP3 29-05-08 05576 Ingeniørhøjskolen i Århus Michael Kaalund

AVR MP3 29-05-08 05576 Ingeniørhøjskolen i Århus Michael Kaalund AVR MP3 29-05-08 Indholdsfortegnelse 1 Introduktion...2 2 Udviklingsmiljø...2 3 Beskrivelse af systemet...3 3.1 VS1001k...3 3.2 MP3 file formatet...6 4 Konklusion...6 5 Litteratur liste...6 6 Illustrations

Læs mere

Nedenstående opgaver er lavet til en Allen-Bradley PLC, men uden videre tilpasses andre PLC typer.

Nedenstående opgaver er lavet til en Allen-Bradley PLC, men uden videre tilpasses andre PLC typer. PLC, analogteknik Øvelse 1 Nedenstående opgaver er lavet til en Allen-Bradley PLC, men uden videre tilpasses andre PLC typer. Timer 1.1 "TON" Timer on delay: I skal konstruerer en styring, hvor en lampe

Læs mere

Indholdsfortegnelse Indledning... 2 Projektbeskrivelse... 2 Dette bruger vi i projektet... 2 Komponenter... 2 Software... 2 Kalibrering...

Indholdsfortegnelse Indledning... 2 Projektbeskrivelse... 2 Dette bruger vi i projektet... 2 Komponenter... 2 Software... 2 Kalibrering... Indholdsfortegnelse Indledning... 2 Projektbeskrivelse... 2 Dette bruger vi i projektet... 2 Komponenter... 2 Software... 2 Kalibrering... 3 Kildekoden... 4 Variabler... 4 Setup... 4 Loop... 4 Indledning

Læs mere

Microcontroller, Arduino

Microcontroller, Arduino Microcontroller, Arduino Kompendium til Arduino-programmering i Teknologi. Vi skal lære at lave programmer til uc for at kunne lave el-produkter. Vi skal forstå princippet i programmering af en uc og se

Læs mere

Arduinostyret klimaanlæg Afsluttende projekt informationsteknologi B

Arduinostyret klimaanlæg Afsluttende projekt informationsteknologi B Arduinostyret klimaanlæg Afsluttende projekt informationsteknologi B Udarbejdet af: Mathias R W Sørensen, klasse 3.4 Udleveringsdato: 02-03-2012 Afleveringsdato: 11-05-2012 IT-vejleder: Karl G. Bjarnason

Læs mere

Enes Kücükavci Roskilde Tekniske Gymnasium 20 05 2010 Mathias Turac Informationsteknolog B Vejleder: Karl Bjranasson Programmering C

Enes Kücükavci Roskilde Tekniske Gymnasium 20 05 2010 Mathias Turac Informationsteknolog B Vejleder: Karl Bjranasson Programmering C Indhold Indledning(Enes)... 2 Problemstilling (Enes)... 2 Teori (Enes)... 2 Løsningsforslag (Enes)... 4 RFID relæet (Mathias)... 6 Krav (Enes og Mathias)... 8 Målgruppen (Mathias)... 8 Rekvirent... 8 Implementering(Mathias)...

Læs mere

Interrupt - Arduino. Programmering for begyndere Brug af Arduino. Kursusaften 6 EDR Hillerød Knud Krogsgaard Jensen / OZ1QK

Interrupt - Arduino. Programmering for begyndere Brug af Arduino. Kursusaften 6 EDR Hillerød Knud Krogsgaard Jensen / OZ1QK Programmering for begyndere Brug af Arduino Programmeringskursus Interrupt - Arduino EDR Hillerød Knud Krogsgaard Jensen / OZ1QK Interrupts Programmeringskursus Genbrug Interrupts Betyder blot at man afbryder

Læs mere

GSM SMS Modem MODEL: SA RTU-1 V1.01

GSM SMS Modem MODEL: SA RTU-1 V1.01 GSM SMS Modem MODEL: SA RTU1 V1.01 Brugervejledning Indgange: Der er fire indgange på modulet. De kan programmeres som normale indgange. De kan programmeres som tæller. Udgange: Der er en udgang på modulet

Læs mere

Projekt - RoboNet Del Journal.

Projekt - RoboNet Del Journal. Projekt - RoboNet Del Journal. Udarbejdet af: Klaus Jørgensen. Gruppe: Jacob Clausen, Klaus Jørgensen og Ole Rud It og Elektronikteknolog, 2a Erhvervsakademiet Fyn Udarbejdet i perioden: 20/01-03 03/02-03

Læs mere

Journal JTAG: Udarbejde af: Benjamin Grydehøj I samarbejde med PDA Projektgruppen. Elektronikteknologafdelingen på Erhvervsakademi Fyn.

Journal JTAG: Udarbejde af: Benjamin Grydehøj I samarbejde med PDA Projektgruppen. Elektronikteknologafdelingen på Erhvervsakademi Fyn. Journal JTAG: Udarbejde af: Benjamin Grydehøj I samarbejde med PDA Projektgruppen Elektronikteknologafdelingen på Erhvervsakademi Fyn. Journal JTAG Xilinx XC9536 29-9-3 Generel beskrivelse af JTAG: JTAG:

Læs mere

MCE2040 SERIEL KOMMUNIKATIONSMODUL

MCE2040 SERIEL KOMMUNIKATIONSMODUL Kokkedal Industripark 4 DK-2980 Kokkedal DANMARK Tlf.: +45 49 18 01 00 Fax: +45 49 18 02 00 MCE2040 SERIEL KOMMUNIKATIONSMODUL Overførsel af status og vægt for digitale vejeceller via simpel PC/PLC protokol

Læs mere

Mikrodatamatsystemer. P3 Lagerrobot. Gruppe: DE3-2-e09 Universitet: Esbjerg Institute of Technology 2009 3. semester

Mikrodatamatsystemer. P3 Lagerrobot. Gruppe: DE3-2-e09 Universitet: Esbjerg Institute of Technology 2009 3. semester Mikrodatamatsystemer P3 Lagerrobot Gruppe: DE3-2-e09 Universitet: Esbjerg Institute of Technology 2009 3. semester Titelblad Tema: Projekttitel: Gruppe: Hovedvejleder: Mikrodatamatsystemer Lagerrobot

Læs mere

Michael Jokil 11-05-2012

Michael Jokil 11-05-2012 HTX, RTG Det skrå kast Informationsteknologi B Michael Jokil 11-05-2012 Indholdsfortegnelse Indledning... 3 Teori... 3 Kravspecifikationer... 4 Design... 4 Funktionalitet... 4 Brugerflade... 4 Implementering...

Læs mere

Tilslutning- og programmeringseksempler

Tilslutning- og programmeringseksempler VLT MicroDrive FC 051 Indholdsfortegnelse Forord... 3 Oversigt effekt og styre kreds VLT MicroDrive... 4 Initialisering af frekvensomformeren... 5 Tilslutning af motorbeskyttelse... 6 Start/stop med analog

Læs mere

Der er derfor, for at alle kan sende, kun tilladt, at sende intermitterende. Altså korte pakker. ( Dette skal dog verificeres!!)

Der er derfor, for at alle kan sende, kun tilladt, at sende intermitterende. Altså korte pakker. ( Dette skal dog verificeres!!) MHz KIT Rev: /- Det er ikke tilladt, at man bare udsender radiobølger på den frekvens, man ønsker. Forskellige frekvenser er udlagt til forskellige formål. Nogle til politiet, militæret, FM-radio-transmission,

Læs mere

SPIDER Quick guide. DATO: August 2017 FORHANDLER: WASYS A/S. Langebjergvænget Roskilde

SPIDER Quick guide. DATO: August 2017 FORHANDLER: WASYS A/S. Langebjergvænget Roskilde SPIDER Quick guide DATO: August 2017 FORHANDLER: WASYS A/S Langebjergvænget 18 4000 Roskilde +45 7221 7979 Indhold Om SPIDER... 3 Funktioner ved SPIDER... 3 Spændingsforsyning... 3 Installation og fysiske

Læs mere

Dette korte foredrag er opdelt i 3 dele: 1. ARDUINO i flere versioner, hvad er det? 2. DEMO-video 3. Din fremtidige Oscillator, SI5351A 4.

Dette korte foredrag er opdelt i 3 dele: 1. ARDUINO i flere versioner, hvad er det? 2. DEMO-video 3. Din fremtidige Oscillator, SI5351A 4. APPETITVÆKKEREN OZ6YM, Palle A. Andersen Efteråret 2017 Dette korte foredrag er opdelt i 3 dele: 1. ARDUINO i flere versioner, hvad er det? 2. DEMO-video 3. Din fremtidige Oscillator, SI5351A 4. DEMO-video

Læs mere

Instruktion. MINIGAM+ On/off og analog styring IN217DKA

Instruktion. MINIGAM+ On/off og analog styring IN217DKA Instruktion MINIGAM+ On/off og analog styring IN217DKA 1. Beskrivelse af kort Advarsel! Flere dele på printkortet er forsynet med 115/230VAC. Afbryd altid strømmen før der arbejdes på aktuatoren. 2. For

Læs mere

INSTALLATIONSMANUAL TIL GARAGEPORT ÅBNER GA 1000

INSTALLATIONSMANUAL TIL GARAGEPORT ÅBNER GA 1000 INSTALLATIONSMANUAL TIL GARAGEPORT ÅBNER GA 1000 INSTALLATIONS MANUALEN SKAL GENNEMLÆSES OMHYGGELIG FØR IBRUGTAGNING ADVARSEL FOR SIKKER INSTALLATION Inden installation af automatikken skal balance fjederen

Læs mere

Analoge indgange og A/D konvertering. Analoge udgange

Analoge indgange og A/D konvertering. Analoge udgange Programmering for begyndere Brug af Arduino Programmeringskursus Analoge indgange og A/D konvertering Analoge udgange Knud Krogsgaard Jensen OZ1QK Oversigt Oversigt over i aften: A/D konvertering iterations

Læs mere

Dansk Mink Papir. Teknisk brugermanual

Dansk Mink Papir. Teknisk brugermanual Dansk Mink Papir Teknisk brugermanual Styring til FIX tørrekasse Beskrivelse Enheden styrer en AC blæser-motor via en relæudgang. Betjening foregår via et tastatur og et display, og brugeren kan vælge

Læs mere

Programmering i C Programmering af microcontroller i C (4 af 4) 12. april 2007

Programmering i C Programmering af microcontroller i C (4 af 4) 12. april 2007 Programmering i C Programmering af microcontroller i C (4 af 4) 12. april 2007 Mads Pedersen, OZ6HR mads@oz6hr.dk Plan i dag Afrunding af OZ3VB's program Fra "almindelig C" til "microcontroller C" Lighederne

Læs mere

Dæmpet harmonisk oscillator

Dæmpet harmonisk oscillator FY01 Obligatorisk laboratorieøvelse Dæmpet harmonisk oscillator Hold E: Hold: D1 Jacob Christiansen Afleveringsdato: 4. april 003 Morten Olesen Andreas Lyder Indholdsfortegnelse Indholdsfortegnelse 1 Formål...3

Læs mere

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen Programmering C Eksamensprojekt Lavet af Suayb Köse & Nikolaj Egholk Jakobsen Indledning Analyse Læring er en svær størrelse. Der er hele tiden fokus fra politikerne på, hvordan de danske skoleelever kan

Læs mere

INSTALLATIONSMANUAL TIL GARAGEPORT ÅBNER

INSTALLATIONSMANUAL TIL GARAGEPORT ÅBNER INSTALLATIONSMANUAL TIL GARAGEPORT ÅBNER INSTALLATIONS MANUALEN SKAL GENNEMLÆSES OMHYGGELIG FØR IBRUGTAGNING ADVARSEL FOR SIKKER INSTALLATION Inden installation af automatikken skal balance fjederen på

Læs mere

DC-Motor Controller. Brugermanual

DC-Motor Controller. Brugermanual Forside Jægergårdsgade 152/05A DK-8000 Aarhus C DENMARK WWW.WAHLBERG.DK DC-Motor Controller Brugermanual Firmware V4.00 Produkt indhold 1 styreboks til styring af 1 DC-motor. 1 strømforsyning 100 240 volt

Læs mere

Opgaver - PLC - analogteknik - forbindelsesteknik...3 Opgaver - PLC - analogteknik - programmering...9

Opgaver - PLC - analogteknik - forbindelsesteknik...3 Opgaver - PLC - analogteknik - programmering...9 PLC - analogteknik INDHOLDSFORTEGNELSE Opgaver - PLC - analogteknik - forbindelsesteknik...3 Opgaver - PLC - analogteknik - programmering...9 2-20 Rekv. 0 Prod. 20-11-2005-21:51 Ordre 000 EFU OPGAVER -

Læs mere

Alle dip 1 7 sættes til On for at opnå stand-alone operation fra PC.

Alle dip 1 7 sættes til On for at opnå stand-alone operation fra PC. Hurtig opstart af Infranor CD1 p og pm: Dette er en enkelt og kortfattet vejledning i opsætningen af CD 1 p og pm driver til anvendelse i stand-alone mode. Ingen Profibus forbindelse. For senere opkobling

Læs mere

Indholdsfortegnelse:

Indholdsfortegnelse: Dataopsamling Klaus Jørgensen Gruppe. Klaus Jørgensen, Jacob Clausen Og Ole Rud Erhvervs Akademi Fyn Allegade 79 Odense C 5000 fra d 2/12-02 til d 20/12-02 Vejleder: SKH. Forord: Denne rapport omhandler

Læs mere

Bruger manual for SW 3.06

Bruger manual for SW 3.06 Ecco 101 VÆGTE & VEJESYSTEMER Power Tare Charge KG Max 200 Kg O T Bruger manual for SW 3.06 Nyskovvej 13 DK-6580 Vamdrup Tlf. +45 76 92 02 00 Fax +45 75 58 06 31 E-mail: scales@farmertronic.com www.farmertronic.com

Læs mere

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi C Opgave: Brev til Sigurd Lære: John Austin Side 1 af 13 Dato:

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi C Opgave: Brev til Sigurd Lære: John Austin Side 1 af 13 Dato: Side 1 af 13 Dato: 03-06-03 Til Sigurd Som aftalt får du nu tilbygningen til 80C535 kittet, keyboard og programmet med programopdatering. Den sidste opgave her, gik så ud på at tilslutte et tastatur, og

Læs mere

Projekt. Analog Effektforstærker.

Projekt. Analog Effektforstærker. Projekt. Analog Effektforstærker. Udarbejdet af: Klaus Jørgensen. Gruppe: Klaus Jørgensen Og Morten From Jacobsen. It og Elektronikteknolog. Erhvervsakademiet Fyn Udarbejdet i perioden: 7/0-03 /-03 Vejledere:

Læs mere

Dobbelt sender detektor med 4 kanals frekvenser. 1. Funktioner. 2. Produkt gennemgang

Dobbelt sender detektor med 4 kanals frekvenser. 1. Funktioner. 2. Produkt gennemgang Dobbelt sender detektor med 4 kanals frekvenser Tak, fordi du har købt denne stråle detektor, læs venligst denne brugsanvisning omhyggeligt før installation. Forsøg aldrig at adskille eller reparere produktet.

Læs mere

Internt interrupt - Arduino

Internt interrupt - Arduino Programmering for begyndere Brug af Arduino Internt interrupt - Arduino - Afslutning EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Intern interrupt Jeg vil rydde lidt op. Her er nogle punkter vil har glemt

Læs mere

BRUGER VEJLEDNING DK 8MP wildview ir / KAMERA JK 020 / Åtelkamera 801/Albecom Justerbar 3 / 5 eller 8 mp.

BRUGER VEJLEDNING DK 8MP wildview ir / KAMERA JK 020 / Åtelkamera 801/Albecom Justerbar 3 / 5 eller 8 mp. BRUGER VEJLEDNING DK 8MP wildview ir / KAMERA JK 020 / Åtelkamera 801/Albecom Justerbar 3 / 5 eller 8 mp. Funktioner: 1. 5 cm TFT LCD-skærm med angivelse af optage tilstand, hukommelse på kort og batteri

Læs mere

DiSEqC-Positioner. Best. nr. HN4892 (Brugsanvisnings nr. 361)

DiSEqC-Positioner. Best. nr. HN4892 (Brugsanvisnings nr. 361) DiSEqC-Positioner Best. nr. HN4892 (Brugsanvisnings nr. 361) DiSEqC 1.0/1.2 Positioner DiSEqC-omformer, som gør at man kan styre en parabolmotor 36-Volts type med alle digital modtagere som har standard

Læs mere

Øvelse. Øvelse. D.1 CMOS-øvelse. Under øvelsen laves notater, som senere bruges i den efterfølgende journal! Opgave 1:

Øvelse. Øvelse. D.1 CMOS-øvelse. Under øvelsen laves notater, som senere bruges i den efterfølgende journal! Opgave 1: D.1 CMOS-øvelse Under øvelsen laves notater, som senere bruges i den efterfølgende journal! Opgave 1: A): Opbyg flg. kredsløb: Tilslut til 12 Volt. De to indgange er kortsluttede, og forbundet til en ledning

Læs mere

Sider og segmenter. dopsys 1

Sider og segmenter. dopsys 1 Sider og segmenter dopsys 1 Lokal vs global sideallokering (1) Med (a) som udgangspunkt giver (b) lokal hhv. (c) global allokering forskellige resultater dopsys 2 Lokal vs global sideallokering (2) Den

Læs mere

Kom godt i gang med Fable-robotten

Kom godt i gang med Fable-robotten Kom godt i gang med Fable-robotten 1. Først skal du installere programmet på din computer. Gå ind på shaperobotics.com og under support vælger du download: Her vælger du, under PC App om du kører Windows

Læs mere

Digital positioner type RE 3446

Digital positioner type RE 3446 Installations- og driftsvejledning IN145 Digital positioner type Indholdsfortegnelse: Side 1 Generel information 2 2 Montering og tilslutning 2 3 Idriftsættelse 3 4 Drifts funktioner 6 5 Funktions beskrivelser

Læs mere

Vedvarende energi. Sådan kommer du i gang med LEGO Energimåleren

Vedvarende energi. Sådan kommer du i gang med LEGO Energimåleren Vedvarende energi Sådan kommer du i gang med LEGO Energimåleren de LEGO Group. 2010 The LEGO Group. 1 Indholdsfortegnelse 1. Beskrivelse af Energimåleren... 3 2. Sådan påsættes Energiakkumulatoren... 3

Læs mere

Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0

Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0 Program Dokumentation PC Software Skrevet af Gruppen. Version 1.0 Indholds fortegnelse 1. INDLEDNING...3 1.1. FORMÅL...3 1.2. REFERENCER...3 1.3. VERSIONSHISTORIE...3 1.4. DEFINITIONER...3 1.5. DOKUMENTATIONENS

Læs mere

Svane Electronic Universal timer med 4 relæer og et valg af 18 funktioner hver 1. 4 kanals timer med 18 funktioner

Svane Electronic Universal timer med 4 relæer og et valg af 18 funktioner hver 1. 4 kanals timer med 18 funktioner Svane Electronic Universal timer med 4 relæer og et valg af 18 funktioner hver 1 4 kanals timer med 18 funktioner 2000.2238 Vi sikrer en høj kvalitet sammen med vores samarbejdes partnere! Vi udveksler

Læs mere

Eksamens spørgsmål i Teknologi (Digital) 3. Semester (i)

Eksamens spørgsmål i Teknologi (Digital) 3. Semester (i) Eksamens spørgsmål i Teknologi (Digital) 3. Semester (i) 1. DS1821 1-WIRE KOMMUNIKATION (HERUNDER TIMING KRAV) ------------------------ 2 2. DS1821 SOFTWARE (OPBYGNING AF STYREPROGRAM I SYSTEM51 C) -----------

Læs mere

Lektion 6 / Analog Arduino

Lektion 6 / Analog Arduino 1 Jeremiah Teipen: Electronic Sandwich BSPR11 Lektion 6 / Analog Arduino Mogens Jacobsen / moja@itu.dk Siden sidst 2 Har I fået nogle LEDs til at blinke? Har I brugt kontakter? Hvad har I eksperimenteret

Læs mere

Example sensors. Accelorometer. Simple kontakter. Lysfølsomme. modstande. RFID reader & tags. Temperaturfølsomme. Flex Sensor.

Example sensors. Accelorometer. Simple kontakter. Lysfølsomme. modstande. RFID reader & tags. Temperaturfølsomme. Flex Sensor. Simple kontakter Accelorometer Example sensors Lysfølsomme modstande RFID reader & tags Temperaturfølsomme modstande Flex Sensor Ultralyds afstandsmåler Piezo Pressure/vibration Piezo Sound/buzzer Peltier

Læs mere

Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output...

Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... Indhold Maskinstruktur... 3 Kapitel 1. Assemblersprog...3 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... 9 Kapitel 2. Maskinkode... 13 2.1 Den fysiske maskine... 13 2.2 Assemblerens

Læs mere

Efter installation af GEM Drive Studio software fra Delta s CD-rom, skal hoved skærmbilledet se således ud: (koden til administrator adgang er: admin)

Efter installation af GEM Drive Studio software fra Delta s CD-rom, skal hoved skærmbilledet se således ud: (koden til administrator adgang er: admin) Hurtig opstart af Infranor XtrapulsPac-ak drev: Dette er en enkelt og kortfattet vejledning i opsætningen af XtrapulsPac-ak driver til anvendelse i stand-alone mode. Ingen Profibus forbindelse. For senere

Læs mere

Fable Kom godt i gang

Fable Kom godt i gang Fable Kom godt i gang Opdateret: 26-03-2018 Indholdsfortegnelse 1. Først skal du installere programmet på din computer 3 2. Når programmet er installeret er du klar til at pakke robotten ud 4 3. Nu er

Læs mere

VLT AutomationDrive FC300. Basis tilslutning og programmerings eksempler. VLT AutomationDrive FC300

VLT AutomationDrive FC300. Basis tilslutning og programmerings eksempler. VLT AutomationDrive FC300 VLT AutomationDrive FC300 Basis tilslutning og programmerings eksempler VLT AutomationDrive FC300 Indholdsfortegnelse Forord... 3 Initialisering af frekvensomformeren... 4 Tilslutning af motorbeskyttelse...6

Læs mere

8. Jævn- og vekselstrømsmotorer

8. Jævn- og vekselstrømsmotorer Grundlæggende elektroteknisk teori Side 43 8. Jævn- og vekselstrømsmotorer 8.1. Jævnstrømsmotorer 8.1.1. Motorprincippet og generatorprincippet I afsnit 5.2 blev motorprincippet gennemgået, men her repeteres

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin maj-juni 20115 Institution KTS Vibenhus HTX Uddannelse Fag og niveau Lærer(e) Hold HTX Teknik fag Design og

Læs mere

2x50 ETHERNET MODUL. RS485 slave med Ethernet-IP. Gælder for: Program nr.: AUXSLAVE v1 Dokument nr.: 0422md2x50-2v1 Dato:

2x50 ETHERNET MODUL. RS485 slave med Ethernet-IP. Gælder for: Program nr.: AUXSLAVE v1 Dokument nr.: 0422md2x50-2v1 Dato: Kokkedal Industripark 4 DK-2980 Kokkedal Denmark info@eilersen.com Tel +45 49 180 100 Fax +45 49 180 200 2x50 ETHERNET MODUL RS485 slave med Ethernet-IP Gælder for: Program nr.: AUXSLAVE.140422.2v1 Dokument

Læs mere

Sider og segmenter. dopsys 1

Sider og segmenter. dopsys 1 Sider og segmenter dopsys 1 Lokal vs global sideallokering (1) Med (a) som udgangspunkt giver (b) lokal hhv. (c) global allokering forskellige resultater dopsys 2 Lokal vs global sideallokering (2) Den

Læs mere

ELCANIC A/S Counter Type CNT150 Version 2.00 Inkl. PC programmet: Cnt150 Version 3.00 Betjeningsvejledning

ELCANIC A/S Counter Type CNT150 Version 2.00 Inkl. PC programmet: Cnt150 Version 3.00 Betjeningsvejledning ELCANIC A/S Counter Type CNT150 Version 2.00 Inkl. PC programmet: Cnt150 Version 3.00 Betjeningsvejledning Generelt: ELCANIC A/S COUNTER Type CNT150 er en microprocessor baseret tæller. Specielt designet

Læs mere

0.1 Modultest af hardware

0.1 Modultest af hardware 0.1 Modultest af hardware Hardwaren af M2 testes ved, at de enkelte blokke først testes hver for sig, og derefter testes det, om hele modulet virker. TS2-monitoren brændes i ROM, og ved at forbinde M2

Læs mere

Det er nødvendigt for brugeren at læse, forstå og følge vejledningens instruktioner.

Det er nødvendigt for brugeren at læse, forstå og følge vejledningens instruktioner. Tams Elektronik LD-G-3 / LD-W-3 (1) Lokomotivdekoder LD-G-3 / LD-W-3 i Märklin-Motorola format Denne oversættelse omfatter monterings- og anvendelsesvejledningerne til LD-G-3 / LD-W-3 dekoderen. Den originale

Læs mere

ErgoSafe 2005. Beskrivelse af stik og indikatorer

ErgoSafe 2005. Beskrivelse af stik og indikatorer ErgoSafe 005 Beskrivelse af stik og indikatorer Printtavlen er forsynet med en række stik og indikatorer. Denne vejledning indeholder en beskrivelse af hvert enkelt element. Den kvadratisk formede pude

Læs mere

TG 8. Indhold: TG8 - Kredsløbsbeskrivelse Gruppemedlemmer: Kim Andersen, Kasper Jensen & Thyge Mikkelsen Dato: Modtaget af: Søren Knudsen

TG 8. Indhold: TG8 - Kredsløbsbeskrivelse Gruppemedlemmer: Kim Andersen, Kasper Jensen & Thyge Mikkelsen Dato: Modtaget af: Søren Knudsen TG 8 EUC-Syd Sønderborg 6. Skoleperiode Elektronikmekaniker Indhold: TG8 - Kredsløbsbeskrivelse Gruppemedlemmer: Kim Andersen, Kasper Jensen & Thyge Mikkelsen Dato: 30 04-2002 Modtaget af: Søren Knudsen

Læs mere

1.1 Indledning. Features: Højintensitet LED-display. Fleksibel forsyning (12-45V). Kan placeres op til 100m fra controlleren.

1.1 Indledning. Features: Højintensitet LED-display. Fleksibel forsyning (12-45V). Kan placeres op til 100m fra controlleren. Indhold. Indledning...3.2 Strømforsyning...4.3 Modul-interface...5.3 Modul-interface...6 2. Kommandooversigt...7 2.2 Register og flag-oversigt...8 2.3 Udlæsning til display...9 2.4 Registerbeskrivelser...

Læs mere

VLT AQUA Drive FC202 PID tilslutning og programmerings eksempler

VLT AQUA Drive FC202 PID tilslutning og programmerings eksempler VLT AQUA Drive FC202 PID tilslutning og programmerings eksempler VLT Aqua Drive FC200 Indholdsfortegnelse Forord... 3 Forbindelsesoversigt... 4 Initialisering af frekvensomformeren... 5 Tilslutning af

Læs mere

CP1x Pulse Servo Quick Guide v1.00. CP1x med Servo - Servoløsning med Pulse Kontrol. Quick Guide

CP1x Pulse Servo Quick Guide v1.00. CP1x med Servo - Servoløsning med Pulse Kontrol. Quick Guide CP1x Pulse Servo Quick Guide v1.00 CP1x med Servo - Servoløsning med Pulse Kontrol Quick Guide Denne quick guide er ment som supplement til de respektive manualer for CP1 PLCen og de monterede servodrev.

Læs mere

ELCANIC A/S. ENERGY METER Type ENG110. Version 3.00. Inkl. PC program: ENG110. Version 3.00. Betjeningsvejledning

ELCANIC A/S. ENERGY METER Type ENG110. Version 3.00. Inkl. PC program: ENG110. Version 3.00. Betjeningsvejledning ELCANIC A/S ENERGY METER Type ENG110 Version 3.00 Inkl. PC program: ENG110 Version 3.00 Betjeningsvejledning 1/11 Generelt: ELCANIC A/S ENERGY METER Type ENG110 er et microprocessor styret instrument til

Læs mere

Undersøgelse teknologi og resurser: Eleverne skal lære om enkel produktudvikling fra ide til implementering.

Undersøgelse teknologi og resurser: Eleverne skal lære om enkel produktudvikling fra ide til implementering. Forløbets titel Design og byg en solcelle racerbil Intro: Solcellelamper findes i mange forskellige versioner til haven. Solcellen omdanner solens energi til elektrisk strøm, så man kan bruge den til fx

Læs mere

Velkommen til. EDR Frederikssund Afdelings Almen elektronik kursus. Steen Gruby OZ9ZI

Velkommen til. EDR Frederikssund Afdelings Almen elektronik kursus. Steen Gruby OZ9ZI Emne 18: Måleteknik Velkommen til EDR Frederikssund Afdelings Steen Gruby 1 Emne 18: Måleteknik I øvrigt Tidsrum :1900 2200 I pause ca. i midten Toilettet er i gangen mellem køkken og dette lokale De der

Læs mere

2. De 7 signaler skal kodes til en 3-bit kode. Enkodningen skal prioriteres som beskrevet i afsnit?? på side??.

2. De 7 signaler skal kodes til en 3-bit kode. Enkodningen skal prioriteres som beskrevet i afsnit?? på side??. 01 FORUDSÆTNINGER 01 Forudsætninger Dette kapitel tager udgangspunkt i processerne beskrevet i afsnit?? på side?? Hver enkelt proces tildeles et afsnit, hvorunder det beskrives hvilke hardware moduler,

Læs mere

SSI 6000.0400 GSM Fjernbetjenings system for porte/garage døre

SSI 6000.0400 GSM Fjernbetjenings system for porte/garage døre 1 SSI 6000.0400 GSM Fjernbetjenings system for porte/garage døre Vejledning SSIHuset v/svane Electronic ApS Arildsvej 27, Gråmose, DK-7442 Engesvang mail: ssi@svane-el.dk http: svane-el.dk 2 System for

Læs mere

Det Teknisk-Naturvidenskabelige Fakultet Aalborg Universitet

Det Teknisk-Naturvidenskabelige Fakultet Aalborg Universitet Det Teknisk-Naturvidenskabelige Fakultet Aalborg Universitet Institut for elektroniske systemer TITEL: Digital Diktafon PROJEKTPERIODE: 4. semester 4. februar - 30. maj, 2002 PROJEKTGRUPPE: Gr419-2002

Læs mere

PID tilslutning og programmerings eksempler

PID tilslutning og programmerings eksempler VLT HVAC Drive FC100 PID tilslutning og programmerings eksempler VLT HVAC drive FC100 Indholdsfortegnelse Forord... 3 Forbindelsesoversigt... 4 Initialisering af frekvensomformeren... 5 Tilslutning af

Læs mere

X88S. SMS fjernstyring til sommerhuse

X88S. SMS fjernstyring til sommerhuse X88S SMS fjernstyring til sommerhuse X88s er en GSM/SMS baseret fjernstyring med: 6 indgange 8 relæudgange 2 temperaturfølere Billig i drift, intet abonnement. Kan køre på taletidskort. Nem og hurtig montering.

Læs mere

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi Opgave: Brev til Sigurd Lære: John Austin Side 1 af 8 Dato: 14-05-2003

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi Opgave: Brev til Sigurd Lære: John Austin Side 1 af 8 Dato: 14-05-2003 Side 1 af 8 Dato: 14-05-2003 Til Sigurd Som aftalt vil jeg her fremsende vores program til vores 80C535 kit og display. Det gik jo ud på at vi skulle starte med at få den til at intialiserer displayet,

Læs mere

Frekvensbestemmelse. HWP I1 Kursusarbejde Forår 2007

Frekvensbestemmelse. HWP I1 Kursusarbejde Forår 2007 HWP I1 Kursusarbejde Forår 2007 Søren Riis, 3024 Vitus Bering Danmark 31 05 2007 University College Vitus Bering Danmark Teknologi og Managementdivisionen Titel: Frekvensbestemmelse Tema: Hardwareprogrammering

Læs mere

Diagnostic og Toolbox Instruktion. www.lp.dk Lindgaard Pedersen A/S. Rev. 1.0 Side 1 / 14

Diagnostic og Toolbox Instruktion. www.lp.dk Lindgaard Pedersen A/S. Rev. 1.0 Side 1 / 14 EL-PAS -Cruise II ANDROID Diagnostic og Toolbox Instruktion LP www.lp.dk Lindgaard Pedersen A/S Side 1 / 14 Indhold Denne vejledning indeholder instruktion til brug af Cruise Android App, hentet fra Android

Læs mere

Af: Valle Thorø Fil.: Oscilloscopet Side 1 af 10

Af: Valle Thorø Fil.: Oscilloscopet Side 1 af 10 Oscilloscopet Kilde: http://www.doctronics.co.uk/scope.htm Følgende billede viser forsiden på et typisk oscilloskop. Nogle af knapperne og deres indstillinger forklares i det følgende.: Blokdiagram for

Læs mere

Manual: Ergometer ET6

Manual: Ergometer ET6 Manual: Ergometer ET6 Ting du bør vide før du begynder din træning A. Indgang af strøm Tilslut adapteren til udstyret, derefter vil computeren sige en bip-lyd og tænde computeren i manuel mode. B. Program

Læs mere

VLT AutomationDrive FC300. Tilslutning og programmerings eksempler. VLT AutomationDrive FC300

VLT AutomationDrive FC300. Tilslutning og programmerings eksempler. VLT AutomationDrive FC300 VLT AutomationDrive FC300 Tilslutning og programmerings eksempler VLT AutomationDrive FC300 Indholdsfortegnelse Forord...3 Initialisering af frekvensomformeren...4 Tilslutning af motorbeskyttelse...5 Start/stop

Læs mere

BRUGERVEJLEDNING VIDEOKAMERA

BRUGERVEJLEDNING VIDEOKAMERA BRUGERVEJLEDNING VIDEOKAMERA Side 2 til nyt videokamera Introduktion Det nye videokamera er et IP-videokamera, der tilsluttes trådløst til din router. Videokameraet fungerer sådan, at du kan se videooptagelser

Læs mere

Svane Electronic Timer universal med 8 funktioner 1

Svane Electronic Timer universal med 8 funktioner 1 Svane Electronic Timer universal med 8 funktioner 1 Digital timer print modul 12V 2000.2231 Multi funktions timer med 8 funktioner, anvendelig i mange installationer, forsyning 12VDC drift. Printet har

Læs mere

1. Bevægelse med luftmodstand

1. Bevægelse med luftmodstand Programmering i TI nspire. Michael A. D. Møller. Marts 2018. side 1/7 1. Bevægelse med luftmodstand Formål a) At lære at programmere i Basic. b) At bestemme stedbevægelsen for et legeme, der bevæger sig

Læs mere

Svendeprøve Projekt Tyveri alarm

Svendeprøve Projekt Tyveri alarm Svendeprøve Projekt Tyveri alarm Påbegyndt.: 8/2-1999 Afleveret.: 4/3-1999 Projektet er lavet af.: Kasper Kirkeby Brian Andersen Thomas Bojer Nielsen Søren Vang Jørgensen Indholds fortegnelse 1. INDLEDNING...3

Læs mere

Teori om lysberegning

Teori om lysberegning Indhold Teori om lysberegning... 1 Afstandsreglen (lysudbredelse)... 2 Lysfordelingskurve... 4 Lyspunktberegning... 5 Forskellige typer belysningsstyrke... 10 Beregning af belysningsstyrken fra flere lyskilder...

Læs mere

Optimering af fraværsregistrering

Optimering af fraværsregistrering Journal Optimering af fraværsregistrering Eksamensprojekt i Programmering C, klasse 3.4, 2011 AFLEVERET 09-05-2014 Indhold Abstract... Fejl! Bogmærke er ikke defineret. Problemformulering... 2 Produktet...

Læs mere

Manual IHC Kompatibelt SMS modem. Generel info:... 2 Controllere:... 2 Manualen... 2 Komandoer syntax... 2 Lysdioder... 2 Tilslutning:...

Manual IHC Kompatibelt SMS modem. Generel info:... 2 Controllere:... 2 Manualen... 2 Komandoer syntax... 2 Lysdioder... 2 Tilslutning:... Manual IHC Kompatibelt SMS modem. Modemmet er kompatibelt med LK IHC visual2 controllere. IHC er registreret varemærke hos LK, Schneider Electric. Generel info:... 2 Controllere:... 2 Manualen... 2 Komandoer

Læs mere

VLT HVAC Drive FC100 Basis tilslutning og programmerings eksempler

VLT HVAC Drive FC100 Basis tilslutning og programmerings eksempler VLT HVAC Drive FC100 Basis tilslutning og programmerings eksempler VLT HVAC drive FC100 Indholdsfortegnelse Forord... 3 Forbindelsesoversigt... 4 Initialisering af frekvensomformeren... 5 Tilslutning af

Læs mere

Nanovip Energimåler. El-Nr:

Nanovip Energimåler. El-Nr: Nanovip Energimåler El-Nr: 63 98 300 102 144 Nanovip PLUS Side 2 INTRODUKTION...3 GENERELT...3 MENU OVERSIGT...4 MEM FUNKTION...6 SPIDS MÅLING...8 HARMONISK ANALYSE...9 PROGRAMMERING...15 RESET MENU...17

Læs mere

MCE9637 DeviceNet Modul

MCE9637 DeviceNet Modul Kokkedal Industripark 4 DK-2980 Kokkedal DANMARK Tlf: +45 49 18 01 00 Fax: +45 49 18 02 00 MCE9637 DeviceNet Modul MCE9637 til overførsel af status og vægt for digitale vejeceller Gælder for: PIC nr.:

Læs mere

X88. X88 er en GSM/SMS baseret fjernstyring med: 8 indgange 8 relæudgange Mulighed for temperaturføler

X88. X88 er en GSM/SMS baseret fjernstyring med: 8 indgange 8 relæudgange Mulighed for temperaturføler X88 X88 er en GSM/SMS baseret fjernstyring med: 8 indgange 8 relæudgange Mulighed for temperaturføler Let at betjene. Hurtig montering. Let konfiguration. Hurtig. Fleksibel. Passer i en alm gruppetavle.

Læs mere

Modbus data modellen er opbygget af fire primære data typer. I nedenstående skema er en kort oversigt over disse.

Modbus data modellen er opbygget af fire primære data typer. I nedenstående skema er en kort oversigt over disse. Modbus RTU protokol Indledning Modbus er en application layer messaging protocol, placeret på 7. lag i OSI modellen, der sørger for client/server kommunikation mellem enheder koblet på forskellige typer

Læs mere

MP3 player med DMX interface.

MP3 player med DMX interface. Jægergårdsgade 152/05A DK-8000 Aarhus C DENMARK WWW.WAHLBERG.DK MP3 player med DMX interface. Funktion: En avanceret Mp3spiller med forskellige styringsmuligheder, velegnet til brug i museer, teatre, udstillinger

Læs mere

Dansk El-montage manual Portautomatik

Dansk El-montage manual Portautomatik Dansk El-montage manual Portautomatik (med fysiske ende stop) Terminaler: Power Portstyring 1 2 Power input 220/230Vac. Kabeldim. 3x1.5 PVIKJ eller lign. 3 4 Advarselslampe. Udgang 230Vac/20W. Signalet

Læs mere

Vildtkamera DTC-530V.

Vildtkamera DTC-530V. Vildtkamera DTC-530V. Indhold fortegnelse......... 1 Kom godt i gang.........2 Information......... 2 Anvendelse......... 3 Fjernbetjening...... 3 Hukommelse kort......... 4 Quick Start...... 4 Isæt batterier.........

Læs mere

Fysik 2 - Den Harmoniske Oscillator

Fysik 2 - Den Harmoniske Oscillator Fysik 2 - Den Harmoniske Oscillator Esben Bork Hansen, Amanda Larssen, Martin Qvistgaard Christensen, Maria Cavallius 5. januar 2009 Indhold 1 Formål 1 2 Forsøget 2 3 Resultater 3 4 Teori 4 4.1 simpel

Læs mere