Hallo zusammen, ich versuche vergeblich bei einem TX20 / TX23 Sensor für eine WS2000 bzw. WS2300 Wetterstation auf das 1-Wire Protokoll zu schliesen. Ich habe den Sensor zerlegt, es kommt eine kleine Platine zu vorschein, welche in etwa so aussieht: http://sites.inka.de/heliscan/ws2300_2/ws2300_2.html Der Sensor sendet beim anlegen der Versorgungsspannung eine Datenburst auf seine Serial I/O Leitung. Danach ist Schluss. Ziehe ich die Leitung einmal kurz auf Low sendet der Sensor wiederrum eine neuen Datenburst. Ich möchte nur ungern den vorhandenen Controller wegwerfen, da ja eigentlich schon alles vorhanden ist. Hat jemand das Protokoll von diesem Sensor schonmal "zerlegt" ?!? Andernfalls würde ich das Innenleben neu aufbauen müssen... Danke Markus
Hallo Markus, welches 1-wire-Protokoll meinst du? Meine WS2000 ist eine Funkwetterstation ohne Draht. Das Funkprotokoll der dazu passenden Sensoren ist auf meiner Homepage veröffentlicht. Servus, Helmut.
Hallo Markus, Helmut, er meint bestimmt die Verbindungsleitung zwischen Thermo/Hygro Ausseneinheit -welche dann per Funk mit der eigentlich WS kommuniziert- und dem Windmesser TX23. Das sind vier Dräthe. VCC, GND, I/O, wobei es dort unterschiedliche Ausbauvarianten der TX-23 und auch TX-20 gibt. Die einen haben noch zusätzliche Elektronik mit an Board, siehe: http://sites.inka.de/heliscan/ws2300_2/ws2300_2.html Helmut, deine HP habe ich mir gerade mal angeschaut, könnte man vom HF-Protokoll aus auf das eigentlich Übertragungsprotokoll auf der Drathleitung schließen, was meinst du? Gruß Micha, PS: Hatte ein ähnlichen Post gestern in einem Wetterforum...
Hi, habe mitlerweile meinen TX-23 mal zerlegt... Anbei mal ein Bild! Gruß Micha,
Hallo zusammen, ist jmd. von Euch damit weitergekommen? Zum TX23 hatte ich das hier gesehen: http://www.wetterfreaks.de/phpBB/viewtopic.php?t=14533&sid=15ab25778d873cad285d5e0e778c75c9 Mich würde der TX20 interessieren... Danke&Grüße Jörg
Hallo zusammen! ich habe gerade so ein Ding bei (C..) erstanden. nun habe ich das Problem. Frage gibt es zu dem Teil schon einen Anschlussplan? Ist die LED (eingebaut) eine Infrarot oder Sichtbar? Gruß Fredfromflett
Moin, Anschlussplan: wie oben schon erwähnt PIN1, bräunliches Kabel, Serial I/O (Tx) PIN2, rotes Kabel, Vcc PIN3, grünes Kabel, Regulator CE: ca.2 sec auf GND ziehen, dann sendet das Teil einmal. Lässt man den Pin auf GND, kommen ca. alle 2sec Daten PIN4, gelbes Kabel, GND Habe das Serial I/O an einem ATmega1284P (auf einem Raven Board) angeschlossen und bekomme einigermassen nachvollziehbare Daten. Bin allerdings noch dran, die besten Ergebnisse gibt es bei 2400, 8N1. LED o.ä. gibt's nich, zur Funktion siehe hier: http://sites.inka.de/heliscan/ws2300/windmess.htm Grüße Jörg
Moin, falls es noch jmd. interessiert: http://tech.groups.yahoo.com/group/Lacrosse_weather_stations/message/1672 Grüße Jörg
Hallo zusammen, es ist zwar schon etwas her, dass der Thread aktiv war, aber vielleicht meldet sich ja doch jemand. Beflügelt von dem bereits reverse engenierten Protokoll habe ich ein TX23 bei ebay erstanden. Leider habe ich genau so eine Version wie der Michael (vgl. 22.07.2008 11:07) hat bekommen. Da ist irgendwie alles anders. Der /CE Pin ist nicht verbunden. Das Protokoll war auch anders (viel länger und viel mehr Bits wurden übertragen). Wie dem auch sei, hab ich den internen Controller in den Ruhestand geschickt und mach jetzt alles über einen AVR. Spart Strom ;) Aber lasst mich zum wesentliche kommen: Wie berechne ich aus den Ticks des Windmessers eine vernünftige Windgeschwindigkeit? Hat da jemand schon Erfahrungen gemacht? Klar ich könnte es auf mein Auto schnallen und dann eine Messreihe starten G. Aber das muss doch auch anders gehen. Was ist den mit dem: 2Sek messen und durch 8 teilen -> knoten. Kann ich das da auch anwenden? Wenn interne Controller nur zählt sollte das doch möglich sein, da die Hardware identisch ist. Oder was ist mit einem rein mathematischen Ansatz? Ticks * Umfang / Messzeit? Da würde noch ein Reibungskoeffizient fehlen. Braucht man den? Hat jemand mit so was schon Erfahrung gesammelt, oder muss ich das Rad neu erfinden? Danke erstmal Jürgen
Hallo Jürgen, habe mich an den Erkenntnissen vom open2300 Projekt orientiert: http://www.lavrsen.dk/foswiki/bin/view/Open2300/OpenWSMemoryMap d.h. Windspeed = value in binary(i.e. "Ticks") / 10 [m/s] Ob das nun genau stimmt, kann ich nicht sagen, plausibel sind die Werte aber. Ich benutze allerdings den internen Controller, der, wie Du sagst, natürlich (zusätzlich) Strom braucht... Hope it helps Grüße Jörg
Hallo Jörg, danke für deine Antwort. Ich habe mich mittlerweile völlig an die Theorie gehalten:
Wobei r, der mittlere Löffelradius ist und x Runden in der Zeit t gemessen wurden. Der Wert 2.5 ist ein Literatur Wert. Er kommt zustande da der konvexe angeströmte Löffel das Anemometer abbremst, was kompensiert werden muss. (Ältere Literatur spricht noch von einem Wert von 3.0) Die Reibung der Aufhängung ist zwar damit noch nicht kompensiert, aber Messungen habe gezeigt, dass der Wert ziemlich gut stimmt. Gruß Jürgen
Anscheinend sind zwei Typen im Umlauf. Die vorangehenden Beiträge und Dokus beziehen sich auf den Typ Tx23U Jürgen Eckert (sid) Datum: 31.05.2009 12:02 stellte bereits fest: .... Der /CE Pin ist nicht verbunden ..... Bei mir auch: mien Typ ist ohne "U" , nur! Tx23 (also ohne U (für USART)) Er ist vermutlich eine one-wire Vesion gemäss http://www.rd-1000.com/chpm78/lacrosse/Lacrosse_TX23_protocol.html kann das jemand bestätigen? Gruss HP
Hallo zusammen, seit ein paar Tagen versuche ich einen neuen TX23 aus der Bucht auszuwerten. Optisch entspricht er diesem hier: http://www.rd-1000.com/chpm78/lacrosse/Lacrosse_TX23.html, die Kabelfarben passen auch. Grundsätzlich ist es ein 1-Draht-Typ der neueren Sorte, das auf http://www.rd-1000.com/chpm78/lacrosse/Lacrosse_TX23_protocol.html beschriebene Protokoll passt im Wesentlichen. Ich habe die Auswertung auf Nibbles aufgebaut, da mir das am einfachsten in der Weiterverarbeitung erschien: Nibble 0: Sync 0x1b, Nibble 1: Richtung, (Wert * 22,5 + 180) mod 360 ergibt die Gradzahl, aus der der Wind kommt (wenn die aufgedruckten Himmelsrichtungen zur Ausrichtung genutzt werden) Nibble 2..4: Geschwindigkeit, Umrechnung ist mir noch nicht bekannt. Nibble 5: Prüfsumme Nibble 6-9: Invertierung der Nibbles 1-4 Ich darf ein paar zusätzliche Erkenntnisse hinzufügen: - die Prüfsumme in den Bits 22-25 (in meiner Auswertung das 5. Nibble) ist die Summe der Nibbles 1-4 mod 16 - Der Sensor darf nicht zu häufig abgefragt werden, sonst liefert er alte Geschwindigkeiten, ich habe als kleinsten Wert alle 3s verwendet. Bei weniger trat der Fehler auf. - Überraschenderweise werden bei einer Anforderung per 500ms-Low auf der Datenleitung zwei der beschriebenen Datenpakete gesendet, die sich im Inhalt unterscheiden. Zwischen beiden liegt eine Pause von gut 19ms, in der der Sensor die Datenleitung auf low zieht. Der Unterschied zwischen beiden Paketen liegt in der ausgegebenen Windgeschwindigkeit: Das erste Paket enthält einen gemittelten Wert, das Mittelungsfenster scheint mir etwa 1min breit zu sein. Das zweite Paket liefert den Spitzenwert der GEschwindigkeit über ein Fenster von ca. 40s. Die gemessene Bitlänge ist sehr konstant und beträgt 1,22ms. Die Auswertung habe ich anders gestaltet als bei http://www.rd-1000.com/chpm78/lacrosse/Receive_Lacrosse_TX23_data_2.html. Die Abtastrate ist fest, derzeit 1200µs, aber jede Flanke setzt den Abtastzeitpunkt neu auf die nächste Bitmitte. Der Empfang erfolgt komplett im Interrupt (1ms-Timer für's Grobe, Timer für die Abtastung, PinChange-Interrupt für die Flanke). Die Implementierung nutzt derzeit einen ATtiny85, die Daten werden auf einem Bus ausgegeben. Die eigentliche Empfangsroutine lässt sich aber problemlos extrahieren, falls jemand Interesse daran hat. Gruß Jens
Ich nochmal, die Windrichtung wird schlichter berechnet als von mir eben behauptet (die Fahne war nicht richtig aufgesteckt, peinlich). Also einfach Richtung in Grad = Nibble1 * 22,5 Gruß Jens
Jens Mundhenke schrieb: > Die Implementierung nutzt derzeit einen ATtiny85, die Daten werden auf > einem Bus ausgegeben. Die eigentliche Empfangsroutine lässt sich aber > problemlos extrahieren, falls jemand Interesse daran hat. hallo Jens, mich würde es interessieren. Danke Kutte
Hallo Kutte, hier mal die Kernfunktionen, die Einbindung ist im h-File beschrieben. Als Schnittstelle für die Ergebnisse dienen bei mir die auch beschriebenen Variablen, für Puristen habe ich dafür noch eine Schnittstellenfunktion tx23_read geschrieben, aber nicht getestet. Der restliche Buskram ist noch zu schlecht dokumentiert, aber den brauchst Du vermutlich ja auch nicht. Gruß Jens
Hallo Jens, was für ein Bus hast du dran? Gruß Mario
Hallo Mario, es ist ein relativ einfacher serieller Bus, der für ein Sensornetzwerk eingesetzt wird. Einsatz bisher in einer Ballonnutzlast, dazu mehr Informationen hier: http://p56.de/ballonprojekt/ Technisch ist es eine asynchrone serielle Übertragung mit derzeit 19k2 Bd, die per CAN-Treiber über einen gemeinsamen Bus stattfindet. Je nach Prozessorgröße wird der Hardware-UART oder ein Soft-UART (Basis Peter Dannegger, Beitrag "Software UART") verwendet. Das Protokoll entspricht dem NMEA-Format. Gruß Jens
hallo ! bin am verzweifeln...... habe die ws 1600, tx23 windsensor ( hoffe das das die richtige bezeichnung ist, ist mit kabel mit dem temperatursensor verbunden ) auf alle fälle zeigt mir der sensor keine windgeschwindigkeit mehr an......alles zerlegt, da sitzt der kleine schalter im glasrohr, der, jedesmal wenn der magnet vom windrad drüberfährt , schaltet, so die windgeschwindigkeit angibt, der is defekt. bekomm ich irgendwo so klein ersatzteile her......schon überall geschaut....conrad, elv.....nicht fündig geworden: vieleicht weiß jemand rat danke chris
such mal unter Stichwort reedkontakt bei segor.de oder conrad.de Kutte
Habe vor einigen Tagen meinen TX23 bekommen und in Betrieb genommen. Alles wie beschrieben, ich bekomme nur keine Winddaten. PIN CE/ liegt offen. Winrichtung ok. Bits werden richtig gelesen. 1 Datentelegramm nach 500us Low. Hier die Daten: 11011 0000 000000000 000*0000 1111 111111111 111 Er gibt für die Wingeschwindigkeit immer 0 aus. Das Reedrelais ist ok, sauberes Signal. Wer hat eine Idee ? Gruß Peter
RKG schrieb: > Habe vor einigen Tagen meinen TX23 bekommen und in Betrieb genommen. > Alles wie beschrieben, ich bekomme nur keine Winddaten. Hallo Peter, ich selbst befasse mich derzeit ( oder in den nächsten Wochen ) mit der Implementierung des TX23 in eine Eigenbau Windmessanlage für unseren Modellflugplatz. Wäre es nicht einfacher, falls du den TX23 (Windmesser) in Verbindung mit einer selbstgebauten Auswerteschaltung verwendest, dass du nicht die Information aus der 1Wire Leitung nimmst, sondern manuell das Rechtecksignal vom Reedkontakt verwendest ( ggf mit kleiner Zusatzschaltung fürs entprellen usw ) und quasi die Zeit für eine Umdrehung des Windrades misst? gruß Dieter
Könnte mir jemand sagen wie ich die 4 Photodioden für die Windrichtung abfrage wenn ich nicht das interne Protokoll verwenden will? Wo muss ich meine 4 Kabel zur Abfrage anbringen? Danke Heiko
Hallo Heiko, ich verwende an meiner Wetterstation den selben Windmesser. Bei diesem war leider die Elektronik defekt ( ausser die Fotodioden ) und somit konnte ich die 1Wire Leitung nicht verwenden. Ich griff daher direkt von den 4 Photozellen die erzeugte Spannung ab, und verarbeitete diese mit Opamp Schaltungen. ( Verstärker + Komperator + Schmitttrigger ) Leider habe ich kein Foto mehr von der TX23 Platine, wo ich genau die Signale abgegriffen habe,aber dass kannst du sicher selber rausmessen. Ich habe alles von und zu den Fotozellen deaktiviert (dh Leiterbahnen unterbrochen ) um nicht irgendwo ein verstecktes Problem zu haben. Schaltplan hierzu findest du auf meinem Blog. http://engineeringatnight.blogspot.co.at/2013/01/weather-station-arduino-project.html lg Dieter
Irgendwie lässt mich das ganze nicht los, es muss doch irgendwie funktionieren mit den orginalen Mitteln auf der Platine die 4 Fotodioden auszuwerten. Ich bin nicht das elektronik Hirn, daher versteh ich nicht was da passiert. Kann mir jemand erklären was die da tun und was / wie ich das auswerte? Hab mal ein Bild gemacht, die Schaltung wie ich die verstehe und von der Platine ablese und nochmals im Bild von weiter oben farbig eingezeichnet. Rot = Vcc Blau = GnD Gelb = auszuwertendes Signal zum Controler was kann ich an Gelb messen? Es müssen doch 2 verschiedene Zustände Messbar sein? Zustand1 wenn bestrahlt Zustand2 wenn dunkel. Diese Zustände müsste ich doch auch auswerten können. Ich versteh es nicht. Danke für eure Hilfe Heiko
Heiko schrieb: > was kann ich an Gelb messen? Es müssen doch 2 verschiedene Zustände > Messbar sein? Aber nur, wenn an den gelben Leitungen passende Ströme anliegen, z.B. von der dranhängenden Auswerteschaltung oder von einem geeignet großen Widerstand, der nach Vcc geht. Woher soll die Spannung sonst kommen. Der Transistor mit dem Widerstand R5..R8 bildet normalerweise den unteren Teil eines Spannungsteilers.
Mir jemand folgendes gesagt, siehe Bild. R1-R4 = 10MOhm geht aber nicht bei mir. Ich weiß nicht was ich falsch mache. OK mir fällt auf das ich den Sensor mit 3V betreibe und mein Controller mit 5V. Daher hab ich keine richtige Referenzspannung? Ist das der Fehler? Danke Heiko
Hallo, ich habe hier alles aufmerksam verfolgt. Ich habe mir auch einen TX23 bei ebay gekauft, er müsste eigendlich funktionieren, aber er gibt kein laut von sich. Bei mir kommen überhaupt keien Daten an. Ich wollte den TX23 testweise über den PC auslesen: PIN1 (gelb) an GND PIN2 (grün) auf GND (für dauerntes Datenausgeben) PIN3 (rot) an VCC (3,2V bzw. 2x AA 1,5 Batterien) PIN4 (braun) an PIN2 (TX) der RS232 (TX) Ich habe 0,18 V anliegen am braunen Drähtchen. Ich habe versucht die daten mit HTerm vom COM (USB)-Port auszulesen: TX23 --> RS232 --> RS232/USB-Adapter --> COM(USB)-Port --> HTerm mit 2400 Baud und 8N1, auch 4800 probiert. Wie gesagt, hier ist gar nichts passiert, keine Daten angekommen auf COM-Port. Ich habe dem ganzen testweise auch mal einen MAX232 zwischengeschaltet, aber damit habe ich auch nur heiße Luft empfangen und keine Daten. Was mache ich falsch? Habe ich den TX23 falsch angeschlossen, oder ist meiner vielleicht kaputt? Ich hab ihn mal aufgeschraubt, die Bauteile sahen alle ganz gut aus, nix durchgebranntes ... Was läuft denn schief bei mir? Ich würde mich über eine Antwort sehr freuen. PS: ich möchte den TX23 an einen ATmega8A anschließen und die gemessenen Winddaten auf einer SD-Karte speichern (10-Minuten-Mittelwerte über ein Jahr) zwecks Test ob unser Hausdach für eine Kleinwindkraftanlage geeignet ist. Hat jmd Erfahrung mit TX23 und ATmega's ?
Johannes schrieb: > Hat jmd Erfahrung mit TX23 und ATmega's ? jep aber nur mit einem gehackten TX23 - sprich... ich gfreife mir direct das Windsignal über den Kontakt ( bei mir halt ein Halleffektsensor - Reedkontakt wurde ausgebaut ) Die Windrichtung gfreife ich auch direkt mittels Hack von den Platine ab. Wenn du es so machst wie ich, hast du ziemlich schnell brauchbare Messwerte, wieso es so schwierig ist den TX23 auszulesen, wird dir hier nicht jeder gleich so adhoc beantworten können, bzw überhaupt... lg Dieter
Also ich hab meinen TX23 mitlerweile erfolgreich im Einsatz. Ich hab mich da zu großen Teilen an die Schaltung von Dieter gehalten, nicht ganz so Aufwändig, aber es geht, Danke nochmals Dieter ! Eine Frage bleibt noch offen. Hat jemand einen genauen Teiler für die Berechnung der Windgeschwindigkeit? Ich zähle die "Ticks" vom Readkontakt 1sek lang. Viel hört/liest man den Wert /3 ergibt m/s. Naja ich nutze derzeit /2 , das kommt zumindest recht genau mit den Daten der nächsten Wetterstation hin. Weiter oben stand was von /2.5 ?? Gibts da mitlerweile einen genauen Teiler? Und ist der Teiler abhängig von der Taktfrequenz des Controllers? Eigentlich nicht oder? Danke Heiko
Hey, trägt zwar nicht wesentlich zur Lösung des Protokollproblems bei, aber aus aktuellem Anlass vielleicht für den einen oder anderen von interesse... Diese Woche wurde ein Artikel veröffentlicht, der Sensor wird aktuell immer noch in größerer Stückzahl gebaut und vertrieben... http://www.all-electronics.de/texte/anzeigen/50023/Besser-als-der-Frosch-im-Glas Gruß Micha, PS: Falls der verlinkte Artikel aus Sicht eines verantwortlichen zu Problemen führen könnte (Copyright, etc.), bitte löschen!
Das müsste helfen... http://forum.abacom-online.de/phpBB3/viewtopic.php?f=91&t=3968 Gruss, ExpertProfi
Ich komm mit dem tx23 nicht klar. Ich hab ihn VCC mit 3,3V über den raspberry versorgt und an den TXD Data eine LED drauf gehängt minus LED auf GND Masse. Bei jeder Umdrehung blinkt die LED auf so hab ich schon mal eine Signal Anzeige geschaffen. Jetzt habe ich das ganze mal am analogeingang der siemenslogo Drann dort brauch ich aber ein Analogverstärker um das Signal zuversärken und auszuwerten. Da fängt s dann schon mal an wie erechnen ich aus diesem Faktor die Windgeschwindigkeit? Wünsch euch viel Erfolg beim basteln. Ziel war es das Ganze als Wetterstation mit dem Pi 3 b zu realisieren
Beitrag #5511482 wurde von einem Moderator gelöscht.
Hallo in die Runde! ich bin neu hier und möchte mich an dieser Stelle in den thread einklinken. In der Überschrift steht ja was von TX23/TX20. Ich habe einen TX20 als (neues und originalverpacktes) Ersatzteil erworben und ihn entsprechend der einschlägigen Beiträge wie: https://www.john.geek.nz/2011/07/la-crosse-tx20-anemometer-communication-protocol/ oder http://blog.bubux.de/windsensor-tx20-mit-esp8266/ beschaltet. Ich baue eine Wetterstation mit einem ESP12E auf der Basis eines Lua Lolin V3. Am I2C D1/D2 habe ich die üblichen Sensoren - z.Zt. 3 Stck. (BME280 etc). Das funktioniert alles prima. Nun zum Problem: Der TX20 ist wie in den o.g. Beiträgen verdrahtet und den passenden Arduino Sketch habe ich auf den ESP12E geladen. Die Protokolle TX23/TX20 dürften sogar ähnlich sein? TxD liegt an D6. Der TX20 wird mit 3,3V betrieben. Erstaunlicherweise zeigt der Test-Sketch alle 2sec die korrekte Windrichtung an, auch die Checksum ist immer richtig, aber leider ist die Windgeschwindigkeit immer 0. Auch in den RawData. Das wurde oben auch schon mal erwähnt. Hier gibt es doch viele erfahrene Entwickler. Vielleicht kann mir jmd. einen Tipp geben, wo suchen?? Herzlichen Dank! Theo
Jürgen E. schrieb: > Er kommt zustande da der konvexe angeströmte Löffel das Anemometer > abbremst, was kompensiert werden muss. Bei einem 4er-Windrad (wegen der Anschaulichkeit) wird der unterschiedliche c_w Wert von konvex und konkav angeströmtem Löffel (eigentlich das Integral über die sich ändernde Geometrie bei der Drehung) durch die unterschiedliche Anströmgeschwindigkeit (Windgeschwindigkeit plus oder minus Bahngeschwindigkeit der Löffel) kompensiert, so dass ein Gleichgewicht besteht. Es ist also c_w (konvexer Löffel) * (Windgeschwindigkeit + Bahngeschwindigkeit)^2 gleich c_w (konkaver Löffel) * (Windgeschwindigkeit - Bahngeschwindigkeit)^2 Aus dieser Gleichgewichtsbedingung ergibt sich die Bedingung für die Bahngeschwindigkeit der Löffel und damit der Drehgeschwindigkeit. Diese Gleichgewichtsbedingung wird nur durch die Reibung gestört. Beim 3er-Rad ist die Geometrie etwas kompliziert, ändert aber nichts am Gleichgewichtsprinzip. Eine konstante Kraftdifferenz würde zu einer laufenden Beschleunigung und letzendlich zur Zerstörung des Gebers führen.
ich möchte noch präzisieren: Der Sensor scheint OK. Ich erhalt jedoch nur ca 8s lang nach dem Start des Sketches Daten. Danach keine mehr.. Das habe ich gerade eben beobachtet...
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.