Seite 1 von 3

AD6/JS5 als Output

Verfasst: Di Aug 23, 2016 10:55 pm
von suzuki90
Hallo,

ich habe wie den meisten bekannt eine UMC2 in meinem Fahrzeug.
Inzwischen sind restlos alle Ein- und Ausgänge belegt.
Außer der AD6/JS5. Den kann man per Jumper entweder zur Barokorrektur, ext. 5V Eingang oder als Kleinleistungsausgang verwenden.
Für mich kommt letzteres in Funktion.
Ich muss noch ein Ventil am Motor steuern und mach das über diesen Ausgang, der ein Miniaturrelais schaltet, das wiederrum das Ventil schaltet.
Soweit so gut, aber ich kann den JS5 nicht in den programmierbaren Ausgängen wählen.
Ich sehe ihn in manchen Funktionen als möglichen Eingang, zum Beispiel als Eingang für ein Klopfsignal, und auch bei manchen als einen Ausgang, zum Beispiel als Tacho Output kann ich ihn wählen.
Aber gibt es irgendwie eine Möglichkeit, den einfach nur als programmierbaren Ausgang zu verwenden? Der soll einfach nur ab einer gewissen TPS UND/ODER Drehzahl aktiv schalten und fertig.
Kann man das vielleicht in der Ini ändern, dass man einen der nicht verwendeten Ausgänge (die wählbaren LED-Ausgänge, die man zum Beispiel verwenden kann, wenn man nicht alle Zündausgänge nutzt) ändert, so dass der den JS5 schaltet?

Wäre super, wenn mir da jemand weiter helfen kann.

Ich denke, ich brauche ein Erweiterungsboard mit mehr Ein-/Ausgängen... Oder die MS3Pro... Wenn ich das Geld dazu hätte...

Edit:
In der INI finde ich folgendes:

Code: Alles auswählen

;-------------------------------------------------------------------------------
    ; map the arrays and supply the labels. 
    ; all arrays are expected to be the same length in the first dimension
    ; thus a [ 7] array will be 7 ports in length and expect 7 labels
    ; The second dimension will drive the number of conditions per array.
    ; thus a [7x2] array will have 2 conditions joined by the conditionRelationship.
    ; a [7x3] will have up to 3 conditions.
    portEditor = std_port_edit, "Programmable On/Off Outputs"
        ; 1st the array constant, then the labels in the index order. 
;        enabledPorts = psEnabled, "PM2 - FIdle", "PM3 - Injection LED", "PM4 - Accel LED", "PM5 - Warmup LED", "PT6 - IAC1", "PT7 - IAC2", "PA0 - Knock Enable"
        enabledPorts = psEnabled, "FIDLE", "LED D14", "LED D16", "LED D15", "PT7 - IAC1", "PT6 - IAC2", "JS11 (PA0)"

        ; new CAN id, optional if psCanId is set to a valid array equal in size to outputOffset, it will be in the UI. 
        outputCanId  = psCanId
        outputOffset = psOutOffset 
        outputSize   = psOutSize 
        operators    = psCondition, "<", "=", ">", "&" ; the actual ASCII value of the operator will be sent to the controller
        threshold    = psThreshold
        hysteresis   = psHysteresis
        powerOnValue = psInitValue
        triggerValue = psPortValue
        conditionRelationship = psConnector, " ", "|", "&"
        activateOption = extendedDataInSize
        activateOption = filter32BitChannels
;-------------------------------------------------------------------------------
Die Frage ist, ib es reicht, hier noch was rein zu schreiben, also den JS5 hinzuzufügen oder ob man dann woanders auch noch was ändern muss. Oder eben einen der LEDs mit dem JS5 ersetzen.

Weiter oben in der Ini steht noch:

Code: Alles auswählen

