Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Arduino Due Arbitrary Waveform Generator

Componenten en benodigdheden

Arduino Due
× 1

Over dit project

Algemene beschrijving

Dit draait nu zowel op Linux als op Windows.

Analoge golf max freq:100kHz. Blokgolf max freq:42MHz.

Inschakelduur instelbaar van vrijwel 0% tot 100%

Zeer eenvoudig te bouwen - zie Installatie hieronder.

Dit is een tweedelig project:het Arduino Due-bord zelf en een controller-GUI die op je pc kan worden gebruikt, hoewel het Arduino-bord ook op zichzelf kan worden gebruikt met potten, schakelaars en LED's.

Er is geen circuit nodig, hoewel een optioneel uitgangsbeveiligingscircuit wordt aangeboden dat het Arduino-bord moet beschermen tegen het per ongeluk aansluiten van de uitgangen op spanningen tot plus en min 30V of zo. (misschien meer)

Door de GUI van de controller op uw pc te gebruiken, kunnen willekeurige golven worden getekend, bewerkt, opgeslagen, geopend en geüpload naar de Arduino Due, automatisch aangesloten via de USB-poort. Een uitgebreid helpbestand is inbegrepen.

Een "getrapte" golffunctie maakt het mogelijk om indien gewenst een willekeurig aantal scherpe (één sample) stappen in de golf te produceren. Bovendien kan de uitgang in plaats daarvan worden geschakeld naar sinusgolf of driehoek / zaagtand.

Tegelijkertijd wordt er ook een blokgolf geproduceerd die ofwel gesynchroniseerd ofwel volledig onafhankelijk kan zijn. De golven kunnen worden gecontroleerd door de frequentie of periode. De duty cycle is in te stellen van nagenoeg 0% tot 100%. Of de pulsbreedte kan constant worden ingesteld. (uiteraard binnen de grenzen van de periode)

De nieuwe instellingen kunnen direct worden ingevoerd via het toetsenbord van de pc of het toetsenbord van het programma. Of door op "MODE" te drukken, kunt u een glijdende aanpassing maken.

Er is een exacte modus beschikbaar voor de analoge golf, die de "frequentiestappen" vermijdt die normaal worden geassocieerd met golfvormgeneratoren met directe digitale synthese (DDS). Dit maakt een nauwkeurigere frequentie mogelijk door toegang te verlenen tot frequenties tussen die "frequentiestappen" omdat de output geen deling is van de Arduino-klokfrequentie wanneer Exact Mode is ingeschakeld.

Een (log) frequency sweep-functie voor een of beide golven is inbegrepen, en er is ook een timer met positieve of negatieve Arduino-uitgang.

Specificaties

Analoge golf:

Resolutie is 12 bits met maximaal 4096 waypoints.

Het frequentiebereik is:0,05mHz (20.000 sec) tot 100kHz.

Sample rate:(hoger dan 1 kHz bij gebruik van DMA) Tot 1,6 MHz.

Samplefrequentie:(tot 1kHz) 400kHz.

Sample rate in Exact Mode:(elke freq) 400kHz.

Minimale pulsbreedte:(halve golfcyclus)

Bij 0% inschakelduur:350 nanosec (ongeveer) bij elke freq.

Bij 0,01% inschakelduur:tot 2,5 - 25 microsec. (ongeveer)

- als de frequentie hoger is dan 1 kHz EN de exacte modus of synchronisatie is ingeschakeld,

- anders 350 nanosec.

Vierkante golf:

Het frequentiebereik is:0,05 MHz (20.000 sec) tot 42 MHz.

Minimale pulsbreedte:

Gesynchroniseerd:[Freq:0,05mHz (20.000 sec) tot 100kHz]

Bij 0% inschakelduur:48 nanoseconden bij elke freq.

Bij 0,01% inschakelduur:2,5 - 25 microsec. (ongeveer)

Niet gesynchroniseerd:[0.093mHz (10.737 sec) tot 42MHz]

12nS van 1,3 kHz tot 42 MHz. (Met PWM)

24nS van 650Hz tot 1.29999kHz. (Met PWM)

48nS van 325Hz tot 649.99999Hz. (Met PWM)

96nS van 163Hz tot 324.9999Hz. (Met PWM)

Onder 163Hz:(Interrupt gebruiken)

Bij 0% inschakelduur:96 nanoseconden.

Bij 0,01% inschakelduur:5 microseconden.

Installatie

Het GUI-programma voor uw pc is "draagbaar" en hoeft dus niet te worden geïnstalleerd.

Voor Windows-gebruikers:pak het .zip-bestand uit in een map naar keuze en maak een snelkoppeling naar het .exe-bestand. Opmerking:het bestand "DueAWGController-Win64.zip" is bedoeld voor 64-bits systemen, maar het 32.zip-bestand werkt toch vaak betrouwbaarder omdat het Java heeft ingebed.

Voor Linux-gebruikers:pak het bestand DueAWGController-LinuxXX.zip uit in een map en dubbelklik vervolgens op het bestand DueAWGControllerLinux of voeg het toe aan het systeemmenu.

Mogelijk moet u OpenJDK 8 (java 8) voor Debian, Ubuntu, enz. installeren:Typ op de opdrachtregel (in Terminal):sudo apt-get install openjdk-8-jre (nieuwere versies werken mogelijk niet.)

Mogelijk moet u ook toestemming krijgen om toegang te krijgen tot de USB voordat u verbinding kunt maken met de Arduino. Typ:sudo usermod -a -G dialout $USER

Er zijn ook twee "arm" -bestanden voor Raspberry Pi enz., Maar deze zijn niet getest. Laat het me weten als ze werken.

De Arduino-schets heeft geen speciale bibliotheken nodig, dus je hebt alleen de normale Arduino IDE nodig die op je pc is geïnstalleerd om de schets naar de Due te uploaden. Op voorwaarde dat uw pc de Arduino Due heeft herkend (wat het moet hebben gedaan als de schets was geüpload), zou het GUI-programma automatisch de Arduino moeten vinden en verbinden bij het starten, dus het is niet nodig om de COM-poort in te stellen. Handmatige COM-poortselectie is echter ingeschakeld als automatische selectie mislukt.

Er zijn een paar voorbeeldgolfbestanden in de map Arbitrary Waves (gewoon voor de lol) om u op weg te helpen. Naast het GUI-programma kan de Arduino-golfvormgenerator ook worden bestuurd door Arduino's seriële monitor die is ingesteld op 115200 baud. Typ? voor hulp.

Of als u liever potten, schakelaars &LED's gebruikt voor besturing, vermeldt het begin van de Arduino-schets de pinverbindingen.

Pinverbindingen voor golfuitgangen worden daar ook vermeld, of verbind Arduino-pinnen 3 en 7 eenvoudig met een link, of als u uiterst voorzichtig bent, gebruik een weerstand met een lage waarde (47 - 100 ohm). Neem de blokgolfuitgang van pin 7 en de analoge uitgang van DAC0.

Code

BELANGRIJK:klik niet op de knop "Downloaden als zip".
Om de bestanden te downloaden, klik hieronder op "Meer lezen". OPMERKING:Als u op "Downloaden als zip" klikt, wordt alleen een leesmij-bestand gedownload.https://github.com/Bruce-Evans/ArduinoDueArbitraryWaveformGeneratorAndController

Schema's

Dit circuit kan volledig worden weggelaten, maar als het wordt gebruikt, moet het de Arduino beschermen tegen het per ongeluk aansluiten van de uitgangen op spanningen tot ten minste plus en min 25V zonder de stijg- en daaltijden aanzienlijk te verlengen. D2 en D3 moeten diodes met een hoge stroomsterkte en snel herstel zijn - ik ontdekte dat schottky-diodes te traag waren. De zekeringen (F1 en F2) kunnen polyfusten zijn.

Productieproces

  1. Arduino Spybot
  2. FlickMote
  3. Zelfgemaakte tv B-Gone
  4. Hoofdklok
  5. Arduino Due TIC TAC TOE met touchscreen
  6. JX Wave Generator
  7. Vind mij
  8. Arduino Power
  9. Tech-TicTacToe
  10. Arduino Quadruped
  11. Arduino-joystick