Sadržaj:

Prijenosni generator funkcija na Arduinu: 7 koraka (sa slikama)
Prijenosni generator funkcija na Arduinu: 7 koraka (sa slikama)

Video: Prijenosni generator funkcija na Arduinu: 7 koraka (sa slikama)

Video: Prijenosni generator funkcija na Arduinu: 7 koraka (sa slikama)
Video: ШИМ на Attiny 13, AVR, CodeVisionAvr 2024, Srpanj
Anonim
Image
Image
Prijenosni generator funkcija na Arduinu
Prijenosni generator funkcija na Arduinu
Prijenosni generator funkcija na Arduinu
Prijenosni generator funkcija na Arduinu

Generator funkcija vrlo je koristan alat, osobito kada razmatramo testiranje odziva našeg kruga na određeni signal. U ovom uputstvu opisat ću slijed izgradnje malog, prijenosnog generatora funkcija, lakog za korištenje.

Značajke projekta:

  • Potpuno digitalno upravljanje: Nema potrebe za pasivnim analognim komponentama.
  • Modularni dizajn: Svaki podkrug je unaprijed definiran modul jednostavan za korištenje.
  • Izlazna frekvencija: Dostupan raspon od 0Hz do 10MHz.
  • Jednostavno upravljanje: Jedan rotacijski davač s ugrađenim pritiskom na gumb.
  • Li-ion baterija za prijenosnu upotrebu, s mogućnošću vanjskog punjenja.
  • AC i DC sprega za izlazni valni oblik.
  • LCD kontrola svjetline za smanjenje potrošnje energije.
  • Indikator napunjenosti baterije.
  • Digitalna kontrola amplitude.
  • Tri dostupna valna oblika: sinus, trokut i kvadrat.

Korak 1: Ideja

Ideja
Ideja
Ideja
Ideja
Ideja
Ideja

Postoji mnogo sklopova koji zahtijevaju određenu opremu za ispitivanje kako bi se dobile informacije o odzivu kruga na određeni valni oblik. Ovaj projekt temelji se na Arduinu (u ovom slučaju Arduino Nano), s 3,7 V litij-ionskom baterijom kao izvorom napajanja, čime je uređaj postao prenosiv. Poznato je da Arduino Nano ploča zahtijeva 5V kao izvor napajanja, pa elektronički dizajn sadrži DC-DC pretvarač koji pretvara napon baterije od 3,7 V u 5 V potrebno za napajanje Arduina. Stoga je ovaj projekt lako izgraditi, potpuno modularni, s relativno jednostavnim shematskim dijagramom.

Napajanje ploče: Uređaj ima jedan mini-USB priključak koji prima 5V iz vanjskog izvora napajanja, što može biti ili računalo ili vanjski USB punjač. sklop dizajniran na način da se, kad je priključen izvor od 5 V DC, Li-ionska baterija puni pomoću modula punjača TP4056 koji je priključen na strujno kolo (tema će se dalje proširiti u sljedećim koracima).

AD9833: krug generatora integrirane funkcije središnji je dio dizajna, upravlja se putem SPI sučelja sa sposobnošću generiranja kvadrata/sinusa/trokuta s valnom opcijom frekvencijske modulacije. Budući da AD9833 nema mogućnost mijenjanja amplitude izlaznog signala, koristio sam digitalni 8-bitni potenciometar kao razdjelnik napona na izlaznoj krajnjoj točki uređaja (bit će opisano u daljnjim koracima).

Zaslon: je osnovni 16x2 LCD, koji je vjerojatno najpopularniji zaslon s tekućim kristalima među korisnicima Arduina. Kako bi se smanjila potrošnja energije, postoji mogućnost podešavanja pozadinskog osvjetljenja LCD-a putem PWM signala s unaprijed definiranog "analognog" pina Arduino.

Nakon ovog kratkog uvoda, možemo pristupiti procesu izgradnje.

Korak 2: Dijelovi i instrumenti

Dijelovi i instrumenti
Dijelovi i instrumenti

1: Elektronički dijelovi:

1.1: Integrirani moduli:

  • Arduino Nano ploča
  • 1602A - Generički zaslon s tekućim kristalima
  • CJMCU - AD9833 Modul generatora funkcija
  • TP4056 - Modul punjača Li -ion baterija
  • DC-DC Step-Up pokrivni modul: pretvarač 1,5V-3V u 5V

1.2: Integrirani krugovi:

  • SRD = 05VDC - 5V SPDT relej
  • X9C104P - 8 -bitni 100KOhm digitalni potenciometar
  • EC11 - Rotacijski davač sa SPST prekidačem
  • 2 x 2N2222A - NPN opće namjene BJT

1.3: Pasivni i nerazvrstani dijelovi:

  • 2 x 0,1uF -Keramički kondenzatori
  • 2 x 100uF - Elektrolitički kondenzatori
  • 2 x 10uF - Elektrolitički kondenzatori
  • 3 x 10KOhm otpornici
  • 2 x 1,3KOhm otpornika
  • 1 x 1N4007 Ispravljačka dioda
  • 1 x Prekidač SPDT

1.4: Priključci:

  • 3 x 4-pinski JST konektori 2,54 mm
  • 3 x 2-pinski JST konektori 2,54 mm
  • 1 x RCA utičnica za utičnicu

2: Mehanički dijelovi:

  • 1 x 12,5 cm x 8 cm x 3,2 cm Plastično kućište
  • 6 x vijaka za izvlačenje KA-2 mm
  • 4 x vijci za bušenje KA-8 mm
  • 1 x Ručica kodera (kapa)
  • 1 x 8 cm x 5 cm Prototipna ploča

3. Instrumenti i softver:

  • Lemilica/željezo
  • Električni odvijač
  • Brusne datoteke raznih veličina
  • Oštar nož
  • Burgije
  • Bitovi za odvijač
  • Pištolj za vruće ljepilo
  • Mini-USB kabel
  • Arduino IDE
  • Čeljust/ravnalo

Korak 3: Objašnjenje shema

Objašnjenje shema
Objašnjenje shema
Objašnjenje shema
Objašnjenje shema
Objašnjenje shema
Objašnjenje shema

Kako bi se olakšalo razumijevanje shematskog dijagrama, opis je podijeljen u potkrugove, dok svaki podkrug ima odgovornost za svaki projektni blok:

1. Arduino nano krug:

Arduino Nano modul djeluje kao "glavni mozak" za naš uređaj. On kontrolira sve periferne module na uređaju, u digitalnom i analognom načinu rada. Budući da ovaj modul ima vlastiti mini-USB ulazni priključak, on će se koristiti i kao ulaz za napajanje i za ulaz programskog sučelja. Zbog toga je J1 - mini -USB konektor odvojen od shematskog simbola Arduino Nano (U4).

Postoji mogućnost korištenja namjenskih analognih pinova (A0.. A5) kao I/O opće namjene, pa se neki pinovi koriste kao digitalni izlaz, komunicirajući s LCD i AC/DC spojnicom odabira izlaza uređaja. Analogni pinovi A6 i A7 namjenski su analogni ulazi i mogu se koristiti samo kao ADC ulazi, zbog Arduino Nano mikrokontrolera ATMEGA328P TQFP paketa, kako je definirano u podatkovnoj tablici. Uočite da je naponski vod baterije VBAT spojen na analogni ulazni pin A7, jer moramo dobiti njegovu vrijednost kako bismo utvrdili nisko stanje baterije napona Li-ionske baterije.

2. Napajanje:

Krug napajanja temelji se na napajanju cijelog uređaja putem Li-ion baterije 3,7V pretvorene u 5V. SW1 je prekidač SPST koji kontrolira protok energije u cijelom krugu. Kao što se može vidjeti iz shema, kada se vanjsko napajanje spoji putem micro-USB konektora Arduino Nano modula, baterija se puni kroz TP4056 modul. Uvjerite se da su u krugu prisutni zaobilazni kondenzatori s nekoliko vrijednosti, budući da postoji DC-DC pretvarač pojačanja koji uključuje šum na tlu i 5 V potencijale cijelog kruga.

3. AD9833 i izlaz:

Ovo podkruženje daje odgovarajući izlazni valni oblik, definiran AD9833 modulom (U1). Budući da na uređaju postoji samo jedno napajanje (5V), potrebno je spojiti krug za odabir spojnice na izlaznu kaskadu. C1 kondenzator spojen je serijski na stupanj odabira amplitude i može se utišati putem pogonske struje na relejnom induktoru, čime se izlazni signal prati ravno do izlaznog stupnja. C1 ima vrijednost 10uF, dovoljno je da valni oblik čak i niskih frekvencija prođe kroz kondenzator bez izobličenja, na što utječe samo uklanjanje istosmjerne struje. Q1 se koristi kao jednostavan BJT prekidač koji se koristi za pokretanje struje kroz induktor releja. Provjerite je li dioda obrnuto raspoređena na relejni induktor kako biste izbjegli skokove napona koji mogu oštetiti krugove uređaja.

Posljednja, ali ne i najmanje važna faza, je odabir amplitude. U6 je 8-bitni digitalni potenciometar IC, koji djeluje kao razdjelnik napona za dati izlazni valni oblik. X9C104P je digitalni potenciometar od 100KOhm s vrlo jednostavnim podešavanjem položaja brisača: 3-pinski digitalni ulazi za podešavanje položaja brisača za povećanje/smanjenje.

4. LCD:

16x2 zaslon s tekućim kristalima grafičko je sučelje između sklopa korisnika i uređaja. Kako bi se smanjila potrošnja energije, katodni pin LCD pozadinskog osvjetljenja spojen je na Q2 BJT spojen kao prekidač, kontroliran PWM signalom pogonjenim Arduino analogWrite sposobnošću (bit će opisano u koraku Arduino koda).

5. Kodirač:

Krug davača je upravljačko sučelje koje definira rad cijelog uređaja. U9 se sastoji od kodera i SPST prekidača, pa nema potrebe dodavati dodatne gumbe u projekt. Igle davača i sklopke trebaju biti podignute vanjskim otpornicima od 10KOhm, ali to se također može definirati pomoću koda. Preporuča se dodavanje 0,1uF kondenzatora paralelno s pinovima davača A i B kako bi se izbjeglo poskakivanje na ovim ulaznim vodovima.

6. JST konektori:

Svi vanjski dijelovi uređaja povezani su putem JST konektora, čime je znatno pogodnije sastaviti uređaj, s dodatnom značajkom smanjenja mjesta grešaka tijekom procesa izgradnje. Mapiranje konektora vrši se na ovaj način:

  • J3, J4: LCD
  • J5: Davač
  • J6: Baterija
  • J7: Prekidač SPST
  • J8: Izlazni konektor RCA

Korak 4: Lemljenje

Lemljenje
Lemljenje
Lemljenje
Lemljenje
Lemljenje
Lemljenje

Zbog modularnog dizajna ovog projekta, korak lemljenja postaje jednostavan:

A. Lemljenje glavne ploče:

1. Prije svega, potrebno je izrezati prototipnu ploču na željenu veličinu kućišta.

2. Lemljenje Arduino Nano modula i ispitivanje njegovog početnog rada.

3. Krug napajanja za lemljenje i provjera svih vrijednosti napona u skladu su sa zahtjevima uređaja.

4. Lemljenje AD9833 modula sa svim perifernim krugovima.

5. Lemljenje svih JST konektora.

B. Vanjske komponente:

1. Lemljenje žica muškog konektora JST na LCD pinove TAČNIM redoslijedom kako je planirano na glavnoj ploči.

