Résolu Boitier E85 avec un Arduino nano

Des photos de la boite magique..... Je comprend mieux pourquoi il y avais des doubles d'impulsions avec le port 2 et des blocages. Merci

Dsl pas la bonne

:o essai

j'espere la bonne :confused: OK

Bonjour, voilà je pense que le changement de port pourrais résoudre le problème de PCINT0 qui déclenche une interruption sur changement d'état, après analyse du code de "dfgh" qui est très bon est de prendre le port B pour me servir de PCINT3 pour gérer les 2 groupes d'injection et reprendre le code des timers
Ma question est : cela va-t-il me créer un autre problème ou pas?
Cdt.
Marcus.

hello Marcus
tu peux essayer, ca ne mange pas de pain.
je suis dessus, j'ai essayé plusieurs approche. pour finalement tomber sur un problème.
lorsque T1 compte par exemple jusqu'à 50000. lorsque un evenement se produit sur PB0. cette valeur est dans ICR1. laquelle divisée par 2 donne 25000 puis encore divisé par 2 donne 12500. les timers 0 et 2 étant en 8 bits, il leur est impossible de prendre cette valeur dans OCR0A et OCR2A.
12500/256 = 48.828 ce qui donne 12500-(256*48)= 212 ce que je trouve dans OCR0A et OCR2A.

n'oublies pas que pour prendre la valeur du timer 1 à la volée, cela ne peut se faire que sur PB0 et par un front montant et descendant.

Bonjour, toujours mon problème avec PCINT0,j'ai testé sur un autre port d interruption ça ne marche pas , je vais tester avec INT0 et 1 par groupe de 3. J'ai des doutes car ICP1 est sur pb0 (timer1) les entrées sur le portD et les sorties sur le portB c'est le plus logique pour les interruptions utilisées avec les timers.
Après il y a la solution 1 pour 6 par contre prendre le portB ou D pour les sorties?
Cdt.
Marcus.

Bonjour, j'ai fait des essais sur autoroute pour bien voir la durée d'injection, en accélération pied au plancher l'injection ne se coupe pratiquement pas (environ 3 à 4 secondes le temps au moteur de prendre un max de couple "essai de 40kmh a 110 fin de la 2ème environs 10 secondes).
Au cour de mon séjour (un ancien mécano PSA) m'a dit de faire mon montage en 2 partis pour pouvoir régler le lambda correctement, c'est le principe utilisé sur ce moteur .1 pour La rangée avant et un pour l'arrière. Ca complique le schéma et simplifie le programme.
Je vais m’y remettre.
Cordialement.
Marcus.

J,avais oublié, pour ceux qui sont préssé de rouler l'éthanol voir ici

http://chaenel.free.fr/cmsimple/?Electronique:Un_boitier_magique_pour_rouler_a_l'�thanol_E85

Bonjour, des NEW du programme, il avance, nous en sommes a la partis du lambda.
Démarrage a froid a 50% pour 10 Secondes OK
Démarrage a chaud a X% OK
Switch pour système automatique E85 ou Sp95 OK
Lecture du lambda pour la correction en cour.
Cdt.
Marcus.

Bonjour, il est possible de faire un montage pour rouler avec du E85 avec un Arduino NANO, le programme vas être testé sur un V6, il est compatible de 1 à 8 cylindres (pour le 8 cylindres pas de NANO un 328p et son oscillateur en externe).
Pour la lecture du lambda j'ajoute un AOP car ont utilisent un filtre passe bas et pas question de perturber l'ECU, la lecture de la température ce fait avec une sonde analogique.
Sur le banc d'essai tous se passe très bien, je passe à la phase suivante, montage sur la voiture.
Une foi les tests sur route fait je posterais le programme avec l'accord du créateur dans la rubrique montage. Un grand merci à dfgh.

Bonjour, voila tout est pret pour les essais sur la voiture, je le monte dans une quinzaine de jours.
Je vous informe des résultats.
Cdt.
Marcus.

Bonjour.
J'arrive dans ce sujet un peu tard.
J'ai kit E85 chinois payé 38€ sur une voiture. (enfin, la voiture à les coussinets de bieilles HS et elle va bientot partir à casse !).

Je voudrais réagir sur le fait de mesurer le lambda :

  • le moteur ajuste la richesse selon le lambda.
  • ton kit ajuste la richesse selon le lambda.

Cela ne va pas. Il ne peut pas y avoir deux régulations en parallèle. (comme si il y avait deux pilotes dans un bateau).
Imagine :
1 ton kit détecte un mélange trop pauvre.
2 le calculo détecte un mélange trop pauvre.
3 ton kit enrichi
4 le calculo enrichi aussi
...
101 ton kit détecte un lambda presque bon mais il continue d'enrichire pour que cela soit à 100% bon.
102 le calculo détecte la même valeur, il va enrichir.
103 le kit enrichi
104 le calculo détecte la même valeur en 101 il va enrichir.
105 le lambda de 1 est franchi.
106 le kit le détecte, il va appauvrir.
107 le calculo ne l'a pas encore détecté.
108 le calculo va enrichir.
109 le kit appauvri
110 le calculo enrichi.
et ainsi de suite

Tu comprends, il va y avoir mésentante.
Le processus le plus lent va arriver en butée, l'autre n'aura pas assez de liberté pour corriger.

Le mieux est de laisser le calculateur s'occuper de gérer le lambda finement (le short term fuel et le Long term fuel
Le kit en revanche, peut surveiller le Long term fuel avec une tempo longue, sur 3 minutes par exemple. Et modifier la richesse que si le Long term fuel à dépassé 10% par exemple.
Comme cela entre un Long term fuel de 0% ou 10%, le kit conserve la richesse de consigne.

Sur la focus 3 de ma maman, le calculateur détecte un erreur quand le Long term fuel dépasse les 25%, c'est pour cela que je propose 10 %.

Pour cela j'ai vu de shield ODB2. mais bon, je commence l'arduino ... quand le facteur l'aura livré !

Bonjour, oui j'ai pensé a ce problème, l’ECU voiture réagit en temps réel avec les sondes amonts, le montage toute les 10 secondes, au bout de 10 secondes si le lambda est trop pauvre on va enrichir de 1% et on laisse l’ECU s’occupé d’appauvrir ou pas. Au cas où le montage passe au maxi, l’ECU vas diminuer le temps d’injection c’est pour cette raison que le boitier a un maxi de 25%.
J’en saurais plus lors des essais réels, je garde ton idée.
Cdt.
Marcus.

marcus_95:
Bonjour, je suis nouveau sur le forum et débutant en programmation. Merci de votre compréhension.
Donc je travaille sur un projet d'un boitier pour rouler avec du E85 avec un ARDUINO NANO pour un moteur V6. J'ai fait un code qui fonctionne presque bien, au ralenti pas de problème à partir de 3000 Tr/mn il ne fonctionne plus car mon code ne fait pas les commutations de broches en même temps. J'ai recherché un moyen par les interruptions mais je n'y comprends rien (je débute).
Le principe du code est de lire la sonde lambda et de rajouté du temps d'injection par pas de 1%, donc calcul du temps d'injection en maintenant la broche a l'état bas et rajouter 1% sauf qu'a 3000Tr/mm il y faut commuter une autre broche en plein milieu de la première. J'ai vue ça avec un analyseur logique.
Avez-vous une idée pour faire cela?

Ouf le prototype vas être monté sur la voiture. Un grand merci a dfgh.

Le code est dans les projets.
Cordialement.
Marcus

marcus_95:
Bonjour, je suis nouveau sur le forum et débutant en programmation. Merci de votre compréhension.
Donc je travaille sur un projet d'un boitier pour rouler avec du E85 avec un ARDUINO NANO pour un moteur V6. J'ai fait un code qui fonctionne presque bien, au ralenti pas de problème à partir de 3000 Tr/mn il ne fonctionne plus car mon code ne fait pas les commutations de broches en même temps. J'ai recherché un moyen par les interruptions mais je n'y comprends rien (je débute).
Le principe du code est de lire la sonde lambda et de rajouté du temps d'injection par pas de 1%, donc calcul du temps d'injection en maintenant la broche a l'état bas et rajouter 1% sauf qu'a 3000Tr/mm il y faut commuter une autre broche en plein milieu de la première. J'ai vue ça avec un analyseur logique.
Avez-vous une idée pour faire cela?

Ouf le prototype vas être monté sur la voiture. Un grand merci a dfgh.

Le programme est dans la rubrique des montages