Girino - snabb Arduino oscilloskop (8 / 26 steg)

Steg 8: Hur fungerar ADC



The Arduino mikrokontroller har en enda 10-bitars successiv approximation ADC. Innan ADC det är en analog multiplexer som låter oss till ADC, skicka signalerna från olika stift och källor (men bara en i taget).

Successiv Approximation ADC innebär att ADC tar 13 klockcykler att slutföra konvertering (och 25 klockcykler för första konvertering). Det finns en klocksignal för att ADC som "beräknas" från den huvudsakliga klockan av Arduino; Detta beror på att ADC är lite långsam och kan inte hänga med i takten i andra delar av mikrokontroller. Det krävs en ingående klockfrekvens mellan 50 kHz och 200 kHz för att få maximal upplösning. Om en lägre upplösning än 10 bitar behövs, kan ingång klockfrekvens för att ADC vara högre än 200 kHz att få en högre frekvens.

Men hur mycket högre priser kan vi använda? Det finns ett par bra guider om ADC på den öppna musik Labs som jag föreslår för att läsa:

Eftersom mitt syfte är att få en snabb oscilloskop beslutat jag att begränsa precisionen till 8-bitar. Detta har flera bonusar:

  1. Databufferten kan lagra mer data;
  2. du slösar inte 6-bitar ram per datum;
  3. ADC kan få snabbare.

Prescaler låter oss dela upp frekvensen, av vissa faktorer, genom att ange ADPS0-1-2 bitar av ADCSRA registret. Att se handlingen i precision från öppna musik Labs artikeln, kan vi se att frekvensen för 8 bitar precision kunde gå upp till 1.5 MHz, bra! Men eftersom förmågan att ändra prescaler faktorn låter oss ändra andelen förvärv, kan vi använda den även till ändra tidsskalan för oscilloskopet.

Det finns en bra funktion om utgång registren: vi kan avgöra justera av konvertering bitar, genom att ange ADLAR bet i ADMUX register. Om det är just 0 de är välanpassade och omvänt (se bilden). Eftersom jag ville ha 8 bitar precision sätta jag den till 1 så jag kunde läsa bara ADCH registret och ignorera ADCL.

Jag bestämde mig att ha bara en inmatningskanal att slippa växla kanal fram och tillbaka på varje konvertering.

En sista sak om ADC, har det rinnande lägen var och en med en annan utlösande källan:

  • Free Running-läge
  • Analoga komparator
  • Externa avbrottsbegäran 0
  • Timer/Counter0 jämför Match A
  • Timer/Counter0 Overflow
  • Timer/Counter1 jämför Match B
  • Timer/Counter1 Overflow
  • Timer/Counter1 fånga händelsen

Jag var intresserad av det fria kör-läge är ett läge där ADC kontinuerligt omvandlar indata och kastar ett avbrott i slutet av varje konvertering (tillhörande vektor: ADC_vect).

Se Steg
Relaterade Ämnen

Hur man gör en billig 16 MHz Arduino oscilloskop med hjälp av Excel och skärmen till Visa

Ofta kommer att en elektronik hobby designa och bygga något bara för att upptäcka att det inte beter sig som han eller hon tänkt. Ibland i dessa situationer är problemet relaterat till en elektrisk signal, men att saker rör sig med ljusets hastighet!...

Arduino oscilloskop Under 5 $ - 3 Channel

Oscilloskop används av elektronik entusiaster, hobby och det är en av de gemensamma verktyg på en arbetsbänk. Men köper en kan få dyra så till slut bestämde jag mig att varför inte göra en med en arduino. Så detta grundläggande projekt kommer att hjä...

Hur man gör en Arduino oscilloskop probe

denna instructabe kommer att visa dig hur man gör en arduino oscilloskop sond för dessa länkar, en poorman oscilloskop och en multi-kanal oscilloskop för arduino /Steg 1: Material och komponenter Verktyglödkolvlödahobby borr (om du inte har denna anv...

Nokia 5110 Arduino oscilloskop

En ny video om min nya oscilloskop. Några frågor lämna dem i kommentarerna.---Nedladdningar---https://github.com/adafruit/Adafruit-PCD8544-Nokia...https://github.com/adafruit/Adafruit-gfx-LibraryArduino skiss är kopplad till detta instructable.------...

Arduino - oscilloskop (fattig mans oscilloskop)

Hi guys,för några dagar sedan jag hittade denna kod i github och det är det bästa jag hittat hittills, så jag har beslutat att sprida detta projekt som jag kan, för alla som vill ha ett billigt oscilloskop runt detta är det bästa sättet! Låt oss börj...

Enkla billiga Arduino oscilloskop

Hej alla!Jag kom upp med detta intressanta projekt, som jag börjar lära sig bearbetning, så jag tänkte det skulle vara häftigt att dela den med dig. Hoppas du gillar det!OK, bara för att rensa, är detta inte en professionell, god kvalitet oscilloskop...

Trådlös Arduino oscilloskop

I denna guide kommer jag förklara hur du använder en Windows 8.1 telefon, Arduino Uno styrelsen och HC-05 Bluetooth-modulen för att bygga ett trådlöst oscilloskop. Telefon ansökan har kritiska funktioner av ett oscilloskop, även om bandbredden är en...

Arduino oscilloskop

En mycket grundläggande och lätt att göra arduino PC oscilloskop.Funktioner:50K prover/sekund(faktiskt det kan gå upp till 110K men signalen blir högljudd)Automatisk utlösareFrequency counterNågorlunda korrekt spänning avläsningar (beroende på riktig...

Snabb Arduino MIDI Laser harpa

Hej du!Jag har skapat några Arduino (och mer nyligen, Olimexino) inramade MIDI laser harpor (se en här), och jag får ofta mail ber för mer information om hur man bygger en. Jag sätter detta instructable tillsammans för att ge en grundläggande introdu...

Spara 81 sekunder: snabb Arduino Bootload/Program för produktion

Kräver: AVRISP mkII och en Linux dator (eller virtuell dator)Detta Instructable visar hur till automatisera och fart upp installationen av en bootloader och demo program på en Arduino-kompatibel enhet.Arduino bootloader och IDE gör det otroligt enkel...

Snabb Arduino Hygrometer (Fuktsensor)

Vi har haft några kondens och mögel frågor i vår lägenhet nyligen tack vare, tror jag, luftfuktigheten. Vår egendom är relativt nybyggt och, som sådan, har mycket god isoleringsförmåga (tvåglasfönster etc.). Bieffekt av detta är att det finns mycket...

OFFscope - offline oscilloskop (Arduino + SD kort snabb avverkning)

Detta är inte realtid oscilloskop!Först skaffa du signal genom att spara/logga det till SD-kort. Sedan granska du förvärvade signalen på din PC.Denna oFFline oscilloskop är avsedd för fordonsindustrin sensor diagnostik. 99% av automotive sensorer fun...

Arduino hög hastighet oscilloskop med PC-gränssnitt

Använd din Arduino och PC som en Snabb lagring oscilloskop.Arduinoen kan på ett tillförlitligt sätt samla spänning avläsningar med en frekvens mellan 141 och 153 KiloHertz.1000 data avläsningar kan tas i runt 6.8ms.Överfört kapitalinlösenfond till en...

RC kontroll och Arduino: A färdiga arbeten

i detta instructable jag kommer att ta dig med på min resa för att lära sig lägga till RC kontroll med en Arduino mikrokontroller. Till skillnad från andra Instructables eller Bloggar, kommer att jag innehålla all information jag kan även om det inte...

Arduino (Mega) ljudinspelning

Spela in ljud till ditt Audino Mega SD kort.Ljudfilen kan spelas upp på en vanlig audio ansökan eller analyseras byte för byte.Detta Instructable visar du hur ljudingång kan vara upprepade gånger lagt till 512 byte buffert och sedan överförs till ett...

Arduino kommandoradsverktyget "MiniPirate"

Detta kommandoradsverktyg kan "Snabb" Arduino prototyper utan sammanställning. Läst analoga värden, dis- / aktivera portar och även I2C register manipulationer är klar på några sekunder i stället för minuter. Jag kommer visar dig hur du ställer...

Arduino cirkulär Cylon!

Detta är en snabb arduino projekt som är bra för nybörjare. Njut! Det finns en video på det sista steget!Steg 1: Vad du behöver Att bygga detta projekt behöver du:10 lysdioder, valfri färg kommer att göra.Vissa tråd, jag använde en bandkabel som jag...

Arduino Audio Input

Skicka ljud i din Arduino. Detta Instructable visar dig hur du förbereder ljud så att den kan provtas och bearbetas av en Arduino att göra ljud lyhörd projekt och ljudeffekter. (Denna artikel är en följeslagare till en annan Instructable jag har skri...

LED Cube 8 x 8 x 8

skapa din egen 8 x 8 x 8 LED Cube 3-dimensionell display!Vi anser detta Instructable är den mest omfattande steg för steg guiden att bygga en 8 x 8 x 8 LED Cube någonsin publicerats på intertubes. Det kommer att lära dig allt från teorin om operation...