AVR Assembler Tutorial 9 (6 / 7 stap)

Stap 6: Low-pass filters en spanning versterker


Om het geluid een beetje opruimen en maken onze toetsenbord werken beter willen we een aantal low-pass filters toevoegen. Deze hoge frequentie ruis wegfilteren en toestaan dat de lage frequentie signaal te passeren. In wezen de manier om dit te doen is gewoon om toe te voegen een condensator 68 pf tussen onze analoge input en gemalen en ook een condensator 0.1 microfarad (d.w.z. 104) tussen onze PD4 (INT0) onderbreken en grond. Als je spelen met deze knoppen op het toetsenbord te duwen, terwijl zal u zitten kundig voor zien wat ze doen.

Vervolgens willen we een spanning-versterker. Het blijkt dat de onderste rij toetsen op het toetsenbord (evenals de redial sleutel) zijn blussen te laag van een spanning om de interrupt INT0 reis. De analoge poort is gevoelig genoeg om te lezen van de lage spanningen van deze sleutels maar onze interrupt pin krijgt niet een goed genoeg stijgende rand te onderbreken wanneer we duw deze toetsen. Wij willen dus een manier om ervoor te zorgen dat een mooie spanning stijgt rand PD4 maar de dezelfde laagspanning hits ADC0 raakt. Dit is een vrij lange orde aangezien beide signalen afkomstig zijn uit de dezelfde draad van de uitvoer van onze toetsenbord. Er zijn een aantal geavanceerde manieren om dit te doen, maar we gaan niet gebruikmaken van onze toetsenbord meer na deze tutorial dus laten we gewoon kluge samen een methode die werkt (nauwelijks).

U moet eerst aansluiten van een externe knop om de interrupt INT0 vervangen en de weergave besturen door een toets op het toetsenbord ingedrukt te houden en te klikken op de knop. Dit heeft minder toetsenblok problemen en zal u toelaten om er zeker van te zijn dat uw spanningen correct zijn ingesteld op het toetsenblok look-up tabel. Als je eenmaal weet dat het toetsenbord correct is aangesloten vervolgens ontdoen van de knop en de INT0 interrupt terug te zetten. Er zijn enkele ernstige lawaai en spanning kwesties beheersing van het toetsenblok op deze manier, dus het is goed om te weten dat alles werkt zodat toekomstige problemen geïsoleerd voor de sleutel INT0 worden kunnen.

Wanneer u draad uw toetsenbord en uw versterker spanning, is het zeer waarschijnlijk dat dezelfde weerstand waarden die ik heb gebruikt niet gaat werken. Zo zal u hoeft te doen sommige experimenten om waarden die werken voor u.

Als je kijkt naar het diagram dat ik hebben gehecht aan deze stap ziet u hoe de spanning versterker gaat werken. We gebruiken sommige weerstanden en twee transistors. De manier transistors werk (Zie de gegevensbladen!) er een minimale spanning die u nodig hebt is voor invoergegevens naar de basis pin op de transister (de middelste pin) die zullen verzadigd en huidige toestaan te stromen tussen de pin van de collector en de emitter pin. In het geval van de transistor 2N3904 is dat wij hier de spanning gebruiken 0.65V. Nu nemen we die spanning van onze uitvoer van het toetsenblok en we willen niet dat de uitgang dus zullen we een grote weerstand tussen de output van het toetsenblok en de boekwaarde van de eerste transistor (ik gebruikte 1Mohm) te veranderen. Ik heb dit aangeduid als R_1 in het diagram. Dan we een voltage divider zodanig instellen willen dat de boekwaarde van de transistor "bijna" op 0,65 volt al en alleen een teeny is weeny stukje meer zal het over de top duwen en verzadigd. Dat teeny weeny stukje komt uit de resultaten van het toetsenblok Wanneer we een knop. Aangezien de lagere toetsen op het toetsenbord zijn enkel het blussen van een kleine spanning moeten we om heel dicht bij verzadiging al in orde voor hen genoeg. De voltage divider resisters configuratiedoeleinden zijn R_a en R_b op het diagram. Ik gebruikte R_a = 1Mohm en R_b = 560Kohm maar het is bijna zeker van dat u hebben zal om rond te spelen met deze nummers om het recht voor uw installatie. U kunt een muur in de buurt hebben om je hoofd tegen en twee of drie glazen van scotch bang op hand (ik zou aanraden Laphroaig--duur, maar de moeite waard als je rookt. Als de dingen echt krankzinnig, dan gewoon een kruik van BV en vestigen in voor de nacht)

Nu laat kijken naar hoe de transistors zijn gonna get ons een mooie stijgende rand gaan de sleutel INT0 en onze keypress interrupt genereren. Ten eerste kunt kijken naar wat er gebeurt als ik niet op een toets te drukken. In dat geval is de eerste transistor (aangeduid met T1 in het diagram) uitgeschakeld. Zo loopt er geen stroom door tussen de collector en emitter pinnen. Dus de basis van de andere transistor (met het label T2) hoge zal worden getrokken, en dus het zal verzadigen waardoor huidige stromen tussen de pinnen. Dit betekent dat de emitter van T2 zal worden getrokken lage aangezien het is aangesloten op de verzamelaar die zelf is aangesloten op de grond. Dus de output die naar onze INT0 keypress interrupt pin (PD4 gaat) laag en zal er geen interrupt.

Nu wat gebeurt er wanneer ik duw een sleutel? Nou dan de basis van T1 gaat boven 0.65V (in het geval van de lagere toetsen die alleen nauwelijks boven gaat!) dan huidige mogen stroom die de basis van T2 te lage spanning zal trekken en dit zal afsluiten T2. Maar wij zien dat als T2 uitgeschakeld is, dan de uitgang hoog is getrokken en daarom zullen we een 5V signaal naar onze INT0 pin en het leiden een interrupt tot zal.

