Elektro och Informationsteknik LTH. Laboration 2 Elektronik för D ETIA01

Save this PDF as:
 WORD  PNG  TXT  JPG

Storlek: px
Starta visningen från sidan:

Download "Elektro och Informationsteknik LTH. Laboration 2 Elektronik för D ETIA01"

Transkript

1 Elektro och Informationsteknik LTH Laboration 2 Elektronik för D ETIA01 Anders J Johansson Lund Juni 2008

2 Laboration 2 Vi kommer att använda en liten robot, se figur 1, under laborationerna i ETIA01. Det är en Boe-Bot, en tvåhjulig robot som är framtagen för undervisningsbruk. Den kontrolleras av en mikrokontroller, en BASIC Stamp, vilken i sin tur programmeras i Basic. Under denna laboration skall vi titta på hur signalerna ut från mikrokontrollern ser ut, och då speciellt de som styr de två motorerna som är kopplade till robotens hjul. För att kunna göra detta måste vi först bekanta oss med ett par av de mätinstrument som vi har i labbet. Figur 1. Roboten Boe-Bot. Fram på roboten är till höger. På de senare laborationerna kommer vi att titta på hur vi kan koppla mikrokontrollern till omvärlden, Vi kommer inte att programmera den, utan kommer att använda oss av färdiga program vid varje laboration. Dessa program kommer att finnas tryckta sist i labbhandledningarna.

3 Boe-Bot Laborationerna i ETIA01 kommer att använda en robot med inbyggd mikrokontroller som centralt studieobjekt. Denna robot heter Boe-Bot, vilket står för Board Of Education robot. Den är framtagen för undervisningsändamål, och har en BASIC Stamp som mikrokontroller. Mer info om Boe-Bot och BASIC Stamp finns på tillverkarens hemsida, A B C D E F G H I K Figur 2. Boe-Bot robotens styrkort. A: Batterianslutning, B: Spänningsregulator 5V, C: Motorkontakter, D: Kopplingslist för matningsspännig, E: Kopplingslist för signaler till och från BASIC Stamp, F: USB interface, G: BASIC Stamp mikrokontroller, H: Strömbrytare samt reset-knapp, I: Kopplingslist för signaler till och från BASIC Stamp, K: Kopplingsplatta På Boe-Bot-roboten finns ett styrkort, se figur 2. På detta kort sitter mikrokontrollern (2G), vilken programmeras via USB-interfacet (2F). För att slå på och av roboten finns en strömbrytare (2H). Denna har tre lägen: 0 är helt avstängd, i läge 1 startas mikrokontrollern men inte motorerna, och i läge 2 fortsätter mikrokontrollerna att gå samtidigt som även motorerna får drivspänning. Observera att styrsignalerna till motorerna skickas ut även i läge 1. In och utsignaler från mikrokontrollern finns tillgängliga på kopplingslister (2E, 2I). Det finns även en kopplingsplatta (2K) där man kan bygga upp egna kretsar. Hålen på denna platta är elektriskt förbundna fem och fem i rader, på det sätt som är markerat nere till höger i figuren. Ovanför kopplingsplattan

4 finns en kopplingslist (2D) där man kan koppla in sig på batterispänningen (Vin), reglerad drivspänning till mikrokontrollern (Vdd) och jord (Vss). Spänningsregulatorn (2K) anpassar spänningen från batteriet till lämplig nivå (5V) för mikrokontrollern. Det finns även anslutningskontakter (2C) för motorer. Dessa har vars tre stift, reglerad spänning Vdd, jord Vss och styrsignal. De två motorer som är anslutna styrs av signalerna P12 och P13, vilka även finns tillgängliga på listerna (2E) och (2I). Resetknappen (2H) startar om programmet i mikrokontrollern. Var försiktiga när ni kopplar in saker i roboten det är lätt att kortsluta en utgång, vilket kan leda till att roboten går sönder. Slå på strömbrytaren först när ni noggrant kontrollerat att allt är rätt kopplat!

