Throttle - FAQ

  • Wie ist der Status des Projekts?
    Das Projekt (ist wie alle Selbstbauprojekte) immer in Fluß - neue Funktionen kommen je nach Anforderungen dazu. (Genau deswegen baut man sich das ja auch selbst - damit man neue Wünsche leichter verwirklichen kann).
    Begonnen wurde mit einem Prototyp: leitungsgebunden, basierend auf mega32, dieser konnte Fahren, Schalten, CV's Programmieren und war als 'proof-of-concept' kodiert.
    Darauf wurde die Entwicklung mit At90can128 gestartet und ein erster Mustersatz von Platinen beauftragt, dieser existiert in ein paar Versionen bei den Entwicklern und interessierten Nachbauern. Die allgemeine Inbetriebnahme dieser Platinen ist erfolgt, nur CAN fehlt noch.
    Software?
    Die Entwicklung für Xpressnet (sowohl char als auch Graphik) ist abgeschlossen. Über Xpressnet lassen sich Loks fahren und komfortabel programmieren (auch per PoM, schreiben und lesen), Weichen und Signale (Extended Accessory) schalten, Feedback lesen und die Uhr sowie die Zentralenparameter einstellen. Über Funk sind inzwischen auch alle Funktionen verfügbar (Lok fahren, Schalten, Rückmelden, Programmieren). Es wird noch an der Unterstützung weiterer Funkmodule und an der Auslagerung der Graphik in das Flash gearbeitet.
    (Seite mit Wünsche, Anregungen und Meinungen)
  • Gibt es fertige Platinen?
    Aus der Erstserie sind leider keine PCBs mehr verfügbar. Bei entsprechender Nachfrage kann wieder ein Satz Prototypen aufgelegt werden. Diese würden ca. Euro 18,90 kosten, ein Displayadapter kommt auf 3,00.
  • Warum wurden keine größeren, leichter lötbare Bausteinen verwendet?
    Der Handregler ist auf einer kleinen Platinenfläche realisiert und bietet trotzdem viele Schnittstellen. Dies war nur mit den kleinen Bauteilen zu erreichen. Und nur in der Ausbaustufe 'Funkhandregler' werden Bausteine mit Pitch 0,5mm (das ist der Pinabstand) verwendet, diese gibt es nur in diesen Gehäusen.
    Für die normale Ausführung als kabelgebundener Regler sind Chips mit moderaten Abmessungen eingebaut. (Zudem ist SMD Löten einfacher als man zunächst vermutet.)
  • Welcher Drehgeber kann verwendet werden?
    In der Platine ist ein SMD Encoder Typ Alps EC11 mit 15/30 Schritten und 1.5Ncm Rastmoment vorgesehen. Alternativen (z.B. Elma E33) und deren Montage sind in der Bauanleitung beschrieben.
  • Mein Drehgeber macht immer 2 Schritte je Rastung, warum?
    Es gibt da 2 verschiedene Rastertechniken: Halfstep (z.B. 15/30) und Fullstep (z.B. 20/20) Inkrementalgeber. Das Design ist für Halfsteps ausgelegt.
  • Welcher Akku kann verwendet werden?
    Im Prinzip kann jeder LiIon-Akku verwendet werden. Bei sehr kleinen Akkus muß man den Ladestrom kleiner dimensionieren, siehe hierzu die Hinweise im Schaltplan und im Datenblatt des LTC4085. Verwendbar ist z.B. der LiION Camcorder-Akku 3,7V 1300mAh für CASIO (reichelt: VAP VFL006). Dieser reicht etwa für 30-50h Betrieb.
  • Brauche ich das EEPROM / FLASH?
    Noch nicht. Benutzerdefinierte Bilder werden in einer der nächsten Versionen im M25P80 abgelegt werden.
  • Ein Funkhandregler braucht doch eine Basisstation, was ist damit?
    Zu Beginn werden wir mit dem XBEE-Development-Kit von digi.com arbeiten.
    Die Platine selbst kann auch als XBEE-Explorer verwendet werden. (siehe Hinweis im Schaltplan). Die richtige Basisstation mit Xpressnet, CAN, USB ist das Gateway.
  • Wieviele Handregler kann man an der Basisstation verwenden?
    Mit Xpressnet sind bis 30 Handregler möglich - dies ist die Zahl der Busteilnehmer. Mit Funk erfolgt die Adressierung erfolgt über eine eindeutige HW-ID, hieraus ergibt sich erst mal keine Einschränkung von der Hardware her. Allerdings braucht man auch eine Verwaltungssoftware in der Basisstation und die Funkbandbreite ist auch endlich. Die aktuelle in Arbeit befindliche SW kann bis zu 4 Handregler verwalten.
    Siehe hierzu auch das Funkprotokoll.
  • kann man auch das XBee einsetzen oder muss es die XBee-Pro Version sein?
    Die Module unterscheiden sich in der Sendeleistung. Das XBEE hat 1mW, das XBEE-Pro hat 63mW, man darf aber nur mit 10mW senden. Demensprechend verändert sich die Reichweite - diese wird aber auch durch Hindernisse (speziell elektrisch leitende Hindernisse wie Metall oder Personen) beeinträchtigt.
    Es wird XBEE Series2, ZigBEE verwendet. Series 1 hat ein anderes Protokoll und wird nicht unterstützt.
  • Warum ist kein Loconet-Anschluß vorhanden?
    Aus heutiger Sicht halte ich (und ich bin da nicht alleine) Loconet nicht für eine gute Wahl: problematische Lizenzbedingungen, relativ langsam, wird vermutlich mit dem zukünftigen Datenaufkommen graphikfähiger Bediengeräte und BiDi-Kommunikation nicht mehr zurechtkommen.
  • Warum kein WLAN und LAN, das ist doch Stand der Technik!
    Mit WLAN und LAN sind die Anforderungen an den Prozessor und die Bausteine noch höher, ein Selbstbau wird technisch anspruchsvoller. Zudem braucht ein WLAN deutlich mehr Strom als die XBEE-Module.
  • Brauche ich IC8 (LT3465) oder nicht?
    Wenn der Regler Kabelversion mit 5V betrieben wird, dann reicht diese Spannung aus, die Hintergrundbeleuchtung anzusteuern. In diesem Fall empfielt sich FET und Vorwiderstand.
    Wenn die interne Spannung 3,3V ist _und_ eine weiße Hintergrundbeleuchtung verwendet wird, dann reichen die 3,3V nicht aus, die LED anzusteuern. In diesem Fall braucht es einen Step-Up-Wandler für die LED (IC8).
    Bei 3,V und gelber LED kann man mit dem FET arbeiten, die Spannung an der LED ist dann nur 2,2V. Wenn ein Display mit _einer_ LED zusammen mit dem LT3465 verwendet wird, so muß zusätzlich zur LED eine normale Si-Diode in Reihe geschaltet werden, um das Anschwingen des LT3465 zu gewährleisten.
  • Nach dem Start leuchten alle 4 Softkeys rot und nichts geht.
    Da ist der Inhalt des EEPROM nicht korrekt. Sicherheitshalber bleibt die Software stehen. Abhilfe: Software (komplett) neu einspielen.
  • 'update_throttle.bat' liefert eine Fehlermeldung
    update_throttle ruft AVROSP.exe auf. Atmel hat inzwischen eine neuere Version (die ebenso verwendbar ist), AVROSPII.exe. Hier muß man den Programmnamen in der .bat fallweise ändern.
  • Der Regler schaltet sich nach dem Einstecken nicht ein, was kann ich tun?
    Da ist ev. intern noch eine Restladung auf der Stromversorgung vorhanden. Abhilfe: Manuell mit der Stop-Taste einschalten.
  • Ich habe ein XBEE Modul eingesteckt, es wird aber nicht erkannt (no module)!
    Ist DIO7 und DIO6 auf Hardwarehandshake gestellt (CTS bzw. RTS)?
  • Ich habe das Display verdreht eingebaut, jetzt sind die Zeichen auf dem Kopf.
    Der Controller des EA-DOG128-6 kann davon überzeugt werden, invers auszugeben. Hierzu muß man ihn anders initialisieren. Das ist per Compile-Switch #define EA_DOGM_TOPVIEW im Treiber 'lcd_driver_st7565.c' bereits vorbereitet.
  • Der At90can128 wird vom Programmiergerät nicht erkannt.
    Stimmt die Versorgungsspannung? Ist die Lötbrücke R110 offen? Bei geschlossener Lötbrücke R110 treiben ISP und der RS485-Baustein gegeneinander.
  • Es kommt keine Verbindung am Xpressnet zustande.
    Ist nach dem Laden des Bootloaders die Lötbrücke R110 wieder geschlossen worden? Ist SJ14 geschlossen?
    Je nach Typ und Kombination von RS485 Treibern (speziell bei gemischten Betriebspannungen) kann es sein, das der Bus-Idle-Zustand nicht sicher erkannt wird (sog. 'fail-safe'-Fähigkeit der RS485-Tranceiver). Abhilfe schafft hier eine entsprechend ausgelegte Vorspannung der Busleitungen (Biasing) mit 1k5 Pullup gegen 5V auf Leitung A und 1k5 Pulldown auf Leitung B. Dieser Bias sollte nur einmal im System vorhanden sein, am besten bei der Zentrale.
    (Der Fehler trat mit Max3486 auf, Max3072 zeigte besseres Verhalten; dieser hat die Threshold bei etwa -50mV, so daß der Bus-Idle-Zustand auch ohne Vorspannung sicher erkannt wird.)
  • Wie funktioniert der Lokdatenbank-Download?
    Ursprunglich hat Roco hat für seine Multimäuse ein Xpressnet-Kommando erfunden, um die Lokliste zu übertragen; dieses Kommando ist allerdings als Slave-Message getarnt (kommt also 'offiziell' gar nicht von der Zentrale). Die OpenDCC-Zentrale sendet für den Download zur Multimaus nun einfach diese Nachrichten mit den Daten der internen Lokdatenbank als 'Slave' ab.
    Beim Handregler wird dies nun auf 'saubere Füße' gestellt und eine entsprechende Masternachricht definiert.
  • Wenn ich einen Firmware-Update mache, verliere ich doch meine Datenbank. Gibt es Hilfe?
    Mit dem Host Command Interface und einen Terminalprogramm kann die Datenbank vor dem Update gesichert und danach wieder restauriert werden.
  • Wie kann ich mit dem Handregler CVs einer Lok auslesen?
    Programmiermenu aufrufen, dann die gewüschte CV auswählen, dann entweder den Softkey Read oder RPoM drücken.
    • Read: es wird die Lok auf dem Programmiergleis gelesen.
    • RPoM: es wird an die zuletzt benutzte Lok ein Programmierbefehl auf dem Hauptgleis schickt. Wenn die Lok über einen GBM16 versorgt wird und Railcom® beherrscht, dann kommt die gelesene CV zur Anzeige.
  • Was ist denn CORTOS?
    CORTOS ist ein einfaches Multitaskingsystem (RTOS=Real Time Operation System), es ist bewusst extrem einfach gebaut: Feste Taskliste, feste Prio, keinerlei Listenverwaltung, nur kooperative Tasks, kein Timeslicing. Tasks kann man nur an oder abschalten. Dafür bietet es:
     - sehr geringen Overhead
     - Keine Interruptblockade
     - stabiles Timing
     - Möglichkeit zum Idle-Hook
    CORTOS ist damit gut für den 'kleinen' embedded-Bereich geeignet: Alles was kommen könnte ist ja vorher bekannt, daher kann der Overhead für Hinzufügen von Tasks und das Verwalten ensprechender Listen enfallen, dies passiert bereits im Sourcecode.
  • Es kommt interner Fehler, was bedeutet das?
    Interne Fehler werden dann dargestellt, wenn die Software bei einer Kontrolle einen ungültigen Zustand erkannt hat. Es gibt folgende Fehlercodes:
    1ERR_TURNOUT_SPACE there are too many turnouts operated simultaneously (more than 16)
    see #define NUM_OF_ACTIV_TURNOUTS 16
    2ERR_POWER_OFF can't turn power off (hardware error)
    3ERR_SLOT_OCCUPIED xpressnet see's the slot already in use (please try another slot)
    4ERR_NO_SLOT xpressnet can't find a empty slot
    10ERR_DATABASE data base full, last entry was not stored
    11ERR_DATABASE_FULL chaining in database corrupt (fatal)
    12ERR_DATABASE_ADDR0 loco with addr 0 in database (illegal)
    20ERR_XBEE_TX_OVERRIDEtoo many xbee messages, tx buffer overide
    21ERR_ATCMD_FAILED AT command to XBEE failed
    22ERR_XBEE_UNKNOWN_COMMAND AT command answer not recognized
    23ERR_XBEE_FAILURE XBEE module announces internal problem
    24ERR_XBEE_UNEXPECTED_FRAMEXBEE unexpected frame type
  • Weitere Fehlercode werden in der Funkversion angezeigt, diese werden direkt von XBEE-Modul durchgereicht. Sollte so ein Fehler auftreten, so bitte ich, den Fehler und die Umstände mitzuteilen.

