Autor Thema: Fehlerschaltung für BUS-System erstellen  (Gelesen 288 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Inferno

  • Lv 5: Premium Member
  • ****
  • Offline Offline
  • Beiträge: 613
  • Geschlecht: Männlich
    • Profil anzeigen
    • Infernos PS2 page
Fehlerschaltung für BUS-System erstellen
« am: 28. August 2017, 11:56:10 »
Hallo,

Da ich ja nun im 2. Technikerjahrgang (KFZ-Technik) bin und nun die Projektarbeit ansteht, hab ich mir überlegt eine CAN-Datenbus-Modellwand mit Fehlerschaltungen zu bauen.

Die Steuergeräte werden von einem Schlachtfahrzeug genommen. Mögliche Fehlerbilder wären: Unterbrechung von CAN-Low / High, Kurzschluss High/Low, Kurzschluss nach Masse, Kurzschluss nach Plus, erhöhter Leitungswiderstand, ggf. auch noch mehr.

Problem an der Sache ist nun, wie ich eine Schaltung konstruiere die nur einen Fehler gleichzeitig zulässt, also zumindest dass kein Kurzschluss nach Masse/Plus gleichzeitig schaltbar ist.

Überlegung wäre ein Mikroprozessor dazu, allerdings habe ich keine Ahnung wie man diesen programmiert und welchen man benutzt dafür. Gibt es da Tutorials? Kennt sich einer damit aus?

Vielen Dank schonmal!

Grüße

PS2 V7 M.I 80GB WD
PS2 V13 Crystal 2.0Pro
Xbox V1.1 mit originalem DuoX2
NDS + Flashme V7 + EZ FLASH IV 512MB

Xbox360

RalleBert

  • Das Leben ist zu kurz für schlechten Kaffee.
  • Global Moderator
  • Lv 99: Freak
  • *****
  • Offline Offline
  • Beiträge: 5913
  • Geschlecht: Männlich
  • Kurzschlussfest ist kein Feiertag des Elektrikers!
    • Profil anzeigen
    • Testpage
Re: Fehlerschaltung für BUS-System erstellen
« Antwort #1 am: 28. August 2017, 20:06:43 »
Hmm, wieviele Fehler insgesammt willst Du denn simulieren? Das wäre ja dann auch interessant zu wissen, um eine anwendbare Lösung zu finden.
Idee: Man könnte es ganz einfach mittels Steckbuchsen machen, da muß man dann halt aufpassen, das man keinen Kurzschluss schaltet. Ansonsten mit verriegelten Relais, um ohne Programmieraufwand davon zu kommen, eventuell Logikgatter.

- veni, vidi, ferruminavi -
- ich kam, ich sah, ich lötete -

Inferno

  • Lv 5: Premium Member
  • ****
  • Offline Offline
  • Beiträge: 613
  • Geschlecht: Männlich
    • Profil anzeigen
    • Infernos PS2 page
Re: Fehlerschaltung für BUS-System erstellen
« Antwort #2 am: 28. August 2017, 20:24:57 »
Also Fehler Ingesamt dürften sich so auf 8 belaufen. Eventuell auch 10, muss ich noch morgen mit dem Kollegen genau besprechen.

Ich les mich auch gerne in die Materie ein, Abgabedatum ist der 31.01.2017, somit ist da auch noch Zeit und zwischendurch auch Ferien. Daran solls nicht scheitern, wenn es den mit Mikroprozessor am besten ginge.

Steckbuchsen scheiden aus, da die Azubis 99,9% einen Kurzschluss damit bauen und somit mehrere Bauteile töten werden. Also wenn Steckbuchsen, dann nur um die Leitungsunterbrechung zu Simulieren.


PS2 V7 M.I 80GB WD
PS2 V13 Crystal 2.0Pro
Xbox V1.1 mit originalem DuoX2
NDS + Flashme V7 + EZ FLASH IV 512MB

Xbox360

Takeshi

  • Administrator
  • Lv 99: Freak
  • *****
  • Online Online
  • Beiträge: 27829
  • Geschlecht: Männlich
    • Profil anzeigen
    • trisaster.de
Re: Fehlerschaltung für BUS-System erstellen
« Antwort #3 am: 29. August 2017, 11:53:39 »
Logik-Gatter sind schon keine so schlechte Idee. Du kannst einen MOSFET nach Masse schalten und einen zur Versorgung. Du kannst dann den Pegel beider MOSFETs mit einem Logikgatter äußeren. Nehmen wir als Beispiel den für Masse. Du nimmst ein externes Signal (high oder low) für diesen MOSFET, gibst es auf ein Logikgatter und gehst mit dem Ausgang auf den MOSFET. Außerdem gibst du den Ausgang des Logikgatters für den MOSFET an der Versorgung auch noch mit auf das Logikgatter des Masse- MOSFETs. Nur wenn das direkte Ansteuersignal des oberen "aus" ist, lässt sich der untere einschalten. Ich kann das, wenn du magst, auch später kurz aufzeichnen.
So kannst du verschiedene Szenarien simulieren und verhinderst direkt, dass mehrere an sind, die nicht gleichzeitig an sein dürfen. Nachvollziehbar ist das auch leichter als mit einem Mikrocontroller.

Inferno

  • Lv 5: Premium Member
  • ****
  • Offline Offline
  • Beiträge: 613
  • Geschlecht: Männlich
    • Profil anzeigen
    • Infernos PS2 page
Re: Fehlerschaltung für BUS-System erstellen
« Antwort #4 am: 29. August 2017, 19:46:33 »
Das klingt gut! Da würde der Programmieraufwand entfallen und ich kann keinen direkt Kurzschluss von Masse und Plus herstellen.

Um die Skizze würde ich dich bitte, ich kann mir das zwar schon vorstellen, allerdings mit der Skizze schon Skizzen anfertigen wie ich mir das später vorstelle.

Danke!

PS2 V7 M.I 80GB WD
PS2 V13 Crystal 2.0Pro
Xbox V1.1 mit originalem DuoX2
NDS + Flashme V7 + EZ FLASH IV 512MB

Xbox360

Takeshi

  • Administrator
  • Lv 99: Freak
  • *****
  • Online Online
  • Beiträge: 27829
  • Geschlecht: Männlich
    • Profil anzeigen
    • trisaster.de
Re: Fehlerschaltung für BUS-System erstellen
« Antwort #5 am: 31. August 2017, 08:16:50 »
Ich kam bisher noch nicht dazu, aber das kommt noch.

Takeshi

  • Administrator
  • Lv 99: Freak
  • *****
  • Online Online
  • Beiträge: 27829
  • Geschlecht: Männlich
    • Profil anzeigen
    • trisaster.de
Re: Fehlerschaltung für BUS-System erstellen
« Antwort #6 am: 01. September 2017, 22:49:28 »
So, habe es nun einmal als Blockschaltbild gezeichnet, siehe Anhang.

Signal 1 und 2 sind deine Ansteuersignale-um Fehler zu simulieren.

Jeder Logik-Block geht auf einen MOSFET und hat als Eingang (A) eines der erwähnten Steuer-Signale. Weitere Eingänge sind die Ausgänge anderer Logik-Blöcke, deren Zustand einen Einfluss auf diesen Block haben soll. In diesem einfachen Fall ist es der jeweils andere Block. Wenn du aber noch weitere Blöcke hast (zum Beispiel Kurzschluss dieses Signals zu anderem Bus-Signal oder Kurzschluss des anderesn Bus-Signals gegen Vcc/GND), können die ebenfalls darauf einwirken, müssen aber nicht.

Der MOSFET stellt eine Brücke zwischen den beiden Anschlüssen dar, fungiert als schalter.

Die Logik für die beiden Blöcke ist hier natürlich (erst mal) gleich. Der Ausgang Q soll logisch 1 sein, wenn A ebenfalls 1 und B dagegen 0 ist, andernfalls soll der Ausgang 0 sein. In Programmiersprache wäre das
Q = A & !B
(A und nicht-B)
Du brauchst also ein AND-Gatter mit zwei Eingängen und einen Invertierer für B. Ein Invertierer ist ein Schmitt-Trigger.
Jetzt stellt sich noch die Frage, ob du einen P-MOS oder N-MOS verwendest, oder gar einen Analogschalter. Bei dem MOSFET 2 gegen GND kannst du super einen N-MOS verwenden, bei dem MOSFET 1 gegen Vcc wird es schwieriger, da das Ansteuersignal ja höher sein muss als das Source-Potential und Source wäre auf dem Signal, kann damit schwanken und eventuell sogar größer werden als das digitale Signal des Logik-Gatters. Aber das Problem hast du unabhängig davon, ob du das mit Logik-Gattern oder einem Mikrocontroller realisierst.
Ein Analog-Schalter hat den Vorteil, dass er richtungsunabhängig ist, du kannst immer einen High-Pegel auf den Eingang geben, die Pegel der Ausgänge sind egal, sollten nur zwischen GND und Vcc liegen.

(Hab mir noch das originale Diagramm-Bild hinzugefügt, falls ich noch was ändern muss)

Inferno

  • Lv 5: Premium Member
  • ****
  • Offline Offline
  • Beiträge: 613
  • Geschlecht: Männlich
    • Profil anzeigen
    • Infernos PS2 page
Re: Fehlerschaltung für BUS-System erstellen
« Antwort #7 am: 05. September 2017, 19:33:14 »
Danke!

Sehe ich das richtig, dass ich als Signal 1 und Signal 2 einfache Kippschalter nutzen könnte? Also für das Ansteuerungssignal der Logik-Bausteine?

Gibt es ein ein gutes Simulationsprogramm für die Schaltung? In der Schule nutzen wir Yenka, allerdings weiß ich nicht ob damit der Schaltplan + Testlauf simulierbar wäre.

Ob P-MOS oder N-MOS, der BUS liefert Spannungsspitzen von ~4-5V. Ich habe allerdings 5V und 12V zur Verfügung, da ich das ganze mit PC-Netzteil bestromt werden soll.


PS2 V7 M.I 80GB WD
PS2 V13 Crystal 2.0Pro
Xbox V1.1 mit originalem DuoX2
NDS + Flashme V7 + EZ FLASH IV 512MB

Xbox360

Takeshi

  • Administrator
  • Lv 99: Freak
  • *****
  • Online Online
  • Beiträge: 27829
  • Geschlecht: Männlich
    • Profil anzeigen
    • trisaster.de
Re: Fehlerschaltung für BUS-System erstellen
« Antwort #8 am: 05. September 2017, 23:58:36 »
Du kannst für die Signale einen Kippschalter oder auch Taster verwenden, einen Jumper, was du magst. Wen du etwas verwendest, das einen Kurzschluss macht (also genannte Dinge), dann setzt du am besten einen Widerstand an das Signal gegen GND (Pull-Down-Widerstand genannt), der kann 10 kΩ haben. Mit einem Schalter schließt du dann das Signal mit der Versorgungsspannung kurz. So hast du immer einen definierten Pegel. Mit einem Kippschalter zwischen zwei Pegeln umzuschalten ist nicht sicher, da die Schalter prellen und manche für kurze Zeit gar nichts verbinden.

Zur Schaltungssimulation nutze ich meistens LTSpice.

Die meisten Logik-Bausteine gehen eh nur bis 5 V.

Inferno

  • Lv 5: Premium Member
  • ****
  • Offline Offline
  • Beiträge: 613
  • Geschlecht: Männlich
    • Profil anzeigen
    • Infernos PS2 page
Re: Fehlerschaltung für BUS-System erstellen
« Antwort #9 am: 05. Dezember 2017, 12:13:31 »
Also, der Prototyp der Wand hab ich erstmal fertiggestellt. Funktioniert soweit auch. Nun gehts ans bestellen für die Fehlerschaltungen.

Ich würde das ganze nun so Aufbauen:

Unterbrechung CAN-LOW -> Wippschalter
Unterbrechung CAN-High -> Wippschalter
CAN-LOW mit Widerstand -> Wippschalter mit 300Ohm Widerstand
Kurzschluss High/Low -> Wippschalter
Kurzschluss High -> VCC/GND -> wie von dir beschrieben.
Kurzschluss Low -> VCC/GND -> wie von dir beschrieben.

Realisiert hätte ich das nun mit einer Lochrasterplatine, IC_GATE_AND_2_IN_NC7SZ08M5X, dem Pulldown Widerstand mit 10kOhm + Wippschalter an Logic Eingang A.

Das IC werde ich 2x benötigen wenn ich das richtig sehe? Welchen Mosfet nehme ich nun am besten? Der Schmitt-Trigger fehlt wohl auch noch.

Hast du da noch n Tipp?

Danke!

PS2 V7 M.I 80GB WD
PS2 V13 Crystal 2.0Pro
Xbox V1.1 mit originalem DuoX2
NDS + Flashme V7 + EZ FLASH IV 512MB

Xbox360

Takeshi

  • Administrator
  • Lv 99: Freak
  • *****
  • Online Online
  • Beiträge: 27829
  • Geschlecht: Männlich
    • Profil anzeigen
    • trisaster.de
Re: Fehlerschaltung für BUS-System erstellen
« Antwort #10 am: 05. Dezember 2017, 18:41:39 »
Dabei gibt es noch ein kritisches Szenario. Du Kannst eine Datenleitung gegen Masse, die andere gegen Vcc kurzschließen und gleichzeitig die beiden Datenleitungen kurzschließen, womit du einen Kurzschluss der Versorgung hättest. Da musst du wissen, ob du diesen Fehler abfangen willst.

Um zu entscheiden, welche MOSFETs du da verwenden kannst, müsste man wissen, was für ein maximaler Strom bei Kurzschluss fließt. Als Kleinsignal-MOSFET kannst du den BSS123 (N-MOS) und BSS84 (P-MOS) verwenden, das sind Wald-und-Wiesen-Transistoren.

Der MOSFET 1 müsste ja ein P-MOS sein, heißt er schaltet, wenn er auf LOW gezogen wird. MOSFET 2 ist ein N-MOS und schaltet durch, wenn er HIGH ist.
Damit darf die Logik 1 nur dann eine 0 ausgeben, wenn B 0 ist. Da wäre es schlau das Signal A low-aktiv zu machen. Dann wäre das ein OR-Gatter.
Die Logik 2 dagegen darf nur dann 1 ausgeben, wenn B 1 ist. Hier ergibt es Sinn den Eingang A high-aktiv zu machen, womit hier ein AND-Gatter rauskommt.

Hier findest du die Bezeichnungen der Logikgatter.
74HC1G08 und 74HC1G32 wären ja jetzt optimal für dich, aber weiß nicht, ob du mit dem Gehäuse was anfangen kannst.

Inferno

  • Lv 5: Premium Member
  • ****
  • Offline Offline
  • Beiträge: 613
  • Geschlecht: Männlich
    • Profil anzeigen
    • Infernos PS2 page
Re: Fehlerschaltung für BUS-System erstellen
« Antwort #11 am: 06. Dezember 2017, 21:10:12 »
Stimmt, bei den Szenario bräucht ich wohl vorher noch ein NAND-Gatter, damit nur eines zeitgleich geschaltet werden kann?  Wenn ich nach der Logik-Tabelle gehe wäre das Ja:

Kein Fehler -> Signal
Fehler 1 an Fehler 2 aus -> Signal
Fehler 2 an, Fehler 1 Aus -> Signal
Fehler 1 + 2 an -> kein Signal.

An welche Pins würde den welches Signal am P-MOS kommen? Damit ich mir mal Handschriftlich einen Schaltplan skizzieren kann. Hatte mit MOSFET nie viel zu tun.

Der Kurzschlussstrom wird denke ich nicht hoch sein, da ja keine richtigen Verbraucher mit dran hängen. Am besten aber den Kurzschluss mal mit Multimeter messen?

Das Gehäuse ist denk ich kein Problem, notfalls muss man eben eine Platine entwerfen. Wird auch noch irgendwie gehen.

PS2 V7 M.I 80GB WD
PS2 V13 Crystal 2.0Pro
Xbox V1.1 mit originalem DuoX2
NDS + Flashme V7 + EZ FLASH IV 512MB

Xbox360

Takeshi

  • Administrator
  • Lv 99: Freak
  • *****
  • Online Online
  • Beiträge: 27829
  • Geschlecht: Männlich
    • Profil anzeigen
    • trisaster.de
Re: Fehlerschaltung für BUS-System erstellen
« Antwort #12 am: 12. Dezember 2017, 22:39:58 »
Entschuldige, dass ich noch nicht geantwortet habe, war mir bisher zu komplex, so dass ich dafür noch keine Zeit gefunden habe. Kommt aber noch, Tab ist offen.