Lambdasonde, Arduino

Von wegen elektrische Dunkelheit! Hier bitte alles zum Thema elektrische Anlage
Antworten
Benutzeravatar
Tobi_NRW
Super - Member
Beiträge: 194
Registriert: 25. Mär 2017, 15:13
Wohnort: Düsseldorf

Lambdasonde, Arduino

Beitrag von Tobi_NRW » 31. Dez 2021, 17:07

An die Elektroniker im Forum:
Um die Werte meiner Lambdasonde mitzuschreiben habe ich einen Arduino verwendet, der den 0 bis 5 Volt Ausgang der Sonde auf einen Analogpin ausliest und dann auf eine Speicherkarte schreibt. Den Arduino habe ich über USB mit Spannung von meinem Laptop versorgt, weil ich dann (zumindest für den Anfang) auch gleich die Werte über die serielle Schnittstelle sehen kann.

Zunächst habe ich nur die Sonde mit dem Board versorgt und nicht die Fahrzeugmasse mit GND auf dem Board verbunden. Das war natürlich doof von mir. Im Ergebnis hat sich nach 10s alles aufgehängt. Serielle Schnittstelle ließ sich nicht mehr auslesen und die Speicherkarte ist defekt. Sieht so aus als ob ich den AD-Wandler auf der Karte für einen PIN auch getötet habe.

Im zweiten Anlauf habe ich nun zusätzlich GND mit Fzg-Maße verbunden. Gleiches Ergebnis. SD-Karte defekt und nächster Analog-Eingang. Zuhause funktioniert wieder alles. Wenn ich GND und den nächsten Analog-PIN mit einer 1,5V Batterie verbinde, kann ich die Spannung schön auslesen. Noch übler ist allerdings, dass ich dabei die Elektronik in der Lichtmaschine zerstört habe. Auto lässt sich nur Fremdstarten (Batterie in Ordnung) und Zündungslampe geht nicht mehr aus. Wird so langsam ein teurer Spaß.

Bevor ich jetzt die nächste SD-Karte opfere und vor allem die nächste Lichtmaschine riskiere(!) frage ich, ob jemand hiervon Ahnung und eine Idee hat, wie man es besser macht. Eine galvanische Trennung gibts nicht im Ladenregal als Zusatzmodul. Offensichtlich fließen hier große Ströme in beide Richtungen. Wer hat Ahnung?

Guten Rutsch allerseits
Tobias
Triumph Spitfire 1500, schwarz, Baujahr 78, Overdrive, Dunlop 1144.

Benutzeravatar
MiSt
Super - Member
Beiträge: 283
Registriert: 23. Sep 2019, 09:13
Wohnort: Bergen-Enkheim, Hessen

Re: Lambdasonde, Arduino

Beitrag von MiSt » 31. Dez 2021, 18:49

Ohne Verdrahtungsplan des 1. Versuchs, und ergänzend des 2. Versuchs, wird das schwierig :? :shock: .

Ein Lima-Defekt hat mit der Notwendigkeit eines Fremdstarts aber erst mal wenig zu tun.

Was bedeutet "muss fremdgestartet werden"?
Zum Starten braucht es gar keine Lima, nur eine volle Batterie, ein funktionierendes Zündschloss, einen schaltenden Solenoid und einen drehenden Anlasser + Zündfunken/Sprit. Die Lima ist nur dazu da, dass das Auto nicht ausgeht, wenn die Batterie beim Fahren leer wird (woher ich das weiß? Mein anderer Oldie (er hat keine Ladekontrollleuchte :? ) fuhr nach einem Reglerdefekt auf Batterie ... sehr weit! Viele, viele km! Aber nur ohne Licht :-vh )

Dass die Ladekontrollleuchte nicht mehr ausgeht, hat schon eher mit der Elektronik der Lima zu tun (dem Regler). Denn die Ladekontrollleuchte würde ausgehen, wenn die Lima laden würde, was sie offenbar (oder nur anscheinend) nicht (mehr) tut.

Es kann aber auch sein, dass "nun einfach irgendwo" eine Verbindung fehlt. Ggf. auch "durchgebrannt" ist bei der Aktion, wie auch immer.

Für das eigentliche Vorhaben ist eine galvanische Trennung nicht erforderlich.
Michael St*****

