Habe heute folgende Hardware geschrottet * Hardware hat sich selbst geschrottet
-
-
65/90W reicht
-
Verdammt, wollte grad auf meinem Xp1700 NFS Underground installieren, da hats mir die HDD gehimmelt
-
Ein kleines bisschen warm geworden:
Ist ein TIP122, ein Darlington NPN.
Hockt hier drauf:
Ist eine 6-fach Weichensteuerung für ne H0 Anlage auf Basis von einem Raspberry Pi Pico. Jeweils 2 Kanäle pro Weiche. Eine Weiche hatte nen Kurzschluss. Netzteil liefert 18V und reichlich Strom.
Kurzschluss beseitigt und Transistor ausgetauscht --> funktioniert wieder.
-
Diese Magnetweichen - das habe ich nie hingekriegt, ohne dass sich der Arduino resettet, trotz Relaiskarte. Hab dann auf Servos umgebaut.
Aber rein aus Interesse, hast du die Schaltung parat? Sieht ja sehr simpel aus. Die TIP12x kann man ja direkt vom uC aus ansteuern, wenn ich mich recht erinnere.
-
Ein kleines bisschen warm geworden:
Ist ein TIP122, ein Darlington NPN.
Hockt hier drauf:
Ist eine 6-fach Weichensteuerung für ne H0 Anlage auf Basis von einem Raspberry Pi Pico. Jeweils 2 Kanäle pro Weiche. Eine Weiche hatte nen Kurzschluss. Netzteil liefert 18V und reichlich Strom.
Kurzschluss beseitigt und Transistor ausgetauscht --> funktioniert wieder.
Strombegrenzung einbauen
-
oerk Ja, klar, hier der Schaltplan für eine Weiche, ein Modul kann 6 Weichen ansteuern, habe bisher 7 Module aufgebaut und 4 davon schon installiert. 24 der 37 Weichen schalten Problemlos:
Allerdings nutze ich den Raspberry Pi Pico, da mir der Arduino zu wenig I/Os hat.
Und der Code, kann man sicherlich auch schöner schreiben, aber es funktioniert: EDIT: Code zu lang, Die Nachricht darf nur 10.000 Zeichen enthalten... Deshalb hier der Code nur für die ersten 3 Weichen:
Code
Alles anzeigen/* Weichenansteuerung Eisenbahn V6 V1 --> Test V2 --> funktional, Probleme beim schnellen hin und her --> Weiche kann "falsch" stehen V3 --> Fehlversuch (umstrukturiert, brachte aber nichts) V4 --> funktional, schnelles hin und her ok, Daueransteuerung abwechselnd, wenn beide Inputs HIGH (zum Beispiel bei einem Verdrahtungs-Fehler, Kurzschluss,...) V5 --> funktional, wenn beide Inputs HIGH --> macht nichts Random Zeit beim Initialisieren, damit nicht alle 7 Module gleichzeitig an gehen zwischen 1 und 10s V6 --> Zeit optimiert, 100ms reichen */ int Weichenzeit = 100; //Ansteuerung in ms int Entprellung = 2; //Schleifenzeit reduzieren, bei "0" wird manchmal die Prällung beim Öffnen mit gezählt int Entprellung2 = 50; //Entprellungszeit nach erstem "High" int Schleife = 0; //Schleifenzähler int Schleifenanzahl = 50; //Schleifenanzahl int w1_1_zuvor = 0; int w1_2_zuvor = 0; int w2_1_zuvor = 0; int w2_2_zuvor = 0; int w3_1_zuvor = 0; int w3_2_zuvor = 0; int w4_1_zuvor = 0; int w4_2_zuvor = 0; int w5_1_zuvor = 0; int w5_2_zuvor = 0; int w6_1_zuvor = 0; int w6_2_zuvor = 0; // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(LED_BUILTIN, OUTPUT); //Weiche 1 pinMode(1, INPUT_PULLDOWN); pinMode(2, INPUT_PULLDOWN); pinMode(2, OUTPUT); pinMode(3, OUTPUT); //Weiche 2 pinMode(4, INPUT_PULLDOWN); pinMode(5, INPUT_PULLDOWN); pinMode(6, OUTPUT); pinMode(7, OUTPUT); //Weiche 3 pinMode(8, INPUT_PULLDOWN); pinMode(9, INPUT_PULLDOWN); pinMode(10, OUTPUT); pinMode(11, OUTPUT); //Weiche 4 pinMode(12, INPUT_PULLDOWN); pinMode(13, INPUT_PULLDOWN); pinMode(14, OUTPUT); pinMode(15, OUTPUT); //Weiche 5 pinMode(16, INPUT_PULLDOWN); pinMode(17, INPUT_PULLDOWN); pinMode(18, OUTPUT); pinMode(19, OUTPUT); //Weiche 6 pinMode(20, INPUT_PULLDOWN); pinMode(21, INPUT_PULLDOWN); pinMode(22, OUTPUT); pinMode(26, OUTPUT); //LED pinMode(27, OUTPUT); digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(10, LOW); digitalWrite(11, LOW); digitalWrite(14, LOW); digitalWrite(15, LOW); digitalWrite(18, LOW); digitalWrite(19, LOW); digitalWrite(22, LOW); digitalWrite(26, LOW); Weichenzeit = (Weichenzeit/Schleifenanzahl)-(Entprellung2/Schleifenanzahl); //delay(5000); delay(random(1000,10000)); } // the loop function runs over and over again forever void loop() { delay(Entprellung); //--> Entprellung //Weiche 1: 0;1;2;3 if (digitalRead(0) and digitalRead(1) == HIGH){}else{ if (digitalRead(0) == w1_1_zuvor){ //DI lesen }else { w1_1_zuvor = digitalRead(0); //Zuvor Wert aktualiseren if (digitalRead(0) == HIGH){ digitalWrite(2, HIGH); // Weiche ansteuern digitalWrite(27, HIGH); // LED ansteuern delay(Entprellung2); Schleife = 0; // Schleife zurücksetzen while(Schleife <= Schleifenanzahl and digitalRead(0) == HIGH) { delay(Weichenzeit); Schleife++; } digitalWrite(27, LOW); // LED ansteuern digitalWrite(2, LOW); // Weiche ansteuern w1_2_zuvor = 0; // Andere Stellung zurück setzen } } delay(Entprellung); //--> Entprellung if (digitalRead(1) == w1_2_zuvor){ }else { w1_2_zuvor = digitalRead(1); //Zuvor Wert aktualiseren if (digitalRead(1) == HIGH){ digitalWrite(3, HIGH); // Weiche ansteuern digitalWrite(27, HIGH); // LED ansteuern delay(Entprellung2); Schleife = 0; // Schleife zurücksetzen while(Schleife <= Schleifenanzahl and digitalRead(1) == HIGH) { delay(Weichenzeit); Schleife++; } digitalWrite(27, LOW); // LED ansteuern digitalWrite(3, LOW); // Weiche ansteuern w1_1_zuvor = 0; // Andere Stellung zurück setzen } } } delay(Entprellung); //--> Entprellung //Weiche 2: 4;5;6;7 if (digitalRead(4) and digitalRead(5) == HIGH){}else{ if (digitalRead(4) == w2_1_zuvor){ //DI lesen }else { w2_1_zuvor = digitalRead(4); //Zuvor Wert aktualiseren if (digitalRead(4) == HIGH){ digitalWrite(6, HIGH); // Weiche ansteuern digitalWrite(27, HIGH); // LED ansteuern delay(Entprellung2); Schleife = 0; // Schleife zurücksetzen while(Schleife <= Schleifenanzahl and digitalRead(4) == HIGH) { delay(Weichenzeit); Schleife++; } digitalWrite(27, LOW); // LED ansteuern digitalWrite(6, LOW); // Weiche ansteuern w2_2_zuvor = 0; // Andere Stellung zurück setzen } } delay(Entprellung); //--> Entprellung if (digitalRead(5) == w2_2_zuvor){ //DI lesen }else { w2_2_zuvor = digitalRead(5); //Zuvor Wert aktualiseren if (digitalRead(5) == HIGH){ digitalWrite(7, HIGH); // Weiche ansteuern digitalWrite(27, HIGH); // LED ansteuern delay(Entprellung2); Schleife = 0; // Schleife zurücksetzen while(Schleife <= Schleifenanzahl and digitalRead(5) == HIGH) { delay(Weichenzeit); Schleife++; } digitalWrite(27, LOW); // LED ansteuern digitalWrite(7, LOW); // Weiche ansteuern w2_1_zuvor = 0; // Andere Stellung zurück setzen } } delay(Entprellung); //--> Entprellung } //Weiche 3: 8;9;10;11 if (digitalRead(8) and digitalRead(9) == HIGH){}else{ if (digitalRead(8) == w3_1_zuvor){ //DI lesen }else { w3_1_zuvor = digitalRead(8); //Zuvor Wert aktualiseren if (digitalRead(8) == HIGH){ digitalWrite(10, HIGH); // Weiche ansteuern digitalWrite(27, HIGH); // LED ansteuern delay(Entprellung2); Schleife = 0; // Schleife zurücksetzen while(Schleife <= Schleifenanzahl and digitalRead(8) == HIGH) { delay(Weichenzeit); Schleife++; } digitalWrite(27, LOW); // LED ansteuern digitalWrite(10, LOW); // Weiche ansteuern w3_2_zuvor = 0; // Andere Stellung zurück setzen } } delay(Entprellung); //--> Entprellung if (digitalRead(9) == w3_2_zuvor){ //DI lesen }else { w3_2_zuvor = digitalRead(9); //Zuvor Wert aktualiseren if (digitalRead(9) == HIGH){ digitalWrite(11, HIGH); // Weiche ansteuern digitalWrite(27, HIGH); // LED ansteuern delay(Entprellung2); Schleife = 0; // Schleife zurücksetzen while(Schleife <= Schleifenanzahl and digitalRead(9) == HIGH) { delay(Weichenzeit); Schleife++; } digitalWrite(27, LOW); // LED ansteuern digitalWrite(11, LOW); // Weiche ansteuern w3_1_zuvor = 0; // Andere Stellung zurück setzen } } delay(Entprellung); //--> Entprellung } }
Dafür die Quellcode-Datei:
-
Strombegrenzung einbauen
Ist mir bei 42 möglichen Weichen = 84 Ansteuerungen = 84 Strombegrenzungen zu aufwändig. Zumal bei 18V und einem Sollstrom von mind. 1,5A dann 27W abzuführen wären. Kannst ja einen umsetzbaren Vorschlag unterbreiten. Ich habe keinen gefunden.
Naja, "damals" lag die eingestellte Zeit auch noch bei 500ms. Jetzt bei 100ms. 3...5 x Schalten hatte der Transistor sogar überlebt, bis er thermisch dann durch ging. Durch die Ansteuerung mit 3...4mA begrenzt er den Strom im Kurzschlussfalle auf ca. 4...6A. Aber das macht er halt nicht lange mit.
-
Danke für die ausführliche Erklärung
-
Mal noch eine kurze Frage zu CMOS-RAM-Batterie-Pufferung.... bei meinem 486er Board war kein Varta Akku drin (sah so aus als ob da nie einer drin war), sondern der Platz war halt leer.
Ich habe dann in meiner Verblödung in den leeren Platz einen neuen Akku eingelötet. Danach ist nichts explodiert oder schlechter gelaufen, aber es war kein Effekt vorhanden, CMOS RAM war nach einiger Zeit weiterhin geleert/in den unkonfigurierten Zustand zurückgekehrt. Der Varta Akku hatte aber seine 3.6V ohne Probleme, es lag nicht an dem (neuen) Akku.
Ich habe mir das Mainboard nochmal angeschaut und einen 4-poligen Anschluss für eine externe Batterie gefunden, wobei ein Pin nicht vorhanden ist. Das ist für so einen externen Batterieanschluss auch normal (das ein Pin fehlt). Ich habe aber keinen Jumper gefunden, der von dem internen Akku auf den externen Akku "umschaltet". Ist das normal ?
-
Mal noch eine kurze Frage zu CMOS-RAM-Batterie-Pufferung.... bei meinem 486er Board war kein Varta Akku drin (sah so aus als ob da nie einer drin war), sondern der Platz war halt leer.
Ich habe dann in meiner Verblödung in den leeren Platz einen neuen Akku eingelötet. Danach ist nichts explodiert oder schlechter gelaufen, aber es war kein Effekt vorhanden, CMOS RAM war nach einiger Zeit weiterhin geleert/in den unkonfigurierten Zustand zurückgekehrt. Der Varta Akku hatte aber seine 3.6V ohne Probleme, es lag nicht an dem (neuen) Akku.
Ich habe mir das Mainboard nochmal angeschaut und einen 4-poligen Anschluss für eine externe Batterie gefunden, wobei ein Pin nicht vorhanden ist. Das ist für so einen externen Batterieanschluss auch normal (das ein Pin fehlt). Ich habe aber keinen Jumper gefunden, der von dem internen Akku auf den externen Akku "umschaltet". Ist das normal ?
Das Board hat dann sicher einen Anschluss für eine externe Batterie und einen Jumper um zwischen aufgelötetem Akku und extern umzuschalten.
-
Strombegrenzung einbauen
Ist mir bei 42 möglichen Weichen = 84 Ansteuerungen = 84 Strombegrenzungen zu aufwändig. Zumal bei 18V und einem Sollstrom von mind. 1,5A dann 27W abzuführen wären. Kannst ja einen umsetzbaren Vorschlag unterbreiten. Ich habe keinen gefunden.
Naja, "damals" lag die eingestellte Zeit auch noch bei 500ms. Jetzt bei 100ms. 3...5 x Schalten hatte der Transistor sogar überlebt, bis er thermisch dann durch ging. Durch die Ansteuerung mit 3...4mA begrenzt er den Strom im Kurzschlussfalle auf ca. 4...6A. Aber das macht er halt nicht lange mit.
ok bei 84 Strombegrenzungen wird das viel
Ich hätte den Strom nicht "begrenzt" sondern abgeschaltet. Übe Shunt gemessen, mit Comperator verglichen und dann über Flipflop den Transistor abgeschaltet. Benötigt aber einen Resetknopf zum wieder einschalten. Ist aber auch sehr hoher Aufwand bei 84 Schaltungen.
-
Mal noch eine kurze Frage zu CMOS-RAM-Batterie-Pufferung.... bei meinem 486er Board war kein Varta Akku drin (sah so aus als ob da nie einer drin war), sondern der Platz war halt leer.
Ich habe dann in meiner Verblödung in den leeren Platz einen neuen Akku eingelötet. Danach ist nichts explodiert oder schlechter gelaufen, aber es war kein Effekt vorhanden, CMOS RAM war nach einiger Zeit weiterhin geleert/in den unkonfigurierten Zustand zurückgekehrt. Der Varta Akku hatte aber seine 3.6V ohne Probleme, es lag nicht an dem (neuen) Akku.
Ich habe mir das Mainboard nochmal angeschaut und einen 4-poligen Anschluss für eine externe Batterie gefunden, wobei ein Pin nicht vorhanden ist. Das ist für so einen externen Batterieanschluss auch normal (das ein Pin fehlt). Ich habe aber keinen Jumper gefunden, der von dem internen Akku auf den externen Akku "umschaltet". Ist das normal ?
Das Board hat dann sicher einen Anschluss für eine externe Batterie und einen Jumper um zwischen aufgelötetem Akku und extern umzuschalten.
Ich habe keinen solchen Jumper gefunden...
-
ok bei 84 Strombegrenzungen wird das viel
Ich hätte den Strom nicht "begrenzt" sondern abgeschaltet. Übe Shunt gemessen, mit Comperator verglichen und dann über Flipflop den Transistor abgeschaltet. Benötigt aber einen Resetknopf zum wieder einschalten. Ist aber auch sehr hoher Aufwand bei 84 Schaltungen.
Zumal die Module unten drunter hängen. Da den Reset Knopf raus zu führen. Naja. War nur ein Transistor und da alles Steckbar gebaut ist war es auch schnell behoben. Jetzt messe ich die Weichen vor Anschluss aus Kurzschluss. Wobei der Transistor 100ms 4...6A aushalten sollte.
-
Mal noch eine kurze Frage zu CMOS-RAM-Batterie-Pufferung.... bei meinem 486er Board war kein Varta Akku drin (sah so aus als ob da nie einer drin war), sondern der Platz war halt leer.
Ich habe dann in meiner Verblödung in den leeren Platz einen neuen Akku eingelötet. Danach ist nichts explodiert oder schlechter gelaufen, aber es war kein Effekt vorhanden, CMOS RAM war nach einiger Zeit weiterhin geleert/in den unkonfigurierten Zustand zurückgekehrt. Der Varta Akku hatte aber seine 3.6V ohne Probleme, es lag nicht an dem (neuen) Akku.
Ich habe mir das Mainboard nochmal angeschaut und einen 4-poligen Anschluss für eine externe Batterie gefunden, wobei ein Pin nicht vorhanden ist. Das ist für so einen externen Batterieanschluss auch normal (das ein Pin fehlt). Ich habe aber keinen Jumper gefunden, der von dem internen Akku auf den externen Akku "umschaltet". Ist das normal ?
Das Board hat dann sicher einen Anschluss für eine externe Batterie und einen Jumper um zwischen aufgelötetem Akku und extern umzuschalten.
Ich habe keinen solchen Jumper gefunden...
Was hast Du denn für ein Board?
-
Ein MB-4D50L (wohl ähnlich dem MB-4D33/50, allerdings kein UMC sondern OPTI gelabelter Chipsatz).
-
Ein MB-4D50L (wohl ähnlich dem MB-4D33/50, allerdings kein UMC sondern OPTI gelabelter Chipsatz).
Nach dem, was ich zu dem Board finde, ist es wohl nicht vorgesehen da einen Akku zu verlöten. Was passiert wenn du an den externen Anschluss eine Batterie anschließt?
-
Guten Tag:
hier hat jemand das selbige Problem,
-
Fanhistorie - exakt das Board ist es... da muss man 2 Dioden und 1 Widerstand ergänzen.... Oweia.
-
Ein MB-4D50L (wohl ähnlich dem MB-4D33/50, allerdings kein UMC sondern OPTI gelabelter Chipsatz).
Nach dem, was ich zu dem Board finde, ist es wohl nicht vorgesehen da einen Akku zu verlöten. Was passiert wenn du an den externen Anschluss eine Batterie anschließt?
Kann ich noch nicht beantworten, warte noch auf die Lieferung des Battery-Packs mit dem Kabel und passendem Stecker (in der e-Bucht geschossen bei amoretro).
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!