Innehållsförteckning:

Bärbar funktionsgenerator på Arduino: 7 steg (med bilder)
Bärbar funktionsgenerator på Arduino: 7 steg (med bilder)

Video: Bärbar funktionsgenerator på Arduino: 7 steg (med bilder)

Video: Bärbar funktionsgenerator på Arduino: 7 steg (med bilder)
Video: learn Arduino programming in 20 seconds!! (Arduino projects) 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 är ett mycket användbart verktyg, särskilt när vi funderar på att testa kretsens svar på en viss signal. I denna instruerbara beskrivning ska jag beskriva byggsekvensen för en liten, lättanvänd, bärbar funktionsgenerator.

Funktioner i projektet:

  • Helt digital kontroll: Inget behov av passiva analoga komponenter.
  • Modulär design: Varje delkrets är en fördefinierad lättanvänd modul.
  • Utgångsfrekvens: Tillgängligt intervall från 0Hz till 10MHz.
  • Enkel kontroll: Enkel vridkodare med inbyggd tryckknapp.
  • Li-ion batteri för bärbar användning, med extern laddningsförmåga.
  • AC- och DC -koppling för utgångsvågform.
  • LCD -ljusstyrka för minskad energiförbrukning.
  • Batteriladdningsindikator.
  • Digital amplitudkontroll.
  • Tre tillgängliga vågformer: Sinus, triangel och kvadrat.

Steg 1: Idén

Idén
Idén
Idén
Idén
Idén
Idén

Det finns många kretsar som kräver viss testutrustning för att få information om kretsens svar på en viss vågform. Detta projekt är baserat på Arduino (Arduino Nano i detta fall), med 3,7V ett litiumjonbatteri som strömkälla vilket gör enheten bärbar. Det är känt att Arduino Nano-kort kräver 5V som strömförsörjning, så elektronisk design innehåller DC-DC boost-omvandlare som omvandlar 3,7V batterispänning till 5V som krävs för att driva Arduino. Således är detta projekt lätt att bygga, helt modulärt, med relativt enkelt schematiskt diagram.

Driva kortet: Enheten har en enda mini-USB-kontakt som tar emot 5V från den externa strömförsörjningen, som kan vara antingen PC eller extern USB-laddare. kretsen utformad på ett sätt att när 5V DC-källan är ansluten, laddas Li-ion-batteriet med TP4056-laddarmodul som är ansluten till strömförsörjningskretsen (ämnet kommer att utökas ytterligare i följande steg).

AD9833: integrerad funktionsgeneratorkrets är en central del av konstruktionen, styrd via SPI -gränssnitt med möjlighet att generera kvadrat/sinus/triangelvåg med frekvensmoduleringsalternativ. Eftersom AD9833 inte har möjlighet att ändra utsignalsamplituden har jag använt en digital 8-bitars potentiometer som en spänningsdelare vid enhetens utgångsslutpunkt (beskrivs i ytterligare steg).

Display: är den grundläggande 16x2 LCD-skärmen, som förmodligen är den mest populära flytande kristallskärmen bland Arduino-användare. För att minska energiförbrukningen finns det ett alternativ att justera LCD-bakgrundsbelysning via PWM-signal från Arduino fördefinierade "analoga" stift.

Efter denna korta introduktion kan vi gå vidare till byggprocessen.

Steg 2: Delar och instrument

Delar och instrument
Delar och instrument

1: Elektroniska delar:

1.1: Integrerade moduler:

  • Arduino Nano -bräda
  • 1602A - Generisk LCD -skärm
  • CJMCU - AD9833 Funktionsgeneratormodul
  • TP4056 - Li -ion batteriladdningsmodul
  • DC-DC Step-Up täckmodul: 1,5V-3V till 5V omvandlare

1.2: Integrerade kretsar:

  • SRD = 05VDC - 5V SPDT -relä
  • X9C104P - 8 -bitars 100KOhm digital potentiometer
  • EC11 - Rotary Encoder with SPST switch
  • 2 x 2N2222A - NPN BJT för allmänna ändamål

1.3: Passiva och oklassificerade delar:

  • 2 x 0.1uF -Keramiska kondensatorer
  • 2 x 100uF - Elektrolytkondensatorer
  • 2 x 10uF - Elektrolytkondensatorer
  • 3 x 10KOhm motstånd
  • 2 x 1.3KOhm motstånd
  • 1 x 1N4007 Likriktardiod
  • 1 x SPDT -omkopplare

1.4: Kontaktdon:

  • 3 x 4-stifts JST 2,54 mm pitchkontakter
  • 3 x 2-stifts JST 2,54 mm pitch-kontakter
  • 1 x RCA -uttagskontakt

