Indholdsfortegnelse:

Bærbar funktionsgenerator på Arduino: 7 trin (med billeder)
Bærbar funktionsgenerator på Arduino: 7 trin (med billeder)

Video: Bærbar funktionsgenerator på Arduino: 7 trin (med billeder)

Video: Bærbar funktionsgenerator på Arduino: 7 trin (med billeder)
Video: DIY Radar With Ultrasonic Sensor And Chat-GPT Generated Arduino Code | Coders Cafe 2024, Juli
Anonim
Image
Image
Bærbar funktionsgenerator på Arduino
Bærbar funktionsgenerator på Arduino
Bærbar funktionsgenerator på Arduino
Bærbar funktionsgenerator på Arduino

Funktionsgenerator er et meget nyttigt værktøj, især når vi overvejer at teste vores kredsløbs reaktion på et bestemt signal. I denne instruktive vil jeg beskrive byggesekvensen for en lille, brugervenlig, bærbar funktionsgenerator.

Funktioner ved projektet:

  • Fuldt digital styring: Intet behov for passive analoge komponenter.
  • Modulært design: Hvert underkredsløb er et foruddefineret brugervenligt modul.
  • Udgangsfrekvens: Tilgængeligt område fra 0Hz til 10MHz.
  • Enkel betjening: Enkelt roterende encoder med indbygget trykknap.
  • Li-ion batteri til bærbar brug, med ekstern opladning.
  • AC- og DC -kobling til udgangsbølgeform.
  • LCD -lysstyrkekontrol til reduktion af energiforbrug.
  • Indikator for batteriopladning.
  • Digital amplitude kontrol.
  • Tre tilgængelige bølgeformer: Sinus, trekant og firkant.

Trin 1: Idéen

Ideen
Ideen
Ideen
Ideen
Ideen
Ideen

Der er mange kredsløb, der kræver noget testudstyr for at få oplysninger om kredsløbets reaktion på en bestemt bølgeform. Dette projekt er baseret på Arduino (Arduino Nano i dette tilfælde), med 3,7V et litium-ion-batteri som strømkilde, hvilket gør enheden bærbar. Det vides, at Arduino Nano-kort kræver 5V som strømforsyning, så elektronisk design indeholder DC-DC boost-konverter, der konverterer 3,7V batterispænding til 5V, der kræves for at tænde for Arduino. Dette projekt er således let at bygge, fuldstændigt modulært, med relativt simpelt skematisk diagram.

Strømforsyning til kortet: Enheden har et enkelt mini-USB-stik, der modtager 5V fra den eksterne strømforsyning, det kan enten være pc eller ekstern USB-oplader. kredsløbet designet på en måde, at når 5V DC-kilden er tilsluttet, oplades Li-ion-batteri af TP4056-opladermodul, der er tilsluttet strømforsyningskredsløbet (emnet udvides yderligere i de følgende trin).

AD9833: integreret funktionsgenerator kredsløb er en central del af designet, styret via SPI -interface med mulighed for at generere firkantet/sinus/trekantbølge med frekvensmoduleringsmulighed. Da AD9833 ikke har mulighed for at ændre udgangssignalets amplitude, har jeg brugt et digitalt 8-bit potentiometer som en spændingsdeler ved enhedens udgangsslutpunkt (vil blive beskrevet i yderligere trin).

Skærm: er den grundlæggende 16x2 LCD, som sandsynligvis er den mest populære flydende krystaldisplay blandt Arduino-brugere. For at reducere energiforbruget er der mulighed for at justere LCD-baggrundsbelysning via PWM-signal fra den Arduino foruddefinerede "analoge" pin.

Efter denne korte introduktion kan vi gå videre til byggeprocessen.

Trin 2: Dele og instrumenter

Dele og instrumenter
Dele og instrumenter

1: Elektroniske dele:

1.1: Integrerede moduler:

  • Arduino Nano bord
  • 1602A - Generisk flydende krystaldisplay
  • CJMCU - AD9833 Funktionsgenerator modul
  • TP4056 - Li -ion batterioplader modul
  • DC-DC Step-Up coverter modul: 1.5V-3V til 5V converter

1.2: Integrerede kredsløb:

  • SRD = 05VDC - 5V SPDT relæ
  • X9C104P - 8 -bit 100KOhm digitalt potentiometer
  • EC11 - Rotary Encoder med SPST switch
  • 2 x 2N2222A - NPN generel BJT

1.3: Passive og uklassificerede dele:

  • 2 x 0.1uF -Keramiske kondensatorer
  • 2 x 100uF - Elektrolytiske kondensatorer
  • 2 x 10uF - Elektrolytiske kondensatorer
  • 3 x 10KOhm modstande
  • 2 x 1.3KOhm modstande
  • 1 x 1N4007 ensretter diode
  • 1 x SPDT vippekontakt

1.4: Stik:

  • 3 x 4-benede JST 2,54 mm pitch-stik
  • 3 x 2-benede JST 2,54 mm pitch-stik
  • 1 x RCA stikkontakt

