Forum: HF, Funk und Felder 125 KHz Signal


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Hallo, ich möchte gerne das Triggersignal von TPMS Sensoren erzeugen.
Das sind lt. Datenblatt 125 KHz.

Wie kann ich so ein Signal preiswert erzeugen und auch senden?
5mW sollten auf der Werkbank reichen?

Beitrag "TPMS Sensor Schrader EZ Programmierung"

Reicht soetwas? https://www.ebay.de/itm/167110807844?

von Vanye R. (vanye_rijan)


Lesenswert?

> Reicht soetwas? https://www.ebay.de/itm/167110807844?

Vermutlich. Aber es reicht vermutlich jeder beliebige
Microcontroller auf der Welt mit einem grob passend
teilbaren Quarz um da 125khz raus zu holen.
Und wenn die Genauigkeitansprueche nicht so hoch sind,
was ich mal vermute, dann reicht sogar einer mit
internen kalibriertem RC-Oszillator. Also dann
z.B CH32V003 fuer 0.1Euro.

Und die Modulation sollte der dann gleich mit erledigen
koennen.

Vanye

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Hallo Vanye,

danke. ESP32 hätte ich hier, Du meinst einfach per PWM so ein Signal 
generieren?

https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/funktionsgenerator-mit-dem-esp32-teil1

Aber wie bekomme ich das in die Luft?

: Bearbeitet durch User
von Enrico E. (pussy_brauser)


Angehängte Dateien:

Lesenswert?

Nimm einfach einen 4,000 MHz Quarz, z.B. im hc49 Package und schließe 
ihn an den CD4060 an und greife die fertigen 125 kHz am Ausgang Q5 ab.

Um für die Amplitudenmodulation einen maximalen Modulationsgrad zu 
erzielen, genügt ein nachgeschaltetes digital getastetes UND-Gatter.

von Dieter S. (ds1)


Lesenswert?

Die billigen TPMS Trigger ("TPMS Relearn Opel/GM") lassen sich relativ 
problemlos umbauen und auch die ASK Modulation (viele TPMS Sensoren 
erwarten mehr als nur einen 125 kHz Träger) ist damit einfach machbar. 
Dann muss der Mikrocontroller sich nur noch um die Modulation kümmern.

Mehr dazu siehe u.a. hier:

Beitrag "Funktion Reifendruckanlerngerät EL-50448; OEC-T5; Welches Bauelement ist das?"

von Harald W. (wilhelms)


Lesenswert?

Welle 🧐 S. schrieb:

> Aber wie bekomme ich das in die Luft?

Einfach den Deckel eines 125 kHz-Quarzes entfernen. :-)

von Hmmm (hmmm)


Lesenswert?

Welle 🧐 S. schrieb:
> Aber wie bekomme ich das in die Luft?

Reihenschwingkreis aus einer gängigen RFID-Spule (einige 100uH) und dazu 
passendem Kondensator (ein paar nF).

von Welle 🧐 S. (w3llschmidt)


Angehängte Dateien:

Lesenswert?

Dieter S. schrieb:
> Die billigen TPMS Trigger ("TPMS Relearn Opel/GM") lassen sich relativ
> problemlos umbauen und auch die ASK Modulation (viele TPMS Sensoren
> erwarten mehr als nur einen 125 kHz Träger) ist damit einfach machbar.

Liegt alles bereit, bin vorbereitet.

