Hallo zusammen, ich würde gerne das kollektive Wissen dieses Forums anzapfen und das Ganze bitte ohne dafür nieder gemacht zu werden! Danke schon mal dafür! :) Zu meinem kleinen Projekt: Meine Großeltern haben in ihrem Schrebergarten einen Wasserzähler, der sich allerdings in einem Schacht befindet. An dem Wasserzähler hängt ein Impulsgeber-Modul (einfacher Reed-Kontakt), das einen Impuls je Liter ausgibt. Ich möchte den Text nicht zu lange machen, da die meisten wahrscheinlich am Sonntag besseres zu tun haben und direkt zu meiner Frage kommen :) Ich suche einen Baustein, der Impulse zählt und die bereits gezählten Impulse auch im Spannungslosen Zustand beibehält (Batteriewechsel). Die Impulse möchte ich mit einer MCU zur weiteren Verarbeitung erfassen können. Ideal wäre ein 32-Bit Register, in dem Fall nicht für den Wasserzähler sondern für andere Projekte die mir grade noch mehr oder weniger unausgereift durch den Kopf schwirren. Ich weiß nicht, ob ein Binary Counter das richtige Bauteil für mein Vorhaben wäre. Soweit ich dieses IC richtig verstanden habe, sind da FlipFlops drin, die auch ihren Zustand beibehalten können, wenn keine Spannung anliegt. Haben mehrere Binärausgänge an denen ich theoretisch den aktuellen Zählerstand erfassen könnte, aber ich bräuchte für 8-Bit auch 8 Eingänge am Microcontroller? Kennt ihr eventuell RTC-Module bei denen ich statt dem Quarz ein Impulsgeber anschließen könnte und wo kein Divider dahinter hängt, um aus den 32,768 kHz 1 Hz zu machen? Gruß Christine
Warum verwendest du nicht einfach den Counter in der batterie-betriebenen MCU? Die AVR Mikrocontroller haben ein EEPROM, dort könntest du Zählerstände sogar persistieren. Was willst du da mit einer RTC?
Für den ganzen Sermon (Impulse zählen; Impulse/Zählwert speichern; irgendwie ausgeben) bietet sich ein einfachst µP (ATTiny??? oder so) an. Der kann zählen, speichern (EEPROM), und in verschiedenen Protokollen kommunizieren. Die meisten haben jede Menge Energiesparmodi und fallen in die Kategorie: "Kost fast nix".
Christine K. schrieb: > die bereits gezählten Impulse auch im Spannungslosen Zustand beibehält Gute alte Mechanik: https://www.pollin.de/p/elektromagnetisches-zaehlwerk-line-seiki-mz-712-830772 https://www.pollin.de/p/summenzaehler-hengstler-0-634-640-6-stellig-2-v-870235
Christine K. schrieb: > An dem Wasserzähler hängt ein Impulsgeber-Modul (einfacher Reed-Kontakt), > das einen Impuls je Liter ausgibt. Wie sieht das Timing dieser Impulse aus (min. "An"- und min. "Aus"-Zeit)? Und wie viele Impulse können da pro Minute kommen? > Ich suche einen Baustein, der Impulse zählt und die bereits gezählten > Impulse auch im Spannungslosen Zustand beibehält (Batteriewechsel). EEPROM im µC bzw. GoldCap am µC würden da helfen. Manfred schrieb: > Gute alte Mechanik: > https://www.pollin.de/p/elektromagnetisches-zaehlwerk-line-seiki-mz-712-830772 Eigentlich eine Nette Idee, aber *Leistungsaufnahme: 1,2 W* Da müsste man sich also Gedanken um ein Monoflop machen. Nicht dass der Wasserzähler mal auf "An" stehen bleibt und die Batterie nach 1 Stunde leer ist.
:
Bearbeitet durch Moderator
Vielen Dank für die Vorschläge! Das mit ATTiny wäre tatsächlich eine gute Möglichkeit. Ein EEPROM hat 100.000 Schreibzyklen bis es den Geist aufgibt oder? Also wenn ich jeden Impuls abspeichere, damit er auch nach Spannungsausfall vorhanden ist, dann lebt das EEPROM nicht besonders lange. Der Zähler hat einen maximalen Durchfluss von 5m³/h, wenn sich mein Taschenrechner nicht verrechnet hat, dann sollten das max. 83 Imp./min sein.
:
Bearbeitet durch User
Christine K. schrieb: > Ein EEPROM hat 100.000 Schreibzyklen bis es den Geist aufgibt oder? Und viele Speicherzellen. Man muss ja nicht immer wieder die selbe überschrieben.
Sowas gab es mal als fertiges Zaehlermodul (incl. LCD) vor Jahren bei Max&Max. Eine 1.5 V Alkalizelle haucht so einem Zaehlerchen mehrere Jahrzehnte Leben ein. Vielleicht gibt es bei R&S entsprechende Module auch heute noch. Die Ansteuerung "LCD on Glass" ist etwas trickreicht und nichts was "einfache" Controller so out of the Box koennen.
Christine K. schrieb: > Kennt ihr eventuell RTC-Module bei denen ich statt dem Quarz ein > Impulsgeber anschließen könnte und wo kein Divider dahinter hängt, um > aus den 32,768 kHz 1 Hz zu machen? Nee, aber RTC haben i.d.R. Batterie gepuffertes User-RAM. Man könnte also mit einem kleinen µC die Impulse messen und dann im User-RAM speichern. Was soll denn überhaupt mit den Daten passieren?
P.S.: Eventuell liesse sich auch ein einfacher Schrittzaehler modifizieren.
Die STM32L0 Serie hat eine RTC, Batteriegepuffertes RAM, EEPROM und teilweise sogar USB. Damit wäre man dann für alle Varianten offen. Ich würde es der Einfachheit halber aber mit einem AVR machen.
Christine K. schrieb: > Ein EEPROM hat 100.000 Schreibzyklen bis es den Geist aufgibt oder? Je Bit. Z.B. bei einem ATtiny85 kannst Du 4000 Bits einzeln auf 0 setzen, ehe Du wieder löschen mußt. Die restlichen 12 Bytes kannst Du dann als Zähler * 4000 nehmen. Damit hast Du 400.000.000 Schreibzyklen und kannst 9 Jahre ununterbrochen das Wasser fließen lassen. Man kann aber auch eine Unterspannungserkennung aufbauen und nur bei Absinken der Spannung speichern.
Christine K. schrieb: > Ich suche einen Baustein, der Impulse zählt und die bereits gezählten > Impulse auch im Spannungslosen Zustand beibehält (Batteriewechsel). Man könnte evtl. auch über Dioden während des Wechsels der Batterie eine "Hilfsbatterie" kurzzeitig anschließen. Oder man verzichtet auf Elektronik und einen µC und notiert sich den alten Zählerstand vor Batteriewechsel auf einem kleinen Zettel. Dann fehlt aber der Spaß an der Bastelei! Wie so häufig hier im Forum: Was soll es mal werden?
:
Bearbeitet durch User
Christine K. schrieb: > Die Impulse möchte ich mit einer MCU zur weiteren Verarbeitung erfassen > können. Was hindert den MC daran, das Zählen einfach selber zu machen. Schnarchlahme 1,38Hz in knallharter Echtzeit zu zählen, sollte jeder MC leicht schaffen.
Peter D. schrieb: > Christine K. schrieb: >> Ein EEPROM hat 100.000 Schreibzyklen bis es den Geist aufgibt oder? > > Je Bit. > Z.B. bei einem ATtiny85 kannst Du 4000 Bits einzeln auf 0 setzen, ehe Du > wieder löschen mußt. Die restlichen 12 Bytes kannst Du dann als Zähler * > 4000 nehmen. > Damit hast Du 400.000.000 Schreibzyklen und kannst 9 Jahre > ununterbrochen das Wasser fließen lassen. So isses. Mal abgesehen davon funktioniert derselbe Trick auch beim Flash. Der hat zwar nur ein Zehntel der garantierten Zyklen, dafür ist er aber auch 16 mal größer als der EEPROM. Als Pi mal Daumen Kapazität für weitere 9 Jahre (wenn man den für den Code benötigten Platz abzieht). > Man kann aber auch eine Unterspannungserkennung aufbauen und nur bei > Absinken der Spannung speichern. Würde ich generell für die sinnvollste Lösung halten. Zumal man die Schreiberei in den NV-Bereichen ja sowieso absichern muss.
Christine K. schrieb: > Die Impulse möchte ich mit einer MCU zur weiteren Verarbeitung erfassen > können. Das Problem bei diesen Zählern mit EINEM Sensor ist, das sie u.U. kurzzeitig rückwärts drehen können und damit prellen. Ich habe dann zwei Sensoren (wie Dreh-Encoder) verbaut. Seit dem ist Ruhe (µC identisch mit mechanischen Zählwerk). LG
Oder gleich ganz mechanisch. https://www.pollin.de/p/elektromagnetisches-zaehlwerk-line-seiki-mz-712-830772
Wird die Spannung überwacht, so kann man sich vieles ersparen. Speichern im EEPROM nur wenn der Strom ausfällt, natürlich mit einem ausreichenden Pufferkondensator für den µP. Oder schreiben nur wenn 10, 100 oder 1000 Impulse eingetroffen sind. Man kann auch ein zeitliches Raster vorgeben, also alle 1/2 Stunde. Dann "hält" das EEPROM ewig und drei Tage. Auch eine Mischung von Anzahl und Zeit ist möglich. Natürlich hängt vieles von der gewünschten Genauigkeit ab. Also darf kein Impuls verschütt gehen oder kommt es auf ein Dutzend nicht an. Verluste gibt es ja nur rund um einen Stromausfall. Also viele der Winzlinge (8-Füßer z.B.) haben mehrere A/D-Wandler, mit denen man die Spannung überwachen kann. Darüber hinaus sind auch noch genügend Anschlüsse für die Impulsüberwachung und eine eventuelle Kommunikation vorhanden. Auch kann man über bestimmte >>Fuses<< die Ein- bzw. Abschaltbedingungen des µP relativ genau beeinflussen. Allerdings haben die Teile keine hellseherischen Fähigkeiten. Ist die Batterie leer, so läuft nichts mit Zählen. Deshalb musst Du Dich schon irgendwie ums "Futter" kümmern. Hier aber lautet die größte Gefahr: Aus den Augen, aus dem Sinn.
Sebastian S. schrieb: > Man kann auch ein zeitliches Raster vorgeben, also alle 1/2 Stunde. Dann > "hält" das EEPROM ewig und drei Tage. Wenn man dann noch für eine neue Speicherung als Bedingung macht, dass nur neu geschrieben wird, wenn sich der Wert auch tatsächlich geändert hat, dann hält es noch länger als ewig und drei Tage, es sei denn man hat eine Bewässerungsanlage die 20 mal am Tag gießt oder das Problem, das irgendwo Wasser verloren geht ;)
Und wer ganz faul ist und nicht viel über die Software nachdenken will, nimmt einfach einen FRAM für 1,50 €...
Vielleicht kann frau auch nen Fahradcomputer dazu mißbrauchen. Dessen Batterie hält 2 Jahre. Ich würde das Ganze sowiso nicht im Schacht installieren sondern den Kontakt mit ner Doppelleitung ins Haus / in die Laube führen. Da ist es auch nicht so feucht. Ich liebe ja Tiere, aber Nacktschnecken im Schacht sind brrr... :-O mfg
Sorry für die späte Rückmeldung, aber hab mal über eure Vorschläge gegrübelt. Also ich möchte auch nicht unbedingt den einfachsten Weg nehmen, eher den effizientesten. Wenn ich dabei noch was lerne, umso besser :) Die Frage was mit den Impulsen geschehen soll ist jetzt häufiger aufgetaucht. Also ich würde dem Microcontroller den initialen Zählerstand und die Impulswertigkeit vorgeben, so dass Zählerstand + Anzahl Impulse = aktueller Zählerstand ergeben. Mit einer proprietären Funktechnik (eventuell wird es wieder LoRaWAN werden), soll aus dem Schacht herausgefunkt werden. Auf der anderen Seite würde ich dann, da ich da auch Steckdosen habe, vermutlich ein schlichtes Display mit dem aktuellen Zählerstand aufbauen. Den Microcontroller den ich aktuell verwende verbraucht ca. 4 uA im sleep-Modus, was ideal für eine Batterieanwendung ist und ich möchte ihn nicht bei jedem Impuls per Interrupt aus dem sleep-Modus holen, weil dann wiederum der Verbrauch auf einige mA hochschnellt. Idealerweise wacht er nur auf, um kurz seine Daten zu versenden und geht dann bis zum nächsten Versand wieder schlafen. Der FRAM sieht sehr interessant aus um die Impulse abzuspeichern und hat, wenn Wikipedia nicht lügt, 10^10 - 10^15 Schreibzyklen. Ich überlege auch grade einen STM32L073V8 Microcontroller zu nehmen, da dieser einen LPTIMER hat, der von extern getriggert werden kann. Also ein RTC ohne Divider dahinter. Mit einem SuperCap überlebt der Microcontroller auch locker einen Batteriewechsel. Würde das funktionieren? Kennt sich damit jemand aus? LG Christine
:
Bearbeitet durch User
Christine K. schrieb: > Mit einem SuperCap überlebt der Microcontroller auch locker einen > Batteriewechsel. Würde das funktionieren? Sicher irgendwie, die gibt es ja quasi beliebig groß. Du könntest aber auch genau so das RAM von der RTC eines STM32 verwenden und nur dieses mit einer Knopfzelle oder Kondensator puffern. Dafür haben die Chips sogar einen separaten Anschluss. Dieses Board kostet nur 5 Euro: http://stefanfrings.de/stm32/stm32f3.html#stm32f3mini Es gibt auch programmierbare Funkmodule, z.B. auf Basis des ESP8266 mit WLAN: http://stefanfrings.de/esp8266/index.html. Bei dem könntest du die Daten (bei Stromausfall) im üppig großen Flash Speicher sichern.
Christine K. schrieb: > Ich überlege auch grade einen STM32L073V8 Microcontroller zu nehmen, da > dieser einen LPTIMER hat, der von extern getriggert werden kann. Kannst du schon machen, wobei auch die kleineren aus der L0-Serie einen low-power Timer haben, dafür muss es nicht unbedingt ein Package mit 100-Pins sein. Ok, es muss halt noch der Lora-Stack reinpassen aber dafür braucht es ganz sicher keine 192kB Flash. > Mit einem SuperCap überlebt der Microcontroller auch locker einen > Batteriewechsel. Würde das funktionieren? Kann man alles machen aber warum speicherst du nicht deine Werte in regelmäßigen Abständen in irgendeinen nichtflüchtigen Speicher (EEPROM haben die STM32L0 mit an board)? Dazu noch einen Button, der bei Betätigung sofort die Werte ins EEPROM wegschreibt, falls man mal die Batterie wechseln will. Wenn du es besonders pfiffig machen willst, dann mach halt einen Mikroschalter der betätigt wird, wenn das Batteriefach geöffnet wird. Das einzige, was diese Lösung gegenüber einer Goldcap nicht kann, ist während des Batteriewechsels noch Pulse zählen.
Gegenüber dem ganzen Klimbim ist das mechanische Zählwerk für 0,95Euro (oben genannt) DIE WEITAUS sinnvollere Lösung. Das benötigt lediglich kurz Strom wenn es schaltet, vergisst nichts, und die einzige erforderliche Elektronik ist ev. ein Transistor um den Sensorimpuls zu verstärken.
Wo soll sich das Display befinden, außerhalb oder im Schacht? Im Schacht: ATmega8 im Sleep-Modus und 7-Segment LEDs, welche alle paar Sekunden für wenige ms aufleuchten, Batterie hält ca. 1 Jahr. Extern mit Drahtverbindung: siehe "Im Schacht" Extern mit Funk: 433MHz TX-RX-Modul, hier wirds anspruchsvoller, da ein Datenprotokoll erstellt und ausgewertet werden muss.
:
Bearbeitet durch User
Hermann Kokoschka schrieb: > Gegenüber dem ganzen Klimbim ist das mechanische > Zählwerk für 0,95Euro (oben genannt) DIE WEITAUS sinnvollere Lösung. Das mechanische Zählwerk kann den Zählerstand nicht per Funk senden. Das war dem TO aber wichtig. Was soll man mit einem mechanischen Zählwerk anfangen, dass an und parallel zur Wasseruhr mit zählt? Dann hat man zwei Anzeigen tief unten in dem Erdloch. Super.
Der Schacht ist meist unter der Erde, hat Bewehrung und nen Metalldeckel! Wie weit will sie da mit Funk rauskommen? Nen Fahrradcomputer als Zähler benutzen, und über ne doppelleitung anbinden! Einfacher gehts nicht! mfg
Irgendwie klappt’s bei mir die Zehennägel hoch, wenn ich höre: Batteriebetrieb plus Display plus Funk. Fehlt nur noch eine helle LED um den Batteriezustand anzuzeigen. Übrigens mir ist kein µP bekannt, der im "Schlaf" zählen kann. Aufwecken, zählen und weiter pennen, kenn ich. Aber vielleicht gibt es da tatsächlich was. Über das Senden aus dem Schacht, kann hier sowieso nur spekuliert werden.
Sebastian S. schrieb: > Irgendwie klappt’s bei mir die Zehennägel hoch, wenn ich höre: > Batteriebetrieb plus Display plus Funk. Naja, das muss sich nicht notwendigerweise widersprechen. Wenn "Display" ein naked LCD ist und "Funk" ein einfaches Funkmodul statt WLAN oder sowas, dann kann das beides auch mit Batteriebetrieb durchaus kompatibel sein. Siehe z.B. die Außensensoren von Wetterstationen. Funk haben die nahezu alle und manche haben sogar ein kleines LCD. > Übrigens mir ist kein µP bekannt, der im "Schlaf" zählen kann. Das sagt nur viel über dich. Natürlich gibt es µC mit CTs, bei denen man nahezu den gesamten µC pennen schicken kann, (mindestens) ein CT aber durchaus in der Lage ist, in dieser Zeit Impulse zu zählen. Man muss da nichtmal nach irgendwas Exotischem Ausschau halten, jeder ATmega kann das, nämlich mit Timer2 (bzw. TCDn bei den neueren Teilen).
Christine K. schrieb: > Meine Großeltern haben in ihrem Schrebergarten einen Wasserzähler, der > sich allerdings in einem Schacht befindet. An dem Wasserzähler hängt ein > Impulsgeber-Modul (einfacher Reed-Kontakt), das einen Impuls je Liter > ausgibt. Hermann Kokoschka schrieb: > ist das mechanische Zählwerk für 0,95Euro (oben genannt) > DIE WEITAUS sinnvollere Lösung. > Das benötigt lediglich kurz Strom wenn es schaltet, > vergisst nichts, > und die einzige erforderliche Elektronik ist ev. ein > Transistor um den Sensorimpuls zu verstärken. Sehe ich auch so. Mir fällt einfach nichts ein, was man in einem Schrebergarten mit dem Zählerstand noch so machen könnte, als den Wasserverbrauch zu messen und evtl. zu protokollieren. Vielleicht könnte man doch mal den "tieferen Sinn" der Messung und der Speicherung hier erläutern.
Vielen Dank für die Lösungsvorschläge und das ihr euch die Zeit nehmt auf meine Fragestellung einzugehen! Ich merke langsam, dass sich immer mehr die Leute zu Wort melden, die alles und jeden in Frage stellen. Vielleicht habe ich mich auch an einer Stelle einfach nur unglücklich oder nicht genau genug ausgedrückt. :) Sebastian S. schrieb: > Irgendwie klappt’s bei mir die Zehennägel hoch, wenn ich höre: > Batteriebetrieb plus Display plus Funk. Fehlt nur noch eine helle LED um > den Batteriezustand anzuzeigen. Deine Zehennägel können ruhig an Ort und Stelle bleiben, ich kratze hier nicht mit meinen Fingernägeln an einer Kreidetafel. Im Schacht ein Display aufzubauen will ich nicht machen, hab ich auch nicht geschrieben. Das Display möchte ich auf der Datensenke-Seite aufbauen, weil, wie ich bereits geschrieben habe, ich dort mehrere Steckdosen habe und somit auch keine Batterie benötige. Wolle G. schrieb: > Mir fällt einfach nichts ein, was man in einem Schrebergarten mit dem > Zählerstand noch so machen könnte, als den Wasserverbrauch zu messen > und evtl. zu protokollieren. > Vielleicht könnte man doch mal den "tieferen Sinn" der Messung und der > Speicherung hier erläutern. Es gibt keinen tieferen Sinn, ein "einfaches" Projekt sollte es werden. Zum Neues lernen, wieder Technik in der Hand haben und in der aktuellen Lage die Zeit sinnvoll "totschlagen". Lotta schrieb: > Wie weit will sie da mit Funk rauskommen? > Nen Fahrradcomputer als Zähler benutzen, > und über ne doppelleitung anbinden! > Einfacher gehts nicht! Ich habe mittlerweile Erfahrungen mit LoRaWAN und bin mir sicher, dass diese Funktechnik mit dem kleinsten Spreizfaktor (SF7) locker aus dem Schacht rauskommt. Mein Problem ist nicht der Funk sondern das energieeffiziente Zählen von Impulsen. https://www.nikolaus-lueneburg.de/2019/05/i2c-impuls-counter-modul/?unapproved=1647&moderation-hash=b5c570387dd80e76a6bb681d93281358#comment-1647 Ich glaube, dass das hier ein Ansatz ist, den ich testen werde. Wenn ich die I2C Leitungen an eine Steuerbare Spannung hänge, sollte der Stromverbrauch gering genug bleiben.
:
Bearbeitet durch User
Christine K. schrieb: > Mein Problem ist nicht der Funk sondern das energieeffiziente Zählen von > Impulsen. Dazu hatte der c-hater ja schon was geschrieben: c-hater schrieb: > Natürlich gibt es µC mit CTs, bei denen man > nahezu den gesamten µC pennen schicken kann, (mindestens) ein CT aber > durchaus in der Lage ist, in dieser Zeit Impulse zu zählen. Man muss da > nichtmal nach irgendwas Exotischem Ausschau halten, jeder ATmega kann > das, nämlich mit Timer2 (bzw. TCDn bei den neueren Teilen). Der µC muss dann nur hin- und wieder "aufstehen" und versuchen die Daten los zu werden. Bei einem Puls pro Liter könnte ein 16Bit-Zähler über 65m³ Wasser "messen". Verbraucht man im Schrebergarten so viel? [Offtopic] Ich möchte auch nicht im gesetzten Alter in einen Schacht klettern, um den Wasserverbrauch abzulesen. [/Offtopic]
>LoRaWAN und bin mir sicher ...locker aus dem Schacht rauskommt.
Ich mir nicht, bei 868MHz könnte es mit den Ausbreitungsbedingungen
Probleme geben. 433MHz sind ggf. Übertragungsfreundlicher.
Bitte einfach mal Empfangsversuche durchführen und uns umfassend davon
berichten.
433MHz empfange ich noch im Keller(3 Etagen unter mir), 868MHz Probleme
schon im Nachbarraum.
Was ich nicht ganz vestanden habe,
nach welchem Prizip soll dieses Projekt funktionieren?
A: Wasserzähler-->Zähler--> Funk(TX) Funk(RX)--> Anzeige
B: Wasserzähler--> Funk(TX) Funk(RX)-->Zähler--> Anzeige
STK500-Besitzer schrieb: > Der µC muss dann nur hin- und wieder "aufstehen" und versuchen die Daten > los zu werden. Genau. Das kann man einerseits mittels des Zählers selber machen (ist sowieso sinnvoll, zumindest um die Zwischenstände im NV-RAM abzulegen), andererseits aber auch mittels zusätzlicher Verwendung des Watchdog-Timers für regelmäßige Funk-Meldungen. Das ist aber nur nötig, wenn es keinen dauerhaft erreichbaren Empfänger gibt. ansonsten reicht der Zähler als Weckmechanismus auch für den Funkverkehr. Weil: Wenn nix verbraucht wurde seit der letzten Meldung, gibt's auch nix Neues zu melden. Capisce?
Sollen die Daten per Funkenschlag (egal welche Sorte) übermittelt werden würde ich aus energetischen Erwägungen heraus, einmal pro Minute den Empfänger anwerfen. Dein Abholer muss dann, im schlimmsten Falle eine Minute lang, den Abholcode übertragen. Ist ja nicht so schlimm, da für ihn das Futter aus der Steckdose kommt. Empfängt der "Zähler" den Abholcode, so sendet er was zu übertragen ist. Anschließend geht’s wieder in die Heia. Auf diese Weise muss der Sender (Zähler) nicht "dauernd" arbeiten. Die Batterie wird es Dir danken. Hast Du es eiliger oder ist die Batterie größer, so kannst Du auch ein kürzeres Raster wählen. Man sollte aber im Auge behalten, dass auch der Empfang richtig viel Strom kostet,
:
Bearbeitet durch User
Man kann so was natürlich in allen Varianten selbst entwickeln. Aber bei Stückzahl 1 für Omas Gartenhaus ist das so ein Problem mit dem Aufwand. Es gibt verschiedenste M-Bus Gateways die auch S0 Impuls können zu kaufen. Wenn es einfach sein soll (und nicht für Abrechnungszwecke zertifiziert sein muss) würde ich ein paar CMOS Zähler 4029 in Reihe schalten. Die gibts zu 20 Cent, sie laufen schon bei 3 Volt und der Stromverbrauch ist unschlagbar. Ablesen auf LED bei Bedarf mit Knopfdruck.
J. V. schrieb: > Aber bei Stückzahl 1 für Omas Gartenhaus ist das so ein Problem mit dem Aufwand. Zielstellung für das Projekt ist: Christine K. schrieb: > Es gibt keinen tieferen Sinn, ein "einfaches" Projekt sollte es werden. > Zum Neues lernen, wieder Technik in der Hand haben und in der aktuellen > Lage die Zeit sinnvoll "totschlagen".
J. V. schrieb: > Ablesen auf LED bei Bedarf mit Knopfdruck. Man könnte auch einen optischen Sensor mit der Taschenlampe anleuchten, um die Anzeige für ein paar Sekunden einzuschalten.
Christine K. schrieb: > Ich glaube, dass das hier ein Ansatz ist, den ich testen werde. > Wenn ich die I2C Leitungen an eine Steuerbare Spannung hänge, sollte der > Stromverbrauch gering genug bleiben. Ich glaube du machst hier einen Denkfehler. Beim I2C hängst du ja den Bus über einen Pullup an deine Versorgungsspannung und so lange die jeweiligen Teilnehmer nichts senden (d.h. den Bus "runterziehen") fließt da auch kein nennenswerter Strom, weil die Eingänge hochohmig sind. Wo ich mir eher Gedanken drum machen würde wäre die Wahl des Spannungswandlers und insbesondere dessen Ruhestrom (wenn er denn dauerhaft läuft). Ich würde entweder einen mit extrem geringen Ruhestrom nehmen oder (das wäre meine bevorzugte Variante) einen Mikrocontroller nehmen, der über den gesamten Spannungsbereich der Batterie (angenommen LiIon oder 3AA in Serie) funktioniert. Da bieten sich etwa AVR an und wenn es etwas moderner sein soll, etwa einige NRF, z.B. NRF52832, es gibt aber natürlich noch deutlich mehr. Dann braucht man den Spannungswandler nur noch für Lora und kann den (Enable-Pin vorausgesetzt) einfach abschalten wenn man nicht gerade funkt.
Christopher J. schrieb: > Ich glaube du machst hier einen Denkfehler. Beim I2C hängst du ja den > Bus über einen Pullup an deine Versorgungsspannung und so lange die > jeweiligen Teilnehmer nichts senden (d.h. den Bus "runterziehen") fließt > da auch kein nennenswerter Strom, weil die Eingänge hochohmig sind. Genau, SDA & SCL werden jeweils mit einem PU (10K) hochgezogen. Das sind 0,66 mA bei 3,3 V, was unter gewohnten Bedingungen nicht viel ist, aber für eine 2200 mAh Batterie auf Dauer schon belastend sein kann. Christopher J. schrieb: > Wo ich mir eher Gedanken drum machen würde wäre die Wahl des > Spannungswandlers und insbesondere dessen Ruhestrom (wenn er denn > dauerhaft läuft). XC6206P332MR von Torex. Den hab ich in meinen früheren Projekten verwendet, der war bisher immer ideal für meine Projekte. STK500-Besitzer schrieb: > [Offtopic] > Ich möchte auch nicht im gesetzten Alter in einen Schacht klettern, um > den Wasserverbrauch abzulesen. > [/Offtopic] !!! Das haben die bisher zwar nie selbst gemacht, aber das kommt natürlich auch auf die pro-Liste :) So wie ich das bisher lese, bieten sich mir 2 Möglichkeiten. 1. Ich verwende einen ATMega, der im power-save Modus ist und Impulse zählt. Das Problem hier, ich hab diese Controller noch nie außerhalb der Arduino Umgebung programmiert, was für mein Vorhaben aber wahrscheinlich notwendig sein wird. Könnte hier aber auf die STM32L umschwenken, die ich schon mit der STM-Hauseigenen IDE programmiert habe. 2. Das ist der Easy-Mode. Ich verwende einen Binary-Counter (z.B. 12Bit "SN74HC4040DR"), damit kriege ich 4096 Zustände hin ohne den Controller zu wecken. Müsste hier aber alle 12-Ausgänge des Binary-Counter an jeweils einen GPIO hängen. Wenn der max. Wert erreicht ist, speichere ich den Wert im EEPROM ab und resette den Binary-Counter. Der Ablauf wäre hier: MCU wakeup -> GPIO's abfragen -> Zählerstand berechnen & senden -> schlafen gehen
:
Bearbeitet durch User
Christine K. schrieb: > Das mit ATTiny wäre tatsächlich eine gute Möglichkeit. > Ein EEPROM hat 100.000 Schreibzyklen bis es den Geist aufgibt oder? > Also wenn ich jeden Impuls abspeichere, damit er auch nach > Spannungsausfall vorhanden ist, dann lebt das EEPROM nicht besonders > lange. Man kann einfach die Schreibvorgänge auf mehr Speicherzellen verteilen. Man nehme 1024 Speicherzellen, und initialisiere sie mit 0xFFFF vor. Dann schreibt man mit jedem Impuls in eine neue Speicherstelle. Ist man bei 0 angelangt, löscht man alle und fängt von vorn an. Die Höchstwertige Speicherzelle, die nicht 0xFFFF enthält, enthält den aktuellsten Zählerstand. Gibt beliebig viele andere Varianten, wie man den Gedanken umsetzen kann. Jedenfallls hat man die Anzahl der Schreibzyken mit diesem (oder einem ähnlichen Konzept) um den Faktor 1024 erhöht. Nachdem heutige EEPROMs in µCs oft 100000 Löschzyklen haben, kann man so mindestens 100k*1024 mal Impulse zählen. Alternativen: Man nimmt ein FRAM. Oder ein MRAM. Oder ein Batteriegepuffertes SRAM. Oder einen MSP430 mit FRAM. Oder dise SRAM-EEPROM-Kombo von Microchip (Name ist mir entfallen). ....
Christine K. schrieb: >> Ich glaube du machst hier einen Denkfehler. Beim I2C hängst du ja den >> Bus über einen Pullup an deine Versorgungsspannung und so lange die >> jeweiligen Teilnehmer nichts senden (d.h. den Bus "runterziehen") fließt >> da auch kein nennenswerter Strom, weil die Eingänge hochohmig sind. > Genau, SDA & SCL werden jeweils mit einem PU (10K) hochgezogen. > Das sind 0,66 mA bei 3,3 V, was unter gewohnten Bedingungen nicht viel > ist, aber für eine 2200 mAh Batterie auf Dauer schon belastend sein > kann. Es fließt nur ein nennenswerter Strom durch die Bus-Widerstände, wenn die SDA oder oder/und SDL gegen GND gezogen wird. Wurde eine Stopp-Sequenz vom Master gesendet, dann sind alle Leiungen brav high^^ Nach welchem Prizip soll dieses Projekt funktionieren? A: Wasserzähler-->Zähler--> Funk(TX) Funk(RX)--> Anzeige B: Wasserzähler--> Funk(TX) Funk(RX)-->Zähler--> Anzeige
:
Bearbeitet durch User
Bernhard S. schrieb: > Nach welchem Prizip soll dieses Projekt funktionieren? > > A: Wasserzähler-->Zähler--> Funk(TX) Funk(RX)--> Anzeige > > B: Wasserzähler--> Funk(TX) Funk(RX)-->Zähler--> Anzeige Nach Prinzip A. Wobei ich mir auf der Anzeige-Seite keine Sorgen um die Spannungsversorgung machen muss.
Bernhard S. schrieb: > Es fließt nur ein nennenswerter Strom durch die Bus-Widerstände, wenn > die SDA oder oder/und SDL gegen GND gezogen wird. Ganz genau das meinte ich in meinem vorherigen Beitrag. So lange der Controller den I2C-Pin als Eingang konfiguriert hat, dürfte bedingt durch den Eingangswiderstand in der Größenordnung von Megaohm, kein nennenswerter Strom fließen. Anders sieht es aber etwa bei I2C-Sensoren aus, die durch "clock-stretching" die Datenleitung für die Dauer eines Messvorgangs runterziehen. Das ist hier zwar nicht der Fall aber trifft z.B. auf SHT3x zu. Da macht das clock-stretching schon einen merklichen Unterschied.
Christopher J. schrieb: > Das ist hier zwar nicht der Fall aber trifft > z.B. auf SHT3x zu. Da macht das clock-stretching schon einen merklichen > Unterschied. Du kannst doch einfach die Wandlungszeit abwarten oder das clock-stretching abschalten. Im Ruhezustand zieht der I2C-Bus jedenfalls keinen Strom.
@Christine K. >Das ist der Easy-Mode. Ich verwende einen Binary-Counter (z.B. 12Bit >"SN74HC4040DR"), damit kriege ich 4096 Zustände hin ohne den Controller >zu wecken. Müsste hier aber alle 12-Ausgänge des Binary-Counter an >jeweils einen GPIO hängen. Wenn der max. Wert erreicht ist, speichere >ich den Wert im EEPROM ab und resette den Binary-Counter. Alle Ausgänge an einen µC hängen bringt auch nicht viel! Du müsstest ja zyklisch alle Pins abfragen, ob der Junge die Schnauze voll hat. Das geht aber nicht im "Schlaf". Willst Du ein paar Pins sparen, so spendiere Deinem System einen Parallel-Seriell-Wandler, der den aktuellen Zustand übernehmen kann und nach dem Schieben kann sich der µP jedes Bit "in Ruhe", von allen Seiten" ansehen. Unterm Strich ist das einzige Problem, wie schnell der Wasserzähler tickt.
Sebastian S. schrieb: > Unterm Strich ist das einzige Problem, wie schnell der Wasserzähler > tickt. Das sind alles "langsame" Vorgänge, einfach den Ausgang des Wasserzählers an einen Eingangspin des µC klemmen, den Pinzustand in angemessenen Abständen abfragen, somit umgeht man die Erfassung von Störimpulsen und anschließend Pegeländerungen bzw. Flanken zählen. Den internen Pull-Up Widerstand könnte man nutzen, um den Eingangspin auf HIGH zu ziehen, und nach der Pin-Abfrage gleich wieder abschalten, spart einige µA, wenn der Read-Kontakt beim Schalten niederohig wird und die Batterien halten länger, Greta würde sich freuen^^
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.