Enchipsdatorer med tillämpningar LABORATION 7, ROBOT



Relevanta dokument
Enchipsdatorer med tillämpningar LABORATION 6, ROBOT

Systemkonstruktion SERIEKOMMUNIKATION

LABORATION PIC-PROGRAMMERARE

PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION

Systemkonstruktion LABORATION REALTIDSPROGRAMMERING

INGENJÖRSHÖGSKOLAN INGENJÖRSHÖGSKOLAN

Föreläsningsanteckningar till Konstruktionsmetoder

Systemkonstruktion LABORATION LOGIK

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

William Sandqvist

'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ

Laborationshandledning

Tentamen i Digitalteknik 5p

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

(2B1560, 6B2911) HT08

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

Laborationshandledning för mätteknik

Laborationshandledning

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning...

SKAPA DET FÖRSTA PROJEKTET I mikrobasic PRO for AVR

OMRON. PLC till PLC kommunikation (CP1L-E) Ethernet. 22 april 2014 OMRON Corporation

Ansvarig lärare: Olof Andersson, Telefon (besöker skrivsalen)

LABORATION. Datorteknik Y

SKAPA DET FÖRSTA PROJEKTET I mikrobasic PRO for PIC

Digitala projekt rapport

Laborationshandledning för mätteknik

Datakommunikation med IR-ljus.

LABORATIONSINSTRUKTION

LABORATIONSINSTRUKTION

Datorprojekt, del 1. Digitala system 15 p

Experiment med schmittrigger

DIGITALTEKNIK I. Laboration DE1. Kombinatoriska nät och kretsar

Tentamen den 21 oktober TEL102 Inledande elektronik och mätteknik. TEL108 Introduktion till EDI-programmet. Del 1

Tentamen Enchipsdatorer med tillämpningar. Lösningar och kommentarer

Elektro och Informationsteknik LTH. Laboration 6 A/D- och D/A-omvandling. Elektronik för D ETIA01

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

Q64AD, Q68ADV/ADI, analoga ingångsmoduler KI00105E

Schemaunderlag för Programmering, grundkurs (TDDB18)

HF0010. Introduktionskurs i datateknik 1,5 hp

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

Laborationshandledning

A-del motsvarande KS1

Teori Se din kursbok under avsnitt PID-reglering, Ziegler-Nichols metod och olinjära system (avsnitt 7.7 i Modern Reglerteknik av Bertil Thomas).

Office 365 Kompetens 2014 / MB

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

Besvara de elektroniska frågorna (se kurshemsidan). Läs kapitel i kursbok

LABORATIONSINSTRUKTION

Lunds Universitet LTH Ingenjörshögskolan IDa1, IEa1 Helsingborg. Laboration nr 4 i digitala system ht-15. Ett sekvensnät. grupp. namn.

TENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor. Maxpoäng:

Labrapport: Programmering i NXC Programmera LEGO Maindstorm med NXC

Laboration D184. ELEKTRONIK Digitalteknik. Sekvensnät beskrivna med VHDL och realiserade med PLD

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

Objektorienterad Programmering (TDDC77)

Tentamen PC-teknik 5 p Lösningar och kommentarer

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

DIGITALTEKNIK. Laboration D164. Logiska funktioner med mikroprocessor Kombinatoriska funktioner med PIC16F84 Sekvensfunktioner med PIC16F84

3-veckorskontroll i itslearning

Design av inbyggda system

Realtidsprogrammering. En introduktion Implementering (med exempel från PIC)

Att läsa en manual. Exempel Timern ECT_16B8C. Läs den allmänna beskrivningen (Overview) Vi ser att grundfunktionen är en räknare med prescaler

Du har följande material: 1 Kopplingsdäck 2 LM339 4 komparatorer i vardera kapsel. ( ELFA art.nr datablad finns )

Innehåll i detta dokument

Office 365 MB. Innehåll. Inledning / Inställningar Outlook (e-post) Kalender Personer (kontakter)... 5 OneDrive molnet... 5.

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

Systemkonstruktion LABORATION SWITCHAGGREGAT. Utskriftsdatum:

Digitalteknik: CoolRunner-II CPLD Starter Kit Med kommentarer för kursen ht 2012

4 Laboration 4. Brus och termo-emk

Automation Laboration: Överföring över PROFIBUS

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

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

PIC-projekt: Kodlås till dörr

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor

Design av inbyggda system

