ich habe ein Problem und zwar: ich baue ein Luxmeter, dazu habe ich einen Fotowiderstand und bilde mit einem weiteren Widerstand einen Spannungsteiler. Soweit so gut aber das Problem ist, da der zweite Widerstand fest gewählt ist und der Fotowiderstand im Bereich zwischen 400Ohm und 500kOhm liegt, habe ich Probleme mit der Genauigkeit der Werte, weshalb ich mich entschlossen habe mehrere Widerstände in gewissen Abständen zu wählen. Diese schalte ich dann an einem Ende mithilfe eines digitalen Pins auf LOW/GND und einen auf HIGH/5V das andere Ende ist mit dem Fotowiderstand verbunden, welcher wiederum mit einem Ende mit den Widerständen und mit dem anderen an GND verbunden ist. Messen tu ich dann die Spannung mithilfe eines Analogen Pins am Arduino. Die Schaltung scheint aber leider nicht zu funktionieren, da die Werte absoluter Schwachsinn sind.
Ich dachte, da ich alle Widerständen an einem Ende verbunden hatte, dass vielleicht wenn ich an einem Widerstand GND und am anderen 5V habe der Strom dazwischen fließt, daher habe ich sie mit Dioden verbunden wodurch der Strom nur vom digitalen Pin zum Fotowiderstand fließen kann, hat aber leider nicht funktioniert.
Ich hoffe jemand kann mir mit meinem Problem helfen.
Danke schonmal im voraus
Viele Grüße
Tim
Weitere Infos:
Schaltskizze im Anhang
Arduino UNO R3
Mein Testcode:
v
das geht so auch nicht. Mit den Controller Pins und externen Widerständen baust du dir immer wieder ungewollte Spannungsteiler. Egal wie du das mit dem Aufbau drehst und wendest, es wird nichts. Egal ob du gegen + oder - schaltest, egal ob du die Pins in Ruhe auf + oder - legst. Egal ob zwischen Ausgang und Eingang umgeschalten wird. Geht nicht, hast immer wieder ungewollte Spannungsteiler bzw. speist zusätzlich 5V vom ein.
Entweder du schaltest Relaiskontakte um. Oder du nimmst Transistoren/Mosfets die du gezielt ansteuerst. Diese schalten deine Bereichswahlwiderstände um. Dann hast du in Ruhelage eine so hohe Hochohmigkeit die nicht stört.
Danke für die schnellen antworten ergibt alles völlig Sinn. Ich Probier mal an ein paar Relais ranzukommen und bastel mir ne neue Schaltung Die codetags wollte ich eigentlich einfügen aber hate das zunächst nicht verstanden, mach ich beim nächsten mal
Verwende dazu die Schaltfläche </> oben links im Editorfenster. Dazu den Sketch markieren und die Schaltfläche klicken, oder [ code] davor und [ / code] dahinter ohne Leerzeichen.
Oder
im IDE-Fenster rechte Maustaste und für "Forum kopieren klicken", danach hier einfügen.
Das kannst du in deinem Startbeitrag noch nachträglich machen.
Ich finde eine solche "Messbereichsumschaltung" völlig ok.
(z.B. der Transistortester machts nicht anders)
Da braucht man keinerlei weitere Zusatzbeschaltung.
Nur wird man dann alle unbenutzten Widerstände/Pins auf INPUT setzen müssen.
Arduino-Pins haben 3 Zustände (auch wenns so nicht ausschaut)
Ausgang HIGH und LOW
EINGANG LOW ist Hochohmig.
Du mußt die Pins wo die Bereichswiderstände dran sind nicht Ausgang HIGH zu Ausgang LOW schalten sondern zwischen Ausgang HIGH und Eingang LOW.
Einfacher wird es wenn Du den Fotowiderstand auf +5V schaltest und die Meßbereichswiderstände auf GND schalten mußt. Dann vereinfacht sich das Umschalten von AUSGANG LOW (Widerstand ist aktiv) zu EINGNAG LOW (Widerstand hängt in der Luft).
Achtung: Eingang HIGH aktiviert die internen Pullup-Widerstände.
Wie auch immer, der Output wird durch das Widerstandsnetzwerk belastet.
Das schon...
Wenn man für die Outputs analoge Pins wählt, kann kann man den Kompensationswert direkt messen.
Bei 1k Last bricht so ein Pin von 1023 auf ca 1000 ein.
ich baue ein Luxmeter, dazu habe ich einen Fotowiderstand und bilde mit einem weiteren Widerstand einen Spannungsteiler.
ich frage mich gerade ob so ein LDR und verschiedene Widerstände das richtige Messinstrument dafür sind.
Wäre da nicht ein Lichtsensor z.B. im Form eines BH1750 einfacher zu handhaben? Misst von 0 - 64000 Lux, Ergebnisse nachvollziehbar, auslesbar über I2C.
noiasca:
ich frage mich gerade ob so ein LDR und verschiedene Widerstände das richtige Messinstrument dafür sind.
Wäre da nicht ein Lichtsensor z.B. im Form eines BH1750 einfacher zu handhaben? Misst von 0 - 64000 Lux, Ergebnisse nachvollziehbar, auslesbar über I2C.
Ich baue das ganze für ein Facharbeitsprojekt deswegen mache ich das lieber so, weil ich so eben nen eigenen Lichtsensor entwerfe wodurch ich viel mehr schreiben kann.
uwefed:
Arduino-Pins haben 3 Zustände (auch wenns so nicht ausschaut)
Ausgang HIGH und LOW
EINGANG LOW ist Hochohmig.
Du mußt die Pins wo die Bereichswiderstände dran sind nicht Ausgang HIGH zu Ausgang LOW schalten sondern zwischen Ausgang HIGH und Eingang LOW.
Einfacher wird es wenn Du den Fotowiderstand auf +5V schaltest und die Meßbereichswiderstände auf GND schalten mußt. Dann vereinfacht sich das Umschalten von AUSGANG LOW (Widerstand ist aktiv) zu EINGNAG LOW (Widerstand hängt in der Luft).
Achtung: Eingang HIGH aktiviert die internen Pullup-Widerstände.
Grüße Uwe
Inwiefern würde das Codetechnisch funktionieren? Einfach einen pin mit pinMode output und dann auf HIGH setzten und die anderen pins auf pinMode input?
Danke nochmal für die ganze Antworten hätte ich gar nicht erwartet Das erste mal das ich in irgendeinem Forum poste, ich dachte immer es bräuchte Jahre bis da wer antwortet, ist sehr schön sich vom Gegenteil zu überzeugen.
ich glaub du hast da ein ganz anderes Genauigkeitsproblem. Bevor du mit verschiedenen Spannungsteilern experimentierst.
Serial.println(analogRead(A0)*0.004887585533,5);
Schon mal darüber nachgedacht wie viele Stellen von deinem Faktor hier bei einem 10Bit Wert relevant sind?
Welche Genauigkeit ein Float am Arduino ermöglicht?
Schon mal gemessen was deine VREF macht - vieleicht sogar unter verschiedenen Bedingungen - Strom über VIN, Strom über USB? Warum das so ist und wie man so eine Messung besser machen kann?
Ich meine, besonders für eine Facharbeit sollten da ein paar Grundlagen vorab geklärt werden.
Schon mal gemessen was deine VREF macht - vieleicht sogar unter verschiedenen Bedingungen - Strom über VIN, Strom über USB? Warum das so ist und wie man so eine Messung besser machen kann?
Wieso...
Das ist doch eine ratiometrische Messung.
Da passiert nix, was einen stören könnte.
(wenn man es geschickt anstellt)
Ob Vcc jetzt 5,1V und Morgen 4,3V hat, ist dabei völlig egal.
Das kompensiert sich ganz von alleine da raus....
tim-mitro:
Inwiefern würde das Codetechnisch funktionieren? Einfach einen pin mit pinMode output und dann auf HIGH setzten und die anderen pins auf pinMode input?
Hatte es ja schon in #8 geschrieben:
Einfacher wird es wenn Du den Fotowiderstand auf +5V schaltest und die Meßbereichswiderstände auf GND schalten mußt. Dann vereinfacht sich das Umschalten von AUSGANG LOW (Widerstand ist aktiv) zu EINGNAG LOW (Widerstand hängt in der Luft).