Support Megasquirt, Tech Edge WBO2, Tuner Pro, AutoSport Labs et Fenixecu 

  • Alpine A110 1600 SX. Installer une injection.

  • Vos montages, vos projets, vos remarques, c'est ici ;-)
Vos montages, vos projets, vos remarques, c'est ici ;-)
 #4179  par Manu
 16 juin 2015 14:27
Je pense surtout que ma moulinette est obsolète. Il faudrait que je la revoie puisqu'elle a été conçue il y a plus de 7 ans pour dépanner un pote. Depuis le format LOG des Megasquirt a changé...
 #4194  par Gégé13821
 21 juin 2015 17:56
Modification du seuil ITB (90 % Baro)
Manu a écrit :...........
Pour compiler le firmware MSextra il faut installer CygWin, Make et les tools de compilation pour processeur Freescale. Ensuite le code source est livré avec les firmware. Pour compiler il suffit de taper "Make release" et voila.
............
J'ai fouillé les différents fichiers du code source pour trouver le seuil de basculement du mode ITB (basculement du mode Pression-Régime au mode Ouverture-Régime).
A priori, un seul fichiers est concerné :
ms2extra_3.3.3_release\ms2extra\ms2_extra_misc.c

Partie du code à modifier pour la calcul en mode ITB :
Code : Tout sélectionner
int calc_ITB_load(int percentbaro)
{
    int tmp3, tmp4, tmp5; 
    tmp3 = intrp_1ditable(outpc.rpm, 10,
            (unsigned int *) flash11.ITB_load_rpms, 1,
            (int *) flash11.ITB_load_loadvals);
    tmp4 = intrp_1ditable(outpc.rpm, 10,
            (unsigned int *) flash11.ITB_load_rpms, 1,
            (int *) flash11.ITB_load_switchpoints); 
    if (percentbaro < 900) {
        /* Make MAP fit in to 0-tmp3 % load... so if user selects 60%,
         * 0-90kPa would be 0-60% load, and the throttle position above
         * that point to 100% throttle will be 60% load to 100% load
         */
        tmp3 = (((long) percentbaro * tmp3) / 900);
    } else {
        /* Make TPS fit in tmp3 - 100% */
        if (outpc.tps >= tmp4) {
            /* This is the amt of load TPS has to fit into */
            tmp5 = 1000 - tmp3;
            /* This is the actual percent above the
             * switchpoint TPS is at */
            tmp4 = ((long)(outpc.tps - tmp4) * 1000) / (1000 - tmp4);
            /* Now scale that into what's left above the 90 % baro 
             * point
             */
            tmp3 = (((long) tmp4 * tmp5) / 1000) + tmp3;
        }
        /* IF TPS hasn't gone above the setpoint, load should
         * stay at the user-set setpoint */
    }
    /* Make 10 the lowest possible load */
    if (tmp3 < 100) {
        tmp3 = 100;
    }
    return tmp3;
}
La valeur du seuil fixe dans le code correspond à 90 % de MAP (pourcentbaro)
Pour les calculs MAP est multiplié par 10, donc 90 % = 900.

