Sisällysluettelo:
- Vaihe 1: MAX038 Kuvaus
- Vaihe 2: Piiri…
- Vaihe 3: Piirin selitys - virtalähde (1)
- Vaihe 4: Piirin selitys - taajuusalueohjaus (2)
- Vaihe 5: Piirin selitys - taajuuden säätö (3)
- Vaihe 6: Piirin selitys - amplitudin säätö, SYNC -signaalin luominen… (4)
- Vaihe 7: Piirilevyn suunnittelu
- Vaihe 8: Juotos
- Vaihe 9: Juotos …
- Vaihe 10: Lisää juottamista…
- Vaihe 11: Ohjelmisto
- Vaihe 12: Tehtävä…
Video: Toimintogeneraattori: 12 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Tässä ohjeessa kuvataan Maximsin analogiseen integroituun piiriin MAX038 perustuva toimintogeneraattorin rakenne
Toimintogeneraattori on erittäin hyödyllinen työkalu elektroniikkahulluille. Sitä tarvitaan resonanssipiirien virittämiseen, ääni- ja videolaitteiden testaamiseen, analogisten suodattimien suunnitteluun ja moniin muihin tarkoituksiin.
Nykyään on olemassa kaksi päätyyppiä funktiogeneraattoreita; digitaalisia (DSP -pohjaisia, DDS…), joita käytetään yhä useammin, ja analogisia, jotka olivat alkuperä.
Molemmilla tyypeillä on etunsa ja haittansa. Digitaaliset generaattorit voivat tuottaa signaaleja erittäin vakaalla taajuudella, mutta niillä on ongelmia erittäin puhtaiden sinisignaalien tuottamisessa (mikä ei ole ongelma analogiselle). Myös pääasiassa DDS -lähestymistapaan perustuvilla hajautetuilla funktiogeneraattoreilla ei ole niin suurta taajuusgeneraatioaluetta.
Olen jo pitkään halunnut suunnitella hyödyllisen toimintogeneraattorin, joka voisi jotenkin yhdistää joitain molempien (analogisten ja digitaalisten) generaattoreiden etuja. Päätin perustaa suunnittelun Maxim -siruun MAX038*
* Huomautus - Maxim ei enää tuota ja myy tätä sirua. Se on vanhentunut. Se on edelleen mahdollista löytää eBayssa, Aliexpressissä ja muilla elektronisten komponenttien sivustoilla.
On olemassa myös muita analogisia toimintogeneraattoripiirejä (XR2206 Exarilta, icl8038 Intersililtä), mutta minulla oli
yksi MAX038 saatavilla, ja käytin sitä. Toimintogeneraattorin digitaaliset ominaisuudet suoritettiin yhdellä Atmega328 -sirulla. Sen toiminnot ovat seuraavat:
- ohjaa taajuusalueen valintaa
- ohjaa signaalin tyyppiä (sini-, suorakulmainen, kolmionmuotoinen, sahahammas)
- mittaa signaalin amplitudin
- mittaa DC -poikkeaman
- mittaa signaalin taajuuden
- mittaa äänialueen sinisignaalin THD: n (tämä on vielä toteutettava)
- näyttää kaikki nämä tiedot 16x2 merkin LCD -näytöllä.
Vaihe 1: MAX038 Kuvaus
Olen liittänyt MAX038 -tietolomakkeen, josta näet tärkeimmät siruparametrit:
♦ 0,1 Hz - 20 MHz toimintataajuusalue
♦ Kolmio-, sahahammas-, sini-, neliö- ja pulssiaaltomuodot
♦ Taajuuden ja käyttöjaksojen riippumattomat säädöt
♦ 350 - 1 taajuusalue
♦ 15% - 85% muuttuva käyttöjakso
♦ Alhaisen impedanssin lähtöpuskuri: 0,1Ω
♦ Alhainen 200 ppm/° C lämpötilaero
Toinen tärkeä vaatimus on tarve kaksoissyöttöä (± 5V). Lähtöamplitudi on kiinteä (~ 2 VP-P ja 0 V DC -poikkeama).
Tietolomakkeen sivulla 8 on sirun lohkokaavio. Sivulla 11 on yksinkertaisin piiri, jota voidaan käyttää siniaalto -signaalin tuottamiseen. Tämä piiri otettiin perustaksi funktiogeneraattorin suunnittelulle.
Vaihe 2: Piiri…
Kuvassa esitetään funktiogeneraattorin piiri, jonka tein tämän kuvan mahdollisimman suurella resoluutiolla taatakseni, että jokainen.laitearvo voidaan lukea oikein. Kaaviot näyttävät melko monimutkaisilta, ja niiden ymmärtämiseksi paremmin selitän sen pääosat erikseen. Monet lukijat voivat syyttää minua siitä, että piiri on liian tarpeeton. Se on totta. Aluksi näet, että se sisältää kaksi MAX038 -sirua. Syynä on, että piirilevy tukee molempia SO- ja DIP -paketteja. Redundanssi näkyy myös joissakin toiminnoissa -
1) LEDit osoittavat nykyisen aktiivisen taajuusalueen, mutta se näkyy myös nestekidenäytössä;
2) LED -valoja käytetään myös ilmaisemaan signaalin tyyppi, mutta myös nestekidenäyttö näyttää nämä tiedot
Suunnittelu on tehty siten, että käyttäjä saa enemmän joustavuutta - halutessaan hän ei voinut käyttää nestekidenäyttöä tai yksinkertaisesti jättää pois LED -valojen juottamisen. Olen juottanut ne voidakseni korjata toiminnallisuuden suunnitteluvaiheessa.
On myös huomattava, että käytän paljon opampeja. Jotkut niistä voidaan jättää pois ilman ongelmia - erityisesti puskurit. Tällä hetkellä opampit tarjoavat itsessään suuren redundanssin - yhdessä paketissa on 2, 4 tai 8 erillistä vahvistinta, ja tämä suhteellisen alhaisella hinnalla. Miksei niitä käytetä?
Redundantteja ovat myös suodatuskondensaattorit - jokaisella käytetyllä analogisella sirulla on oma kondensaattoripankki (tantaali + keraamiset kondensaattorit molemmille tarvikkeille). Jotkut niistä voidaan myös jättää pois.
Vaihe 3: Piirin selitys - virtalähde (1)
Kuten sanoin, tämä generaattori vaatii kaksoissyötön. Positiivinen jännite syntyy käyttämällä 7805 lineaarista jännitesäädintä. Negatiivinen tarjonta syntyy 7905 -sirulla. 2x6V muuntajan keskikohta on kytketty levyn yhteiseen maahan. Syntyvät virtalähteet - sekä positiiviset että negatiiviset - on erotettu analogisista ja digitaalisista virtalähteistä. Kaksi LED -valoa ilmaisee kunkin virransyötön.
Vaihe 4: Piirin selitys - taajuusalueohjaus (2)
Suuren taajuusalueen kattamiseksi käytetään useita kondensaattoripankkeja. Kondensaattoreilla on erilaiset arvot ja ne määrittelevät eri taajuusalialueet, vain yhtä näistä kondensaattoreista käytetään työn aikana - sen pohjalevy on maadoitettu MOS -transistorikytkimellä. Maadoitettavien kondensaattoreiden pohjalevyä ohjaa Atmega328 demultiplekserisirulla 74HC238. MOS -kytkiminä käytin BSS123 -transistoreita. Tämän kytkimen tärkein vaatimus on alhainen Ron ja pienin mahdollinen tyhjennyskapasiteetti. Kondensaattoripankin digitaalinen ohjaus voidaan jättää pois - piirilevy sisältää reikiä mekaanisen kiertokytkimen johtojen juottamiseen.
Vaihe 5: Piirin selitys - taajuuden säätö (3)
Kuvassa näkyy taajuuden ja käyttöjakson ohjauspiiri. Siellä käytin tavallista LM358 -opampia (kaksoisvahvistin yhdessä paketissa). Käytin myös kahta 10K potentiometriä.
MAX038 -siru tuottaa sisäisen 2,5 V: n jänniteohjeen, jota käytetään normaalisti referenssinä kaikkiin säätöihin.
Tämä jännite syötetään IC8a: n invertoivaan tuloon ja se muodostaa negatiivisen jänniteohjeen, jota käytetään DADJ: ssä (käyttöjakson säätö). Molemmat jännitteet syötetään DADJ: n potentiometriin, joka keskipiste puskuroidaan ja kohdistetaan MAX038 -sirun DADJ -nastaan. Hyppyjohdinta JP5 voidaan käyttää DADJ -toiminnon poistamiseen käytöstä, kun se on kytketty maahan. "Course" -taajuuden säätö esimuodostetaan muuttamalla nykyinen upotettu / lähdetty MAX038 "IIN" -tappiin. Tämä virta määritetään vastuksella R41 ja opamp -lähtöjännitteellä, joka puskuroi kurssitaajuuden säätöpotentiometrin keskiventtiiliä. Kaikki nämä voidaan korvata yhdellä potentiometrillä (reostaattiliitännässä) REF- ja IIN MAX038 -nastojen välillä.
Vaihe 6: Piirin selitys - amplitudin säätö, SYNC -signaalin luominen… (4)
Kuten tietolomakkeessa on kirjoitettu, lähtösignaalin pf MAX038 amplitudi on ~ 1 V ja tasavirtajännite on yhtä suuri kuin maapotentiaali.
Halusin, että minulla on mahdollisuus ohjata signaalin amplitudia ja pystyä määrittämään DC -offset itse. Lisäominaisuutena halusin saada SYNC -signaalin CMOS -tasoilla rinnakkain lähtösignaalin kanssa. Oletusarvoisesti MAX038 -siru tuottaa tällaisen signaalin, mutta tietolomakkeesta luin, että jos tämä ominaisuus on käytössä (mitä tarkoittaa - DV+ -nasta, joka on kytketty 5 V: iin), analogisessa lähtösignaalissa voidaan havaita joitain huippuja (kohinaa). se on mahdollisimman puhdas, ja siksi synnytin SYNC -signaalin ulkoisesti. Piirilevy on tehty siten, että DV+ -tappi voidaan yhdistää helposti päävirtalähteeseen. SYNC -nasta reititetään BNC -liittimeen - vain 50 ohmin vastus on juotettava. Tässä tapauksessa SYNC -signaalin generointipiiri voidaan jättää pois. Tässä, kuten näette, käytän myös kahta potentiometriä, mutta niitä ei ole kytketty rinnakkain. Syy tähän on - mittaan amplitudin suhteellisesti. Atmega328 ADC tunnistaa jännitteen yhden potentiometrin keskipisteessä ja signaalin amplitudi lasketaan tämän arvon perusteella. Tämä menetelmä ei tietenkään ole kovin tarkka (se perustuu molempien potentiometrin osien yhteensopivuuteen, mikä ei aina tapahdu), mutta se on tarpeeksi tarkka sovelluksiini. Tässä piirissä IC2A toimii jännitepuskurina. IC4A myös. IC2B -opamp toimii summausvahvistimena - se luo toiminnallisen generaattorin lähtösignaalin offset -jännitteen ja pääsignaalin summana, jolla on säädetty amplitudi. Sen tunnistaa Atmega328 ADC. IC4B -opamp toimii vertailuna - se ohjaa kahden MOS -transistorin (BSS123 ja BSS84) toteuttamaa SYNC -sukupolven invertteriä. U6 (THS4281 - Texas Instruments) siirtää MAX038 DC: n tuottaman lähtösignaalin 2,5 V: lla ja vahvistaa sitä 1,5 kertaa. Joten AVR ADC havaitsee generoidun signaalin ja käsittelee sitä edelleen FFT -algoritmilla. Tässä osassa käytin korkealaatuisia rautatie -kisko -opampeja 130 MHz: n kaistanleveydellä (TI - LMH6619).
Jotta SYNC -signaalin luominen toimii oikein, olen lisännyt joitain kuvia piirin LTSpice -simulaatioista. Kolmannessa kuvassa: sininen signaali on offset -jännite (IC2B: n tulo). Vihreä on lähtösignaali, jonka amplitudi on säädetty. Punainen on toiminnallisen generaattorin lähtösignaali, syaani käyrä on SYNC -signaali.
Vaihe 7: Piirilevyn suunnittelu
Käytin "Eagle" piirilevyn suunnittelussa. Tilasin piirilevyt "PCBwaystä". Niiden valmistamiseen kului vain neljä päivää ja niiden toimittamiseen viikko. Niiden laatu on korkea ja hinta on erittäin alhainen. Maksoin vain 13 USD 10 PCB: stä!
Tämän lisäksi voisin tilata erivärisiä piirilevyjä ilman hinnankorotuksia. Olen valinnut keltaiset:-).
Liitän gerber -tiedostot "PCBway" -suunnittelusääntöjen mukaisesti.
Vaihe 8: Juotos
Ensin juotin virtalähdepiirilaitteet..
Syöttölohkon testaamisen jälkeen olen juottanut Atmega328 -sirun tukilaitteineen: kvartsikiteellä, kondensaattoreilla, suodatinkorkilla ja ISP -liittimellä. Kuten näette, minulla on hyppyjohdin AVR -sirun syöttölinjassa. Irrotan sen, kun ohjelmoin sirun Internet -palveluntarjoajan kautta. Käytän tähän tarkoitukseen USBtiny -ohjelmoijaa.
Seuraavana vaiheena juotin de-mux-sirun 74HC238, LEDit osoittavat taajuusalueen. Latasin pienen Arduino -ohjelman Atmega -siruun, joka testasi multipleksointia. (katso video yllä olevan linkin alta)
Vaihe 9: Juotos …
Seuraavana vaiheena juotin DC -tilassa (LM358) toimivat taajuus- ja taajuus- ja DADJ -säätöpotentiometrit ja tarkistin niiden kaikki toiminnot.
Lisäksi juotin BSS123 -kytkimet, taajuutta määrittävät kondensaattorit ja MAX039 -sirun. Testasin toiminnallisen generaattorin, joka tutkii signaalin natiivisirun signaalilähdössä. (Näet vanhan Neuvostoliiton, valmistetun 1986, edelleen toimivan oskilloskoopin toiminnassa:-))
Vaihe 10: Lisää juottamista…
Sen jälkeen juotin nestekidenäytön pistorasian ja testasin sitä "Hello world" -luonnoksella.
Juotin muut jäljellä olevat opaamit, kondensaattorit, potentiometrit ja BNC -liittimet.
Vaihe 11: Ohjelmisto
Atmega328 -laiteohjelmiston luomiseen käytin Arduino IDE: tä.
Taajuuden mittaamiseen käytin FreqCounter -kirjastoa. Luonnostiedosto ja käytetty kirjasto ovat ladattavissa. Olen luonut erikoissymboleja edustamaan käytössä olevaa tilaa (sini, suorakulmainen, kolmio).
Yllä olevassa kuvassa näkyvät nestekidenäytössä näkyvät tiedot:
- Taajuus F = xxxxxxxx Hz
- Taajuusalue Rx
- Amplitudi mV A = xxxx
- Siirtymä mV 0 = xxxx
- signaalin tyyppi x
Toimintogeneraattorissa on kaksi painiketta vasemmalla puolella edessä - niitä käytetään vaihtamaan taajuusaluetta (askel ylös - askel alas). Niiden oikealla puolella on liukukytkin tilan ohjaamiseksi, sen jälkeen vasemmalta oikealle seuraa potentiometriä taajuuden (kurssi, hieno, DADJ), amplitudin ja offsetin säätämiseksi. Siirtymän säätöpotentiometrin lähellä on kytkin, jota käytetään kommutoimaan kiinteän 2,5 V DC -poikkeaman ja viritetyn välillä.
Löysin pienen virheen ZIP -tiedoston "Generator.ino" -koodista - sini- ja kolmioaaltomuotojen symbolit vaihdettiin. Tässä liitteenä olevassa yksittäisessä "Generator.ino" -tiedostossa virhe korjataan.
Vaihe 12: Tehtävä…
Viimeisenä vaiheena aion ottaa käyttöön lisäominaisuuden - äänitaajuuden sinisignaalin THD -mittauksen reaaliajassa FFT: n avulla. Tämä on tarpeen, koska sinisignaalin toimintajakso voi poiketa 50%: sta, mikä voi johtua sisäisistä sirun epäsuhdista ja muista syistä ja voi aiheuttaa harmonisia vääristymiä. Käyttöjaksoa voidaan säätää potentiometrillä, mutta ilman oskilloskoopin tai spektrianalysaattorin signaalin tarkkailua on mahdotonta leikata sen muotoa hienosti. THD: n laskeminen FFT -algoritmin perusteella voisi ratkaista ongelman. THD -laskelmien tulos näkyy nestekidenäytössä oikeassa yläkulmassa.
Videolla näkyy MAX038 -sinisignaalin tuottaman spektrin. Spektrianalysaattori perustuu Arduino UNO -korttiin + 2,4 TFT -suojaan. Spektrianalysaattori käyttää Anatoli Kuzmenkon kehittämää SpltRadex Arduino -kirjastoa suorittamaan FFT reaaliajassa.
En edelleenkään päättänyt - käyttää tätä kirjastoa tai käyttää Musiclabsin luomaa FHT -kirjastoa.
Aion käyttää taajuusmittarin mittauksista saatuja tietoja oikean näytteenottoikkunan laskemiseen ja keskeyttää lisäikkunoinnin käytön FFT -laskelmien aikana. Minun on vain löydettävä vapaa -aika tämän toteuttamiseksi. Toivon saavani jotain tuloksia pian….
Suositeltava:
Kannettava toimintogeneraattori WiFi: ssä ja Androidissa: 10 vaihetta
Kannettava toimintogeneraattori WiFi- ja Android -laitteilla: Lähes 1900 -luvun loppua kohden ilmaantui erilaisia teknologisia innovaatioita erityisesti viestinnän alalla. mutta ei vain. Meille käyttäjille, kuluttajille ja insinööreille tuli ilmi elektronisten laitteiden nopea kehitys, jotka voivat tehdä elämästämme
DIY -toimintogeneraattori ja STC MCU helposti: 7 vaihetta (kuvilla)
DIY -toimintogeneraattori STC MCU: lla Helposti: Tämä on toimintogeneraattori, joka on valmistettu STC MCU: lla. Tarvitset vain useita komponentteja ja piiri on yksinkertainen. Tekniset tiedot Lähtö: Yksikanavainen neliön aaltomuodon taajuus: 1 Hz ~ 2 MHz Sine Waveform -taajuus: 1 Hz ~ 10 kHz Amplitudi: VCC, noin 5 V
Yksinkertainen toimintogeneraattori: 5 vaihetta
Yksinkertainen toimintogeneraattori: Viimeisessä ohjeessani näytin sinulle, kuinka rakentaa pwm -signaaligeneraattori, ja käytin sitä suodattamaan joitain muita aaltomuotoja siitä. Tässä ohjeessa näytän sinulle, kuinka tehdä yksinkertaisia toiminto-/taajuusgeneraattoreita, kuinka ajaa relettä sen kanssa ja kuinka b
Toimintogeneraattori: 4 vaihetta
Toimintogeneraattori: Hei kaikki, tarvitsetteko halpaa toimintogeneraattoria? Suurimmassa osassa projektia …… tein sen käytettäväksi langattomien voimansiirtomoduulien valmistamiseen
Kannettava toimintogeneraattori Arduinossa: 7 vaihetta (kuvilla)
Kannettava toimintogeneraattori Arduinossa: Toimintogeneraattori on erittäin hyödyllinen työkalu, varsinkin kun harkitsemme piirimme vastauksen testaamista tiettyyn signaaliin. Tässä ohjeessa kuvailen pienen, helppokäyttöisen, kannettavan toimintogeneraattorin rakennussekvenssin