5 Multimeter Figur 3. Multimeter Med de multimetrar vi har på labben, figur 3, så kan vi mäta spänning, ström och resistans. I fallen med spänning och ström så kan vi välja att antingen mäta DC-nivåer, direct current, dvs. likström och likspänning, eller AC, alternating current, dvs. växelspänning och växelström. AC-mätningarna är bara korrekta om vi mäter på en sinusformad signal, och bara om frekvensen hos signalen är under 1 khz. (För den multimeter ni fick i ELFA-kittet så gäller det att signalen måste vara sinusformad och mellan 40 Hz och 400 Hz.) Vi kommer att närmare gå igenom AC-mätningar senare i kursen. Tänk på att det är olika anslutningar på multimetern som skall användas då vi mäter spänning eller ström. Detta eftersom vi vill påverka kretsen vi mäter på så lite som möjligt, och detta gör vi om vi har en hög inre resistans i multimetern vid spänningsmätning, och en låg vid strömmätning.

6 Funktionsgenerator Figur 4. Funktionsgeneratorn En funktionsgenerator kan ge en utsignal som varierar med tiden. Vanligen ger den en signal som är periodisk, dvs. upprepar sig med en bestämd frekvens. Den funktionsgenerator vi har på labbet, figur 4, kan ge periodiska signaler med olika vågformer: sinus, triangel och fyrkant. När en fyrkantvåg har en hög nivå lika länge som den är låg, så är den symmetrisk och kallas ideal fyrkantvåg. På funktionsgeneratorn kan frekvensen för vågen ställas in med hjälp av ett par knappar som väljer frekvensområde samt en ratt. Vi kan även variera amplituden, dvs. maximala spänningen på signalen, med reglagen i rutan OUTPUT. Detta dels genom en volymkontroll märkt amplitude, dels genom ett antal fasta dämpare, graderade i db. Ratten DC-offset gör att vi kan välja om signalen skall variera runt 0 volt, eller vara symmetrisk runt en annan spänningsnivå genom att variera mellan en negativ och en positiv potential. Vut ( dbdämpning ) = 20log Vin db dämpning Vut /Vin Om man vill skapa en våg som inte är symmetrisk, t.ex. som är hög längre tid än den är låg, kan man använda ratten märkt symmetry. Detta kallas för att man ändrar signalens duty cycle, och det mäts vanligen i %. 100% duty cycle innebär att signalen är hög hela tiden, se figur 5. Signalens medelvärde ändras också med olika duty cycle, vilket används i en del tillämpningar som switchade spänningsaggregat.

7 9T/10 T/10 90% T/2 T/2 50% T/10 9T/10 10% Figur 5. En fyrkantvåg med olika duty-cycle. Funktionsgeneratorn kan även ge ut en signal som varierar i frekvens, där den sveper från en låg frekvens till en hög via kontrollerna i rutan sweep. Signalamplituden kan också kontrolleras från en yttre spänningskälla, detta kallas att amplitudmodulera signalen, och görs via reglagen i rutan AM MOD.

8 Oscilloskop Figur 6. Oscilloskop Med ett oscilloskop, figur 6, så kan vi mäta hur en signal varierar över tiden. Oscilloskopet ritar en linje på skärmen, se figur 7, genom att svepa med en lysande punkt med en konstant hastighet i horisontell led, dvs. i x-led. Därmed blir detta en tidsaxel. Punktens position i vertikalt led, dvs. i y-led, beror på insignalens spänning. Vi får på detta sätt en kurva på skärmen som visar hur signalens spänning varierar över tiden. Hastigheten i x-led bestäms av tidbasen. På det oscilloskop som vi använder på laborationerna så kallas denna för Main Time Base, MTB. Det finns en vippknapp med vilken man kan ställa in hastigheten. Knappen är graderad s på vänster sida för sekund och μs på höger sida för mikrosekund. Det vi ställer in är hur lång tid det tar för punkten som ritar upp linjen på skärmen att förflytta sig en ruta åt höger. Figur 7. Oscilloskopskärmen

9 Oscilloskopet har två kanaler, A och B, vilka dels har ett par egna reglage, samt ett par gemensamma. Det vi ställer in för de två kanalerna är hur mycket punkten skall flytta sig i höjdled beroende på insignalen, dvs. hur många volt varje ruta i y-led på skärmen skall motsvara. För att göra detta så har vi först en vippknapp, med vilken vi kan välja att kunna visa större variationer, V, eller mindre, mv. Det går att ställa in oscilloskopet så att varje ruta motsvarar mellan 10 V och 2 mv. Uppe till höger finns också två rattar per kanal. Den första är märkt VAR, och är en steglös förstärkare som gör att vi kan anpassa signalens utseende på skärmen. Lägg dock märke till att om vi skall mäta signalens nivå genom att titta på rutnätet på skärmen så måste denna ratt stå i det kalibrerade läget, CAL. Med nästa ratt, POS, kan vi justera läget i y-led för det vi ser på skärmen. Det finns nämligen ingen absolutkalibrering av skärmen, vi kan själva välja vilken horisontell linje vi vill skall motsvara 0V. Detta är t.ex. praktiskt om vi skall mäta på negativa signaler. För att underlätta denna inställning så finns det en knapp per kanal som heter GND. Om denna trycks in så jordas oscilloskopets ingång internt, och linjen som ritas på skärmen är exakt 0V. Med hjälp av POS-reglaget kan nu denna linje läggas på lämpligt ställe på skärmen. Vi kan även välja att AC eller DC-koppla oscilloskopet. Med DC-koppling tittar vi på signalens hela nivå, dvs. likspänningsdelen (DC), och med AC-koppling tittar vi bara på den nivå som ändrar sig, dvs. dess växelspänningskomponent (AC). Detta illustreras i figur 8. Om vi i detta fall har oscilloskopet DC-kopplat blir det svårt att se variationen över tiden, eftersom denna är så mycket mindre än likspänningskomponenten. När vi AC-kopplar oscilloskopet så tar vi bort likspänningsdelen, och kan då förstora den delen av signalen som varierar, dvs. växelspänningsdelen. Figur 8. Skillnaden mellan ett DC- och AC-kopplat oscilloskop. Med hjälp av knappen A/B så kan vi välja vilken av kanalerna vi vill titta på, eller om vi vill titta på bägge samtidigt. Med knappen ALT/CHOP så kan vi i det senare fallet välja hur de två kanalerna skall visas: antingen så ritas först linjen för kanal A och sedan linjen för kanal B vid läget ALT, eller så ritas små bitar av de två linjerna omväxlande, vid

10 läge CHOP. Dock så missar man då också små bitar av signalen, eftersom oscilloskopet bara kan rita på en linje i taget. Observera att det bara är i läget CHOP som man kan se hur två signaler förhåller sig till varandra över tiden, då det bara är i det läget som man ritar kurvorna samtidigt. Oscilloskopet ritar en stabil bild av väldigt snabba växelspänningssignaler genom att den ritar samma sak om och om igen på exakt samma ställe. Det är därför viktigt att den börjar sitt svep från vänster till höger på exakt samma ställe i signalen varje gång. Detta hanteras av den så kallade triggern. Triggern är en krets som tittar på nivån av insignalen, och startar svepet från vänster till höger då insignalen har exakt en viss nivå. Detta gör den antingen om insignalen passerar nivån på väg från en lägre nivå till en högre, kallat positiv flank, eller tvärtom, kallat negativ flank. På oscilloskopet kan man välja vilken av de två kanalerna som triggern skall lyssna på genom knappen TRIG or X_source. Om den skall trigga på positiv eller negativ flank väljs med knappen till höger om denna. Nivån som trigg-kretsen skall reagera på ställs in med ratten LEVEL MTB. Andra reglage som det är bra att känna till är: På vänster sida om skärmen INTENS punktens ljusstyrka FOCUS punktens fokus, hur liten den är. ILLUM belysning av rutnätet på skärmen På höger sida av skärmen AUTO SET Nollställer alla inställningar och försöker ställa in oscilloskopet så att man ser insignalen eller signalerna på skärmen. TB MAG När man trycker in denna så går svepet 10 gånger så fort, och får alltså inte längre plats på skärmen. Med hjälp av X-pos-ratten kan man välja viken del av kurvan man vill titta på. På detta sätt så kan man förstora kurvan i x-led då man vill titta på snabba förlopp. I appendix finns en kort översikt av de vanligaste reglagen ni behöver använda på labben.

