Tests, Erprobungen und Anwenderberichte V1

Hier werden Berichte von Anwendern zusammengetragen, welche den SX-Servodecoder bereits getestet haben. Vielen Dank den Testern für Ihre Mühen und Zusendung der Testberichte!

11.09.2009, Gerhard T, Hardware V1.4, FW vom 05.07.2009:

Hallo Norbert,

Es ist soweit - mein erster Deiner Servodecoder ist fertig und funktioniert bestens.
Aufbau:
Teile übersichtlich und komplett sauber sortiert.
Bestücken der Platine sehr einfach - keine Probleme
Nach Sichttest und einsetzen des AVR -> einschalten ...
Kurze bange Sekunden, kein Rauch, kein Kurzschluss ...

Testumgebung:
Müt MC2004, SX1 Software, MTTM ST-Train Software,, 2x 12 V Trafos, Conrad Servos ES 05

Programmierung:
Laut Anleitung und mehrmaligem Lesen kein Problem. Sowohl mit SX1 Software als auch - mit meinem Favorit - MTTM's ST-Train alle CV's programmierbar. Einige Versuch waren notwendig um die geeigneten Werte für Geschwindigkeit und Endpositionen zu ermitteln. Aber alles - im nachhinein - einfach und übersichtlich.
Anschliessende Tests mit bis zu vier Servos verlaufen ohne Probleme.

Fazit:
Hier ist Dir (Euch) eine wirklich tolle Entwicklung gelungen. Extrem preiswert, einfach zu bauen und bis jetzt ohne Probleme im Betrieb. Ich werde die Servos auf einer kleinen Lochrasterplatine mit ca. 90° Stellweg betreiben und mit 2 Endschaltern - einerseits um die Lage mit Leuchtdioden anzeigen zu können, anderseits um für die Herzstückpolarisation mit 2 zusätzliche Relais zu verwirklichen. (Fotos sende ich nach Fertigstellung des Prototyps). Der Stelldraht verläuft im Messingrohr zur Weiche und kann dort auch (wegen der 90°) eventuell eine Weichenlaterne bewegen.

Alles in allem eine tolle Entwicklung und ich werde sicher noch einige viele davon verbauen ...
Ich danke Dir auch nochmals für das heutige sehr informative Telefonat und ich melde mich sicher bald wieder bei Dir

Vielen Dank und schöne Grüße aus Österreich

Gerhard

 


24.07.2009, hajo, Hardware V1.0, FW vom 21.06.2009:

Beitrag im 1zu160-Forum: Link


15.07.2009, Gian-A. Bott (http://www.gab.li), Hardware V1.0, FW vom 21.06.2009:

Die Testkonfiguration ist folgende:

  • Rautenhauszentrale SLX850AD
  • Trix Control-Handy zum Programmieren
  • Dein Servo-Modul mit 14V AC versorgt
  • 1 Servo "Carson A 13375" (vermutlich von Conrad)
  • 1 Servo mini von Rautenhaus

Das Programmieren der Servoausgänge funktioniert problemlos und ist mit meinem "Lieblingsprogrammer" für SX-Module, dem Trix Control-Handy, einfach zu bewerkstelligen (sofern man sich mit den bei SX üblichen Parametern etwas auskennt).

  • Der Servo "Carson" liess sich problemlos bedienen. Der Servo wie auch der Kühlkörper auf dem Servomodul blieben auch nach vielen Schaltvorgängen kühl.
  • Der Mini-Servo von Rautenhaus befriedigte auch an Deinem Modul nicht. Ein unüberhörbares Brummen liess den Servo warm werden und der Kühlkörper wurde sogar heiss. Ein zweiter Mini-Servo zeigte das gleiche Verhalten. Das brummen bei diesen Servos war seinerzeit auch der Grund, dass ich die bereits montierten Servos wieder abmontierte und durch die Roco-Unterflurantriebe ersetzte. Ein Klack ist/war mir lieber als das ständige Brummen. Das Brummproblem scheint an der fehlenden Präzision dieser Servos zu liegen. Der Carson-Servo brummt natürlich auch, wenn man ihn mit Gewalt blockiert, aber im Normalbetrieb schaltet er sauber ab, was beim Mini-Servo (mehrer Exemplare versucht) nicht der Fall ist. Da ist es reiner Zufall, ob der Servo nach erreichen der Stellung auch abschaltet oder weiterbrummt.


Ich werde mir bei Conrad die in Königstein gesehenen Halterungen und passende Servos besorgen und dann einmal einige Weichen auf der Anlage umrüsten.
Fazit: Mit der Rautenhauszentrale SLX850AD funktioniert Dein Servo-Modul ebenfalls.

Anmerkung von Norbert Martsch:

Der Sachverhalt mit den "brummenden Servos" und der daraus resultierenden hohen Strombelastung und starken Erwärmung des Linearreglers L78S05 ist mir mittlerweile auch aufgefallen. Abhilfe schafft hier Hardwareversion V1.4, wo statt des Linearreglers 78S05 ein Schaltregler LM 2576-5 zum Einsatz kommt. Mehr Infos hierzu siehe Hardware der Version V1.4

Programmierung/Parametrisierung V1

Programmierung / Parametrisierung mit Multipositions-Modus (Firmwarestand: 05.07.2009)

In den zip-Archiven der Firmware ist jeweils eine redme-Datei enthalten, welche grundlegend die Inbetriebnahme und Parametrisierung des Servodecoders beschreibt. Etwas ausführlicher und am Beispiel der Parametrisierung mittels Handregler Müt HC10 hier eine Beschreibung.

Allgemeines zur Parametrisierung/Programmierung

Zur Programmierung werden die SX-Adressen 0,1 und 2 verwendet. Über diese Adressen werden im Programmiermodus die nötigen Parameter an den Decoder übertragen, um für jeden Servo die linke und rechte Endlage sowie Umlaufgeschwindigkeit einzustellen. Diese Adressen sollten nicht von anderen Modulen am SX-Bus verwendet werden, da Module auf den genannten Adressen sonst mit "Fehlverhalten" auf die sich während der Programmierung ändernden Bitmuster regieren würden. Falls dennoch andere SX-Module die Adressen 0...2 verwenden, können diese für die Programmierung des SX-Servodecoders vom SX-Bus getrennt werden.
Die Programmierung erfolgt über folgende Zuordnung, ähnlich von CVs (Configuration Variables):
SX-Adresse 0: Umlauf-Test: Servoposition links <->rechts. Die Zuordnung der Servos zu den Bits ist 1:1, also Bit 1 = Servo 1, Bit 8 = Servo 8. Diese "Test-Adresse" gilt nur für den Programmiermodus.
SX-Kanal 1: Hier wird der Parameter gewählt, welcher eingestellt werden soll, z.B. "Servo 1, Endlage links" oder "Servo 5, Umalufgeschwindigkeit".
SX-Kanal 2: Hier erfolgt die Einstellung des in SX-Adresse 1 gewählten Parameters. Der Wertebereich für die SX-Steueradresse ist 0...111 und für SX-Rückmeldeadresse, die Endlagen sowie Umalufgeschwindigkeit 0...255, u.s.w.
Hinweis zum Multipositions-Modus:
Für den Multipositionsmodus gibt es insgesamt 4 parametrisierbare MuPo-Blöcke. Diese 4 MuPo-Blöcke belegen folgende Parameter:

  • 1. MuPo-Block: CV/Parameter 42...73
  • 2. MuPo-Block: CV/Parameter 74...105
  • 3. MuPo-Block: CV/Parameter 106...137
  • 4. MuPo-Block: CV/Parameter 138...169

Das bedeutet, dass pro MuPo-Block 29 Positionen zur Verfügung stehen (z.B. 42 und 43 = Konfiguration des 1. Blocks, 44...73 = Positionen). Weitere Informationen befinden sich auch im Readme zur Firmware: Link

Hinweis zur Programmierung:
Wird ein Handregler zur Programmierung des Decoders verwendet, muss sich dieser am gleichen SX-Bus befinden, wie der SX-Servodecoder selbst. Bei Verwendung einer Software ist der korrekte SX-Bus zu wählen.
Nachfolgendes Programmierbeispiel bezieht sich auf die Verwendung des Handreglers Müt HC10 oder Rautenhaus (RH) SLX845, wo das Bitmuster 12345678 (also Bit 1 links, Bit 8 rechts im Display) eingegeben wird.

1) Decoder in Programmiermodus setzen

Durch Drücken den Programmiertasters neben der LED wird der SX-Servodecoder in den Programmiermodus versetzt - die LED leuchtet daraufhin dauerhaft. Hierzu muss, sofern der Decoder am SX0-Bus angeschlossen ist, die Gleisspannung ausgeschaltet sein. Sollte die Gleisspannung noch eingeschalten sein, meldet der Decoder einen Fehler - die LED blinkt hierbei 4-mal kurz auf.

2) Einstellen der Parameter

Nachfolgende Tabelle gibt eine Übersicht, mit welchem Parameter in SX-Adresse 1 welcher Wert auf SX-Adresse 2 geändert werden kann. Anhand einer Beispielkonfiguration zum Einstellen der Decoderadresse (Steueradresse auf Adresse 80) und Rückmeldeadresse (auf Steueradresse + 1 => 81) sowie für Servo 5 soll das Vorgehen der Programmierung/Parametrisierung verdeutlicht werden. Analog gilt dieses Vorgehen für alle weiteren Servos.

SX-Steueradresse einstellen:

  • Zunächst mittles Handregler oder entsprechender Software die SX-Adresse 1 angewählt.
  • In Adresse 1 wird der Wert 0 geschrieben, dass heißt alle Bits dieser Adresse stehen auf 0 (00000000)
  • Per Handregler oder Software in Adresse 2 wechseln, es wird das aktuelle Bitmuster der aktuelle Steueradresse angezeigt
  • Neue Steueradresse eingeben, dazu das Bitmuster eintragen - in unserem Fall für Adresse 80: 00001010

SX-Rückmeldeadresse einstellen:

  • SX-Kanal 1 anwählen und den Wert 1 in Kanal 1 schreiben: 10000000
  • SX-Kanal 2 anwählen, es wird die aktuelle Rückmeldekonfigurations angezeigt
  • In SX-Kanal 2 den Wert 128 + 1 = 129 schreiben -> Bitmuster: 10000001

Servo 5, Position bei 0 einstellen:

  • SX-Kanal 1 anwählen und Wert 22 in Kanal 1 schreiben: 01101000
  • SX-Kanal 2 anwählen, es wird die aktuelle Position von Servo 5 bei Steuerbit 0 angezeigt
  • In SX-Kanal 2 den neuen Wert für die Position schreiben, z.B. 00101000 (Wert: 20)

Servo 5, Position bei 1 einstellen:

  • SX-Kanal 1 anwählen und Wert 23 in Kanal 1 schreiben: 11101000
  • SX-Kanal 2 anwählen, es wird die aktuelle Position von Servo 5 bei Steuerbit 1 angezeigt
  • In SX-Kanal 2 den neuen Wert für die Position schreiben, z.B. 01101100 (Wert: 54)

Servo 5, Umlaufgeschwindigkeit einstellen:

  • SX-Kanal 1 anwählen und Wert 24 in Kanal 1 schreiben: 00011000
  • SX-Kanal 2 anwählen, es wird die aktuelle Geschwindigkeit von Servo 5 angezeigt
  • In SX-Kanal 2 den neuen Wert für die Geschwindigkeit schreiben, z.B. 00100000 (Wert: 4)

Servo 5, Modus einstellen (ohne Multipositionierung):

  • SX-Kanal 1 anwählen und Wert 25 in Kanal 1 schreiben: 10011000
  • SX-Kanal 2 anwählen, es wird der aktuelle Modus angezeigt
  • In SX-Kanal 2 den neuen Wert für den Modus schreiben, z.B. 00000000 (Wert: 0 -> normal, ohne MuPo)

Test der neuen Einstellungen für Servo 5:

  • SX-Kanal 0 anwählen
  • Bit 5 in Kanal 0 hin- und her-schalten -> Servo 5 fährt die Positionen (0/1 bzw. links/rechts) in gewählter Umlaufgeschwindigkeit gemäß Parametrisierung an

ODER : MuPo-Modus aktivieren:
Servo 5, Modus einstellen (mit Multipositionierung, 4 Positionen):

  • SX-Kanal 1 anwählen und Wert 25 in Kanal 1 schreiben: 10011000
  • SX-Kanal 2 anwählen, es wird der aktuelle Modus angezeigt
  • In SX-Kanal 2 den neuen Wert für den Modus schreiben, z.B. 10000000 (Wert: 1 -> MuPo aktiviert)
  • SX-Kanal 1 anwählen und Wert 26 in Kanal 1 schreiben: 01011000
  • SX-Kanal 2 anwählen, es wird der aktuelle MuPo-Block angezeigt
  • In SX-Kanal 2 den neuen Wert für den MuPo-Block schreiben, z.B. 00000000 (Wert: 0 -> Block 1)
  • SX-Kanal 1 anwählen und Wert 42 (Angabe der Blocknummer) in Kanal 1 schreiben: 01010100
  • In SX-kanal 2 den neuen Wert für dessen Blocknummer schreiben: 00000000 (Wert: 0 = 1. Block)
  • SX-Kanal 1 anwählen und Wert 43 (Anzahl der Positionen) in Kanal 1 schreiben: 11010100
  • In SX-Kanal 2 den Wert für Anzahl der Positionen schreiben: 11000000 (Wert: 3 = Anzahl der gewünschten Positionen (4) -1)
  • SX-Kanal 1 anwählen und Wert 44 (1. Position) in Kanal 1 schreiben: 11010100
  • In SX-Kanal 2 den neuen Wert für die Position 1 schreiben, z.B. 00001010 (Wert: 80)
  • SX-Kanal 1 anwählen und Wert 45 (2. Position) in Kanal 1 schreiben: 10110100
  • In SX-Kanal 2 den neuen Wert für die Position 2 schreiben, z.B. 00100110 (Wert: 100)
  • SX-Kanal 1 anwählen und Wert 46 (3. Position) in Kanal 1 schreiben: 01110100

  • In SX-Kanal 2 den neuen Wert für die Position 3 schreiben, z.B. 0001110 (Wert: 120)
  • SX-Kanal 1 anwählen und Wert 47 (4. Position) in Kanal 1 schreiben: 11110100
  • In SX-Kanal 2 den neuen Wert für die Position 4 schreiben, z.B. 00110001 (Wert: 140)

WEITERE ERGÄNZUNGEN FOLGEN!!!


Parameter

Bitmuster
(12345678)

Bitmuster
(76543210)

Zuordnung
Decoder CV0 00000000 00000000 SX-Adresse
CV1 10000000 00000001 SX-Rückmelde-Adresse
Servo 1 CV2 01000000 00000010 Position bei 0
CV3 11000000 00000011 Position bei 1
CV4 00100000 00000100 Umlaufgeschwindigkeit
CV5 10100000 00000101 Modus (0=normal, 1=MuPo, 255=Ausgang deaktiviert)
CV6 01100000 00000110 Blocknummer, der die erw. Parameter enthält (insg. 4 Blöcke, Block 1=0, Block 2=1, Block 3=2, Block 4=3)
Servo 2 CV7 11100000 00000111 Position bei 0
CV8 00010000 00001000 Position bei 1
CV9 10010000 00001001 Umlaufgeschwindigkeit

CV10

01010000 00001010 Modus (0=normal, 1=MuPo, 255=Ausgang deaktiviert)
CV11 11010000 00001011 Blocknummer, der die erw. Parameter enthält (insg. 4 Blöcke, Block 1=0, Block 2=1, Block 3=2, Block 4=3)
Servo 3

CV12

00110000 00001100 Position bei 0
CV13 10110000 00001101 Position bei 1
CV14 01110000 00001110 Umlaufgeschwindigkeit
CV15 11110000 00001111 Modus (0=normal, 1=MuPo, 255=Ausgang deaktiviert)
CV16 00001000 00010000 Blocknummer, der die erw. Parameter enthält (insg. 4 Blöcke, Block 1=0, Block 2=1, Block 3=2, Block 4=3)
Servo 4 CV17 10001000 00010001 Position bei 0
CV18 01001000 00010010 Position bei 1
CV19 11001000 00010011 Umlaufgeschwindigkeit
CV20 00101000 00010100 Modus (0=normal, 1=MuPo, 255=Ausgang deaktiviert)
CV21 10101000 00010101 Blocknummer, der die erw. Parameter enthält (insg. 4 Blöcke, Block 1=0, Block 2=1, Block 3=2, Block 4=3)
Servo 5

CV22

01101000 00010110 Position bei 0
CV23 11101000 00010111 Position bei 1
CV24 00011000 00011000 Umlaufgeschwindigkeit
CV25 10011000 00011001 Modus (0=normal, 1=MuPo, 255=Ausgang deaktiviert)
CV26 01011000 00011010 Blocknummer, der die erw. Parameter enthält (insg. 4 Blöcke, Block 1=0, Block 2=1, Block 3=2, Block 4=3)
Servo 6 CV27 11011000 00011011 Position bei 0
CV28 00111000 00011100 Position bei 1
CV29 10111000 00011101 Umlaufgeschwindigkeit
CV30 01111000 00011110 Modus (0=normal, 1=MuPo, 255=Ausgang deaktiviert)
CV31 11111000 00011111 Blocknummer, der die erw. Parameter enthält (insg. 4 Blöcke, Block 1=0, Block 2=1, Block 3=2, Block 4=3)
Servo 7 CV32 00000100 00100000 Position bei 0
CV33 10000100 00100001 Position bei 1
CV34 01000100 00100010 Umlaufgeschwindigkeit
CV35 11000100 00100011 Modus (0=normal, 1=MuPo, 255=Ausgang deaktiviert)
CV36 00100100 00100100 Blocknummer, der die erw. Parameter enthält (insg. 4 Blöcke, Block 1=0, Block 2=1, Block 3=2, Block 4=3)
Servo 8 CV37 10100100 00100101 Position bei 0
CV38 01100100 00100110 Position bei 1
CV39 11100100 00100111 Umlaufgeschwindigkeit
CV40 00010100 00101000 Modus (0=normal, 1=MuPo, 255=Ausgang deaktiviert)
CV41 10010100 00101001 Blocknummer, der die erw. Parameter enthält (insg. 4 Blöcke, Block 1=0, Block 2=1, Block 3=2, Block 4=3)


3) Programmiermodus beenden

Durch drücken des Programmiertasters oder Einschalten der Gleisspannung wird der Programmiermodus verlassen und die neuen Parameter im EEPROM dauerhaft abgespeichert.

Dateien / Download

Die Firmwares gibt's hier: Link
Die jeweils letzte Datei ist die aktuelle Version.
Alle Dateien unterliegen der GPL!

Firmware V1

Abspeichern der Parameter und aktuellen Servo-Stellung im EEPROM:
Zum Erkennen fehlerhafter Speicherzellen ist eine intelligente Routine implementiert: Sämtliche Werte werden als binäres Komplement abgelegt und durch ein vergleichendes Schreiben/Lesen auf Integrität geprüft. Wird eine fehlerhafte Speicherzelle erkannt, wird diese für weitere Schreibzugriffe gesperrt und der Inhalt in eine neue Speicherzelle geschrieben, ebefalls mit Komplement.
Im Detail:

  • state_index bekommt  eine eigene Page
  • Der Zustand wird so abgelegt, dass jeweils in derselben Page einmal der Wert und dahinter dessen binäres Komplement liegt.
  • Zur Fehlererkennung vergleiche ich Zustand und Komplement. Eine Veränderung um 1 Bit wird so sicher erkannt. Das sollte für diese Zwecke reichen.
  • Dadurch erhöht sich der Speicherbedarf; es werden jetzt 209 Bytes benötigt, was für 5,1 Millionen Schreibzugriffe reicht.

Dateien / Download

Die Firmwares gibt's hier: Link
Die letzte Datei ist die aktuelle Version.
Alle Dateien unterliegen der GPL!

Aufbau & Inbetriebnahme V1

Zusammenbau

Hier gilt wie so oft: von klein nach groß, d.h. zunächst die flachen Bauelemente (3x Drahtbrücke, Widerstände, Kondensatoren (22pF, 10nF und 100nF), Quarz, Taster, Dioden und AVR-Sockel) verlöten, dann die größeren (Servo-Anschlüsse, ISP-Steckverbinder, Schaltregler, Kondensatoren (100µF und 1000µF), Drosselspule und Brückengleichrichter) und zum Schluss die SX-Bus-Buchsen sowie Servo-Spannungsbuchse. Für den AVR ist ein Sockel vorgesehen - den AVR erst einsetzen, wenn alle Lötstellen gelötet und geprüft worden sind und keine Nacharbeit mehr mit dem Lötkolben durchzuführen ist.

Hinweis zum Lötjumper SJ1:

Aufgabe des Lötjumpers SJ1 ist der Masseausgleich zwischen der SX-Bus-Masse und der Masse der 5V-Servo-Versorgungsspannung.
Dieser ist zu schließen, wenn die 5V-Servo-Versorgungsspannung auf der Platine per Schaltregler realisiert wird. Der Lötjumper SJ1 darf nur dann offen bleiben, wenn z.B. die 5V-Servo-Versorgungsspannung extern erzeugt (z.B. per ausrangiertem PC-Netzteil) und direkt eingespeist wird (Schaltregler und dessen Peripherie nicht bestücken und stattdessen anstelle von C4 die Klemme X4 setzen) und an anderer Stelle ein Masseausgleich SX-Bus <-> Servo bereits realisiert ist. Erfolgt dieser Masseausgleich nicht an anderer Stelle, ist SJ1 auch bei externer 5V-Servo-Versorgungsspannung zu schließen. Ein nicht vorhandener Masseausgleich hat unkontrollierte Servobewegungen zur Folge - das bemerkt man schnell :-)

Hinweise zu den Bauelementen (Bausatz)

ISP-Steckverbinder

Die Öffnung des Rahmens des ISP-Steckverbinders muss in Richtung des AVR zeigen.

Kondensatoren

22pF: braun/dunkelrot, Kennzeichnung "22p"
10nF: gelb, Kennzeichnung "103"
100nF: gelb, Kennzeichnung "104"
c-22pf-280x482

LED

Der kurze Anschlussdraht ist die Kathode ("Minus-Pol", kurz <-> Kathode) und muss in Richtung Platineninneren zeigen, also die Anode ("Plus-Pol") nach außen zum Platinenrand hin.

Stiftleiste

Die 1-reihige, 36-polige Stiftleiste ist entsprechend den 3-poligen Servo-Anschlüssen per Seitenschneider aufzutrennen. Dabei darauf achten, genau zwischen 2 benachbarten Stiften zu schneiden, sodass kein Stift verletzt (Abplatzen der Kunststoffummantelung) wird.


Widerstände

100Ω: Kennzeichnung "braun-schwarz-braun-gold"
1,6kΩ: Kennzeichnung "braun-blau-rot-gold"
10kΩ: Kennzeichnung "braun-schwarz-orange-gold"
22kΩ: Kennzeichnung "rot-rot-orange-gold"

Widerstandsrechner Farbcode <-> Widerstandswert:

Einspielen der Firmware / Flashen

Die Firmware kann entweder per ISP-Buchse auf der Platine oder mit einem anderen Programmiergerät (z.B. STK500) in den AVR geschrieben werden. Dabei zunächst das Hauptprogramm (main.hex), dann die EEPROM-Daten (main.eep) einspielen. Beide Dateien und den Source-Code sind am Ende dieses Dokuments zu finden. Die Fuses sind wie folgt zu setzen:

  • High: 0xC1
  • Low: 0x3F

Einen Fuse-Calculator gibt es auch hier: Link

Inbetriebnahme / Parametrisierung

In den zip-Archiven der Firmware ist jeweils eine redme-Datei enthalten, welche grundlegend die Inbetriebnahme und Parametrisierung des Servodecoders beschreibt. Etwas ausführlicher und am Beispiel der Parametrisierung mittels Handregler Müt HC10 bzw. Rautenhaus SLX845 ist unter Menüpunkt 5.x eine entsprechende Anleitung zu finden.

Dateien / Download

Die Firmwares gibt's hier: Link
Die letzte Datei ist die aktuelle Version.
Alle Dateien unterliegen der GPL!

Hardware V1.4

Die Schaltung des SX-Servodecoders basiert auf einem AVR (ATMEL ATmega8-16), welcher mit 16MHz (extern) getaktet ist. Der AVR wird vom SX-Bus über einen 5V-Spannungsregler (IC1, 78L05) mit seiner Betriebsspannung versorgt. Die Servos können zum einen über direkt angeschlossene 5V DC (X4) oder zum anderen über 9 ... 20V AC/DC (X3, z.B. Trafo) versorgt werden. Wird der SX-Servodecoder über einen Trafo versorgt, übernimmt nun in Hardwareversion V1.4 ein Schaltregler (IC2, LM 2576-5.0) die Erzeugung der 5V-Servospannung. Tests hatten ergeben, dass ein Linearregler (78S05) schnell an seine Grenzen stößt, sollten einige Servos ihre Endlage nicht sauber finden (Servo brummt), oder Servos anderweitig mechanisch blockiert sind. Ein Löt-Jumper (Lötbrücke, SJ1) kann für einen Massepotentialausgleich (Masse SX-Bus <-> Masse Servodersorgung) genutzt werden. Nötig ist der Masseausgleich dann, wenn an keinem anderen Punkt der Anlagenverdrahtung eine Masseverbindung zwischen Servo-Versorgungsspannung und SX-Bus besteht. Wird der SX-Servodecoder über einen Trafo versorgt, ist die Lötbrücke unbedingt zu schließen.
Die Servo-Ausgänge am AVR sind direkt auf die Servo-Pins (Servo-1 ...8) zum Anschluss der Servos geroutet. Der Programmiertaster schaltet gegen Masse, ein Pullup ist in der Firmware des AVR enthalten. Eine (rote) LED signalisiert den Programmiermodus. Der Takt für den AVR wird extern mittels 16MHz-Quarz (Q1) samt seiner Kapazitäten (C6 & C7) bereitgestellt. Beim AVR selbst ist deshalb darauf zu achten, dass ein ATmega8-16 verwendet wird, welcher Taktraten bis 16MHz zulässt. Für Firmware-Updates ist eine 10-polige ISP-Schnitstelle enthalten. Zum Flashen des AVR muss der AVR durch den SX-Bus mit Spannung versorgt werden.
Damit das Board-Layout für einfachen Nachbau 1-seitig bleibt, sind 3 Drahtbrücken (J1...J3) vorgesehen. Die Abmessung der Platine beträgt ca. 78x96 mm.

SD-8-V1.4 Schaltplan

SD-8-V1.4 Bestückungsplan

Dateien / Download

Die Schaltung und Platinenlayout (pdf und Eagle) gibt's hier: Link
Die letzte Datei ist die aktuelle Version.
Alle Dateien unterliegen der GPL!

Weitere Beiträge...

  1. Einleitung SD-8-V1.4