Nur ist bei meinem Opeltrigger der Chip unkenntlich gemacht und meine 
Skills
reichen nicht aus um anhand der Leiterbahnen zu erkennen wo der
Chip angestuert wird :(

: Bearbeitet durch User
von Dieter S. (ds1)


Lesenswert?

Dein Gerät ist anders/moderner als das hier:

Beitrag "Funktion Reifendruckanlerngerät EL-50448; OEC-T5; Welches Bauelement ist das?"

https://www.mikrocontroller.net/attachment/453233/EL-50448.jpg

Bei dem ist noch alles ohne Mikrocontroller aufgebaut.

Du könntest aber vermutlich bei Deinem Gerät einfach den Mikrocontroller 
entfernen und den Rest für die Erzeugung des Signals verwenden. Das 
werden wohl Q7 und Q8 erledigen, man sollte sich ansehen (Oszilloskop) 
wie die angesteuert werden und das dann genauso mit dem eigenen 
Mikrocontroller machen.

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Hallo Dieter, Du denkst U2 ist ein MC?
Den kann ich entlöten, ich habe eine Station.

Die drei Anschlüsse unten sind LED_GND, LED1 , LED2.
Oben Links scheint durchkontaktiert auf eine Groundplane auf der
anderen Seite.

Bleiben noch zwei Anschlüsse. VCC und ein Ausgang?

Ist das alles 9v oder sieht jemand Spannungswandler?

Was sind Q7/Q8?

: Bearbeitet durch User
von Dieter S. (ds1)


Lesenswert?

Welle 🧐 S. schrieb:
>
> Ist das alles 9v oder sieht jemand Spannungswandler?

U1 wird der Spannungswandler sein.

> Was sind Q7/Q8?

Vermutlich zwei MOSFETs.

Was möchtest Du denn mit dem TPMS Sensor machen? Wenn er nicht nur einen 
125 kHz Träger sondern auch eine Modulation mit den richtigen Daten 
braucht könnte es schierig werden.

von Dieter S. (ds1)


Angehängte Dateien:

Lesenswert?

Auf die Schnelle ohne Garantie, aber der Aufbau könnte so wie auf dem 
Bild im Anhang sein.

"1" am Mikrocontroller ist für das Messen der Batteriespannung.

"2" ist für das Ausschalten, wenn man die Einschalt-Taste drückt wird 
wohl eine Selbsthaltefunktion rund um Q1 und Q2 für eine Versorgung des 
Mikrocontroller sorgen bis dieser über "2" wieder abschaltet.

Die grüne Linie zeigt eine vermutliche Verbindung auf der anderen 
Platinenseite, die gelbe Linie ist das 125 kHz Signal vom 
Mikrocontroller.

Die beiden anderen IO Pins vom Mikrocontroller sind für die beiden LEDs.

Wie hoch Vcc ist (vermutlich 5 Volt oder 3.3 Volt) musst Du selber 
messen.

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Dieter S. schrieb:
> Was möchtest Du denn mit dem TPMS Sensor machen? Wenn er nicht nur einen
> 125 kHz Träger sondern auch eine Modulation mit den richtigen Daten
> braucht könnte es schierig werden.

Ja, dann wird es blöd. Ich hoffe darauf das es keinen Sinn macht für so
eine Anwendung gross was zu Modulieren.

In einem Sensor ist das hier verbaut: https://www.nxp.com/products/NTM88

Die möchte ich verbauen und per SDR+Raspi auf ein Display im
Cockpit anzeigen.

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Übrigens misst mein Multimeter am besagten Ausgang vom MC und auch an 
der
Antenne 126,9kHz :-o

Ich habe den IC jetzt runter und einen ESP32 an GND und den Signalpin
gelötet.

Die Platine ist mit 9v bestromt, wenn ich die Taste drücke zieht es 4mA,
was Hoffnung macht das das die "Sendestufe" Q7/Q8 ist ...

von Hmmm (hmmm)


Lesenswert?

Welle 🧐 S. schrieb:
> wenn ich die Taste drücke zieht es 4mA

Das klingt wenig, aber Du erzeugst wohl auch noch keine 125kHz, oder?

Welle 🧐 S. schrieb:
> was Hoffnung macht das das die "Sendestufe" Q7/Q8 ist ...

Ist es definitiv, und L1 und C7 bilden den Reihenschwingkreis, den ich 
weiter oben erwähnt habe. Das Ding ist ähnlich wie ein RFID-Reader 
aufgebaut, bloss ohne Demodulator.

von Dieter S. (ds1)


Lesenswert?

Welle 🧐 S. schrieb:
>
> Die Platine ist mit 9v bestromt, wenn ich die Taste drücke zieht es 4mA,
> was Hoffnung macht das das die "Sendestufe" Q7/Q8 ist ...

Beim weiter oben verlinkten TPMS Trigger ohne Mikrocontroller beträgt 
die Stomaufnahme über 80 mA wenn er das 125 kHz Signal erzeugt (Betrieb 
an Netzteil mit 9 Volt).

von Welle 🧐 S. (w3llschmidt)


Angehängte Dateien:

Lesenswert?

So, also mit dem ESP32 habe ich nun 125.3kHz an der Antenne, die Platine
zieht 50mA wenn ich "sende".

Leider weckt das die Sensoren nicht auf :(

Ist natürlich nur ein Rechtecksignal.
1
#define LEDC_DUTY_RES           LEDC_TIMER_9_BIT // Duty resolution
2
#define LEDC_DUTY               (900) // Duty Cycle 50% > ((2*LEDC_DUTY_RES)*50)
3
#define LEDC_FREQUENCY          (125000) // Frequency in Hertz

Mist. Macht es Sinn mit den Duty Cycle zu spielen?

: Bearbeitet durch User
von Dieter S. (ds1)


Lesenswert?

Wie ich bereits geschrieben habe wird der TPMS Sensor die passenden 
Daten mit der richtigen Modulation erwarten, nur wenige der aktuellen 
TPMS Sensoren reagieren nur auf einen Träger.

von Rainer W. (rawi)


Lesenswert?

Dieter S. schrieb:
> Platine_TPMS.PNG

Wichtige Regeln - erst lesen, dann posten!

Bitte das JPG-Format (nur) für Fotos und Scans verwenden!

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Dieter S. schrieb:
> Wie ich bereits geschrieben habe wird der TPMS Sensor die passenden
> Daten mit der richtigen Modulation erwarten, nur wenige der aktuellen
> TPMS Sensoren reagieren nur auf einen Träger.

Kann man mit einem MC auch ein Signal Modulieren? OOK oder so?

von Hmmm (hmmm)


Lesenswert?

Welle 🧐 S. schrieb:
> Kann man mit einem MC auch ein Signal Modulieren? OOK oder so?

Klar, einfach Dein 125kHz-Signal ein- und ausschalten.

Aber vorher solltest Du wissen, was der Sensor genau erwartet.

: Bearbeitet durch User
von Dieter S. (ds1)


Lesenswert?

Wie so eine Modulation beispielhaft aussehen könnte steht ja in dem 
bereits weiter oben verlinktem Thread:

Beitrag "Funktion Reifendruckanlerngerät EL-50448; OEC-T5; Welches Bauelement ist das?"

Die Modulation ist in den allermeisten Fällen OOK (also ein/ausschalten 
des Träger). Nur wenn man nicht weiss welche Daten der TPMS Sensor 
erwartet und mit welcher Geschwindigkeit hilft das wenig.

Wenn Du nur beim Fahren die Daten den TPMS Sensors auswerten möchtest 
braucht Du aber sehr wahrscheinlich kein Trigger-Signal. Die meisten 
TPMS Sensoren fangen an regelmäßig zu Senden wenn sich das Rad dreht 
(die Beschleunigung wird erkannt). Allerdings mußt Du immer noch 
herausfinden wie die RF Daten zu interpretieren sind.

von Stephan (holziholz)


Lesenswert?

Du brauchst das wake up pattern von dem Auto, zu dem die Sensoren 
gehören. Wenn sie nicht angelernt sind, muss man erst die gesamte 
Prozedur fürs anlernen durchführen. Inzwischen gibt es auch Sensoren, 
die auf Beschleunigung reagieren. Hängt aber von Modell und Hersteller 
ab,was genau du brauchst. Nur mit einem Träger passiert jedenfalls 
nichts. Die Sensoren müssen Strom sparen und wenn sie auf jedes andere 
125 kHz Signal eines vorbeifahrenden Autos reagieren würden, wären sie 
schnell leer.

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Hallo Leute, ist klar, WakeUp pattern.

Ich habe hier Sensoren wie z.b. die VDO-Redi die lassen sich mit einem
Träger aktivieren.

Ich dachte halt, das das bei allen Sensoren so ist, weil wozu gross ein
Pattern auswerten.

Anlernen muss ich die nicht, ich habe einen SDR im LKW, der empfängt die
Aussendungen und leitet die an ein Display.

Beitrag "Re: vdo redi sensoren"

Ich habe auch schon Akkuschrauber (Gyrosensor) und Pumpflasche 
(Druckverlusst) versucht. Tiefschlaf.

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Dieter S. schrieb:
> TPMS Sensoren fangen an regelmäßig zu Senden wenn sich das Rad dreht
> (die Beschleunigung wird erkannt). Allerdings mußt Du immer noch
> herausfinden wie die RF Daten zu interpretieren sind.

Die hier leider nicht. Zumindest nicht am Akkuschrauber :)

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Ok, ich werde wohl etwas unfair werden müssen und mir ein offizielles
Tool bestellen und dasAktivierungspattern mitschneiden.

Was würdet ihr empfehlen, ein SDR der bis 100kHz runter geht?

: Bearbeitet durch User
von Hmmm (hmmm)


Lesenswert?

Welle 🧐 S. schrieb:
> Was würdet ihr empfehlen, ein SDR der bis 100kHz runter geht?

Oszilloskop reicht.

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Dieter S. schrieb:
> Beim weiter oben verlinkten TPMS Trigger ohne Mikrocontroller beträgt
> die Stomaufnahme über 80 mA wenn er das 125 kHz Signal erzeugt (Betrieb
> an Netzteil mit 9 Volt).

Mir fällt hier gerade was auf!
Die Stromaufnahme ändert sich je nach Dutycycle des ESP 125kHz Signals!

Bei 50% sind es 40mA bei 10% schon 60mA - ich probiere es nochmal mit 
1%.

ich werde trotzdem das Tool bestellen :)

: Bearbeitet durch User
von Hmmm (hmmm)


Lesenswert?

Welle 🧐 S. schrieb:
> Bei 50% sind es 40mA bei 10% schon 60mA - ich probiere es nochmal mit
> 1%.

Wenn einem Grundlagenwissen fehlt, sollte man nicht planlos wursteln.

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Hmmm schrieb:
> Wenn einem Grundlagenwissen fehlt, sollte man nicht planlos wursteln.

Keine Sorge, ich komme zum Ziel.

von Manfred P. (pruckelfred)


Angehängte Dateien:

Lesenswert?

Stephan schrieb:
> Du brauchst das wake up pattern von dem Auto, zu dem die Sensoren
> gehören. Wenn sie nicht angelernt sind, muss man erst die gesamte
> Prozedur fürs anlernen durchführen. Inzwischen gibt es auch Sensoren,
> die auf Beschleunigung reagieren. Hängt aber von Modell und Hersteller
> ab,was genau du brauchst.

Da kocht jeder sein eigenes Süppchen, Hauptsache kompliziert.

Der Ford Mondeo Mk4 mit Siemens-VDO-Sensoren hatte in jedem Radhaus ein 
Antennchen. Da wurde nichts angelernt, sondern einfach abgefragt und auf 
Wunsch im Borddisplay angezeigt.

Das war zu Nutzerfreundlich und musste geändert werden.

Der Mk5 will die Sensoren angelernt haben. Die scheinen zyklisch zu 
senden oder auch außer der Reihe, wenn sich der Reifendruck deutlich 
verändert. Immerhin ist auch der noch so nett, mir die Werte anzuzeigen.

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Manfred P. schrieb:
> Stephan schrieb:
> Da kocht jeder sein eigenes Süppchen, Hauptsache kompliziert.

Hallo Manfred, was ich nicht verstehe, wozu die Hersteller so ein 
Aufwand
betreiben ... warum legen die den Sensor nicht so lange schlafen bis
ein Druck detektiert wird und senden  ab dann, wenn der Gyrosensor Werte
liefert ... egal, was solls.

von Dieter S. (ds1)


Lesenswert?

Welle 🧐 S. schrieb:
>
> warum legen die den Sensor nicht so lange schlafen bis
> ein Druck detektiert wird und senden  ab dann, wenn der Gyrosensor Werte
> liefert

Es geht darum Energie zu sparen solange der Sensor nur im Lager liegt 
und noch nicht verbaut wurde. Es ist alles abgeschalten bis auf den LF 
Detektor (der kann so konfiguriert werden dass er selbständig ein vorher 
festgelegtes SYNC Feld in den LF Daten erkennt und dann den 
Mikrocontroller aufweckt, der kümmert sich dann um die Auswertung der 
restlichen Daten).

: Bearbeitet durch User
von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Dieter S. schrieb:
> Welle 🧐 S. schrieb:
> Es geht darum Energie zu sparen solange der Sensor nur im Lager liegt

Hallo Dieter, ist ja klar, mich wundert: verbraucht der LF weniger Strom 
als den ADC des Drucksensor zu samplen und bei einen Schwellwert den
Rest aufzuwecken.

Der muss ja vorher nicht senden.

Klar es muss ein Timer laufen, aber der LF verbraucht ja auch Strom? 
Oder
wird der durch die HF induziert?

: Bearbeitet durch User
von Dieter S. (ds1)


Lesenswert?

Welle 🧐 S. schrieb:
>
> Oder wird der durch die HF induziert?

Wenn man es richtig macht kann man den LF Detektor fast vollständig über 
die Energie des LF Feldes betreiben, ähnlich wie bei den passiven RFID 
Tags, die im selben Frequenzbereich arbeiten.

: Bearbeitet durch User
von Manfred P. (pruckelfred)


Lesenswert?

Welle S. schrieb:
> warum legen die den Sensor nicht so lange schlafen bis
> ein Druck detektiert wird

Druck messen und schlafen dürften sich gegenseitig ausschließen.

> und senden  ab dann, wenn der Gyrosensor Werte liefert ...

Haben die überhaupt einen Gyrosensor?

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Manfred P. schrieb:
> Haben die überhaupt einen Gyrosensor?

Ja. https://www.nxp.com/docs/en/data-sheet/NTM88Kxx5S.pdf

von Welle 🧐 S. (w3llschmidt)


Angehängte Dateien:

Lesenswert?

Das Ausgangssignal an der Antenne sieht so seltsam aus, liegt das an 
meinem Aufbau?

: Bearbeitet durch User
von Hmmm (hmmm)


Lesenswert?

Welle 🧐 S. schrieb:
> Das Ausgangssignal an der Antenne sieht so seltsam aus, liegt das an
> meinem Aufbau?

Das ist nur eine halbe Antenne, der Kondensator (diesmal parallel zur 
Spule) fehlt.

von Welle 🧐 S. (w3llschmidt)


Angehängte Dateien:

Lesenswert?

So ein kleiner Kondensator. Danke!

Noch zwei Fragen die Sinuswelle hat ihr HIGH an der fallenden Flanke, 
müsste
die nicht exact an der steigenden Flanke enden?

T ist die Periodendauer? 8uS (micro, 1hoch6)?

: Bearbeitet durch User
von Hmmm (hmmm)


Lesenswert?

Welle 🧐 S. schrieb:
> Noch eine Frage die Sinuswelle beginngt an der fallenden Flanke, müsste
> die nicht exact an der steigenden Flanke enden?

Nein, Phasenverschiebungen sind völlig normal.

Nur wenn das funktionierende Triggergerät während der Aussendung die 
Phasenlage ändert, ist Aufmerksamkeit geboten, aber das dürfte einfaches 
OOK verwenden, vermutlich Manchester-codiert.

Welle 🧐 S. schrieb:
> T ist die Periodendauer? 8uS (micro, 1hoch6)?

Genau, 10^-6, um genau zu sein.

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Ok, nochmal danke. Dann mach ich ich daran dem ESP OOK beizubringen.

Ich habe paralell dazu ein passendes Tool und ein SDR (SDRplay1A) im
zulauf ... der kann wohl bis 100kHz runter.

https://auswuchtshop.de/rdkstpms/programmiergeraete/354303/ateq-vt-truck-2.0-rdks-diagnose-und-programmiergeraet-mit-obdii-power-converter-fuer-lastkraftwagen

von Hmmm (hmmm)


Lesenswert?

Welle 🧐 S. schrieb:
> Ich habe paralell dazu ein passendes Tool und ein SDR (SDRplay1A) im
> zulauf ... der kann wohl bis 100kHz runter.

Ich würde das wie gesagt eher mit dem Oszi machen, 125kHz sind dafür ja 
keine Hürde.

Aber für "echte" HF ist der RSP1A ein schönes Spielzeug. Unter Windows 
kann ich Dir für den Alltagsgebrauch SDR Console empfehlen, das läuft 
einwandfrei damit.

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Hmmm schrieb:
> Welle 🧐 S. schrieb:
>> Ich habe paralell dazu ein passendes Tool und ein SDR (SDRplay1A) im
>> zulauf ... der kann wohl bis 100kHz runter.
>
> Ich würde das wie gesagt eher mit dem Oszi machen, 125kHz sind dafür ja
> keine Hürde.

Ja, mir ist noch nicht ganz klar, wie ich am/mitm Oszi das Signal 
dekodieren kann? Ich hab nur ein Handheld.

von Hmmm (hmmm)


Lesenswert?

Welle 🧐 S. schrieb:
> Ja, mir ist noch nicht ganz klar, wie ich am/mitm Oszi das Signal
> dekodieren kann?

OOK ist nur ein Ein- und Ausschalten des Trägers. Bei passend 
eingestellter Zeitbasis siehst Du also also auf dem Oszi abwechselnd 
einen breiten Balken (Träger ein) und eine dünne Linie (Träger aus).

Wenn Dein Oszi genug Speicher hat und die Zoom- und 
Cursor-Messfunktionen brauchbar sind, kannst Du das damit gut 
analysieren.

von Welle 🧐 S. (w3llschmidt)


Angehängte Dateien:

Lesenswert?

So, mit dem SDRPlay UND einer Twente MiniWhip kann ich das Signal
von ESP32 schonmal gut erkennen ... erstaunlicherweise auch ohne
gedrückte Sendetaste.

: Bearbeitet durch User
von Welle 🧐 S. (w3llschmidt)


Angehängte Dateien:

Lesenswert?

Was blöd wird, das LF Signal besteht aus Manchester Code und etwas 
properitären. Aber zu meinem Glück ist es beschrieben.

von Hmmm (hmmm)


Lesenswert?

Welle 🧐 S. schrieb:
> kann ich das Signal
> von ESP32 schonmal gut erkennen ... erstaunlicherweise auch ohne
> gedrückte Sendetaste.

Warum erstaunlicherweise? Wenn Du Dein Signal direkt in die Endstufe 
einspeist, funktioniert der Taster, der dem Original-Controller den 
Befehl zum Senden gegeben hat, natürlich nicht mehr.

Welle 🧐 S. schrieb:
> Was blöd wird, das LF Signal besteht aus Manchester Code und etwas
> properitären.