displayOnlyField = "Programmable On/Off Output: FIDLE",        psEnabled[0], {psEnabled[0]}
 displayOnlyField = "Programmable On/Off Output: LED D14",      psEnabled[1], {psEnabled[1]}
 displayOnlyField = "Programmable On/Off Output: LED D16",      psEnabled[2], {psEnabled[2]}
 displayOnlyField = "Programmable On/Off Output: LED D15",      psEnabled[3], {psEnabled[3]}
 displayOnlyField = "Programmable On/Off Output: PT7 - IAC1",   psEnabled[4], {psEnabled[4]}
 displayOnlyField = "Programmable On/Off Output: PT6 - IAC2",   psEnabled[5], {psEnabled[5]}
 displayOnlyField = "Programmable On/Off Output: JS11 (PA0)",   psEnabled[6], {psEnabled[6]} 
Und drunter:

Code: Alles auswählen

dialog = outputtest10, "LED14/SpkA", yAxis
            commandButton = "Off", cmdtest10off, { status3 & 8 }
            commandButton = "Pulsed", cmdtest10pulsed, { status3 & 8 }
            commandButton = "On", cmdtest10on, { status3 & 8 }

          dialog = outputtest11, "LED16/SpkB", yAxis
            commandButton = "Off", cmdtest11off, { status3 & 8 }
            commandButton = "Pulsed", cmdtest11pulsed, { status3 & 8 }
            commandButton = "On", cmdtest11on, { status3 & 8 }

          dialog = outputtest12, "LED15/SpkC", yAxis
            commandButton = "Off", cmdtest12off, { status3 & 8 }
            commandButton = "Pulsed", cmdtest12pulsed, { status3 & 8 }
            commandButton = "On", cmdtest12on, { status3 & 8 }
            
            ...
Kann ich zum Beispiel alle LED14 ersetzen durch JS5? Oder muss ich was ganz anderes ändern?

Re: AD6/JS5 als Output

Verfasst: Mi Aug 24, 2016 7:02 am
von Alfagta
Hallo, einfach ersetzen wird nicht gehen den die Firmware weiß davon rein gar nichts.
Dazu müsste man eine Änderung vornehmen was aber bei einer neuen Firmware jedesmal übernommen werden muss.
Kannst du nicht was umlegen? Also Tacho Output auf JS5 und den Ausgang den du jetzt als Tacho Output hast für das Relais?

Gruß

Re: AD6/JS5 als Output

Verfasst: Mi Aug 24, 2016 12:29 pm
von suzuki90
Könnte ich, wenn ich Tacho Output nutzen würde. Hab schon geschaut, da ist nichts dergleichen. Lüfter steuer ich ja auch über einen programmierbaren Ausgang , ansonsten gibt es noch Leerlaufventil und Ladedruckregelventil, Benzinpumpe hat ihren eigenen Ausgang. Und das wars. Mehr hat die UMC2 nicht. Außer eben diesen Ausgang...
Schade, wie mach ich das denn dann nur???

Re: AD6/JS5 als Output

Verfasst: Mi Aug 24, 2016 12:49 pm
von Alfagta
Magst du mal deine MSQ einstellen damit wir sehen was aktuell alles so verwendet ist und welcher Ausgang für welche Funktion.

Gruß

Re: AD6/JS5 als Output

Verfasst: Mi Aug 24, 2016 2:25 pm
von suzuki90
Ja, mach ich heute abend daheim, wenn ich am Laptop bin.

Re: AD6/JS5 als Output

Verfasst: Fr Aug 26, 2016 12:53 am
von suzuki90
Hier mal meine msq.

Wenn noch jemand eine Idee hat, dann immer her damit, also was den Ausgang betrifft.
CurrentTune.msq
(114.06 KiB) 250-mal heruntergeladen

Re: AD6/JS5 als Output

Verfasst: Fr Aug 26, 2016 7:23 am
von Alfagta
Servus,

also ich finde da jetzt auch keine Möglichkeit durch umverdrahten einen Ausgang zu bekommen.

Du nutzt ja Vollsequentielle Zündung sowie Einspritzung oder?

Re: AD6/JS5 als Output

Verfasst: Fr Aug 26, 2016 10:57 am
von tooly
Tach,
schnapp dir doch sowas
http://www.ebay.de/itm/Pro-Mini-atmega3 ... SwDuJW18II
und noch sowas
http://www.ebay.de/itm/like/38156353367 ... noapp=true
ein Transitor dazu etwas code und fertig ist die Laube :mrgreen:
und teuer ist das wirklich nicht.

