Hallo zusammen! Eine Frage beschäftigt mich schon den ganzen abend. Bitte den angehängten Programmcode ansehen. Es liegen Null Volt am ADC-Eingang. Wenn ich im Mainprogramm Liefere_UI_Paar() aufrufe bekomme ich einen Wert um die 23 bis 28 Mikrovolt angezeigt. Der Wert entsteht bei einem gewissen umrechnungsfaktor. Ich schaue mir den Wert über die serielle schnittstelle an. Rufe ich jedoch diese Funktion aus: Liefere_Ungemitteltes_UI_Paar(), dann wird mir tatsächlich Null vol auch angezeigt. Ich weiß jedoch nicht wieso ?! Noch ein Hinweis: Die Variablen spannung und strom sind global definiert, als uint16_t strom und uint16_t spannung. Bitte Tipps geben. Viele Grüße, David
>Bitte Tipps geben.
Zu was ? Zu dem Code den du nicht rausrückst ?
Hier sind keine Hellseher unterwegs.
Den Code habe ich doch angehängt, oder? Wie bedient man im AVR-Studio den Simulator eigentlich? Viele GRüße, David
Hallo zusammen! Nun habe ich den hauptsächlichen Programmcode angehängt. Aaber eigentlich geht es nur um diese beiden Funktionen, von denen die untere den richtigen wert liefert, nämlich Null für den Strom und die obere den falschen wert. void Liefere_UI_Paar() { strom=0; spannung=0; uint8_t z; for (z=0; z<64; z++) //Erhöht die ADC-Genauigkeit { spannung+=LesePortPF(0); strom+=LesePortPF(1); //spannung=LesePortPF(0); //strom=LesePortPF(1); } spannung=spannung/z; strom=strom/z; ADCStoppen(); } void Liefere_Ungemitteltes_UI_Paar() { spannung=LesePortPF(0); strom=LesePortPF(1); ADCStoppen() } Besten Gruß
Möglicherweise bekommst du in der oberen Funktion einen Überlauf. Was gibt die Funktion LesePortPF() zurück? Wahrscheinlich eine U16, aber wie ist der mögliche Wertebreich, wo skalierst du den Wert um ? Und wieviele Messungen hast du dir mit der unteren Funktion angesehen ? Bei der Mittelwertbildung i der oberen Funktion reicht es wenn eine (1) Meßwert ungleich 0 ist, und das gesamtergebnis ist ungleich 0. Bei der unteren Funktion siehst du das nur dann, wenn du zufällig diese eine Messung erwischst. Es reicht zb schon wenn durch die Stromversorgung eine Spannungspitze auf den µC kommt um das Meßergebnis zu verfälschen.
Hallo! Meine Schaltung scheint sich irgendwie störsignale einzufangen. Zuerst schwingte sie mit 2MHz. Daraufhin habe ich den OP des Strom-Spannungswandler auf meiner Messplatine mit einem Keramikkondensator im Rückkopplungszweig versehen, um die Bandbreite des Op zu beschränken. Denn ich möchte sowieso nur Gleichspannung messen. Aber irgendwie scheint der Op sich immer nich den einen oder anderen Peak eizufangen. Die werte sehen bei angelegten Null volt etwa so aus: 0,0,341,0,0,210,0,0 damit meine ich die ganzzahligen werte, die der ADC rausgibt. eigentlich sollte ja nur 0,0,0,0,0,0,0,0,0,0 rauskommen. KAnn man noch sowas wie einen Tiefpass vor den ADC-Eingang schalten? Wie verhält sich das dann bezüglich der Messgenauigkeit? Gruß, David
Hast du dich an die Beschaltung der AVCC gehalten wie sie im Datenblatt vorgeschlagen wird? Hier mal am Beispiel des ATtiny26. Ein Abfallen der Referenzspannung könnte auch höhere Werte ausspucken aber die sind ja in deinem Fall ganz schön hoch. Nutz du die interne Referenz? Probier es doch mal aus die 64 AD-Wandlungen im Sleep-Modus durchzuführen um zu sehen ob die Störung vom AVR herrühren oder von externen Bauteilen, welche du auch mal abtrennen könntest um sie auszuschließen.
Hi ! Also: Ich habe diese Beschaltung so an meinem ADC bereits realisiert. Leider scheint es daran nicht zu liegen. Was ich mit der schaltung mache ist: Ich messe an einer solarzelle die Leerlaufspannung und den kurzschlussstrom. Dies mache ich mit einem Strom-Spannungswandler. Nur wenn ich den stromkreis öffne und die solarzelle mit ihrem Minuspol an dem Stromspannungswandler-Op liegt dürfte ja eigentlich kein Strom fließen, weil der stromkreis geöffnet ist. Aber dennoch zeigt der ADC was an. Klemme ich dann die Zelle ab, dann ist ruhe am ADC-Ausgang. Er gibt dan schön seine Nullen 0,0,0,0,0,0 aus, wie er es soll. Aslo liegt es wohl an der zelle. meine idee ist es nun hinter dem Stromspannungswandler noch einen tiefpass mit nachgeschaltetem impedanzwandler zu schalten. Funktioniert sowas? Gruß, David
dein Problem tritt doch nur auf wenn du eh nichts messen willst. Also speilt es doch garkeine Rolle. Wenn du einen externen Analogmultipleyer verwendest ist das Signal zum ADc auch unterbrochen und dann hast du wirklich immer 0 anliegen.
Um mich dem Leerlaufstrom nähern zu können muss ich ja den strom so weit runterfahren, dass er nahe null wird und letztendlich null wird. Aber der fehler ist ja viel zu groß, wenn statt werte um null werte die viel größer sind als null angezeigt werden. Gruß, David
Leerlaufstrom? Im Leerlauf fließt doch garkein Strom, meinst du vielleicht Leerlaufspannung?
Nein ich meine den Strom, den man durch einprägen einer immer größer werdenden spannung erreicht. Dieser Strom nähert sich natürlich irgendwann dem wert null, wenn man die Leerlaufspannung erreicht hat. ICh meine Also die stelle, wo man fast die Leerlaufspannung erreicht hat und somit fast kein strom mehr fließt. Und in der nähe vom Stromnull sollen keine Störungen auftreten und keine peaks gemessen werden, die nicht vom wirklichen strom herrühren. Die Leerlaufspannung misst man ja
Ich verstehe jetzt nicht was du meinst. Für mich ist die Leerlaufspannung die Spannung wenn kein Verbraucher also keine Last dranhängt und ohne Last fleißt normalerweise auch kein Strom. Hast du ein regelbare Last die du immer geringer einstellst die dann irgendwann bei Null ist und das Modul so die Leerlaufspanung liefert? Was für einen Verbraucher hast du da am Modul dran?
Ganz genau. eine regelbare last. Es ist ein sehr kleines A-SI-Moul mit 4 Zellen und etwa 2Volt leelaufspannung.
ganz schön hartnäckig, sag mir doch bitte um was für einen Verbraucher es sich handelt, könnte sein das diese keine gleichmäßige Stromaufnahme hat. Vielelicht würde sie mal überlastet und ist jetzt stark temperaturabhängig. Betreibe in mal an einer Konstantspannungsquelle und beobachte mal mit nem Multimeter ob der Strom gleichmäßig ist oder auch wieder diese Ausreiser hat. Hoffe mal das die Ausreiser nicht zu kurz sind.
David P. wrote: > Um mich dem Leerlaufstrom nähern zu können muss ich ja den strom so > weit runterfahren, dass er nahe null wird und letztendlich null wird. > der fehler ist ja viel zu groß, wenn statt werte um null werte die viel > größer sind als null angezeigt werden. Ich denke du jagst einem Phantom nach. > Nur wenn ich den stromkreis öffne und die > solarzelle mit ihrem Minuspol an dem Stromspannungswandler-Op liegt > dürfte ja eigentlich kein Strom fließen, weil der stromkreis geöffnet > ist. Ein offener Stromkreis ist was anderes, als wenn dein Leerlaufstrom langsam zu 0 wird. In einem offenen Stromkreis kannst du dir allerhand Störungen buchstäblich aus der Luft einfagen, weil dein Eingänge wie Antennen alles aufsaugen, was sie kriegen können. Also versuch das doch mal unter realistischen Bedingungen.
Ich betreibe eine PWM, die ich glätte und auf die Zelle gebe. Dann messe ich strom und spannung. den strom messe ich mit einem strom-spannungswandler, in den der strom direkt reinfließt. und genau dieser macht probleme.
Gibst du Strom auf eine Solarzelle oder auf eine Akkuzelle?
>ICh gebe ihn auf eine solarzelle.
Wozu ? Soll die dann leuchten ;)
Nein, das ist die sogenannte Gegenspannungsmethode, mit der man üblicherweise Solarzellenkennlinien aufnimmt. Jedenfalls scheinen aus dem Strom-Spannungswandler irgendwelche störimpulse zu kommen.
Oh man... ein kompletter Gesamtschaltplan wäre ja mal nicht schlecht...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.