2: Mekaniske dele:

  • 1 x 12,5 cm x 8 cm x 3,2 cm Plastik kabinet
  • 6 x KA-2 mm trækskruer
  • 4 x KA-8 mm boreskruer
  • 1 x Encoder -knap (hætte)
  • 1 x 8 cm x 5 cm Prototypebræt

3. Instrumenter og software:

  • Loddestation/jern
  • Elektrisk skruetrækker
  • Slibning af filer i mange størrelser
  • Skarp kniv
  • Bor
  • Skruetrækker bits
  • Varm limpistol
  • Mini-USB-kabel
  • Arduino IDE
  • Kaliber/lineal

Trin 3: Skematisk forklaring

Skematisk forklaring
Skematisk forklaring
Skematisk forklaring
Skematisk forklaring
Skematisk forklaring
Skematisk forklaring

For at gøre det lettere at forstå det skematiske diagram er beskrivelsen opdelt i underkredsløb, mens hver underkreds har ansvaret for hver designblok:

1. Arduino Nano -kredsløb:

Arduino Nano -modul fungerer som en "hovedhjerne" for vores enhed. Det styrer alle de perifere moduler på enheden i både digitale og analoge driftstilstande. Da dette modul har sit eget mini-USB-indgangsstik, vil det blive brugt både som strømforsyningsindgang og programmeringsinterfaceindgang. På grund af det er J1 - mini -USB -stikket løsnet fra det skematiske symbol for Arduino Nano (U4).

Der er en mulighed for at bruge dedikerede analoge ben (A0.. A5) som generel I/O, så nogle af benene bruges som digital udgang og kommunikerer med LCD- og AC/DC -koblingsvalg af enhedens output. Analoge ben A6 og A7 er dedikerede analoge indgangsstifter og kan kun bruges som ADC -indgange på grund af Arduino Nano mikrokontroller ATMEGA328P TQFP -pakke, som den blev defineret i databladet. Bemærk, at batterispændingsledningen VBAT er knyttet til den analoge indgangsstik A7, fordi vi skal hente dens værdi for at bestemme lav batteritilstand for Li-ion batterispænding.

2. Strømforsyning:

Strømforsyningskredsløb er baseret på strømforsyning af hele enheden via Li-ion-batteri 3.7V konverteret til et 5V. SW1 er en SPST -vippekontakt, der styrer strømstrømmen på hele kredsløbet. Som det kan ses af skemaerne, oplades batteriet via TP4056-modulet, når ekstern strømforsyning er tilsluttet via mikro-USB-stik på Arduino Nano-modulet. Sørg for, at bypass-kondensatorer med flere værdier er til stede på kredsløbet, da der er en DC-DC-boost-konverter, der skifter støj på jorden og 5V-potentialer i hele kredsløbet.

3. AD9833 og output:

Dette underkredsløb giver passende outputbølgeform, defineret af AD9833-modul (U1). Da der kun er en enkelt strømforsyning på enheden (5V), er det nødvendigt at vedhæfte koblingens valgkredsløb til udgangskaskaden. C1 -kondensatoren er serieforbundet til amplitudevalgtrinnet og kan dæmpes via drivstrøm på relæinduktoren, hvilket får udgangssignal til at spores direkte til udgangstrinnet. C1 har en værdi på 10uF, det er tilstrækkeligt, at bølgeformen selv ved lave frekvenser passerer kondensatoren uden at blive forvrænget, kun påvirket af DC -fjernelse. Q1 bruges som simpel BJT -switch, der bruges til at drive strøm gennem relæets induktor. Sørg for, at dioden er tilsluttet i en omvendt tildeling til relæinduktoren, for at undgå spændingsspidser, der kan beskadige enhedens kredsløb.

Sidst men ikke mindst etape er et amplitudevalg. U6 er 8-bit digitalt potentiometer IC, der fungerer som spændingsdeler for en given udgangsbølgeform. X9C104P er et 100KOhm digitalt potentiometer med meget enkel viskerpositionjustering: 3-bens digitale indgange til justering af stigning/formindskelse af viskerposition.

4. LCD:

16x2 Liquid crystal display er en grafisk grænseflade mellem brugeren og enhedens kredsløb. For at reducere energiforbruget er LCD -baggrundsbelysningskatodestik forbundet til Q2 BJT forbundet som switch, styret af PWM -signal drevet af Arduino analogWrite -evne (vil blive beskrevet i Arduino -kodetrin).

5. Encoder:

Encoder kredsløb er et kontrolinterface, der definerer hele enhedsdrift. U9 består af encoder og en SPST -switch, så det er ikke nødvendigt at tilføje yderligere knapper til projektet. Encoder og switch pins skal trækkes op af en ekstern 10KOhm modstand, men det kan også defineres via kode. Det anbefales at tilføje 0.1uF kondensatorer parallelt med encoder A og B benene for at undgå at hoppe på disse input linjer.