Re: AD6/JS5 als Output

Verfasst: Mo Aug 29, 2016 8:16 am
von suzuki90
Alfagta hat geschrieben:Servus,

also ich finde da jetzt auch keine Möglichkeit durch umverdrahten einen Ausgang zu bekommen.

Du nutzt ja Vollsequentielle Zündung sowie Einspritzung oder?
Ja genau.

Hm, das hab ich befürchtet... Also doch die MS3Pro schon im Winter...

@tooly:
Wie kann man das dann machen? Ist für mich jetzt nicht "schnell" gemacht, da dann über Drosselklappe und Drehzahl einen schaltbaren Ausgang zu bekommen.
Das Löten bekomme ich schon hin, das programmieren hab ich im Studium schon auch mal gelernt, hatte sogar Microcontroller programmieren müssen. Hab aber leider kaum mehr Ahnung.
Die Teile sehen ja echt günstig aus...

Na mal sehen, ob mir noch eine Lösung einfällt...

Re: AD6/JS5 als Output

Verfasst: Mo Aug 29, 2016 8:27 am
von Alfagta
Musst nicht zwingend auf die MS3 wechseln.

Was er meint ist eine Erweiterung über Can Bus.
Es gibt dann bei der MS2 Programmable Outputs über Can Bus.

Ich glaub ich muss da echt mal so eine Trägerplatine machen wo man einen Arduino drauf hängt oder einen Teensy.
Teensy hätte schon ein Can Bus intern da braucht man nur noch einen Transceiver.

Gruß

Re: AD6/JS5 als Output

Verfasst: Mo Aug 29, 2016 12:43 pm
von suzuki90
Das klingt immer alles sehr verlockend.
Ich bräuchte aber eine Anleitung, welcher Pin genau wo angeschlossen werden muss und einen Code dazu.

Re: AD6/JS5 als Output

Verfasst: Mo Aug 29, 2016 4:26 pm
von tooly
so müsstest du das Verkabeln. (Bild siehe Anhang) Was den Code angeht musst du dich an Alfagta wenden, das ist nicht meine Baustelle.

Re: AD6/JS5 als Output

Verfasst: Di Aug 30, 2016 7:32 am
von suzuki90
Das sieht ja hardware-technisch easy aus.
Wenn mir da jemand wirklich mit dem Code helfen kann, wäre das eine einfache Sache. Die Teile kosten ja nur paar Euro...

Re: AD6/JS5 als Output

Verfasst: Di Aug 30, 2016 7:47 am
von Alfagta
Wenn du nur Relais ansteuern willst nimm statt dem Transistor einen ULN2003A.
Da hast 7 Ausgänge in summe kannst so etwa 2,5A schalten was für Relais leicht genug ist.
Freilaufdioden sind im ULN enthalten. Eingangswiderstände fallen weg.

Wenn du schon via Can Bus an die MS gehst dann bekommst 8 Zustände für die Ausgänge gesendet.

Re: AD6/JS5 als Output

Verfasst: Di Aug 30, 2016 9:47 am
von suzuki90
Wow, jetzt wirds wirklich interessant. 7 mögliche, zusätzliche Ausgänge? Schaltet dann einer jeweils bis zu 2,5 A?
Hab ja noch eine weitere Lüftersteuerung geplant, Pumpe für Wasser-Ladeluftkühler usw.
Dann könnte ich theoretisch den AD6 als Eingang machen, da einen Wassertemperatursensor für die LLK ran hängen und über die schaltbaren Ausgänge die Wasserpumpe sowie den Zusatzlüfter noch schalten...

Und wer hilft mir beim Code?
Wäre das nicht noch ein weiteres, attraktives Board? 7 Zusatzausgänge... Könnte man auch dein CAN-Display zusammen mit so einem Zusatz-Ausgangsboard am CAN betreiben? Also würde das schon getrennt halten, aber beide Sachen haben ihren Reiz...