Wenn das Triggersignal immer identisch ist, musst Du nicht mal das 
Protokoll analysieren. Im Fall von OOK brauchst Du dann nur eine Abfolge 
von Zeiten mit und ohne Träger.

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Hmmm schrieb:
> Warum erstaunlicherweise? Wenn Du Dein Signal direkt in die Endstufe
> einspeist, funktioniert der Taster, der dem Original-Controller den
> Befehl zum Senden gegeben hat, natürlich nicht mehr.

Nee, nee - der Taster verbindet anscheinend auch erst das Signal mit der 
Endstufe. Der Pegel geht dann richtig hoch und das Teil zieht dann 80mA.
Ich habe dann Teilweise 12V an der Antenne!
Du siehst auch am Wasserfall wie das Signal ohne Verstärkung aussieht 
und
an welcher Stelle mit verstärkung.

> Wenn das Triggersignal immer identisch ist, musst Du nicht mal das
> Protokoll analysieren. Im Fall von OOK brauchst Du dann nur eine Abfolge
> von Zeiten mit und ohne Träger.

Ja, ich hoffe noch, dass der/die Hersteller es nicht als Notwendig 
erachtet haben, die Möglichkeiten auszuschöpfen, weil man kann noch
4 Byte TriggerID mitsenden. Also:

Manchester    Properitär     Manchester
[Premable]  [SYNC PATTERN]    [ID, ID]

Per Default (SDK) reichen aber Preamble + Syncpattern.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?


von Hmmm (hmmm)


Lesenswert?

Welle 🧐 S. schrieb:
> , nee - der Taster verbindet anscheinend auch erst das Signal mit der
> Endstufe. Der Pegel geht dann richtig hoch und das Teil zieht dann 80mA.

Dann strahlt wohl die Leitung zwischen ESP- und Senderplatine genug ab.

von Dieter S. (ds1)


Lesenswert?

Welle 🧐 S. schrieb:
>
> Nee, nee - der Taster verbindet anscheinend auch erst das Signal mit der
> Endstufe. Der Pegel geht dann richtig hoch und das Teil zieht dann 80mA.
> Ich habe dann Teilweise 12V an der Antenne!

Natürlich hat in der ursprünglichen Schaltung der Taster überhaupt erst 
mal die 9 Volt der Batterie durchgeschalten, sonst wird Q8 gar nicht mit 
Spannung versorgt (um die 9 Volt).

Und an dem weiter oben verlinktem TPMS Trigger ohne Mikrocontroller ist 
die Spannung an der Antenne noch viel höher (ist ja bei dem Schwingkreis 
auch zu erwarten).

von Olli Z. (z80freak)


Lesenswert?

Auf den von mir verwendeten TPMS-Trigger-Geräten war es so das der 
Taster den uC mit Spannung versorgt hat und dieser dann über einen 
Ausgang den Taster überbrückte (so ne Art Selbsthaltung). Hat man den 
Taster dann losgelassen funkte der uC somit noch eine Weile weiter bis 
er am Ende der Sequenz den Ausgang low schaltete und sich selbst damit 
von der Spannungsversorgung abkoppelte.

Wie aber schon oben beschrieben sollte man diesen ganzen Teil übergehen 
und mit einer permanent gespeisten Endstufe nur noch das Trägersignal 
erzeugen. Die Programmierung des uC würde übrigens ungemein einfacher 
wenn die Endstufe den 125 kHz Träger direkt selbst erzeugen würde. Es 
gibt auch Geräte die das so haben, man muss nur wissen welche... selten 
zeigt ein Verkäufer ja die "Innereien" die darauf schließen lassen 
würden.

Aber Du bist ja schon viel weiter und machst den Träger mit dem uC 
selbst.

Spannendes Projekt übrigens. Mir ist es damals leider nicht gelungen 
meine Ford Mondeo MK4 Sensoren mit einer solchen Schaltung zu triggern 
da ich die genaue Triggersequenz nicht ermitteln konnte. Meinem Fahrzeug 
fehlen die Sendeantennen und einen Profi-Kodierer für 600,-€ wollte ich 
mir dann auch nicht zulegen...

: Bearbeitet durch User
von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Olli Z. schrieb:
> Spannendes Projekt übrigens. Mir ist es damals leider nicht gelungen
> meine Ford Mondeo MK4 Sensoren mit einer solchen Schaltung zu triggern
> da ich die genaue Triggersequenz nicht ermitteln konnte. Meinem Fahrzeug
> fehlen die Sendeantennen und einen Profi-Kodierer für 600,-€ wollte ich
> mir dann auch nicht zulegen...

Hallo Olli, ich hoffe noch das die Sensoren wie im in deren Appnote 
beschrieben, nur mit einen Standardsequenz getriggert werden :)
Wenn die allerdings Custom ID.s verwenden muss ich leider das
Tool mal bestellen.

Was mich wundert wie die 3rdparty Hersteller an die ganzen Codes kommen.
Die geben ja auch regelmässig updates raus.

---

Den SDRPLAY schicke ich wieder zurück, der empfängt zwar super bis 
100kHz
aber ich bekomme den nicht mit URH zum laufen.
Ging gestern wieder bis 02:oo Uhr :/

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Achso für die Nachwelt. Ich hatte das 125kHz Signal im/mit dem EPS32 ja 
mit einer einfachen LED PWM erstellt, ABER.

Es gibt was cooleres: ESP32 RMT.

