Satura rādītājs:

Funkciju ģenerators: 12 soļi (ar attēliem)
Funkciju ģenerators: 12 soļi (ar attēliem)

Video: Funkciju ģenerators: 12 soļi (ar attēliem)

Video: Funkciju ģenerators: 12 soļi (ar attēliem)
Video: 12V 180A BMW automašīnas ģenerators ar ģeneratoru, izmantojot klēpjdatora lādētāju 2024, Jūlijs
Anonim
Funkciju ģenerators
Funkciju ģenerators
Funkciju ģenerators
Funkciju ģenerators

Šī pamācība apraksta funkciju ģeneratora konstrukciju, kuras pamatā ir Maxima analogā integrālā shēma MAX038

Funkciju ģenerators ir ļoti noderīgs instruments elektronikas frīkiem. Tas ir nepieciešams rezonanses shēmu regulēšanai, audio un video iekārtu testēšanai, analogo filtru projektēšanai un daudziem citiem dažādiem mērķiem.

Mūsdienās ir divi galvenie funkciju ģeneratoru veidi; digitālie (uz DSP balstīti, DDS …), kas arvien biežāk tiek izmantoti, un analogie, kas bija to izcelsme.

Abiem veidiem ir savas priekšrocības un trūkumi. Digitālie ģeneratori var ģenerēt signālus ar ļoti stabilu frekvenci, taču tiem ir problēmas ar ļoti tīru sinusa signālu ģenerēšanu (kas nav problēma analogam). Arī galvenokārt izplatīto funkciju ģeneratoriem, kuru pamatā ir DDS pieeja, nav tik liels frekvenču ģenerēšanas diapazons.

Jau sen es gribēju izveidot noderīgu funkciju ģeneratoru, kas varētu kaut kā apvienot dažas abu veidu (analogo un digitālo) ģeneratoru priekšrocības. Es nolēmu dizainu balstīt uz Maxim mikroshēmu MAX038*

* Piezīme - šo mikroshēmu Maxim vairs neražo un nepārdod. Tas ir novecojis. Joprojām ir iespējams to atrast eBay, Aliexpress un citās elektronisko komponentu vietnēs.

Pastāv arī citas analogo funkciju ģeneratora mikroshēmas (XR2206 no Exar, icl8038 no Intersil), bet man bija

pieejams viens MAX038, un es to izmantoju. Funkciju ģeneratora digitālās funkcijas veica viena Atmega328 mikroshēma. Tās funkcijas ir šādas:

  • kontrolē frekvenču diapazona izvēli
  • kontrolē signāla veidu (sinusa, taisnstūra, trīsstūra, zāģa zobs)
  • mēra signāla amplitūdu
  • mēra līdzstrāvas nobīdi
  • mēra signāla frekvenci
  • mēra sinusa signāla THD audio diapazonā (tas vēl ir jāīsteno)
  • parāda visu šo informāciju rakstzīmju 16x2 LCD displejā.

1. darbība: MAX038 Apraksts

MAX038 Apraksts
MAX038 Apraksts

Esmu pievienojis MAX038 datu lapu. Var redzēt vissvarīgākos mikroshēmas parametrus:

♦ 0,1 Hz līdz 20 MHz darba frekvenču diapazons

♦ Trīsstūra, zāģveida, sinusa, kvadrātveida un pulsa viļņu formas

♦ Neatkarīga frekvenču un darba cikla pielāgošana

♦ 350 līdz 1 frekvences slaucīšanas diapazons

♦ 15% līdz 85% mainīga darba cikla

♦ Zemas pretestības izejas buferis: 0,1Ω

♦ Zema 200ppm/° C temperatūras novirze

Vēl viena svarīga prasība ir nepieciešamība pēc divkāršas barošanas (± 5V). Izejas amplitūda ir fiksēta (~ 2 VP-P ar 0 V DC nobīdi).