6. JST -stik:

Alle de eksterne dele af enheden er forbundet via JST -stik, hvilket gør det meget mere bekvemt at samle enheden, med en ekstra funktion til at reducere plads til fejl under byggeprocessen. Kortlægning af stik gøres på denne måde:

  • J3, J4: LCD
  • J5: Encoder
  • J6: Batteri
  • J7: SPST -vippekontakt
  • J8: RCA -udgangsstik

Trin 4: Lodning

Lodning
Lodning
Lodning
Lodning
Lodning
Lodning

På grund af dette projekts modulære design bliver loddetrin enkelt:

A. Hovedkortlodning:

1. Først og fremmest er der behov for at beskære prototypebrættet til størrelsen af de ønskede kabinetdimensioner.

2. Lodning af Arduino Nano -modulet og testning af dets første drift.

3. Loddekraftforsyningskredsløb og kontrol af alle spændingsværdierne opfylder enhedens krav.

4. Lodning AD9833 modul med alle perifere kredsløb.

5. Lodning af alle JST -stik.

B. Eksterne komponenter:

1. Lodning af JST -hanstikkets ledninger til LCD -benene i PRÆCIS rækkefølge, som der var planlagt på hovedkortet.

2. Lodning af JST -hanstikledninger til encoderen på samme måde som det foregående trin

3. Loddekontakt til JST -ledningerne.

4. Lodning af JST-ledninger til batteriet (hvis det overhovedet er nødvendigt. Nogle af de Li-ion-batterier, der er tilgængelige på eBay, er forud loddet med deres eget JST-stik).

Trin 5: Kapsling og samling

Kapsling og montering
Kapsling og montering
Kapsling og montering
Kapsling og montering
Kapsling og montering
Kapsling og montering
Kapsling og montering
Kapsling og montering

Når alt lodning er udført, kan vi gå videre til enhedsmontagesekvens:

1. Tænk over placeringen af enhedens eksterne dele: I mit tilfælde foretrak jeg at placere encoder under LCD, når vippekontakt og RCA -stik er placeret på hver sin side af kabinettet.

2. Klargøring af LCD -ramme: Beslut, hvor LCD -en skal placeres på enheden, sørg for at den placeres i den rigtige retning. Det skete for mig flere gange, at efter at jeg havde afsluttet hele skæringsprocessen, blev LCD'et vendt lodret, idet vi talte om hvilken er trist, fordi der er behov for at omarrangere LCD-rammen.

Når rammen er valgt, skal du bore flere huller i omkredsen af hele rammen. Fjern alle uønskede plastikskær med slibefil.

Indsæt LCD -skærmen indefra, og find skruepunkterne på kabinettet. Bor huller med en passende diameter bor. Sæt trækskruerne i, og fastgør møtrikkerne på indersiden af frontpanelet.

3. Encoder: har kun en enkelt roterende del på pakken. Bor området i henhold til encoderens roterende vedhæftningsdiameter. Indsæt det indefra, fastgør det med en varm limpistol. Sæt en hætte på det roterende redskab.

4. Vippekontakt: beslut om dimensioner af vippekontaktens svingning, så den kan trækkes frit ned eller op. Hvis du har skruepunkter på vippekontakten, skal du bore de relevante områder på kabinettet, ellers kan du fastgøre det med en varm limpistol.

5. RCA-udgangsstik: Bor et passende diameterhul til RCA-udgangsstikket på kabinettets bundside. Fastgør den med den varme limpistol.

6. Hovedkort og batteri: Placer Li-ion-batteri på undersiden af kabinettet. Batteriet kan fastgøres med en varm limpistol. Hovedkortet skal bores fire steder med 4 skruer på hvert hovedkorthjørne. Sørg for, at Arduino mini-USB-indgang er så tættere som muligt på kabinettets grænse (vi bliver nødt til at bruge den til opladning og programmering).

7. Mini-USB: afskær det ønskede område for Arduino Nano mikro-USB med en slibefil, hvilket gør det muligt at tilslutte ekstern strømforsyning/pc til enheden, når den er samlet helt.

8. Endelig: Tilslut alle JST -stik, fastgør begge dele af kabinettet med fire 8 mm skruer på hvert hjørne af kabinettet.

Trin 6: Arduino -koden

Arduino -koden
Arduino -koden

Vedhæftet kode er den komplette enhedskode, der er nødvendig for at fuldføre enhedsdriften. Al den nødvendige forklaring er vedhæftet i kommentarsektionerne inde i koden.

Trin 7: Afsluttende test

Afsluttende test
Afsluttende test
Afsluttende test
Afsluttende test

Vi har vores enhed klar til brug. mini-USB-stik fungerer både som programmeringsindgang og ekstern opladerindgang, så enheden kan programmeres, når den er fuldstændig samlet.

Håber, du finder denne instruktive nyttig, Tak fordi du læste!;)

Anbefalede: