Hur man gör en billig 16 MHz Arduino oscilloskop med hjälp av Excel och skärmen till Visa (6 / 7 steg)
Steg 6: Steg 6: konvertera ANALOG till DIGITAL
Detta är min favorit del. Om signalen gick in i de analoga stiften på Arduino just nu skulle omfattning helt fungera. Dock skulle det flaskhals på Arduino analog till digital omvandlare (ADC) och gräns på 100 000 samplingar per sekund. Bobs bok lär oss att kringgå den här begränsningen genom att använda en extern ADC. Kapitel 3 täcker flera av konverterarna, varav bara en kommer att få någon speltid här. Om du är intresserad i försökande olika versioner, rekommenderar jag helt utgifterna de tio spänn för att få boken. Han gör en bra bit av forskning och förklaring, och jag har en känsla som jag kommer att använda dessa saker mycket mer än bara Oscilloskope i framtiden.
För att mata en bild av din signal till en digital bildskärm, måste signalen konverteras från analog till digital av något. Jag valde en TDA8703 24 pin DIP eftersom det var mindre än 8 dollar på ebay helt nya, och det är blixtsnabb. Det kommer att göra 40-50MHz! Detta chip körs på en extern klocka, och eftersom min knock-off Arduino UNO körs på en 16MHz klocka, beslöt jag att köpa en 16MHz för mitt chip också. Ser tillbaka, jag kan inte riktigt minnas varför jag köpte den 4-pinnars versionen av klockan, men det fungerar, så jag inte jävlas med den.
Schematiskt är ganska enkelt med undantag för att en tråd som går iväg till Arduino klockan. Att en del tog mig ett tag att lista att Bob hade en fin äkta Arduino med flyttbara processor. Min var en cheapy knock off. Boken ville jag skulle länka externa klockan på min ADC genom en kondensator till klockan stift (9) på den Arduino processor. Tyvärr har Arduweenies ibland en liten liten ytmontering processor med mycket begränsad tillgång till stift och effektivt ingen tillgång när du beakta skitig lödning färdigheter. Min lysande professor, Dave Dunlop, tog en titt på min microcontroller och sade: "se det lilla silver elliptiska dome som säger 16 på toppen? Det är din klocka." Jag pluggade in och säker nog, min lånade oscilloskop visade en 16MHz utgång på ändarna vid basen. Det var även tillräckligt betydande för att skall lödas på! Om jag tittar på den signal till ingången på min ADC, nu det ganska ful eftersom det är resultatet av tillägg av dessa två klockor. Det spelar egentligen ingen roll eftersom ADC är inställd att utlösa på stigande sida av vågen, och så länge det inte sjunker ner under avtryckaren nivå mellan pulser det kommer att fungera alldeles utmärkt.
Obs: Jag hade ganska tur här eftersom jag redan hade hämtat mitt program. Senare insåg jag att när du löda en tråd på denna klocka, har du ungefär en 1 i 20 skott på någon framtida framgång med hämtningsbara filer även om den andra änden av linan hänger bara ut i rymden. Inte säker på varför. Jag har inte provat unsoldering det och testa Arduino eftersom min räckvidd fungerar, och jag håller det. Hoppa över till steg 7 och ladda ner programmet innan ni går vidare och löda något till klockan.
Om du har turen att ha tillgång till en signalgenerator kan du nu testa din krets för funktionalitet. Mata in en långsam puls, säga runt 10 Hz och sticka en LED mellan någon av dina digitala outs (D0-D7) och marken. Om det fungerar får du en fin stadig blinka. Min smarta instruktör Scott Walker på UVU vände mig på denna lilla trick!