Ich verwende ein PIC-Mikro mit einem 10-Bit-ADC, um Messwerte von einem analogen Signal mit einer Frequenz von weniger als 300 Hz zu erfassen. Dieses analoge Signal liegt jedoch im Bereich von -2 V und +2 V. Wie kann ich das Signal konditionieren, um es in einen nutzbaren Bereich zu bringen (vorausgesetzt, der Eingang zum ADC muss positiv sein). Außerdem habe ich kein positives und negative Stromversorgung.
Wichtiger Hinweis:
Diese Antwort wurde veröffentlicht, um das Problem für den Eingang von -20 V bis + 20 V zu lösen , da danach gefragt wurde. Es ist eine clevere Methode, funktioniert aber nicht, wenn die Eingangsspannungsgrenze zwischen den Schienen bleibt.
Sie müssen die Spannung mit einem Widerstandsteiler so skalieren, dass Sie eine Spannung zwischen -2,5 V und +2,5 V erhalten, und 2,5 V hinzufügen. (Ich nehme eine 5-V-Stromversorgung für Ihren PIC an).
Die folgende Rechnung sieht lang aus, aber das liegt nur daran, dass ich jeden Schritt im Detail erkläre. In Wirklichkeit ist es so einfach, dass Sie es im Handumdrehen in Ihrem Kopf erledigen können.
Zuerst das:
R1 ist der Widerstand dazwischen und ,
R2 ist der Widerstand zwischen und , und
R3 ist der Widerstand zwischen und .
Wie viele Unbekannte haben wir? Drei, R1, R2 und R3. Nicht ganz, wir können einen Wert frei wählen und die anderen beiden sind davon abhängig. Wählen wir R3 = 1k. Der mathematische Weg, die anderen Werte zu finden, besteht darin, einen Satz von zwei simultanen Gleichungen aus zwei ( , ) paaren und nach den unbekannten Widerstandswerten auflösen. Beliebig ( , )-Paare reichen aus, aber wir werden sehen, dass wir die Dinge enorm vereinfachen können, indem wir diese Paare sorgfältig auswählen, nämlich die Extremwerte: ( , ) und ( , ).
Erster Fall:
,
Beachten Sie, dass (und das ist der Schlüssel zur Lösung!) beide Enden von R2 zu sehen sind
, also gibt es keinen Spannungsabfall und daher keinen Strom durch R2. Das bedeutet, dass
muss gleich sein
(KKL).
.
Wir kennen den Strom durch R1 und auch die Spannung darüber, sodass wir seinen Widerstand berechnen können:
.
Unseren ersten Unbekannten gefunden!
Zweiter Fall:
,
Dasselbe wie bei R2 passiert jetzt mit R3: kein Spannungsabfall, also kein Strom. Jetzt wieder laut KCL
=
.
.
Wir kennen den Strom durch R2 und auch die Spannung darüber, sodass wir seinen Widerstand berechnen können:
.
Wir haben unsere zweite Unbekannte gefunden!
Eine Lösung ist also: .
Wie ich schon sagte, es ist nur das Verhältnis zwischen diesen Werten wichtig, also könnte ich genauso gut auswählen
.
Wir können diese Lösung gegen eine andere prüfen (
,
) Paar, zB (
,
). R1 und R3 sind jetzt parallel (beide haben +2,5 V-0 V über sich), also finden wir, wenn wir ihren kombinierten Wert berechnen
, genau der Wert von R2 und der Wert, den wir bekommen mussten
von
! Unsere Lösung ist also in der Tat richtig. [QC-Stempel kommt hierher]
Das letzte, was zu tun ist, ist eine Verbindung herzustellen zum ADC des PIC. ADCs haben oft ziemlich niedrige Eingangswiderstände, was unser sorgfältig berechnetes Gleichgewicht stören kann. Kein Grund zur Sorge, aber wir müssen R3 einfach so erhöhen . Vermuten , dann . Daraus finden wir .
edit
OK, das war clever und sehr einfach, auch wenn ich das selbst sage. ;-) Aber warum sollte das nicht funktionieren, wenn die Eingangsspannung zwischen den Schienen bleibt? In den oben genannten Situationen hatten wir immer einen Widerstand, durch den kein Strom floss, sodass nach KCL der Strom in den kommt
Knoten über einen Widerstand würde über den anderen verlassen. Das bedeutete, dass eine Spannung höher sein musste als
, und die andere niedriger. Wenn beide Spannungen niedriger sind, würde nur Strom von diesem Knoten wegfließen, und KCL verbietet dies.
Der einfachste Weg ist die Verwendung eines "Widerstandsteilers".
Sie haben nicht gesagt, mit welcher Spannung dieser PIC läuft und daher der A / D-Eingangsbereich ist, also nehmen wir 5 V für das Beispiel. Ihr Eingangsspannungsbereich beträgt 40 V und der Ausgang 5 V. Sie benötigen also etwas, das um mindestens 8 gedämpft wird. Außerdem muss das Ergebnis auf 1/2 Vdd zentriert sein, was 2,5 V entspricht, während Ihre Eingangsspannung auf 0 V zentriert ist .
Dies kann mit 3 Widerständen erreicht werden. Ein Ende aller drei Widerstände ist miteinander und mit dem PIC-A/D-Eingangsstift verbunden. Das andere Ende von R1 geht an das Eingangssignal, R2 geht an Vdd und R3 geht an Masse. Der Widerstandsteiler wird durch R1 und die Parallelschaltung von R2 und R3 gebildet. Sie können R2 und R3 anpassen, um den resultierenden Bereich bei 2,5 V zu zentrieren, aber der Einfachheit halber leben wir mit ein wenig Asymmetrie und dämpfen etwas mehr, um sicherzustellen, dass beide Enden auf den Vss-Vdd-Bereich begrenzt sind.
Nehmen wir an, der PIC möchte, dass das analoge Signal eine Impedanz von 10 kΩ oder weniger hat. Lassen Sie uns der Einfachheit halber wieder R2 und R3 zu 20 kΩ machen. Die Impedanz, die den PIC speist, wird nicht mehr als die Parallelkombination dieser sein, die 10 kΩ beträgt. Um eine Dämpfung von 8 zu erhalten, muss R1 das 7-fache von R2//R3 sein, was 70 kΩ entspricht. Da das Ergebnis jedoch nicht genau symmetrisch sein wird, müssen wir etwas mehr dämpfen, um sicherzustellen, dass -20 V in nicht weniger als 0 V in den PIC führen. Das erfordert tatsächlich eine Dämpfung von 9, also muss R1 mindestens das 8-fache von R2//R3 sein, was 80 kΩ entspricht. Der Standardwert von 82 kΩ lässt etwas Slop und Spielraum zu, aber Sie erhalten immer noch den größten Teil des A/D-Bereichs, um das Originalsignal zu messen.
Hier ist ein Beispiel für das Finden der genauen Lösung für ein ähnliches Problem. Dieser weist keine Asymmetrie auf und hat eine bestimmte spezifizierte Ausgangsimpedanz. Diese Lösungsform kann immer dann verwendet werden, wenn der A/D-Bereich vollständig innerhalb des Eingangsspannungsbereichs liegt.
Dies ist die Standardschaltung dafür. Sie müssen die Widerstandswerte für Ihre erforderliche Impedanz skalieren.
Wenn das Signal kein Gleichstrom ist oder wenn eine Gleichstromreferenz nicht wichtig ist, kann das Signal kapazitiv an den Eingang des ADC gekoppelt werden.
Alternativ können Sie, wenn Ihre Masse für den PIC schwebend ist, Ihre Signalmasse an 1/2 VDD des PIC binden.
Die folgende Schaltung sollte die Arbeit erledigen:
3.3V
+
|
\
/ 1k
\
|
+-- ADC input
|
\
/ 1k
\
|
+-- Signal input (-2V to +2V)
Es ist ein potenzieller Teiler. Bei -2 V beträgt der Ausgang 0,65 V; bei +2V, 2,65V.
Das gesamte Rauschen auf der 3,3-V-Schiene wird zum Eingang übertragen. Verwenden Sie daher eine gute Spannungsreferenz, um dieses Problem zu reduzieren.
Dies funktioniert auch mit anderen Verbrauchsmaterialien, aber der Offset verschiebt sich.
Der Spannungsaddierer von Thomas mit zwei identischen Widerständen ist zwar einfach, hat aber den Nachteil, dass der Eingangsbereich zum ADC reduziert wird, was bedeutet, dass das Rauschen einen größeren Einfluss hat. Auch die Untergrenze liegt bei 0,65V. Wenn Ihr Mikrocontroller keine hat
Eingang (die meisten Controller tun dies nicht), bleibt dieser Teil des Eingangsbereichs ungenutzt.
Dies ist einfach zu beheben: Wählen Sie das Widerstandsverhältnis so, dass
wird 0 V sein, wenn der Eingang -2 V ist. Für ein
von 5 V bedeutet dies, dass der Eingangswiderstand 2/5 des Pull-up-Widerstands betragen sollte. Bei 2V Eingang
wird 2,86 V sein. Satz
auf diesen Pegel, und die -2 V bis +2 V decken den gesamten ADC-Bereich ab.
Wenn dein = 3,3 V sollte der Eingangswiderstand 61 % betragen ( ) des Klimmzugs. Bei +2V ein wird 2,49 V sein.
Thomas o
Kellenjb
Kellenjb
stevenvh
Kevin Vermeer
Willis Blackburn