Datu lapas 8. lappusē var redzēt mikroshēmas blokshēmu. 11. lappusē ir redzama vienkāršākā shēma, ko var izmantot sinusa viļņu signāla ģenerēšanai. Šī shēma tika ņemta par pamatu funkciju ģeneratora projektēšanai.

2. solis: ķēde…

Circuit…
Circuit…

Attēlā ir parādīta funkciju ģeneratora ķēde. Es izdarīju šo attēlu ar vislielāko iespējamo izšķirtspēju, lai garantētu, ka katru.ierīces vērtību var pareizi nolasīt. Shēmas izskatās diezgan sarežģītas, un, lai tās labāk izprastu, tās galvenās daļas es paskaidrošu atsevišķi. Daudzi lasītāji varētu man pārmest, ka ķēde ir pārāk lieka. Tā ir taisnība. Sākumā jūs varat redzēt, ka tajā ir divas MAX038 mikroshēmas. Iemesls ir tāds, ka PCB atbalsta abu veidu paketes SO un DIP. Atlaišanu var redzēt arī dažās funkcijās -

1) gaismas diodes parāda pašreizējo aktīvo frekvenču diapazonu, bet tas tiek parādīts arī LCD;

2) Gaismas diodes tiek izmantotas arī, lai norādītu signāla veidu, bet arī LCD parāda šo informāciju

Dizains ir veidots tā, lai lietotājam būtu lielāka elastība - pēc vēlēšanās viņš nevarētu izmantot LCD vai vienkārši izlaist gaismas diožu lodēšanu. Esmu tos pielodējis, lai projektēšanas fāzēs varētu atkļūdot funkcionalitāti.

Var pamanīt arī to, ka es izmantoju daudz opampus. Dažus no tiem var izlaist bez problēmām - īpaši buferus. Pašlaik opamps pats par sevi piedāvā lielu atlaišanu - vienā iepakojumā var atrast 2, 4 un pat 8 atsevišķus pastiprinātājus, turklāt par salīdzinoši zemu cenu. Kāpēc gan tos neizmantot?

Lieki ir arī filtrēšanas kondensatori - katrai izmantotajai analogā mikroshēmai ir sava kondensatoru banka (tantala + keramikas kondensatori abām piegādēm). Dažus no tiem var arī izlaist.

3. darbība: shēmas skaidrojums - barošanas avots (1)

Ķēdes skaidrojums - barošanas avots (1)
Ķēdes skaidrojums - barošanas avots (1)

Kā jau teicu, šim ģeneratoram ir nepieciešama divkārša padeve. Pozitīvo spriegumu rada, izmantojot 7805 lineāro sprieguma regulatoru. Negatīvo piedāvājumu rada 7905 mikroshēma. 2x6V transformatora vidējais pieskāriena punkts ir savienots ar plates kopējo zemi. Saražotie barošanas avoti - gan pozitīvie, gan negatīvie ir atdalīti no analogajiem un digitālajiem. Divas gaismas diodes norāda uz katra barošanas avota klātbūtni.

4. darbība: shēmas skaidrojums - frekvences diapazona vadība (2)

Ķēdes skaidrojums - frekvences diapazona vadība (2)
Ķēdes skaidrojums - frekvences diapazona vadība (2)

Lai aptvertu lielu frekvenču diapazonu, tiek izmantota vairāku kondensatoru banka. Kondensatoriem ir dažādas vērtības, un tie nosaka dažādus frekvenču apakšgrupas. Darba laikā tiek izmantots tikai viens no šiem kondensatoriem - tā apakšējā plāksne ir iezemēta ar MOS tranzistora slēdzi. Kuru kondensatoru apakšējo plāksni iezemēt, kontrolē Atmega328, izmantojot demultipleksera mikroshēmu 74HC238. Kā MOS slēdži es izmantoju BSS123 tranzistorus. Šī slēdža galvenā prasība ir zems Rons un zemākā iespējamā drenāžas ietilpība. Kondensatoru bankas digitālo vadību var izlaist - PCB ir caurumi vadu lodēšanai mehāniskajam rotējošajam slēdzim.

5. solis: shēmas skaidrojums - frekvences pielāgošana (3)

Ķēdes skaidrojums - frekvences pielāgošana (3)
Ķēdes skaidrojums - frekvences pielāgošana (3)

Attēlā parādīta frekvences un darba cikla vadības shēma. Tur es izmantoju standarta LM358 opamp (duālais pastiprinātājs vienā iepakojumā). Es izmantoju arī dubultus 10K potenciometrus.

Mikroshēma MAX038 ģenerē 2,5 V iekšējā sprieguma atskaiti, kas parasti tiek izmantota kā atsauce visiem pielāgojumiem.

Šis spriegums tiek pielietots IC8a invertējošajā ieejā, un tas rada negatīvu sprieguma atsauci, ko izmanto DADJ (darba cikla pielāgošanai). Abi spriegumi tiek izmantoti DADJ potenciometrā, kura vidējais krāns ir buferizēts un tiek pielietots MAX038 mikroshēmas DADJ tapai. Džemperi JP5 var izmantot, lai atspējotu DADJ funkciju, kad tas ir pievienots zemei. Frekvences vadība "Kurss" tiek sagatavota, mainot pašreizējo nogremdēto / iegūto MAX038 "IIN" tapā. Šo strāvu nosaka rezistors R41 un opamp izejas spriegums, kas buferē kursa frekvences kontroles potenciometra vidējo krānu. To visu var aizstāt ar vienu potenciometru (reostata savienojumā) starp REF un IIN MAX038 tapām.

6. darbība: shēmas skaidrojums - amplitūdas kontrole, SYNC signālu ģenerēšana … (4)

Ķēdes skaidrojums - amplitūdas kontrole, SYNC signālu ģenerēšana … (4)
Ķēdes skaidrojums - amplitūdas kontrole, SYNC signālu ģenerēšana … (4)
Ķēdes skaidrojums - amplitūdas kontrole, SYNC signālu ģenerēšana … (4)
Ķēdes skaidrojums - amplitūdas kontrole, SYNC signālu ģenerēšana … (4)
Ķēdes skaidrojums - amplitūdas kontrole, SYNC signālu ģenerēšana… (4)
Ķēdes skaidrojums - amplitūdas kontrole, SYNC signālu ģenerēšana… (4)
Ķēdes skaidrojums - amplitūdas kontrole, SYNC signālu ģenerēšana … (4)
Ķēdes skaidrojums - amplitūdas kontrole, SYNC signālu ģenerēšana … (4)

Kā rakstīts datu lapā, izejas signāla pf MAX038 amplitūda ir ~ 1 V ar līdzstrāvas spriegumu, kas vienāds ar zemes potenciālu.