11 Prob Ofta när vi mäter med ett oscilloskop vill vi mäta vad som händer mitt inuti en krets. Till vår hjälp har vi då mätproben, se figur 9, med vars hjälp vi kan mäta spänningar inuti en krets och samtidigt påverka den så lite som möjligt. Proben består av en mätspets, ibland försedd med en fjäderbelastad klo, och en sladd med en krokodilklämma för jordanslutning. Det är mellan dessa två som vi mäter en spänning. Lägg märke till att alla jordanslutningar är ihopkopplade inuti oscilloskopet, dvs. när man mäter på två kanaler samtidigt så måste detta ske med en gemensam jordpunkt. Jordklämmorna på de två proberna sitter alltså kopplade i samma nod inuti oscilloskopet. Figur 9. Oscilloskop-prob med jordanslutning. Proben innehåller en anpassningskrets som är justerbar. Man kan kontrollera om denna är rätt justerad genom att ansluta proben till den kalibreringsutgång som finns längst ner till vänster på oscilloskopet. Signalen på skärmen skall då se ut som på figur 10.b. Själva proben dämpar signalen 10 gånger, så den faktiska spänning som oscilloskopet mäter är bara en tiondel av den som finns vid probens spets. De oscilloskop som vi använder på laborationerna känner av att proben är ansluten och kompenserar automatiskt för detta och visar ändå rätt värde. Detta ger att med proben ansluten så går det att ställa in känsligheten mellan 20 mv och 100 V per ruta. Figur 10. Kalibreringssignalens utseende på skärmen vid olika fall av kompensering.

12 Stigtid och falltid Figur 11. Definitioner på stigtid och falltid hos en puls. En fyrkantvåg kommer inte att se ut som en exakt fyrkantig puls på oscilloskopskärmen. Detta eftersom det inte är möjligt att generera omedelbara hopp i spänning, det tar alltid en viss tid att ändra en spänningsnivå. Denna tid kan vi mäta med ett oscilloskop. Det vi då mäter är stigtid respektive falltid. Dessa är definierade som den tid det tar att gå från 10% av maxvärdet till 90% av detsamma, se figur 11. På oscilloskopskärmen finns dessa två nivåer markerade, om man ställer in bilden så att steget går från den nedre streckade linjen till den övre streckade linjen, se exempel i figur 12. Figur 12. Exempel på mätning av stigtid.

13 Uppgifter Kom ihåg att anteckna era mätningar och observationer så att ni har dem tillgängliga när ni skall skriva rapport! Uppgift 1 Testa oscilloskopet genom att koppla in det till funktionsgeneratorn. Ställ in generatorn på 10 khz fyrkantvåg, symmetrisk, och med ingen av dämpsatserna intryckta. Ställ amplitudkontrollen i mittläget Justera oscilloskopet så att kurvan syns tydligt på skärmen. Mät och anteckna frekvens, amplitud och pulstid. Mät även stigtiden, dvs. tiden det tar för signalen att gå från låg till hög nivå. Låt labbkompisen ställa om generatorns frekvens slumpmässigt och ställ själv in oscilloskopet så att du kan se kurvan igen och berätta vilken frekvens det är - utan att använda Auto Set! Byt roller och gör om samma sak. Titta även på de andra vågformerna, triangelvåg och sinusvåg. Uppgift 2 Starta roboten genom att ställa dess strömbrytare i läge 2 och tryck på resetknappen en gång. Anteckna vad den gör. Åt vilket håll snurrar motorerna - samma eller olika? Sett från roboten eller från motorn? Uppgift 3 Mät de två olika spänningskällorna som är tillgängliga i Boe-Bot vid kopplingsbordet med multimetern. Dessa är dels den reglerade konstanta spänningen Vdd-Vss samt batterispänningen Vin-Vss. Börja med att koppla in korta sladdar till Vss (jord) och Vdd (plus). Sätt robotens strömbrytare i läge 1. Mät och anteckna spänningen mellan Vdd och Vss. Var noga med att sladdarna inte får komma i kontakt med varandra och orsaka kortslutning! Flytta sladden från Vdd till Vin och mät också spänningen direkt från batteriet. Uppgift 4 Koppla in proben och kontrollera att den är kalibrerad. (Detta måste alltid göras innan man använder en prob tillsammans med ett oscilloskop.) Uppgift 5 Mät Vin med hjälp av oscilloskopet. Sätt roboten i lägen 2 (håll upp den så att den inte kör iväg) och studera spänningens utseende. AC-koppla oscilloskopet och studera vad som händer då ni växlar mellan läge 1 och 2. Mät samma sak på Vdd. Vdd är den stabiliserade spänningen, Vin är spänningen från batterier. Gör spänningsregulatorn någon nytta, är Vdd mer stabil än Vss? Anteckna resultatet av mätningarna.