https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/peripherals/rmt.html
1
#include "freertos/FreeRTOS.h"
2
#include "freertos/task.h"
3
4
#include "driver/rmt_tx.h"
5
#include <driver/rmt_common.h>
6
#include <driver/rmt_encoder.h>
7
8
rmt_encoder_handle_t encoder = NULL;
9
rmt_channel_handle_t tx_chan = NULL;
10
11
uint8_t bytes_to_send[5] = {0x00, 0x00, 0x00, 0x44, 0xca}; // only some test bytes, can be everything
12
13
void rmt_tx_init() 
14
{
15
16
    rmt_tx_channel_config_t tx_chan_config = {
17
        .clk_src = RMT_CLK_SRC_DEFAULT,         // select source clock
18
        .gpio_num = 33,                         // GPIO number
19
        .mem_block_symbols = 64,                // memory block size, 64 * 4 = 256 Bytes
20
        .resolution_hz = 1 * 1000 * 1000,       // 1 MHz tick resolution, i.e., 1 tick = 1 µs
21
        .trans_queue_depth = 4,                 // set the number of transactions that can pend in the background
22
        .flags.invert_out = false,              // do not invert output signal
23
        .flags.with_dma = false,                // do not need DMA backend
24
    };
25
    ESP_ERROR_CHECK(rmt_new_tx_channel(&tx_chan_config, &tx_chan));
26
    ESP_ERROR_CHECK(rmt_enable(tx_chan));
27
28
    rmt_carrier_config_t tx_carrier_cfg = {
29
        .duty_cycle = 0.40,                     // duty cycle 
30
        .frequency_hz = 125000,                 // KHz
31
        .flags.polarity_active_low = true,      // carrier should be modulated to high level
32
        .flags.always_on = false,               // If set, the carrier can always exist even there's not transfer undergoing
33
    };
34
    //ESP_ERROR_CHECK(rmt_apply_carrier(tx_chan, &tx_carrier_cfg)); // modulate 125kHz carrier to TX channel
35
 
36
}
37
38
void loop() 
39
{
40
rmt_tx_init();
41
42
    rmt_transmit_config_t tx_config = {
43
        .loop_count = 0, // no transfer loop
44
    };
45
46
    rmt_bytes_encoder_config_t bytes_encoder_config = 
47
    {
48
        .bit1 = {
49
        .duration0 = 100, // us
50
        .level0 = 1,
51
        .duration1 = 100, // us
52
        .level1 = 0,
53
        },
54
        .bit0 = {
55
        .duration0 = 50, // us
56
        .level0 = 1,
57
        .duration1 = 50, // us
58
        .level1 = 0,
59
        },
60
        .flags.msb_first = 1
61
    };
62
63
    ESP_ERROR_CHECK(rmt_new_bytes_encoder(&bytes_encoder_config, &encoder));
64
 
65
        while(1)
66
        {
67
        ESP_ERROR_CHECK(rmt_transmit(tx_chan, encoder, bytes_to_send, sizeof(bytes_to_send), &tx_config));
68
        }
69
70
vTaskDelete(NULL);        
71
}
72
73
void app_main()
74
{
75
76
    xTaskCreatePinnedToCore(*loop,"loop",4096,NULL,1,NULL,1);
77
78
}

Carrier hatte rauskommentiert um die Manchester Daten am Oszi 
sehen/vergleichen zu können.

: Bearbeitet durch User
von Dieter S. (ds1)


Lesenswert?

Welle 🧐 S. schrieb:
>
> Hallo Olli, ich hoffe noch das die Sensoren wie im in deren Appnote
> beschrieben, nur mit einen Standardsequenz getriggert werden :)

Welche "Standardsequenz"? Es gibt eine Auswahl an möglichen SYNC 
Signalen, dann folgen jeweils optional ID und Daten. Und weil die 
allermeisten TPMS Sensoren mehr können als nur aktiviert zu werden (u.a. 
Factory Test) wird da relativ sicher mehr als nur der SYNC verwendet um 
verschiedene Kommandos zu unterscheiden.

Abgesehen davon: Man braucht auch noch die richtige Datenrate.

> Was mich wundert wie die 3rdparty Hersteller an die ganzen Codes kommen.
> Die geben ja auch regelmässig updates raus.

Indem sie mit den Herstellern zusammenarbeiten.

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Dieter S. schrieb:
> Welle 🧐 S. schrieb:
> Welche "Standardsequenz"? Es gibt eine Auswahl an möglichen SYNC
> Signalen, dann folgen jeweils optional ID und Daten.

Hallo Dieter, das 9T Pattern (SYNC Signal), ist per default hinterlegt.
Aber es gäbe auch nur noch 2 andere, dass lässt sich leicht durchtesten.
Wenn die eine ID nutzen, werde ich die dann sehen wenn ich das
Werkstatttool mitschneide.

von Welle 🧐 S. (w3llschmidt)


Angehängte Dateien:

Lesenswert?

Gerade gefunden, so sieht das Herstellersetup aus.
Bin ich ja garnicht soweit weg von :)

von Olli Z. (z80freak)


Lesenswert?


von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Olli Z. schrieb:
> Von https://fccid.io/ ?

Nee, ich bin bei NXP registriert und habe Zugriff auf deren Appnotes.
Ich weiss ja was für ein Chip verbaut ist.

https://www.nxp.com/products/NTM88

Auf dem Bild ist deren Vorschlag für die LF Gun. Quasi das was ich
mit dem Amazon Opel Teil mache.

https://www.mikrocontroller.net/attachment/659104/GiJ9L_lWIAAJE-m.jpeg

Auf dm Bild ist ein Hamaton HTS-T01A und ein Schrader 3700.

: Bearbeitet durch User
von Welle 🧐 S. (w3llschmidt)


Angehängte Dateien:

Lesenswert?

Update: der SDRPlay1B (150 EUR) ging wieder retoure.
Er liess sich nur mit SDRConnect betreiben, die Software ist eine
Zumutung, URH ging auch nicht :-/

Ich brauche auf jeden Fall URH support.

