- „Op-Amp“ pagrindai
- Veikia programuojamas stiprinimo stiprintuvas
- Būtini komponentai
- Schema
- „Arduino“ kodas PGA
- Programuojamo stiprinimo stiprintuvo skaičiavimai
- Programuojamo stiprinimo stiprintuvo grandinės testavimas
- Už ir prieš programuojamo stiprinimo stiprintuvą
- Tolesnis tobulinimas
Matavimo pramonėje labai svarbus funkcinis blokas yra programuojamas stiprinimo stiprintuvas (PGA). Jei esate elektronikos entuziastas ar kolegijos studentas, tikriausiai matėte multimetrą ar osciloskopą, kuris labai brangiai matuoja labai mažą įtampą, nes grandinėje yra įmontuotas PGA kartu su galingu ADC, kuris padeda tiksliai matuoti.
Šiais laikais PGA stiprintuvas siūlo „op-amp“ pagrindu veikiantį, ne invertuotą stiprintuvą su vartotojo programuojamu stiprinimo koeficientu. Šio tipo prietaisai turi labai didelę įėjimo impedanciją, platų pralaidumą ir pasirenkamą įėjimo įtampos atskaitą, įmontuotą į IC. Tačiau visos šios funkcijos kainuoja, ir man neverta dėti tokios brangios mikroschemos bendrai programai.
Taigi, norėdamas įveikti šias situacijas, aš pasiūliau susitarimą, susidedantį iš „Op-amp“, „MOSFET“ ir „Arduino“, per kurį man pavyko programiškai pakeisti op-amp stiprinimą. Taigi, šioje pamokoje aš jums parodysiu, kaip sukurti savo programuojamo stiprinimo stiprintuvą su LM358 op-amp ir MOSFETS, ir aš kartu su testavimu aptarsiu keletą grandinės privalumų ir trūkumų.
„Op-Amp“ pagrindai
Norint suprasti šios grandinės veikimą, labai svarbu žinoti, kaip veikia operacinis stiprintuvas. Sužinokite daugiau apie „Op-amp“ vykdydami šią op-amp testerio grandinę.
Aukščiau pateiktame paveikslėlyje galite pamatyti operacinį stiprintuvą. Pagrindinis stiprintuvo darbas yra sustiprinti įvesties signalą, kartu su stiprinimu, op-amp taip pat gali atlikti įvairias operacijas, tokias kaip suma, diferenciacija, integravimas ir kt. Sužinokite daugiau apie sumavimo stiprintuvą ir diferencialinį stiprintuvą čia.
„Op-amp“ turi tik tris gnybtus. Terminalas su (+) ženklu vadinamas neinvertuojančiu įėjimu, o terminalas su (-) ženklu - invertuojančiu įėjimu. Be šių dviejų gnybtų, trečiasis gnybtas yra išvesties gnybtas.
Op-amp laikosi tik dviejų taisyklių
- Jokia srovė nepatenka į op-amp įėjimus.
- Op-amp bando išlaikyti įvadus tuo pačiu įtampos lygiu.
Taigi, išsiaiškinę šias dvi taisykles, galime analizuoti žemiau pateiktas grandines. Be to, sužinokite daugiau apie „Op-amp“, eidami per įvairias „Op-amp“ pagrįstas grandines.
Veikia programuojamas stiprinimo stiprintuvas
Aukščiau pateiktame paveikslėlyje pateikiama pagrindinė idėja apie mano grubaus PGA stiprintuvo grandinės išdėstymą. Šioje grandinėje op-amp yra sukonfigūruotas kaip ne invertuojantis stiprintuvas, ir kaip mes visi žinome su ne invertuojančios grandinės išdėstymu, mes galime pakeisti op-amp stiprinimą keisdami grįžtamąjį rezistorių arba įėjimo rezistorių kaip matote iš minėto grandinės išdėstymo, man tiesiog reikia perjungti MOSFET po vieną, kad pakeisčiau op-amp stiprinimą.
Testavimo skyriuje aš padariau tik tai, kad perjungiau MOSFET po vieną ir palyginau išmatuotas vertes su praktinėmis vertėmis, o rezultatus galite stebėti žemiau esančiame skyriuje „grandinės testavimas“.
Būtini komponentai
- „Arduino Nano“ - 1
- LM358 IC - 1
- LM7805 reguliatorius - 1
- BC548 bendrasis NPN tranzistorius - 2
- BS170 Bendrasis N kanalo MOSFET - 2
- 200K rezistorius - 1
- 50K rezistorius - 2
- 24K rezistorius - 2
- 6.8K rezistorius - 1
- 1K rezistorius - 4
- 4.7K rezistorius - 1
- 220R, 1% rezistorius - 1
- Bendras lytėjimo jungiklis - 1
- Gintaro šviesos diodas 3 mm - 2
- Bendra duonos lenta - 1
- „Jumper Wires Generic“ - 10
- Maitinimas ± 12 V - 1
Schema
Norėdami parodyti programuojamo stiprinimo stiprintuvą, schema sukonstruota ant be lydmetalio plokštės, naudojant schemą; Siekiant sumažinti vidinį parazitinį induktyvumą ir duonos lentos talpumą, visi komponentai buvo išdėstyti kuo arčiau.
Ir jei jums įdomu, kodėl mano duoninėje yra laidų spiečius? leisk man pasakyti, kad tai geras žemės sujungimas, nes duonos lentos vidinės įžeminimo jungtys yra labai prastos.
Čia grandinės op-amp yra sukonfigūruotas kaip neinvertuojantis stiprintuvas, o įėjimo įtampa iš 7805 įtampos reguliatoriaus yra 4,99 V.
Išmatuota rezistoriaus R6 vertė yra 6,75 K, o R7 yra 220,8 R. Šie du rezistoriai sudaro įtampos daliklį, kuris naudojamas generuoti įvesties bandymo įtampą op-amp. Rezistoriai R8 ir R9 yra naudojamos siekiant apriboti įvesties bazinę srovę tranzistorius T3 ir T4. Kad rezistoriai R10 ir R11 yra naudojamos siekiant apriboti perjungimo greitis MOSFETs T1 & T2, kitaip, tai gali sukelti virpesiai grandine.
Šiame tinklaraštyje noriu parodyti MOSFET, o ne BJT naudojimo priežastį, taigi ir grandinės išdėstymą.
„Arduino“ kodas PGA
Čia „Arduino Nano“ naudojamas tranzistoriaus bazei ir MOSFET vartams valdyti, o įtampos lygiams rodyti naudojamas multimetras, nes įmontuotas „Arduino“ ADC atlieka labai prastą darbą, kai reikia matuoti žemą lygį įtampos lygiai.
Visas šio projekto „Arduino“ kodas pateiktas žemiau. Kadangi tai labai paprastas „Arduino“ kodas, nereikia įtraukti jokių bibliotekų. Bet mes turime apibrėžti kai kurias konstantas ir įvesties kaiščius, kaip parodyta kode.
Negaliojančiu Setup () yra pagrindinis funkcinis blokas, kur Skaityti ir rašyti operacija visų įėjimų ir išėjimų atliekami kaip už reikalavimą.
#define BS170_WITH_50K_PIN 9 #define BS170_WITH_24K_PIN 8 #define BC548_WITH_24K_PIN 7 #define BC548_WITH_50K_PIN 6 #define BUTTON_PIN 5 #define LED_PIN1 2Define_DIN_DIN_DIN_DID_DEN_PASTATYKITE_PASTATYKITE_PAVIDUOTI_DARBUOTI_DET_PAVALOTI_DARBUOTI_DET_PASTATYKITE_DARBUOTI_DET_PASTATYKITE_DARBUOTI_DET_PAVALOTE_DIEN_PASTATYKE_DET_PASTATYKITE_PASTATYKITE_DET_PASIETI_DET_DET_DET_DET_PASTATYKITE_PASTATYTI int debounce_counter = 0; negaliojanti sąranka () {pinMode (BS170_WITH_50K_PIN, OUTPUT); „pinMode“ (BS170_WITH_24K_PIN, OUTPUT); „pinMode“ (BC548_WITH_24K_PIN, OUTPUT); pinMode (BC548_WITH_50K_PIN, OUTPUT); pinMode (LED_PIN1, OUTPUT); pinMode (LED_PIN2, OUTPUT); „pinMode“ (BUTTON_PIN, INPUT); } void loop () {bool val = digitalRead (BUTTON_PIN); // perskaityti įvesties vertę, jei (val == LOW) {debounce_counter ++; jei (debounce_counter> PRESSED_CONFIDENCE_LEVEL) {debounce_counter = 0; mygtukas_supresuojamas ++; } if (button_is_pressed == 0) {digitalWrite (BS170_WITH_50K_PIN, HIGH); „digitalWrite“ (BS170_WITH_24K_PIN, LOW);„digitalWrite“ (BC548_WITH_24K_PIN, LOW); „digitalWrite“ (BC548_WITH_50K_PIN, LOW); „digitalWrite“ (LED_PIN1, LOW); „digitalWrite“ (LED_PIN2, LOW); } if (button_is_pressed == 2) {digitalWrite (BS170_WITH_24K_PIN, HIGH); „digitalWrite“ (BS170_WITH_50K_PIN, LOW); „digitalWrite“ (BC548_WITH_24K_PIN, LOW); „digitalWrite“ (BC548_WITH_50K_PIN, LOW); „digitalWrite“ (LED_PIN1, LOW); „digitalWrite“ (LED_PIN2, HIGH); } if (button_is_pressed == 3) {digitalWrite (BC548_WITH_24K_PIN, HIGH); „digitalWrite“ (BC548_WITH_50K_PIN, LOW); „digitalWrite“ (BS170_WITH_24K_PIN, LOW); „digitalWrite“ (BS170_WITH_50K_PIN, LOW); „digitalWrite“ (LED_PIN1, HIGH); „digitalWrite“ (LED_PIN2, HIGH); } if (button_is_pressed == 1) {digitalWrite (BC548_WITH_50K_PIN, HIGH); „digitalWrite“ (BS170_WITH_50K_PIN, LOW); „digitalWrite“ (BS170_WITH_24K_PIN, LOW); „digitalWrite“ (BC548_WITH_24K_PIN, LOW); „digitalWrite“ (LED_PIN1, HIGH);„digitalWrite“ (LED_PIN2, LOW); } if (mygtukas_aspaudžiamas> = 4) {mygtukas_paspaudžiamas = 0; }}}
Programuojamo stiprinimo stiprintuvo skaičiavimai
Išmatuotos PGA stiprintuvo grandinės vertės parodytos žemiau.
Vin = 4,99 V R7 = 220,8 Ω R6 = 6,82 KΩ R5 = 199,5 K R4 = 50,45 K R3 = 23,99 K R2 = 23,98 K R1 = 50,5 K
Atkreipkite dėmesį! Išmatuotos rezistoriaus vertės parodytos, nes su išmatuotomis rezistoriaus reikšmėmis galime glaudžiai palyginti teorines ir praktines vertes.
Dabar skaičiavimas iš įtampos daliklio skaičiuoklės parodytas žemiau,
Įtampos daliklio išėjimas yra 0,1564V
Apskaičiuojant 4 rezistorių neinvertuojančio stiprintuvo stiprinimą
Vout, kai R1 yra pasirinktas rezistorius
Vout = (1+ (199,5 / 50,5)) * 0,1564 = 0,77425V
Vout, kai R2 yra pasirinktas rezistorius
Vout = (1+ (199,5 / 23,98)) * 0,1564 = 1,45755V
Vout, kai R3 yra pasirinktas rezistorius
Vout = (1+ (199,5 / 23,99)) * 0,1564 = 1,45701V
Vout, kai R4 yra pasirinktas rezistorius
Vout = (1+ (199,5 / 50,45)) * 0,1564 = 0,77486V
Viską dariau, kad kuo labiau palyginčiau teorines ir praktines vertybes.
Atlikę visus skaičiavimus, galime pereiti prie testavimo skyriaus.
Programuojamo stiprinimo stiprintuvo grandinės testavimas
Aukščiau pateiktame paveikslėlyje parodyta išėjimo įtampa, kai įjungta MOSFET T1, taigi srovė teka per rezistorių R1.
Aukščiau pateiktame paveikslėlyje parodyta išėjimo įtampa, kai įjungtas tranzistorius T4, todėl srovė teka per rezistorių R4.
Aukščiau pateiktame paveikslėlyje parodyta išėjimo įtampa, kai įjungtas MOSFET T2, todėl srovė teka per rezistorių R2.
Aukščiau pateiktame paveikslėlyje parodyta išėjimo įtampa, kai įjungtas tranzistorius T3, taigi srovė teka per rezistorių R3.
Kaip matote iš schemos, kad T1, T2 yra MOSFET, o T3, T4 yra tranzistoriai. Taigi, kai naudojami MOSFET, paklaida yra 1–5 mV diapazone, tačiau kai tranzistoriai naudojami kaip jungikliai, gauname klaidą 10–50 mV diapazone.
Remiantis aukščiau pateiktais rezultatais, akivaizdu, kad MOSFET yra tokios rūšies taikymo goto sprendimas, o teorinės ir praktinės klaidos gali būti sukeltos dėl op-amp klaidos.
Atkreipkite dėmesį! Atkreipkite dėmesį, kad aš pridėjau du šviesos diodus tik dėl bandymo ir jų nerandate tikrojoje schemoje, jis rodo dvejetainį kodą, kuris parodo, kuris kaištis yra aktyvus
Už ir prieš programuojamo stiprinimo stiprintuvą
Kadangi ši grandinė yra pigi, lengva ir paprasta, ją galima įgyvendinti daugelyje skirtingų programų.
Čia MOSFET yra naudojamas kaip jungiklis, skirtas perduoti visą srovę per rezistorių į žemę, todėl temperatūros poveikis nėra tikras, o turėdamas ribotus įrankius ir bandymo įrangą negalėjau parodyti jums skirtingos temperatūros poveikio grandinė.
Tikslas naudoti BJT kartu su MOSFET yra todėl, kad noriu jums parodyti, koks prastas BJT gali būti tokio pobūdžio programoms.
Grįžtamojo ryšio rezistorių ir įvesties rezistorių vertės turi būti KΩ diapazone, tai yra todėl, kad esant mažesnėms rezistoriaus reikšmėms, per MOSFET tekės daugiau srovės, taigi MOSFET sumažės daugiau įtampos ir bus nenuspėjami rezultatai.
Tolesnis tobulinimas
Grandinę galima toliau modifikuoti, kad pagerintume jos veikimą, pavyzdžiui, mes galime pridėti filtrą, kad atmestume aukšto dažnio garsus.
Kadangi šiame bandyme naudojamas „LM358“ želė pupelių op-amp, op-ampero paklaidos vaidina svarbų vaidmenį esant išėjimo įtampai. Taigi jį galima dar labiau patobulinti naudojant instrumentinį stiprintuvą, o ne LM358.
Ši grandinė sukurta tik demonstravimo tikslais. Jei galvojate apie šios grandinės naudojimą praktiškai, norėdami pasiekti visišką stabilumą, turite naudoti smulkintuvo tipo stiprintuvą ir didelio tikslumo 0,1 omo rezistorių.
Tikiuosi, kad šis straipsnis jums patiko ir iš jo sužinojote kažką naujo. Jei turite kokių nors abejonių, galite paklausti žemiau pateiktų komentarų arba pasinaudoti mūsų forumais išsamiai diskusijai.