Lyskryds. Thomas Olsson Søren Guldbrand Pedersen. Og der blev lys!



Relaterede dokumenter
Strømforsyning +/- 12V serieregulator og 5V Switch mode

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

Projekt - RoboNet Del Journal.

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

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

AM signalet er et automatisk mellemblok signal. Det består af 3 lamper og er opbygget som et U signal med 3 lamper.

Indholdsfortegnelse :

Metal Detektor. HF Valgfag. Rapport.

Drejeskive fra Märklin/Fleischmann

Arduino kursus lektion 3:

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

Logik Rapport - Alarm. Klaus Jørgensen Itet. 1a. Klaus Jørgensen & Ole Rud 9/ Vejledere: PSS & SKH

Niveauer af abstrakte maskiner

Hold 6 Tirsdag. Kristian Krøier, Jacob Christiansen & Thomas Duerlund Jensen Fag: ELA Lærer: Jan Petersen (JPe) Dato for aflevering: 29.

Märklin digital. Montage af kørelys i Heljan ADNs. Claus Hansen for

Dokumentation af programmering i Python 2.75

Temperaturmåler. Klaus Jørgensen. Itet. 1a. Klaus Jørgensen & Ole Rud. Odense Tekniskskole. Allegade 79 Odense C /

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

AGV Kursus August 1999

WinPLACE. PLD-design med udviklingsprogrammet WinPLACE v En PLD er en programmerbar kreds. PLD står for Programmable Logic Device.

L P. Komfort / Alarm system Installationsvejledning. Tekniske data, symbol forklaringer

Logik. Af Peter Harremoës Niels Brock

Bilag 6: Transskribering af interview med deltager nr. 1

Projekt Modtager. Kapitel 2. Klasse D.

Bilag 3: Elevinterview 2 Informant: Elev 2 (E2) Interviewer: Louise (LO) Interviewer 2: Line (LI) Tid: 10:45

Programmering af CS1700-Proxlæser

Kompendium. Flip Flops og Tællere

Alt elektronik heri er købt via og arduino udviklingssoftware er hentet fra

CANSAT & ARDUINO step by step

At lede lyset på nanovejen Side i hæftet

ARDUINO PROGRAMMERING

Søren Christiansen

Eksempler på elevbesvarelser af gådedelen:

Beskrivelse af tryghedsalarmen

VHF radio muter CD/FM radio Version 1 af 23. nov. 2008

navigation introduktion 1 Vejskilte og stifindere om navigationsdesign

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

Talkboard. Af Michael Hansen Jes Toft Kristensen

Lodning. Intro leaded. Tommy Sørensen

Analyseopgaver. Forklar kredsløbet. Forklar kredsløbet. 3.0 DC Adapter med Batteri Backup.

Rapport Bjælken. Derefter lavede vi en oversigt, som viste alle løsningerne og forklarede, hvad der gør, at de er forskellige/ens.

Preben Holm - Copyright 2002

Simulering af en Mux2

Excel-4: Diagrammer og udskrift

VentilationAlarm EP1 ES 966

Billedkvalitet kræver gode kabler

Kompendium. Gates og Boolsk algebra

Niveauer af abstrakte maskiner

Sygehuset pakket ind i sne, lige før det bliver rigtig mørkt.

Projekt - RoboNet Del Journal.

Luk op for en trådløs verden fuld af nye muligheder

VEJLEDNING TIL PRINTUDLÆG

Stamoplysninger til brug ved prøver til gymnasiale uddannelser

Tredje kapitel i serien om, hvad man kan få ud af sin håndflash, hvis bare man bruger fantasien

Dekoder type 628. Diagram. Print. Litra.DK

Projekt. HF-forstærker.

Digital Drejeskive Decoder til 7286 / 7686

Side 2 CS 9452 Brugervejledning. Afsnit Navn Side. 1 Ordforklaring (terminologi) 3. 3 Betjeningsknapper og -lamper 6

Dekoder med 2x2 udgange

Løbetræning for begyndere 1

Projekt. Analog Effektforstærker.

Faglig læsning i matematik

