Innehållsförteckning:

Arduino-oscilloskop: Varför det fungerar: 4 steg
Arduino-oscilloskop: Varför det fungerar: 4 steg

Video: Arduino-oscilloskop: Varför det fungerar: 4 steg

Video: Arduino-oscilloskop: Varför det fungerar: 4 steg
Video: How to Interface Industrial Sensors with Arduino Nano 2024, November
Anonim
Image
Image

För några år sedan började jag med elektronik och studerade de grundläggande principerna. Jag fann att ett omfång är verktyget som hjälper dig i nästan allt. Nu när jag förstod det, bestämde jag mig för att lära mig de grundläggande principerna för hur ett omfång fungerar, efter några månader tänkte jag för mig själv, ett oscilloskop är implementerbart på en mikrokontroller om jag sätter mig i en inlärningspunkt för perspektiv. Varför en mikrokontroller, eftersom den hade alla de saker som var nödvändiga för att bygga en, som en ADC för att ta in en signal (men utan kontroll frontend), hade den GPIO-portar som kunde användas för många ändamål, den också har en CPU om än ödmjuk! (Jag tänkte på en arduino).

Jag började med att forska om arduinooscilloskop som var bra och mycket bra, men jag skulle ha velat ha en enklare kod som är lätt att ändra och förstå. Precis när jag letade kom jag över basen för den nuvarande koden på arduino -forumen från 'vaupell'. Jag började ändra det och kommentera det och städa på grejerna för att göra det mer läsbart. Den ursprungliga koden är från Noriaki Mitsunaga.

Så låt oss se hur du installerar hårdvaran och programvaran och hur du använder den.

Jag har ännu inte börjat skriva förklaringen till koden på GitHub wiki. Om du har lite tid över kan du titta runt.

! - Det här projektet beskriver inte hur man gör ett oscilloskop, utan det visar dig hur du kan använda en enkel mikrokontroller för att efterlikna beteendet hos ett verkligt oscilloskop för att förstå hur ett oscilloskop fungerar.

Steg 1: Att känna till din hårdvara

Att känna till din hårdvara
Att känna till din hårdvara

Målet med detta projekt är att ge en inblick i hur en omfattning fungerar. Av den anledningen valde jag den enklaste och populära hårdvaruplattformen arduino. Koden kan köras på en arduino uno eller en arduino mega, där den senare är att föredra eftersom den har fler fria och tillgängliga stift när en skärm är installerad på den.

Så i det här projektet kommer jag att använda en arduino mega (2560).

Nästa komponent är displayen. Denna installation använder en arduino TFT 2,5 -tums pekskärm (drivrutins -id: n0x9341). Detta ger möjlighet att visa flera kanaler på skärmen som kan skiljas från varandra.

Det är allt som finns. Men denna räckvidd är mycket begränsad när det gäller dess möjligheter, så skjut den inte till kanten. Några specifika saker att bry sig om är;

arduino ADC kan inte hantera spänningar över 5 volt särskilt bra och inte heller hantera spänningar under 0 volt väl. Varför, för det är utformat så.

att samla in data från flera kanaler samtidigt minskar den effektiva samplingshastigheten för en enda kanal eftersom proverna tas alternativt från de flera kanalerna.

samplingshastigheten är mycket låg (för ett enda kanalförvärv kan det gå upp till 10kSps, men med två kanaler faller det till 5kSps/kanal). Detta kan mildras genom att ställa in ADC -referensfrekvensen (ställa in preskalaren) till ett lägre värde. Detta har dock sina egna problem med dålig upplösning.

Glöm inte heller en dator för att ladda upp koden till arduino.

Steg 2: Inställning

Uppstart
Uppstart
Uppstart
Uppstart

Installationen är mycket enkel;

Fäst skärmen på Arduino Mega så att strömstiften på båda brädorna är i linje.

anslut kortet till datorn med en USB -kabel.

Öppna arduino IDE och lägg till TFT -skärmbiblioteket SPFD5408 (0x9341) om det inte redan finns.

Ladda nu upp kodfilen från github till Arduino.

GitHub - Arduino -Oscilloskop

Där har du det!. Du kan pilla med koden genom att ställa in kanalerna 8 (ch0) och 15 (ch1) ON eller OFF i avsnittet för kodkanalinställningar. Du kan ändra hastighetsvariabeln till ett värde från hastighetsmatrisen för att ställa in tid/division för omfånget. Du kan ställa in utlösartypen automatiskt eller singel i triggersektionen i koden.

Följande steg visar en ADXL335 3-axlig accelerometer som drivs och läses av Arduino-Oscilloskop, som det ses i den första videon.

Steg 3: Exempel - ADXL335 Läsa accelerometer

Exempel - ADXL335 Läsa accelerometer
Exempel - ADXL335 Läsa accelerometer
Exempel - ADXL335 Läsa accelerometer
Exempel - ADXL335 Läsa accelerometer
Exempel - ADXL335 Läsa accelerometer
Exempel - ADXL335 Läsa accelerometer

Driv accelerometermodulen från 5V DC och GND på arduino -kortet längst till höger upptill och nedtill. Anslut nu x-out-stiftet på adxl335-modulen till stiftet A8 på arduino-kortet som kan ses på bilderna. om accelerometerns x-axel är riktad nedåt kommer datalinjen på omfångsskärmen att förskjutas från noll eftersom adxl-modulen kommer att läsa av acceleration på grund av gravitation. försök skaka den i x-riktningen som markerad på adxl-kortet, spikarna kommer att dyka upp på skärmen.

För mer information om omfattningen och dess funktion se GitHub Wiki

Steg 4: Bidra?

Om du vill bidra till wikidokumentationen är du mer än välkommen. Oscilloskop är en fantastisk utrustning och jag tycker att det är ett bra STEM -verktyg !.

Jag arbetar för närvarande på en liten front med en dummy PGA och en offset -kontroll och skulle lägga till en kontroll för tiden/div och kanske läsa lågspännings AC -signaler.

Rekommenderad: