Hallo, Ich bin gerade dabei, mir einen elektrischen Schneckenzaun zu bauen. Im Moment erstmal mit 9V Akkus, später wahrscheinlich mit 12V. Ich hätte gerne irgendeine Art von optischem Feedback, um schon von ein paar Metern Abstand zu sehen, wenn der Stromkreis geschlossen ist, damit mir nicht evtl ein blöd liegendes Blatt oder so die Batterie leer saugt. Das Ganze hätte ich gerne so einfach und stromsparend wie möglich. Mein aktueller Ansatz wäre ein ATTiny, der die meiste Zeit schläft und regelmäßig aufwacht, prüft ob Strom fließt, und wenn ja, eine LED kurz blinken lässt. Aber wahrscheinlich denk ich da schon wieder zu kompliziert. Hat von Euch jemand evtl noch eine idee? Danke Tobi
:
Verschoben durch Moderator
Einfach eine LED in Reihe schlaten. Wenn die leuchtet, ist irgendwo was faul (leitend verbunden). In wie fern man da einen Vorwiderstand braucht, müsstest du probieren. Bei einem satten Schluss ist die LED natürlich hin.
Schleif doch einfach eine superhelle LED mit einer hohen mcd-Zahl und einen 330 Ohm Vorwiderstand in den Stromkreis mit rein. Selbst bei einem Kurzschluss durch einen Kronkorken würde die LED dann trotzdem noch nicht kaputt gehen.
Erstmal danke für eure Antworten. Ich möchte es jetzt aber doch etwas "komplizierter" machen, damit ich möglichst viel lernen kann. Grundsätzlich möchte ich einen ATTINY85 verwenden, der standardmäßig schläft, aber jede Sekunde aufwacht, um einerseits zu überprüfen, ob das System grundsätzlich noch läuft, bzw Strom hat und andererseits, um zu prüfen, ob der Stromkreis geschlossen ist und ich ggf mal nachschauen sollte. Das ganze angezeigt mit kurz blinkenden LEDs. Am liebsten wäre mir, wenn ich damit auch prüfen könnte, wie weit der Akku noch geladen ist. Aber mir ist nicht ganz klar, wie ich das angehen könnte. Der ATTINY verträgt ja maximal 5,5V. Spannungswandler auf 3 bzw 5V hätte ich da, aber wie ich damit prüfen kann, wie voll der 9V bzw 12V Akku noch ist, ist mir schleierhaft. Wenn da jemand einen Tipp oder Schubs in die richtige Richtung hätte, wäre das super :) Danke
Tobi schrieb: > aber wie ich damit prüfen kann, wie voll der 9V bzw 12V Akku noch ist, > ist mir schleierhaft. Spannungsteiler, AD-Wandler.
Otto K. schrieb: > Schleif doch einfach eine superhelle LED mit einer hohen mcd-Zahl und > einen 330 Ohm Vorwiderstand in den Stromkreis mit rein. Und da gibt es auch welche, die mit fast nix an Strom gut hell leuchten. Mit einem Komparator kannst du auch die Spannung überwachen, sodass die leere Batterie angezeigt wird, wenn sie noch lange genug Leistung für die Led hat.
Ok, damit kann ich arbeiten. Danke! Was ich mich grad noch frage: Woher weiß ich, bei welcher Spannung ein Akku voll/leer ist? Kann ich mich da grundsätzlich immer auf fixe Werte für einen bestimmten Typen verlassen? Also hat ein 9V NiMH (oder 12V LiFePO4) Akku immer die gleichen Werte, egal welcher Hersteller?
Natürlich nicht. Du musst schon gucken wo die Abschaltspannung für die verwendeten Typen liegt. Wenn du die gleiche Batterietechnik verwendest, da liegen die Hersteller dicht beieinander.
Ok, das war voll missverständlich ausgedrückt... Also wenn ich einmal die Werte von 9V NiMH Akkus habe, kann ich die grundsätzlich für alle 9V NiMH Akkus verwenden. Und 12V LiFePO4 Akkus haben natürlich ihre eigenen Werte, da aber dann auch grundsätzlich gleich für alle 12V LiFePO4 Akkus. Korrekt?
Ja. Auch wenn die Hersteller geringe Unterschiede haben mögen. Wichtig: Abschaltspannung ist nicht gleich Entladeschlussspannung. Letztere solltest du bei Akkus nicht wählen, wenn die Anwendung nicht eine maximale Laufzeit benötigt. Dann halten deine Akkus länger.
Tobi schrieb: > Und 12V LiFePO4 Akkus haben natürlich ihre eigenen Werte, da aber dann > auch grundsätzlich gleich für alle 12V LiFePO4 Akkus. Korrekt? Bei gleicher Größe ja. Allerdings wird im LiIo Bereich viel Schund mit zu wenig Kapazität verkauft (und zugleich mit besonders viel Kapazität beworben - ein deutlich Warnsignal).
Frank O. schrieb: > Ja. Auch wenn die Hersteller geringe Unterschiede haben mögen. > > Wichtig: Abschaltspannung ist nicht gleich Entladeschlussspannung. > Letztere solltest du bei Akkus nicht wählen, wenn die Anwendung nicht > eine maximale Laufzeit benötigt. Dann halten deine Akkus länger. Zu "Abschaltspannung" habe ich jetzt nicht wirklich was gefunden. Da lande ich dann immer wieder bei der Entladeschlussspannung. Gibt es evtl eine grobe Faustformel, an der man sich orientieren kann? Sowas wie "immer 10% über der Entladeschlussspannung" oder so?
Zitat: "Die Abschaltspannung eines 9V NiMH Akkus liegt typischerweise im Bereich von 6,0 bis 7,0 Volt. Ein 9V NiMH Akku besteht aus mehreren Zellen, die in Reihe geschaltet sind. Die einzelnen Zellen haben eine Nennspannung von 1,2 Volt, was bei 7 Zellen 8,4 Volt ergibt. Bei einer vollständigen Entladung sollte die Spannung nicht unter 1,0 Volt pro Zelle fallen, um eine Beschädigung des Akkus zu vermeiden." Die Entladeschlussspannung liegt noch darunter. Oft wird das gleich benutzt und sogar in Fachartikeln falsch benutzt. Der Unterschied ist vielleicht 0,1-0,2 Volt pro Zelle, je nach Batterietyp. Die Abschaltspannung ist die Spannug, wo dir noch die Funktion deines Gerätes garantiert ist und die Batterie zuverlässig funktioniert, während die Entladeschlussspannung den Schutz der Batterie im Sinne hat.
Tobi schrieb: > einen elektrischen Schneckenzaun zu bauen. Im > Moment erstmal mit 9V hahahaha ( sagen da die Schnecken )
Frank O. schrieb: > Klaus F. schrieb: >> hahahaha > > Man liest es immer wieder. Hast du das ausprobiert? Wenn er sich als Schnecke identifiziert, dann hat Klaus es ausprobiert und hat über die 9V nur gelacht. Das Gemüse ist weg und bereits durch seinen Magen gelaufen und was da gerade wächst, wird auch bald dieses Schicksal ereilen. Hier mal ein Beispiel mit Katze: https://www.faz.net/aktuell/feuilleton/gender-debatte-in-grossbritannien-ein-maedchen-meint-eine-katze-zu-sein-18980626.html
Tobi schrieb: > Gibt es evtl eine grobe Faustformel, an der man sich orientieren kann? LiFePO4 Ladeschlusspannung < 3.5 - 3.65 Volt pro Zelle LiFePO4 voll Leerlaufspannung 3,336 Volt LiFePO4 Leer ~ 2,8 - 3.0 Volt
Tobi schrieb: > Zu "Abschaltspannung" habe ich jetzt nicht wirklich was gefunden. Das Problem ist, dass es immer eine Zelle gibt, die die untere Zellspannung erreicht, aber weil die anderen Zellen noch mehr Saft haben, wird die Gesamtabschaltschwellenspannung noch nicht erreicht. In dem Falle wird eine Zelle zu Tief entladen. Gerade LiFePo haben eine flache Kennlinie, was erschwerend hinzukommt.
Jobst M. schrieb: > Auffällig, aber nur 0,5mA. Aha, aber wie bewerkstelligt das Modul folgenden Wunsch ... Tobi schrieb: >> irgendeine Art von optischem Feedback, um schon von ein >> paar Metern Abstand zu sehen, wenn der Stromkreis geschlossen ist ... oder reicht die Anzeige "Batterie noch nicht leer" ?
:
Bearbeitet durch User
So, ich habe mir jetzt mal einen Spannungsteiler nach diesem Vorbild gebaut gebaut: https://elektro.turanis.de/html/prj084/index.html R1=100KΩ, R2=10KΩ Ich arbeite mit einem ATTiny85, und einer Referenzspannung von 1,1V. Mein Code sieht so aus:
1 | #define PIN_TEST A1
|
2 | |
3 | #define REF_VOLTAGE 1.1
|
4 | #define PIN_STEPS 1023.0
|
5 | |
6 | const float R1 = 99000.0; // exact resistance of R1 (= 100 kOhm) |
7 | const float R2 = 9800.0; // exact resistance of R2 (= 10 kOhm) |
8 | |
9 | float vout = 0.0, vin = 0.0; |
10 | int rawValue = 0; |
11 | |
12 | void setup() { |
13 | analogReference(INTERNAL1V1); |
14 | Serial.begin(9600); |
15 | pinMode(PIN_TEST, INPUT); |
16 | }
|
17 | |
18 | void loop() { |
19 | rawValue = analogRead(PIN_TEST); |
20 | vout = (rawValue / PIN_STEPS) * REF_VOLTAGE; |
21 | |
22 | vin = vout / (R2 / (R1 + R2)); |
23 | |
24 | if (vin < 0.09) { |
25 | vin = 0.0; // suppress noise |
26 | }
|
27 | |
28 | Serial.println("U = " + String(vin) + " V"); |
29 | delay(1000); |
30 | }
|
Grundsätzlich funktioniert es auch, aber was mit ein bisschen irritiert, sind die Schwankungen in der gemessenen/berechneten Spannung. Hier mal ein Auszug: U = 9.61 V U = 9.71 V U = 9.71 V U = 9.71 V U = 9.97 V U = 9.54 V U = 10.05 V U = 9.84 V U = 10.04 V U = 10.00 V U = 9.67 V U = 9.53 V U = 9.80 V U = 10.12 V U = 10.00 V U = 9.75 V U = 9.48 V U = 9.53 V U = 9.53 V U = 9.97 V Wenn ich die Spannung der Batterie mit dem MM messe, bin ich bei 9,48V. Hab ich da etwas falsch gemacht? Woher kann das kommen? Danke
:
Bearbeitet durch User
Horst V. schrieb: > Einfach eine LED in Reihe schlaten. Wenn die leuchtet, ist irgendwo was > faul (leitend verbunden). In wie fern man da einen Vorwiderstand > braucht, müsstest du probieren. Bei einem satten Schluss ist die LED > natürlich hin. Mit einer 9V-Batterie eher nicht, die liefern nicht genug Strom. Mit Li-Akku klar, da kommt tödlicher Strom. Otto K. schrieb: > Schleif doch einfach eine superhelle LED mit einer hohen mcd-Zahl und > einen 330 Ohm Vorwiderstand in den Stromkreis mit rein. Selbst bei einem > Kurzschluss durch einen Kronkorken würde die LED dann trotzdem noch > nicht kaputt gehen. Schön und schützt auch die Schnecke vor dem Strom? Tobi schrieb: > R1=100KΩ, R2=10KΩ Warum können die Bastler eigentlich keine Energiebillanz rechnen? 110 kOhm ergibt 80µA Querstrom, da ist der 9V-Block (Akku) nach 3 Monaten leer, der µC will ja auch noch versorgt sein. Sinnlose Spielerei, die obendrein die Aufgabe nicht erfüllt: Tobi schrieb: > um schon von ein paar Metern Abstand zu sehen, > *wenn der Stromkreis geschlossen ist*
Klaus F. schrieb: > aber wie bewerkstelligt das Modul folgenden Wunsch Nennt sich "Reihenschaltung" Gruß Jobst
Tobi schrieb: > Hab ich da etwas falsch gemacht? Jobst M. schrieb: > Nennt sich "Reihenschaltung" Pfuscher und Anfänger. https://www.333shop.com/de/shop/product/1059-weidezaungerat-mit-netzbetrieb-gegen-schnecken-llampec-modell-10-5859
Das reicht nicht. Für die invasiven Schneckearten brauchst Du was gegen Schweine und Pferde.
Klaus F. schrieb: > hahahaha Ich würde an deiner Stelle nicht zu laut lachen. Hast du schon mal eine 9 Volt Blockbatterie an deine eigene Zunge drangehalten? Das was du dann fühlst, fühlt auch die Schnecke, nur 1000 mal stärker, weil sie 1000 mal kleiner und 1000 mal schwächer ist als du. Der Schleim auf deiner Zunge ist mit dem einer Schnecke vergleichbar. 🐛
Manfred P. schrieb: > Tobi schrieb: >> R1=100KΩ, R2=10KΩ > > Warum können die Bastler eigentlich keine Energiebillanz rechnen? > > 110 kOhm ergibt 80µA Querstrom, da ist der 9V-Block (Akku) nach 3 > Monaten leer, der µC will ja auch noch versorgt sein. > > Sinnlose Spielerei, die obendrein die Aufgabe nicht erfüllt: Also ich konnte mit meinem aktuellen Prototypen nachweislich schon mehrere Nacktschnecken davon abhalten, sich an meinen Chillies zu vergehen. Daher ist die Sinnhaftigkeit aktuell auf jeden Fall gegeben. Und wenn ich dann hoffentlich bald auf 12V umstellen kann, umso mehr. Und selbst wenn nicht, ist es ein tolles Projekt für mich, um zu lernen. Vielleicht hättest Du ja auch noch einen Hinweis für mich, warum die gemessen Spannungen so schwanken. Danke
Also wenn das Ganze ein gewisses Niveau, auch zum Lernen, haben soll, würde ich an ein E-Paper-Display (gibt es sehr klein) denken, dass z.B. alle 60s aufgefrischt wird. Man kann dann auch Zahlen, Text und(oder Symbole/Icons zum Status oder dem Batterie-Füllstand darstellen ...
Tobi schrieb: > Vielleicht hättest Du ja auch noch einen Hinweis für mich, warum die > gemessen Spannungen so schwanken. Weil der interne ADC sich recht viele Störungen einfängt. Abhilfe gibts durch: 1. Abblocken von AREF mit externem Kondensator. Geht nur, wenn du den Pin nicht anderweitig benötigst. 2. Mehrfaches lesen des ADC und Mitteln des Wertes. Es kommt ja nicht auf schnelles Lesen an. Die Zeit, um z.B. 10 oder 20 Werte zu lesen und zu mitteln, hast du immer. 3. Niedrige Abtastrate des ADC. Nicht mit 200ksps, sondern z.B. nur mit einem Viertel der möglichen Geschwindigkeit. 4. Wählen einer höheren AREF. Wenn du statt 1,1V die 2,56V wählst, zappelts weniger.
:
Bearbeitet durch User
Matthias S. schrieb: > Tobi schrieb: >> Vielleicht hättest Du ja auch noch einen Hinweis für mich, warum die >> gemessen Spannungen so schwanken. > > Weil der interne ADC sich recht viele Störungen einfängt. Abhilfe gibts > durch: > 1. Abblocken von AREF mit externem Kondensator. Geht nur, wenn du den > Pin nicht anderweitig benötigst. > 2. Mehrfaches lesen des ADC und Mitteln des Wertes. Es kommt ja nicht > auf schnelles Lesen an. Die Zeit, um z.B. 10 oder 20 Werte zu lesen und > zu mitteln, hast du immer. > 3. Niedrige Abtastrate des ADC. Nicht mit 200ksps, sondern z.B. nur mit > einem Viertel der möglichen Geschwindigkeit. > 4. Wählen einer höheren AREF. Wenn du statt 1,1V die 2,56V wählst, > zappelts weniger. Also ich bin jetzt mal auf 2.56V AREF hochgegangen und messe 10mal mit einem Abstand von 20ms, das hat auf jeden Fall gegen die krassen Ausschläge geholfen. Im Schnitt ist jetzt die vom ATTiny gemessene Spannung konstant knapp 2% über der vom Multimeter gemessen Spannung. Die Frage ist, ob ich das noch einigermaßen reduziert bekomme, oder ob das eine Unschärfe ist, die "normal" ist. Das mit dem externen Kondensator verstehe ich nicht ganz. Kommt der an den AREF Pin (den ich aktuell nicht verwende) oder an den ADC Pin, an dem die zu messende Spannung anliegt? Welchen Kondensator würde ich dafür verwenden? Und wie schließe ich den an (in Reihe/parallel)? Danke
Wer die interne Referenzspannung benutzt, hängt an AREF und GND normalerweise einen kleinen Kondensator mit 10-100 nF, um die Referenzspannung zu stabilisieren. Wenn die Quelle der zu messenden Spannung mehr als 10 kΩ hat, dan bewirkt die Belastung durch den ADC Spannungssprünge auf eben dieser Leitung. Im Einfachsten Fall kann man das stabilisieren, indem man auch hier einen Kondensator mit 10-100 nF zwischen dem analogen Eingang und GND klemmt. Vorausgesetzt, die Quelle verträgt die zusätzliche kapazitive Belastung, und der dadurch entstehende Tiefpass beeinträchtigt die zu messende Frequenz nicht. Wenn die Quelle z.B. ein Mikrofon wäre, würde ich keinen Kondensator verwenden, sondern einen Impedanzwandler. Der Kondensator würde den Klang des Mikrofons stark verändern. Die Frequenz ist in deinem Fall wohl irrelevant, schätze ich.
:
Bearbeitet durch User
Tobi schrieb: > Woher kann das kommen? Elektromagentische Störungen, die Dein Kabelsalat einfängt. Wie lange ist denn Dein Schneckenzaun? Wird dieser bei Regen nass? Wie lange sind die Leitungen vom Zaun zu Deiner Anzeige?
Dieter D. schrieb: > Tobi schrieb: >> Woher kann das kommen? > > Elektromagentische Störungen, die Dein Kabelsalat einfängt. > > Wie lange ist denn Dein Schneckenzaun? > Wird dieser bei Regen nass? > Wie lange sind die Leitungen vom Zaun zu Deiner Anzeige? Aktuell habe ich zwei Zäune mit jeweils 180cm Länge und die Länge der Leitungen zum Akku bzw zur Anzeige sind 50cm. Der Zaun ist auf Holz geschraubt, mit Duct-Tape zwischen Holz und Zaun. Wenn es regnet wird der Zaun nass. Aber wenn das jetzt gut funktioniert, werde ich nächstes Jahr 5 Zäune mit jeweils 450cm haben, wo die Leitungen zum "Steuergerät" bzw zur Anzeige durchaus 5m betragen können. Gespeist wird das dann aber von einem 12V Akku, der bis zu 20m weit entfernt sein kann (falls das relevant ist). Und natürlich würde ich es jetzt schon gerne so bauen, dass es auch nächstes Jahr funktioniert.
Ich brauche für meinen Schneckenzaun keine Batterie 🪫 und keine Anzeige! Nimmst du zwei dünne Flachbänder, eins aus Alu oder etwas verzinktes, eins aus Kupfer. Stelle sie so auf dass beide in kurzem Abstand isoliert voneinander sind und verbinde sie an einer Stelle. Die Schnecke muss, um zu weiterkriechen beide berühren. Kriecht die Schnecke drüber, wirkt sie wie ein Elektrolyt in einer kurzgeschlossenen Batterie und das gefällt ihr nicht! Sie dreht bei. +-----------------------------+ | (Cu) 😵💫 | <-- Kupferstreifen +-----------------sch---------+ sch +-----------------sch---------+ | (Zn) sch | <-- Zinkstreifen +-----------------sch---------+ sch = Schnecke 🐌
Frank E. schrieb: > würde ich an ein E-Paper-Display Natürlich noch die Internetanbindung nicht vergessen. +Kopfschüttel+ Wieso muss alles ein Display haben? Die Dinge werden immer mehr zum Selbstzweck. Man sollte im Auge behalten was der eigentliche Zweck ist. Wenn ich etwas baue, dann soll das funktionieren und das möglichst unauffällig.
:
Bearbeitet durch User
Frank O. schrieb: > Wenn ich etwas baue, dann soll das funktionieren und das möglichst > unauffällig. Das ist aber zu einfach.
Tobi schrieb: > Also ich bin jetzt mal auf 2.56V AREF hochgegangen und messe 10mal mit > einem Abstand von 20ms, das hat auf jeden Fall gegen die krassen > Ausschläge geholfen. > Im Schnitt ist jetzt die vom ATTiny gemessene Spannung konstant knapp 2% > über der vom Multimeter gemessen Spannung. Die Frage ist, ob ich das > noch einigermaßen reduziert bekomme, oder ob das eine Unschärfe ist, die > "normal" ist. Die AREF Spannung ist nur nominal 2,56V. In Wirklichkeit leicht daneben aber dafür Stabil. Messe mit dem Multimeter am AREF-Pin nach und passe den Wert in deiner Software an.
Ursprünglich wollte der TO nur eine optische, möglichst helle Anzeige. Das dann naheliegend mit einer Batterieüberwachung zu verknüpfen (ich schlug einen Komparator vor, man kann auch einen Schmitt-Trigger nehmen), ist sicher noch hilfreich. Aber jetzt noch ein Display dran? Das muss auch noch alles für drausen passen. Mit einem Schmitt-Trigger brauchst du nur noch eine Led und ein bisschen Hühnerfutter, etwas Heißkleber und die ganze Sache ist dicht und für draußen geeignet. Warum also alles unnötig kompliziert machen?
Björn W. schrieb: > Tobi schrieb: >> Also ich bin jetzt mal auf 2.56V AREF hochgegangen und messe 10mal mit >> einem Abstand von 20ms, das hat auf jeden Fall gegen die krassen >> Ausschläge geholfen. >> Im Schnitt ist jetzt die vom ATTiny gemessene Spannung konstant knapp 2% >> über der vom Multimeter gemessen Spannung. Die Frage ist, ob ich das >> noch einigermaßen reduziert bekomme, oder ob das eine Unschärfe ist, die >> "normal" ist. > > Die AREF Spannung ist nur nominal 2,56V. In Wirklichkeit leicht daneben > aber dafür Stabil. Messe mit dem Multimeter am AREF-Pin nach und passe > den Wert in deiner Software an. Also wenn ich den Pin mit dem Multimeter messe, erhalte ich Werte zwischen 2,77V und 3,08V, sobald der ATTiny seine Messung durchführt. Während des sleeps ist sie bei 3,11V (mC hängt aktuell am USB und wird dort mit 3V versorgt). Das hat meine Verwirrung jetzt nicht besser gemacht :D
Tobi schrieb: > Also wenn ich den Pin mit dem Multimeter messe, erhalte ich Werte > zwischen 2,77V und 3,08V, sobald der ATTiny seine Messung durchführt. > Während des sleeps ist sie bei 3,11V (mC hängt aktuell am USB und wird > dort mit 3V versorgt). > Das hat meine Verwirrung jetzt nicht besser gemacht :D Offenbar schwankt deine Spannungsversorgung von µC stark. Ist das son Steckbrettgedöns ohne Abblockkondensatoren? Für ne VREF von 2,56V ist eh eine Versorgung von 5V angebrachter.
Wenn Du einen passend gewählten Widerstand mit drei Dioden in Reihenschaltung überbrückst und parallel dazu den ewigen Blinker von Kainka hängst, dann hast Du einen Anzeige, wenn zuviel Strom fließen sollte, die selbst aber sehr sparsam im Verbrauch ist.
Also ich habe die Versorgung jetzt mal auf 5V geändert. Dadurch wird die Messung tatsächlich sehr viel stabiler, aber mein Ergebnis ist jetzt bei 10,18V-10,20V. Der Akku hat aktuell 9,44V. Das ist mein aktueller Code:
1 | #define PIN_TEST A1
|
2 | |
3 | //#define REF_VOLTAGE 1.1
|
4 | #define REF_VOLTAGE 2.56
|
5 | #define INTERNAL2V56_NO_CAP (6)
|
6 | #define PIN_STEPS 1023.0
|
7 | |
8 | const float R1 = 99000.0; // exact resistance of R1 (= 100 kOhm) |
9 | const float R2 = 9800.0; // exact resistance of R2 (= 10 kOhm) |
10 | |
11 | float vout = 0.0, vin = 0.0; |
12 | float vinAvg = 0; |
13 | int rawValue = 0; |
14 | |
15 | void setup() { |
16 | analogReference(INTERNAL2V56_NO_CAP); |
17 | Serial.begin(9600); |
18 | pinMode(PIN_TEST, INPUT); |
19 | }
|
20 | |
21 | void loop() { |
22 | |
23 | vin = 0; |
24 | |
25 | for (int i = 0; i < 10; i++) { |
26 | rawValue = analogRead(PIN_TEST); |
27 | //Serial.println(String(rawValue));
|
28 | vout = (rawValue / PIN_STEPS) * REF_VOLTAGE; |
29 | |
30 | float vinTmp = vout / (R2 / (R1 + R2)); |
31 | |
32 | if (vinTmp < 0.09) { |
33 | vinTmp = 0.0; // suppress noise |
34 | }
|
35 | vin += vinTmp; |
36 | delay(20); |
37 | }
|
38 | |
39 | vin = vin / 10; |
40 | |
41 | if (vinAvg == 0) { |
42 | vinAvg = vin; |
43 | } else { |
44 | vinAvg = (vinAvg + vin) / 2; |
45 | }
|
46 | |
47 | Serial.println("U = " + String(vin) + " V - " + String(vinAvg)); |
48 | delay(1000); |
49 | }
|
Was mache ich jetzt falsch? Danke
Tobi schrieb: >> Sinnlose Spielerei, die obendrein die Aufgabe nicht erfüllt: > > Also ich konnte mit meinem aktuellen Prototypen nachweislich schon > mehrere Nacktschnecken davon abhalten, sich an meinen Chillies zu > vergehen. Daher ist die Sinnhaftigkeit aktuell auf jeden Fall gegeben. Missverständnis: Ich sehe den Mikrocontroller als sinnlose Spielerei, nicht den Schneckenschutz an sich. Und die Aufgabe erfüllt µC der auch nicht, nämlich zu signalisieren, wenn Strom fließt. > Vielleicht hättest Du ja auch noch einen Hinweis für mich, warum die > gemessen Spannungen so schwanken. Mehrere Messungen machen, den größten und kleinsten Wert weg und den Mittelwert aus dem Rest bilden - so mache ich das. Tobi schrieb: > Also ich bin jetzt mal auf 2.56V AREF hochgegangen und messe 10mal mit > einem Abstand von 20ms, das hat auf jeden Fall gegen die krassen > Ausschläge geholfen. Jou, aber steht auch wieder dem Wunsch nach geringem Verbrauch im Wege. Das geht auch schneller, mit z.B. 7ms Pause. > Im Schnitt ist jetzt die vom ATTiny gemessene Spannung konstant knapp 2% > über der vom Multimeter gemessen Spannung. Die Frage ist, ob ich das > noch einigermaßen reduziert bekomme, oder ob das eine Unschärfe ist, die > "normal" ist. Es ist Aufgabe DEINER Software, die gemessene Zahl in die Spannung umzurechnen. > Das mit dem externen Kondensator verstehe ich nicht ganz. Der kommt am Teiler parallel zum 10 kOhm bzw. vom Analog-Eingang nach GND. Tobi schrieb: >> Die AREF Spannung ist nur nominal 2,56V. In Wirklichkeit leicht daneben >> aber dafür Stabil. > Also wenn ich den Pin mit dem Multimeter messe, erhalte ich Werte > zwischen 2,77V und 3,08V, sobald der ATTiny seine Messung durchführt. Baue das ordentlich auf und zeige den Aufbau, kein Steckbrettgepfusche. Tobi schrieb: > Während des sleeps ist sie bei 3,11V (mC hängt aktuell am USB und wird > dort mit 3V versorgt). Solange der µC schläft, wird er die Referenz nicht garantieren wollen. Wie Versorgung per USB und 3V zusammenpassen, erschließt sich mir nicht. Versorge das Ding anständig per Längsregler aus der Batterie.
Manfred P. schrieb: > Baue das ordentlich auf und zeige den Aufbau, kein Steckbrettgepfusche. Was ist denn ein ordentlicher Aufbau?
Tobi, deine anfänglichen Ansprüche haben sich in eine ganz andere Richtung entwickelt. Es ist schwer zu folgen, wenn du diese nicht zwischendurch neu definierst.
Frank O. schrieb: > Tobi, deine anfänglichen Ansprüche haben sich in eine ganz andere > Richtung entwickelt. Manchen sind diese tatsächlich entgangen. Tobi schrieb: > Was ist denn ein ordentlicher Aufbau? Keiner hat Deinen Aufbau gesehen. Daher muss man immer mit dem üblichen worst-case rechnen. Messe mal nacheinander eine 1,5V Zelle, an eine 5V Powerbank und an einer 9V Batterie. Zuerst und zuletzt die 0V, wenn nix dran hängt oder der Eingang auf Masse gelegt wurde. Dann wäre der Schaltplan zu posten sehr sinnvoll. Den ganzen Schaltplan hast Du sicherlich noch nicht, aber es reicht nur den Teil zu zeichnen bis zum ADC-Pin am µC, der die Spannung misst.
Frank O. schrieb: > Tobi, deine anfänglichen Ansprüche haben sich in eine ganz andere > Richtung entwickelt. > Es ist schwer zu folgen, wenn du diese nicht zwischendurch neu > definierst. Verstehe ich total, daher nochmal kurz zusammengefasst: Initial ging es mir nur darum, zu sehen, ob der Stromkreis des Schneckenzauns geschlossen ist oder nicht, um ggf was dagegen zu unternehmen, bevor mir die Batterie leer gesaugt wird. Durch die Diskussion hier hat sich das jetzt aber ein bisschen erweitert und ich würde gerne folgendes umsetzen: - Anzeige des Akku-Füllstandes (entweder mit 1 LED, die je nach Füllstand unterschiedlich blinkt oder mit 3 LEDS (Rot, Gelb, Grün)) - Anzeige, ob der Schneckenzaun grad offen/geschlossen ist mit einer extra LED - Um Strom zu sparen, möchte ich die LEDs immer nur alle x Sekunden kurz blinken lassen. - Stromversorgung erfolgt komplett über den 9V/12V Akku. Über einen Festspannungsregler wird der ATTiny mit 5V versorgt. Mein Ansatz ist jetzt, das mit einem ATTiny85 zu machen. Dieser ist per default im SLEEP_MODE_PWR_DOWN und wacht dann alle x Sekunden auf, prüft die Ladung des Akkus und ob was im Zaun festhängt, blinkt dann kurz mit den LEDs und legt sich wieder schlafen. Grundsätzlich sehe ich da keine Probleme mit der Umsetzung, das einzige, woran ich grad scheitere, ist das Auslesen der Akku-Spannung. Mein aktuelles Schaltbild ist im Anhang.
Tobi schrieb: > Initial ging es mir nur darum, zu sehen, ob der Stromkreis des > Schneckenzauns geschlossen ist oder nicht, um ggf was dagegen zu > unternehmen, bevor mir die Batterie leer gesaugt wird. Dann hatte ich es da schon nicht so verstanden, wie du es gemeint hast. Bei "geschlossen" dachte ich tatsächlich eher an eine Unterbrechung, bzw. eher, ob die Batterie leer ist.
Frank O. schrieb: > Tobi schrieb: >> Initial ging es mir nur darum, zu sehen, ob der Stromkreis des >> Schneckenzauns geschlossen ist oder nicht, um ggf was dagegen zu >> unternehmen, bevor mir die Batterie leer gesaugt wird. > > Dann hatte ich es da schon nicht so verstanden, wie du es gemeint hast. > Bei "geschlossen" dachte ich tatsächlich eher an eine Unterbrechung, > bzw. eher, ob die Batterie leer ist. Wie wäre denn hier eine "korrekte", bzw verständlichere, Bezeichnung gewesen? Möchte ja in Zukunft sichergehen, dass ich richtig verstanden werde.
Tobi schrieb: > woran ich grad scheitere, ist das Auslesen der Akku-Spannung. Da fehlt ein Tiefpass, der einen Teil der Stoerungen herausfiltern wuerde.
Tobi schrieb: > Wie wäre denn hier eine "korrekte", bzw verständlichere, Bezeichnung > gewesen? Ein Schaltplan ist immer etwas, das jeder von uns gleich versteht. Aber in dem Fall lag es mehr an mir.
Frank O. schrieb: > Frank E. schrieb: >> würde ich an ein E-Paper-Display > > Natürlich noch die Internetanbindung nicht vergessen. +Kopfschüttel+ > Wieso muss alles ein Display haben? > Die Dinge werden immer mehr zum Selbstzweck. Wieso "Selbstzweck"? Der TO wollte doch eine Anzeige und ein Display zeigt etwas an (sofern es korrekt "gefüttert" wird. Ausserdem sind wir hier ein Mikrocontroller-Forum, was ein gewisses Niveau impliziert. Du kannst ja der Meinung sein, dass du den Aufwand zu hoch findest, generell falsch oder unsinnig ist es deshalb aber noch lange nicht. Wenn man den Akkustand bei Tageslicht mit einer LED über größere Entfernung anzeigen möchte, braucht die mindestens 10..20 mA, was dem Akku-Füllstand wohl nicht gut tut. Da macht doch eine Anzeige wie im Bild deutlich mehr her. E-Paper brauchen nur dann Strom, wenn sich etwas im Bild ändert.
:
Bearbeitet durch User
Also ich habe jetzt mal einen 33uF Kondensator eingebaut. Siehe Schaltplan. Damit bekomme ich folgende Ergebnisse: U = 10.07 V U = 10.05 V U = 10.05 V U = 10.06 V U = 10.06 V U = 10.05 V U = 10.04 V U = 10.05 V U = 10.05 V U = 10.04 V U = 10.03 V U = 10.05 V U = 10.05 V U = 10.06 V U = 10.04 V U = 10.05 V Ohne den Kondensator sieht es so aus: U = 10.10 V U = 10.10 V U = 10.10 V U = 10.11 V U = 10.09 V U = 10.11 V U = 10.11 V U = 10.11 V U = 10.12 V U = 10.10 V U = 10.11 V U = 10.10 V U = 10.10 V U = 10.10 V U = 10.11 V Die Batterie ist bei 9,4V Ich bin zum Test nochmal auf 3V VCC runtergegangen und da sind meine Ergebnisse sehr viel näher an der tatsächlichen Spannung (zwischen 9,5 und 9,65). Der Kondensator hat da aber keinen nennenswerten Effekt.
Tobi schrieb: > Der Kondensator hat da aber keinen nennenswerten Effekt. Die Schwankungen sind weniger als Effekt. Es gibt auch Toleranzen. Kalibrieren durch Anpassen des Umrechnungsfaktors.
Tobi schrieb: > Was mache ich jetzt falsch? Du erwartest zu viel. Die interne Referenz kann einige Prozent vom Soll abweichen. Wenn du eine Lösung ohne manuellem Abgleich willst musst du eine externe Referenz verwenden. Es gibt passende IC's, die vom Hersteller während der Produktion justiert werden. So etwas benutze ich, um meine Multimeter zu kontrollieren.
:
Bearbeitet durch User
Aber habt Ihr eine Erklärung dafür, dass die Werte so unterschiedlich sind, je nachdem, ob ich mit 3V oder 5V arbeite? Bezüglich der Toleranzen werde ich mal schauen, dass ich jetzt die Umrechnung mal so anpasse, dass das Ergebnis für die 9V Batterie sauber ist und dann mal mit anderen Spannungsquellen probieren.
Dann mach jetzt mal einen Kondensator 100nF zwischen AREF-Pin (PB0) und GND. und dann mess die Spannung an AREF, diesen Wert dann in der Software verwenden.
Tobi schrieb: > Aber habt Ihr eine Erklärung dafür, dass die Werte so unterschiedlich > sind, je nachdem, ob ich mit 3V oder 5V arbeite? Wurde bereits gesagt: Die 2,56V Referenz braucht mehr als 3V Versorgungsspannung.
Tobi schrieb: > Untitled_Sketch_3_Schaltplan.png Optimal unübersichtlich gemalt. Tobi schrieb: > Ich bin zum Test nochmal auf 3V VCC runtergegangen und da sind meine > Ergebnisse sehr viel näher an der tatsächlichen Spannung Oh weh, da fehlt ja alles an Grundverständnis. Der Meßwert ist ein Vergleich gegen die Referenzspannung des µC und ich weiß nicht, ob dieser bei 3V-Versorgung seine 2,56V noch halten kann. Setze das DIng auf 1,1V, dann dürfen sich die Meßwerte zwischen 3 und 5V-Versorgung nicht verändern. Dieter D. schrieb: > Es gibt auch Toleranzen. Kalibrieren durch Anpassen des > Umrechnungsfaktors. Björn W. schrieb: > dann mess die Spannung an AREF, diesen Wert dann in der Software > verwenden. !!!!!
1 | #define REF_VOLTAGE 1.1
|
2 | #define PIN_STEPS 1023.0
|
3 | |
4 | const float R1 = 99000.0; |
5 | const float R2 = 9800.0; |
6 | |
7 | void loop() { |
8 | rawValue = analogRead(PIN_TEST); |
9 | vout = (rawValue / PIN_STEPS) * REF_VOLTAGE; |
10 | vin = vout / (R2 / (R1 + R2)); |
Passe der Wert REF_VOLTAGE der tatsächlichen Spannung an, z.B. 1,12 anstatt 1,1 - den Wert musst Du ermitteln. "vin = vout / (R2 / (R1 + R2));" ist zwar nett, aber ich würde das vorab ausrechnen und schon in der Zeile davor vout mal 0,9 rechnen.
Björn W. schrieb: > Dann mach jetzt mal einen Kondensator 100nF zwischen AREF-Pin (PB0) und > GND. > und dann mess die Spannung an AREF, diesen Wert dann in der Software > verwenden. Also ich weiß nicht, was ich falsch gemacht habe, aber ich habe dort 5V bzw 4,9V gemessen... Ich habe jetzt einfach den berechneten Wert und den gemessen Wert verglichen und habe dort knapp 9% Unterschied. Daher rechne jetzt mit einem REF_VOLTAGE von 1,004 statt 1,1 und damit stimmen meine Ergebnisse ziemlich gut überein. Ein bisschen unbefriedigend, aber wenigstens kann ich jetzt weitermachen...
Meine Vermutung sagt mir das er keinen Blockkondensator an VCC und GND hat und die Kiste periodisch Resettet. Das ist mir sogar selbst mal an einen Tiny13 passiert der als Taktteiler programmiert war. Sobald die ersten 3 Bits komplett umgeschaltet haben war Reset.
Otto K. schrieb: > Ich würde an deiner Stelle nicht zu laut lachen. Hast du schon mal eine > 9 Volt Blockbatterie an deine eigene Zunge drangehalten? Das was du dann > fühlst, fühlt auch die Schnecke, nur 1000 mal stärker, weil sie 1000 mal > kleiner und 1000 mal schwächer ist als du. Der Schleim auf deiner Zunge > ist mit dem einer Schnecke vergleichbar. Donnerwetter. So viel Oberflächliches in so wenigen Worten habe ich lange nicht mehr gelesen.
Klaus F. schrieb: > Tobi schrieb: >> einen elektrischen Schneckenzaun zu bauen. Im Moment erstmal mit 9V > hahahaha ( sagen da die Schnecken ) Den allermeisten Schnecken ist schon viel, viel weniger so unangenehm, dass sie umdrehen. Bei meiner völlig wartungsfreien und damit maximal sparsamen (um das Threadthema aufzugreifen) Lösung im Beitrag "Re: Stromspannung - wie viele Meter?" bringen sie den Elektrolyten sogar selber mit.
Ich hab doch nochmal eine Frage: Im Anhang findet Ihr ein grobes Schaltbild meine geplanten Zauns (Stromversorgung des mC ist hier aktuell nur angedeutet). Wo ich grad ein bisschen unsicher bin ist der 500Ohm Widerstand in der Mitte. Der soll als Schutz bei einem Kurzschluss des Zauns (durch Regen, etc) fungieren, aber ich bin mir nicht sicher, wie groß ich den am besten dimensionieren. Im Worst-Case (Kurzschluss bei 12V Spannung) setzt der knapp unter 300mW Leistung um. Da wird der wahrscheinlich schon ziemlich warm, oder? Ist das zu viel? Aber wenn ich den Widerstand größer mache, geht das halt auf Kosten der potentiellen Wirksamkeit, weil ich ja so viel Spannung wie möglich für die Schnecken haben möchte. Vor allem, solange ich noch mit 9V unterwegs bin. Freue mich über jeden Input dazu. Danke
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.