14 Uppgift 6 Sätt robotens strömbrytare i läge 0. Koppla in en kort jord-sladd i Vss och andra sladdar i P13 och P12. Ställ sedan robotens strömbrytare i läge 1 och mät de två signalerna i P12 och P13. Signalen i P12 går till höger motor, och signalen i P13 går till vänster. Mät och anteckna: frekvens, amplitud, pulsbredd. Vad är lika mellan de två signalerna? Vad är olika? Hur verkar pulsbredd vara relaterat till rotationshastighet? Uppgift 7 Sätt robotens strömbrytare i läge 1. Programmera om roboten genom att trycka ner resetknappen två (2) gånger efter varandra. Mät pulsbredden hos signalerna P12 och P13, och förutsäg vad roboten kan förväntas att göra nu. Uppgift 8 Sätt strömbrytaren i läge 2 och se vad roboten gör. Uppgift 9 Sätt robotens strömbrytare i läge 1. Programmera om roboten genom att trycka ner reset-knappen tre (3) gånger efter varandra. Mät pulsbredden hos signalerna P12 och P13, och skriv ner vad roboten kan förväntas att göra. Uppgift 10 Sätt strömbrytaren i läge 2 och se vad roboten gör. Hur är pulsbredden relaterad till rotationsriktningen? Se till att ni har antecknat era mätningar och observationer så att ni kan skriva en rapport på detta sedan! Visa era resultat för labbhandledaren innan ni lämnar labben!

15 Appendix A

16 Appendix B Figur 12. Kopplingsschema för Boe-Bot.

17 Appendix C BASIC Stamp program för Boe-Bot. ' ========================================================================= ' ' File... Labb2_ETIA01_2008.bs2 ' Purpose... Test sequences for Labb exercise 2 in ETIA01, 2008 ' Author... Anders J Johansson, LU ' Started January 2008 ' Updated... ' ' {$STAMP BS2} ' {$PBASIC 2.5} ' ' ========================================================================= ' [ Program Description ] ' Detta program genererar olika sekvenser av styrsignaler till Boebot-robotens motorer. ' För att starta de olika delprogrammen så trycks resetknappen in en, två eller tre gånger i snabb följd. ' [Variable declaration]----- i VAR Word 'Räknare för att starta rätt subrutin ' [EEPROM data] 'Nollställ räknaren för antal tryck på reset-knappen '=================[Program starts here]============= READ 576, i WRITE 576, i + 1 'Öka antal knapptryck med 1 PAUSE 1000 'Vänta 1 sekund för att ge tid att rycka på knappen igen WRITE 576, 0 'Nollställ räknaren innan programmet körs SELECT i 'Beroende på antal knapptryck välj subrutin nedan, 'subrutiner går i oändliga loopar. CASE 0 'Ett knapptryck DO PULSOUT 12, 760 'Puls till höger motor PULSOUT 13, 800 'Puls till vänster motor PAUSE 20 'Paus för att ge rätt pulsfrekvens LOOP CASE 1 'Två knapptryck DO PULSOUT 12, 750 'Puls till höger motor PULSOUT 13, 750 'Puls till vänster motor PAUSE 20 'Paus för att ge rätt pulsfrekvens LOOP CASE 2 'Tre knapptryck DO PULSOUT 12, 700 'Puls till höger motor PULSOUT 13, 800 'Puls till vänster motor LOOP 'Paus för att ge rätt pulsfrekvens ENDSELECT END