Es gribēju, lai man būtu iespēja kontrolēt signāla amplitūdu un patstāvīgi noteikt līdzstrāvas nobīdi. Kā papildu līdzekli es vēlējos, lai paralēli izejas signālam būtu SYNC signāls ar CMOS līmeņiem. Pēc noklusējuma mikroshēma MAX038 ģenerē šādu signālu, bet datu lapā es izlasīju, ka, ja šī funkcija ir iespējota (ko nozīmē - DV+ tapa, kas savienota ar 5 V), izejas analogā signālā var novērot dažas virsotnes (troksni). Es gribēju saglabāt tas ir pēc iespējas tīrāks, un tāpēc es ģenerēju SYNC signālu ārēji. PCB tiek darīts tā, lai DV+ tapu varētu viegli savienot ar galveno barošanas avotu. SYNC tapa tiek novirzīta uz BNC savienotāju - jāpielodē tikai 50 omu rezistors. Šajā gadījumā SYNC signālu ģenerēšanas shēmu var izlaist. Šeit, kā redzat, es izmantoju arī dubultus potenciometrus, bet tie nav savienoti paralēli. Iemesls tam ir - es mēra amplitūdu salīdzinoši. Spriegumu viena potenciometra viduspunktā uztver Atmega328 ADC, un, pamatojoties uz šo vērtību, tiek aprēķināta signāla amplitūda. Protams, šī metode nav ļoti precīza (tā balstās uz abu potenciometru sekciju atbilstību, kas ne vienmēr notiek), bet maniem lietojumiem tā ir pietiekami precīza. Šajā ķēdē IC2A darbojas kā sprieguma buferis. IC4A arī. IC2B opamp darbojas kā summēšanas pastiprinātājs - tas rada funkcionālā ģeneratora izejas signālu kā nobīdes sprieguma un galvenā signāla ar pielāgotu amplitūdu summu. Sprieguma dalītājs R15. R17 ģenerē piemērotu sprieguma signālu līdzstrāvas galvenā signāla nobīdes mērīšanai. To uztver Atmega328 ADC. IC4B opamp darbojas kā salīdzinājums - tas kontrolē SYNC paaudzes invertoru, ko realizē divi MOS tranzistori (BSS123 un BSS84). U6 (THS4281 - Texas Instruments) ar 2,5 V pārslēdz MAX038 DC ģenerēto izejas signālu un pastiprina to 1,5 reizes. Tātad ģenerēto signālu uztver AVR ADC un apstrādā tālāk ar FFT algoritmu. Šajā daļā es izmantoju augstas kvalitātes sliedes līdz sliedēm opamps ar 130 MHz joslas platumu (TI - LMH6619).

Lai būtu viegli saprast, kā tieši darbojas SYNC signāla ģenerēšana, es pievienoju dažus attēlus no ķēdes LTSpice simulācijām. Trešajā attēlā: zilais signāls ir nobīdes spriegums (IC2B ievade). Zaļais ir izejas signāls ar pielāgotu amplitūdu. Sarkanais ir funkcionālā ģeneratora izejas signāls, ciāna līkne ir SYNC signāls.

7. solis: PCB dizains

PCB dizains
PCB dizains

Es izmantoju "Eagle", lai izstrādātu PCB. Es pasūtīju PCB vietnē "PCBway". Plātņu izgatavošanai vajadzēja tikai četras dienas, bet piegādei - nedēļu. Viņu kvalitāte ir augsta, un cena ir ārkārtīgi zema. Es samaksāju tikai 13 USD par 10 PCB!

Papildus tam es varētu pasūtīt citu krāsu PCB bez cenu paaugstināšanas. Esmu izvēlējusies dzeltenās:-).

Es pievienoju Gerber failus saskaņā ar "PCBway" dizaina noteikumiem.

8. solis: lodēšana

Image
Image
Lodēšana
Lodēšana
Lodēšana
Lodēšana

Vispirms es lodēju barošanas shēmas ierīces.

Pēc piegādes bloka pārbaudes esmu lodējis Atmega328 mikroshēmu ar tās atbalsta ierīcēm: kvarca kristālu, kondensatoriem, filtrēšanas vāciņiem un ISP savienotāju. Kā redzat, man ir džemperis AVR mikroshēmas padeves līnijā. Es to atvienoju, kad programmēju mikroshēmu, izmantojot ISP. Šim nolūkam es izmantoju USBtiny programmētāju.

Nākamajā solī es lodēju de-mux mikroshēmu 74HC238, gaismas diodes norāda frekvenču diapazonu. Es ielādēju nelielu Arduino programmu Atmega mikroshēmā, kas pārbaudīja multipleksēšanu. (skatiet videoklipu zem saites iepriekš)

9. solis: lodēšana…

Lodēšana…
Lodēšana…
Lodēšana…
Lodēšana…
Lodēšana…
Lodēšana…

Kā nākamo soli es lodēju opamps, kas darbojas līdzstrāvas režīmā (LM358), un frekvences un DADJ regulēšanas potenciometrus un pārbaudīju visas to funkcijas.