2: Mekaniska delar:

  • 1 x 12,5 cm x 8 cm x 3,2 cm Plasthölje
  • 6 x KA-2 mm dragskruvar
  • 4 x KA-8 mm borrskruvar
  • 1 x givarknapp (lock)
  • 1 x 8 cm x 5 cm prototypbräda

3. Instrument och programvara:

  • Lödstation/järn
  • Elektrisk skruvmejsel
  • Slipa filer i många storlekar
  • Vass kniv
  • Borrbitar
  • Skruvmejselbitar
  • Lim pistol
  • Mini-USB-kabel
  • Arduino IDE
  • Bromsok/linjal

Steg 3: Schematisk förklaring

Schematisk förklaring
Schematisk förklaring
Schematisk förklaring
Schematisk förklaring
Schematisk förklaring
Schematisk förklaring

För att göra det lättare att förstå det schematiska diagrammet är beskrivningen uppdelad i underkretsar medan varje delkrets har ansvar för varje konstruktionsblock:

1. Arduino Nano Circuit:

Arduino Nano -modul fungerar som en "huvudhjärna" för vår enhet. Den styr alla perifera moduler på enheten, i både digitala och analoga driftlägen. Eftersom denna modul har sin egen mini-USB-ingång, kommer den att användas både som en ingång för strömförsörjning och programmering. På grund av det är J1 - mini -USB -kontakten kopplad från schematisk symbol för Arduino Nano (U4).

Det finns ett alternativ för att använda dedikerade analoga stift (A0.. A5) som I/O för allmänna ändamål, så några av stiften används som digital utgång och kommunicerar med LCD- och AC/DC -kopplingsval av enhetens utgång. Analoga stift A6 och A7 är dedikerade analoga ingångsstift och kan endast användas som ADC -ingångar på grund av Arduino Nano mikrokontroller ATMEGA328P TQFP -paket, som det definierades i databladet. Lägg märke till att batterispänningsledningen VBAT är ansluten till den analoga ingångsstiftet A7, eftersom vi måste få dess värde för att bestämma låg batteriladdning av litiumjonbatterispänningen.

2. Strömförsörjning:

Strömförsörjningskretsen är baserad på att driva hela enheten via Li-ion-batteri 3,7V omvandlat till en 5V. SW1 är en SPST -omkopplare som styr effektflödet på hela kretsen. Som det framgår av schemat, laddas batteriet via TP4056-modulen när extern strömförsörjning är ansluten via mikro-USB-kontakt på Arduino Nano-modulen. Se till att förbikopplingskondensatorer med flera värden finns på kretsen, eftersom det finns en DC-DC-boost-omvandlare som byter brus på marken och 5V-potentialer i hela kretsen.

3. AD9833 och utgång:

Denna underkrets ger lämplig utgångsvågform, definierad av AD9833-modulen (U1). Eftersom det bara finns en enda strömförsörjning på enheten (5V), är det nödvändigt att fästa kopplingens väljarkrets till utgångskaskaden. C1 -kondensatorn är seriekopplad till amplitudvalssteget och kan tystas via drivström på reläinduktorn, vilket gör att utsignalen spåras direkt till utgångssteget. C1 har värdet 10uF, det är tillräckligt för vågformen även för låga frekvenser att passera genom kondensatorn utan att förvrängas, bara påverkas av DC -borttagning. Q1 används som enkel BJT -omkopplare som används för att driva ström genom reläets induktor. Se till att dioden är ansluten i en omvänd tilldelning till reläinduktorn, för att undvika spänningspikar som kan skada enhetskretsarna.

Sist men inte minst etappen är en amplitudval. U6 är 8-bitars digital potentiometer IC, som fungerar som spänningsdelare för en given utgångsvågform. X9C104P är en 100KOhm digital potentiometer med mycket enkel justering av torkarposition: 3-stifts digitala ingångar för justering av steg/torkarposition.

4. LCD:

16x2 LCD -skärm är ett grafiskt gränssnitt mellan användaren och enhetens kretsar. För att minska energiförbrukningen är LCD -bakgrundsbelysningskatodstift ansluten till Q2 BJT ansluten som switch, styrd av PWM -signal som drivs av Arduino analogWrite -förmåga (beskrivs i Arduino -kodsteg).

5. Kodare:

Kodarkrets är ett kontrollgränssnitt som definierar hela enhetens drift. U9 består av kodare och en SPST -switch, så det finns ingen anledning att lägga till ytterligare knappar i projektet. Kodare och omkopplare ska dras upp av ett externt 10KOhm motstånd, men det kan också definieras via kod. Det rekommenderas att lägga till 0.1uF kondensatorer parallellt med pulsgivarna A och B för att undvika studs på dessa ingångslinjer.