Heute kam ein Nooelec RTL-SDR v5 (44 EUR) der läuft sofort mit SDR# und 
URH!
Der ist wesentlich empfindlicher! Ich konnte die MiniWhip weit entfernt 
irgendwo im Raum aufstellen und konnten das unverstärkte Signal 
erkennen! Auf Sendung geht der Träger
im SDR# durch die Decke, bzw. das Raushlevel auf Null!

Beim dem SDRPlay1B musste ich die Antenne 10cm vor den Ferritkern legen.

: Bearbeitet durch User
von Hmmm (hmmm)


Lesenswert?

Welle 🧐 S. schrieb:
> Update: der SDRPlay1B ginf wieder retoure.
> Er liess sich nur mit SDRConnect betreiben

Dann hast Du etwas falsch gemacht, der läuft definitiv mit anderen 
Anwendungen.

Welle 🧐 S. schrieb:
> Ich brauche auf jeden Fall URH support.

Du treibst einen Riesenaufwand für etwas getastete 125kHz.

Welle 🧐 S. schrieb:
> Der ist wesentlich empfindlicher!

Auch das klingt danach, dass Du etwas falsch gemacht hast. Das 
RTL-SDR-Zeug ist zwar nicht schlecht, aber der 8-Bit-ADC ist schon eine 
Einschränkung.

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Hmmm schrieb:
> Welle 🧐 S. schrieb:
>> Update: der SDRPlay1B ginf wieder retoure.
>> Er liess sich nur mit SDRConnect betreiben
>
> Dann hast Du etwas falsch gemacht, der läuft definitiv mit anderen
> Anwendungen.

Bei mir nicht. Ich habe ein taufrisches XUbuntu aufgesetzt und alles 
nach Anleitung installiert ... mit beiden APIs - v2 und v3 - nischt!
Ich mache das schon eine Weile.
Ist aber auch nicht wichtig.

> Welle 🧐 S. schrieb:
>> Ich brauche auf jeden Fall URH support.
>
> Du treibst einen Riesenaufwand für etwas getastete 125kHz.

Was soll ich sagen, andere schauen stundenlang Fussball im TV?
Aber schau dir das an: https://www.youtube.com/watch?v=-uxmmlQr3lA
Das ist Aufwand!

> Welle 🧐 S. schrieb:
>> Der ist wesentlich empfindlicher!
>
> Auch das klingt danach, dass Du etwas falsch gemacht hast. Das
> RTL-SDR-Zeug ist zwar nicht schlecht, aber der 8-Bit-ADC ist schon eine
> Einschränkung.

Wie geschrieben, das unverstärkte Signal kann ich mit dem Nooelec fast 
im ganzen Raum emfangen. Beim SDRPlay nur direkt daneben,
viel falsch machen kann man da nicht ... ?!
Ich habe das Signal ja auch mit SDR# aufgezeichnet und im URH geladen,
dick und sauber.

Ist aber auch egal - die Sache ist die, wenn ich mir ein 600 Eur Tool 
leihe
kann ich nicht tagelang damit rumprobieren - da muss das erste Bild 
sitzen.

von Dieter S. (ds1)


Lesenswert?

Das 125 kHz Signal läßt sich fast trivial aufzeichnen: Schwingkreis nahe 
beim Sender, Gleichrichter (Diode) und das Resultat mit einem einfachen 
Logic Analyzer aufzeichnen. Bereits mehrfach so gemacht mit diversen 
TPMS Triggern und Tools, das ist vollkommen problemlos.

von Hmmm (hmmm)


Lesenswert?

Welle 🧐 S. schrieb:
> Ich habe ein taufrisches XUbuntu aufgesetzt und alles
> nach Anleitung installiert ... mit beiden APIs - v2 und v3 - nischt!

Bei mir läuft die API zumindest unter Windows problemlos.

Es könnte aber auch damit zusammenhängen, dass aus Deinem ursprünglich 
genannten RSP1A plötzlich ein RSP1B wurde. Mag sein, dass einige 
Software erstmal ein Update braucht, damit sie mit dem neueren umgehen 
kann.

Welle 🧐 S. schrieb:
> viel falsch machen kann man da nicht

Doch, sicher, die Gain-Einstellungen machen z.B. eine Menge aus.

Welle 🧐 S. schrieb:
> Ist aber auch egal - die Sache ist die, wenn ich mir ein 600 Eur Tool
> leihe
> kann ich nicht tagelang damit rumprobieren - da muss das erste Bild
> sitzen.

Dann solltest Du vielleicht einfach mal auf die Leute hören, die sowas 
schon gemacht haben. Meine Aussage "Oszilloskop reicht" war schon exakt 
so gemeint.

von Olli Z. (z80freak)



Lesenswert?

Weil ich nicht so der "Funker" bin und andere die das lesen vielleicht 
auch nicht, wollte ich mal das was ich bislang so ermittelt habe teilen. 
Vermutlich werde ich dafür einiges an Kritik und Belehrungen einstecken 
müssen, aber das ist ok, wenn sie konstruktiv ist und nicht nur 
despektierlich.

Die Kommunikationsart die wir hier besprechen hat ja im Grunde nichts 
mit Funk im herkömmlichen Sinne zu tun. Für ein Funksignal im 125 kHz 
Band bräuchte es wohl auch eine etwas größere Antenne (~2,1 km lang) mit 
der man dann aber vermutlich weltweit kommunizieren könnte. Vielmehr ist 
das worüber wir hier reden eher eine elektromagnetische Kopplung via 
Induktion, ähnlich einem Transformator ohne Metallkopplung der Spulen. 
Die sendende Spule erzeugt ein pulsierendes Magnetfeld welches in der 
empfangenden Spule eine Spannung induziert. Ohne weitere Maßnahmen die 
dann auch eine gewisse Ausrichtung zur Folge hätten sind solche Effekte 
eben nur in sehr kurzen Distanzen zu bewältigen. Der Vorteil dieser Art 
der Kommunikation ist wohl das sie sich nicht so stark durch Metall und 
Flüssigkeiten dämpfen und ablenken lässt, sich also für "rauhe 
Umgebungen" eignet in dem niedrige Baudraten kein Problem sind.

