Sadržaj:
- Korak 1: Opis MAX038
- Korak 2: Krug…
- Korak 3: Objašnjenje kruga - Napajanje (1)
- Korak 4: Objašnjenje kruga - Kontrola raspona frekvencija (2)
- Korak 5: Objašnjenje kruga - podešavanje frekvencije (3)
- Korak 6: Objašnjenje kola - Kontrola amplitude, SYNC generiranje signala … (4)
- Korak 7: Dizajn PCB -a
- Korak 8: Lemljenje
- Korak 9: Lemljenje …
- Korak 10: Više lemljenja …
- Korak 11: Softver
- Korak 12: Treba biti gotov…
Video: Generator funkcija: 12 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
Ovo uputstvo opisuje dizajn generatora funkcija zasnovanog na Maxims -ovom analognom integriranom krugu MAX038
Generator funkcija je vrlo koristan alat za nakaze elektronike. Potreban je za podešavanje rezonantnih kola, ispitivanje audio i video opreme, projektiranje analognih filtera i za mnoge druge različite svrhe.
Danas postoje dvije glavne vrste generatora funkcija; digitalni, (zasnovani na DSP -u, DDS …) koji se sve češće koriste i analogni, koji su bili podrijetlo.
Obje vrste imaju svoje prednosti i nedostatke. Digitalni generatori mogu generirati signale s vrlo stabilnom frekvencijom, ali imaju problema s generiranjem vrlo čistih sinusnih signala (što nije problem za analogni). Također, generatori funkcija širenja funkcija zasnovani na DDS pristupu nemaju tako veliki raspon generiranja frekvencija.
Dugo sam želio dizajnirati generator korisnih funkcija, koji bi nekako mogao kombinirati neke od prednosti oba tipa (analognih i digitalnih) generatora. Odlučio sam dizajn zasnovati na Maxim čipu MAX038*
* Napomena - ovaj čip više ne proizvodi i ne prodaje Maxim. To je zastarjelo. Još uvijek ga je moguće pronaći na eBayu, Aliexpressu i drugim web stranicama za elektroničke komponente.
Postoje i drugi čipovi za generiranje analognih funkcija (XR2206 iz Exara, icl8038 iz Intersila), ali imao sam
dostupan je jedan MAX038 i ja sam ga koristio. Digitalne karakteristike generatora funkcija izvedene su jednim čipom Atmega328. Njegove funkcije su sljedeće:
- kontrolira odabir frekvencijskog raspona
- kontrolira vrstu signala (sinusni, pravokutni, trokutasti, pilasti)
- mjeri amplitudu signala
- mjeri DC pomak
- mjeri frekvenciju signala
- mjeri THD sinusnog signala u audio opsegu (ovo se još mora primijeniti)
- prikazuje sve ove informacije na karakternom LCD ekranu veličine 16x2.
Korak 1: Opis MAX038
Priložio sam podatkovnu tablicu MAX038. Tu se mogu vidjeti najvažniji parametri čipa:
♦ 0,1Hz do 20MHz raspon radnih frekvencija
♦ Trokutni, pilasti, sinusni, kvadratni i pulsni valni oblici
♦ Nezavisno podešavanje frekvencije i radnog ciklusa
♦ 350 do 1 frekvencijski opseg
♦ Promenljivi radni ciklus od 15% do 85%
♦ Izlazni međuspremnik niske impedanse: 0,1Ω
♦ Niski temperaturni pomak od 200 ppm/° C
Drugi važan zahtjev je potreba za dvostrukim napajanjem (± 5V). Izlazna amplituda je fiksna (~ 2 VP-P sa pomakom od 0 V DC).
Na stranici 8 podatkovnog lista može se vidjeti blok-dijagram čipa. Na stranici 11 može se vidjeti najjednostavnije kolo koje se može koristiti za generiranje signala sinusnog vala. Ovo kolo je uzeto kao osnova za dizajn generatora funkcija.
Korak 2: Krug…
Na slici je predstavljeno kolo generatora funkcija. Napravio sam ovu sliku s najvećom mogućom rezolucijom kako bih zajamčio da se svaka vrijednost.device može ispravno očitati. Sheme izgledaju prilično složene i da bih ih bolje razumio, objasnit ću njihove glavne dijelove zasebno. Mnogi čitatelji bi me mogli kriviti da je kolo previše suvišno. To je istina. U početku možete vidjeti da sadrži dva čipa MAX038. Razlog je taj što PCB podržava obje vrste paketa SO i DIP. Višak se može vidjeti i u nekim funkcijama -
1) LED diode prikazuju trenutni raspon aktivnih frekvencija, ali se također prikazuju i na LCD -u;
2) LED diode se koriste i za označavanje vrste signala, ali i LCD prikazuje ove informacije
Dizajn je napravljen na ovaj način kako bi korisniku omogućio veću fleksibilnost - po želji ne bi mogao koristiti LCD ili jednostavno može izostaviti lemljenje LED dioda. Lemio sam ih da mogu otkloniti greške u funkcionalnostima tokom faza projektovanja.
Također se može primijetiti da koristim mnogo opampova. Neki od njih mogu se izostaviti bez problema - posebno međuspremnici. U današnje vrijeme opamps sami po sebi nude veliku redundanciju - u jednom paketu možete pronaći 2, 4 čak 8 zasebnih pojačala, i to po relativno niskoj cijeni. Zašto ih ne koristiti?
Suvišni su i kondenzatori za filtriranje - svaki upotrijebljeni analogni čip ima svoju vlastitu bateriju kondenzatora (tantal + keramički kondenzatori za oba izvora). Neki od njih se također mogu izostaviti.
Korak 3: Objašnjenje kruga - Napajanje (1)
Kao što sam rekao ovaj generator zahtijeva dvostruko napajanje. Pozitivni napon stvara se pomoću linearnog regulatora napona 7805. Negativno napajanje generira čip 7905. Srednja točka dodira 2x6V transformatora spojena je na zajedničko uzemljenje ploče. Generirana napajanja - i pozitivno i negativno, odvajaju se od analognih i digitalnih klinova. Dvije LED diode ukazuju na prisutnost svakog napajanja.
Korak 4: Objašnjenje kruga - Kontrola raspona frekvencija (2)
Za pokrivanje velikog frekvencijskog raspona koristi se više kondenzatorskih grupa. Kondenzatori imaju različite vrijednosti i definiraju različite frekvencijske podopsege. Tokom rada koristi se samo jedan od ovih kondenzatora - njegova donja ploča je uzemljena MOS tranzistorskim prekidačem. Donja ploča kondenzatora koja će biti uzemljena kontrolira Atmega328 upotrebom čipa demultipleksera 74HC238. Kao MOS sklopke koristio sam BSS123 tranzistore. Glavni zahtjev za ovu sklopku je imati nizak Ron i najmanji mogući kapacitet odvoda. Digitalna kontrola kondenzatorske baterije može se izostaviti - PCB sadrži rupe za lemljenje žica za mehanički okretni prekidač.
Korak 5: Objašnjenje kruga - podešavanje frekvencije (3)
Na slici su prikazani krug kontrole frekvencije i radnog ciklusa. Tamo sam koristio standardni LM358 opamp (dvostruko pojačalo u jednom paketu). Koristio sam i dva 10K potenciometra.
Čip MAX038 stvara referentni napon internog napona 2.5V, koji se normalno koristi kao referenca za sva podešavanja.
Ovaj napon se primjenjuje na invertirajući ulaz IC8a i generira referencu negativnog napona koji se koristi za DADJ (podešavanje radnog ciklusa). Oba napona se primjenjuju na potenciometru za DADJ, čiji je srednji slavina puferirana i primijenjena na DADJ pin MAX038 čipa. Kratkospojnik JP5 može se koristiti za onemogućavanje funkcije DADJ, kada je spojen na masu. Upravljanje frekvencijom "Kurs" vrši se promjenom trenutne struje koja se nalazi na MAX038 "IIN" pinu. Ova struja je definirana otpornikom R41 i izlaznim naponom opampa koji puferira srednju slavinu potenciometra za kontrolu frekvencije kursa. Sve se to može zamijeniti jednim potenciometrom (u spoju reostata) između pinova REF i IIN MAX038.
Korak 6: Objašnjenje kola - Kontrola amplitude, SYNC generiranje signala … (4)
Kako je zapisano u tehničkom listu, izlazni signal pf MAX038 ima amplitudu ~ 1 V sa istosmjernim naponom jednakim potencijalu uzemljenja.
Htio sam imati mogućnost kontrole amplitude signala i biti u mogućnosti sam definirati DC pomak. Kao dodatnu karakteristiku želio sam imati SYNC signal sa CMOS nivoima paralelno sa izlaznim signalom. Prema zadanim postavkama čip MAX038 generira takav signal, ali u tehničkom listu sam pročitao da ako je ova funkcija omogućena (što znači - DV+ pin spojen na 5V), mogu se primijetiti neki vrhovi (šum) u izlaznom analognom signalu. Htio sam zadržati što je moguće čistiji i iz tog razloga sam izvana generirao SYNC signal. PCB je načinjen tako da se DV+ pin može lako premostiti do glavnog napajanja. SYNC pin je usmjeren na BNC konektor - samo 50 Ohm otpornik mora biti lemljen. U tom slučaju, krug generiranja SYNC signala može se izostaviti. Ovdje kao što vidite koristim i dvostruke potenciometre, ali oni nisu povezani paralelno. Razlog za to je - mjerim amplitudu relativno. Napon u srednjoj točki jednog potenciometra detektira Atmega328 ADC i amplituda signala se izračunava na temelju ove vrijednosti. Naravno, ova metoda nije vrlo precizna (oslanja se na podudaranje obje sekcije potenciometra, što se ne događa uvijek), ali je dovoljno precizna za moje primjene. U ovom krugu IC2A radi kao međuspremnik napona. IC4A takođe. IC2B opamp radi kao sumirajuće pojačalo - stvara izlazni signal funkcionalnog generatora kao zbroj ofsetnog napona i glavnog signala s prilagođenom amplitudom. Razdjelnik napona R15. R17 generira odgovarajući naponski signal za mjerenje pomaka glavnog istosmjernog signala. Opaža ga ADC Atmega328. IC4B opamp radi kao usporednik - kontrolira pretvarač generacije SYNC koji realiziraju dva MOS tranzistora (BSS123 i BSS84). U6 (THS4281 - Texas Instruments) pomiče izlazni signal koji generira MAX038 DC za 2,5 V i pojačava ga 1,5 puta. Tako generirani signal se detektira pomoću AVR ADC -a i dalje obrađuje pomoću FFT algoritma. U ovom dijelu koristio sam visokokvalitetne opamps od tračnice do pruge sa propusnošću od 130 MHz (TI - LMH6619).
Da bi bilo lakše razumjeti kako točno funkcionira generiranje SYNC signala, dodajem neke slike LTSpice simulacija kola. Na trećoj slici: plavi signal je offset napon (ulaz IC2B). Zeleni je izlazni signal sa podešenom amplitudom. Crvena je izlazni signal funkcionalnog generatora, Cijan krivulja je SYNC signal.
Korak 7: Dizajn PCB -a
Koristio sam "Eagle" za dizajniranje PCB -a. Naručio sam štampane ploče na "PCBway". Njima je trebalo samo četiri dana za proizvodnju ploča i sedmicu dana za njihovu isporuku. Njihova kvaliteta je visoka, a cijena izuzetno niska. Platio sam samo 13 USD za 10 PCB -a!
Osim toga, mogao sam naručiti PCB -e različitih boja bez povećanja cijene. Odabrao sam žute:-).
Prilažem gerber datoteke prema "PCBway" pravilima dizajna.
Korak 8: Lemljenje
Prvo sam zalemio uređaje za napajanje.
Nakon testiranja bloka za napajanje, lemio sam čip Atmega328 sa pratećim uređajima: kvarcni kristal, kondenzatori, kape za filtriranje i ISP konektor. Kao što vidite, imam kratkospojnik u liniji napajanja AVR čipa. Isključujem ga kada programiram čip preko ISP -a. U tu svrhu koristim USBtiny programator.
Kao sljedeći korak sam lemio de-mux čip 74HC238, LED diode pokazuju raspon frekvencija. Učitao sam mali Arduino program u čip Atmega, koji je testirao multipleksiranje. (pogledajte video ispod gornje veze)
Korak 9: Lemljenje …
Kao sljedeći korak lemio sam opamps koji rade u DC modu (LM358) i potenciometre za podešavanje frekvencije i DADJ i provjerio sve njihove funkcije.
Nadalje sam lemio prekidače BSS123, kondenzatore za određivanje frekvencije i čip MAX039. Testirao sam funkcionalni generator koji ispituje signal na izvornom izlazu signala čipa. (Možete vidjeti moj stari sovjetski, proizveden 1986., još uvijek radeći osciloskop na djelu:-))
Korak 10: Više lemljenja …
Nakon toga sam lemio utičnicu za LCD ekran i testirao je sa skicom "Hello world".
Lemio sam ostale preostale opamps, kondenzatore, potenciometre i BNC konektore.
Korak 11: Softver
Za kreiranje Atmega328 firmvera koristio sam Arduino IDE.
Za mjerenje frekvencije koristio sam biblioteku "FreqCounter". Datoteka skice i korištena biblioteka dostupni su za preuzimanje. Napravio sam posebne simbole koji predstavljaju trenutno korišteni način rada (sinus, pravokutnik, trokut).
Na gornjoj slici se mogu vidjeti informacije prikazane na LCD -u:
- Frekvencija F = xxxxxxxx u Hz
- Frekvencijski raspon Rx
- Amplituda u mV A = xxxx
- Odmak u mV 0 = xxxx
- vrsta signala x
Generator funkcija ima dva gumba na prednjoj strani s lijeve strane - oni se koriste za promjenu frekvencijskog raspona (korak gore -korak dolje). Desno od njih nalazi se klizni prekidač za kontrolu načina rada, a nakon njega slijeva nadesno slijedi potenciometar za kontrolu frekvencije (kurs, fino, DADJ), amplitude i pomaka. Blizu potenciometra za podešavanje pomaka postavljen je prekidač koji se koristi za komutaciju između fiksnog na 2.5V DC pomaka i podešenog.
Pronašao sam malu grešku u kodu "Generator.ino" u ZIP datoteci - simboli za sinusne i trokutaste valove zamijenjeni su. U jednoj datoteci "Generator.ino" koja je ovdje priložena greška je ispravljena.
Korak 12: Treba biti gotov…
Kao posljednji korak namjeravam implementirati dodatnu funkciju - mjerenje THD -a sinusnog signala audio frekvencije u stvarnom vremenu pomoću FFT -a. To je potrebno, jer se radni ciklus sinusnog signala može razlikovati od 50%, što može biti uzrokovano unutrašnjim neusklađenostima čipova i drugim razlozima, a moglo bi stvoriti harmonijska izobličenja. Radni ciklus se može podesiti potenciometrom, ali bez promatranja signala na osciloskopu ili analizatoru spektra nemoguće je fino izrezati njegov oblik. Izračunavanje THD -a na temelju algoritma FFT moglo bi riješiti problem. Rezultat THD proračuna bit će prikazan na LCD -u u gornjem desnom praznom prostoru.
Na videu se može vidjeti spektar generiranog sinusnog signala MAX038. Analizator spektra je baziran na Arduino UNO ploči + 2,4 -inčni TFT štit. Analizator spektra koristi spltRadex Arduino biblioteku koju je razvio Anatolij Kuzmenko za izvođenje FFT -a u realnom vremenu.
Još uvijek nisam odlučio - koristiti ovu biblioteku ili koristiti FHT biblioteku koju su kreirali Musiclabs.
Namjeravam upotrijebiti informacije preuzete s mjerenja frekvencijskog mjerila za izračun odgovarajućeg prozora uzorkovanja i obustaviti upotrebu dodatnih prozora tokom proračuna FFT -a. Trebam samo pronaći malo slobodnog vremena da se to dogodi. Nadam se da ću uskoro imati neke rezultate….
Preporučuje se:
Prijenosni generator funkcija na WiFi i Androidu: 10 koraka
Prijenosni generator funkcija na WiFi i Androidu: Krajem 20. stoljeća pojavile su se razne tehnološke inovacije, posebno u području komunikacija; ali ne samo. Za nas, korisnike, potrošače i inženjere došlo je do brzog razvoja elektroničkih uređaja koji nam mogu učiniti živote
Generator funkcija "uradi sam" sa STC MCU -om jednostavno: 7 koraka (sa slikama)
Uradi sam generator funkcija sa STC MCU -om Lako: Ovo je generator funkcija napravljen sa STC MCU -om. Potrebno je samo nekoliko komponenti, a krug je jednostavan. Specifikacija Izlaz: Jednokanalni kvadratni talasni oblik Frekvencija: 1Hz ~ 2MHz Sinusni talasni talas Frekvencija: 1Hz ~ 10kHz Amplituda: VCC, oko 5V Podržano opterećenje
DIY funkcija/Generator talasa: 6 koraka (sa slikama)
DIY funkcija/Generator talasnog oblika: U ovom projektu ćemo kratko pogledati komercijalne funkcije/generatore talasnih oblika kako bismo utvrdili koje su karakteristike važne za DIY verziju. Nakon toga ću vam pokazati kako stvoriti jednostavan generator funkcija, analogni i brojčani
Jeftina DIY DDS funkcija/generator signala: 4 koraka (sa slikama)
Jeftina DIY DDS funkcija/generator signala: Ove ploče modula DDS generatora signala mogu se kupiti za samo 15 USD ako pogledate unaokolo. Oni će prilično precizno generirati valne oblike sinusa, kvadrata, trokuta, pile (i obrnuto) (i nekoliko drugih). Takođe imaju kontrole na dodir, amplitudu
Prijenosni generator funkcija na Arduinu: 7 koraka (sa slikama)
Prijenosni generator funkcija na Arduinu: Generator funkcija je vrlo koristan alat, posebno kada razmatramo testiranje odziva našeg kola na određeni signal. U ovom uputstvu opisat ću slijed izgradnje malog, prijenosnog generatora funkcija, lakog za korištenje