Gode råd til flot og miljøvenlig tekst og grafik.

Opgavesæt udviklet til kursus Grundlæggende elektronik på mobile maskiner 2. Udviklet i 2015

Så vær dag ikke bekymrede for dagen i morgen

Start af nyt schematic projekt i Quartus II

Elektronikken bag medicinsk måleudstyr

X88MV. Manual Version 1.26

Diktat 1 Lørdag morgen

Kom i gang-opgaver til differentialregning

SunFlux Varenr.: 03104

ysikrapport: Maila Walmod, 1.3 HTX, Rosklide I gruppe med Morten Hedetoft, Kasper Merrild og Theis Hansen Afleveringsdato: 28/2/08

Birgit Irene Puch Jørgensen HVERDAGENS HELTE

Begynderlæseindlæring på Årby Skole, LBL

[interviewet begynder der, hvor tegningen i figur 1 dukker op på respondentens pc]

Ligeværdige udtryk. Aktivitet Emne Klassetrin Side. Vejledning til Ligeværdige udtryk 2

NMT - /40, 60, 80 NMT ER - /40, 60, 80 EGHN SMART - /60

Brug Photo Story 3 en let introduktion

Afsluttende - Projekt

»Ja. Heldigvis.«De to drenge går videre. De lader som om, de ikke ser Sally.»Hej drenge!«råber hun. Bølle-Bob og Lasse stopper op og kigger over på

P2-projektforslag Kombinatorik: grafteori og optimering.

Märklin digital. Converting a locomotive to digital operation. Ombygning af et lokomotiv til digital drift. Electrotren 2051 DSB MZ 1405

Matematik og magi. eller Næste stop Las Vegas. 14 Anvendt matematik. Rasmus Sylvester Bryder

Sådan bygges en International One Metre

Interview med K, medhjælper i Hotel Sidesporets restaurantkøkken

I 2 C BUSSEN KØRER MED ARDUINO IND I FORÅRET

Medarbejdertilfredshed Den gode tilbagemelding til dine medarbejdere

Undervisningsmateriale til AMU kursus 48114, Grundlæggende elektronik på mobile maskiner, 1. Udarbejdet i 2015

Isætning af belysning i Heljans BN-vogn. Jeg har lavet en guide til hvordan du nemt kan sætte lys i din(e) vogn(e) fra Heljan.

Vigtig viden om reflekstøj Komplet guide om reflekstøjs opbygning og funktion

Interviewperson: Mona Knudsen MK Primær Interviewer: Peter Glipstrup-Bonde PGB

Tilbagemeldingsbus S88 med besatmelder

Rygtespredning: Et logistisk eksperiment

Diktat 1 En musikoplevelse

Stofskiftets afhængighed af temperatur og aktivitet hos ektoterme dyr.

Ugebrev 4 Indskolingen 2016

Dansk El-montage manual Portautomatik

Brøk Laboratorium. Varenummer

Transkript:

Og der blev lys! OPGAVEFORMULERING:... 2 DESIGN AF SEKVENS:... 3 PROGRAMMERING AF PEEL KREDS... 6 UDREGNING AF RC-LED CLOCK-GENERAOR:... 9 LYSDIODER:... 12 KOMPONENLISE:... 13 DIAGRAM:... 14 KONKLUSION:... 15 Side 1 af 15

Opgaveformulering: Projektet gik ud på at lave et lyskryds, eller vel mere præcist, at lave en styring til et lyskryds. Hvor vi stort set selv skulle finde ud af hvordan vi ville gøre det, og hvad vi skulle bruge af komponenter. Vi fik noget undervisning i at bruge Winplace programmet, som vi skulle bruge til at programmere den PEEL-kreds som vi ville bruge. Opgaven gik også ud på at finde ud af hvordan sekvensen i et lyskryds var, altså i hvad rækkefølge de tre farver, i to retninger, lyser. Ud fra sekvensen skulle der så laves sandhedstabel, karnaughkort og boolsk-udtryk, også programmeres PEEL-kreds. Og derefter skulle vi så finde ud hvordan de komponenter vi havde valgt at bruge skulle loddes sammen. Side 2 af 15

Design af sekvens: Det første vi gjorde var at finde ud af i hvilken sekvens lamperne skulle tænde og slukke, vi fandt hurtigt ud af at for at få et realistisk tids forhold mellem den korteste periode (den gule der hvor der er gul og rød tændt samtidig), og den længste periode (den røde), ville det kræve minimum en 5 bit tæller, svarende til 32 forskellige kombinationer, så hvis hele sekvensen tager 32 sekunder vil der være rød/gul i én retning og rød i den anden i 1 sekund, og det samme gælder for rød/rød. Dette sekvensskema skrev vi ind i en sandhedstabel med de 5 udgange fra tælleren som indgange og de 6 lamper som udgange således at der for hver kombination af Q0, Q1, Q2, Q3 og Q4 er angivet hvilke udgange der skal være tændt, og ud fra dette har vi lavet 6 Karnaughkort som giver de Boolske udtryk for hver udgang. Side 3 af 15

Sandhedstabel for alle lamper Nord-Syd Øst-Vest A B C D E RD GL GR RD GL GR 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 1 0 0 1 1 1 1 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 1 0 1 1 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 1 1 0 1 1 0 0 0 1 0 0 1 1 1 0 1 0 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 0 1 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 1 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 1 1 0 0 0 1 0 1 0 0 1 1 1 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 0 0 0 1 0 0 Side 4 af 15

Side 5 af 15

Programmering af PEEL kreds. Programmet til PEEL kredsen er lavet i Winplace, vi havde besluttet at både tælleren og styring af lysdioderne skulle programmeres ind i PEEL kredsen, tælleren anvender de Flip-flop s der er indbygget i PEEL en, men da disse er fast forbundet til udgangene betyder det at man har én mindre udgang til rådighed hver gang man bruger en Flip-flop, 18CV8 kredsen har 8 udgange så hvis vi bruger 5 af dem til tælleren (5 bit) er der altså kun 3 ledige udgange, det er i princippet nok da vi kun har 7 forskellige kombinationer af lamperne og 3 ben giver 8 muligheder men kredsløbet der skal omsætte de 3 bit til 6 (en til hver lampe) vil kræve enten en dertil indrettet kreds (multiplexer), en stor håndfuld NAND-gates eller en PEEL-kreds mere, uanset hvad, så forsvinder det smarte ved en indbygget tæller og gør bare det hele meget mere kompliceret, derfor har vi brugt en 22CV10 kreds, der er plads til både 5 bit tæller og 4 udgange hvilket er meget smartere da vi sagtens kan nøjes med udgange for rød og gul i begge retninger, den grønne er nemlig altid, og kun, tændt når både rød og gul i samme retning er slukkede. Nord/syd grøn = nord/syd rød * nord/syd gul Øst/vest grøn = øst/vest rød * øst/vest gul Dette kan nemt realiseres med to 2-input NAND gates og da vi alligevel skal bruge en inverter til clock-generatoren kan vi ligeså godt bruge den samme kreds til begge dele. ælleren anvender, som sagt, macro cellernes indbyggede Flip-flop s, navngivet Q0 Q1 Q2 Q3 og Q4, disse er konfigureret som Register output hvilket betyder at outputet som går AND-arrayet kommer fra Flip-flop en, den er programmeret ved at definere variablerne Present og Next, og ved en sandhedstabel, tallene i sandhedstabellen svarer til at man skriver: Present Next Q4 Q3 Q2 Q1 Q0 Q4 Q3 Q2 Q1 Q0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0 osv.. Macro-celle Side 6 af 15