Change Log

  • 20.03.2013: V01.04.00
     - Erweiterung auf 128 Lokeinträge (hierzu kann das bisherige EEPROM behalten werden
     - weitere Bilder in der Lokdatenbank
  • 02.08.2010: V01.01.00
     - Menustruktur geändert, siehe menueplan_mft.gif
     - Extended Accessory dazu
     - Menü zum Stellen der Modelluhr dazu
     - PoM Read dazu
     - Funksupport (bitte immer Basisstation und Handregler gleichzeitig updaten!)
  • xx.07.2009: V00.07
     - Stopfunktion im Lokmenu wählbar (Emergency Stop oder Fahrstufe 0)
     - Lokliste im Graphikpanel erweitert (besonders sächsische Dampfloks)
     - Cursor in Graphikmode (blinkend)
     - Control of LED_STOP added
     - Host Command Interface added
  • 04.04.2009: V00.06
     - Graphikdisplay 128 x 64
     - Kontrast einstellbar
     - Helligkeit Backlight vs. LED einstellbar
     - Bilddatenbank neu dazu (ca. 20 Loks)
  • 18.03.2009: V00.04
     - Drehrad im Lokmenu mit DC oder AC-Mode
     - Programmer (Sequenzer), um Lokadressen komplett zu lesen und zu schreiben (CV17, CV18, CV29)
     - Bitmode für CV29 mit detailierter Hilfe
     - bugfix for storing DCC default
     - bugfix für Erstverbindung mit Xpressnet (falscher Status 'disconnected')
     - brightness for backlight and led (+total gain) werden aus eeprom geladen
  • 14.03.2009: V00.03
     - Command Staion Config-Menu
     - Feedbackmonitor
     - Suppress of accessory query possible (with CV)
     - Lok Cache
     - Short Splash
     - extra 'about' screen