6. JST -kontakter:

Alla externa delar av enheten är anslutna via JST -kontakter, vilket gör det mycket mer bekvämt att montera enheten, med en ytterligare funktion för att minska platsen för misstag under byggprocessen. Kartläggning av kontakterna görs på följande sätt:

  • J3, J4: LCD
  • J5: Kodare
  • J6: Batteri
  • J7: SPST -omkopplare
  • J8: RCA -utgång

Steg 4: Lödning

Lödning
Lödning
Lödning
Lödning
Lödning
Lödning

På grund av detta projekts modulära design blir lödningssteget enkelt:

A. Lödning av huvudkort:

1. Först och främst är det nödvändigt att beskära prototypkortet till storleken på önskade kapslingsdimensioner.

2. Lödning av Arduino Nano -modulen och testning av dess första drift.

3. Lödningskrets och kontroll av alla spänningsvärden överensstämmer med enhetens krav.

4. Lödning AD9833 -modul med alla perifera kretsar.

5. Lödning av alla JST -kontakter.

B. Externa komponenter:

1. Lödning av JST -hananslutningstrådar till LCD -stiften i EXAKT ordning som det var planerat på huvudkortet.

2. Lödning av JST -hankontaktledningar till givaren på samma sätt som föregående steg

3. Lödningsomkopplare till JST -trådarna.

4. Lödning av JST-kablar till batteriet (om det behövs alls. Några av de Li-ion-batterier som finns på eBay är förlödda med en egen JST-kontakt).

Steg 5: Kapsling och montering

Kapsling och montering
Kapsling och montering
Kapsling och montering
Kapsling och montering
Kapsling och montering
Kapsling och montering
Kapsling och montering
Kapsling och montering

När all lödning är klar kan vi fortsätta till enhetsmonteringssekvensen:

1. Tänk på placeringen av enhetens externa delar: I mitt fall föredrog jag att placera givaren under LCD -skärmen när vippströmbrytaren och RCA -kontakten är placerade på separata sidor av lådans låda.

2. Förbereda LCD -ram: Bestäm var LCD -skärmen ska placeras på enheten, se till att den kommer att placeras i rätt riktning, det hände mig flera gånger att efter att jag avslutat hela skärprocessen, var LCD -skärmen inverterad vertikalt, talar om vilken är tråkigt, eftersom det är nödvändigt att ordna om LCD-ramen.

Efter att ramen har valts, borra flera hål i hela ramens omkrets. Ta bort alla oönskade plastsnitt med slipfil.

Sätt in LCD -skärmen från insidan och hitta skruvpunkterna på höljet. Borra hål med borr med lämplig diameter. Sätt i skruvarna och fäst muttrarna på insidan av frontpanelen.

3. Kodare: har bara en roterande del på paketet. Borra området enligt givarens roterande fästdiameter. Sätt in den från insidan, fäst den med en varm limpistol. Sätt på ett lock på det roterande redskapet.

4. Vippströmbrytare: besluta om dimensionerna på vippomkopplaren, så att den kan dras nedåt eller uppåt fritt. Om du har skruvpunkter på vippströmbrytaren, borra lämpliga områden på höljet, annars kan du fästa det med en varm limpistol.

5. RCA-utgångskontakt: Borra hål med lämplig diameter för RCA-utgången på höljets nedre sida. Fäst den med den heta limpistolen.

6. Huvudkort och batteri: Placera litiumjonbatteri på undersidan av höljet. Batteriet kan fästas med en varm limpistol. Huvudkortet ska borras på fyra ställen för 4 skruvar på varje huvudkort hörn. Se till att Arduino mini-USB-ingång är så närmare gränsen som möjligt för höljet (vi måste använda den för laddnings- och programmeringsändamål).

7. Mini-USB: skär av önskat område för Arduino Nano mikro-USB med en slipfil, vilket gör det möjligt att ansluta extern strömförsörjning/PC till enheten när den är helt monterad.

8. Slutligt: Anslut alla JST -kontakter, fäst båda delarna av höljet med fyra 8 mm skruvar i varje hörn av höljet.

Steg 6: Arduino -koden

Arduino -koden
Arduino -koden

Bifogad kod är den fullständiga enhetskoden som behövs för att enheten ska fungera fullständigt. All nödvändig förklaring bifogas i kommentarsektionerna inuti koden.

Steg 7: Slutprovning

Slutprovning
Slutprovning
Slutprovning
Slutprovning

Vi har vår enhet redo att användas. mini-USB-kontakt fungerar både som programmeringsingång och extern laddareingång, så enheten kan programmeras när den är helt monterad.

Hoppas, du kommer att tycka att det här är användbart, Tack för att du läser!;)

Rekommenderad: