Sevcon Gen4
Inhalt:
Ein neuer Motorcontroller
Ich habe mal mit dem Gedanken gespielt, den alten Gleichstrommotor in meinem Kewet gegen etwas moderneres auszutauschen. Der Twizy ist weit verbreitet und hat eine aktive Community. Also habe ich mir mal dessen Motor und Steuerung angesehen. Der Twizy hat als Motor Controller den Sevcon Gen4 verbaut. Also habe ich mir den mal etwas genauer angesehen.
Hier ist der gesamte Testaufbau zu sehen: Der Sevcon Gen4, ein 36V Netzteil, der IXXAT USB to CAN Adapter und etwas Kabel.

Fürs Wohnzimmer reicht ein 36V Netzteil zur Stromversorgung anstatt des Fahrakkus, das ist die “Minimalkonfiguration”.
Wenn du einen gebrauchten GEN4 gekauft hast, solltest du die MOSFETS prüfen. Ich hatte einen, bei dem diese defekt waren.
Bei angelegter Spannung die Spannung zwischen B- und Motor Terminals prüfen. Diese sollte dann etwa 8-10V betragen. Ein anderer Wert weist auf einen Defekt hin.
Nachdem der GEN4 angeschlossen ist, sollte die grüne LED dauerhaft leuchten. Meistens dürfte diese aber blinken. Mehrmaliges Blinken ist ein Fehlercode, der dann im Manual nachgeschlagen werden kann.
Doch der Reihe nach. Bis es soweit war, das es funktioniert hat, habe ich einige Monate gebraucht! In diversen Foren finden sich unzählige Posts, in der frustrierte Anwender nach Rat fragen, weil sie nicht mehr weiter kommen.
Ich habe diese Fehler auch alle gemacht, und es nicht einfach sie zu vermeiden. Es kostet eine Menge Geld und viel Zeit. Ein Forenteilnehmer hat mal geschrieben: “Der Gen4 ist absolut nichts für Anfänger” und ich kann ihm da nur beipflichten, die Frustrationskurve geht steil nach oben und Fehler sind einfach vorprogrammiert.
Die Probleme mit dem Gen4 sind hauptsächlich:
An die programmer Software zu kommen und sie richtig einzurichten.
Den richtigen Programmieradapter zu finden und einzurichten.
Das alles zum laufen zu bekommen.
Fehler bei der Softwarebedienung.
Der Programmieradapter IXXAT USB to CAN compact
Was wir außerdem brauchen ist ein CAN Adapter. Der einzige der mit der Programmierumgebung von Sevcon, dem DVT customer kompatibel ist, ist der IXXAT USB to CAN 1 in der Version 1.4/1.5/1.6. Ich habe den Fehler gemacht, mir einen IXXAT USB to CAN 2 zu kaufen und habe mich Monate damit herumgeschlagen. Der Adapter ist definitiv nicht kompatibel mit der noch frei erhältlichen DVT Software. Leider ist der IXXAT USB to CAN 1 nicht mehr neu erhältlich, bei Ebay kann man ihn noch bekommen, allerdings sehr teuer. Ich habe ihn dann leider auch nach kurzer Zeit kaputtgespielt, wohl durch abziehen und anstecken unter Strom. Also bitte nie unter Strom vom CAN Port abziehen oder anstecken!
Hier eine Reparaturanleitung, falls euch das doch passiert.

Auf eine korrekte CAN Bus terminierung (Abschlusswiderstande) achten.
Link: Physischer Aufbau eines CAN Bus, Probleme im Fahrzeug
CANopen
In der Praxis heißt das: Die EDS Datei wird, wenn sie nicht im entsprechenden Verzeichnis vorhanden ist, vom DVT automatisch erzeugt. Ohne EDS Datei funkioniert nichts. Manchmal treten hier auch Fehler auf. In diesem Fall die Datei löschen und neu erzeugen lassen. Jeder GEN4 hat eine eigene EDS Datei im DVT Verzeichnis, die die GEN4 Seriennummer enthält.
DVT-Helper -> Settings -> Create EDS
Die EDS Files befinden sich im Ordner: /Tcl/common/program/EDS
Man sollte in regelmäßigen Abständen Sicherungskopien der DCF anlegen, falls mal was nicht so läuft, wie gedacht:
DVT-Helper -> Settings -> Safe DCF
Über den Reiter “Tree” können die Werte aber auch direkt grafisch im Helper geändert werden.
Hierbei ist zu beachten, das Werte nur im “Peop” Mode geändert werden können. Dazu auf “Go preoperational” klicken. Manchmal muß der GEN4 danach neu gestartet werden (Spannung unterbrechen).
Niemals die DCF Datei manuell bearbeiten! DVT bemerkt das als Inkonsistenz und die Datei ist damit “zerschossen”.
Die programmer Software Sevcon DVT
Der Sevcon Gen4 wird über CAN programmiert, oder parametriert, genauer gesagt CANopen. Damit das alles etwas einfacher geht, gibt es von Sevcon eine Software namens DVT und ein bisschen Kram drumrum.
Leider rückt Sevcon die Software nicht raus, allenfalls in Kombination mit einem neuen Gen4. In Netz kursieren hier und da ein paar Links zu DVT Paketen. Generell sind die neueren Versionen kopiergeschützt, nur die älteren sind ohne Kopierschutz zu betreiben. Ich benutze die “C9466 Shiroko Design Verification Test System” in der Version 12.497, eine Version des DVT.
Ich kann hier nur schreiben, was ich getestet habe: Die Software läuft unter Windows 7 und auch auf einem MAC mit Parallels Desktop. Auf einen PC ohne serielle Schnittstelle wird die Fehlermeldung “COM1 could not be opened” angezeigt, was die Funktion aber nicht beeinträchtigt.
Update: Die Software läuft auch auf Windows 10 problemlos!
DVT Installieren
Um die DVT-Software zu installieren, starten Sie die “Sevcon Controller Programs-Setup.exe” mit Administratorrechten.
Folgen Sie der Anleitung durch den Installationsprozess und sobald das erste zusätzliche Setup gestartet wird, folgen Sie
den folgenden Schritten, um sicherzustellen, dass alles korrekt installiert wird:
- ActiveTCL-Installationsprogramm: Akzeptieren Sie einfach die Standardeinstellungen für alles. ActiveTcl ist die Skript
Interpretationsumgebung, in der das DVT ausgeführt wird. Das DVT selbst ist nur ein Haufen von Skriptdateien,
kein eigentliches Programm. - BLT-Installationsprogramm: (wird bei einigen Versionen automatisch installiert) Sie müssen BLT in dasselbe Verzeichnis wie ActiveTcl installieren, nämlich C:\Tcl.
Verwenden Sie nicht den Standard-Installationspfad von C:\Program Files\Tcl - Ixxat-Treiber: Installieren Sie die Ixxat-Treiber für das Ixxat USB-to-CAN. STARTEN SIE NICHT NEU, nachdem Ende der Einrichtung.
- DVT_Customer: Wenn der PC während des Setups heruntergefahren wird, starten Sie einfach das Installationsprogramm neu und befolgen Sie die obigen Schritte. Wenn Sie bereits eines der Programme installiert haben, können Sie die Schritte mit “Abbrechen” überspringen.
Sobald diese drei Komponenten installiert sind, wird das Setup DVT_Customer installieren und Sie auffordern, den Computer neu zu starten. Akzeptieren Sie diesmal den Neustart. Sobald der Computer neu gestartet ist, sollte alles einsatzbereit sein.
Die EDF-Dateien müssen sich im Ordner” C:\DVT_Customer\”befinden.
Die aktuelle DVT Version ist 13.8, die auch mit dem IXXAT usb to CAN V2.0 kompatibel ist, die aber wohl einen Hardwareschutz hat.
Arbeiten mit dem DVT
Man kann im DVT schnell etwas falsch machen, das sich nicht mehr korrigieren lässt. Deshalb bitte 3x überlegen und nachlesen, was man tun will. Das aufspielen einer neuen Firmware ist besonders kritisch, DVT nimmt auch Firmware Daten, die nicht kompatibel zum GEN4 sind!
DVT Helper Fenster
Hier werden alle wichtigen Einstellungen vorgenommen.
“Main – > Get Controller Information” mal aufrufen, so sieht man, was auf dem GEN4 drauf ist.