Laboration 1: Styrning av lysdioder med en spänning

Datorteknik TSIU02 Kursinformation

Anders Arvidsson ROBOTBESKRIVNING. Roboten på bilden är extrautrustad

Ellära. Laboration 2 Mätning och simulering av likströmsnät (Thevenin-ekvivalent)

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

Applikationsexempel Timer med tryckknapp

Processprogrammering och operativsystem Introduktion. Kursinformation. Varför operativsystem?

Kursplanering för Mikrodatorteknik 4p/5p

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

Projektlaboration 4, synkronisering av klockan

Studentmanual (Bb Learn )

LABORATIONER I STYRTEKNIK. Grundläggande PLC- programmering

Design vid utveckling av inbyggda system

PNSPO! Tips! CP1W-AD och DA. 14 mars 2012 OMRON Corporation

Verktygen i Fronter, för lärare

Rullningslisten. Klicka på rullningslistpilar (pil upp eller pil ner) 1 för att förflytta dig i önskad riktning, en liten bit i taget.

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

Datorsystemteknik DAV A14 Föreläsning 1

LABORATION. Datorteknik Y

Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot

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

PROJEKT LJUD. KOPIERINGSUNDERLAG Martin Blom Skavnes, Staffan Melin och Natur & Kultur Programmera i teknik ISBN

Introduktion till E-block och Flowcode

Sammanfattning av hantering av redovisning av uppgift U1

Datorteknik 1 (AVR 1)

Robotfotboll med Arduino

Inlämningsverktyget i Fronter för lärare

Transkript:

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-05-14 Laboranter:

1 Syfte Denna laboration syftar till att introducera interrupt och watchdog i PIC-processorern. Även processorn PIC16F877 kommer att presenteras. (877:an ingår inte i tentan, men många delar gemensamma med 84:an). Efter laborationen förväntas studenten bl a kunna konfigurera interrupt för att åstadkomma en exakt timing. Förutom de nya momenten som nämnts ovan ska laborationen ge studenten möjlighet att ganska fritt öva olika moment. Försök därför välja en lösning där sådant du tycker är besvärligt och vill öva mer på ingår. På tentamen förväntas du kunna skriva små program för båda processorena och använda de flesta tekniker om gåtts igenom i kursen. Laborationen ger också möjlighet att t ex testa att använda EEPROM dataminne för att spela in ett rörelseschema (avancerad uppgift ). Till tentan förväntas studenten kunna använda samtliga delar av 84:an och 705:an m h a datablad vilka bifogas som hjälpmedel. Repetera gärna 705:an genom att t ex lägga till en funktion i en tidigare lab. Då detta är sista laborationen testas studentens förmåga att lösa ett praktiskt problem med enchipsdatorn. Förutom en del restriktioner får studenten fritt strukturera uppgiften och välja lösning. 2 Genomförande Hela laborationen utförs i MPLAB. Datablad mm finns på kursens hemsida. Laborationen är uppbyggd som en mindre projektuppgift där lösning kan väljas ganska fritt, förutsatt att vissa grundkriterier uppfylls. Det är ytterst lämpligt att åtminstone ha ritat schema för maskinvaran och flödesschema för programvaran före laborationstillfället. Kopplingen byggs på labdäck GL-24 eller de röda kopplingsdäcken. Till roboten ansluts endast logiksignalerna till servona (M1 M4) och jord. Roboten drivs med en egen transformator så +5V i kopplingsplinten på roboten är en utgång! Denna ska ej användas! Redovisning sker genom att laboranten visar upp resultatet för laborationsansvarig. Koderna sparas i filer med namnen lab7_namn1_namn2.705 respektive lab7_namn1_namn2.asm. Skriv även fullständiga namn i filerna. Filerna kopieras till laborationsansvariges diskett vid redovisning. Om laborationen inte godkänns senast veckan efter tentaveckan lämnar gruppen istället in en skriftlig rapport med koder och kommentarer enligt labrapportmall. Det ska även finnas text som beskriver uppgift och tankegång, samt ett schema som besktiver kopplingen. Koderna (med namn enligt ovan) ska även skickas till laborationsansvarig med e-post. 2

3 PIC16F877 877:an innehåller allt som finns i F84an, men utöver det också en mängd andra periferienheter och register. Det man behöver tänka på när man lägger in kod och funktioner från 84:an i 877:n är främst att register och dataminne kan ligga på andra adresser. RAM är också fördelat på flera banker så bankbitarna måste vara rätt satta när man accessar en variabel. Dessutom måste A/Domvandlaren konfigureras även om PORTA ska användas som en digital port. 3.1 Databladet Plocka fram databladet för 877:an, antingen i pärmen eller på kursens hemsida. Skumma igenom första sidan så du får en grov uppfattning om processorn. Studera även blockschemat ca sex sidor längre bak. (Observera att det finns ett schema även för andra varianter.) Hur mycket programminne, dataminne och EEPROM har 877:an? Ögna igenom beskrivningen av pinnarna och bläddra vidare till Data Memory Orgaisation. Läs på om bankbitarna och studera sedan Register File Map. På vilken adress börjar dataminnet (GPR)? 3.2 Exempelprogram På kurshemsidan finns ett exempelprogram för 877an. Spara detta i en lämplig mapp och skapa ett nytt projekt i MPLAB. Testa att programmet går kompilera. Studera sedan beskrivningen längst upp i koden så du ser vad programmet gör. Kolla också igenom koden så du ser hur uppgiften är implementerad. Vad programmet har för praktisk funktion blir tydligare i nästa avsnitt. Tanken är att programmet ska vara så skrivet att du inte behöver kunna mycket om 877:an för att t ex kunna använda A/D-omvandlarrutinen i ett helt annat sammanhang. Vid programmering av chippet används nedanstående inställningar. 3

4 Robot LABORATION 7, Robot En robotarm ska styras med hjälp av pulser till ett servo. Pulserna ska genereras med 20 ms mellanrum och vara 1 2 ms långa. Se i bilagan hur detta påverkar respektive robotarms läge. En operatör ska med två joystickar kunna styra robotarmen till önskat läge och t ex kunna flytta ett mindre föremål mellan olika platser. (Varje joystick innehåller två potentiometrar.) 4.1 Konstruktionsbeskrivning Att skapa pulser med varierande varaktighet med jämna mellanrum kan vara ganska bevärligt i en processor med bara en timer. 84:an ska därför kompletteras med en 877:a som läser in och behandlar information om robotarmens position, samt genererar periodtiderna. Var 5:e ms skickar denna processor information om respektive robotarmens önskade läge till PIC-processorn, som genererar en puls till rätt servo med lämplig längd. Varje servo kommer alltså pulsas var 20:e ms. 4.1.1 Kriterier Användargränssnittet består av joystick, potentiometer eller knappar. PIC-processorn ska generera servopulsen (1-2 ms) i en interruptrutin som aktiveras av 877:an. PIC-processorn använder alltså extern pinne som interruptkälla. Watchdog (i PIC) ska vara aktiv och får inte resettas av interruptrutinen. Robotarmens läge ska kunna bestämmas med en upplösning av minst 80 steg. 877:an ska ges någon ny funktion jämfört med exempelprogrammet, t ex en lysdiod som visar när en A/D-ingång passerat ett visst värde, men testa gärna något mer. Tillägg och ändringar ska beskrivas i programkoden på avsedd plats. 4.1.2 Konstruktionstips Då 84:an har lite begränsat med I/O kan 7 bitar räcka för att föra över positionen från 877:an. Man kan även låta 877:an räkna om värdet före överföring till något som passar 84:ans timer. Tänk på att 877:an har dubbla Vdd/Vss. Avkoppla dessa med 100 nf och dubbelkolla att processorn inte sätts i ett steg fel! Blockera raderna i däcket ovan och under processorn så går den inte sätta fel. Glöm inte att konfigurera om TRIS-registren om du behöver några fler ingångar på 877:an. 4.2 Genomförande Bestäm vilka funktioner din robot ska ha och rita ett schema med de komponenter som kommer att krävas. Framförallt sammankopplingen av processorerna måste vara med. Rita ett flödesschema eller motsvarande för varje processor innan kodning sker. Efter simulering ska pulsen verifieras med oscilloskop innan robotarmen styrs, då servot som driver robotarmen kan ta skada av alltför felaktiga styrsignaler. Bygg programmen så att du kan testa så mycket som möjligt individuellt, annars blir avlusningen mycket besvärlig. En potentiometer kan anslutas som spänningsdelare i däcket för att testa A/D-omvandlingen innan joysticken ansluts. 84:an kan börja med att endast ta hand om kanal 0 och styra ett servo (var 20:e ms). 4

5 Bilaga 5

6