Re: Val av operationsförstärkare vid MCP3008 ADC?
Postat: 16 mars 2016, 19:46:58
Fråga en av mina nuvarande kunder och du kan nog få en avvikande åsikt. 

Svenskt forum för elektroniksnack.
https://elektronikforumet.com/forum/
Är det en instrumentförstärkare du talar om?Al_Bundy skrev:Huvudräkning är inte min grej.
Hur som helst. På en förstärkare så anger man V+ och V-. På V+ åker det in 5 volt och V- anses som referens. Om output är 3 volt. Är då V- 2 volt då?
Nu har jag inte så mycket koll. Men på något sett så måste det finnas en annan output som skickar iväg "restspänningen".
Vi säger att jag förstärker upp A = 1000, A*(0,003-0) = 3 volt = output. Och min V+ är 5 volt. Vad blir då V-?
Tack för ditt långa inlägg.Magnus_K skrev:Snabbkurs i operationsförstärkare (opamp):
Hur kopplingspunkterna nedan benämns i olika dokument kan ibland skilja lite om man vet hur en opamp fungerar så kan man också snabbt skilja på dessa olika namn.
För att göra detta inlägg enhetligt så kommer jag referera till bilden och dess benämningar.
Vsupply+ och Vsupply-:
Matningsspänning till opampen. Som du förstår så måste opampen ha en matning som så många andra ting. Förutom en helt "vanlig" matning så kan du också se dessa två spänningar som ändlägen i utsignalen. Man brukar säga att utgången "svingar" mellan dessa matningar.
Pga sin konstruktion så kommer aldrig utgången kunna svinga exakt till sina matningsspänningar utan beroende på konstruktion kommer du komma olika nära.
När jag började labba med opampar så var detta en av de första sakerna jag gjorde bort mig på. Jag matade min opamp med +5 och jord och när jag förväntade mig att utgången skulle ge jord (0V) så kome den aldrig lägre än 1,5V.
Det berodde just på vad jag skrev ovan. Konstruktionen förhindrade den att gå närme än 1,5V till Vsupply-.
Det vackra med opampar är å andra sidan att Vsupply- inte alltid ska jordas utan du har möjligheten att mata med negativ spänning här. Hade jag matat med +5V och -1,5V så min utgång kunnat gå ner till 0V.
Tänk på det här när läser databladen och designar din kretsen. Förutsätt aldrig att din opamp:s utgång kan nå upp/ner till exakt den spänningen du matar med.
Vin+ och Vin-:
Det är här du koppplar in dina två signaler som ska "behandlas".
Det underbara med opampar är att dom alltid har skyhög ingångsimpedans här. Enkelt sagt så innebär det din opamp inte kommer påverka din övriga krets så mycket - den "stjäl" i stort sett ingen ström från din signalkrets. (Obs. till skilland på matningarna däremot, där den tar den så mycket ström den får).
Det opampen alltid försöker sträva efter är att hålla ingångarna lika. Förklaring av detta följer.
Tänk dig att du står med en vattenslang och två hinkar framför dig. Vattenstrålen går inte att stänga av och du måste spruta i en hink hela tiden, aldrig utanför.
Är det massor av vatten i den ena hinken så kommer du självklart sikta på den tomma hinken. När du sedan kommit ikapp så siktar du på den andra hinken.
Opampen kommer göra det samma. Ligger Vin- över Vin+ så kommer utgången kräma på allt den kan för jämna ut dom och ligger helt plötsligt Vin- under Vin+ så kommer utgången svinga åt andra hållet för att kompensera.
Givetvis kan inte utgången ändra din insignal eftersom dessa inte är ihopkopplade... eller? Återkommer om detta.
Hur "kraftfullt" utgången kommer jobba för att jämna ut dina ingångar är beroende på förstärkningsfaktorn (gainen).
En idealisk opamp har oändlig gain men i verkligheten är den många tusen gånger. Kanske kring G = 100000.
I många fall kan det här var bra men i ditt fall så vill ju du ha en bestämd förstärkningsfaktor, eller hur? Hur gör vi det här då? Jo, med feedback - återkoppling.
Nu kommer vi till delen med att utgången påverkar din insignal.
Genom att återkoppla (koppla ihop) utgången med en eller båda dina ingångar så kan vi lite bättre kontrollera opampens hysteriska sätt att agera. Göra man det här på ett visst sätt så kan du ställa den egna förstärkningsfaktor och du har gjort din egna differentialförstärkare.
Gör man det enkelt för sig så behövs bara några motstånd och sen är du klar men du har också då förstört en av dom vackra funktionerna - hög ingångsimpedans.
Pga återkopplingen så kan du börja dra ström från dina signaler och detta blir ibland inte så bra.
Då dina signaler kommer från en spänningsdelare (trådtöjningsgivare) så vill vi absolut inte börja dra en massa ström från denna signal utan vi vill behålla vår skyhöga ingångsimpedans, men hur gör vi då? Vi vill bestämma gain med återkoppling men inte påverka signalkretsen. Jo, då tar vi till plånboken och köper en instrumentförstärkare.![]()
Dessa är så fint konstruerade så du kommer ha jättehög ingångsimpedans och du ställer din förstärkningsfaktor - bravo.
Avslutningsvis ett snabbexempel på din krets.
Får du tex in 1mV högre på Vin+ än Vin- så skulle en "vanlig" opamp dra din utgång direkt till en av matningsspänningarna, pga den skyhöga förstärkningsfaktorn.
Har du istället ställt in en förstärkningsfaktor själv så kommer opampen så vackert jämföra differensen mellan ingångarna och multiplicera denna med förstärkningen och vidare ge den spänningen på utgången. 1mV differens på ingångarna med faktor 1000 kommer att ge dig 1V utången. Punkt slut.
Förhoppningsvis läser i alla fall TS fortfarande men många har nog lagt av att läsa vid det här laget. Hoppas att det i alla fall hjälper dig lite på traven att läsa opamp:ars datablad och hur dom används.
Jag har medvetet överförenklat vissa saker och någon kanske rent utav blir uppåt väggarna men tyckte det var nödvändigt för att få till en förklaring.
I en perfekt värld ja, men beroende hur den är konstruerad så kommer den antagligen inte nå riktigt till varken 3,3 eller 0 volt.Al_Bundy skrev:Så Vsupply+ och Vsupply- är bara amplitudgränser?
Så om jag sätter Vsupply+ till 3.3 volt och Vsupply- till 0 volt t.ex. GND så kommer min op amp's utgång bara ge mellan 3.3 volt och 0 volt?
Då blir det 1023.Al_Bundy skrev:Men då har jag en liten fråga om MPC3008. Om referensspänningen är 3.3 volt hos MPC3008 och en ingång är på ca 3.3 volt. Vad blir då ADC värdet? Blir den då 1023 eller 0?