Wie zu sehen ist, zeigt das Fehlerfenster 4 Fehler an!
Fehler 3 ist eigentlich kein Fehler, er besagt nur, das der GEN4 im Preop Mode ist.
Fehler 2 besagt, das kein Temperaturfühler angeschlossen ist. (gelöst, Temperaturfühler angeschlossen).
Fehler 1…. ( Fehler unklar, ist aber verschwunden, nachdem ich den Gaspedalsensor anders verschaltet habe und “Control Mode” geändert habe).
Fehler 0… ( Fehler unklar, ist aber verschwunden, nachdem ich den Gaspedalsensor anders verschaltet habe und “Control Mode” geändert habe).
Eine neue Firmware aufspielen
Das geschieht mit dieser Befehlssequenz um DVT Eingabefenster (darauf achten, das der GEN4 im Preop Mode ist.)
Boot Loader Mode = “bts 1” -> Controller LED flickert und geht aus.
Firmware laden = “load_dld 1”
– .dld File laden – -> (Controller bestätigt mit ” ……… OK)
Boot Loader Mode verlassen = “bte 1”
Login in den Controller: “login 1”
Sonstige Befehle im DVT Eingabefenster
Generell gilt, programmieren des GEN4 immer im Preop Mode: Pre-operational setzt den Controller in einen Konfigurationszustand und erlaubt uns, die PDO-Maps in CANopen zu ändern. Hier einige Befehlsbeispiele:
Pre operational Mode: “fpo 1 PRE”
Operational Mode: “fpo 1 OP”
Register auslesen: “sdo_rnx 1 0x1018 0x02″ -> Befehl, GEN4 Adresse, Speicheradresse, Unteradresse
Register schreiben: “sdo_wnx 1 0x1018 0x02 0x1000″ -> Befehl, GEN4 Adresse, Speicheradresse, Unteradresse, Wert
Aktive Fehler auslesen: “flts”
DVT Alternative
Es gibt eine Alternative zum IXXAT Programmieradapter und dem DVT: Ein Arduino mit einem CAN Shield und entsprechender Firmware: Hier auf GITHUB.
Mit dieser Lösung können Befehle an den GEN4 gesendet werden und er damit progammiert werden.
Was nicht funktioniert: Eine neue Firmware aufspielen, Dateien schreiben und einlesen. Also muss schon ein funktionierendes System auf dem GEN4 vorhanden sein.
Ein Arduino Uno und ein CAN Shield mit SPI Anschluss (wichtig!) tut seinen Dienst. Nebenbei, dieses Shield hat einen CAN Terminierungswiderstand aktiviert.
Wozu diese Lösung noch zu gebrauchen ist: Man kann gut und billig eine Lösung integrieren, die dynamisch Parameter wie z.B. die Rekuperation im Fahrbetrieb ändert! (Wozu es eigentlich auch gedacht ist!)
Mein nächstes Projekt wäre dann, meinen eh schon vorhandenen Arduino, der zur Kommunikation mit meinem Android Autoradio dient und das selbe CAN Shield hat, hier mitzubenutzen.
Twizy Motor
Nachdem der GEN4 nun soweit funktioniert, kam der nächste Schritt:
Ich habe einen gebrauchten Twizy Motor mit Getriebe gekauft, den ich an den GEN4 angeschlossen habe. Dazu habe ich dankenswerter weise ein “Device Configuration File” (DCF) für den Motor bekommen.
Dem Motor habe ich einen eigenen Beitrag spendiert, in dem es sich um die Überholung und den Einbau in den Kewet dreht!
Außerdem ist ein Relais unbedingt notwendig, das den Akkustrom schalten kann. (Auf eine Freilaufdiode an der Spule achten!!)
Testanordnung mit Motor und Akku
In den Bildern ist der gesamte Aufbau mit GEN4, Motor, Relais, Akkuanschluss und Verkabelung zu sehen:

Probleme mit dem GEN4
Leider hat sich erst einmal garnichts bewegt. Es waren noch einige Stunden Anpassung und Versuche notwendig, bis der Motor dann endlich lief. Hier eine kurze Zusammenfassung der Notwendigen Schritte:
- Die Verkabelung des Motors mit den 3 Phasen und des Relais ist der GEN4 Dokumentation zu entnehmen und Standart.
- Zusätzlich hat der Motor einen Drehgeber und einen Temperatursensor, die verkabelt werden müssen.
- Im DVT sind noch einige Einstellungen zu verändern, damit der Motor läuft.
Gaspedalsensor
Eine größere Hürde ist die richtige Einstellung des Gaspedalsensors. Sowohl Potentiometer Sensoren können angeschlossen werden, wie auch elektronische Spannungssensoren, wie sie z.B. in moderen Autos verbaut werden. Ich habe, nach dem mein Kewet Potentiometersensor nur noch Probleme gemacht hat, ihn duch einen billiges Gaspedal von Aliexpress ersetzt. Nicht die beste Qualität, aber es funktioniert! Diese Gaspedale sind verschleißfrei und funktionieren zuverlässig im Gegensatz zu einem mechanischen Potentiometer. Ein neues Poti das ich für teuer Geld in England bestellt habe (40 EUR), hielt etwa einem Monat, dann war es wieder hin….. Chinaschrott??
Ich habe es sogar hinbekommen, eine “1 pedal drive” Funktionialität zu programmieren, das heißt, das Auto kann nur mit dem Gaspedal gefahren werden:
2/3 des Gespedalhubs sind für die Beschleunigung, in unteren 1/3 wird abgebremst (und rekuperiert). Das ist tatsächlich ein ganz neues Fahrgefühl!! Die Bremse muss nur noch sehr selten betätigt werden.
Die analogen Eingänge1 und 2 (Gaspedal und Bremseingang) werden parallel auf die Spannung des Gaspedalsensors (0,9V – 5,2V Spannungsbereich) gelegt. Das entsprechende Setup sieht dann so aus:
Bremseingang: 0,9V – 2,5V (2,5V – 3,0V Leerlauf)
Gaspedaleingang: 3,0V – 5,2V
Demnächst mehr dazu…….
Kommunikation mit der Aussenwelt
Im Gegensatz zum EMUS BMS, das alle verfügbaren Daten alle Sekunde am den CAN Bus sendet, muss man dies im GEN4 extra einrichten.
Hierzu werden TPDOs benutzt die individuell konfiguriert werden können. Es ist der CAN Identifer und der Inhalt aus der Object Dictionary anzugeben.
Beitrag wird fortgesetzt….. hier der nächste Beitrag zum Twizy Motor
Bei Fragen bitte die Kommentarfunktion nutzen!
Dies ist ein privater Blog. Brauchst du professionelle Hilfe zum GEN4, EMUS BMS, EV Umbau oder Programmierung? Dann bitte hier klicken!
Hallo Buddha,
alles Gute für 2020.
Ich versuche mit identischer Konfiguration (Win7, IXXAT, DVT) eine ZERO (Sevcon 4 Size 6) zu konfigurieren.
Verbindung zum Kontroller funktioniert, CAN-Datagramme sichtbar.
Leider gelingt mit das Sichern der DCF nicht.
Nach einiger Laufzeit gibt DVT die Fehlermeldung aus:
can’t read “master_parameter_names(5640sub1_v1)”: no such element in array
anschließend Endlosschleife von DVT, nur per Taskabschuss zu beenden. Keine DVT geschrieben.
Die Objektnummer 5640 könnte auf das CLI-Interface von DVT hinweisen.
Ohne eine saubere Sicherung der aktuellen Konfiguration, möchte ich keine Updates bzw. Änderungen
am Controller vornehmen, was aber theoretisch möglich wäre.
Haben Sie einen Tipp für mich ?
Mit freundlichen Grüßen
Xavier
Hallo Buddah,
jonntest du das Problem lösen oder umgehen? Ich habe einen ähnlichen Fehler. Bei 94% wird mit dem Fehler: can’t read “master_parameter_names(5603sub3_v1) abgebrochen.
In dem Master_Objekt_Dictionary gibt es auch diese Objekt ID 5603h, ebenso wie den Subindex 3 sowie die Version 1
Dort nennt sich das dann slave address. Die Beschreibung lautet: write slave address to be peeked.
Kann jemand näheres dazu sagen, wie man dennoch eine solche Datei erzeugen kann?
Viele Grüße
Hallo Xavier,
hast du auch zuerst eine EDS Datei erstellt?
Erst die EDS erstellen und dann die DCF……
Hallo, vielen Dank für die schnelle Antwort.
Eine EDS-Datei wurde am Anfang erstellt. Das klappte problemlos.
Ich nutze eine neue DVTC Version 2020.11.Wenn ich nach dem erstellen der EDS-Datei das DCF-File erstellen will ließt er auch bis 94% (dauert einige Zeit). Dann bricht er mit folgender Fehlermeldung ab:
can’t read “master_parameter_names(5603sub3_v1)”: no such variable
while executing
“infomsg “Could not save a value for object [ format 0x%s $index ],$subindex ($master_parameter_names($array_idx)) – got error $parameter_value.” error…”
(procedure “create_eds” line 471)
invoked from within
“create_eds $node_id $filename”
(procedure “programming_save_dcf” line 16)
invoked from within
“programming_save_dcf .main.dvt_help_1 1”
(menu invoke)
Beim Lesen des DCF Files habe ich nach der Betätigung des LOGIN-Knopfes das access-Level4.
Laut Objekt-Dictionary benötigt die ID 5603 jedoch das Access-Level 5. Besteht hier ein Unterschied zwischen DVT und DVTC Software? Ich kann in meiner DVTC Software maximal access-level 4 erreichen (ich wüsste zumindest nicht wie ich in die 5 wechseln könnte).
Besten Dank schon mal
Hello,
my DVT does not have button “Local IO Monitor”. I see that you have it, how did you get it ? Do I need newer version of DVT or some update ? I am aslo using the same „C9466 Shiroko Design Verification Test System“ verze 12.497.
Thank you very much.
I guess, sometimes DVT dont register all scripts very well. For me it was helping, simply doubleklick the related script in the DVT folder!
Hallo Jürgen,
das C in DVTC steht ja nur für “customer Version”, ich wüßte nicht, das eine andere Version verfügbar ist.
Zu den Passcodes:
Das GEN4 Produktmanual sagt dazu:
Access authorization
To prevent unauthorized changes to the controller configuration there are 5 levels of accessibility: (1) User, (2) Service Engineer, (3) Dealer, (4) OEM Engineering and (5) Sevcon Engineering. The lowest level is (1), allowing read only access, and the highest level is (5) allowing authorization to change any parameter.
Mit anderen Worten: Access Level 5 hat soweit ich weiß keiner und ist auch nicht nötig.
Die Passcodes mit denen sich DVT in den GEN4 einloggt stehen in der DVT-Datei “program/personal.tcl”.
Nun noch mal zu dem Problem:
Um die 5603 zu ändern, kann es sein, das du level 5 benötigst (nicht getestet), zum schreiben der .DCF aber nicht. Da liegt der Fehler dann doch woanders.
Schau doch mal nach, ob in der EDS Datei der Eintrag [5603sub3] vorhanden ist!