2. Lemljenje žica muškog konektora JST na koder slično kao u prethodnom koraku

3. Prekidač za lemljenje na žice JST.

4. Lemljenje JST žica na bateriju (ako je uopće potrebno. Neke od Li-ionskih baterija dostupne na eBayu prethodno su lemljene vlastitim JST konektorom).

Korak 5: Kućište i montaža

Kućište i montaža
Kućište i montaža
Kućište i montaža
Kućište i montaža
Kućište i montaža
Kućište i montaža
Kućište i montaža
Kućište i montaža

Nakon obavljenog lemljenja, možemo pristupiti slijedu montaže uređaja:

1. Razmislite o postavljanju vanjskih dijelova uređaja: U mom slučaju, radije sam postavio davač ispod LCD -a, kada su prekidač i RCA konektor postavljeni na zasebne strane kutije kućišta.

2. Priprema okvira LCD -a: Odlučite gdje će se LCD nalaziti na uređaju, pobrinite se da bude postavljen u pravom smjeru, nekoliko puta mi se dogodilo da je nakon što sam završio s cijelim rezanjem LCD zaslon bio preokrenut vertikalno, govoreći o tome žalosno je jer je potrebno preurediti okvir LCD-a.

Nakon odabira okvira, izbušite nekoliko rupa na obodu cijelog okvira. Uklonite sve neželjene plastične rezove turpijom za brušenje.

Umetnite LCD iznutra i pronađite mjesta vijaka na kućištu. Izbušite rupe svrdlima odgovarajućeg promjera. Umetnite izvučene vijke i pričvrstite matice s unutarnje strane prednje ploče.

3. Davač: ima samo jedan rotacijski dio na pakiranju. Izbušite područje prema promjeru okretnog priključka davača. Umetnite ga iznutra, pričvrstite pištoljem za vruće ljepilo. Na okretni nastavak stavite čep.

4. Prekidač: odlučite se o dimenzijama okretnog prekidača, tako da se može slobodno povući prema dolje ili prema gore. Ako imate prekidače na vijcima, izbušite odgovarajuća područja na kućištu, inače ih možete pričvrstiti pištoljem za vruće ljepilo.

5. Izlazni konektor RCA: Izbušite rupu odgovarajućeg promjera za izlaz RCA konektora na bočnoj i donjoj strani kućišta. Pričvrstite ga pištoljem za vruće ljepilo.

6. Glavna ploča i baterija: Postavite Li-ion bateriju na donju stranu kućišta. Baterija se može pričvrstiti pištoljem za vruće ljepilo. Glavnu ploču treba izbušiti na četiri mjesta za 4 vijka na svakom uglu glavne ploče. Uvjerite se da je mini-USB ulaz Arduino što bliže granici kućišta (morat ćemo ga koristiti za punjenje i programiranje).

7. Mini-USB: odrežite željeno područje za Arduino Nano micro-USB datotekom za brušenje, što omogućuje povezivanje vanjskog napajanja/računala s uređajem kada je potpuno sastavljen.

8. Konačno: Spojite sve JST konektore, pričvrstite oba dijela kućišta s četiri vijka od 8 mm na svakom kutu kućišta.

Korak 6: Arduino kod

Arduino kod
Arduino kod

Priloženi kôd je potpuni kôd uređaja koji je potreban za potpuni rad uređaja. Sva potrebna objašnjenja nalaze se u odjeljcima komentara unutar koda.

Korak 7: Završno testiranje

Završno testiranje
Završno testiranje
Završno testiranje
Završno testiranje

Naš uređaj je spreman za upotrebu. mini-USB priključak djeluje i kao ulaz programatora i kao ulaz za vanjski punjač, pa se uređaj može programirati kada je potpuno sastavljen.

Nadam se da će vam ovo uputstvo biti korisno, Hvala na čitanju!;)

Preporučeni: