Inhoudsopgave:
- Stap 1: Ken uw hardware
- Stap 2: Instellen
- Stap 3: Voorbeeld - ADXL335 De versnellingsmeter aflezen
- Stap 4: Bijdragen?
Video: Arduino-oscilloscoop: waarom het werkt: 4 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Een paar jaar geleden begon ik met elektronica en bestudeerde ik de basisprincipes. Ik ontdekte dat een scoop de tool is die je bij bijna alles helpt. Nu ik dat begreep, begon ik de basisprincipes van de werking van een scoop te leren, na een paar maanden dacht ik bij mezelf, nou, een oscilloscoop is implementeerbaar op een microcontroller als ik mezelf in een leerpunt van perspectief. Waarom een microcontroller, want hij had alle dingen die nodig waren om er een te bouwen, zoals een ADC om een signaal op te nemen (maar zonder controle-frontend), hij had GPIO-poorten die voor veel doeleinden konden worden gebruikt, heeft een CPU, zij het zachtmoedig! (Ik dacht aan een Arduino).
Ik begon met onderzoek naar arduino-oscilloscopen die goed en zeer goed waren, maar ik had graag een eenvoudigere code gezien die gemakkelijk aan te passen en te begrijpen is. Net toen ik aan het zoeken was, kwam ik de basis van de huidige code tegen op de Arduino-forums van 'vaupell'. Ik begon het aan te passen en er commentaar op te geven en de dingen op te schonen om het leesbaarder te maken. De originele code is van Noriaki Mitsunaga.
Laten we dus eens kijken hoe we de hardware en software moeten instellen en gebruiken.
Ik moet nog beginnen met het schrijven van de uitleg voor de code op de GitHub-wiki. als je wat tijd over hebt, kijk dan eens rond.
! - Dit project beschrijft niet hoe je een oscilloscoop maakt, maar laat je zien hoe je een eenvoudige microcontroller kunt gebruiken om het gedrag van een echte oscilloscoop na te bootsen om te begrijpen hoe een oscilloscoop werkt.
Stap 1: Ken uw hardware
Het doel van dit project is om inzicht te geven in de werking van een scope. Om die reden heb ik het eenvoudigste en populaire hardwareplatform arduino gekozen. De code kan worden uitgevoerd op een arduino uno of een arduino mega, waarbij de laatste de voorkeur heeft omdat deze meer gratis en toegankelijke pinnen heeft wanneer er een display op is geïnstalleerd.
Dus in dit project zal ik een arduino mega (2560) gebruiken.
Het volgende onderdeel is het beeldscherm. Deze opstelling maakt gebruik van een arduino TFT 2,5 inch aanraakscherm (de driver-id is0x9341). Dit geeft de mogelijkheid om meerdere kanalen op het scherm weer te geven die van elkaar te onderscheiden zijn.
Dat is alles wat er is. Dit bereik is echter zeer beperkt in zijn mogelijkheden, dus duw het niet tot het uiterste. Enkele specifieke zaken waar u rekening mee moet houden zijn;
de arduino ADC kan spanningen boven 5 volt niet goed aan en evenmin kan hij spanningen onder 0 volt goed aan. Waarom, omdat het zo is ontworpen.
het gelijktijdig verkrijgen van gegevens van meerdere kanalen vermindert de effectieve bemonsteringssnelheid van een enkel kanaal omdat de monsters afwisselend van de meerdere kanalen worden genomen.
de bemonsteringssnelheid is erg laag (voor een acquisitie van een enkel kanaal kan het oplopen tot 10 kSps, maar met twee kanalen daalt het tot 5 kSps/kanaal). Dit kan worden verholpen door de ADC-referentiefrequentie (de prescalaire instelling) op een lagere waarde in te stellen. Dit heeft echter zijn eigen problemen van slechte resolutie.
Vergeet ook niet een computer om de code naar de arduino te uploaden.
Stap 2: Instellen
De opzet is heel eenvoudig;
Bevestig het schermschild aan de Arduino Mega zodat de stroompinnen op beide kaarten op één lijn liggen.
sluit het bord met een USB-kabel aan op de computer.
Open de arduino IDE en voeg de TFT-displaybibliotheek SPFD5408 (0x9341) toe, als deze nog niet aanwezig is.
Upload nu het codebestand van github naar de Arduino.
GitHub - Arduino-oscilloscoop
Daar heb je het!. U kunt aan de code sleutelen door kanalen 8 (ch0) en 15 (ch1) AAN of UIT te zetten in het gedeelte voor het instellen van het codekanaal. U kunt de tariefvariabele wijzigen in een waarde uit de tariefarray om de tijd/verdeling van het bereik in te stellen. U kunt het triggertype instellen op automatisch of enkelvoudig in het triggergedeelte van de code.
De volgende stap toont een ADXL335 3-assige versnellingsmeter die wordt aangedreven en gelezen door de Arduino-oscilloscoop, zoals te zien is in de eerste video.
Stap 3: Voorbeeld - ADXL335 De versnellingsmeter aflezen
Voed de accelerometermodule van de 5V DC en GND van het Arduino-bord uiterst rechts bovenaan en onderaan. Verbind nu de x-out pin van de adxl335 module met de pin A8 van het arduino bord zoals te zien is op de foto's. als de x-as van de accelerometer naar beneden wijst, wordt de datalijn op het scoopscherm vanaf nul verschoven omdat de adxl-module de versnelling door de zwaartekracht afleest. probeer het in de x-richting te schudden zoals aangegeven op het adxl-bord, de spikes verschijnen op het scherm.
Voor meer informatie over het bereik en de werking ervan, zie de GitHub Wiki
Stap 4: Bijdragen?
Als u een bijdrage wilt leveren aan de wikidocumentatie, bent u van harte welkom. Oscilloscoop is een fantastisch apparaat en ik denk dat het een goede STEM-tool is!.
Ik werk momenteel aan een kleine front-end met een dummy PGA en een offset-besturing en zou een besturing toevoegen voor de tijd/div en misschien het lezen van laagspannings-AC-signalen.
Aanbevolen:
Herinnering schermtijdgebruik (werkt alleen op Windows, iOS werkt niet): 5 stappen
Herinnering schermtijdgebruik (werkt alleen op Windows, Ios werkt niet): Inleiding Dit is een handige machine gemaakt van Arduino, het herinnert je eraan om te rusten door een "biiii!" geluid en uw computer terug te laten gaan naar het vergrendelscherm na 30 minuten schermtijd te hebben gebruikt. Na 10 minuten rusten zal het "b
DIY een Astabiele Multivibrator en leg uit hoe het werkt: 4 stappen
DIY een Astable Multivibrator en leg uit hoe het werkt: Astable Multivibrator is een circuit dat geen stabiele toestanden heeft en het uitgangssignaal oscilleert continu tussen de twee onstabiele toestanden, hoog niveau en laag niveau, zonder enige externe triggering. De benodigde materialen: 2 x 68k weerstanden2 x 100μF
Password Keeper op Aruino Pro Micro of waarom het simpel houden als er een uitgebreide manier bestaat!: 15 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Password Keeper op Aruino Pro Micro of waarom het simpel houden als er een uitgebreide manier bestaat!: Het lijkt erop dat het grootste probleem met microcontrollers voor liefhebbers van elektronica (vooral beginners) is om erachter te komen waar ze moeten worden toegepast :) , lijkt steeds meer op zwarte magie. Alleen 80-Lvl wisards zijn
Hoe stroom te meten en waarom zou je het doen?: 4 stappen (met afbeeldingen)
Hoe stroom te meten en waarom zou je het doen?: Veel makers weten niet hoe belangrijk het is om de huidige aantrekkingskracht van je project te kennen, of waarom je dit moet weten. In deze tutorial zal ik je uitleggen hoe je de huidige trekking van je project kunt meten, en waarom het zo belangrijk is om dit te weten. T
Instructies voor het voltooien van de mock-up van het ontwerp van de rupsschuif voor het heffen/verlagen van in het midden gemonteerde voetsteunen op elektrische rolstoelen - Ajarnpa
Instructies voor het voltooien van de mock-up van het ontwerp van de rupsschuif voor het omhoog/omlaag brengen van in het midden gemonteerde voetsteunen op elektrische rolstoelen: in het midden gemonteerde voetsteunen kunnen omhoog worden gebracht om onder de zitting goed te worden opgeborgen en omlaag om te worden ingezet. Een mechanisme voor onafhankelijke bediening van het opbergen en plaatsen van de voetsteun is niet inbegrepen in elektrische rolstoelen op de markt, en PWC-gebruikers hebben de behoefte geuit