• Hallo TT-Modellbahner, schön, dass du zu uns gefunden hast.
    Um alle Funktionen nutzen zu können, empfehlen wir dir, dich anzumelden. Denn vieles, was das Board zu bieten hat, ist ausschließlich angemeldeten Nutzern vorbehalten. Du benötigst nur eine gültige E-Mail-Adresse und schon kannst du dich registrieren.
    Deine Mailadresse wird für nichts Anderes verwendet als zur Kommunikation zwischen uns.
    Die Crew des TT-Boardes

DCC Servodekoder für 32 Servos

@E-Fan

vielleicht wären die Stückzahlen bei entsprechend günstigen Preisen auch höher. Das ist wie im ÖPNV die Fahrgastzahlen sinken also werden die Preise erhöht mit dem Erfolg das noch weniger den ÖPNV benutzen.
Das wird jetzt wieder Off Topic

Gruß aus Brandenburg
 
Gordon, was ist'n das eigentlich für'n Prozessor? Ein Atmel?

Der Vorteil des Programmierens ist meines Erachtens vor allem der: man kann so lange rumfriemeln, bis es passt. Ein Fehler kostet kein Geld, nur Zeit. Bei reiner Hardware kann das schnell anders aussehen.
 
Fehler kostet kein Geld?
Na ja... ich weiß nicht. Ich zerschieß mir meistens die Controller Sonnabend Nachmittag genau dann wenn ich weiß a) "Du Vollidiot hast keine mehr auf Hald rumzuliegen" und b) ich genau abschätzen kann das ich es nicht mehr zu Segor schaffe um Ersatz zu holen... :(

@Gordon:
Behalt mal den Gedanken "12 Servos und 24 Relais" im Hinterkopf! Ist nach meinem Gefühl zwar immer noch sehr Zentral aufgebaut, lässt aber die Mikroschalterfrage hinten runter fallen. ;)
Andersrum wären 8 Servos, 16 Relais für die Herzstückpolarisation und weitere 8 für die Rückmeldung auch net schlecht. Letztere können ja so mit den anderen Relais verschaltet werden das die Rückmeldung erst nach "errechnetem" Umlauf der Antriebe erfolgt.
Die "echte" Rückmeldung ist zwar schön, ich versichere aber jedem das er zu 99% Blut spucken wird wenn er merkt wie fummellig die Justage der Schalter bei dem geringen Drehwinkel des Servos ein wird.
 
E-Fan schrieb:
Fehler kostet kein Geld?
Na ja... ich weiß nicht. Ich zerschieß mir meistens die Controller Sonnabend Nachmittag
Wie machst'n das? In meiner guten alten JU+TE-Zeit, also als ich noch mit Mikrokontrollern zu tun hatte, hat das Teil Jahre gelebt (bis ich's für 'nen Spottpreis verschenkt hab :baseball:). Meine UB8820-Funkuhr geht immer noch, trotz mehrfachem Neuprogrammieren.
 
na ja - schon mal was von ESD gehört? Da ich manchmal nen ausgeprägten Hang zur selbsttätigen elektrostatischen Aufladung hab funkt es kurz aus'm Finger wenn ich nicht aufpass und das war's dann. Und die versehentliche Verpolung der Versorgungsspannung erzeugen auch ab und zu Rauchzeichen...
 
Also mit statischen Aufladungen hab ich noch keine IC's gekillt.
Höchstens mal falsch herum in die Fassung gesteckt.:boeller:
Achso, doch einen Atmel hab ich zumindest lahm gelegt durch falsches setzen der Fuses (interne Einstellungen). Jetzt bräuchte ich ein "ordentliches" Programmiergerät um den aus seinem Dornröschenschlaf zu wecken.

@tsinger
das stimmt. wenn man nicht grobe Fehler in der Schaltung hat, läßt sich vieles durch Software ausbügeln. Bei einer LCD Anzeige hatte ich 8 Pins in genau falscher Reihenfolge angeschlossen. Das kann man dann durch die entsprechende Programmierung korrigieren.

Holger
 
@tsinger

Der Prozessor ist ein Atmega8515. Den bekommt man günstig bei Ebay unter Elektro Nix für 2,54€. Es ist glaub ich der einzige der 35 Portpins hat.

@E-Fan

die Sache mit weniger Servos ist schnell gemacht. Die Relais können ja auf ner kleinen Platine zusammen mit nem ULN2803 an die frei werdenden Ports angeschlossen werden.

Ich hab bis jetzt noch keinen Prozessor gekillt und außerdem bestell ich immer ein paar mehr, so das ich immer Reserve habe.
 
Hallo zusammen

ich habe bislang Tillig-Motoren verwendet (laufen seit zehn jahren weitestgehend Störungsfrei) und in letzter Zeit aus vielerlei Gründen zunehmend Fulgurexe und (für einige Dinge) billige von Conrath. Ursprünglich wollte ich für künftige Bauabschnitte mal ein paar der Hoffmänner testen...

aber allmählich beginnt mich die Servo-Mania zu packen - Hochachtung vor denenen, die sich da schon weit genug eingefummelt haben, für mich wäre das absolutes Neuland. Ich würde mich freuen, wenn ich da für künftige Bauabschnitte mal den einen oder anderen Bausatz nutzen könnte.
Allerdings werde ich weiter Analog schalten - und deshalb eine Anmerkung zu den in diesem Thread merhfach erwähnten Kabelbäumen.

In meinen Augen ist einfachere Verdrahtung bei Digitalbetrieb ein Marketing-Märchen.
Von meinem Stellpult gehen zwar allein schon zur ersten 'Anlagenhälfte' 96 Leitungen. Aber in Wahrheit sind das nur 4 D-Sub Steckerleisten an Pult und je 1 an jedem der vier Segmente. Dazwischen eben 4 billige Standardkabel aus dem computerzubehör..... In sekundenschnelle ein- und ausgesteckt. (Für Stromversorgung und Masse gibt es noch eine insgesamt 6-Adrige Ringleitung mit dicken Kabeln und entsprechenden Steckverbindungen zwischen den Segmenten)

Auch im Digitalbetrieb brauche ich für jeden Schalter/Taster im Stellpult ein Kabel (zu den Digitalbausteinen) Und auf der Anlage muss ich dann auch jeden Motor und jedes Herzstück wieder mit den Ditigalkomponenten verbinden.
Dort wo im Digitalbetrieb die teuren Bausteine sitzen, sitzt bei mir ein Billiger D-Sub Stecker.

Wenn ich ananolg z.B für einen kleinen Bahnhof neun steuerleitungen benötige, führt von den entsprechenden Tastern ein farbig kodiertes neunadriges Flachkabel zum Entsprechenden D-Sub-Stecker im Pult. Und ein identisch farbkodiertes neunadriges Flachkabel vom D-Substecker auf der Anlage zum entsprechenden Bahnhof, wo es dann zu den entsprechenden Antrieben/Diodenmatrizen verzweigt.Absolut übersichtlich und Fehlersuche ist kinderleicht. Wozu muss ich da dutzende teurer Digitalkomponenten zwischenschalten ? (Ausnahme Computersteuerung, da macht das dann natürlich sinn) Aber sorry, das war eigentlich off.-Topic, dient lediglich als Begründung, warum mich für künftige Projetke vor allem analoge Servosteuerungen interessieren. Dabei fände ich es aber schon sehr praktisch, wenn die jeweiligen Polarisierungen auf der Platine erfolgen. Insofern finde ich auch die Dimensionierung ca 8 Antriebe plus jeweilige reilais zur Polarisierung ideal. Und noch idealer wäre es, wenn zu jedem antrieb noch ein drittes Relais mitschalten kann - zur Schaltung von Fahrstraßen / an Ausschalten von Gleisabschnitten oder schalten von Signalen entsprechend der Weichenstellung wenn das schon so vorprogrammiert wäre, dass ich nur noch anschließen müsste :) Dann habe ich unter jeder Bahnhofseinfahrt z. B. ein bis zwei solcher Platinchen (spara dafür manche Diodenmatrix oder separate Relais...und brache nur wenige Kabel mehr mehr als bei Digitalbetrieb. (Nur die Kabelbäumchen zum D-Sub-Stecker, aber die bleiben doch doch recht überschaubar)

Kontakte am Drehkreuz fände ich übrigens weniger prickelnd. Ich würde dort eher drehbare Weichenlaternen mechanisch anschließen (das mache ich jetzt schon an den fulgurexen) dazu dann noch Schaltkontakte am Drehkreuz fände ich etwas arg viel Fummelei an nicht immer ideal zugänglichen stellen.....

mfg
Michael
 
E-Fan schrieb:
Und die versehentliche Verpolung der Versorgungsspannung erzeugen auch ab und zu Rauchzeichen...
Ja, das kann passieren. ;) Am besten gleich einen Gleichrichter mit Spannungsregler auf die Platine und dann mit Wechselspannung beschicken, dann sollte das Problem nicht mehr auftreten.
 