Je pense donc que pour modifier ce seuil ITB, il suffit de modifier les valeurs 900 et 90 dans les 4 lignes concernées.
.. if (percentbaro < 900) {
.. * 0-90kPa would be 0-60% load, and the throttle position above (c'est une ligne de commentaire, à modifier pour garder la cohérence).
.. tmp3 = (((long) percentbaro * tmp3) / 900);
.. /* Now scale that into what's left above the 90 % baro (c'est une ligne de commentaire, à modifier pour garder la cohérence).

Et de recompiler le code (prochaine étape).
 #4195  par Manu
 21 juin 2015 20:41
Toutes les lignes qui commencent par /* sont des commentaires qui ne sont pas compilés ;)

C'est juste pour la lisibilité du code.

Donc seules les valeurs à 900 sont à modifier.

Edit : désolé j'avais lu le sujet en diagonales et j'avais pas fait attention que tu mentionnais déjà ce fait. mea culpa...
 #4196  par Gégé13821
 22 juin 2015 08:01
Résultat de la compilation sur Linux :

En premier lieu, une série d'avertissements du type de la ligne suivante.
D'après : "msextra.com/forums", c'est un avertissement normal.
ms2_extra_ign_in.o:(.rodata+0x5d4b): AVERTISSEMENT: référence à une banque d'adresses [38:a694] dans l'espace normal d'adresses à 5d4b
Mais aussi :
/usr/lib/gcc-lib/m68hc11-elf/3.3.6-9s12x-20120502/m68hc12/mshort/crt1.o:(.install4+0x1): AVERTISSEMENT: Référence à un symbole far « main » utilisant le mauvais réadressage peut provoquer une exécution incorrecte
/usr/lib/gcc-lib/m68hc11-elf/3.3.6-9s12x-20120502/m68hc12/mshort/crt1.o: dans la fonction « fatal »:
crt0.s:(.install4+0xc026): AVERTISSEMENT: référence à une banque d'adresses [3d:8000] dans l'espace normal d'adresses à c026
Pour ces deux, je n'ai pas d'explications.

Pas si simple de modifier le code !!!!
Merci aux informaticiens qui pourraient m'éclairer.
 #4197  par Manu
 22 juin 2015 12:53
Ce message indique une erreur de dépassement de mémoire pour la zone de programmation. Tu as du faire d'autres modifs ?
Ou alors tu as laissé la copie du fichier original dans le répertoire. Comme le compilateur compile tout ce qui se trouve dans ce répertoire il va compiler par exemple le :

ms2_extra_misc.c
et le
ms2_extra_misc-copie.c
Ce qui va générer un dépassement de mémoire...

Pour tester voici ta modif compilée :
Fichiers joints
Firmware MS2extra 3.4 beta 11 avec modification ITB pour switchbaro à 80kpa
(347.34 Kio) Téléchargé 238 fois
 #4199  par Gégé13821
 25 juin 2015 11:39
Manu a écrit :Ce message indique une erreur de dépassement de mémoire pour la zone de programmation. Tu as du faire d'autres modifs ?
Je n'ai même pas modifié les fichiers téléchargés. je voulais m'assurer que la compilation se passait correctement avec les fichiers d'origine. Perdu !!!
Manu a écrit :Ou alors tu as laissé la copie du fichier original dans le répertoire. Comme le compilateur compile tout ce qui se trouve dans ce répertoire il va compiler par exemple le :
ms2_extra_misc.c et le ms2_extra_misc-copie.c
Ce qui va générer un dépassement de mémoire...
J'ai laissé tous les fichiers téléchargés dans le répertoire "ms2extra". Pas un de plus.
Je n'ai pas modifié le fichier makefile.
Par contre je génère l'ensemble des configurations possibles : megasquirt2.s19, microsquirt.s19, microsquirt-module.s19, mspnp2.s19
Manu a écrit :Pour tester voici ta modif compilée :
Firmware MS2extra 3.4 beta 11 avec modification ITB pour switchbaro à 80kpa
Es tu sur qu'il faille passer à la version 3.4 ?
J'en étais resté à la "ms2extra_3.3.3_release"

Merci pour avoir faite la modification pour moi.
Encore un mystère !!! Pourquoi çà ne marche pas !!!
 #4201  par Gégé13821
 27 juin 2015 00:15
J'ai abandonné la compil !!
Et Flashé le 3.4 Béta modifié par Manu.
Avant d'activer le mode ITB, j'ai faite une acquisition pour améliorer mes tables et mon enrichissement.
Accessoirement cette acquisition m'a permis de définir ma courbe BaroSwitchPoint pour un MAP de 80 kPa.
 #4202  par Manu
 27 juin 2015 07:08
Au cas ou tu préfères une base de firmware 3.3.3 release
Fichiers joints
MS2extra 3.3.3 release avec Baroswitch ITB à 80kpa
(345.49 Kio) Téléchargé 185 fois
 #4209  par Gégé13821
 30 juin 2015 08:18
Toujours pas passé en ITB, réglage de deux autres paramètres :
Depuis trois ans que çà tourne, toujours des détails à régler :
Phasage de l'injection !!!
Je n'avais jamais approfondi ce point.
En 2012, il semblait que pour une injection séquentielle, l'injection se faisait soupape ouverte. Depuis quelque temps, je lis dans la littérature concernée, injection soupape fermée (avant son ouverture).

Les données initiales :
Injecteurs : 350 cc/mn.
Reqfuel théorique : 7.7 ms.
Diagramme de soupape : 24-68-68-24

L'ouverture de la soupape d'admission se fait donc de : 384° à 112°. Angle d’ouverture : 272°

Petit calcul complémentaire :
Temps d'ouverture à pleine charge (6000 tr/mn) : 7.5 ms
Premier soucis, le temps d’'injection (sans correction : accélération, ....) est déjà supérieur à la durée théorique d'ouverture de la soupape d'admission (en pratique, il ne faudrait pas retenir les très faibles ouvertures).

Phasage d'injection initiaux (calés sur fin d'injection) :
De 190° pour bas régime à 330° à pleine charge.
Nota : A faible charge, l'injection se faisait bien soupape ouverte, mais à pleine charge, le début d'injection était largement anticipé.

Test de nouveaux phasages pour une injection toujours soupape fermée :
De 390° à faible charge à 430° à pleine charge.
Petite acquisition avec ces nouveaux réglages et comparaison des deux tables VE1.
Conclusion : les variations ne sont pas significatives +/- quelques pour cents sur toute la table (non ciblé) !!!!
Question quelles sont les bonnes valeurs ????

Petite remarque complémentaire : sur mon montage, les injecteurs ne sont pas directement sur la culasse ou très proche, ils se situent avant les pipes d'admission soit à une quinzaine de centimètres de la soupape. En conséquence le volume entre l'injecteur et la soupape est d'environ 150 cc soit 3 fois le volume aspiré (à chaque cycle) à basse charge, et le tiers à pleine charge. Dans ces conditions, avec les réglages initiaux, il est très peu probable que l'injection ait eu lieu soupape ouverte, ce qui explique peut être le peu de résultats sur les nouveau réglages !!!

Merci pour votre aide.
 #4220  par Gégé13821
 02 juil. 2015 17:13
Ma prose sur le phasage de l'injection ne vous a pas inspiré !!!
Je vais conserver la disposition actuelle : Injection soupape d'admission fermée (juste avant son ouverture).

J'ai testé : Coupure Injection à la décélération.

Image

J'ai un peu galéré avec le dernier paramètre : Reprendre injection quand régime inférieur à :
Explication : "En général, réglez cette valeur quelques centaines de trs/min en dessous de votre régime minimal"
Je pensais que le régime minimal était le régime de ralenti, en réalité il doit falloir comprendre : régime défini au dessus comme régime à partir duquel on active la coupure d'injection (2500 tr/mn dans notre cas).

Remarque : Pour les fortes décélérations, de petites explosions dans l'échappement (mélange très pauvre ?). RAS en conduite normale.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 9