Tālāk es lodēju BSS123 slēdžus, frekvences noteikšanas kondensatorus un mikroshēmu MAX039. Es pārbaudīju funkcionālo ģeneratoru, kas zondē signālu vietējās mikroshēmas signāla izejā. (Jūs varat redzēt manu veco padomju, ražoto 1986. gadā, joprojām strādājošo osciloskopu darbībā:-))

10. solis: vairāk lodēšanas…

Vairāk lodēšanas…
Vairāk lodēšanas…
Vairāk lodēšanas…
Vairāk lodēšanas…
Vairāk lodēšanas…
Vairāk lodēšanas…

Pēc tam es lodēju ligzdu LCD displejam un pārbaudīju to ar "Hello world" skici.

Es lodēju pārējos atlikušos opampus, kondensatorus, potenciometrus un BNC savienotājus.

11. solis: programmatūra

Image
Image
Programmatūra
Programmatūra

Atmega328 programmaparatūras izveidošanai es izmantoju Arduino IDE.

Frekvences mērīšanai izmantoju bibliotēku "FreqCounter". Skices fails un izmantotā bibliotēka ir pieejami lejupielādei. Esmu izveidojis īpašus simbolus, lai attēlotu pašlaik izmantoto režīmu (sinuss, taisnstūris, trīsstūris).

Augšējā attēlā ir redzama LCD ekrānā redzamā informācija:

  • Frekvence F = xxxxxxxx Hz
  • Frekvenču diapazons Rx
  • Amplitūda mV A = xxxx
  • Nobīde mV 0 = xxxx
  • signāla veids x

Funkciju ģeneratoram ir divas spiedpogas priekšpusē kreisajā pusē - tās tiek izmantotas, lai mainītu frekvenču diapazonu (solis uz augšu - solis uz leju). Labajā pusē ir slīdošais slēdzis režīma vadībai, pēc tam no kreisās uz labo sekojiet potenciometram, lai kontrolētu frekvenci (protams, labi, DADJ), amplitūdu un nobīdi. Blakus nobīdes regulēšanas potenciometram ir novietots slēdzis, ko izmanto, lai komutētu starp fiksēto 2,5 V līdzstrāvas nobīdi un noregulēto.

Esmu atradis nelielu kļūdu ZIP faila kodā "Generator.ino" - sinusa un trīsstūra viļņu formu simboli tika nomainīti. Šeit pievienotajā atsevišķajā failā "Generator.ino" kļūda tiek labota.

12. darbība: darīšana…

Image
Image

Kā pēdējo soli es plānoju ieviest papildu funkciju - audio frekvences sinusa signāla THD mērīšanu reālā laikā, izmantojot FFT. Tas ir vajadzīgs, jo sinusa signāla darbības cikls var atšķirties no 50%, ko var izraisīt mikroshēmu iekšējās neatbilstības un citi iemesli, un tas var radīt harmoniskus traucējumus. Darba ciklu var regulēt ar potenciometru, bet, neievērojot osciloskopa vai spektra analizatora signālu, nav iespējams smalki sagriezt tā formu. THD aprēķināšana, pamatojoties uz FFT algoritmu, varētu atrisināt problēmu. THD aprēķinu rezultāts tiks parādīts LCD augšējā labajā tukšajā vietā.

Video var redzēt MAX038 sinusa signāla ģenerētā spektra. Spektra analizatora pamatā ir Arduino UNO plate + 2,4 collu TFT vairogs. Spektra analizators izmanto Anatolija Kuzmenko izstrādāto SpltRadex Arduino bibliotēku, lai reāllaikā veiktu FFT.

Es joprojām neizlēmu - izmantot šo bibliotēku vai izmantot Musiclabs izveidoto FHT bibliotēku.

Es plānoju izmantot informāciju, kas iegūta no frekvenču mērītāja mērījumiem, lai aprēķinātu pareizu paraugu ņemšanas logu un apturētu papildu loga izmantošanu FFT aprēķinu laikā. Man tikai jāatrod brīvs laiks, lai tas notiktu. Ceru, ka drīzumā būs kādi rezultāti….

Ieteicams: