Projektrapport. Elektronikdesign, Medicinsk Teknik, KTH STH Elektronikdesign Styrketräningshjälp
|
|
- Ann-Sofie Andreasson
- för 9 år sedan
- Visningar:
Transkript
1 Styrketräningshjälp
2
3 Projektrapport Kurs: Titel: Grupp: Gruppdeltagare: Elektronikdesign Styrketräningshjälp G2 Rita Kasbo Robert Wahlström Mahshid Mehrparvar Percy Villegas Tello Roua Kassir Samin Mahfuz Datum: Handledare: Stefan H Karnebäck Examinator: Stefan H Karnebäck
4
5 Sammanfattning Denna rapport behandlar byggandet av en EMG maskin som skall vara konstruerad på ett sådant sätt att den kan användas i tränings syfte istället för diagnostiskt. Maskinens delar består av följande: En förstärkar-/filterkoppling som skall ta in och förstärka en signal, en PIC krets som skall AD-omvandla, sampla och sända signalen vidare, en bluetoothsändarmodul vars enda uppgift är att slussa datan från PICen vidare ut i luften. På datorsidan mottas sedan informationen och presenteras på skärmen. Samtliga delar av maskinen som byggts under detta projekt fungerar förutom förstärkar- /filterkopplingen som vi inte lyckats få att fungera fullt ut.
6 Summary This report deals with the construction of an EMG machine to be designed in such a way that it can be used for training purposes rather than diagnostic. Machine parts consist of the following: An amplifier/filter coupling to detect and amplify the signal, a PIC circuit to AD convert, joint and send the signal further, a Bluetooth module whose sole task is to relay data from the PIC into the air. Afterwards the PC side receives information and present it on the screen. All parts of the machine built under the course of this project is fully working except the amplifier-/filter coupling that we failed to get fully working.
7 Förord Detta projekt har drivits inom kursen Elektronikdesign tredje året på Medicinteknik KTH och har varit en av de mer lärorika under vår utbildning då vi här mer har fått utnyttja ett större spann av tidigare kunskaper. Projektet har tagit en hel del tid men i slutändan så är den tiden troligtvis värd den tid vi lagt ner på det här projektet. Vi vill därför tacka Stefan för en bra handledning och en bra kurs. Vi vill även tacka Yvonne Borin för ytelektroderna från Huddinge sjukhus samt även Leif Pettersson EMG läkare, vid Huddinge sjukhus som ställde upp på frågor samt Dennis Sturm som gett oss en del av delarna till projektet. Projektgruppen G2 KTH Teknik och Hälsa, Campus Telge
8
9 Innehållsförteckning Inledning... 1 Bakgrund... 1 Problemdefinition... 1 Kravspecifikation... 1 Projektets kravspecifikation... 1 Produktens kravspecifikation... 1 Mål... 2 Lösningsmetod... 2 Avgränsningar... 2 Genomförande... 3 EMG... 3 Förstärkare & Filter... 4 Den nuvarande kopplingen... 4 Instrumentförstärkaren... 5 Bandpassfilter... 5 Halvvågslikriktare... 6 Andra försök med förstärkarkopplingar... 6 Information gällande övriga försök... 7 PICens programmering... 9 AD omvandlingen... 9 In & ut portar på PICen Seriell överföring mellan PICen och Bluetooth Resultatet av PIC programmeringen EMG ritarna Det färdiga C-programmet: Excelprogram lösningen: Vad lösningarna saknar: För att lösa uppgiften med grafikritarna: Bluetooth mottagning med IAR systems C-program för att läsa in EMG värdena från Comport i Dev C Slutsats Appendix Del 1 Flödesschema Del 3 Grafikritar programmet i C Del 4 Visual Basic koden Del 5 Kretsschema Del 6 Manualen (skriven som om vi hade alla delar fungerande) Manual till MuscleArray Del 7 MusclePower Omvandlaren (lådan) Referenser... 35
10
11 Inledning Bakgrund Elektromyografi (EMG) är en idag en väl etablerad teknik inom sjukvården och även inom många forskningsområden. EMG är en av kärnorna inom Medicinsk teknik. De flesta yrken idag rör sig mot en allt mer stillasittande arbetsform. Trenden går mot att allt fler börjar intressera sig för fysisk aktivitet. Ett hjälpmedel som effektiviserar träningen är efterlängtad. Gruppens uppdrag är att ta fram en styrketräningshjälpredskap som bygger på EMG teknik. Projektet kommer att testa ett flertal moment av vår utbildning och kommer därför att bli en bra träning inför det riktiga yrkeslivet. Problemdefinition Dagens stressiga samhälle har gjort det svårt att lägga tid på träning. Den tid man kan lägga på träningen måste därför bli effektivare. Kravspecifikation Projektets kravspecifikation Max budget: Ett tusen kronor. Hålla tidsplanen. Produktens kravspecifikation Ta in en läsbar signal från en muskel Förstärkarlösning som klarar o 0 5 V förstärkt signal till Pic o Renad & läsbar signal o Genomsläpsspärr på Hz o Filtrera bort 50 Hz Kravet på PIC 18F2550 som vi har använt oss av är att o Klara AD omvandling o Kunna Sampla inkommande signal i åtminstone 1000 Hz Detta för att få noggrannhet på 5 10 samplingars per period i högsta frekvenskomponenten. o Klara en seriell överföring av data i mottagande komponents hastighet men stabil sändning som går att motta i datorändan Portabel strömkälla med +5 V,-5 V samt jord till PIC samt förstärkar-/filterkoppling Använda oss av Bluetooth om det är möjligt Vi ska försöka komma så nära realtid som möjligt under datapresentation. Kretskortslösning Proengineeringlösning av produkthölje 1
12 Mål Målet med projektet var att tillverka en EMG apparat som registrerar muskelaktiviteten. Detta gör vi genom att tillämpa och fördjupa våra kunskaper som vi har fått lära oss under utbildnings gång. Lösningsmetod Projektets omfattning krävde att vi tillämpade en stor del av det vi redan har lärt oss samt även samlade in och lärde oss en stor mängd kunskap inom ett kort tidsintervall. Vi kom därför fram till att olika delar av projektet behövdes delas upp inom gruppens medlemmar. Detta gjordes fortlöpande under projektets gång då nya behov uppstod. Vi delade upp projektet inom följande ansvarsområden för att kunna genomföra projektet i tid. Filter och förstärkare PIC programmering ( MPLAB IDE v8.00) Bluetooth sändning (Bluetoothmodul; privattillverkad) Bluetooth mottagning (BlueSoleil, Hyperterminalen) Presentation av mottagen data på skärm (C-programmering, Excel-lösning tillsammans med Visual Basic) Kretskort lösning (Labbplatta, lödning) Avgränsningar Det behöver inte bli vackert. Realtid kan uppfyllas i den mån det går. Vi kommer bara lära oss de register/komponenter/program som behövs för projektets slutgiltiga lösning. 2
13 Genomförande EMG Elektromyografi (EMG) är en teknik som används inom medicinen för att mäta de elektriska signaler som alstras när en muskel kontraheras. EMG-signalen består av en serie elektriska impulser. En elektrisk impuls, en aktionspotential, alstras varje gång en motorisk enhet aktiveras och har sin grund i den momentana spänningsskillnaden mellan muskelfiberns insida och utsida. När en muskel vilar är den elektriskt tyst och när den kontraheras alstras elektriska signaler som ökar i samband med att muskelkontraktionens styrka ökar. Aktionspotentialerna fungerar enligt allt eller inget principen. Antingen blir det en impuls med full styrka eller så sker det inget alls. Muskelkontraktionens styrka regleras istället med antalet aktionspotentialer per tidsenhet och antalet aktiverade motoriska enheter, därav skillnaden i EMGsignalens styrka vid olika kontraktionskraft. Det finns två olika sorters elektroder, nålelektroder (intramuskulära) och ytelektroder (som vi valt att använda). Intramuskulära elektroder används för djupt liggande muskler och fångar ungefär 100 motoriska enheter medan ytelektroderna används för ytliga muskler och kan fånga signaler upp till flera tusen motoriska enheter. Inom EMG är målet egentligen att fånga så få motoriska enheter som möjligt för att få större noggrannhet. Med nålelektroder inne i muskeln kan uppmätta spänningar uppgå till flera tiotal mv medan signalerna från huden kan bli upp till 1 mv (medelvärde) vid maximal kontraktion. Bild1: Aktionspotential vid mätning av EMG med ytelektroder Ref: [1] 3
14 Förstärkare & Filter När man vill mäta mängd muskel aktivitet så är det viktigt att man förstärker och rensar störningar och oönskade frekvenser innan den ska skickas vidare till PIC 18F2550 kretsen som vi använder oss av. Som tidigare sagts har vi använt oss av ytelektroder. För att få signalen rensad från commonmode störningar så har vi använt oss av två elektroder, en elektrod som är kopplad till plus på förstärkaren placeras på agonisten alltså den muskel som jobbar under träningen. Den andra elektroden som är kopplad till minus på förstärkaren placeras på muskelfästet till agonisten. Ytterligare en jord eller referens kan kopplas till en annan muskel på kroppen, detta för att öka commonmode dämpningen. Detta är dock inget vi i nuläget har använt oss av. Den nuvarande kopplingen För att kunna få en tillräckligt ren signal (för att vi ska kunna tolka den) och en tillräckligt hög förstärkning (d.v.s. så PICen kan tolka signalen), så använde vi oss av en instrumentförstärkare, ett bandpassfilter och en halvvågslikriktare i den ordningen. Vi testade även en del andra lösningar på förstärkar-/filterkopplingar men slutsatsen var att denna koppling vara den bästa. Kopplingen utnyttjade instrumentförstärkaren av typen INA128PA som är en differentialförstärkare med hög CMRR, låg matingsspänning, låg offsetspänning och låg brusnivå. Igenom denna tog vi först in signalen och filtrerade bort all commonmode spänning, detta för att vi visste att det var de signaler som gick in lika på plus och minus ingången på förstärkaren vid EMG som stod för en stor del av störningarna (d.v.s. vi försökte ändå hitta en motorisk enhet bland tusentals). Vi skickar sedan signalen därifrån vidare till ett bandpassfilter med ett intervall på omkring Hz. Detta för att endast släppa igenom de signaler vi är intresserade av. D.v.s. de som troligtvis ligger runt Hz. Vi gjorde den något bredare då vi inte kunde vara helt säkra på att vi inte skulle få värden högre eller lägre än detta. Efter bandpassfiltret så halvvågslikriktar vi signalen. Syftet med detta var att slå ut all minus spänning innan den fördes in i Picen (PICens AD-omvandlare går sönder om den får spänning som ligger för långt över 5V eller för långt under 0V). Beskrivning av ingående delar står listad nedanför. Ref: [Appendix-Del 4, Robert, Percy & Rita] 4
15 Instrumentförstärkaren Instrumentförstärkare används för att undertrycka lika inspänningar (common mode) och för att förstärka differentiella spänningar. Hur mycket man förstärker differential spänning kan man få med hjälp av formel nedan. Bild 2: INA128PA operationsförstärkar Ref: [2] Genom att ändra på Rg så kan man reglera förstärkningen. Den simulering som gjordes i Orcad överensstämde inte helt med verkligheten. Simulering använder sig av 3 ua741 förstärkare för att simulera insidan av INA128PA samt att den inte tar hänsyn till samtliga faktorer kan vara orsaken till differensen mellan simulering och verklighet. Ref: [2, Appendix Del 4] Bandpassfilter Filter i allmänhet används för att ta bort oönskade frekvenser. Frekvenserna som vi är intresserade av ligger inom ett visst frekvensintervall och därför är samtliga av de övriga frekvenserna ointressanta. De frekvenser som är aktuella för mätningen när det gäller EMG ligger mellan 10Hz - 200Hz, för att åstadkomma detta intervall använde vi oss av ett bandpassfilter. Bandpassfiltret är ett seriekopplat högpassfilter och ett lågpassfilter (Se Appendix Del 4). Detta filter togs fram genom Orcad simulering, varefter det byggdes. Bandpassfiltret dämpade signalen något men för övrigt så fick vi det frekvens intervall vi vill mäta på. För att bestämma den övre och undre brytfrekvenser används formeln nedan. Där fc är den övre och undre brytfrekvensen. Ref: [14, Appendix-Del 4] 5
16 Halvvågslikriktare Halvvågslikriktaren är en enkel koppling bestående av en diod samt en resistor. Syftet med enkelheten i kopplingen var att undvika distorsion på ursprungssignalen då antalet komponenter i en koppling över lag brukar vara direkt proportionell mot störning på signalen. Halvvågslikriktarens funktion är även att den endast släpper igenom ena halvperioden av sinusspänningen. Ref: [14, Appendix-Del4] Andra försök med förstärkarkopplingar Försök 1 Den otestade förstärkaren: Innan vi beslutade att bygga en egen förstärkare så var det tänkt att vi skulle få en färdigbyggd förstärkare som hade konstruerats på ett examen arbete. Denna förstärkare var dock inte testad. Medan vi testade den så visade det sig att den inte funkade helt Förstärkaren utnyttjar även den en INA 128, denna i sin tur är kopplad till ett notchfilter. Ett notchfilter är ett väldigt smalt bandspärrfilter vars syfte är att ta bort nätspänningsfrekvensen (i Sverige 50 Hz). För att testa förstärkaren kopplades Bodyref punkten samt en av ingångarna till jord. På andra ingången testades olika spänningar med en spänningsregulator. Enligt examens arbete så skall kretsen förstärka mellan 115ggr till 168ggr. Förstärkaren testades därefter tillsammans med Dennis Sturm. Detta visade att det man fick var en kapacitiv urladdning istället för förstärkning. Men p.g.a. tidsbrist så lämnade vi förstärkaren på lagning och tillverkade en egen EMG förstärkare. Försök 2: Vi testade en koppling med instrumentförstärkaren INA128PA kopplat till vårt nuvarande bandpassfilter, därefter förde vi signalen vidare till ett notchfilter. Detta var ett misslyckande då det närmaste vi kunde komma 50 Hz med notchfiltret var 51,125 Hz. Notchfiltret togs därför bort ur kopplingen helt och hållet. Försök 3: Vi testade att koppla på en likspänning efter bandpassfiltret, detta för att höja upp nollnivån till 2,5 V och sedan få signalen att där pendla med ett utslag på 1 2 V. Detta försök slog ut signalen totalt och avskrevs därför. Försök4: Vi försökte här efter bandpassfiltret koppla in signalen till en helvågslikriktare. Helvågslikriktaren gjorde det den skulle men signalen lades negativt istället. För att komma ifrån detta så gjordes ett försök med en inverterande förstärkarkoppling, detta för att få signalen positiv igen och även för att förstärka upp den något. Grova störningar upptäcktes på signalen (kraftigt brus över hela signalen samt att signalen liknade en spik mer än en halv sinusvåg) och denna lösning avskrevs därför. Försök5: Detta försök är den nuvarande lösningen, signalen var någorlunda ren och fin. Den hade dessutom ett maximalt minusutslag som ligger under 60 mv vilket var mer än välgodkänt för att ta in i PICen. Om den kunde ta in signaler från kroppen tillräckligt bra var däremot fortfarande tveksamt och den behövde troligtvis ytterligare någonting i sin koppling. En koppling för en Bodyrefpunkt (referenspunkt på kropp) kunde vara en bra fortsättning på detta men på grund av tidsbrist så kunde detta inte att 6
17 göras. En annan lösning var att köpa en redan godkänd och testad förstärkarkoppling, detta skulle funka då övriga delar av projektet var färdiga. Information gällande övriga försök Notchfilter Detta filter är egentligen ett bandspärrfilter men samtliga notchfilter har egentligen 2 saker gemensamt. Det ena är att de är väldigt smala bandspärrfilter, det andra är att det ska ta bort den frekvens som läcker från vägguttagen (d.v.s. 50 Hz här i Sverige). Följande formler används för att räkna på notchfiltret. Vi använde oss av fyra resistorer, fyra kondensatorer som är lika stora, två OP-förstärkare och en reglerbar resistor potentiometer som hjälpte oss att reglera bredden på notchfiltret. Detta fungerade dock inte exakt som vi önskade då den har en förskjutning på 1,125Hz (notchspärr = 51,125 Hz) och verkade inte dämpa denna frekvens tillräcklig bra. Detta togs fram genom testning av olika frekvenser. Ref: [15] Helvågslikriktare Vänder alla perioder i en sinusvåg till positiva, den vi byggde matade dock ut signalen på negativ axel. Pga. tidsbrist så felsöktes denna lösning inte något ytligare utan avskrevs som inte användbar. Det fanns dessutom en hel del störningar i kopplingen. Ref: [14] Inverterande förstärkare Förstärker och inverterar en signal efter följande princip. D.v.s. den positiva halvperioden blir negativ och tvärtom. För att räkna ut förstärkning användes följande formel: A v U ut U in R 2 R 1 7
18 Ref: [14] 8
19 PICens programmering PICen är en krets med 28 pinar, den har 3 portar som anropas med register hjälp av register, den klarar seriell överföring, AD omvandling. Den är även programmerbar. AD omvandlingen För att fixa AD omvandlingen så utnyttjades PICens egna register. För att AD omvandla på PICen så behövs fem register vilka är följande: ADCON0 = Används till att ställa in vilken kanal (bit 5 2) som man skall ta in den analoga signalen ifrån. Den används även till att sätta på AD omvandlaren (bit 0) i PICen samt starta AD omvandlingen (bit 1). Bit 7-6 används inte. ADCON1 = Används till att välja var man skall ta in referens spänningen utifrån eller ifrån PICen (bit 5 4). D.v.s. 1 för extern referens spänning, 0 för intern. Just nu tas spänningen externt, detta för att själva kunna reglera referensspänningen till ett önskat värdet. Detta register säger även vilka portar som skall ha analog samt digital ingång (bit 3 0). Ben 2 & 3 ställdes in som analoga och resterande ben som digitala (1101), värt att tänka på med detta är att du helst bör sätta de analoga portarna tidigt då de blir analoga i en serie. D.v.s. om du gör ben 3 analog på PICen så kommer ben 2 att bli det också, gör du ben 4 analog så kommer ben 3 & 2 att bli det också osv. ADCON2 = Används till om du vill sampla den analoga insignalen med 16 eller 8 bitars noggrannhet (bit 7). Denna bit nollställde för att sampla med 8 bitars noggrannhet. D.v.s. varje analogt spänningsvärde motsvaras av ett 8 bitar långt binärt nummer. Detta register styr även hur lång tid varje sampling ska ta så kallat Acquisition Time denna tid säger egentligen bara hur länge den ska vänta mellan varje sampling relativt AD omvandlarens klocka (bit 5 3). Även för denna klocka kan hastigheten ställas in på hur snabbt den ska sampla, samplingen styrs nämligen med en latch som kommer att mata in siffrorna till det binära numret efter en viss klocka, denna klocka är PICens systemklocka vars hastighet har delats ner ett antal gånger (bit 2 0). ADRESL: L:et står för Low och d.v.s. LSB bitarna, ADRES registerna är där samplingen hamnar i. Detta register används dock inte i vår lösning då vi bara utnyttjar de mest signifikanta bitarna vid omvandling enligt inställningen i ADCON2, bit 7. ADRESH: H:et står för high och innebär att detta register lagrar MSB bitarna efter varje AD omvandling. Detta register måste läsas av efter varje AD omvandling då man vill ta emot samplingen enligt inställningen i ADCON2, bit 7. Ref: [3] 9
20 In & ut portar på PICen Egentligen så är det två saker som är värt att hålla reda på här och det är TRIS och PORT, TRIS används för att deklarera vilka portar som skall vara in samt ut portar. Om vi t.ex. vill sätta port A som utgång skriver vi TRISA = 0b ; eller TRISA = 0x00; om du gillar det hexadecimala skrivsättet. Vill du istället sätta port A som ingång skriver vi istället TRISA = 0b ; eller TRISA = 0xFF; hexadecimalt skrivsättet. Som vi redan vet så har PICen 3 utgångar (A, B & C). Vill du t.ex. påverka port B istället så skriver du TRISB samt TRISC om du vill påverka C. T.ex. TRISB = 0x00; PORTB= 0b ; //Port B utgångar //varannan etta, varannan nolla skrivs ut på PORTB //benen på PICen Det är även fult möjligt att göra en port till en blandning av in och utgångar. Ref: [4,6] Seriell överföring mellan PICen och Bluetooth Seriell överföring fungerar i princip på samma sätt för PICen oavsett vad du kopplar den till, d.v.s. det spelar ingen roll om vi skickar till en PIC, en dator eller en Bluetooth modul. Principen bygger på följande. Bägge komponenterna som kopplas samman måste vara inställda på samma sak vad gäller följande: Baudrate, startbit, stopbit och sändningslängd (d.v.s. 8 bitar eller 16 bitar). De register som styr detta behandlas nedanför: OSCCON= I detta register väljer man om man vill använda intern eller vilken typ av extern oscillator man vill ha, i nuläget så körs den på intern oscillator d.v.s. vi använder PICens egen processorklocka för att styra hastigheten (Bit 0 & 1). Vi tillåter även i detta register att den är ostabil (Bit 2). Vi låter den dröja lite innan den startar efter inställning med en lite start up timer (Bit 3). Vi sätter dessutom upp klockan till max (8 MHz) med hjälp av bit 4 6 (viktigt bit). Bit 7 används ej. INTCON= Enablar enkelt förklarat lite olika interrupt som behövs vid seriell överföring. SPBRGH & SPBRG är de två register som i huvudsak styr Baudrate, med baudrate menas som vi redan vet symbolhastigheten, på PICen så motsvaras varje symbol av en bit vilket gör att Baudrate i detta fall är det samma som bit/s. För att veta vilket värde som skall placeras i dessa register så kan detta göras på två sätt. Antingen görs detta med följande formel FOSC Baudrate 64 1 X där FOSC är processorklockan, d.v.s. 8 MHz, baudrate är den baudrate vi vill uppnå (för seriell överföring till Bluetooth krävs en baudrate av för den Bluetoothmodul som används vilket även är ungefär vad PICen klarar av) och X är det nummer som vi placerar i SPBRG eller SPBRGH beroende på hur vi ställt in övriga register. Det finns dock en bättre lösning som ger dig mer kontroll över hastigheten och det är att kolla på tabellerna som står angivna i manualen på sid. 245 & 246 (detta för att tabellen i sig förmedlar information om felmarginal etc.), 10
21 detta kräver möjligtvis något mer förståelse men ger dig större säkerhet på att resultatet blir bra. Detta är även vad vi i slutänden använde oss av efter en tabell på sid. 246 som gav oss ett maximalt sändfel på 0.79 % vilket vi även mätt upp. Denna fina marginal uppnådde vi efter uppmätning. TXSTA= Står för Transmit status & Control register, d.v.s. den styr hur PICen ska sända, det vi använder oss av i detta register är att vi möjliggör sändning (bit 5), vi sätter ett synkroniserat avbrott mellan varje sändning (detta tolkar mottagande enhet troligtvis som en stopbit (bit 3), Bit 2 & 1 är ettsatt, detta gör ingenting men om vi vill växla till asyncon överföring så kommer denna stopp biten ställa in PICen för hög hastighet. Övriga bitar är nollsatta och tas därför inte upp. RCSTA= Vi ställer här in i stort sett samma som föregående fast för mottagning istället. Dock så finns det en bit som är viktig och det är bit 7, den ställer in ben 17 (TX = Transmitt) & 18 (RX = Recieve) som seriella portar. BAUDCON = Säger hur Baudrate ska bete sig, t.ex. om vi mottar/skickar inverterad data eller om man sänder/mottar ett visst värde i rätt följd (Bit 4 & 5). Den säger även om man bara ska utnyttja SPBRG eller både SPBRG & SPBRGH. Säger även till PICen hur den ska motta/sampla inkommande data. RCIE = Är i själva verket bit 5 i ett register som heter PIE1, denna bit enablar överföringen. D.v.s. i och med att den här biten är ettsatt så slår man på den seriella överföringsmekanismen i PICen. TXREG = Detta är registerna vi lägger ut vår 8 bitars variabel på då vi vill sända den. RCREG = Detta är de register som vi mottar vår 8 bitars variabel på om vi mottar något vilket vi i nuvarande kod inte gör men har möjlighet att göra. Ref: [5,7] Resultatet av PIC programmeringen Vi upptäckte att PICen har sina begränsningar, bland annat är det svårt att få en hög samplingshastighet samtidigt som vi sänder. Vår första tanke var att sampla i 4 khz hastighet och samtidigt sända de samplade värdena med denna hastighet. Problemet med detta var att vi fick ett fel vid sändning då vi gjorde på detta sätt. PICen har också en tendens att skriva över sina egna sända värden då du gör flera sändningar på raken för snabbt detta gör att du inte får alla värden som sänds vilket resulterar i att du måste ha en viss fördröjning mellan varje sändning. Detta kan summeras i att sändningen i sig kommer att köra samplingen vid AD omvandling med väldigt låg frekvens (några 100 Hz) vilket absolut inte uppfyller vårt mål på åtminstone 5-10 samplingar per 200 Hz kurva. Vår lösning på detta blev att låta PICen sampla in en stor mängd värden (50 stycken) för att sedan räkna ut medelvärdet på dem. Vi la även in en liten spärr som inte kommer att räkna med de värden som är lägre än 50 mv då dessa värden troligtvis kommer att vara små störningar från den negativa delen (som vi slagit ut) av sinusvågen. Detta gjorde att vi bara samplade värden mellan 0,050 5 V. Detta värde räknas sedan om till fem 8 bitars ASCII variabler. Varav den sista var ett komma tecken (,) vilket vi sedan utnyttjade för att skilja varje datavärde åt i C-/Excel programmet. D.v.s. vi fick in värden av strukturen 1.22,3.44,5.66,osv Detta medelvärde skickade vi sedan ut till Bluetoothmodulen med en baudrate på bps (57600 bit/s). Effekten av att vi först samplar och sedan sänder gjorde att vi faktiskt fick upp en samlingshastighet på PICen på 2033 Hz vilket uppfyllde vårt mål på 10 samplingar per
22 Hz kurva. Projektet med programmeringen av PICen kan sammanfattas i att vi tangerat vad PICen klarar av och utnyttjat dess fulla styrka, pressar vi ur den mer så brinner den troligtvis upp. Allmän Ref på PICen: [Robert, Percy samt Appendix, Del1] EMG ritarna Två ritprogram skapades, bägge dessa utnyttjar en textfil från hyperterminalen för närvarande för att kunna köras. Följande inställningar bör ställas in i hyperterminalen: Man väljer sedan transfer -> capture text för att fånga in textströmmen. Denna data ström bör för närvarande sparas ner i dokumentet Bluedata.txt som ligger i MuscleArray 1000 mappen (eller annan mapp man länkat programmet till). C-prototypen: I projektets början så fanns det ett par saker som var viktiga att få bekräftade. En av dessa saker var om vi över huvud taget skulle ha möjlighet att kunna presentera informationen på skärmen. Vi gjorde därför en prototyp som tog in data från en textfil via ett C-program som sedan presenterade datan som höjden på en stapel på skärmen. Detta gjordes med hjälp av lite modifieringar av ett gammalt C-program som fanns från en tidigare kurs i C- programmering samt en GFX ritarmodul. GFX modulen är ett litet program som tillåter dig att rita ungefär som i Paint fast istället för att du använder datormusen så används nu istället koordinater från ett C-program. Tidsåtgången för att genomföra detta var en dag och resultatet 12
23 av detta var att vi hade bevisat att det troligtvis var möjligt att använda den här lösningen. Ref: [8, Robert, Percy & Mahshid] Det färdiga C-programmet: C-prototypen utvecklades vidare, dels så togs tidigare buggar bort som t.ex. att den ritade lite fel från början. Det andra som gjordes var att modifiera hur den läste in datan. I den ursprungliga C-prototypen så letade den bara efter en position och tog in den. Nu fick den istället ta in varje värde och låta det värdet reglera höjden på stapeln fortlöpande. Resultatet av det försöket var ett misslyckande och visade helt enkelt att GFX ritaren drunknade i information och att den i slutändan absolut inte klarade att göra någonting alls av det snabba informationsflödet. Vi började i detta skede titta på en alternativ lösning som utnyttjade Visual Basic och Excel. Vi fortsatte dock att modifiera C-programmet, detta dels för att när man väl kan grunderna i Visual Basic så spelade det ingen roll om man gör ett program i C eller ytterligare ett liknande program i Visual Basic, principen för det hela blir den samma. C-program byggdes sedan på med ytterligare en funktion som jagar ikapp det sista inskrivna värdet i dokumentet och skriver ut det på skärmen. Detta är för att alltid få det senaste värdet och därigenom komma så nära realtid som möjligt. Den andra modifikationen som gjordes var att sätta in en liten delayfunktion som klarar att styra delaytiden någorlunda exakt. T.ex. om du i funktionen skriver in att du ville fördröja programmet 0.2 Sekunder så fick man i slutändan en fördröjning på 0,212 sekunder. Vilket man som användare aldrig någonsin kommer att märka. Programmet läser även nu in värdena från en textfil som konstant uppdateras från en hyperterminal och inte från ett statiskt dokument som vid C-prototypen. Ref: [9, Robert & Percy] 13
24 Excelprogram lösningen: Den andra lösning som togs fram var en där ett Visual Basicprogram körs i bakgrunden av Excel. Även här så tar programmet in värdena från en textfil som konstant uppdateras från en hyperterminal. Tanken bakom programmet samt dess grundstruktur liknar den hos C-programmet. Enda skillnaden var att lösningen i Microsoft Visual Basic tog in värdena en och en medan lösningen i C läste in en hel sträng på en gång som den sedan sönderdelade. Vid varje inläst värde så kommer cellerna först att förskjutas ett steg nedåt. Det nya värdet (näst sist inlästa) skrivs sedan in i den första cellen igen samtidigt som Diagrammet uppdateras. Anledningen till att vi tog det näst sista inlästa värdet var att vi annars kan få ett halvt värde vid öppnandet av textdokumentet t.ex kanske bara blir 3 i just det ögonblicket, någon tiondels sekund senare kanske 3.55 hunnit skrivas in men Excel kommer bara att ha en ögonblicksbild av inskrivningen till filen. Detta fel fick vi inte i C då man där har större kontroll över inläsningen. För att uppdatering till diagrammet ska ske kontrollerad så utnyttjades en liknande timmer som den i C. Vi körde dessa steg i en oändlig lopp, programmet avslutas sedan med kommandot ESCAPE. Macrot kopplades sedan till en bild som fick fungera som start knapp. Ref: [10, Robert, Percy] Vad lösningarna saknar: Lösningarna saknade ett viktigt element och detta var full realtid. För närvarande kommer bägge lösningarna väldigt nära realtid. Problemet är att de för närvarande utnyttjar en textfil som källa vilket gör att det saktas ner något ju större dokumentet blir. En lösning som vi tittat på men inte helt lyckats uppnå är att ta in dessa värden direkt från COM porten. C programmet är något snabbare men Excelprogrammet körs för närvarande på ett snyggare sätt samt att den även visar historik genom ett fortlöpande diagram som visar nuvarande samt de senaste 9 värdena. Med andra ord så kommer det nyaste värdet på linjediagrammet att vara längst till vänster och det äldsta att vara längst till höger. Vid skiftning i dataserien så trillar det äldsta bara ut samtidigt som det nyaste trillar in från vänster igen. Ref: [Robert, Percy] För att lösa uppgiften med grafikritarna: Kunde sen tidigare: o C-programmering o Grundkunskaper i Excel Behövde lära oss: o Microsoft Visual Basic (nytt programmeringsspråk) o Djupare kunskap i C-programmering (t.ex. time.h biblioteket för att skapa timer) o Djupare kunskaper i Excel 2007 samt hur man kopplar in Visual Basic Macron i den. Ref: [Robert, Percy] 14
25 Bluetooth mottagning med IAR systems Målet var att skapa ett c-program som läser in data från Bluetooth sändaren i realtid. En möjlig lösning på detta var att koppla COM porten rakt in i grafikritarprogrammet i C som kördes i Dev C++. En USB bluetooth adapter från Belkin fanns tillgänglig för att ta emot dataflödet och började därför testköras. En Bluetooth enhet kan fungera som både mottagare (slave) eller sändare (master). Informationen som sänds från PICen via Bluetoothmodul är inställd som master därför måste datorsidan ställas in som slave. Målet med det här var att kunna visa informationen på en datorskärm i realtid. Bluetoothenheter ingår i olika profiler som förklarar vad enheten har för funktion. General Access Profile (GAP), Serial Discovery Application Profile (SDAP), Serial Port Profile (SPP) är de profiler som använts i IAR systems programvara. Bluetoothmodulen som ingår i Bluetooth starter kit från IAR systems, kopplas till PC via en USB- eller UARTkabel. Ifall man använder en UARTkabel vilket vi gjorde kan man koppla informationsströmmen till en tillgänglig COMport på datorns baksida. När programmet är installerat tillkommer en Bluetooth protokoll stack exempel i C- programmet som är kompilerbart i Microsoft Visual C++. I programmet kan man sedan välja att vara antingen master eller slave. För att ansluta till bluetootmodulen som är kopplad till PICen så måste programmet ställas in på slave. Den kommer därefter att leta i luften efter andra Bluetoothenheter som den kan ansluta till. I programmet kan man sedan välja att skicka en förfrågan (inquiry) till en master som erbjuder service. Mottagaren måste acceptera den service som mastern skickar. Denna lösning las dock på is då programmet endast var körbart i Visual C++. Ref: [11, 12, 13] C-program för att läsa in EMG värdena från Comport i Dev C++ Då andra delar började fungera igen så togs comports projektet upp på nytt igen. Målet denna gång var att göra programmet körbart i Dev C++ eller hitta en annan lösning för att koppla dataflödet från en comport in i Dev C++ utan att behöva ta omvägen via en textfil. Det visade sig möjligt att konfigurera bluetooth adapter till virtuell comport för att få in dataflödet. Två kablar kopplades mellan comporten mellan två datorer för att testa hur den fungerade. Vi lyckades att skicka och ta emot text dokument och data filer. Den riktiga comporten ersattes sedan med en virtuell från hyperterminalen. Data kunde mottas men det fungerade väldigt långsamt samt att man fick varje värde två gånger. Hastigheten gick inte att få upp i full realtid och denna lösning lades därför ner. Ref: Samin 15
26 Bild 3: Den felaktiga samt långsamma mottagna datan. Ref: Samin 16
27 Slutsats Projektet har överlag varit ganska lyckat, vi har uppnått samtliga av våra mål för det här projektet förutom målet med en fungerande förstärkarkoppling. Mer tid behövs dock för att få detta att bli en färdig produkt, men tanken att bygga en EMG förstärkarkoppling i träningssyfte för en kostad av omkring 500:- är ändå bra. De områden som man bör fortsätta jobba med om man tar upp arbetet med denna rapport är förstärkardelen, skapa färdigt produktionsexemplar i Orcad Layout samt skapa en prototyp med hjälp av detta. En bättre kod som uppfyller Bluetooth realtid bör även skapas, denna kod föreslår vi ska vara möjlig att koppla till en inbyggd Bluetooth enhet i en dator eller en Bluetoothsticka. Brist på tid gjorde att vi inte hann göra klart projektet som vi hade tänkt oss från början, vi anser att projektet är värt att bygga vidare på om man skulle ha mer tid. 17
28 Appendix Del 1 Flödesschema 18
29 Del 2 PICprogrammet ********************************************************************* * * * ********************************************************************* * FileName: BluetoothMedFungerandeSampling.c * Dependencies: * Processor: PIC18F2550 * Compiler: HighTech PICC18 (STD 9.51 or later) * Company: STH KTH * * Purpose: A short demo program for serial communication using EUSART * This program only loop-backs the received data * Interrupt is used for synchronisation * No Auto-Baud Rate detection implemented * * Refer to PIC18F2550 manual chapter 20 * * Output: Serial data on TX pin (RC6) pin 17 * Input: Serial data on RX pin (RC7) pin 18 * * * * Author Date Comment *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Robert & Percy ********************************************************************/ #include <pic18.h> void init(void); void rec(void); void init_eusart(void); void interrupt eventad(void); void init_timer(void); unsigned int i, RaknaSample=0, SparaAllt[100], MedelResultat=0, j=0, n=0, p=0; int HelTal,RestTot,Rest1,Rest2, MedelSumma=0, SparaAD, SendDelay; // int main () init(); init_timer(); i = 0b ; ADCON0 = 0b ; //Godown, ADON ADCON1 = 0b ; ADCON2 = 0b ; //tre sista bitar bestämmer när godone ska bli 0 TRISA = 0b ; TRISB = 0b ; PORTA = 0; TMR2ON = 1; TMR2IE = 1; // 6 bits INPUT on Port A // 6 bits OUTPUT on Port B // 2 bits High on Port A at start //Enablar interupt //Enablar interupt n=0; while(1); void interrupt eventad(void) 19
30 //Grej för att slå bort en bygg som uppkommer ibland. if(n==0) n=1; SparaAD=0; MedelSumma=0; j=0; SendDelay=13; //RCIE = Enablar Timer interrupt //Om denna är 1 så har PICen tillåtit en timerinterupt //RCIF = Ser om interrupten har genomförts //Om 1 så har den det if(tmr2ie && TMR2IF) //Har vi fått den interrupt vi ville ha GODONE = 1; //kontrollerar GODONE flaggan while( GODONE == 1 ) ; SparaAD = * ADRESH ; n++; //Ignorerar bruset som blir efter helvågslikrikning av den negativa delen av sinusvågen if(sparaad>5) MedelSumma = MedelSumma + SparaAD; j++; //Efter värden så räknas medelvärdet ut, räknas om till ASCII varefter allt skickas //som t.ex. 2.33, //D.v.s V följt av ett komma tecken för att skilja varje värde åt. if(j==50) j=0; MedelResultat = MedelSumma/50; MedelSumma=0; RaknaSample = 0; HelTal = MedelResultat/100; HelTal += 48; TXREG = HelTal; // Skickar Heltal RestTot = MedelResultat%100; for(i=0; i<senddelay; i++) ; TXREG = 46; //Skickar. (Punkt) Rest1 = RestTot/10; Rest2 = RestTot % 10; Rest1 = Rest1 + 48; Rest2 = Rest2 + 48; for(i=0; i<senddelay; i++) ; TXIF = 0; TXREG = Rest1; // Skickar Rest 1 20
31 TMR2IF=0; for(i=0; i<senddelay; i++) ; TXIF = 0; TXREG = Rest2; // Skickar Rest 2 for(i=0; i<senddelay; i++) ; TXIF = 0; TXREG = 44; for(i=0; i<senddelay; i++) ; TXIF = 0; //Skickar, (Komma) void init_timer(void) //interapt efter en vis tid enkel sagt. IPEN = 1; PR2 = 0b ; T2CON = 0b ; //TMR2IF måste nollställas efter att den använts //Enablar prioritetsnivåer för interrupts // Säger hur långt timern ska räkna //Sätter hastighet på räknaren INTCON=0xC0; TMR2 = 0b ; //0b GIE and PEIE //GIE=1 Enablar alla unmasked interupt (startar global interupt) //Med andra ord interupt on //PEIE=1 Enablar alla unmasked peripheral interupt. TMR2IP = 1; //Initiering av RX & CX kommunikation void init(void) OSCCON=0x73; //MSD 0b LSB //Bit 0 & 1 = intern oscillator väljs //Bit 2 = INTOSC, ostabil //Bit 3 = Prim'r oscillator ej redo, start up timeout running //Bit 4-6 = 8 MHz clocka väljs //NOTIS: OSCON klockan kommer påvärka både AD omvandlaren & //"Överföringshastigheten" //Bit 7 nada TRISC=0xC0; //0b RC7 and RC6 for USART function //(Behövs för initiering) init_eusart(); INTCON=0xC0; //0b GIE and PEIE (for USART on Port C) //GIE=1 Enablar alla unmasked interupt (startar global interupt) //Med andra ord interupt on //PEIE=1 Enablar alla unmasked peripheral interupt. void init_eusart(void) SPBRGH= 0; //Detta register genererar BAUDRATE (Hightbyte) //Clearar detta register här. //SPBRGH är ett sorts timer register för baudrate. 21
32 SPBRG=34; //Om autobaudrateså kommer lämplig BRG perioden att lämnas i detta //register efter den femte "rising edge" som kommer in på RX pinen //Dvs. lämplig äverföringshastighet lagras här. //Setting up for Baud Rate; //Värdet 34 fås ur en formel på sid 244,kolla PÅ tabel 246 //((FOSC/Önskad baudrate)/64)-1)=önskat SPBRG värde TXSTA=0x2C; // , BRGH = 0 //Transmit status & controll register //Bit 7 = 0 ger slave mode (ger clocka från extern källa //Bit 6 = 0 ger 8 bitars sändings storlek (9 bitar om 1) *** //Bit 5 = 1 ger Enablar överföring (transmitt enable) //Bit 4 = 0 ger Asyncon överföring (asynconus mode) //Bit 3 = 1 ger sync break på nästa sämdbit på TX //Bit 2 = 1 ger Low Speed asyncon (baudrate eller hastighet) //Bit 1 = 0 ger Sätter ner transmit shift registret till 0 (dvs. full) //Sätts till 1 då allt skickats (tror vi) //Bit 0 = 0 ger inget alls, används vid 9 bitars överföring. RCSTA=0x90; // //Recieve status & controll register //Bit 7 = 1 sätter RX och TX som seriella portar //Bit 6 = 0 sätter 8 bitars mottagning (9 bitar om 1) //Bit 5 = 0 Don't care om asyncron vilket vi har //Bit 4 = 1 Enablar mottagning här om asyncon (vilket vi har) //Bit 3 = 0 Disablar adress detektion, 9 biten kan användas som //Paritetsbit om denna är (möjliggör lite interrups om 1 satt) //Bit 2 = 0 Tittar inte efter framing error //Bit 1 = 0 Tittar inte efter overrun error //Bit 0 = 0 Är tom, används till parity bit eller nått sånt BAUDCON=0x4A; // , BRG16 = 0 //Baud rate controll //Bit 7 = 0 Säger att ingen BRG rollover har skett???? //Bit 6 = 1 kommer aktivera mottagarens operator Mottagning (RX) on lr nått //Bit 5 = 0 Säger om den mottagna datan är inverterad lr ej //1:a säger att den är inverterad. (Bak och fram) (detta fixar det) //Kort och gott skickar du så kommer det fram //Denna bit är rolig, vi måste testa den. **** //Bit 4 = 0 Säger att skickad data är inverterad (samma som ovanstående) //Bit 3 = 1 Sätter 16 bitars baudrate (dvs både SPBRGH & SPBRG) //Bit 2 = 0 Används ej //Bit 1 = 1 Fortsätt sampla RX pin, interupt på falling edge, interupt //clearas på rising edge //Bit 0 = 0 ger inget alls, men om ettställt så känns baudrate av automatiskt. RCIE=1; // Dummy send TXREG=0x00; //Enable interrupt on Port C, USART //TXIE=1; //Eusart transmitt (dvs. sända) //Notis: Baudrate = symboler/s => På picen = bit/s 22
33 Del 3 Grafikritar programmet i C /************************************************************ * Prototyp: Robert, Percy & Mahshid * * Vidareutveckling: Robert & Percy * * * *************************************************************/ #include <stdio.h> #include <conio.h> #include <stdlib.h> //GFX ritarens bibliotek #include <GFX_Client.h> //Klockbibliotek #include <time.h> #include <sys/timeb.h> //Det filnamn man vill hämta infon ifrån #define FILE_NAME "Bluedata.txt" int main() double DoubleValue; int Rows=0, LastRow=0, LastValue=0, IntValue=0, PrevValue=0; static char s[100000], devider[6]; int NumPos=0, JumpOut; clock_t start, end; //Deklarering av klockvariabler från time.h if(!gfx_open() ) printf("connection failed, GFX_Server running?\n"); getch(); // hamnar du här har du glömt starta grafikservern return 0; //Initierar GFX ritaren //GFX ritaren måste vara igång för att det ska fungera GFX_SetDebugMode( GFX_DEBUG_FULL ); GFX_SetSize ( 400, 500 ); GFX_SetColor ( GFX_RGB( 0, 0, 0) ); GFX_SetBGColor ( GFX_RGB( 200, 200, 255) ); GFX_ClearScreen (); printf("press any button to start"); getch(); FILE* fp; fp = fopen(file_name, "rt"); if(fp == NULL) printf("your toasted!"); exit(exit_failure); 23
34 else printf("\nbluedata recieved\n"); //Skapar pekare på filen vi vill läsa JumpOut=0; while(1) FILE* fp; fp = fopen(file_name, "rt"); while(!feof(fp)) fgets(&s, "%s", fp); //Läser in en rad Rows++; while(lastrow<=rows && JumpOut==0) //Detta tar in ett nummer devider[0]=s[numpos*6+0]; devider[1]=s[numpos*6+1]; devider[2]=s[numpos*6+2]; devider[3]=s[numpos*6+3]; NumPos++; //Denna räknare är till för att flytta markören till vilket nummer man vill läsa in. LastValue = IntValue; sscanf(devider, "%lf,,", &DoubleValue); DoubleValue*=100; IntValue = DoubleValue; if(intvalue==25499 IntValue>555 IntValue<0) //Jämförelse för att hitta det senast läsbara numret. JumpOut=1; JumpOut=0; //Nollställer JumpOut NumPos=0; //Nollställer Positionsräknaren för värdena. LastRow=Rows; if(lastvalue!=prevvalue) //Liten if sats för att bara rita förändringar PrevValue=LastValue; printf("new EndValue= [%d]\n", LastValue); //Skriver ut det sista värdet i dokummentet GFX_ClearScreen (); GFX_Rectangle ( 100, (500-LastValue), 300, 500 ); //Ritar en rektangel med sista värdet start = clock(); end = clock(); if(lastrow<10) 24
35 while((((double)( end - start ) / (double)clocks_per_sec ))<0.1) end = clock(); //Tidsfördröjning, höger om jämförelsetecknet (<) är den tid i sekunder man vill fördröja //Start och end är två samplingar från sekundklockan i windows, differensen mellan dem //blir ett visst givet tidsintervall //Denna fördröjning behövs för att programmet körs mycket snabbare än ritmodulen //Kan även vara bra att sakta ner programmet lite för att spara lite prestanda //Dvs. att man gör många onödiga anrop till en fil på hårdisken. fclose(fp); return 0; 25
36 Del 4 Visual Basic koden Sub EMG_ultimate_edition() ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' MuscleArray program ' ' Skapad: ' ' Av: Robert & Percy ' ' ' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 'sökväg till filen Dim strtextfil As String Dim Value, LastValue, PrevValue, BeforeValue As Double Dim i As Long Dim CountDown, f, TotalDelay As Integer Dim PauseTime, Start, Finish, TotalTime TotalDelay = 0 Value = 0 i = 0 strtextfil = "C:\MuscleArray 1000\Bluedata.txt" While (1) f = FreeFile Open strtextfil For Input As #f While Not EOF(f) Input #f, Value 'Tar in ett värde If ((Value > 0) And (Value < 5.6)) Then LastValue = BeforeValue BeforeValue = Value End If Wend Close f 'Shiftar allting neråt ett steg CountDown = 11 While (CountDown > 2) Cells(CountDown, 4) = Cells((CountDown - 1), 4) CountDown = CountDown - 1 Wend 'Slut på Shifting Cells(2, 4) = LastValue PrevValue = LastValue Range("A1").Select 'Timerfunktion 'Kontrollerar farten i timer If Not (TotalDelay > 5) Then PauseTime = 0.2 ' Skriv hur lång fördröjning vi vill ha här. TotalDelay = PauseTime 26
37 Start = Timer Startar timern. 'Här kör vi tills vi når vårt timervärde Do While Timer < Start + PauseTime Loop End If 'End timer Wend End Sub 27
38 Del 5 Kretsschema 28
39 Del 6 Manualen (skriven som om vi hade alla delar fungerande) Manual till MuscleArray 1000 MuscleArray 1000 består av 3 komponenter: 2 elektroder, själva MusclePower omvandlaren samt en Bluetoothsticka. MuscleArray 1000 fungerar även med andra Bluetoothsticka så att just köpa detta tillbehör är inte ett krav. Elektroderna: De två elektroderna kopplar du på följande sätt: elektrod märkt med minus fäster du på senan till den muskel du vill mäta på, elektroden märkt med plus fäster du mitt på den muskel du vill mäta på. MusclePower omvandlaren består av en burk du kan fästa i skärpet, elektroderna tejpas fast på kroppen och ledningarna dras förslagsvis innanför kläderna och fästes sedan på MusclePoweromvandlaren. MusclePower omvandlaren drivs på batteri och utnyttjar bluetooth så inga ytterligare ledningar behövs, detta för att möjliggöra största möjliga rörlighet under träningen. Signalen från den mottas sedan på datorn där två möjliga presentationsprogram finns tillgängliga, den ena består av en exekverbar fil och är tillgänglig efter installation, den andra består av en Excel application, denna kräver ingen nämnvärd installation utan enbart att du ändrar en inställning i Excel. Det exekverbara programmet körs något snabbare men Excel filen utnyttjar en vackrare grafik och rekommenderas därför för användare med datorer av högre prestanda. Installation: Gör följande, dra och släpp in mappen MuscleArray i C: Windows från MusclePower CD:n. 29
40 För att starta programvaran: Öppna mappen MuscleArray 1000 som nu ligger i ditt C:. Starta sedan den exekverbara filen MuscleArray 1000 samt GFX.exe eller programmet i Excel om högre grafik önskas. Exekveringsprogrammet (de två som startas tillsammans): Tryck bara på mellanslag för att starta. MuskelPower stapeln kommer synas på skärmen denna stapel är den mängd muskelkraft som din muskel alstrar under tränning. För att uppnå maximal träning så bör stapeln alltid hållas så hög som möjligt under din träning. Vill du sedan avsluta programmet så behöver du bara stänga bägge programmen. 30
41 Excelprogrammet (rekommenderas för snabba datorer, kräver även en Excel 2003 eller högre): För att kunna köra Excelprogrammet så behöver Macron funktionen låsas upp i ditt Excell program. För att göra det så behöver du endast klicka dig igenom instruktionerna från bilderna nedan i den ordning som numren visar. Steg 1: 31
42 Steg 2: 32
43 Steg3: Själva programkörningen bygger sedan på att du trycker på Start knappen för att börja ta in värden samt Escape & End för att sluta ta in värden. Det nyaste värdet kommer in uppifrån och sedan kommer värdena knuffas neråt. Samtidigt så kommer diagrammet att följa värdena. 33
44 Del 7 MusclePower Omvandlaren (lådan) Detta är prototypen som gjorts i Cad Proenginer programmet, tanken är att den ska ha en öppning för att gå att fästa i skärpet, en del som skyddar kretsen och en annan del som går att öppna där du kan byta batterier etc. 34
45 Referenser 1. Frekvens kurva från ytelektrod 2. Datablad för INA128PA 3. Manual Kap 21 sid Manual Kap 19 sid Manual Kap 20 sid Stefans exempelkod SKK_PIC18_demo.c (1 & 2). 7. Stefans exempelkod SKK_PIC18_EUSART_1.c 8. Henrik Smiths gamla hemsida 9. C-hjälpfunktion 10. Inbyggd hjälpfunktion i Excel & Microsoft Visual Basic 11. E_M_Datasheet_OEMSPA_311_331.pdf, 12. Bluetooth.pdf 13. BT_IO_Specification.pdf 14. Analog teknik Bengt Molin 15. Notchfiltret som testades och var tänkt att användas 35
Effektpedal för elgitarr
EITF11 - Digitala Projekt Effektpedal för elgitarr Handledare: Bertil Lindvall Ivan Rimac (I05) Jimmy Lundberg (I08) 2011-05-10 Contents Bakgrund... 3 Kravspecifikation... 3 Kravspecifikation Effektpedal...
Microprocessor / Microcontroller. Industrial Electrical Engineering and Automation
Microprocessor / Microcontroller Varför? Billiga Innehåller bara det nödvändigaste Kräver få kringkomponenter Enkla att programmera PIC16F887 PIC16F887 In- och utgångar Pinnar på PIC16F887 Exempel: pinne
Systemkonstruktion SERIEKOMMUNIKATION
Systemkonstruktion SERIEKOMMUNIKATION Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-04-26 Syfte Laborationen syftar till att ge studenten tillfälle att närmare bekanta sig med RS-232-protokollet,
Att använda pekare i. C-kod
Att använda pekare i C-kod (Bör användas av de som känner sig lite hemma med C-programmering!) Rev 1, 2005-11-23 av Ted Wolfram www.wolfram.se Syfte: Man kan tycka att det är komplicerat att använda pekare
Pulsmätare med varningsindikatorer
Pulsmätare med varningsindikatorer Elektro- och informationsteknik Projektrapport, EITF11 Digitala Projekt Charlie Hedhav Sofia Johansson Louise Olsson 2016-05-17 Abstract During the course Digitala Projekt
Växtviskaren EITF11 Digitala projekt VT15, I12
Växtviskaren EITF11DigitalaprojektVT15,I12 NathalieLiljebrunn,EbbaRiismark,AnnaNorelius LundsTekniskaHögskola Institutionenförelektro ochinformationsteknik Handledare:BertilLindvall,AndreasJohansson 2015
Microprocessor / Microcontroller
Microprocessor / Microcontroller Varför? Industrial Electrical Engineering and Automation Billiga Innehåller bara det nödvändigaste Kräver få kringkomponenter Enkla att programmera PIC16F887 PIC16F887
Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08
Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...
Programmering av stegmotorer ett miniprojekt i samarbete med Svensk Maskinprovning
Programmering av stegmotorer ett miniprojekt i samarbete med Svensk Maskinprovning Daniel Leonardsson dale0010@student.umu.se Kajsa Persson kape0038@student.umu.se I samarbete med Svensk Maskinprovning,
DIGITALA PROJEKT Väderstation
DIGITALA PROJEKT Väderstation Christian Lindquist, E03 Leonardo Bello, E03 Abstract Almost everybody has some kind of temperature measurement device in their home. The latest in this industry are more
A/D D/A omvandling. Lars Wallman. Lunds Universitet / LTH / Institutionen för Mätteknik och Industriell Elektroteknik
A/D D/A omvandling Lars Wallman Innehåll Repetition binära tal Operationsförstärkare Principer för A/D omvandling Parallellomvandlare (Flash) Integrerande (Integrating Dual Slope) Deltapulsmodulation (Delta
AQ-Box med Winlog 2000 8-kanalers mätsystem samlar och bearbetar 8 givarsignaler i en PC
AQ-Box med Winlog 2000 8-kanalers mätsystem samlar och bearbetar 8 givarsignaler i en PC 8 differentiella kanaler (ingen gemensam jordanslutning) Klarar alla givare och sensorer med spännings- eller strömsignal
Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00.
Mikrodatorteknik Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3 7,5 högskolepoäng Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00 Hjälpmedel: Totalt antal poäng på tentamen:
Föreläsning 3.1: Datastrukturer, en översikt
Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,
D/A- och A/D-omvandlarmodul MOD687-31
D/A- och A/D-omvandlarmodul MOD687-31 Allmänt Modulen är helt självförsörjande, det enda du behöver för att komma igång är en 9VAC väggtransformator som du kopplar till jacket J2. När du så småningom vill
Datakommunikation med IR-ljus.
Datakommunikation med -ljus. I den här uppgiften skall du kommunicera med hjälp av infrarött () ljus. Du skall kunna sända tecken från tangentbordet samt ta emot tecken och visa dem på skärmen. Genom att
Chapter 3: Using Classes and Objects
Chapter 3: Using Classes and Objects I dessa uppgifter kommer du att lära dig om hur man använder klasser och metoder från java biblioteket. Du kommer inte att förstå allt som händer bakom metod anrop
Formula Blue. Digitala Projekt 8p. Jesper Ferm E02 Carl Hakenäs E04
Formula Blue Digitala Projekt 8p Jesper Ferm E02 Carl Hakenäs E04 Abstract The purpose with this project was to get some understanding how Bluetooth works and how to use it in practical applications. A
LEGO Mindstorm-robot
KUNGLIGA TEKNISKA HÖGSKOLAN LEGO Mindstorm-robot Programmering av LEGO Mindstorm-robot i språket NXC Kim Hammar 2/6-2013 Kimham@kth.se Introduktionskurs i Datateknik 1311 Sammanfattning En viktig del av
Svensk version. Inledning. Innehåll. Specifikationer BT100. Extra specifikationer BT100 S W E E X. C O M. BT110 - Sweex Bluetooth Class I Adapter USB
BT100 - Sweex Bluetooth Class II Adapter USB BT110 - Sweex Bluetooth Class I Adapter USB Inledning Först och främst tackar vi till ditt köp av denna Sweex Bluetooth Adapter. Med hjälp av denna adapter
Felsökning av mjukvara
KUNGLIGA TEKNISKA HÖGSKOLAN Felsökning av mjukvara Programmering av en NXT-robot Max Kufa [03/08-13] mkufa@kth.se Introduktionskurs i datateknik (II1310) Sammanfattning Syftet med laborationen var att
Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK.
Tomas Nordström Högskolan i Halmstad Dokumentversion 0.1, 2012-04- 01 Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK. Informationen till detta kompendium är
Reviderad 2008-01-22. Servicemanual Foxguard Alkolås A1,A2 och A3
Servicemanual Foxguard Alkolås A1,A2 och A3 1 Innehållsförteckning Sidan Kalibrera Foxguard Alkolås A1...2 Kalibrera Foxguard Alkolås A2 & A3....5 Installera och konfigurera USB-converter 8 Installera
WAGO IO System Service Seminar. Diagnostik
WAGO IO System Service Seminar Diagnostik 1 Dioder på Controller Link 1/2 Ethernet Länk status Av - ingen ethernet anslutning grön - Ethernet anslutning blinkande grön - Ethernet anslutning skickar / tar
NXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot
KUNGLIGA TEKNISKA HÖGSKOLAN NXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot Gabriel Vilén 30/8-2012 gvilen@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Vi har programmerat
Op-förstärkarens grundkopplingar. Del 2, växelspänningsförstärkning.
Op-förstärkarens grundkopplingar. Del 2, växelspänningsförstärkning. I del 1 bekantade vi oss med op-förstärkaren som likspänningsförstärkare. För att kunna arbeta med op-förstärkaren vill vi kunna mäta
William Sandqvist william@kth.se
Komparatorn en 1 bits AD-omvandlare En komparator är en känslig förstärkare för skillnaden mellan spänningarna på ingångarna. Minsta lilla positiv skillnad gör att utgången hamnar på (1) eller vid negativ
Föreläsning 6: Introduktion av listor
Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.
ANVÄNDARMANUAL. handdatorer i ängs- och betesmarksinventeringen. för
ANVÄNDARMANUAL handdatorer i ängs- och betesmarksinventeringen för Ändringshantering Ansvarig för dokumentet: Maria Hall Diemer Datum Ändring Ansvarig 2010-05-11 Dokumentet skapades (version 1.0.0) Edward
Programmeringsuppgifter 1
Programmeringsuppgifter 1 Redovisning: Ni demo-kör och förklarar för handledaren några av de program ni gjort. Ni behöver inte hinna allt, redovisa så långt ni kommit. Om ni hinner mer kan ni alltid redovisa
Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic
Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Inledning Starta Microsoft Visual Studio 2005. Välj create Project Välj VB + Vindows Application och välj ett nytt
ANVÄNDARMANUAL. handdatorer i ängs- och betesmarksinventeringen. för
ANVÄNDARMANUAL handdatorer i ängs- och betesmarksinventeringen för Ändringshantering Ansvarig för dokumentet: Maria Hall Diemer Datum Ändring Ansvarig 2010-05-11 Dokumentet skapades (version 1.0.0) Edward
TENTAMENSUPPGIFTER I ELEKTROTEKNIK
ELEKTROTEKNK Tentamen med lösningsförslag nlämningstid Kl: MASKKONSTRUKTON KTH TENTAMENSUPPGFTER ELEKTROTEKNK Elektroteknik Media. MF035 och 4F4 009 08 4.00 7.00 För godkänt fordras c:a 50% av totalpoängen.
GSM-RELÄ MED 2 INGÅNGAR, 2 UTGÅNGAR. 850/900/1800/1900 MHz. GSMS-SW22 Manual
GSM-RELÄ MED 2 INGÅNGAR, 2 UTGÅNGAR 850/900/1800/1900 MHz GSMS-SW22 Manual FJÄR R ST Y R T G SM -RELÄ ME D B R E T T A N V Ä N D INGSOM R Å D E Tillverkad i Sverige med svenska och icke-svenska komponenter
LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: 1.0 2013 (OS)
LABORATION DATORKONSTRUKTION TSEA83 UART Version: 1.0 2013 (OS) Namn och personnummer Godkänd 1 blank sida 2 Innehåll 1 Inledning 5 1.1 Syfte................................. 5 1.2 Förberedelser............................
Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i
Digitala Projekt (EITF11)
Digitala Projekt (EITF11) Temperaturgivare med larm Handledare: Bertil Lindvall 2014-05-20 Erik Hellered, I-11 Andreas Sjöblom, I-11 Philip Dahlström, I-11 Table of Contents Inledning... 1 Kravspecifikation...
Tentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
Programmeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga
Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll, 040110.
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Denna tenta kommer att vara färdigrättad On 14/1-04 och kan då hämtas på mitt
Den här texten ska förhoppningsvis underlätta en del av anpassningarna. Det kan säkert finnas en del fel och annat tok.
Ver Okt 2011/pls Windows7, GX-IEC Developer, USB-adapter I olika kurser i styrteknik på Högskolan Dalarna används ett styrsystem från Mitsubishi och programvaran GX-IEC Developer. Kurserna går på distans
Allt om datalogging och datakommunikation!
PLC8D:1 Allt om datalogging och datakommunikation! Data Logging Data Logging, HMI Tools File Transfer Elementär datakommunikation Elementär datakommunikation, E-Designer och Ethernet PLC8D:2 Data Logging
Modbus. Supportdokument. Lathund för att använda Modbus över RS XXX eller TCP/IP.
Supportdokument Modbus Lathund för att använda Modbus över RS XXX eller TCP/IP. Synpunkter, felaktigheter, önskemål etc. för dokumentet meddelas Fil: Malthe_LHA T_Modbus.docx Innehållsförteckning 1. Allmänt...
Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler
Exempeluppgift i Logikstyrning Inledning Idén med detta papper är att ge en allmän beskrivning av labbutrustningen och tips för hur man kan lösa olika praktiska problem i samband med laborationen. Läs
Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)
Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tid: Onsdagen 15 december 2004, 8:30 till 13:30 Plats: M Ansvarig lärare: Katarina Blom, tel 772 10 60. Läraren besöker tentamen kl
2E1112 Elektrisk mätteknik
2E1112 Elektrisk mätteknik Mikrosystemteknik Osquldas väg 10, 100 44 Stockholm Tentamen för fd E3 2007-12-21 kl 8 12 Tentan består av: 1 uppgift med 6 kortsvarsfrågor som vardera ger 1 p. 5 uppgifter med
Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa
Lena Kallin Westin 2005-08-22 Institutionen för datavetenskap Umeå universitet TENTAMEN Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa Inlämnad Poäng Kurs : Programmeringsteknisk
HF0010. Introduktionskurs i datateknik 1,5 hp
HF0010 Introduktionskurs i datateknik 1,5 hp Välkommna - till KTH, Haninge, Datateknik, kursen och till första steget mot att bli programmerare! Er lärare och kursansvarig: Nicklas Brandefelt, bfelt@kth.se
Manual Sportident Onlinekontroll via GPRS
Manual Sportident Onlinekontroll via GPRS 2012-07-10 Komponenter För att använda onlinekontroll över GPRS behövs dessa delar: GPRS låda (GPRS-modem med samlingsbox och batterier) Riktantenn med kabel (anslutes
Switch Driver 5. Programvara för Radio Switch, JoyBox och JoyCable. Sensory Software
Switch Driver 5 Programvara för Radio Switch, JoyBox och JoyCable. Sensory Software Innehållsförteckning Att använda programvaran Switch Driver... 3 Installera programvaran Switch Driver... 4 Kontaktanslutning...
Diagram. I detta kapitel lär du dig: m Diagrammets beståndsdelar. m Att skapa både inbäddat diagram och diagramblad. m Att ändra diagramform.
1 Diagram Med diagram kan du presentera information på ett effektivt sätt. Eftersom datan visas grafiskt så kan betraktaren ta till sig mycket information på en gång. Microsoft Excel har ett kraftfullt
Digitalt eller Analogt
Digitalt eller Analogt digitalt: q 0 255 q 7 q 6 q 5 q 4 q 3 q 2 q 1 q 0 1 ½ ¼ 1/8 1/16 1/32 1/64 1/128 eller analogt? q Digital style Old school Digital Analogomvandlare? b 7 b 6 b 5 b 4 b 3 b 2 b 1 b
LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen?
ICT LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen? Daniel Lindfors 12/9/07 dlindf@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Denna laboration
Rörlighetsträning. Rörlighetsträning och stretching. Vad är rörlighet och rörlighetsträning? Rörlighetsträningens olika metoder
Rörlighetsträning Rörlighetsträning och stretching All belastande träning bidrar till muskelstelhet. Tränar man inte rörlighet, kommer man bara bli stelare och stelare allt eftersom. Stelhet Bild: www.traningsgladje.se
Föreläsning 2: Avlusning och antilustekniker
2D1458, Problemlösning och programmering under press Föreläsning 2: Avlusning och antilustekniker Datum: 2007-09-11 Skribent(er): Emil Hesslow, Stefan Pettersson Föreläsare: Per Austrin Föreläsningen handlade
Skapa ett register över din grupp/klass
SYDSOL Handledning CW 2000-02-23 Skapa ett register över din grupp/klass Syfte: Att göra ett register i ClarisWorks och hantera olika informationer om en grupp/klass Pedagogens viktigaste uppgift är att
Decipher och Datataker DT100
Umeå Universitet Institutionen för tillämpad fysik och elektronik Anders Åstrand Decipher och Datataker DT100 Lathund Reviderad: 981217 A.Å 990406 A.Å 011119 AÅ Decipher och Datataker DT100 Detta är endast
Visual Basic, en snabbgenomgång
Visual Basic, en snabbgenomgång Variabler och Datatyper En variabel är som en behållare. Olika behållare passar bra till olika saker. I Visual Basic(härefter VB) finns olika typer av behållare för olika
Grundläggande programmering med C# 7,5 högskolepoäng
Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)
KARMATIC PROFILER 2000 Manual
KARMATIC PROFILER 2000 Manual Beskrivning Karmatic 2000.2 Instrument för rundhetsmätning av kommutator och släpringar. Mätnoggrannhet / repeterbarhet : 1,5 m förutom yttre störningar t.ex. vibrationer.
AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser
Namn: Laborationen godkänd: Digitala system 15 hp AVR 3 - datorteknik LTH Ingenjörshögskolan vid Campus Helsingborg Avbrott. Syften med den här laborationen är att introducera avbrott. Avbrott som uppkommer
Smart Rogic Manual. Robostick Manual
Smart Rogic Manual Robostick Manual Ladda ner Smart Rogic Programfönster Programmera 4 Kopiera / Klipp ut 5 Ta bort symbol 6 Ångra / Gör om 7 Funktion 8 Ta bort program 9 Anslut via Bluetooth 0 Överföra,
Svensk version. Inledning. Maskinvara. Installation i Windows 98SE. PU006 Sweex 2 Port Serial PCI Card
PU006 Sweex 2 Port Serial PCI Card Inledning Först och främst tackar vi till ditt köp av detta Sweex 2 Port Serial PCI Card. Med detta kort kan du enkelt lägga till två seriella portar till din dator.
Kanalprocessor T-05 / DIGITAL 5870
SE-1 040928 50010 Kanalprocessor FAKTA T-05 KANALPROCESSOR (DIGITAL) Bredbandig utgång 470 860 MHz AGC (automatisk förstärkningsreglering) Grannkanalduglig Programmerbar via extern programmerare eller
RealPresence Desktop 3.1
RealPresence Desktop 3.1 Arbetsplats: Länsteknik Sunderby Sjukhus Sida 2 (11) RealPresence Desktop Vi uppgraderar nu den befintliga klienten för videokonferens från CMA-Desktop till RealPresence-Desktop.
RealSimPLE: Pipor. Laborationsanvisningar till SimPLEKs pipa
RealSimPLE: Pipor Laborationsanvisningar till SimPLEKs pipa Vad händer när ljudvågor färdas genom ett rör? Hur kan man härma ljudet av en flöjt? I detta experiment får du lära dig mer om detta! RealSimPLE
Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik
Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 - Inbyggda system - Analog till digital signal - Utvecklingssystem, målsystem - Labutrustningen - Uppbyggnad av mikrokontroller - Masinkod, assemblerkod
Bruksanvisning DAB One
Bruksanvisning DAB One Var snäll läs igenom denna bruksanvisning, innan ni börjar använda er DAB One. Grattis till ditt val av DAB/FM mottagare. Vi hoppas att du kommer att ha många trevliga stunder framför
Innehållsförteckning. Figur- och tabellförteckning. Figure 1 Blockschema över hårdvaran...4 Figure 2 Blockschema över programet...
Abstract Syftet var att konstruera en väder station som håller koll på temperaturen. Huvudfunktionen var att få en grafisk visning av temperaturen över ett visst tidsintervall eftersom vi valde den grafiska
2. Hur tycker du att stämningen i sjuan i stort har förändrats under året glädje, trygghet, gemenskap och kommunikation?
1. Hur tycker du att det har varit att gå i sjuan som helhet? Gör ett omdöme som handlar om rolighetsgraden (hur kul det har varit) och ett omdöme som handlar om hur du upplever ditt lärande (hur mycket
Datorteknik. Tomas Nordström. Föreläsning 6. För utveckling av verksamhet, produkter och livskvalitet.
Datorteknik Tomas Nordström Föreläsning 6 För utveckling av verksamhet, produkter och livskvalitet. Föreläsning 6 Vad händer vid uppstart SoC och Kringkretsar, PIO Programmering i Assembler Lab2 genomgång
FÖRKORTA DIN VÄG PÅ BANAN
FÖRKORTA DIN VÄG PÅ BANAN Av Marie Hansson - Känns hunden för snabb? - Har du svårt att hinna dit du vill på banan? Själva kärnan i lösningen på problemet borde väl vara att förkorta din väg? Ju svårare
1 Skapa Tabell...2. 2 Skapa Relationer...20. 3 Redigera Relationer...24. 4 Redigera Fält i Tabell...26. 5 Lägga till Poster i Tabell...
Kapitel 5 Tabell 1 Skapa Tabell...2 1.1 Tabellfönstret... 4 1.2 Fältegenskaper... 8 1.3 Primärnyckel... 11 1.4 Spara Tabell... 12 1.5 Tabellguiden... 12 2 Skapa Relationer...20 3 Redigera Relationer...24
VIKTIGT: Funktionen för återuppladdning kan endast användas tillsammans med det specialdesignade batteripaketet.
Bruksanvisning UTTAG FÖR NÄTADAPTER LCD-SKÄRM HÖGTALARE MONITOR (AVLYSSNING) PÅ/AV UTTAG FÖR HÖRLUR ANTENN CALL MODE TALK /+ - Indikator för mottagning och sändning - Knapplås - Ringsignal - Anropsalarm
Laboration 2 Elektriska kretsar Online fjärrstyrd laborationsplats Blekinge Tekniska Högskola (BTH)
Laboration 2 Elektriska kretsar Online fjärrstyrd laborationsplats Blekinge Tekniska Högskola (BTH) Växelspänningsexperiment Namn: Elektriska kretsar Online fjärrstyrd laborationsplats Blekinge Tekniska
FLEXIT SPIRIT. Monteringsinstruktion
110980S-01 2011-05 ART. NR.: 110979 FLEXIT SPIRIT Monteringsinstruktion Trådlös tryckvakt för spiskåpa Trådlösa mottagare Puck, relä (På/Av) res Styrning via valfri sändare, t.ex WT-1/ WT-2 Timerfunktion
Omtenta, Programmeringsteknisk översiktskurs, VT06
Omtenta, Programmeringsteknisk översiktskurs, VT06 Datum: 2006-08-24 Tid: 9 15 Plats: ÖP1 Bokningsnummer: 86813 Hjälpmedel: Valfritt, anteckningar, kursbok, övriga böcker Poäng: 42 Betyg: G eller U. För
Objektorienterad programmering D2
Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste
Läs detta innan du fortsätter, eller skriv ut det, klicka runt lite och läs samtidigt.
Bruksanvisning Installera CubeBiz... 2 Välj språk... 2 När du vill köra testversionen i 15 dagar... 3 När du köper en CubeBiz-licens... 3 Registrera en giltig licensnyckel... 3 Starta ett nytt projekt...
Grunderna i stegkodsprogrammering
Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer
Beijer Electronics AB 2000, MA00336A, 2000-12
Demonstration driver English Svenska Beijer Electronics AB 2000, MA00336A, 2000-12 Beijer Electronics AB reserves the right to change information in this manual without prior notice. All examples in this
ÖVERFÖRING TILL UTFODRINGSUTRUSTNING. De Laval
ÖVERFÖRING TILL UTFODRINGSUTRUSTNING De Laval - Gamla Handdatorn - Handdator - Workabout - Direkt till vagn - Alpro 4.x samt 5.x - Alpro 6.x 2006-01-23 Hans Lindberg, Svenska Husdjur INNEHÅLLSFÖRTECKNING
Introduktion. Temperatursändarens finesser
Introduktion Gratulerar till köpet av denna fjärrstyrda temperaturstation med radio-kontrollerad tid. Att använda denna produkt är enkelt och okomplicerat, men var vänlig och läs denna bruksanvisning så
Digital Termometer J10 B4 A4 GND GND GND B1 GND GND GND GND B3 A3 +5V +5V A3 +5V A2 +5V +5V A2. +5v B16 A16 UREG UREG B1 6 AC AC A1 6 A6 6
Digital Termometer I den här uppgiften skall vi mäta temperaturen på ditt kaffe. Vi använder en termistor som temperaturkänslig givare och timerkretsen 555 som A/D omvandlare. Temperaturen presenterar
AM / FM Stereo Digital Radio 381RH13-A. Bruksanvisning PR-D7
AM / FM Stereo Digital Radio 381RH13-A Bruksanvisning S PR-D7 Viktiga säkerhetsinstruktioner 1. Läs denna bruksanvisning. 2. Spara bruksanvisningen för framtida bruk. 3. Följ alla varningsföreskrifter.
Svensk version. Inledning. Installation av maskinvara. Installation av Windows XP. LW057V2 Sweex trådlösa LAN PCI-kort 54 Mbps
LW057V2 Sweex trådlösa LAN PCI-kort 54 Mbps Inledning Utsätt inte det trådlösa LAN PCI-kortet 54 Mbps för extrema temperaturer. Placera inte enheten i direkt solljus eller nära värmekällor. Använd inte
Instuderingsfrågor ETS052 Datorkommuniktion - 2014
Instuderingsfrågor ETS052 Datorkommuniktion - 2014 October 13, 2014 Fråga 1. Beskriv de två komponenterna i PCM. Fråga 2. Förklara hur länklagret kan skilja på olika inkommande paket från det fysiska lagret.
Komma igång med E-Line RIO
Supportdokument Komma igång med E-Line RIO Synpunkter, felaktigheter, önskemål etc. för dokumentet meddelas Fil: Malthe_Suppo_Ladda upp filer från.docx Innehållsförteckning 1. Allmänt... 2 2. Systen setup...
ThinkPad G40-serien Installationsanvisningar
PN: 92P1526 ThinkPad G40-serien Installationsanvisningar Packlista Tack för att du valt att köpa en IBM ThinkPad i G40-serien. Kontrollera att allt som står i den här listan finns med i förpackningen.
Tentamen i Krets- och mätteknik, fk - ETEF15
Tentamen i Krets- och mätteknik, fk - ETEF15 Institutionen för elektro- och informationsteknik LTH, Lund University 2015-10-29 8.00-13.00 Uppgifterna i tentamen ger totalt 60. Uppgifterna är inte ordnade
(Lösningsförslag finns sist i denna fil.)
(Lösningsförslag finns sist i denna fil.) Läser externa signaler. Har 64 ingångar (kanaler), från 0 till 63. Kan bara avläsa en ingång i taget. Avlästa värdet positivt 16-bitars tal. Varje läsning tar
Snabbmanual IC-PCR100.
SÅ / SRSAB / 011116 Snabbmanual IC-PCR100. Allmänt om denna snabbmanual: Styrprogrammet till IC-PCR100 använder höger och vänster musknapp för att vrida på rattar i multifunktionsskärmen, och för att visa
Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll 2010-04-22
Översikt 732G11 PROGRAMMERING 1 Institutionen för datavetenskap Om kursen Vad är programmering (bra för)? Programmeringsspråket Java Utvecklingsmiljön Eclipse Genomgång av några programexempel Programmering
VIKTIG INFO GÄLLANDE OMKOPPLINGEN TILL DET ÖPPNA NÄTET
VIKTIG INFO GÄLLANDE OMKOPPLINGEN TILL DET ÖPPNA NÄTET Installation av hemmaswitch Vi har/kommer att installera en hemmaswitch hos dig, den ser ut som på bilden här intill. När omkopplingen till Open Universe
Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.
Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär
SafetyMOB. Installations och användarmanual för. trådlöst nödstopp - dödmansgrepp. SafePort Marine. Dokument: SM_UM_sv Version: 2014-09-25
Installations och användarmanual för SafetyMOB trådlöst nödstopp - dödmansgrepp Dokument: SM_UM_sv Version: 2014-09-25 SafePort Marine email: info@safeportmarine.se tel: +46 8 501 64 306 www.safeportmarine.se
Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012
1 of 6 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen
Uppgift 1 (Oläsliga krypterade meddelanden)
Uppgift 1 (Oläsliga krypterade meddelanden) Ofta vill man kryptera text för att inte andra skall se vad man skrivit. I den givna filen KRYPTERAD_TEXT.TXT finns en krypterad text som kan vara av intresse
3. Tomma batterier ska tas ur Pulse Sonic och kastas på ett lämpligt sätt.
Pulse Sonic Tack för att ni valde Pulse Sonic som er personliga tränare. För att få ut det mesta möjliga av eran apparat, var vänlig och läs instruktionerna noggrant, kasta inte bort dem, utan spara dem
Studentguide Adobe Connect Pro
Studentguide Adobe Connect Pro 2009-11-10 Inloggning För att vara med i ett möte behöver du inte installera någon programvara utan allt som behövs på din dator är Adobe Flash Player. Det programmet finns