Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino Due Arbitrary Waveform Generator

Komponenten und Verbrauchsmaterialien

Arduino Due
× 1

Über dieses Projekt

Allgemeine Beschreibung

Diese läuft nun sowohl unter Linux als auch unter Windows.

Max. Frequenz der analogen Welle:100 kHz. Max. Frequenz der Rechteckwelle:42 MHz.

Einschaltdauer von praktisch 0 % bis 100 % einstellbar

Sehr einfach zu bauen - siehe Installation unten.

Dies ist ein zweiteiliges Projekt:Das Arduino Due Board selbst und eine Controller-GUI zur Verwendung auf Ihrem PC, obwohl das Arduino Board auch alleine mit Töpfen, Schaltern und LEDs verwendet werden kann.

Es wird keine Schaltung benötigt, obwohl eine optionale Ausgangsschutzschaltung angeboten wird, die das Arduino-Board davor schützen soll, die Ausgänge versehentlich mit Spannungen von bis zu plus und minus 30 V oder so zu verbinden. (vielleicht mehr)

Durch die Verwendung der Controller-GUI auf Ihrem PC können beliebige Wellen gezeichnet, bearbeitet, gespeichert, geöffnet und auf den Arduino Due hochgeladen werden, der automatisch über den USB-Anschluss verbunden ist. Eine umfassende Hilfedatei ist enthalten.

Eine "gestufte" Wellenfunktion ermöglicht die einfache Erzeugung einer beliebigen Anzahl von scharfen (ein Abtastwert) Schritten in der Welle, falls gewünscht. Zusätzlich kann der Ausgang stattdessen auf Sinus oder Dreieck / Sägezahn umgeschaltet werden.

Außerdem wird gleichzeitig eine Rechteckwelle erzeugt, die entweder synchronisiert oder vollständig unabhängig sein kann. Die Wellen können durch die Frequenz oder Periode gesteuert werden. Das Tastverhältnis kann von praktisch 0 % bis 100 % eingestellt werden. Oder die Pulsbreite kann konstant eingestellt werden. (natürlich innerhalb der Fristen)

Die neuen Einstellungen können direkt über die PC-Tastatur oder die Programmtastatur eingegeben werden. Oder das Drücken von "MODE" ermöglicht eine gleitende Einstellung.

Für die analoge Welle steht ein Exact Mode zur Verfügung, der die "Frequenzschritte" vermeidet, die normalerweise mit Direct Digital Synthesis (DDS)-Wellenformgeneratoren verbunden sind. Dies ermöglicht eine genauere Frequenz, indem der Zugriff auf Frequenzen zwischen diesen "Frequenzschritten" ermöglicht wird, da der Ausgang keine Teilung der Arduino-Taktfrequenz ist, wenn der Exact-Modus aktiviert ist.

Eine (log) Frequenz-Sweep-Funktion für eine oder beide Wellen ist enthalten, und es gibt auch einen Timer mit positivem oder negativem Arduino-Ausgang.

Spezifikationen

Analoge Welle:

Die Auflösung beträgt 12 Bit mit bis zu 4096 Wegpunkten.

Der Frequenzbereich ist:0,05 mHz (20.000 Sek.) bis 100 kHz.

Abtastrate:(über 1 kHz mit DMA) Bis zu 1,6 MHz.

Abtastrate:(bis 1kHz) 400kHz.

Abtastrate im Exact Mode:(beliebige Freq) 400kHz.

Minimale Pulsbreite:(Halbwellenzyklus)

Bei 0% Arbeitszyklus:350 Nanosekunden (ca.) bei jeder Freq.

Bei 0,01 % Arbeitszyklus:Bis zu 2,5 - 25 Mikrosekunden. (ca.)

- Wenn die Frequenz über 1 kHz liegt UND der exakte Modus oder die Synchronisierung aktiviert ist,

- sonst 350 Nanosekunden.

Square Wave:

Freq-Bereich:0,05 mHz (20.000 Sek.) bis 42 MHz.

Mindestimpulsbreite:

Synchronisiert:[Freq:0.05mHz (20.000 Sek.) bis 100kHz]

Bei 0 % Arbeitszyklus:48 Nanosekunden bei jeder Freq.

Bei 0,01 % Arbeitszyklus:2,5 - 25 Mikrosekunden. (ca.)

Unsynchronisiert:[0,093 mHz (10.737 Sek.) bis 42 MHz]

12nS von 1,3kHz bis 42MHz. (Mit PWM)

24nS von 650Hz bis 1,29999kHz. (Mit PWM)

48 nS von 325 Hz bis 649.99999 Hz. (Mit PWM)

96 nS von 163 Hz bis 324,99999 Hz. (Mit PWM)

Unter 163 Hz:(Unter Verwendung von Interrupt)

Bei 0% Arbeitszyklus:96 Nanosekunden.

Bei 0,01 % Arbeitszyklus:5 Mikrosekunden.

Installation

Das GUI-Programm für Ihren PC ist "portabel", muss also nicht installiert werden.

Für Windows-Benutzer entpacken Sie einfach die .zip-Datei in einen Ordner Ihrer Wahl und machen eine Verknüpfung zur .exe-Datei. Hinweis:Die Datei "DueAWGController-Win64.zip" ist für 64-Bit-Systeme gedacht, aber die Datei 32.zip funktioniert ohnehin oft zuverlässiger, da Java eingebettet ist.

Für Linux-Benutzer entpacken Sie die Datei DueAWGController-LinuxXX.zip in einen Ordner, doppelklicken Sie dann auf die Datei DueAWGControllerLinux oder fügen Sie sie dem Systemmenü hinzu.

Möglicherweise müssen Sie OpenJDK 8 (java 8) für Debian, Ubuntu usw. installieren:Geben Sie in der Befehlszeile (im Terminal) Folgendes ein:sudo apt-get install openjdk-8-jre (Neuere Versionen funktionieren möglicherweise nicht.)

Möglicherweise müssen Sie auch die Erlaubnis einholen, auf den USB zuzugreifen, bevor Sie eine Verbindung zum Arduino herstellen können. Geben Sie ein:sudo usermod -a -G dialout $USER

Ebenfalls enthalten sind zwei "Arm"-Dateien für Raspberry Pi usw., die jedoch nicht getestet wurden. Bitte lass es mich wissen, wenn sie funktionieren.

Die Arduino-Skizze benötigt keine speziellen Bibliotheken, sodass Sie nur die normale Arduino IDE auf Ihrem PC installieren müssen, um den Sketch in das Due hochzuladen. Vorausgesetzt, Ihr PC hat den Arduino Due erkannt (was er getan haben muss, wenn der Sketch hochgeladen wurde) sollte das GUI-Programm beim Start automatisch den Arduino finden und sich mit ihm verbinden, sodass Sie den COM-Port nicht einstellen müssen. Die manuelle Auswahl des COM-Ports ist jedoch aktiviert, wenn die automatische Auswahl fehlschlägt.

Es gibt einige Beispiel-Wave-Dateien im Ordner Arbitrary Waves (nur zum Spaß), um Ihnen den Einstieg zu erleichtern. Neben dem GUI-Programm kann der Arduino-Wellenformgenerator auch über den seriellen Monitor von Arduino gesteuert werden, der auf 115200 Baud eingestellt ist. Typ ? für Hilfe.

Oder wenn Sie lieber Potis, Schalter &LEDs zur Steuerung verwenden, listet der Anfang der Arduino-Skizze die Pin-Anschlüsse auf.

Wellenausgang-Pin-Anschlüsse sind auch dort aufgeführt, oder verbinden Sie einfach die Arduino-Pins 3 und 7 mit einem Link, oder verwenden Sie, wenn Sie sehr vorsichtig sind, einen niederohmigen Widerstand (47 - 100 Ohm). Nehmen Sie den Rechteckwellenausgang von Pin 7 und den analogen Ausgang von DAC0.

Code

WICHTIG:Klicken Sie nicht auf die Schaltfläche "Als Zip herunterladen".
Um die Dateien herunterzuladen, klicken Sie unten auf "Weiterlesen". HINWEIS:Wenn Sie auf "Als Zip herunterladen" klicken, wird nur eine Readme-Datei heruntergeladen.https://github.com/Bruce-Evans/ArduinoDueArbitraryWaveformGeneratorAndController

Schaltpläne

Auf diese Schaltung kann komplett verzichtet werden, sollte aber bei Verwendung den Arduino davor schützen, die Ausgänge versehentlich mit Spannungen bis mindestens plus und minus 25V zu verbinden, ohne die Anstiegs- und Abfallzeiten signifikant zu erhöhen. D2 und D3 müssen Hochstrom-Dioden mit schneller Erholung sein - ich fand, dass Schottky-Dioden zu langsam waren. Die Sicherungen (F1 und F2) können Polyfuses sein.

Herstellungsprozess

  1. Arduino Spybot
  2. FlickMote
  3. Selbstgemachter Fernseher B-Gone
  4. Hauptuhr
  5. Arduino Due TIC TAC TOE mit Touchscreen
  6. JX-Wellengenerator
  7. Finde mich
  8. Arduino-Power
  9. Tech-TicTacToe
  10. Arduino-Vierbeiner