Alternative zum DS2423 Counter

Begonnen von dougie, 09 Februar 2013, 16:30:08

Vorheriges Thema - Nächstes Thema

1wire

#465
Ich hab die Platine fertig aufgebaut und alles scheint zu funktionieren, allerdings ist nach einem (simulierten) Stromausfall der Zähler wieder auf Null. Die Software von Seite 9 hab ich kompiliert und geflasht.
Fuses: 62 DC FF  (also BOD auf 100 = 4,3Vcc)

Ich glaub ich hab die falsche Software genommen.

Frage 1       Woran erkenne ich im C-Code den Teil mit dem "Strom weg / jetzt ins EEprom speichern"?
Frage 2       Muß ich an der Platine V1.7 etwas umbauen oder kann ich nach Schaltplan bestücken?

Wer kann mir bitte dazu Hinweise geben.

@eldrik
Du bist auch gerade an dieser Stelle und hat es mit Seite 9 funktioniert?

VG
1wire

1wire

Hallo zusammen,
hab den Thread nochmal genau durchforstet und auf S. 27 etwas interessantes zu Brown-Out gefunden. Dougie sagt die
ZitatTaktrate auf 8MHz und Brown-Out Detection auf 2,7V

also versuche ich das mal mit Fuses: 62 DD FF

VG
1wire

1wire

#467
Hallo zusammen,

also die neuen Fuses einstellungen hat es auch nicht gebracht. :'( Ich weiß jetzt nicht mehr weiter.
- Zählen auf A und B funktioniert.
- Abfrage 1wire über Raspi und FHEM funktioniert
- Platine V1.7 (ohne die D2 ohne DS2406, ohne DS18S20)

Eigentlich habe ich das mit dem Brown-Out so verstanden: Wenn die Spannung unter den angegebenen BOD-Level fällt wird ein Interrupt ausgelöst. Mit diesem kann dann z.B. die Zähler gespeichert werden.
Deswegen habe ich erst den BOD auf 4,3 gestellt, damit der Tiny noch genügen Zeit hat zu speichern.
Bei BOD auf 2,7 hat der Tiny nicht mehr viel Zeit bis die Spannung ganz weg ist, deshalb dachte ich 4,3 wäre besser. Aber da es weder so noch so funktioniert ist das momentan egal.

Ich lese und probiere, aber das richtige hab ich wohl noch nicht gemacht. Ich ruf ja nicht gleich um Hilfe, aber jetzt ist der Zeitpunkt gekommen wo mir die Ideen ausgehen.

Meine Bitte an euch: Wer kann mir bitte seine Fuses und eine HEX mit EEprom-Speichern schicken? oder auch den wirklich funktionierenden C-Code. Kompilieren kann ich das dann schon. Aber ich denke ich sollte erst mal die richtigen Fuses haben.

VG
1wire

eldrik

Zitat von: 1wire am 30 September 2014, 23:43:23
@eldrik
Du bist auch gerade an dieser Stelle und hat es mit Seite 9 funktioniert?

VG
1wire

Hi,

ja ich konnte mir mit dem Code von Seite 9 passende Files erzeugen.

Greetz
Eldrik

1wire

Hallo Eldrik,

gut, das gibt mir Hoffnung das ich das auch irgendwann hinbekomme. :-[ :-[

hast du auch die Platine v1.7 oder hast du die 1.6 und die Veränderungen selbst vorgenommen?

Könntest du mir bitte noch sagen wie du deine Fuses gesetzt hast? Ich hab das Gefühl, das mein Tiny den BrownOut nicht mitbekommt.

vg
1wire

eldrik

Ich habe die 1.7 und die Platine wie auf http://m1n1.de/html/1w_counter_v1_7.html beschrieben bestückt.

Die Programmierung habe ich mit einem meiner Raspberry über das SPI Interface und avrdude realisiert, da brauchte ich meine ich nichts speziell setzen.

Vielleicht hilft der Link wenn man noch einen Raspberry rumfliegen hat http://www.instructables.com/id/Programming-the-ATtiny85-from-Raspberry-Pi/?lang=de

Greetz
Eldrik

1wire

Danke für die schnelle Info eldrik.

Hast du die Tiny von dougie fertig bekommen und dann noch die EEprom Software drauf oder hast du die Tiny von Reichelt oder so? Ich hab meine bei Reichelt gekauft und noch ein paar direkt in der Tüte (also ohne flash-versuche).

Ich flashe mit dem usbasp aus China, meine Atmega32 und 1284p funzen damit prima, auch die Fuses setzen.
Aber ich hab noch einen zweiten Pi da werde ich mir mal das Interface zum flashen bauen und damit probieren, ich will schließlich die Fehlerquelle ausmerzen und wenns an dem Flasher liegt, dann soll es so sein.

Leider komm ich die Woche nicht in Keller zum probieren, der Job verhindert mal wieder eine ordentliche Freizeitplanung  ::)

vg
1wire

eldrik

Ich habe nackte Tinys direkt über die 6Pin Buchse der Counterplatine geflashed, hier darf zu dem Zeitpunkt jedoch kein 1Wire Bauteil verlötet sein!

Jetzt hab ich auch die Seite gefunden, die ich als Vorbild für die Umsetzung über den Raspberry genutzt habe http://kevincuzner.com/2013/05/27/raspberry-pi-as-an-avr-programmer/

Greetz
Eldrik

dize

Hallo!

Ich frage bei mir einen Gaszähler mit einem Reedkontakt ab. Allerdings werden nicht alle Impulse gezählt. Kann man da noch etwas "nachtrimmen"?

zB. -größerer / kleinerer Widerstand
     -anderer Kondensator
     - ist die Länge des Kabels vom Reedkontakt zum Counter entscheident? (sind ca. 6m Telefonkabel)


Dank und Gruß

Dize

1wire

#474
Hallo zusammen,

also nach einem laaaangen Wochenende mit Aufbau, Test und vieeel kaffee :o habe ich die V1.7 am laufen. ABER EEpromsave geht nicht (und es geht doch je nach Szenario), aber erstmal der Reihe nach.

Als erstes ein DANKE an eldrik.
mit deinem Link konnte ich meine Tinys flashen über einen zweiten Raspi. Das Problem lag also an meinen China-usbasp, die sind jetzt wohl kaputt muß ich mal mit dem AVR-NetIO nochmal testen.

Dann das zweite und somit auch das kuriose:
die EEpromsave funktioniert bei mir nicht richtig, je nach Szenario gehts oder auch nicht.

Es gibt 2 Szenarien. Bei A geht es immer, bei B geht es nicht:

Szenario A:
Alles angeschlossen (7 Platinen), S0 wird gezählt und auch angezeigt. Dann Stromausfall auf 1-Wire 5 Volt, d.h. ich löse den Draht mit den 5V von der Zählerschaltung. Die Zählerstände werden gesichert.

Szenario B:
Alles angeschlossen (7 Platinen), S0 wird gezählt und auch angezeigt. Dann Stromausfall aber diesmal ziehe ich das Netzteil welches die 5V über das 1-Wire Interface bereitstellt. Zählerstände werden nicht gesichert.

Ich kann mir da aber nicht erklären. Wenn die 5V wegbricht, dann sinkt die Spannung wegen des Spannungsteilers am PB0 schneller als Vcc. Somit kann der Ausfall bemerkt werden und schnell noch ins EEprom geschrieben werden. Das funktioniert bei A.
Was ist aber bei B anders? Nur weil das Netzteil noch etwas länger den Spannungsverlust puffert?
Szenario B ist aber wohl am häufigsten, denn wenn Stromausfall, dann nicht nur auf dem 5V-Wire sondern das Gesamtsystem.

Ich habe den Raspi und über eine USV laufen und das 1-Wire Interface wird mit den 3V3 vom Raspi versorgt. Die 5V kommen vom "normalen" Stromnetz.

Kann mir das jemand erklären? Als IT'ler hab ich halt immer nur 0 und 1 im Kopf ::) aber da ist ja wohl noch mehr :-[

VG
1-wire

EDIT:  wie die Fuses gesetzt sind ist glaub ich nicht so wichtig. Da nicht die BOD das speicher auslöst (wie ich anfangs immer gedacht habe) sondern der Spannungsabfall am PB0 bemerkt wird. Allerdings sollte, falls BOD aktiviert ist so wie dougie schon mal geschrieben hat, BOD auf 2,7V nicht auf 4,3V stehen. Sonst wird zu früh ein Reset durchgeführt und dann ist es Essig mit Speichern.

VG
1wire

habee

So, habe jetzt drei S0-Zähler erfolgreich in Betrieb genommen (3 x Stromphasen, 1 x Gas, 1 x Wasserzähler und 1 x Reserve), jetzt brauche ich aber noch einen Tip, wie ich meinen Wasserzähler-Sensor schaltungstechisch integriere damit dieser mir zählbare Impulse liefert. Bei dem Sensor handelt es sich um einen SUNX EX-26B-PN http://www.sunxsensors.com/products/product/614-ex-26b-pn.html.
Die Idee, damit meinen Wasserzähler auszulesen kommt vom Finger (http://www.fingers-welt.de/gallerie/eigen/elektro/energie/energie.htm). Da ich allerdings kein E-Techniker bin habe ich so
meine Schwierigkeiten, das Ausgangssignal des Sensors e-technisch umzuformen, damit dieser gezählt werden kann.

Weiterhin habe ich den Eindruck, dass der Gaszähler zuwenig zählt, derzeit hängt der Reed-Schalter (MK471B) direkt am Counter, muss man da noch einen Kondensator pder ähnliches zufügen? Die Stromzähler sind übrigens auch direkt angeschlossen, ist das so ok?

Danke

habee

fiedel

Hi habee,

du hängst einen Optokoppler mit einem Vorwiderstand von ca. 1,2 Kiloohm zwischen Sensor und Zähler, so wie hier gezeigt. Man sieht hier nur den Fototransistor dargestellt, die Koppler- LED wird angeschlossen wie eine herkömmliche LED mit dem o.g. Widerstand.
Was hast du für den Sensor bezahlt? Echt so viel???

Gruß

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

habee

Ich habe den gebraucht bekommen bei einem Händler aus den USA für umgerechnet 28 € inklusive Versand. Habe sogar noch einen zweiten zugeschickt bekommen, da bei dem ersten der Ausgang defekt war (die Kontroll-Led funktioniert aber). Das mit dem Optokoppler ist interessant, das werde ich mal ausprobieren. Gibt es da einen Typ der zu empfehlen ist? Eventuell könnte ich damit auch den defekten SUNX nutzen, in dem ich einfach die Kontroll-Led als Eingangssignal nutze...

fiedel

Na das geht ja noch. ;o) Wenn du nach "Optokoppler cny17" googelst, findest du günstige Angebote (z.B. Pollin) und auch Beispielschaltungen. Den Typ verwende ich auch für meine Zähler. Habe auch Industriesensoren im Einsatz (SMC, Keyence). Wenn du an die LED- Anschlüsse rankommst, geht das mit dem Koppler. Wenn nicht, nimmst du direkt einen Fototransistor (wie hier gezeigt) und klebst ihn über die LED. Der Rest dann auch wie beim Optokoppler. Den Typ vom Transistor habe ich jetzt leider nicht parat, aber wenn er ähnliche Daten hat wie der im cny17, passt das schon. Es soll ja nur bei "Licht an" ein "Kurzschluss" am Zählereingang erzeugt werden.

Hier mal Fotos von meiner Zähltechnik mit dem Optokopplermodul.

FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

habee

So, hatte jetzt mal wieder etwas Zeit und hab mir mal mit rudimentären Elektronikkenntnissen was auf nem Breadboard zusammengesteckt.
Einen Optokoppler ILD74 (MCT6) hatte ich noch rumliegen. Wenn der durchschaltet hat er noch einen Widerstand von 320 Ohm, ist das nicht noch etwas viel für den Counter?
Ich habe es jetzt noch nicht ausprobiert, aber vielleicht gibt es da Erfahrungen. Weiterhin ist mir aufgefallen, dass es doch seine Zeit braucht bis das Messgerät die 320 Ohm anzeigt. Was passiert,
wenn viele Signale schnell hintereinander kommen, wird das zuverlässig gezählt?