Aller au contenu

phdv61

Expert gestion électronique
  • Messages

    6 932
  • Inscription

  • Dernière visite

  • Réputation : Jours gagnés

    121

Messages posté(e)s par phdv61

  1. après, rien ne dit que ta pompe n'a pas d'autres problèmes qui ont entrainé la panne de ton électronique - cf mes explications sur les différentes pannes et leur origine. Tu es loin de l'Europe, donc pas facile de la faire refaire complètement.

    Mais il faudra peut-être t'y résoudre pour être sûr du résultat.

  2. Salut à toi, et Bienvenue parmi nous.

    J'ai vécu moi-même en Australie avec femme et enfants de 1996 à 2000, et deux de mes enfants y sont retournés y vivre avec leur femme depuis quelques années déjà, sont devenus australiens, et tous leurs enfants sont nés là-bas.

    Il faut nous en dire un peu plus sur ton Patrol, et ce qui a été fait dessus. A ce kilométrage, tu dois certainement avoir une culasse qui a été changée, et un "NADS" installé, avec un "manual boost control" qui est une catastrophe.

    La boite de vitesse du 2000 a un souci de 5e (je l'ai eu à 200 000 km). Assure-toi qu'elle a bien été réparée, ou changée. à 400 000km, c'est quasi certain.

    Les injecteurs ont combien de km ? Nous, on les change tous les 100-150 000km, et eux, pour ainsi dire jamais ! ATTENTION là dessus aussi, car cela finit par percer les pistons, et c'est pour cela qu'il y a tant de moteurs refaits la-bas.  Le "gourou" de leur site de Patrol est un dinosaure têtu comme une mule, qui ne veut rien savoir, car il est persuadé détenir toute la vérité. Mais leur site a de nombreux membres qui ont une sacré expérience du Patrol. Si tu étais venu ici avant, je t'aurais dit d'acheter plutôt un CRD, qui a bénéficié de différentes améliorations moteur.

    Ici, regarde les astuces et les "pannes et remèdes", qui sont très bien documentés. Tu ne trouveras rien de mieux.

  3. lorsque l'électronique de pompe lâche, dans la majorité des cas c'est

    - soit qu'il y a eu un court-circuit entre les deux fils qui vont vers chaque EV, et alors le Mosfet de puissance associé crame, et là, changer seulement l'électronique peut suffire ( Zipart je pense pourrait la fournir programmée avec la ref exacte de la pompe  -> leur as-tu demandé ?, car ils en vendent des neuves, donc savent/peuvent les programmer),

    - soit c'est parce que le piston d'avance finit par se gripper à la longue, et alors changer ou réparer l'électronique ne sert à rien. Il faut faire réparer/refaire.  Et là aussi le MOSFET associé crame d'ailleurs, car l'EV tire trop de courant. Et il re-cramera si on ne change que lui.

    On peut, avec un câble ECUtalk (Australien) et l'appli Ecutalk pour PC, ou NDSI (Nissan data scan), se rendre compte de "l'usure" et du degré de grippage de ce piston d'avance en analysant la valeur du pramètre ICV ( injection timing control valve) qui donne justement la valeur du signal pwm (en % / duty cycle) envoyé par l'électronique à l'EV qui contrôle le piston d'avance (qui est rappelé par un ressort interne).

    Cette valeur DOIT être d'environ (40-45%- à froid au ralenti, et monte à (50-55%) toujours au ralenti , mais à chaud. Des valeurs inférieures indiquent que davantage de courant est nécessaire que la normale pour positionner le piston d'avance là où il doit être. Plus cette valeur est basse, plus le courant est important, et plus le MOSFET travaille... jusqu'au moment où il crame.

    Et donc : Toujours mettre de l'huile 2T dans le gasoil pour aider à lubrifier ce fameux piston (0.5L un plein sur 2). Et ne jamais rouler réservoir vide car la pompe n'est refroidie que par le gasoil, qui chauffe avec le retour injecteur. et alors, l'électronique vieillit prématurément.

     

    • J'aime 1
  4. je relis ton premier post dans lequel tu dis que ton Patrol claque depuis que tu as fait refaire ta pompe par un diéséliste. 

    et aussi que lorsque tu modifies l’avance il claque moins ? Tu as une pompe mécanique avec LDA ou une pompe électronique ( des codes erreur ECU?)  ?

     Il en dit quoi ton diéséliste  ?

     

  5. Je confirme, en mode USB filaire, et en branchant le coté USB sur l'autoradio Android ( et en choisissant l'USB "CH340" car c'est ce composant et non le composant FTDI qui est utilisé par les versions chinoises de l'Arduino Uno, l'appli NDSI (Nissan data Scan 1) marche parfaitement. Elle se connecte, lit et efface les défauts, et permet d'afficher tous les paramètres consult.

    L'appli Android est présentée là :

    https://nisscan.com/product/nds-i-android-app/?v=11aedd0e4327

    Elle existe en version gratuite 'Lite' sur Google play, et en version complète pour seulement 7,5 Euros. Alors autant ne pas se priver, d'autant que la version 'lite' a besoin d'une connexion internet pour passer des pubs, ce qui oblige à connecter l'autoradio au Wifi du téléphone.

    Pour se connecter en USB sur le port consult, il suffit d'acheter un simple câble Ecutalk là : https://www.ecutalk.com.au/interface.aspx

    avec la prise "OBD2" et non pas la prise "DDL".  140 AUD soit environ 100E.   Souvent en rupture de stock. 

     

    Ce câble a un composant 'FTDI'. Il y a une manip à faire sur l'autoradio, expliquée ici (en Anglais, mais les images parlent d'elles-mêmes) :

     

    Bref, pour 110E, même les plus radins d'entre vous qui veulent toujours que tout soit gratuit seront comblés !

    Edit : certes avec un fil, mais la plupart des auto-radios Android ont un USB "arrière" qui permettra de cacher tout cela derrière le tableau de bord. donc le BT devient presque un "accessoire" non indispensable.

    Et voilà.

    • J'adore 1
  6. Il y a 2 heures, Jmarc a dit :

    Le Toy ? 😁

    ben oui @Jmarc, le Toy bien sûr.

    Car l'Autralie, tu dois savoir que c'est totalement sur-fait, non ? 

    Jette un oeil :

    https://www.forbes.com/sites/judykoutsky/2023/03/15/australias-best-kept-secret/

    https://www.theaustralian.com.au/special-reports/the-mysterious-and-rugged-kimberley-is-like-nowhere-else-on-earth/news-story/b340eaa9b4aeb70c4ee07299d7efb9f7

    U-NI-QUE !

    • Merci 1
  7. Et voilà.

    Cette interface et le logiciel à mettre sur l'Arduino gèrent la communication avec l'ECU, et permettent d'utiliser les logiciels PC - Windows ECUTalk, NDSI, Conzult, etc...

    Cela valide donc ce que je voulais valider, puisque ça marche.

    Il me reste à me faire fabriquer 5 CI avec tout dessus mais en composants discrets qu'il faudra souder, pour avoir enfin une interface Consult Bluetooth qui marche, car faire fabriquer juste une carte en CMS, cela ne vaut pas la peine.

    yapluka.

    Capturedecran2023-11-06a18_38_16.png.ed30d4f27d053fb1725ccbd566daa23c.png

    Et une fois tout soudé, hop dans la boite noire que je cacherai sous le tableau de bord...

    Capturedecran2023-11-06a18_36_50.png.9144db717d632b35a2b6d7b9f2f1c863.png

     

     

     

  8. ETAPE 4 : les quelques lignes de logiciel pour générer l'horloge, et gérer les lectures/écritures des données.

    On gère une Led qui clignote toutes les secondes pour montrer que le logiciel 'vit' et qui scintille chaque fois qu'un caractère est reçu du port Consult ( en provenance du patrol donc).

    /****************************************************************************************************
     
      INTERFACE CONSULT pc, via USB ou Bluetooth  PhDV61  - 6 Novembre 2023
      ETAPE 1 : génération d'horloge (CLK) 153,4 kHz sur D9, passée ensuite dans un transistor pour la rendre "bien propre et carrée"

      Pin 13 :  output LED
      Pin  9 :  output PWM +5V à 153,8kHz qui nous servira d'horloge CLK pour l'interface CONSULT.

      ETAPE 2 : il faut définir un port software serial (Rx, Tx) . On prendra ici les pins D2 et D3
                
                En sortie ECU, transistor collecteur ouvert = donc à tirer au +5V avec résistance 6.8kOhms, pour une conversion directe en logique TTL
                et on branche sur D2. La sortie Rx (D3) est envoyée sur un transistor inverseur, car le niveau est idle bas, et en +12V.

      Et le +5V proviendra du port USB... facile.
     
      principe : lire sur le port Rx soft serial 9600 bits/s et envoyer tout caractère lu sur serial USB ou le BT .
                 lire le port serial USB ou le BT, et envoyer tout caractère lu sur le Tx soft serial

    ********************************************************************************************************/

    #include "SoftwareSerial.h"

    SoftwareSerial MyBlue(2, 3); // 2 : broche receive  "RX" soft coté Arduino         tirée au +5V par résistance 6.8k si provient de l'ECU
                                                    // 3 : broche transmit "TX" soft coté Arduino     (avec pont diviseur si va vers module BT  direct transistor si vers ECU  )

    const int   ledPin=13, Clock=9;
    boolean     toggle = true;
    long        timer = 0, timer_life = 0,  delai = 512, scintillement=75;  
    byte        incoming_byte, outcoming_byte;

    int          FREQUENCY = 103;          // 0x7fff donne du 250Hz. 103 en décimal nous génère une horloge de 153,846kHz à partir du 16MHz.
    int          PWM       =  52;          //   car 16 MHz / (103+1) = ... 153 846 Hz très précisément. Quasiment ce qu'on veut.
    boolean      Led = false;

    void setup() {
     
      Serial.begin(9600);     // on initialise le port série PC <-> Arduino via USB ou BT à 9600 bauds.
      MyBlue.begin(9600);     // Baud Rate Consult
     
      setupPWM16();
      pinMode(ledPin,  OUTPUT);
      pinMode(Clock,   OUTPUT);
     
      analogWrite16( Clock , uint16_t (PWM)); // et c'est parti pour la génération d"horloge sur le port 9

      digitalWrite(13, HIGH);
     
      timer = millis();        // pour faire scintiller la LED
      timer_life = millis() + delai;   // compteur de vie 1s
     
    }

    void loop() {
        
     if  (Serial.available())  
     {
        outcoming_byte = (byte) Serial.read();
        MyBlue.write( outcoming_byte);   // on a reçu un char du PC , qu'on envoit vers l'ECU (TX Arduino -D3 )
     }

    if  (MyBlue.available())
      {
        incoming_byte= (byte) MyBlue.read();
        Serial.write(incoming_byte);   // on a reçu un char de l'ECU sur RX Arduino (D2)" , qu'on envoit vers le PC
        timer = millis()+scintillement; Led=true;
        digitalWrite(13, HIGH);
      }  

      // Si la Led de réception de données était allumée, on l'éteint au bout d'un certain temps  
      if ( (millis()>timer) && Led ) // extinction de la LED au bout du délai de scintillement. Cela peut arrêter le cligotement "de vie"
      {
        Led=false;
        digitalWrite(13, LOW);
      }

     // allumage extinction de la LED "de vie"
     if ( millis()>timer_life) // qui l'emporte dans tous les cas sur tout "scintillement" en cours...
      {
        if (toggle) { digitalWrite(13, LOW); }
        else        { digitalWrite(13, HIGH);}
        timer_life=millis()+delai;
        toggle=!toggle;
        // MyBlue.write( 0xEF);delay(5);MyBlue.write( 0xFF);delay(5);MyBlue.write( 0xFF);
      }  
    }


    void setupPWM16() {
     
        DDRB |= _BV(PB1) | _BV(PB2);        /* set pins as outputs */
        
        TCCR1A = _BV(COM1A1) | _BV(COM1B1)  /* non-inverting PWM */
            | _BV(WGM11);                   /* mode 14: fast PWM, TOP=ICR1 */

        TCCR1B = _BV(WGM13) | _BV(WGM12)
            | _BV(CS10);                    /* no prescaling */
     
        ICR1 = FREQUENCY;                   // 0x7fff donne du 250Hz. 103 en décimal nous génère une horloge de 153,846kHz à partir du 16MHz.
                                            //   car 16 MHz / (103+1) = ... 153 846 Hz très précisément. Quasiment ce qu'on veut !
    }

    /* 16-bit version of analogWrite(). Works only on pins 9 and 10. */
    void analogWrite16(uint8_t pin, uint16_t val)
    {
        switch (pin) {
            case  9: OCR1A = val; break;
            case 10: OCR1B = val; break;
        }
    }

  9. ETAPE 3

    J'ai rentré le schéma électronique sur le site chinois EASYEDA, pour avoir une idée en 3D de comment je vais positionner et souder les différents composants sur le "shield" UNO : Et ça a donné ça :

    Capturedecran2023-11-06a17_41_35.thumb.png.a04122b736b9f2265e4cc5e08fc3f431.png

    En réalité, le shield que j'avais disposait de différentes pastilles Gnd et +5V, que j'ai utilisées pour limiter les soudures/connexions.  Et j'ai utilisé un connecteur OBD2 pré-cablé que j'ai relié à mes 5 connecteurs à vis.

    J'ai aussi déjà prévu le connecteur pour brancher le module Bluetooth, mais pour supprimer le câble USB il faudra que je rajoute un régulateur 5V et 4 capas sur mon shield + de quoi faire le reset de l'ATMega lorsque la connexion BT s'établit. Je ferai dans les prochains jours, mais je sais déjà que çà marche car c'est comme cela que MB est faite.

  10. Comme j'ai acquis une bonne petite expérience avec le monde Arduino, et les microcontrôleurs ATMega, et que j'ai un paquet de composants dans mes tiroirs, je suis parti là-dessus pour valider "sur table".

    L'ATMega permet de générer une horloge à la fréquence qu'on souhaite, de même qu'il permet de gérer des ports série au format TTL, en hard comme en soft. Enfin, la carte Arduino dispose d'un USB.  Il suffira juste d'adapter les différents signaux comme il faut, en émission comme en réception.

    Sur le schéma PLMS, on enlève donc la génération d'horloge, ainsi que l'interface RS232, devenue inutile. Et je décide de prendre une carte Arduino Uno de mes tiroirs, avec un "shield" me permettant de souder et connecter tous les composants nécessaires au "conditionnement" des signaux.

    voilà ce qu'il faut "construire" :

     

    Capture d’écran 2023-11-06 à 17.32.35.png

  11. L'essentiel au niveau hardware est là :

    1. Electrical and Signaling protocol
    1.1. Consult terminal or PC communications is via three wire bus. TX, RX and Async
    Clock.
    1.2. TX data to ECU level is 12V, idle low (see interface schematic). ECU output is
    open collector and can be sourced from the interface logic level (5 V). The ECU
    data output is idle high.
    Clock to the ECU seems fine with a 5v source from the interface.
    1.3. Communications baud rate is 9600 baud (default). Clock speed for this baud rate
    is 153.6 Khz, plus or minus 5 khz (as tested by PL& MS). Other baud rates and
    matched clocks may be possible as well. Clock GENERATED by the Host
    terminal (Consult or PC Interface). Synchronizing the clock to the data lines is
    NOT necessary. E.g. the clock free runs at the required speed. (16x the data rate).
    1.4. The Data Format is 1 start bit (always low), 8 data bits, no parity, 1 stop bit
    (always high).
    The data is actually processed by the ECU's micro LSB first. Each serial string is
    made up of blocks of : <Start bit (0)> <8 data bits LSB-MSB(xxxxxxxx)><Stop
    bit (1)>
    Data is sent as raw Hex,8N1, no spaces or carriage return characters etc are
    used.

  12. C'est tout de même dommage de ne pas trouver des interfaces Consult Bluetooth qui fonctionnent correctement.

    Seuls certains d'entre nous (très peu) ont eu la chance d'acquérir une interface Consult BT qui marche. Aucune des trois que j'avais achetées n'avait fonctionné au final, et j'avais donc du me résoudre à utiliser l'interface filaire chinoise DDL modifiée comme je l'ai expliqué dans "les astuces".

    Je n'avais jamais eu non plus le temps de me pencher un peu plus sur le sujet. C'est fait. Rien de bien sorcier, comme toujours, si on fait attention de ne pas tomber dans les nombreuses trappes...

    Je suis donc reparti de la documentation disponible sur le net, en particulier de chez PLMS pour le schéma électronique qu'ils ont mis en ligne, à fin, déjà, de réaliser un premier essai sur "table", puis sur mon Patrol, bien sûr.

    Comme le +12V est assez "bruité", je me suis dit qu'il ne devait pas être étranger aux difficultés rencontrées et j'ai gardé cela en tête.  Ensuite, je voulais essayer "avec les "moyens du bord", c'est à dire ce que j'avais dans "les tiroirs". ça tombe bien, les Magic Box m'ont fait acheter tout un tas de composants, alors autant les utiliser. Je vais décrire ici toutes les étapes, une à une, pour ceux que ça intéresse.

    • J'aime 1
    • J'adore 2
×
×
  • Créer...

Information importante

Ce site web utilise les cookies pour améliorer votre expérience de navigation.