U ziet wat het netto resultaat is hier. Als we druk op de toets 1, we 5V gonna PD4 krijgen aanzienlijk zonder dat de uitvoer naar ADC0, en nog belangrijker, zelfs als we druk op sterretje, 0, Hash, of opnieuw kiezen, we krijgen ook een 5V signaal naar INT0 en ook de oorzaak van een interrupt! Dit is belangrijk omdat als we gewoon rechtstreeks uit de uitvoer van het toetsenbord aan op de INT0 pin gingen, die sleutels bijna geen spanning genereert en ze niet genoeg om te activeren dat interrupt-pin. Onze spanning versterker heeft dit probleem opgelost.

Gerelateerde Artikelen

AVR Assembler Tutorial 2

AVR Assembler Tutorial 2

Deze tutorial is een voortzetting van het "AVR Assembler Tutorial 1"Als je niet hebt doorlopen Tutorial 1 moet je nu stoppen en dat men eerst doen.In deze tutorial zullen we onze studie van assembly language programmering van de atmega328p in de
AVR Assembler Tutorial 11

AVR Assembler Tutorial 11

Welkom bij Tutorial 11!In deze korte tutorial, zijn we eindelijk het eerste deel van onze laatste project bouwen.Het eerste wat dat u moet doen is gaat u naar de allerlaatste stap van deze tutorial en Bekijk de video. Dan kom hier terug. [onderbreken
AVR Assembler Tutorial 1

AVR Assembler Tutorial 1

Ik heb besloten om een serie tutorials over hoe te schrijven van assembler programma's voor de Atmega328p die het gebruikt in de Arduino microcontroller is schrijven. Als mensen geïnteresseerd blijven blijft ik stak een een week of zo totdat ik oprak
AVR Assembler Tutorial 6

AVR Assembler Tutorial 6

Welkom bij Tutorial 6!Today's tutorial zullen kort waar zullen we het ontwikkelen van een eenvoudige methode om gegevens tussen een atmega328p en een andere met twee poorten verbinden hen te delen. Wij zullen vervolgens nemen de dobbelstenen rol van
AVR Assembler Tutorial 8

AVR Assembler Tutorial 8

Welkom bij Tutorial 8!In deze korte tutorial gaan we een beetje een afleiding van de invoering van nieuwe aspecten van assembly language programmering te laten zien hoe onze prototyping componenten verplaatsen naar een aparte "gedrukt" printplaa
AVR Assembler Tutorial 7

AVR Assembler Tutorial 7

Welkom bij Tutorial 7!Vandaag gaan we naar eerste show hoe opruimen van een toetsenbord, en vervolgens laten zien hoe de analoge input poorten gebruiken om te communiceren met het toetsenblok.We zullen dit doen met behulp van interrupts en een enkele
AVR Assembler Tutorial 10

AVR Assembler Tutorial 10

Welkom bij Tutorial 10!Sorry dat het zo lang duurde om deze volgende aflevering eruit maar dit is een behoorlijk hectische tijd van het jaar. In ieder geval, is hier het!We hebben een lange weg afgelegd en u bent waarschijnlijk al bekwaam genoeg is o
AVR Assembler Tutorial 5

AVR Assembler Tutorial 5

Vandaag gaan we nemen een kijkje op de verschillende geheugenlocaties in de Atmega328p microcontroller en zien als we beter begrijpen kunnen hoe de dingen worden opgeslagen, waar ze worden opgeslagen en hoe de pointers en opzoektabellen werken.De tut
AVR Assembler Tutorial 4

AVR Assembler Tutorial 4

Welkom bij de handleiding voor nummer 4!In deze tutorial zullen we bouwen een circuit om te simuleren het rollen van twee dobbelstenen. Dan zullen we eerst een brute-force-programma welk doet naar de job schrijven. Dan zullen we dat programma op vers
AVR Assembler Tutorial 3

AVR Assembler Tutorial 3

Welkom op tutorial nummer 3!Voordat we beginnen wil ik een filosofische opmerking maken. Wees niet bang om te experimenteren met de circuits en de code die we proberen op te in deze tutorials bouwen. Draden rond wijzigen, nieuwe onderdelen toe te voe
Een geavanceerde benadering van programmering van Arduino & AVR

Een geavanceerde benadering van programmering van Arduino & AVR

Dit instructable is een must read voor iedereen die vertrouwd is met core AVR chips en Arduino.Nou, om meer specifieke, bij het lezen van de instructable, zal u zitten kundig voor:1) weten het juiste verschil tussen AVR en Arduino.2) programmering Ar
Programmeerbare LED

Programmeerbare LED

geïnspireerd door diverse LED Throwies, knipperende LEDs en soortgelijke instructables ik wilde doen van mijn versie van een LED aangestuurd door een microcontroller.Het idee is om de LED knipperende reeks Herprogrammeerbare. Deze herprogrammering ka
De generator van willekeurige golfvorm, voor ~ 20$

De generator van willekeurige golfvorm, voor ~ 20$

een willekeurige golfvorm generator (AWG) is een nuttige maar vaak duur stuk van testapparatuur (ebay voor lacht). Gebruiken om te bepalen component frequentiebereik, genereren van vervoerder signalen, als een LCR-meter als u een bereik, tune resonan
Star Trek deurbel Hack

Star Trek deurbel Hack

Ik heb altijd al een fan van de Star Treks en als zodanig ik was erg opgewonden toen mijn kamergenoot bracht het huis van een originele serie stijl Star Trek comm panel. Ik had nog nooit gezien een van deze, maar een snelle zoektocht nam ons mee naar