super danke jetzt hats geklappt!!!!!!
super danke jetzt hats geklappt!!!!!!
Mfg Martin
Beiträge: | 43 |
Registriert am: | 07.04.2020 |
Zitat
zwei ULN übereinander stapeln sollte auch funktionieren,dann hast du wieder 8 Ausgänge.
Das ist keine so gute Idee. Das Parallelschalten funktioniert ja nur dann, wenn sich der Strom auch auf beide Transistoren gleichmäßig aufteilt. Dazu muss aber die Kennlinie Strom<->Durchlasspannung bei beiden Transitoren absolut identisch sein. Das ist nur gegeben, wenn sich beide auf demselben Chip - also auch im selben Gehäuse - befinden. Selbst kleine Fertigungstoleranzen, die bei unterschiedlichen Gehäusen immer gegeben sind, führen zu stark unterschiedlichen Stromaufteilungen, die im Extremfall dazu führen können, dass doch wieder fast der gesamte Strom durch nur einen der beiden Ausgangstransistoren fließt.
viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'
Beiträge: | 2.833 |
Registriert am: | 28.11.2012 |
Ort: | Mittelfranken |
Gleise | Tillig Elite |
Steuerung | Eigenbau |
Stromart | Analog |
Zitat
super danke jetzt hats geklappt!!!!!!
Fein, und welche Variante hast Du genommen? Die mit FIXMODE?
viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'
Beiträge: | 2.833 |
Registriert am: | 28.11.2012 |
Ort: | Mittelfranken |
Gleise | Tillig Elite |
Steuerung | Eigenbau |
Stromart | Analog |
habe da mal eine frage.
wie kann ich das realisierem das ich das
Bit6 = 1 : Leds, die beim Umschalten des Signalbilds in beiden Bildern eingeschaltet
sind, werden während der Überblendzeit nicht ausgeschaltet.
das eingegebe OHNE cvs?
Mfg Martin
Beiträge: | 43 |
Registriert am: | 07.04.2020 |
Du müsstest im entsprechenden Tabelleneintrag iniFmode Bit 6 auf "1" setzen.
Beiträge: | 20 |
Registriert am: | 29.03.2020 |
Spurweite | N |
Steuerung | Intellibox 1 |
Stromart | Digital |
das habe ich schon probiert. dann blinkt es nur. wo genau?
Mfg Martin
Beiträge: | 43 |
Registriert am: | 07.04.2020 |
Ich tippe darauf, dass du dich mit deinem vorgenommenen Eintrag nicht in der richtigen Tabellenzeile befindest.
Es muss iniFmode sein. Blinken tut da in der Regel eigentlich nichts.
Beiträge: | 20 |
Registriert am: | 29.03.2020 |
Spurweite | N |
Steuerung | Intellibox 1 |
Stromart | Digital |
/* iniFmode (CV120,130,..*/ { 0, 0b00100, 0, 0b00100, 0, 0b000100, [b]66[/b], [b]64[/b], 0, 0b000100 }
die beiden was fet makiert sind probiere ich zu ändern
Mfg Martin
Beiträge: | 43 |
Registriert am: | 07.04.2020 |
das problem ist wenn 2 auf gelb sind und er auf zweimal gelb und einmal grün schaltet wird einmal gelb kurz dunkel und geht mit grün gleich wieder an
Mfg Martin
Beiträge: | 43 |
Registriert am: | 07.04.2020 |
Die Wertigkeit mit 64 ist schon mal korrekt - wenn man es denn so angeben möchte.
Es kommen jetzt mehrere mutmaßliche Fehlerquellen:
1) der Eintrag ist nicht in der korrekten Spalte untergebracht (es muss FSIGNAL2 sein, nicht bei FSIGNAL0)
2) ist der Versionsstand korrekt? V7 befindet sich aktuell ja noch unter "development".
Beiträge: | 20 |
Registriert am: | 29.03.2020 |
Spurweite | N |
Steuerung | Intellibox 1 |
Stromart | Digital |
const byte iniTyp[] = { FSIGNAL2, FSIGNAL0, FSIGNAL2, FSIGNAL0, FSIGNAL2, FSIGNAL0, FSIGNAL2, FSIGNAL0, FSIGNAL2, FSIGNAL0 };
const byte out1Pins[] = { A1, A3, 3, A4, 9, 11, 5, 7, NC, NC };
const byte out2Pins[] = { A0, A3, A5, A4, 10, 11, 6, 7, NC, NC };
const byte out3Pins[] = { A1, A2, 3, 4, 9, 12, 5, 8, NC, NC };
const byte iniCVx[10][sizeof(iniTyp)] = {
/* iniFmode (CV120,130,..*/ { 0, 0b00100, 0, 0b00100, 0, 0b000100, 64, 0, 0, 0b000100 },
/* iniPar1 (CV121,131,..*/ { 0b001001, 0b110001, 0b001001, 0b110001, 0b001001, 0b110001, 0b001001, 0b110001, 0b001001, 0b110001 },
/* iniPar2 (CV122,132,..*/ { 0b100010, 0b100110, 0b100010, 0b100110, 0b100010, 0b100110, 0b100010, 0b100110, 0b100010, 0b100110 },
/* iniPar3 (CV123,133,..*/ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
/* iniPar4 (CV124,134,..*/ { 0b000101, 0, 0b000101, 0, 0b000101, 0, 0b000101, 0, 0b000101, 0 },
/* iniPar5 (CV125,135,..*/ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
/* iniPar6 (CV126,136,..*/ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
/* iniPar7 (CV127,137,..*/ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
/* iniPar8 (CV128,138,..*/ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
/* iniState (CV129,139,..*/ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }}; // Status-Werte
//----------------------------------------------------------------------
so ist es eingegeben.
es ist eigentlich die aktuelle version
Mfg Martin
Beiträge: | 43 |
Registriert am: | 07.04.2020 |
Darf ich fragen, weshalb du einige Ausgänge mehrfach definiert hast? Das sollte eigentlich nicht notwendig sein, es könnte sogar sein, dass dies für die Software illegal ist.
Nicht benötigte Einträge kannst du einfach mit "NC" ausblenden. Ob das allerdings ursächlich für dein Problem ist, kann ich nicht sagen.
Sonst sieht es für mich auf den ersten Blick eigentlich recht gut aus. Bis auf diese vielen doppelten Ausgangsdefinitionen. Vielleicht versuchst du erstmal diese loszuwerden.
Beiträge: | 20 |
Registriert am: | 29.03.2020 |
Spurweite | N |
Steuerung | Intellibox 1 |
Stromart | Digital |
ja darfst du. ich möchte 4 begriffig vorsignale öbb. das heisst. 2mal gelb, 2 mal grün, 2 mal grün 1mal gelb, 2mal gelb 1mal grün.
anders ginge das nicht mit den pins. hate alles durch probiert
Mfg Martin
Beiträge: | 43 |
Registriert am: | 07.04.2020 |
versuche es doch mal so:
Oben bei outPins sagst du, welche Ausgänge zu dem Signal gehören.
Bei iniPar1-2 sagst du, welche Ausgänge wann leuchten sollen.
Dabei nehme ich an, dass Ausgänge 5+6 gelb sind und 7+8 grün sind:
const byte iniTyp[] = { FSIGNAL2, FSIGNAL0 };
const byte out1Pins[] = { 5, 8 ];
const byte out2Pins[] = { 6, NC };
const byte out3Pins[] = { 7, NC };
const byte iniCVx[10][sizeof(iniTyp)] = {
/* iniFmode (CV120,130,..*/ { 64, 0 },
/* iniPar1 (CV121,131,..*/ { 0b000011, 0b000111 },
/* iniPar2 (CV122,132,..*/ { 0b001100, 0b001110 },
[...]
//----------------------------------------------------------------------
Beiträge: | 20 |
Registriert am: | 29.03.2020 |
Spurweite | N |
Steuerung | Intellibox 1 |
Stromart | Digital |
habs grad probiert da past das schalt bild garnicht
Mfg Martin
Beiträge: | 43 |
Registriert am: | 07.04.2020 |
Was passt denn da wie nicht?
Wenn die Signalbilder nicht passen, musst du etwas mit iniPar1 für den roten Befehl oder iniPar2 für den grünen Befehl spielen.
Ist denn die Sache mit dem Überblenden jetzt nach deinen Vorstellungen?
Es ist jetzt so eingestellt, dass bei
rot Adresse x = die Ausgänge 5+6 kommen -> 0b000011
grün x = 7+8 -> 0b001100
rot x+1 = 5+6+7 -> 0b000111
grün x+1 = 6+7+8 -> 0b001110
Beiträge: | 20 |
Registriert am: | 29.03.2020 |
Spurweite | N |
Steuerung | Intellibox 1 |
Stromart | Digital |
Das mit der überblendung paßt fast bis auf 1 led. OK das andere was du geschrieben hast werde ich morgen probieren. Ich hoffe ich komme zurecht.
Mfg Martin
Beiträge: | 43 |
Registriert am: | 07.04.2020 |
was mich da noch interessieren würde ist, ob du dein Signal direkt an deinen Arduino anschließt oder ob du dazwischen noch ein Treiber-IC z.B. ULN2803 verwendest?
Falls kein Treiber verwendet wird, sind die Ausgänge in meinem Kode natürlich invertiert. Das kannst du aber umgehen, indem du in iniFmode zusätzlich das Bit 7 auf "1" setzt.
Zitat
Ich hoffe ich komme zurecht.
und falls nicht, gibt es ja hier das Forum
Beiträge: | 20 |
Registriert am: | 29.03.2020 |
Spurweite | N |
Steuerung | Intellibox 1 |
Stromart | Digital |
Ich verwende den uln2803. Habe mir die platine von der manual zusammengebastelt. Danke für deinen Hilfe. Werde mich morgen noch mal spielen und gebe dann bescheid.
Mfg Martin
Beiträge: | 43 |
Registriert am: | 07.04.2020 |
Hallo Martin,
zunächst einmal hat demolux recht. Die Zuordnung der Pins muss eindeutig sein. Die darfst Du nicht doppelt vergeben.
Schreib doch mal, welche Led an welchem Pin hängt und bei welchem Signalbild sie jeweils leuchten soll. Der Ansatz von demolux ist jedenfalls richtig:
const byte iniTyp[] = { FSIGNAL2, FSIGNAL0 };
const byte out1Pins[] = { 5, 8 ];
const byte out2Pins[] = { 6, NC };
const byte out3Pins[] = { 7, NC };
const byte iniCVx[10][sizeof(iniTyp)] = {
/* iniFmode (CV120,130,..*/ { 64, 0 },
/* iniPar1 (CV121,131,..*/ { 0b000011, 0b000111 },
/* iniPar2 (CV122,132,..*/ { 0b001100, 0b001110 },
^---------^---- 1 = Led an Pin5 leuchtet
^---------^----- 1 = Led an Pin6 leuchtet
^---------^------ 1 = Led an Pin7 leuchtet
^---------^------- 1 = Led an Pin8 leuchtet
viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'
Beiträge: | 2.833 |
Registriert am: | 28.11.2012 |
Ort: | Mittelfranken |
Gleise | Tillig Elite |
Steuerung | Eigenbau |
Stromart | Analog |
OK. Werde ich morgen machen. Das habe ich nicht gewußt. Aber ich werde morgen probieren und dann werde ich euch bescheid geben.
Mfg Martin
Beiträge: | 43 |
Registriert am: | 07.04.2020 |
Hallo Franz-Peter
ich teste grad ein bisschen mit der Decoderversion 7.0.
Ich babe bei den Doppel-Servos ( initTyp = F2SERVO ) Probleme mit der Geschwindigkeitseinstellung.
Bei CV xx3 und xx8 Wert 0 normale Geschwindigkeit, bei CVxx3 und xx8 Wert 1 oder höher sehr langsam und nicht zu regeln.
Die Endlagen der Servos lassen sich einstellen.
Bei den weiteren Servos ( initTyp = FSERVO ) habe ich keine Probleme.
Die Servos sind bei einem Nano an PIN 6 und 8 angeschlossen.
Hast Du eine Idee was ich falsch mache !!?? ops:
Viele Grüße
Wolfi4711
Beiträge: | 42 |
Registriert am: | 19.04.2020 |
Spurweite | H0 |
Stromart | DC, Digital |
Screenshot 2021-01-31 095047 by M S, auf Flickr
So sollte das signalbild ausschauen.
Gelb 5, Grün 6, Gelb 7, Grün 8, so ist es jetzt angehägt
Mfg Martin
Beiträge: | 43 |
Registriert am: | 07.04.2020 |
Zitat
ich teste grad ein bisschen mit der Decoderversion 7.0.
Sehr gut
Zitat
Hast Du eine Idee was ich falsch mache !!??
Nein, da ich ja auch nicht sehe, wie dein Konfigfile aussieht. Aber ich werde es nochmal bei mir testen. Vielleicht ist ja noch ein Bug drin
viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'
Beiträge: | 2.833 |
Registriert am: | 28.11.2012 |
Ort: | Mittelfranken |
Gleise | Tillig Elite |
Steuerung | Eigenbau |
Stromart | Analog |
So Leute. Danke für eure hilfe hab es zusammengebracht
const byte iniTyp[] = { FSIGNAL2, FSIGNAL0, FSIGNAL2, FSIGNAL0, FSIGNAL2, FSIGNAL0, FSIGNAL2, FSIGNAL0, FSIGNAL2, FSIGNAL0 };
const byte out1Pins[] = { A1, A3, 3, A4, 9, 11, 5, 8, NC, NC };
const byte out2Pins[] = { A0, A3, A5, A4, 10, 11, 6, NC, NC, NC };
const byte out3Pins[] = { A1, A2, 3, 4, 9, 12, 7, NC, NC, NC };
const byte iniCVx[10][sizeof(iniTyp)] = {
/* iniFmode (CV120,130,..*/ { 0, 0b000100, 0, 0b000100, 0, 0b000100, 64, 0, 0, 0b000100 },
/* iniPar1 (CV121,131,..*/ { 0b001001, 0b110001, 0b001001, 0b110001, 0b001001, 0b110001, 0b000101, 0b000111, 0b001001, 0b110001 },
/* iniPar2 (CV122,132,..*/ { 0b100010, 0b100110, 0b100010, 0b100110, 0b100010, 0b100110, 0b001010, 0b001110, 0b100010, 0b100110 },
5,6,7,8, paßt die anderen muss ich noch ändern. danke nochmal
Mfg Martin
Beiträge: | 43 |
Registriert am: | 07.04.2020 |
Einfach ein eigenes Forum erstellen |