Beware the fisherman, who's casting out his line into a dried-up river bed.
Don't try to tell him, 'cos he won't believe you.
Throw some bread to the ducks instead, it's easier that way.


(Tony Banks, Genesis)

Benutzeravatar
Tobi_NRW
Super - Member
Beiträge: 194
Registriert: 25. Mär 2017, 15:13
Wohnort: Düsseldorf

Re: Lambdasonde, Arduino

Beitrag von Tobi_NRW » 1. Jan 2022, 14:20

Hi Michael,

Deine Zweitmeinung: „galv. Trennung nicht erforderlich“ beruhigt mich schon mal. Danke.

Verdrahtung ist straight forward (gnd-> Masse; A0 auf den 0 bis 5V Ausgang der Sondenanzeige). Allerdings könnte es ja auch etwas mit dem Selbstgebauten Drehzahlmesser auf sich haben, den lass ich jetzt erstmal weg und probiere dann nochmal. Das war über einen auf das Zündkabel geklebten Hall-Geber und dann auf „Digital ein“ des Arduino-Boards. Vielleicht hat das „Mords“ Spannungen induziert?

Zur Lima: vielleicht hab ich schon länger ein Problem gehabt (bei Sonne kann es sein, dass mir das Leuchten Zündungsbirne nicht aufgefallen ist. 12,4 Volt an der Batterie ist vielleicht auch nicht mehr genug um zu starten. Der Anlasser hat nur noch kurz gezuckt, aber das reicht nicht zum Starten. Deshalb tippe ich auch auf die Elektronik der Lima. Konnte dann ja auch ohne Probleme ein paar Kilometer nachhause fahren. Ich messe die Kabel noch mal alle durch. Vielleicht liegt’s ja da dran?

Offene Frage bleibt für mich halt immer noch, was da passiert ist, und momentan kann ich mir das nur Evtl. über den aufgeklebten Hallsensor erklären, der dann ne ordentliche Spannung auf das Arduino gegeben hat und die wiederum auf das Bordnetz. Aber richtig logisch ist das noch nicht, und ich würde ungern weitermachen, bevor ich’s nicht verstehe. Ich suche mal weiter.

Andere Frage: Gibt es denn die Möglichkeit nur die Elektronik der Lima auszutauschen? Ein Ersatzteil bei den gängigen Händlern hab ich nicht gefunden.

Tobias
Triumph Spitfire 1500, schwarz, Baujahr 78, Overdrive, Dunlop 1144.

Benutzeravatar
MiSt
Super - Member
Beiträge: 283
Registriert: 23. Sep 2019, 09:13
Wohnort: Bergen-Enkheim, Hessen

Re: Lambdasonde, Arduino

Beitrag von MiSt » 1. Jan 2022, 15:25

Also, zwischen den "5V-Ausgang" und den Analogeingang des Arduino hast du hoffentlich einen Längswiderstand geschaltet? 10k ist für sowas immer OK. Sinn ist, dass im Falle einer höheren Spannung am Eingang als die Versorgung des uC, oder einer niedrigeren als GND (= "Groundshift"), der Strom über die Substratdioden (inhärenten Dioden von CMOS) begrenzt wird (streng genommen darf da laut Atmel sogar gar kein Strom fließen, siehe Datenblatt, also muss eigentlich je eine Schottkydiode vom Eingangspin nach +5V/GND, natürlich jeweils in Sperrrichtung). Es geht aber in der Praxis auch mit Strombegrenzung.

Ohne aber nicht, ohne so einen Längswiderstand zerstören beide Szenarien den Pin, u.U. den ganzen Controller, ggf. hier die SD-Karte bzw. deren On-Board-Elektronik, wenn wiederum deren Absolute Maximum Ratings verletzt werden.

Hallsensor/Zündung/Spannung:
Spannung, auch hohe, ist per se kein Problem. Erst wenn sie auch genügend Energie bereitstellt, wird sie ggf. zum Problem. Ohne Energie kein Bumm - vereinfacht gesagt, auch wenn ESD bei CMOS durchaus ein Thema ist (hauptsächlich eher: war). Auch hier könnte sich ein Schutz des Arduino-Pins mit Längswiderstand/ggf. Schottky-Dioden lohnen.

Aber nicht die Lima und die Startprobleme, das ist eine andere Baustelle. Separate Regler gibt es maximal dann zu kaufen, wenn sie an der Lima leicht demontierbar (= gesteckt) sind.

12,4V Leerlauf ist nicht "voll", aber auch nicht "leer". Vorausgesetzt, das Instrument zeigt reelle Werte - logo. Eine Batterie kann im Leerlauf 12,4V haben und beim Startversuch so gut wie keine Spannung (nachmessen!). Dann ist sie aber nicht nur leer, sondern kaputt.
Michael St*****

Beware the fisherman, who's casting out his line into a dried-up river bed.
Don't try to tell him, 'cos he won't believe you.
Throw some bread to the ducks instead, it's easier that way.


(Tony Banks, Genesis)

Benutzeravatar
Tobi_NRW
Super - Member
Beiträge: 194
Registriert: 25. Mär 2017, 15:13
Wohnort: Düsseldorf

Re: Lambdasonde, Arduino

Beitrag von Tobi_NRW » 1. Jan 2022, 17:47

„Also, zwischen den "5V-Ausgang" und den Analogeingang des Arduino hast du hoffentlich einen Längswiderstand geschaltet? […].
ohne so einen Längswiderstand zerstören beide Szenarien den Pin, u.U. den ganzen Controller, ggf. hier die SD-Karte bzw. deren On-Board-Elektronik…“

Ähem, hatte ich nicht gemacht. Danke! Wird sofort geändert. :roll:
Triumph Spitfire 1500, schwarz, Baujahr 78, Overdrive, Dunlop 1144.

Benutzeravatar
14Vorbesitzer
Überflieger
Beiträge: 3201
Registriert: 26. Sep 2011, 15:19
Wohnort: Witten

Re: Lambdasonde, Arduino

Beitrag von 14Vorbesitzer » 1. Jan 2022, 18:39

Korrigiert mich, wenn ich falsch liege:
Es hängt vom Typ der Lambdasonde ab wie die angesteuert werden. Die Sprungsonden ( hier wenig geeignet) können theoretisch mit einem hochohmigen Eingang per analogem Volteingang ausgelesen werden.
Die " Breitband Sonden" werden über eine Ladungspumpenschaltung angesteuert. D.h. Es wird ein Strom angelegt, gerade so viel bis die Spannung gerade " Null" wird. Die Messgrösse ist also der Strom, der dann natürlich über einen Stunt Widerstand in eine Spannung übersetzt werden kann.

LG
Volker
"The Triumph Spitfire Mk. 4. A car that echoes your go-ahead personality ; that is not only fun to drive, great to be seen in, and so good to look at, but immensely practical and reliable." BL Publ. No. T. 1039/1.74

Benutzeravatar
Tobi_NRW
Super - Member
Beiträge: 194
Registriert: 25. Mär 2017, 15:13
Wohnort: Düsseldorf

Re: Lambdasonde, Arduino

Beitrag von Tobi_NRW » 1. Jan 2022, 19:07

Volker: ist ne breitbandsonde mit Anzeige und Auswerteeinheit. Ich interessiere mich für das 0 bis 5V Signal der Einheit, nicht der Sonde. Umrechnung des Sondensignals erfolgt also in der Anzeige. Mir geht’s nur darum den angezeigten Wert nicht beim Fahren parallel aufschreiben zu müssen ;-)
Triumph Spitfire 1500, schwarz, Baujahr 78, Overdrive, Dunlop 1144.

Benutzeravatar
14Vorbesitzer
Überflieger
Beiträge: 3201
Registriert: 26. Sep 2011, 15:19
Wohnort: Witten

Re: Lambdasonde, Arduino

Beitrag von 14Vorbesitzer » 1. Jan 2022, 19:41

Alles klar :happywink: !

LG
Volker
"The Triumph Spitfire Mk. 4. A car that echoes your go-ahead personality ; that is not only fun to drive, great to be seen in, and so good to look at, but immensely practical and reliable." BL Publ. No. T. 1039/1.74

danxk2
Super - Member
Beiträge: 154
Registriert: 5. Feb 2021, 17:32
Wohnort: Karlsruhe

Re: Lambdasonde, Arduino

Beitrag von danxk2 » 3. Jan 2022, 15:25

Hallo,

ich habe das gleiche Projekt in 2020 umgesetzt:
* Breitbandlambdasonde(n) mit Controller (s. https://www.14point7.com/products/spart ... ntroller-2)
* Arduino Nano
* Serial Monitor via USB am Laptop

Der Arduino bezieht seinen Strom über Vin und Gnd vom Auto mit dieser Schaltung, die die Spannungsspitzen rausfiltert:
Capture.JPG
Disclaimer: ich bin blutiger Elektronikamateur, deshalb auf eigenes Risiko anwenden!

Das USB-Kabel muss einen Ferritkern haben, z.B.: https://www.rm-computertechnik.de/UK41/ ... tkern.html

Viel Erfolg :-)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
Tobi_NRW
Super - Member
Beiträge: 194
Registriert: 25. Mär 2017, 15:13
Wohnort: Düsseldorf

Re: Lambdasonde, Arduino

Beitrag von Tobi_NRW » 3. Jan 2022, 21:43

Hi Danxk2,

die Abbildung zeigt „nur“ die Stromversorgung des Nano aus dem 12V-Boardnetz und nicht den Abgriff des Signals von der Sonde, korrekt?

Tobias
Triumph Spitfire 1500, schwarz, Baujahr 78, Overdrive, Dunlop 1144.

danxk2
Super - Member
Beiträge: 154
Registriert: 5. Feb 2021, 17:32
Wohnort: Karlsruhe

Re: Lambdasonde, Arduino

Beitrag von danxk2 » 3. Jan 2022, 22:05

Hallo Tobi,
korrekt, das Schema zeigt nur die Aufbereitung der Bordspannung, die dann beim Output "+12V" bereitsteht.
Falls es Dich interessiert: anstatt Hallgeber benutze ich einen kapazitiven Sensor fürs Abgreifen der Drehzahl am Zündkabel. Kann Dir das Schema hier reinposten. Das Signal geht dann an einen Interrupteingang des Arduino.
Gruss

Benutzeravatar
kamphausen
Kindergärtner
Beiträge: 1463
Registriert: 31. Dez 2016, 09:27
Wohnort: Essen
Kontaktdaten:

Re: Lambdasonde, Arduino

Beitrag von kamphausen » 3. Jan 2022, 22:18

Trick 17: Video...

Nimm den Lambdawert auf Video auf und kommentier dabei, was Du gerade machst....
Vollgas
Motorbremse
Konstantfahrt
...

Am besten noch gleich Drehzahl und Tacho mti auf´s Bild...

Ansonsten kannste Dir ja auch die Luftdruckwerte des vergangenen Monats auf der Zugspitze anschauen...
Apropos Luftdruck: Ich würd direkt noch den Unterdruck mit aufzeichnen...

Benutzeravatar
Tobi_NRW
Super - Member
Beiträge: 194
Registriert: 25. Mär 2017, 15:13
Wohnort: Düsseldorf

Re: Lambdasonde, Arduino

Beitrag von Tobi_NRW » 3. Jan 2022, 23:19

Hi Danxk2, ich hab die ersten Versuche mit nem Hallgeber gemacht, auch über einen interrupt die Änderungen gezählt, hatte aber beim ersten Testen den Eindruck, dass es bei höheren Drehzahlen nicht mehr passt. Von daher würd mich deine Variante mit kapazitiver Sonde schon interessieren, und auch welche du verwendet hast.

Hi Peter, mit der handykamera hatte ich das bisher gemacht und dann auf Zeitlupe hinterher die Werte in Excel abgetippt. Ist aber recht mühsam, vor allem wenn man mehrere Fahrten zum Beispiel mit unterschiedlichen Federn o.ä. vergleichen will. Die Frage der Sinnhaftigkeit (wie ich zwischen deinen Zeilen lese) kann man sich immer stellen. Macht mir halt Spaß. [off-topic: Dein Diff ist übrigens überholt, eingebaut und läuft super]

Tobias
Triumph Spitfire 1500, schwarz, Baujahr 78, Overdrive, Dunlop 1144.

Benutzeravatar
Armin_P
Super - Member
Beiträge: 423
Registriert: 14. Jun 2017, 18:09
Wohnort: Österreich
Kontaktdaten:

