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 Willekeurige Golfvorm Generator – Krachtig, Multi-frequentie, Linux/Windows Compatibel

Onderdelen en benodigdheden

OnderdeelAantal
Arduino Due1

Over dit project

Arduino Due Willekeurige Golfvorm Generator – Krachtig, Multi-frequentie, Linux/Windows Compatibel
Arduino Due Willekeurige Golfvorm Generator – Krachtig, Multi-frequentie, Linux/Windows Compatibel
Arduino Due Willekeurige Golfvorm Generator – Krachtig, Multi-frequentie, Linux/Windows Compatibel
Arduino Due Willekeurige Golfvorm Generator – Krachtig, Multi-frequentie, Linux/Windows Compatibel
Arduino Due Willekeurige Golfvorm Generator – Krachtig, Multi-frequentie, Linux/Windows Compatibel
Arduino Due Willekeurige Golfvorm Generator – Krachtig, Multi-frequentie, Linux/Windows Compatibel
Arduino Due Willekeurige Golfvorm Generator – Krachtig, Multi-frequentie, Linux/Windows Compatibel
Arduino Due Willekeurige Golfvorm Generator – Krachtig, Multi-frequentie, Linux/Windows Compatibel
Arduino Due Willekeurige Golfvorm Generator – Krachtig, Multi-frequentie, Linux/Windows Compatibel
Arduino Due Willekeurige Golfvorm Generator – Krachtig, Multi-frequentie, Linux/Windows Compatibel

Algemene beschrijving

Deze draait nu ook op Linux naast Windows.

Analoge golf max frequentie: 100kHz. Vierkante golf max frequentie: 42MHz.

Cyclisch verhouding (duty cycle) instelbaar van praktisch 0% tot 100%

Zeer eenvoudig te bouwen - zie Installatie hieronder.

Dit is een project in twee delen: het Arduino Due-bord zelf, en een controller-GUI voor op je PC, hoewel het Arduino-bord ook zelfstandig gebruikt kan worden met potentiometers, schakelaars en LEDs.

Geen schakeling nodig, hoewel een optionele uitgangsbeschermingsschakeling aangeboden wordt die het Arduino-bord moet beschermen tegen het per ongeluk verbinden van de uitgangen met spanningen van tot plus en min 30V of zo. (misschien meer)

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

Een "getrapte" golf-functie stelt je in staat om een willekeurig aantal scherpe (één sample) stappen in de golf eenvoudig te produceren indien gewenst. Daarnaast kan de uitgang worden omgeschakeld naar sinusgolf of driehoek/zagtand.

Ook wordt er gelijktijdig een vierkante golf geproduceerd die gesynchroniseerd of volledig onafhankelijk kan zijn. De golven kunnen worden bestuurd door de frequentie of de periode. De cyclische verhouding kan ingesteld worden van praktisch 0% tot 100%. Of de pulsbreedte kan constant ingesteld worden. (binnen de grenzen van de periode, natuurlijk)

De nieuwe instellingen kunnen direct worden getypt via het toetsenbord van de PC of het toetsenblok van het programma. Of, door op "MODE" te drukken, is een glijende aanpassing mogelijk.

Een Exacte Modus is beschikbaar voor de analoge golf, die de "frequentiestappen" voorkomt die normaal geassocieerd worden met direct digitale synthese (DDS) golfvormgenerators. Dit maakt een nauwkeurigere frequentie mogelijk door toegang te geven tot frequenties tussen die "frequentiestappen" omdat de uitgang geen deling is van de Arduino-klokfrequentie wanneer de Exacte Modus aanstaat.

Een (logaritmische) frequentie-sweep-functie voor één 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 wegpuntjes.
  • Frequentiebereik: 0,05mHz (20.000 seconden) tot 100kHz.
  • Sample rate: (boven 1kHz met DMA) Maximaal 1,6MHz.
  • Sample rate: (tot 1kHz) 400kHz.
  • Sample rate in Exacte Modus: (elke frequentie) 400kHz.
  • Minimale pulsbreedte: (halve golfcyclus)
    • Bij 0% duty cycle: ~350 nanoseconden bij elke frequentie.
    • Bij 0,01% duty cycle: Tot 2,5 - 25 microseconden. (benadering)
      • Als frequentie boven 1kHz IS EN Exacte Modus of Sync aanstaat.
      • Anders 350 nanoseconden.

Vierkante Golf:

  • Frequentiebereik: 0,05mHz (20.000 seconden) tot 42MHz.
  • Minimale pulsbreedte:
    • Gesynchroniseerd: [Frequentie: 0,05mHz (20.000 seconden) tot 100kHz]
      • Bij 0% duty cycle: 48 nanoseconden bij elke frequentie.
      • Bij 0,01% duty cycle: 2,5 - 25 microseconden. (benadering)
    • Niet-gesynchroniseerd: [0,093mHz (10.737 seconden) tot 42MHz]
      • 12nS van 1,3kHz tot 42MHz. (Met PWM)
      • 24nS van 650Hz tot 1,29999kHz. (Met PWM)
      • 48nS van 325Hz tot 649,99999Hz. (Met PWM)
      • 96nS van 163Hz tot 324,99999Hz. (Met PWM)
      • Onder 163Hz: (Met interrupt)
        • Bij 0% duty cycle: 96 nanoseconden.
        • Bij 0,01% duty cycle: 5 microseconden.

Installatie

Het GUI-programma

voor je PC is "portable" en hoeft niet geïnstalleerd te worden.

Voor Windows-gebruikers: Pak het .zip-bestand uit in een map naar keuze en maak een snelkoppeling naar het .exe-bestand. Let op: Het "DueAWGController-Win64.zip"-bestand is bedoeld voor 64-bit systemen, maar het 32.zip-bestand werkt vaak betrouwbaarder omdat Java erin ingesloten zit.

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

Je moet misschien OpenJDK 8 (Java 8) installeren voor Debian, Ubuntu, etc: Op de opdrachtregel (in Terminal), typ: sudo apt-get install openjdk-8-jre (Nieuwere versies werken misschien niet.)

Je moet misschien ook toestemming krijgen om toegang te krijgen tot de USB voordat je kunt verbinden met de Arduino. Typ: sudo usermod -a -G dialout $USER

Er zijn ook twee "arm"-bestanden voor Raspberry Pi etc inbegrepen, maar die zijn niet getest. Laat me weten of ze werken.

De Arduino-sketch

heeft geen speciale bibliotheken nodig, dus je hebt alleen de normale Arduino IDE geïnstalleerd op je PC nodig voor het uploaden van de sketch naar de Due. Mits je PC de Arduino Due heeft herkend (wat het moet hebben gedaan als de sketch geüpload was), zou het GUI-programma automatisch de Arduino moeten vinden en verbinden bij het starten, dus er is geen behoefte de COM-poort in te stellen. Handmatige COM-poortselectie is echter ingeschakeld als automatische selectie mislukt.

Er zijn een paar voorbeeldgolven in de map Arbitrary Waves (alleen voor de pret) om je op weg te helpen. Naast het GUI-programma kan de Arduino-golfvormgenerator ook worden bestuurd door Arduino's seriële monitor ingesteld op 115200 baud. Typ ? voor help.

Of als je liever potentiometers, schakelaars & LEDs gebruikt voor besturing, het begin van de Arduino-sketch vermeldt de pinverbindingen.

Golfuitgangspinverbindingen staan ook daar, of verbind gewoon Arduino-pinnen 3 en 7 met een draadje, of als je ultra voorzichtig bent gebruik een lage waarde weerstand (47 - 100 ohm). Neem de vierkante golfuitgang van pin 7 en de analoge uitgang van DAC0.

Code

BELANGRIJK: Klik NIET op de knop "Download as zip".

Om de bestanden te downloaden, klik op "Read More" hieronder. LET OP: Klikken op "Download as zip" downloadt alleen een readme-bestand.
https://github.com/Bruce-Evans/ArduinoDueArbitraryWaveformGeneratorAndController

Schema's

Deze schakeling kan volledig weggelaten worden, maar als hij gebruikt wordt, moet hij de Arduino beschermen tegen het per ongeluk verbinden van de uitgangen met spanningen van ten minste plus en min 25V zonder de rij- en valtijden aanzienlijk te vergroten. D2 en D3 moeten hoge stroom, snelle hersteldioden zijn - ik vond dat Schottky-dioden te langzaam waren. De zekeringen (F1 en F2) kunnen polyzekeringen zijn.

Arduino Due Willekeurige Golfvorm Generator – Krachtig, Multi-frequentie, Linux/Windows Compatibel

Productieproces

  1. Bluetooth-gecontroleerde Arduino Spybot bouwen
  2. FlickMote: Gebarengecontroleerde IR-afstandsbediening voor Slimme Huizen
  3. DIY Arduino TV-B-Gone: Universele TV-uit-schakelaar
  4. Bouw een Aangepaste LED Hoofdklok met Alarm – Zichtbaar vanaf 12 Meter
  5. Bouw een Touchscreen Boter-Kaas-en-Eieren Spel op Arduino Due
  6. JX Wave Generator – Arduino-compatibele DDS-oscillator met OLED-display
  7. Find Me: Slimme Item Locator met Arduino en Bluetooth
  8. Geoptimaliseerde Voedingsoplossingen voor Arduino Projecten
  9. Arduino Boter-Kaas-Eieren met MAX7219 LED Matrix en Kartonnen Behuizing
  10. Bouw een Slimme Arduino Vierpotige Robot: Stap-voor-Stap Handleiding
  11. Bouw een Aangepaste Arduino Joystick Stuurwiel voor Gaming