Spannung , Strom und Leistung mit 16F887 Messen

Home


Diese Schaltung besteht aus einem PIC-Microcontroller welcher eine AD-Wandlung der Spannung und Strom-Spannung vornimmt. Mit Strom-Spannung ist die Spannung gemeint welche an einem Shunt- Widerstand gemessen wird und dann über einen OPAMP verstärkt so dass ein Strom von 5,1A einer Spannug von 5V entspricht.

Ich habe zum Testen ein PIC-Devolopment Board verwednet welche man für ~15€ bekommt da man dann einfach ein Display anschließen kann sowie man hat Taster auf der Platine sowie GPIO-Pins an welchen die PORT Pins des DIP-40 Pics anliegen. Eigendlich sind diese Boars für den 16F877A gedacht welcher auch mitgeliefert wird ,da dieser aber nicht über die möglichkeit verfügt die ADC-Pins einzeln als Analog oder Digital Pins zuzuweisen habe ich mich für den 16F887 entschieden.



Nachdem die Schaltung auf dem Devolopment Board Funktioneirt hat habe ich mich dazu entschieden eine Version auf Lochraster aufzubauen bevor ich eine Platine erstelle und Bestelle. Das Problem welches ich noch gehabt habe ist dass mein Programmm nicht mit alles 16F887 funktioniert die ich da habe es sind bei manchen Rechnefehler aufegtreten oder sie sind einfach abgestürzt und haben sich aufgehangen und nicht mehr auf eingaben reagiert. Das habe ich jetzt behoben indem ich das Programm gekürztz habe bis ich unter adresse 02BF komme so treten die fehler nicht auf und man sollte jeden 16F887 verwenden können.


Ich habe mich dazu entschieden die Hintergrund beleuchtung des LCD-Dsiplays schaltbar zu machen da diese in der Nacht störend sine könnte wenn man schlafen möchte. Da ich plane das Messgerät für PV-Anlagen zu verwenden ist es möglich die Beleuchtung bei einer sapnnung von weiger als 5V aus zu machen da man dann davon ausgehen kann das es dunkel drausen ist.



Funktion der Messung


Der 16F887 beseitzt mehere ADC eingänge welche über das ANSEL und das ANSELH Register als Analoge Eingänge konfigureirt werden können,Da noch Komperatoren an den Eingängen anliegen welche deaktieviert werden müssen bevor wir die Pins als Digitale pins für Display und co. verwenden oder als Anlaoge eingänge zum messen. Der ADC beseitzt eine Auflösung von 10 Bit da wir mit einem 8 Bit MCU aber schneller rechnen können beim Miltipliezieren wenn wir nur 8x8 Bit rechnen was schon zu einem ergenis von ~65.K führt wäre 16x16 Bit Overkill da wir dann beim Watt rechnen eine Zahl von ~1 Milliarde als ergebnis bekommen könnten was die Wandlung in die Lessbare Watt anzeige noch weiter verlangsamt.

Die Messgenauigkeit bei einer Spannung von 51V lässt sich einfach berehnen 51V/255=0,2V Jeder Step in unserem Ergebnis beträgt 200mV was nicht besonders viel ist man kann mit Leben. Die Messgenauigkeit bei der Gleichen Spannung mit 10 Bit beträgt 51V/1024=~50mV somit lässt sich eine viel bessere Auflösung erziehlen was ich einem Update des Messgerätes mal Teste.

Für die Strommessung wird ein Shunt verwendet welcher einen sehr kleinen Widerstand besitzt mit einem OPAMP wird die Spannung auf 1V/1,02A eingestellt das wir 5,1A bei einer Spannung von 5V haben. Die Messgenauigkeit bei einer Spannung von 51V lässt sich einfach berehnen 5V/255=20mV Jeder Step in unserem Ergebnis beträgt 20mV was nicht besonders viel ist man kann mit Leben. Die Messgenauigkeit bei der Gleichen Spannung mit 10 Bit beträgt 5V/1024=~5mV was bei der Strommessung keinen großen unterschied macht so dass man da locker mit 8 bit auskommt.

Die Watt Messung besitzt bei 8Bit eine ungeauigkeit von gerade mal 4mW das ist ein zu vernachlässigender kleiner fehler. Wenn man aber 10Bit AD-Ergebnisse nimmt kommt man auf eine genauigkeit von 0,25mW was so super kleins ist das es eigentlich nicht mehr wichtig ist da unsere Widerstände in der Messung über Lolleranzen verfügen welche deutlich größer sind.