So, nun muss ich doch diese maximalen 20mV Ausgangsspannung
mit dem
Messverstärker verstärken… aber wie funktioniert das jetzt
genau?
naja, simpel gesagt: aus einem schwachen signal wird ein starkes signal. üblicherweise werden für solche aufgaben operationsverstärker verwendet, die als differenzverstärker geschaltet sind (siehe z.b. wiki). die gibt es mehr oder weniger kompliziert. hängt halt davon ab, was du messen willst (z.b. wie schnell dein signal wechselt und ob du das „sehen“ möchtest).
Besser gesagt was macht dieser Messverstärker mit meinem
gewonnenen
Ausgangssignal?
der messverstärker verstärkt das signal. den bereich kann man über passende dimensionierung der bauteile wählen (sofern man keinen fertigen nutzt). dazu kommt noch, dass der messverstärker meist eine impedanzwandlung vornimmt, dass also das eingangssignal hochohmig abgegriffen wird (also kaum durch die „messung“ beeinflusst wird) und niederohmig weiter geleitet wird.
Was bekomme ich dann als Eingang an meinem
Mikrocontroller und wie kann ich das dann auswerten?
naja, der messverstärker liefert eigentlich nur wieder ein analoges signal zurück. das muss noch in eine digitale form gepresst werden. dazu verwendet man dann adc (analog digital converter). die können ein bestimmtes eingangssignal (z.b. 0-2,5V) in einen digitalen wert (z.b. 0x000h - 0xFFFh) umwandeln. diese adc gibt es einerseits als seperate bausteine, andererseits direkt in mikrocontrollern integriert. entscheident ist außerdem die auflösung (->„bitzahl“). denn der adc unterteilt den spannungsbereich in „stufen“, von denen jede einen festen wert hat. 12 bit auflösung ergibt z.b. 4096 stufen (2^12).
Muss ich den Spannungswert durch meine verfügbare Bitzahl
dividieren und
erhalte die Stufen daraus und kann daraus wiederum meinen
Druck auf dem
Sensor berechnen?
richtig. aber damit erhälst du eben nur den eingelesenen wert. du musst also auch noch wissen, welche verstärkung dein messverstärker hat.
Ist es besser einen Messverstärker zu nehmen, der ein analoges
Signal
ausgibt oder gleich ein digitales?
kommt drauf an, was besser zu der anwendung passt. wenn du z.b. einen controller mit integriertem adc hast, dann lohnt sich ein analoger verstärker, den man evt. noch selbst aufgebaut hat (billiger). hat dein controller keinen adn kann sich ein digitaler lohnen. ich würde es selbst aufbauen, aber dazu muss man sich schon ein wenig einarbeiten. das geht mit fertigen bauteilen sicherlich einfacher. für anfänger ist ein digitales signal sicherlich einfacher auszuwerten als ein analoges.
P.S. gleiche PDF S.19:
Heißt das, dass ich bei Volllast von (wieder beispielsweise
100kg)
maximal 10 V Ausgangsspannung am Verstärker habe und ohne
Last dann 0V,
richtig?
ohne das pdf gelesen zu haben: denke mal ja. übliche ausgänge sind 0-10V, -10V bis +10V, 0-20mA und 4-20mA. und es wird üblicherweise für einen kleinen messwert ein kleiner ausgabewert verwendet.
Liege ich dann richtig, dass ich mit einem 16 Bit
Mikrocontroller somit
in 1,5g Schritten messen könnte? (100000g/2^16)1,525g
Schritten messen
kann? Da habe ich mich doch jetzt ganz stark verrechnet oder?
%)
nö, sieht richtig aus. 2^16 ist ja 65536. aber wie gesagt: es kommt nicht darauf an, ob du einen 8bit oder einen 16bit controller hast. das bezeichnet nur die register"breite" (ob man also immer nur 8 bit zur zeit berechnen kann, oder direkt 16 bit). entscheident ist die auflösung des adc. viele handelsübliche mikrocontroller (z.b. c8051f00x von cygnal) sind 8bitter, haben aber (mehrere) 12bit adc. das bedeutet nur, dass du, wenn du mit dem eingelesenen wert rechnen willst, diesen wert teilen muss. (oder eben bei dem 16bit-controller in einer rechnung verarbeiten kannst).
aus sicht des programmierers spielt das eigentlich nur eine rolle beim lesen der werte aus den registern oder wenn man direkt in assembler schreibt. in c/c++ etc. übernimmt es der compiler, die werte richtig zu „zerlegen“.