Kann man statt der 8 Rückmelderelais nicht direkt den s88-Bus ansteuern? Dann wäre man wieder bei 12 Servos und Kabel spart man ebenfalls.
Übrigens kann man beim Selbstbau auch auf preisgünstige Kabel/Stecker ausweichen.
 
Ja, man kann auch den S88 Bus bedienen.
Problematisch sind aber immer die 5 Pins, die man pro Servo am PIC Benötigt (2 Taster, 2 Relais für Polarisierung und der Servoausgang).
Da ist man schnell bei einer stattlichen Anzahl.

Holger
 
Wir sind ja gerade beim Atmel, nicht beim PIC. Also nur einen Eingang für die Betätigung für 10 Servos , einen Ausgang Servo und 2 Ausgänge für die Polarisierung sowie 1 Ausgang S88 = 32 Ports.
12 Servos gehen eh nicht, da man mit Poli auf 36 Ports käme. Gemischt mit Signalen würde es gehen (7 Weichen (18 I/O) + 7 Signale (7 I/O)) Signale haben ja Digital keine direkte Zugbeeinflussung mehr.
 
Meine Antwort bezog sich auf die analoge Variante, die Michael ansprach.
Für S88 benötigt man aber 4 Pins, Data in/out/Clock und P/S. Reset kann weggelassen werden.

Holger
 
tsinger schrieb:
Ja, das kann passieren. ;) Am besten gleich einen Gleichrichter mit Spannungsregler auf die Platine und dann mit Wechselspannung beschicken, dann ...
...nützt es dem geneigten Elektronikfummler ooch nüscht wenn er den IC falschrum in den Testsockel steckt... :boeller:

;)
 
Zurück zum Controller! ;)

@Gordon:
kannste den auch so zurechtfummeln das der Analoge Schaltfreund was davon hat? Pin-Einbußen sollten sich unter der Verwendung von PCF8574 (I²C-Portexpander) ausschließen lassen.
Leider hat der 8515 keinen Hardware-TWI (I²C-Interface), dafür aber ein Hardware-SPI. - Mit den passenden TTL-Bausteinen also ebenfalls kein Problem. Hier dann aber bitte beachten das der SPI-Bus nur für kleinere Entfernungen gedacht ist. I²C läuft Geschwindigkeitsabhängig selbst bei 50m Leitungslänge ohne Probleme

Ich will aber nicht das Du den Gaul von hinten aufsattelst. Sie erst mal zu das Du die Geschichte richtig zum laufen kriegst und geh dann auf die Extrawünsche ein. ;)
 
@E-Fan

natürlich kann man das auch auf Analogbetrieb umstricken. Ich hab mir, angeregt durch die vielen Antworten, folgendes überlegt. Ich hab ja noch 2 Leitungen frei. Die will ich über I2C und Portexpander für die Polarisierung nutzen, in Form einer kleinen Platine die für je 4 Servos die 8 Relais beherbergt. Diese kleinen Platinen können dann in der Nähe der Antriebe angebaut werden, und werden über den I2C Bus angeschlossen. Um die Schaltinformation zu gewinnen würde ich einen zweiten Controller im Schaltpult unterbringen an den die Tasten in Matrixform angeschlossen werden und der ein einfaches DCC Format erzeugt. Anstatt nem Booster wird eine Konstantstromquelle geschaltet die auf den Optokoppler des Servodekoders geschaltet wird.
Damit kann jeder soviele Servos anschließen wie er will (max32).
Der zweite Controller im Schaltpult bietet dann auch die Möglichkeit, durch einfache programmtechnische Verküpfungen, beliebige Fahrstraßen auf Knopfdruck zu schalten. Die Rückmeldung kann an den Relaiskontakten dann auf herkömmliche Weise oder über S88 realisiert werden. Als letzte Ausbaustufe läßt sich auch ein dritter Controller einbauen der die Anzeige der Weichenstellung übernimmt, und wenn der noch mit dem Tastencontroller verbunden ist läßt sich programmtechnisch auch eine Fehlermeldung erzeugen falls der tatsächliche Stellungsbefehl nicht mit dem angezeigten übereinstimmt.
Aber wie du schon richtig erwähntest kann ich nicht zu viele Baustellen auf einmal betreiben. Deshalb werde ich erst mal das Programm fertig machen und dann den nächsten Schritt.
Ich halt euch auf dem laufenden

Viele Grüße aus Brandenburg
 
Ich würde das ganze nicht so sehr zerstückeln. Sind dann wieder sehr viele Fehlerquellen. Lieber kleinere und übersichtliche Schaltungen. Meine Meinung .

Holger
 
Gordon schrieb:
...Um die Schaltinformation zu gewinnen würde ich einen zweiten Controller im Schaltpult unterbringen an den die Tasten in Matrixform angeschlossen werden und der ein einfaches DCC Format erzeugt....

Wenn Du ohnehin ein eigenes Netz zum Datenaustausch nutzen willst, lass DCC erstmal aussen vor.
Mach mal Butter bei die Fische um den Controller in all seiner Vielfalt richtig zum Laufen zu bringen. Hier gilt die Priorität jeden der Servos auf eine möglichst einfache Art und Weise einzustellen und die Werte abzuspeichern. Die "Spielerei" drumherum ist da erst mal nebensächlich. ;)

P.S.:
Ich weiß wovon ich rede da ich ein Programm zur Ansteuerung eines Servos schon geschrieben habe.
Da ist nur noch ein einziger Bug zu entfernen wofür mir im Moment aber die Zeit fehlt.
 
Also ich plane, den im prozessor integrierten Zweidrahtbus nach I²C-Protokoll für die Direktkomunikation zu nutzen. Ein eingang für DCC halte ich reserviert für später. Ist eigendlich neben der Weichenansteuerung auch ein Positionieren in Zwischenstellungen für ander Servoantriebsverwendungen angedacht (zB für Wasserkran oä)?
 
@ptlbahn

der Atmega 8515 hat kein TWI integriert, also muß I2C softwaremäßig realisiert werden. Anwendung ist vorerst auf Steuerungen mit zwei Endlagen beschränkt, da nur eine 1/0 Information pro Antrieb übertragen wird. Für Anwendungen wie du sie haben willst würde ich einen separaten Controller einsetzen.
 
Okay, der hat nun gerade kein TWI, aber wenn kein Rückkanal erforderlich ist, sondern nur die Befehle empfangen und umgesetzt werden sollen, dann ist eine Programierung eines I²C-Empfängers doch kein problem.
Und für eine Positionierung müßte doch nur der Empfänger so umgewandelt werden, das er unter DCC eine Lokadresse mit geschwindigkeitswert als position akzeptiert, und bei I²C-Bus kann man ja ein Positionsbyt anfügen. Allerdings hast du recht, um eine lückenlose Adressierung der Servos zu realisieren ist dafür ein anderer Prozessor (mit nur einer Adresse für einen oder 2 Servos mit Positionierung sinnvoller.
 
hab ich doch geschrieben das I2C softwarmäßig realisiert werden muß. Bevor ich damit anfange muß aber erst mal der Rest 100%ig laufen.
 
Zurück
Oben