Skiftet fra present til next sker synkront ved hver clock puls. Men det kan gøres nemmere ved at definere de 5 ud/ind-gange som Present og Next: PRESEN = [Q4 Q3 Q2 Q1 Q0] NEX = [Q4 Q3 Q2 Q1 Q0] Og så erstatte de binære tal i sandhedstabellen med det nummer i rækken man ønsker at hoppe til: Indtil man når 31 (eller hvor man nu vil starte forfra), her angiver man så den næste kombination som 0, og starter derved forfra, og så har man en 5 bit binær tæller. (hele programmet er vedlagt som bilag) RUH_ABLE Counter (PRESEN -> NEX) 0 -> 1 1 -> 2 2 -> 3 3 -> 4 osv.. 31 -> 0 De 4 udgange der styrer lamperne kan defineres ved enten at skrive de Boolske udtryk for hver udgang under Equations eller definere en sandhedstabel som indeholder alle kombinationerne fra tælleren og værdien (tændt/slukket) for udgangene ved hver kombination, vi har valgt at bruge sandhedstabellen da den er nemmere at overskue og finde eventuelle fejl i (ikke at vi laver fejl men..), desuden er det nemt at ændre sekvensen hvis man vil f.eks. vil have længere rød periode. Ugangene på PEEL-kredsen er navngivet uden brug af Æ, Ø og Å for at undgå eventuelle problemer med navnene. NSR = Nord/Syd Rød NSY = Nord/Syd Gul EWR = Øst/Vest Rød EWY = Øst/Vest Gul Kombination 4 forekommer 2 gange, det er når der er rød i begge retninger og det er der lige før Øst/Vest Gul tænder og lige før Nord/Syd Gul tænder. Udgangene på PEEL-kredsen er inverteret i forhold til sandhedstabellen, det er gjort fordi kredsen styrer minus siden af lysdioderne og udgangen skal derfor være lav når lysdioden skal være tændt. Side 7 af 15

Simulerings resultat fra Winplace. Side 8 af 15

Udregning af RC-led clock-generator: Udregning af modstand og kondensator til RC-led, svingningskreds, hvor frekvensen skal være 1 Hz: Formel: f 1 V RC ln ( Vcc V ) V ( Vcc V ) 1 RC * f RC V RC ln ( Vcc V ) V ( Vcc V ) 1 * RC * f 1 1 * f V ln ( Vcc V ) f V ( Vcc V ) RC 1 V f * ln ( Vcc V ) V ( Vcc V ) Værdier: Hentet fra datablad over MM74HC14; Hex Inverting Schnitt rigger: Side 9 af 15

Og da vi giver kredsløbet 5 V ind, er det disse værdier vi bruger; V + = 2,7 V - = 1,8 RC 1 2, 7(5 1* ln 1, 8) 1, 8(5 2, 7) RC 1 8, 64 1* ln 4,14 RC 1 1* ln(2, 09) RC 1, 357 ( ) Her efter vælger man så selv f.eks. kondensatoren, og udregner modstanden ud fra denne formel; Og vi har valgt en kondensator på 2,2 F; R C R 1, 357 2, 2 F R 616, 818 K Der efter får man et kredsløb der ser sådan ud; Side 10 af 15

Det er dog ikke sådan vores ser ud, da vi har brugt en Schmitt trigger HEF4093BP og der ser kredsløbet sådan ud; R = 616 k C = 2,2 F Men ellers er princippet det samme. Og i stedet for en alm. modstand har vi sat en variabel 1M modstand i. Der kan man så, hvis man vil have en hurtigere frekvens, sætte modstanden ned, og så sætte den højere hvis man vil have en langsommere frekvens, og dermed en langsommere sekvens. Grunden til at vi har brugt en Schmitt trigger, er at triggeren kan tåle spændinger i det forbudte område, og det bevirker at for at få et lavt signal på udgangen, når den er høj, kræver meget høj signal på indgangen, og for at få et højt signal på udgangen igen, kræver meget lavt signal på indgangen. Og det er for at undgå at får alle de små signaler med, at vi bruger den her. Hvis vi havde brugt en kreds uden Schmitt rigger, ville alle de små signaler være kommet med, og dermed have fået kredsen til at svinge meget hurtigere. V + og V - fundet i denne kurve, også i databladet til MM74HC14; Side 11 af 15

Lysdioder: 4 af lysdioderne trækker strøm direkte fra PEEL kredsen og de 2 andre fra 4093 kredsen, på grund af den måde kredsene er konstrueret på (PEEL og 4093) kan man normalt trække langt mere strøm til + end til -. Vi har valgt at sinke strømmen til lysdioderne, altså lavet udgangene negeret og forbundet dem til lysdiodernes katode (-side). Hver lysdiode skal have en formodstand for at begrænse strømmen i kredsløbet, for at være sikker på at hver LED lyser med samme styrke uanset om der er 1, 2 eller 3 tændt samtidig, har vi valgt at montere én modstand til hver LED. For at lyse optimalt skal der løbe ca. 10mA gennem lysdioden, og spændingsfaldet over lysdioden er ca. 1.8V, spændingsforsyningen leverer ca. 5V, dermed kan vi beregne at formodstanden skal være ca.: Uforsyning Udiode 5 1.8 I 10*10 diode 3 320 De modstande vi har valgt er standart E48 modstande på 442O, værdien er ikke så vigtig da vi jo ikke prøver at lyse noget op med dem, og ved 442O, svarende til ca. 7mA, er chancen for at vi brænder noget af, minimal. Side 12 af 15

Komponentliste: IC1: PEEL22CV10P-25 25nS programmerbar logisk kreds IC2: HEF4093BP Quad 2-input NAND med Schmitt trigger D1-6: Lysdioder 3.5mm alm. rund R1-6: 442O modstande E48 1% R7: 1MO Lukket trimmodstand 1MO lineær C1: 2.2µF Keramisk Kondensator 2 bananstik Hun 1 hjemmebrygget PCB Diverse lus Side 13 af 15

Diagram: Side 14 af 15

Konklusion: Så blev vi færdige med det projekt, og jeg må konkludere, at der er ikke noget som praktisk arbejde, efter en masse teori, det hjælper i hvert fald meget på forståelsen af hvordan tingene virker. Jeg synes, da vi først kom i gang, det et meget sjovt (hvis man kan kalde et projekt det) og interessant projekt, der var mange forskellige ting i det, både udregninger udarbejdning af tegninger programmering og komponent sammensætning. Og det er meget fint at have en masse teori om f.eks. IC er og de kredse der sidder i dem, men der er som nævnt før ikke noget der hjælper på forståelsen af hvordan det virker, når man sidder med dem i hånden, og skal har det til at virke på en bestemt måde for at få dioderne til at lyse i en bestemt rækkefølge. Rent arbejdsmæssigt synes jeg det er gået OK, vi startede med at finde ud af hvordan sekvensen i vores lyskryds skulle være, og det fik vi da også fundet ud af, selv om vi ændrede det senere igen, da vi fandt ud af det ville være mere trafiksikkert som vi har lavet det nu. Og så var det sådan set bare at lave en sandhedstabel ud fra sekvensskemaet, og bruge det til at programmere vores PEELkreds ud fra. Desværre fik vi ikke den Schmitt rigger som vi gerne ville have haft, da vi troede at den vi fik, var benkompatibel med den prøve -kreds vi først havde i, så derfor blev vi nød til lodde nogle få ledninger på for at benene til at passe med resten af printet, men det gjorde ikke så meget for vi fik det til at virke. Ud over det, lærer man også, når man laver sådan et projekt, at man skal være opmærksom på mange ting, f.eks. udregning af værdierne i RC-leddet, skal man være sikker på at man bruger den rigtige formel og bruge den rigtigt, ellers vil man få nogle forkerte værdier for kondensator og modstand, også virker det bare ikke. Og så synes jeg også, nu jeg kan sammenligne med projektet fra Analog eknik (strømforsyning), at det faktisk ikke var så uoverskueligt når der ikke var en masse punkter og forvirrende spørgsmål man skulle igennem. Jeg tror faktisk at måden her er lige så god. Her har vi jo også været nød til at have gang i f.eks. oscilloscobet for at måle f.eks. frekvensen i clock-generatoren Så alt i alt kan jeg konkludere at jeg egentlig har været meget tilfreds med dette projekt, og det har også været meget lærerigt som nævnt før teori er OK, men uden praktik duer det ikke. Side 15 af 15