Bosch CJ125 mit AVR AT90CAN64

OP #8078288
Lesenswert?

Hallo Leute,

Und zwar bin ich schon einiger Zeit am tüfteln, wie ich aus einem CJ125 Lambdacontroller plausible Werte bekomme.

Die Grundlage zu diesem Projekt ist ein CJ125 Lambdacontroller von Bosch. Ausgewertet wird dieser über einen AVR AT90CAN64. Dieser regelt einen Mosfet mit PWM und steuert die Heizung der Lambdasonde. Der AVR kommuniziert auch über SPI mit dem CJ125. Dass ganze habe ich im KiCad designt, PCB machen lassen und die SMD Bauteile per Hand gelötet.

Die SPI Kommunikation funktioniert grundlegend und nimmt Befehle an, jedoch bekomme ich keine plausiblen UR/UA Werte raus. Der UR Zielwert wird nie erreicht weil der Wert immer gleich auf ca. 870 bleibt obwohl die Heizung auf 100% läuft. Dass verstehe ich nicht, warum dass so ist?

Ich habe mich stark an einem bestehenden Projekt namens "Bylund Lambdashield 2" orientiert, fast alles vom Schaltplan und viel von der Programmierung übernommen, trotzdem komme ich nicht drauf wo der Fehler liegt.

Außerdem habe ich auch schon verschiedene KI Modelle probiert, alles mehrmals durchgemessen aber ohne wirklichen Erfolg. Was jedoch noch sein kann ist, dass der CJ125, den ich via Ebay in China gekauft habe fehlerhaft ist. Leider ist es schwer so einen originalen von Bosch zu bekommen ansonsten hätte ich es schon längst mit einem solchen probiert. Aber falls jemand noch einen übrig hat (am besten in einem LQFP32 Gehäuse), kann er sich gerne bei mir melden.

Wer hat in diesem Gebiet Erfahrung und kann mir helfen? Ich wäre über jeden Hinweis und Hilfe sehr dankbar.

Anbei noch alle dazugehörigen Daten wie Schaltplan, Leiterplatte, einen Log im seriellen monitor und den Sketch. Letzteres habe ich in der Arduino Datei aber auch in ein einfaches Textdokument hochgeladen.

Ich bin nicht direkt vom Fach und habe mir vieles von einer KI zusammenbauen lassen, daher habt bitte etwas Nachsicht mit mir :)

Hoffe nichts vergessen zu haben ansonsten bitte einfach melden.

Danke im Voraus LG Rene

#8078723
Lesenswert?

Heutzutage kosten 4-lagige Platinen beim Chinesen kaum noch Geld, insbesondere wenn man nicht über 100x100mm kommt. Reihenfolge: TOP, GND, +5v, Bottom

Bzgl. Schaltregler: Entweder grundlegend mit der Materie beschäftigen (geeignete Suche vlt. „LM2594 layout example“) oder ein fertiges Modul verwenden.

Messmöglichkeiten Scope / LA etc. vorhanden?

https://www.mikrocontroller.net/articles/Richtiges_Designen_von_Platinenlayouts

: Bearbeitet durch User
#8079006
Lesenswert?

Rene S. schrieb:

Harald A. schrieb:

Messmöglichkeiten Scope / LA etc. vorhanden?

Nein leider. Nur ein herkömmliches Multimeter.

Okay, aber einen LA kannst Du Dir kaufen, die paar Euros sind sicherlich über (10€ für Basic, 70€ für „relativ gut“)

Wenn die GND und 5V Leitungen kreuz und quer durch die beiden Lagen verlaufen so wie es bei mir der Fall ist, kann dass so massive Störungen verursachen so wie es bei mir der Fall ist? Oder wie kann ich mir dass vorstellen?

Ein weites Feld. Du hast jede Leiterbahn als Signal behandelt. Bei reinen Datensignalen kann man - in erster Näherung - auch relativ beliebig verlegen. Bei Strompfaden kommt es darauf an, da fließen Ströme und für eine gute glatte Versorgung muss das ordentlich sein. Ebenso muss die Feedback-Leitung des Schaltreglers gut ausgeführt werden. Man kann das hier nicht alles ausführen, versuche dich mittels von Tutorials und KI in das Thema einzuarbeiten. Ich finde, Du bist auf einem guten Weg, dein Design hat zwar zig Schwächen aber Du bist mal immerhin bis da gekommen.

#8079208
Lesenswert?

Masseverbindungen sind wohl nur was für Idealisten.

Der TO muss zuallererst sich mit dem DRC vertraut machen und akzeptieren, dass fehlende Verbindungen einfach harte Fehler sind. Das kann so nicht funktionieren.

Layout wegwerfen, Bauteile sinnvoll platzieren, 4 lagige Platine, KI abschalten, Hirn einschalten und sich reinknien. Das ist nicht an einem Nachmittag erledigt.

Wenn der ERC und DRC mit Null Fehlern durchläuft, kann er gerne nochmal fragen. Am Besten mit den KiCAD-Files.

Angehängte Dateien:
OP #8079471
Lesenswert?

Nick schrieb:

War die Leiterbahn als Witz geplant?

Die Leiterbahn endet am AT90CAN PDI Pin.

Aufgrund dass es nur eine 2 lagige Platine ist, war ich gezwungen, dass ich die beiden Seiten als Masseflächen nutze. Und dass sich die ganzen Bahnen dann sich Kreuzen und GND Flächen absperren war es nötig Vias zu platzieren die hier den Anschein machen, dass die ins nichts führen bzw. keine Funktion haben. Es wäre wohl besser gewesen, dass ich die KiCad Datei hochgeladen hätte. Beim Nächsten mal dann wie du schon erwähnt hast.

Da diese Herangehensweise u.a. völlig falsch war, bin ich mir bewusst. Ich bin euch für jeden Hinweis dankbar, aber jetzt nur draufhauen bringt mir nichts. Für den "TO" ist es nicht sehr angenehm, und es wäre mir mit konstruktives Feedback deutlich mehr geholfen.

Danke LG

#8079550
Lesenswert?

Rene S. schrieb:

Die Leiterbahn endet am AT90CAN PDI Pin.

Nein, die endet bestenfalls auf Masse (nachdem du das GND-flooding geheim gehalten hast). Das andere Ende geht an den Stecker.

Sollen wir beim Schaltplan weitermachen? TX_CAN und RX_CAN haben beide die gleiche Signalrichtung. CAN_HIGH und CAN_LOW sollte bidirektional sein. Spannungsversorgung ist kein Label sondern ein Symbol ... -> https://www.mikrocontroller.net/articles/Schaltplan_richtig_zeichnen

Rene S. schrieb:

aber jetzt nur draufhauen bringt mir nichts. Für den "TO" ist es nicht sehr angenehm, und es wäre mir mit konstruktives Feedback deutlich mehr geholfen.

Ja, ganz toll gemacht. Mach weiter so!

Was erwartest du? Eine Tafel Schokolade für jeden Fehler? Hinweise in salbungsvolle Worte eingepackt?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren