Hallo Leute, Ich habe heute erfolgreich die ethersex Firmware (Mit Webserver, und One-Wire aktiviert) auf meinen Atmega644 geflasht und den in mein AVR-Net-IO gesteckt. Jetzt kann ich erfolgreich über die Weboberfläche die Relaiskarte schalten, allerdings erkennt der Webserver den angeschlossenen 1-Wire Sensor (parasitären modus angeschlossen) nicht. Pins stimmen auch alle und theoretisch müsste alles gehen. Ich kann aber die Temperatursensoren nicht in der Liste oder in der Grafik des Webservers sehen... Was kann ich da machen? Ich habe was von ECMD-befehlen gehört, allerdings wenn ich 1w list mache sagt er nur OK und mehr passiert nicht. Könntet ihr mir vielleicht helfen? MFG Moritz
Was ist eigentlich der unterschied zwischen parasitären modus und normalen modus? Habe beide ausprobiert, keiner geht. Gibt es da nur den unterschied das das eine 2 Leiter hat und nur bis +85°C stabil läuft und der normale modus 3 Drähte und dafür bis 150°C ?? MFG
Web-Moritz schrieb: > Was ist eigentlich der unterschied zwischen parasitären modus und > normalen modus? Habe beide ausprobiert, keiner geht. Parasitär = bezieht seine Betriebsspannung wir ein Parasit aus der Datenleitung. Wärend einer Messung wird ein Strong-Pullup benötigt. Kein Polling zur Ermittlung des Endes der Messung möglich. Normal = bezieht seine Betriebsspannung über einen eigenen Pin. Das ist (meiner Ansicht nach) die stabilere Betriebsart. Polling der Bauteile ist möglich. Die Kommunikation mit anderen Devices wärend einer Messung ist möglich.
hast du den pullup von datenleitung auf vcc eingebaut, wenn du nicht im parasitären modus testest?
Ja genau wie es hier beschreiben wurde, http://ethersex.de/index.php/Dallas_1-wire_Bus bei beiden versuchen 4,7K mit eingebaut... die sensoren kommen aber nicht auf die weboberfläche... MFG
Hallo! Ich habe genau das gleiche Problem. An der Hardware kann es nicht liegen stecke ich einen ATMega32 in den Sockel (Pollin AVR Net IO) funktiert onewire tausche ich gegen den ATMega 644 funktioniert onewire nicht mehr (tausche ich wieder zurück zum 32er läuft's wieder...). Ich habe jetzt schon sämtliche Fuses Konfigurationen die ich im Netz finden konnte durch probiert - keine Besserung. Gibt es evtl. einen Bug in der ethersex Software speziell für den 644? Zweite Frage: Das Schalten der Ausgänge (Konfiguriert als NamedPins) dauert immer einige Sekunden woran könnte diese Zeitverzögerung liegen? Viele Grüße u. schönes Wochenende Christian
Hi, da kann ich in die gleiche Kerbe schlagen. Auch bei mir funktioniert ethersex mit ATMEGA 644 auf dem AVR-NET-IO von Pollin mit Ausnahme der 1-Wire-Sensoren. Hardware hab ich überprüft, allerdings mit einem ATMEGA32 und einer Testsoftware die nur die Temperatur aus den Sensoren liest und per serieller Schnittstelle ausgibt. Bei ethersex hab ich einen ATMEGA 644 eingesetzt. Der Hinweis mit dem ATMEGA 32 ist gut, das werde ich bei nächster Gelegenheit mal probieren. Bisher hatte ich immer nur den ATMEAG644 für ethersex verwendet.
Nachtrag: Ich hab gerade mal die Datenblätter des ATMEGA32 mit dem ATMEGA644 verglichen. Der ATMEGA644 hat anders als der ATMEAG32 die Funktion "Interrupt on Pin-Change". Wenn die Funktion aktiviert ist kommt es beim Pegel- bzw. Flankenwechsel am 1-Wire-PIN jedesmal zu einem Interrupt. Das wäre eine Erklärung warum 1-Wire mit dem ATMEGA 644 nicht funktioniert, mit dem ATMEGA 32 jedoch schon! (Die Interrupts bringen das Timing für den 1-Wire-Port durcheinander). Jetzt muss ich nur noch herausfinden, wie ich die Interrupst beim "Pin-Change" ausschalten kann - sind die per default aktiviert? Oder ist das ein Einstellungsproblem mit den Fuses ?? bye Johnny
Hi, wenn du die Pins flott schalten willst, dann nicht über die Oberfläche vom Webserver, sondern via ECMD, ECMD hat da fast kaum Latenzen
Lösung (zumindest bei meinem Problem): Nach ein paar Versuchen hab ich jetzt eine Lösung für mein Problem gefundem: Die gleiche SW konnte auf dem ATMEGA32 die 1-wire DS1820 lesen, auf dem ATMEGA644 hat es nicht geklappt. Ist auch vermutlich ein Timing-Problem, lag aber nicht an igrendwelchen Interrupts sondern an der Einstellung der Fuses! Der ATMEGA644 war korrekt auf 16MHz externen Quarz eingestellt, aber mit einem Teiler von 8! Nachdem ich lfuse auf FF eingestellt hatte, kann auch der ATMEGA644 die 1-wire-Sensoren erkennen. Bei meinem AVR-NET-IO mit dem ATMEGA644 und einem externen 16MHz Quarz verwende ich folgende Einstellungen der Fuses (Parameter für avrdude): -U lfuse:w:0xff:m -U hfuse:w:0x99:m -U efuse:w:0xfc:m
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.