Re: Lambdasonde, Arduino

Beitrag von Armin_P » 4. Jan 2022, 07:16

Hallo Leute,
das ist ein schönes Thema!

Ich bin auch schon seit vielen Monaten dabei, mir ein ESP32/Arduino basierendes System zur Überwachung bestimmter Parameter zu bauen.
Leider komme ich zeitlich nicht weiter, aber Heuer möchte ich vor meinem Italienurlaub schon etwas eingebaut haben...

Zum Thema Spannungsversorgung im Auto verfolge ich einen etwas pragmatischeren Weg, ich verwende einfach ein KFZ-Bordnetzteil mit 5V (USB) Ausgang. Was für ein GPS/Mobiltelefon ausreicht, passt IMHO auch für einen µC. (Einen Stütz-Elko zwischen + und GND verbaue ich zusätzlich noch).

Ich möchte auch meine Zeitronix-Lambdasonde seriell auslesen und mit einer OLED darstellen, bzw. als CSV auf eine SD-Karte speichern.
Den Code habe ich irgendwo herumliegen, aber noch nichts damit gemacht.

Drehzahlmessung habe ich voriges Jahr zumindest schon auf einem Bread-Bord getestet, das funktioniert kapazitiv sehr gut, der Code hat allerdings eine "Torzeit" von ~1-2 Sek, soweit ich mich erinnere (ja nach counts, mehr = genauerer Wert dafür langsamere Ausgabe).
Meine ersten Versuche mit einer Kroko-Klemme am Zündkabel waren nicht so vielversprechend, mit einem durchschnittenen Kupferrohr als Taster für die Impulse funktioniert das Ganze sehr gut.
Verglichen habe ich die Messwerte mit meiner Zündpistole - die Werte waren mit einem Messunterschied von +/- 10-20 U/min sehr nahe beinander.
Arduino Drehzahlmesser kapazitiv-s.jpg
Die Schaltung habe ich von den Kollegen vom Microkontroller-Forum geborgt: https://www.mikrocontroller.net/topic/469598
Die Library habe ich von hier: https://www.pjrc.com/teensy/td_libs_FreqMeasure.html

Code: Alles auswählen

/* FreqMeasure - Example with serial output
 * http://www.pjrc.com/teensy/td_libs_FreqMeasure.html
 *
 * This example code is in the public domain.
 * 
 * ARMIN 2021
 * Arduino Nano is also PIN 8 (FreqIn)
 */
#include <FreqMeasure.h>

void setup()
  {
  Serial.begin(115200);
  Serial.println("Starting frequency measurement!");
  Serial.println("(FreqMeasurement Library by Paul Stoffregen");

  FreqMeasure.begin();
  }

double sum = 0;
int count = 0;

void loop()
  {
  if (FreqMeasure.available())
    {
    // average several reading together
    sum = sum + FreqMeasure.read();
    count = count + 1;
    if (count > 10)   // 15 cycles ca. 318 ms cycling (21, 866 ms per cycle)
      {
      float frequency = FreqMeasure.countToFrequency(sum / count);
      Serial.println(frequency);
      sum = 0;
      count = 0;
      }
    }
    
  }
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
herzliche Grüße, Armin
http://www.Armin-Pressler.at

Benutzeravatar
kamphausen
Kindergärtner
Beiträge: 1463
Registriert: 31. Dez 2016, 09:27
Wohnort: Essen
Kontaktdaten:

Re: Lambdasonde, Arduino

Beitrag von kamphausen » 4. Jan 2022, 08:14

Ich geh davon aus, das ihr den Aufwand treibt, um den Motor richtig abstimmen zu können....
Selber Basteln ist ja schön...aber ich würd mir nen Speeduino holen....kostet nicht die Welt und man kann ordentliche Auswertungssoftware aus dem Megasquirt-Regal verwenden....

Da kann man dann Drosselklappenstellung, Unterdruck, Lambda, Drehzahl etc. in Bezug zueinander bringen....man braucht auch kein Triggerwheel sondern kann das normale Masse-Signal vom Verteiler verwenden...

Bei meinem Umbau des TR6 PI hab ich auch erst mal mit der Megasquirt nur Werte erfaßt, bevor ich einzelne Dinge von der Megasquirt habe steuern lassen...

Peter

Antworten