AVR Attiny44A als 1Wire Slave konfiguierbar DS2423/DS18BS20/DS2408/DS2413/DS2450

Begonnen von ritchie, 11 April 2014, 17:34:27

Vorheriges Thema - Nächstes Thema

locutus

Zitat von: ritchie am 27 Oktober 2016, 18:50:53
Hat hier jemand bereits eine leere Platine für das Hutschienengehäuse unter Eagle als Download zur Verfügung ?
Welcher Gehäusetyp? Ich habe ein Eagle Projekt für Pollins bzw. Reichelts 2-C Hutschienengehäuse.

ritchie

Hallo locutus,

das 2C Gehäuse dürfte wohl zu schmal sein, würde aber als Basis auch gehen. Schliesslich
müsste ich es ja nur was breiter gestalten.

Anbei die erste Version des Schaltplans. Ich muss noch die Datenverbindung via I2C zu dem Baustein einwenig
vordenken, bevor ich mich an die Realisierung gebe.

Derzeit schwanke ich noch mit den 16 Bit des ADS1115 gegenüber den 10Bit ADC des ATTINY. Ob sich der Unterschied für den Hausgebrauch bemerkbar macht, da der Chip lange Lieferzeiten hat.

Viele Grüße
R.
Edit: Zenerdiode in Schaltplan eingebracht (hatte ich vergessen)
Edit1:  Schaltplan nochmals überarbeitet um das Programm einfacher zu gestalten und Powerfail Funktionen entfernt, da nicht benötigt.
Edit2: Schaltplan nochmals überarbeitet, Verwendung der USI I2C (TWI) Pins für das Interface zum ADS1115 verwendet.
Edit3: Erstes Layout fertig gerootet und als Bild angefügt. Software DS2450 Module codiert (ungetestet) IDS1115 Ansteuerung fehlt noch, I2C Routinen vorhanden.
Edit4: So, das sollte es jetzt sein.
IPU662  Ipfire & Fhem (Homematic + MAX) - Produktiv
Cubietruck (1Wire - USB) - Produktiv

th1984

Hallo,

ich bin nun auch dazu gekommen die Platine von locutus zu bestücken und auszuprobieren. Leider bekomm ich das Teil jedoch nicht zu laufen. Programmiert, Fuses gesetzt und kontrolliert, jedoch will sich das gute Stück nicht am Bus zu erkennen geben. Um Fehler am Bus auszuschließen, habe ich es schon an zwei unterschiedlichen probiert: Einmal am RPi, und einmal am Arduino, jeweils mit 5V Busspannung. Die Dallas Temperatursensoren laufen jedenfalls einwandfrei. Am Arduino gibt sich die Platine manchmal (sehr selten und auch nur bei Fuse Setting SUT_CKSEL: int. RC Osc. 8MHZ, Start-up time PWRDWN/RESET: 6 CK/14 CK + 0 ms) zu erkennen, sprich man kann sie manchmal als Device in FHEM sehen. Werte abfragen geht dann aber wieder nicht. Versucht habe ich auch verschiedene Typen (DS2423, DS18BS20 etc...) mit der Platine durchzuspielen, das Ergebnis ist aber für alle das Gleiche. Ich bin mit meinem Latein leider am Ende, vielleicht hat aber jemand einen Denkanstoß was ich da falsch mache.

Danke und viele Grüße

ritchie

Hallo th1984,

ändere diese Zeilen mal

#define OWT_READLINE 3 // 3 for fast master, 4 for slow master and long lines
#define OWT_LOWTIME  3 // 3 for fast master, 4 for slow master and long lines


auf diesen Wert

#define OWT_READLINE 4 // 3 for fast master, 4 for slow master and long lines
#define OWT_LOWTIME  4 // 3 for fast master, 4 for slow master and long lines


Gruss R.
IPU662  Ipfire & Fhem (Homematic + MAX) - Produktiv
Cubietruck (1Wire - USB) - Produktiv

locutus

Der ATtiny macht bei (BODLEVEL) 4,3V dicht. Der Spannungsabfall an der BAT43 beträgt ca. 0,3V. Die 1W-Busspannung darf nicht unter 4,6V fallen!

th1984

Hallo,

die Zeilen hatte ich nach meinem Post auch noch ausprobiert, mit keinem Erfolg. Ich werde mir aber heute Abend nochmal die Busspannung genau anschauen, evtl liegt diese tatsächlich bei ca. 4,6 V was ja dann knapp zu wenig wäre. Dann ist die Lösung hoffentlich denkbar einfach. Danke schonmal für die beiden Inputs!

Thomas

Schneehase

Hallo Thomas,

bist Du mit dem Problem weitergekommen? Bei mir sieht es leider genauso aus, den Aufbau der Schaltung habe ich geprüft und keinen Fehler gefunden.
Bei 2 verwendeten Attinys zeigt sich das gleiche Bild: Der Testmode über Taster/Jumper funktioniert nicht, das Melden am OneWire-Bus erfolgt nur sporadisch (selten). Wenn der Attiny erkannt werden sind alle anderen Abfragen ungültig.
Das Setzen der Timing-Parameter auf "4" hat nichts gebracht, ebenso die Verwendung einer externen (stärkeren) Spannungsversorgung mit 5V. Am Controller liegen (nachgemessen) auch etwas mehr als 4,6V an.

Gruß

Klaus

Schneehase

Hallo zusammen,

das Problem in meinem Fall saß vor der Tastatur. Mit dem als Standard angelegten synchronen OneWire (OWX) funktioniert es nicht, mit dem asynchronen (OWX_ASYNC) dann schon - auch oder gerade mit Firmata auf dem Arduino.

Gruß

Klaus

Rudi352

Hallo,

ich komme mit dem DS2423-ATTINY, die kompakte Version von locutus , nicht weiter.

Erkennen als OWCOUNT und Zählen kein Problem.
Bei Spannungsausfall ist alles wieder auf 0.
Wo werden die Zählerstände gespeichert und wie kommt man da wieder dran?

Danke für Infos

Prof. Dr. Peter Henning

Gar nicht. Das ist aber auch beim originalen DS2423 so.

LG

pah

Rudi352

Beim originalen DS2423 ist das klar.

Aber wozu ist dann der Aufwand mit dem Goldcap und

"PIN Interrupt Routine / EEPROM sichern

Ebenso wird die Routine auch aufgerufen, wenn die Spannung an dem Spannungsteiler R1/R2 auf Low Level geht. Hierdurch wird der folgende Programmteil durchlaufen und die entsprechenden Werte des jeweiligen Chip ins EEPROM geschrieben. "
(fhem Wiki)

welche Werte werden abgespeichert?

Rudi352

Könnte vielleicht freundlicher Weise ein Entwickler die Funktion und Anwendung des Powerfail-feature erläutern?

Vielen Dank

argo

Hallo zusammen,
ich habe die kompakte Platine von Locutus an meinem 1 wire Bus (I2C host interface DS2482-100 ABElectronics) angeschlossen
und er wurde als DS2423 erkannt.
Leider bekomme ich das Teil nicht stabil zum laufen, nach booten des Raspis (Stromversorgung unterbrochen) oder einer
kurzzeitigen Unterbrechung der Busspannung (5.02 V) wird dasTeil nicht mehr erkannt.
Am Controller liegen 4,7 V an.
Meine DS18S20 Sensoren funktionieren am Bus ohne Probleme.

Hat jemand einen Denkanstoß, was mache ich falsch?

Danke und Gruß
Klaus
Prod: RPi3, FHEM V5.8, MAX, Jeelink, LaCrosse, EC3000, 1-Wire, IT-Devices, EBUS
Test: RPi2, FHEM, 1-wire

Rudi352

Mit diesem und anderen Problemen schlage ich mich seit Wochen herum.
Der Attiny hängt sich bei Spannungsausfall öfter mal auf.
Wiederbeleben geht mit längerer Spannungslosigkeit, entladen des C1 oder verbinden Pin 5 und 6 des ISP-Steckers. Also Hardware-reset.
Das Modul ist zwar eine sehr gute Idee, scheint aber noch viele Macken zu haben.
Von den Entwicklern bekommt man leider auch keine Hilfe.

ritchie

Hallo Zusammen,
Generell habe ich die Software mit dem Hintergrund entwickelt
meine Steuerungsprobleme zu lösen.
Wer C kann und das ist Vorausetzung hierfür, kann das Modul
nach seinen Wünschen anpassen. Open Source.

Aus dem Gedächtnis heraus werden Zählerstand und der Speicherinhalt
des emulierten EEProm in das richtige EEPROM geschrieben.

Derzeit arbeite ich an der Emulation eines DS2450, komme aber auch hier
Nur schleppten voran, da es keine genaue Dokumentation hierzu gibt.
Dies erfolgt alles im reverse engineering.

Beruflich bin ich zudem stark eingespannt und tippe das gerade
Im Hotelzimmer im Ausland in mein Handy.

Meist ist es ein Hardware Problem in Verbindung mit Software und kann
nur im Einzelfall geklärt werden.

Viele Grüsse
R.
IPU662  Ipfire & Fhem (Homematic + MAX) - Produktiv
Cubietruck (1Wire - USB) - Produktiv