Guten Tag,Zusammen!
Ich habe folgende Absicht:
Ein Batteriemonitor liefert ein serielles Signal mit dem Wert des
Batteriezustandes in Prozent der Batteriekapazität.
Diesen Wert möchte ich digital anzeigen.
Dazu lese ich das Signal mit einem PIC 16F818 aus.
An einem AD-Eingang hängt ein Kondensator. Dessen Spannung wird
gemessen.
Ist die höher oder tiefer als der gelesene Wert, wird der Kondensator
über einen Widerstand ge- oder entladen.
Der DVM zeigt permanent die Spannung des Kondensators an, die dem
gelesenen Wert entsprechen sollte.
Klappt sowas?
Gruß
Helle
Mit deiner 'von hinten durch die Brust ins Auge' Schaltung handelst du
dir einige Probleme ein.
1. Muss der PIC ja dann eine Spannung von 10,0V o.ä. für die Anzeige
100% liefern, er wird aber mit max. 5V gespeist.
2. Ist das recht ungeneu, denn wie willst du die Analogspannung
erzeugen? Timer ist gestuft, PWM ist gestuft.
Besser ist es also, den PIC direkt die Anzeige antreiben zu lassen und
nicht den Umweg über ein DVM zu gehen. Auch PICs können LCD oder LED
antreiben.
Danke Mathias!
Matthias S. schrieb:> Mit deiner 'von hinten durch die Brust ins Auge' Schaltung handelst du> dir einige Probleme ein.
Deshalb ist mir ja auch nicht ganz geheuer.
> 1. Muss der PIC ja dann eine Spannung von 10,0V o.ä. für die Anzeige> 100% liefern, er wird aber mit max. 5V gespeist.
na ja, 1,00V geht ja auch.
> 2. Ist das recht ungeneu, denn wie willst du die Analogspannung> erzeugen? Timer ist gestuft, PWM ist gestuft.
Die ergibt sich doch von alleine, wenn der PIC die Kondensatorspsnnung
ständig nachfährt.
> Besser ist es also, den PIC direkt die Anzeige antreiben zu lassen und> nicht den Umweg über ein DVM zu gehen. Auch PICs können LCD oder LED> antreiben.
Der Vorteil wäre:
Der PIC könnte bis zu 5 Daten/Werte auslesen und mit nur je 2 Pin's
anzeigen:
z.B. Spannung, Strom, Solarstrom, ...
Gruß
Helle
Helle Heck schrieb:> Der PIC könnte bis zu 5 Daten/Werte auslesen und mit nur je 2 Pin's> anzeigen:> z.B. Spannung, Strom, Solarstrom, ...
Wenn du einmal die Anzeige direkt vom PIC antreibst, dann kann der das
ja auch. Der Witz bei einem MC ist doch, das der die ganzen Funktionen
in einem Bauteil vereint. Damit kannst du Anzeige und serielle Daten in
einem Rutsch ohne Verlust an Genauigkeit verarbeiten.
Aber du kannst dir fürs BMV700 auch einfach den Bluetooth Dongle holen
und die Daten aufs Smartphone schicken. Da gibts sie dann sogar
gleichzeitig.
Helle Heck schrieb:> na ja, 1,00V geht ja auch.
Die Genauigkeit/Auflösung des ADC im PIC bei 1,00V ist schlecht bis
unbrauchbar.
> Die Genauigkeit/Auflösung des ADC im PIC bei 1,00V ist schlecht bis> unbrauchbar.
Der PIC kann ja schon mit seinen max Werten arbeiten. Die Spannung für
das DVM wird dann eben mit einem Spannungsteiler auf 1,00V reduziert.
Aber wie würdest du denn die 4 Anzeigen (fest im Boot montiert)
ansteuern?
Bin für Alles offen.
(obwohl: wer für Alles offen ist, kann nicht ganz dicht sein)
Gruß
Helle
Wenn ich das richtig gesehen habe, werden die Anzeigen vom Max7219 auch
nur über 2 Leitungen angesteuert. Kann man die denn auch vom PIC direkt
ansteuern?
Helle
Peter D. schrieb:
....
>> D.h. die Anzeige auf dem DVM wackelt ständig hin un her.>
Das hängt ja nur vom Takt ab, in dem die Spannung gemessen wird und dem
Strom in/aus dem Kondensator, mit dem er nachgefahren wird.
Um 'Barebone' ein 4 stelliges 7-Segment Display anzusteuern, braucht es
7+4 = 11 Pins an einem beliebigen MC. Damit ist die Verwendung
beliebiger Anzeigen kein Problem - Farbe und Grösse können nach Wunsch
gewählt werden.
Ein kleiner Umschnurzler des seriellen Signals aus dem Victron BM auf
die 4-stellige Anzeige ist vermutlich sogar einfacher als die oben
angedachte DVM Ansteuerung.
Helmut H. schrieb:> Was ist damit gemeint?
In deinem Fall ein Gerät, was ein serielles Signal vom Victron bekommt
und diese umcodiert und auf eine 7 Segment-Anzeige ausgibt.
Matthias S. schrieb:> Helmut H. schrieb:>> Was ist damit gemeint?>> In deinem Fall ein Gerät, was ein serielles Signal vom Victron bekommt> und diese umcodiert und auf eine 7 Segment-Anzeige ausgibt.
Ja, genau das suche ich doch.
Der BMV liefert u.A. seriell einen ASCII-Satz : 0x0d 0x0a "SOC" 0x09
0100.
Der Satz muß also erst mal interpretiert werden, um an den anzuzeigenden
Wert zu kommen. Einfach umformen geht nicht.
Ich hab gesehen, heute gibt es "I2C to LCD"-Bausteine. Das wäre eine
Alternative. Aber die DVM sind halt auch einfach zu montieren.
Helmut H. schrieb:> Ja, genau das suche ich doch.Helmut H. schrieb:> Der Satz muß also erst mal interpretiert werden, um an den anzuzeigenden> Wert zu kommen. Einfach umformen geht nicht.
Umformen (aka Umschnurzeln) musst du doch in jedem Fall, egal ob du nun
ein externes DVM als Anzeige benutzt oder den PIC auch die Anzeige
machen lässt. Wenn der PIC selber die Anzeige macht, hast du die '100'
jedenfalls sofort numerisch und ohne Abweichungen. Wenn du daraus nun
wieder eine 1,00 V Spannung erzeugen willst, schleichen sich
Ungenauigkeiten ein, die völlig unnötig nur durch die Art der Anzeige
verursacht werden.
Ein kleiner 20 Pinner PIC oder AVR jedenfalls kann locker die seriellen
Daten empfangen und auf einer 7-Segment Anzeige 4-stellig darstellen. Da
kommen höchstens noch ein paar Transistoren dazu, um die Anzeigen
durchzuschalten.