Für meinen Versuchsaufbau hatte ich mir als Test-Sender für ein paar 
Euro einen RDKS-Trigger Handsender gekauft (siehe Bilder). Als Empfänger 
einen LF-RFID Baustein mit der Bezeichnung RDM6300, wobei es mir da in 
erster Linie um die Antenne ging, da ich nicht das Material und die 
Erfahrung habe sowas selbst herzustellen.

Ich habe dann verschiedene Versuche durchgeführt, zuerst einfach das 
induzierte Magnetfeld der Antenne mit einem Oszi gemessen, während ich 
den Handsender davor halte. Interessant fand ich, das meine Antenne 
schon so irgendwas empfängt (antenna_freerun.png). Aber deutlich 
erkennbar wenn man den Sender startet (antenna_direct.png) in 
(antenna_direct_zoom.png) sieht man schön die Sendefrequenz und in 
(antenna_direct_single_wave.png) kann man sie 125 kHz auch schön 
rausmessen.

Damit kann man aber noch nicht sooo viel anfangen, zumindest nicht wenn 
man es mit einem Mikrocontroller auswerten möchte. Es geht also darum 
aus dem induzierten Signal ein Digitalsignal zu wandeln. Dazu hatte ich 
mir zunächst die Schaltung auf dem Board angeschaut und einen Schaltplan 
dafür gesucht. Dabei habe ich festgestellt das es von diesen Boards 
dutzende Varianten gibt. Dann habe ich mir einen rausgesucht den ich 
halbwegs lesen und vor allem auch nachbauen konnte 
(RDM6300_reader_schematic.png).

Weil mich die einzelnen Stufen interessierten habe ich zunächst (1) 
aufgebaut und wieder das Signal mit dem Oszi gemessen. Danach Teil (2), 
was neben der Gleichrichtung wohl eine Art Hochpassfilter enthält, bevor 
es auf Teil (3), einen invertierenden Verstärker mit durch 
Spannungsteiler angehobenem Nullpunkt. Dieser steuert dann in (4) einen 
Transistor welcher dann als so ne Art 1-Bit A/D Wandler wirkt und wird 
nochmal durch einen invertierenden OpAmp wieder Pegelgleich zum 
Eingangssignal geschaltet. Daraus erhält man dann ein schönes 
Digitalsignal (digital_signal.png) welches sich für den Eingang eines 
Mikrocontrollers eignet.

Miss man die Periodendauer des kürzesten Symbols erhält man die Baudrate 
des Signals (determine_baudrate.png), in meinem Fall 3.900 Baud.

Ab hier beginnt nun die Signaldekodierung. Gut erkennbar ist der SYNC 
mit den 17 Bits (synch_frame.png). Man muss aber hier schon wissen was 
man sucht... das geschulte Auge mag vielleicht auch die Kodierung noch 
erkennen (Manchester?). Nach den 17 Bits folgen ja dann die Bytes laut 
Protokoll.

Für solche Signale sind SDRs doch eher unnötig, wenn nicht sogar 
sinnlos? Das wäre doch was für einen Logik-Analyzer.

: Bearbeitet durch User
von Dieter S. (ds1)


Lesenswert?

Olli Z. schrieb:
>
> Für solche Signale sind SDRs doch eher unnötig, wenn nicht sogar
> sinnlos? Das wäre doch was für einen Logik-Analyzer.

Wer lesen kann, ist klar im Vorteil:

Beitrag "Re: 125 KHz Signal"

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Ich wollte den SDR auch nur nutzen um das Signal aufzuzeichnen und 
dann
auszuwerten ...

von Olli Z. (z80freak)


Lesenswert?

Ich habe versucht mich über das Thema RFID aufzuschlauen, hatte damit 
bislang keine Berührungspunkte. Wenn ich es richtig verstanden habe 
funktioniert die Kommunikation so, das sich der passive Transponder in 
erster Linie aus dem mit 125 kHz getakteten Magnetfeld des Lesegerätes 
speist. Im Grunde ist das Prinzip das eines Übertragers/Trafos ohne 
Ferritkern. Das Magnetfeld der Spule des Lesegerätes induziert eine 
Spannung in der Spule des Empfängers und des darauf befindlichen 
Mikrochips. Damit der seine Daten senden kann schließt er für eine 
logische "0" die Empfangsspule für die Dauer eines Symbols (8 µS) kurz. 
Das bewirkt in der Spule des Lesegerätes einen Spannungsabfall der 
Amplitude. Dieses erkennt den Unterschied und liefert am Ausgang der 
AM-Demodulationsstufe eine 0.

Somit aber wäre ja mein Ansatz eine herkömmliche LF RFID-Leseplatine für 
den Empfang der LF-Botschaft eines RDKS-Systems zu verwenden falsch? Zum 
auslesen/mitschneiden ist sicher ein guter Teil der Schaltung sinnvoll, 
also (1) und zumindest der Teil bis hinter die Diode von (2).

Was dann danach bis zum OpAmp folgt ist vermutlich schon auf die 
AM-Demodulation ausgerichtet und nicht mehr sinnvoll? Die OpAmp-Stufe 
mit dem Transistor ist dann sicher auch falsch dimensioniert.

Das ist damit ein Ergebnis erhalten habe könnte ein Stück weit Zufall 
sein. Das Binärsignal von meinem Handsender sieht zwar gut aus, aber es 
lies sich nicht mit Manchester ordentlich dekodieren, zumindest hatte 
die LA-Software damit so ihre Probleme...

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.