Das Layout setzt auf SMD-Bauteile, der Treiber-IC ist aber immer noch gesockelt. Für diesen Decoder werden professionelle 2seitige Platinen über Rail&Road
angeboten,die mit 4,90Eur(2009) auch sehr günstig sind. Zusätzlich sind für die Bestellung der einzelnen Bauelemente Warenkörbe des Versenders Reichelt und detailierte Aufbauanleitungen verfügbar sowie, so das einem einfachen Nachbau nichts mehr entgegen steht.
Wie ich aber selbst erfahren mußte, sind die freundlicherweise bereitgestellten Warenkörbe mit Vorsicht zu verwenden. Das hängt aber mehr mit dem Verhalten des Shops zusammen.
Beispielsweise Artikel, die nicht lieferbar sind, fallen ohne jeglichen Hinweis aus dem Korb. Will man weitere Warenkörbe hinzufügen, addiert Reichelt nicht die Stückzahlen der Artikel, sondern ersetzt sie.
Will man mehrere Dekoder bauen, muss man die Stückzahlen manuell korrigieren. Auf Grund dessen habe ich mehrere Einzelbestellungen (incl. Versandkosten) gebraucht, bis ich alle Bauteile zusammen hatte.
In Abhängigkeit zum Einsatzzweck kann man auf einige Dinge verzichten. Ich möchte zunächst die Variante "Weichen und Schaltdekoder" aufbauen.
Da die angebotene Funktionalität der Weichenrückmeldung nur mit einer OpenDCC-Zentrale funktioniert und ich auch kein DMX einsetze, habe ich mir die dafür benötigten Bauelemente gespart.
Den Ack-Ausgang habe ich über die Lötbrücken mit dem DCC-Signal verbunden (SJ1 und SJ2 geschlossen) und deshalb die Schraubklemme nicht bestückt. Desweiteren schliesse ich SJ3, damit ich die Positive Versorgungssannung zur Verfügung habe.
Die Gesamtkosten für Platine und Bauelemente betragen damit in etwa unschlagbare 10 Euro.
Daneben wird ein (bei mir ohnehin vorhandenes) Programmiergerät und ein SMD-tauglicher Lötkolben sowie Lötzinn (möglichst 0.5mm, als Privatnutzer muss es nicht Bleifrei sein) benötigt. Bei mir z.B. ist der Lötkolben ein einfacher Ersa Multitip 260 mit Dauerlötspitze.
Für die Weichenlage-Rückmeldung habe ich mir etwas Eigenes gebaut,
was ich in meinen vorhandenen S88-Bus einbinden kann.
Zuerst den Prozessor, dann die übrigen SMD-Bauelemente. In der beschriebenen Ausbaustufen sind das auf der Vorderseite der 10k Widerstand am ISP-Header, auf der Rückseite der 100nF-Kondensator in der Mitte und die beiden Dioden+Transistor für ACK.
Bei den SMDs sollte man sich angewöhnen, immer nur die gerade benötigten Bauelemente eines Wertes gleichzeitig zu löten und auch nur diese kurz vorher aus dem Gurt zu nehmen. Diese entwickeln ein beachtliches Eigenleben und sind RuckZuck
auf Nimmerwiedersehen weggesprungen, weggerutscht oder sonst wie verschwunden.
Die kleinen SMD-Kondensatoren sind überhaupt nicht, alle anderen Dioden und Transistoren nur als "Microcode" gekennzeichnet. Wenn man nicht ständig nachmessen oder Datenblätter suchen möchte, sollte man rausnehmen und verlöten in einem Arbeitsgang bündeln.
SMDs löte ich, in dem ich bei einfachen Bauelementen ein Pad verzinne, dann das Bauelement mit einer Pinzette in das heisse Lötzinn reinschiebe. Damit ist es erstmal fest. Dann drücke ich auf das Bauelement und mache die Lötstelle noch einmal kurz warm, damit das Baulement plan auf der Leiterplatte zu liegen kommt. Dann erst wird das anderen Ende ebenfalls gelötet.
Der Prozessor wird vor dem Löten sorgfältig auf den Pads positioniert und mit einer Modellbauklammer, Kleber oder einem (ruhigen) Finger fixiert, so das eine optimale Auflage aller Pins erreicht wird. Dabei unbedingt die vorgeschriebene Einbaulage (Ecke mit Punkt) beachten.
Macht man was hier falsch, kann man nach dem Löten die Platine incl. Prozessor meistens wegwerfen, weil man den Prozessor nur selten ohne spezielle Hilfsmittel zerstörungsfrei wieder ausgelötet bekommt.
Jetzt mit dem Lötkolben zwei diagonale Pins kurz anlöten, so das der Chip auf der Platine fest sitzt. Zur Not kann man jetzt noch etwas korigieren. Wenn alles passt, dann auf die übrigen Pins etwas Lötzinn geben. Es macht nichts, wenn dabei Pins zusammen kleben, solange es nicht zuviel Zinn ist.
Anschliessend wird auf jede Seite nacheinander Entlötlitze aufgelegt, mit dem Lötkolben erhitzt und dabei das überschüssige Lötzinn aufgesagt. Durch den Kapilareffekt bleibt das Lötzinn zwischen Pin und Pad erhalten, wenn der Chip plan auf der Platine gelegen hat. So bekommt man fast optimale Ergebnisse.
Nun ist mit einer Lupe und im Duchlichtverfahren zu prüfen, ob wirklich alle Pins sauber voneinander getrennt sind. Manchmal bleibt auch noch ein Stück der Entlötlitze hängen, was entfernt werden muss. Erst wenn dass alles geprüft ist, sollte man mit den restlichen Bauelementen in der Reihenfolge erst niedrig, dann hoch weitermachen.
Nachtrag: zum Auslöten ein Tipp von Wolfgang Kufer
"Ganz einfach: 1. Lötzinn erst soweit wie möglich absaugen, 2. Lackdraht unter Baustein durchfädeln und an einem Ende fixieren 3. nun der Reihe nach Pins warmmachen und Draht untendurch mit Gefühl herausziehen ... geht auf wie Reißverschluß"
Falls keine 6pol Fassung für den Optokoppler zur Verfügung steht, kann man einfach eine andere Fassung aufschneiden. Ganz würde ich auf die Fassung nicht verzichten. Bei den LEDs, Dioden, Elkos und den ICs muss man die Einbaulage beachten. Die Minus-Seite hat in der Regel eine Markierung oder einfach ein kürzeres Anschlussbeinchen, bei den ICs ist eine Kerbe oder ein Punkt die Markierung. Der Spannungsregler muss mit der Metallseite zum Treiberbaustein eingebaut werden, sonst geht gar nichts. Die Schraubklemmen sollte man mit reichlich Lötzinn bedenken, da diese Verbindung durch das Schrauben eine mechanische Belastung ertragen müssen. Ich hatte das Problem bei mehreren Bausteinen von LDT, die so knapp gelötet waren, dass schon wenige Schraubvorgänge zu schwer zu lokalisierenden Kontaktproblemen geführt hatten.
Nach einer selbstkritischen Kontrolle aller Lötstellen und Bauelemente kann nun zum ersten Mal über ein Labornetzteil mit Strombegrenzung auf ca. 100mA eine Spannung von 15V eingespeist werden. Da der Prozessor noch keine Software hat, passiert erstmal nichts. Die Stromaufnahme sollte unter 50mA liegen und es sollte nichts warm werden. Schlägt die Strombegrenzung zu oder fängt es an zu riechen oder wird etwas warm, sofort Spannung abschalten und den Fehler suchen !!!
======= 49 #elif (__AVR_ATmega162__) 50 // if changed: check timings, timer settings, baudrate 51 // atmega162: 1024 Byte SRAM, 512 Byte EEPROM 52 #define SRAM_SIZE 1024 53 #define EEPROM_SIZE 512 54 #define EEPROM_BASE 0x810000L =======Anschliessend sind die gewünschten Module in config.h die '#defines' zu Prüfen.
#define PORT_ENABLED TRUE // TRUE: PortEngine does control the outputs // FALSE: PortEngine only does the timersJetzt muss die Software noch für den Atmel übersetzt werden. Dazu wird jeweils das aktuelle WinAvr und AVRStudio (Für Download ist eine Registrierung erforderlich) installiert. Jetzt kann man das schon im OpenDCC-Download vorhandene Projektfile (Opendecoder2.aps) aufrufen, wodurch sich das AVRStudio mit dem C-Code öffnen sollte.
Ich verwende dazu einen AVRISP von Atmel. Dieser wird vom AVRStudio direkt unterstützt. Es gehen natürlich auch die anderen Programmer.
Das 6pol Adapterkabel vom AVRISP wird auf den ISP-Header auf dem Board gesteckt, die rote Markierung für Pin 1 muss zum Taster zeigen.
Jetzt muss das Board mit Spannung versorgt werden, da der AVRISP seine Betriebsspannung vom Board erhält und sonst nicht arbeiten kann.
Die LED am AVRISP muss grün leuchten. Die Stromaufnahme liegt jetzt bei ca. 45mA, max 80mA.
Im AVRStudio ist mit dem Connect-Button der richtige Brenner-Typ und Port einzustellen.
Wenn alles geklappt hat, öffnet sich ein neues Fenster. Dort sollte man noch einmal den richtigen CPU-Typ einstellen und dessen Signatur prüfen. Wenn die Signatur passt, sollten als erstes die Fuses eingestellt werden.
Foto aus der Programmierphase
Als erstes sind die Fuses zu programmieren.Hier sind die zu ändernden Werte markiert. Wichtig ist, das der Haken bei "CKDIV8" entfernt ist und der interne Oszillator aktiv ist.
Das Aktivieren des Brown-out (ganz oben) ist mehr eine Sicherheitsmassname. Alles andere bleibt wie abgebildet.
Im zweiten Schritt wird dann das gerade neu erstellte Dekoder .hex File ausgewählt und übertragen. Zum Schluss, nicht vergessen, auch das .eep File mit den voreingestellten Werten zu übertragen.
Unmittelbar danach startet der Prozessor neu und die LED auf dem Board sollte in 5er-Gruppe blinken. Damit sind dann alle Tätigkeiten in der Werkstatt beendet.