AEPL-duino, allumage programmable à 3 +1 composants. Arduino Programmable electronic ignition

mercredi 26 juin 2019.
 

**Programmable electronic ignition DIY

If you are interested with this Aepl-duino contact me at philippe.loutrel@laposte.net, I ’ll help you, in English ....

*************Pour revenir à la page d’accueil http://a110a.free.fr/SPIP172/plan.php3****************

Pour ceux que l’Arduino intéresse :

http://a110a.free.fr/SPIP172/articl...

****************************************************

Ce module d’allumage programmable a pour caractéristiques :

-  fonctionnement à partir de 4.5V jusqu’à plus de 15V (négatif à la masse)

-  facilité de saisie de la courbe d’avance

-  programmation (via le câble USB fourni avec le Nano) par tout PC

-  3 composants seulement ( +1 régulateur en option) pour un coût total inférieur à 20€

-  Le faisceau d’allumage doit être classique (antiparasites, c’est à dire résistif) sinon l’Arduino est perturbé !!!

*********************

On gère ici la courbe d’avance en fonction du régime moteur uniquement ce qui correspond à un allumeur à masselottes d’avance centrifuge, SANS capsule à depression.

Une adaptation performante a été réalisée justement pour prendre en compte la depression dans la tubulure d’admission par un sympathique ( et compétent ) groupe de "Panhardistes"

Pour une vue d’ensemble de cet allumage pour le bi-cylindre Panhard ( lire "Article AECP" en premier).

https://onedrive.live.com/?authkey=...

**************************************

Le logiciel standard peut gérer la liaison Bluetooth sur smartphone du compte-tours sensible ainsi que le décalage de courbe "au vol" (Annexes 6 et 10).

Cette évolution la plus récente de l’AEPL/ AEPL-S ne possède que des avantages par rapport à ses ancêtres en terme de simplicité de réalisation, programmation, entrée de la courbe d’avance et coût.

Avec un boitier plus compact et en fait si léger que l’ensemble est fixé dans l’aile avec du Velcro.

Le bornier permet de connecter un potard à distance pour faire varier l’avance "au vol".Voir Annexe 6.

Autres exemples de réalisation

Enfin une réalisation plus soignée, avec module Bluetooth (compte-tours precis) optionnel enfichable.

Pour une autre belle réalisation voir l’Annexe 7

Courbe d’avance

La saisie de cette courbe se fait dans les premières lignes du sketch, reproduites ici :

//Le nombre de points est libre

//Au régime moteur de :

const int N[] = 0, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4200, 4600, 5100, 7000, 0 ;

//degrés d’avance vilebrequin correspondant :

const int Ang[] = 0, 10 , 12, 14, 16, 22, 24, 24, 25, 26, 28, 28, 0 ;

L’utilisateur entre les chiffres en italique, puis la compilation et programmation (téléversement en jargon Arduino) s’effectue d’un clic avec l’environnement Arduino, en accès libre.

On notera que le dernier N (7000t/mn ci dessus) fixe la ligne rouge, c’est à dire la coupure de l’allumage

Pour les détails de programmation de l’Arduino, voir

http://a110a.free.fr/SPIP172/articl...

Nota : si la librairie "TimerOne.h"est réclamée , son installation est expliquée dans la reference ci dessus.

Schéma

Attention : sauf si Dwell=2 la bobine doit mesurer 3 ohms ou plus au primaire (1.5 ohm en 6 Volts) !!

Du point de vue matériel, il semble difficile de faire plus simple car Arduino, capteur Hall et Igbt sont 3 composants indispensables.Pour les batteries de 6V le régulateur ne doit pas être monté.

Par contre si comme c’est souvent le cas on utilise une copie asiatique de l’Arduino Nano original ( Construit par Gravitech, vendu 35 €, par exemple chez St Quentin radio http://www.stquentin-radio.com/prod... ) il est prudent d’alimenter le Nano via un classique régulateur 7805 à 5V ( coût 0.25€)

Le "vrai " Arduino supporte 13V à 15V, pour les autres c’est aléatoire...

Parametrage

Conçu pour un moteur 4 temps, il faut multiplier le nombre de cylindres par 2 pour un moteur deux temps (variable Ncyl dans le sketch).

La première fois, on entre :

— Ncyl = nombre de cylindres

— AngleCapteur = souvent 45° avant le point mort haut allumage du premier cylindre, mais on voit que cet angle est modifiable si nécessaire, par exemple suite à une légère erreur de montage du capteur.

— CaptOn = 0 ou 1 selon le capteur (voir l’ Annexe 1 ci dessous)

— Dwell = 1 ou 2 ou 3, ou 4, 2 obligatoire pour bobine à faible résistance, voir l’Annexe 5 pour les détails.

Quel dwell choisir pour une bobine classique ?

Pour aider dans le choix du dwell voici le resultat de mesures effectuées au labo avec une bobine classique ( Delco Remy 3.7 ohms). On mesure le courant primaire I . La bobine alimentée sous 12.2 V. Un generateur de créneaux de fréquence variable permet de balayer de 1000 à 7000 t/m n.

-  Dwell 1 (1 ms de coupure),pour mémoire, remplacé par 3 ou 4

-  Dwell 3 ( 1/3 Off, 2/3 On), type vis platinées

-  Dwell 4 (idem Dwell 3 jusqu’à 3100 t/ mn puis temps d’étincelle réduit à 0.5 ms au delà)

Pourquoi une telle chute de courant donc de puissance dans l’étincelle quand le régime croit ?

La coupable est l’inductance de la bobine (self de plusieurs milliHenry ) qui impose un temps de montée au courant de plusieurs millisecondes.Comparable au débit d’un robinet, limité, qui n’a pas le temps de remplir un reservoir avant la prochaine vidange (étincelle).

Une solution simple mais qui fonctionne bien est de limiter le temps d’étincelle à 0.5 ms, autrement dit démarrer plus tôt la recharge de la bobine.

Vérifier que la bobine, plus sollicitée ne chauffe pas exagérément (surtout pour les bobine sèches de type transformateur).

LOGICIEL

Aepl-Duino_12_06_19 - 21.9 ko

Aepl-Duino_12_06_19

Capteur sur vilo ou capteur dans l’allumeur ?

Pour un moteur à nombre de cylindre pair :Ncyl = 2, 4, 6, 8, 10, 12, 16... on a le choix, le nombre de cibles étant égal à Ncyl / 2 sur le vilo et Ncyl dans l’allumeur.

Pour un mono cylindre, avec 1 cible on a une étincelle perdue, ce qui est tout à fait acceptable.

Par contre si Ncyl = 3,5, 7 et 9 ( ?) il FAUT necessairement un capteur dans l’allumeur et Ncyl cibles.

Comment ça marche

Uniquement pour les esprits curieux, ces commentaires ne sont aucunement indispensables pour la réalisation du module.

Contrairement aux versions précédentes à base de Pic, grâce à la puissance de l’Arduino, l’avance est calculée en temps réel à partir des deux lignes de données de l’utilisateur ( N et Ang ) : on supprime la phase de saisie de la courbe avec un logiciel spécifique (sous DOS) ainsi que la phase d’assemblage. Le programmateur de Pic disparaît lui aussi.

La courbe d’avance est une suite de segments de droite fixant l’angle d’avance en degrés en fonction du régime en tours/minute.

Article AECP - Piere Alberola - 61.2 ko

Article AECP - Piere Alberola
Cette page est extraite de l’article AECP de Pierre Alberola sur l’allumage Panhard

https://onedrive.live.com/?authkey=...

Dans setup(), la fonction Init() convertit ces couples en deux tableaux de coefficients C1 et C2 . A chaque couple (N,Angle) correspond un couple (C1,C2).

La période T est mesurée en microsecondes entre deux passages de la cible devant le capteur au moyen de la fonction standard micros().

La fonction principale loop() attend le front du capteur pour calculer T, puis situer T sur le segment d’avance approprié. Ceci permet d’extraire le couple (C1,C2) associé pour le calcul de D

D = T*C1 + C2 ( ici encore l’équation d’une droite mais dans le domaine temporel cette fois)

Le calcul du délai D à observer avant l’étincelle est réduit à une simple multiplication suivie d’une addition.

Le temps de calcul à compenser se trouve dans tcor= 120/140 µs. Cette valeur a été retranchée de C2 lors de son évaluation avant stockage. La valeur tcor a été mesurée avec un oscilloscope numérique de precision.

La précision est correcte puisque à 7000 t/m, et 28° d’avance, le délai théorique est 408 µs et le délai mesuré au scope est 410 à 415 µs.

A ce régime, 1° correspond à 28µs, l’erreur est donc bien inférieure à 1°.

Si Dwell = 1,le temps de coupure de la bobine (donc d’étincelle ) est fixé à 1 ms, ce qui maximise le temps de charge.

Pour Dwell = 2 ou 3, voir le détail dans l’Annexe 5.

Une interruption est générée par overflow de Timer1 toutes les secondes pour s’assurer qu’une étincelle a bien été émise, sinon le moteur est considéré arrêté et le courant dans la bobine est coupé. Si le moteur tourne, l’interruption de Timer1 commande le rétablissement du courant dans la bobine après le délai Davant_rech, calculé selon le type de dwell .

Concernant le schéma, la résistance de charge du capteur est la résistance de PullUp interne de l’Arduino.

Et finalement ces 150 lignes de code C ( C-Arduino, hors variables et commentaire) font nettement plus et plutôt mieux que 300 lignes de code assembleur (Pic) + 250 lignes de Basic pour la saisie de la courbe d’avance...

Pour creuser les details voici le scan de ma doc, pas très lisible mais on connait le dicton "Documentation is like SEX : when it’s good it’s very good. And when it’s bad, it’s better than nothing"...

Historique des évolutions

Le 11/11/18

Incorporé la fonction compte-tours sensible (et affichage de l’avance) sur smartphone dans la version standard.Il suffit de connecter un module Bluetooth avec 3 fils (+5V,masse et RX sur la patte 11 de l’Arduino) et d’installer une simple appli sur le smartphone, voir les explications dans le logiciel. Ce compte-tours sensible est surtout utile pour les réglages de carburation au ralenti.

Mai 2017

Une évolution avec 4 bobines crayon, pour 4 cylindres uniquement.

http://a110a.free.fr/SPIP172/articl...

Le 28/11/16 En option une version couplée en BlueTooth à un smartphone pour afficher l’avance en degrés en temps réel.

Pas vraiment indispensable mais ce fut intéressant à développer et aussi démontre la simplicité de mise en oeuvre d’une telle liaison radio à moins de 5€

Le 11/11/16 En option un module de flash, LED 3W, pour visualiser l’avance sur la poulie

Le 27/6/16 : suppression du délai de 2 secondes entre mise du contact et démarrage.

Certain diront que c’est du luxe mais ce délai dû au bootloader résidant tant tout Arduino peut être éliminé en supprimant le bootloader : l’exécution du sketch démarre immédiatement à la mise sous tension de l’Arduino. .

C’est expliqué dans http://a110a.free.fr/SPIP172/articl... ainsi que la régénération du bootloader si une reprogrammation est nécessaire.

Le 31/5/16 :ajouté la fonction multi-étincelles, en option, pour aider au dénoyage des bougies en ville.

Le 3/5/16 : ajouté la possibilité de programmer 2 courbes en plus, sélectionnées en connectant soit D8 soit D9 à la masse.La Led L présente sur tout Arduino suit le courant dans la bobine.

Le 9/4/16 :c’est la version du 5/4/16 avec la possibilité de connecter un potentiomètre de 100 kohms entre la patte A0 et la masse. Relié par un fil au Nano, placé près du volant, il permet de faire varier l’avance ’au vol’

Le 12/6/19 Ajouté une liaison smartphone pour décaler la courbe d’avance

Voir l’Annexe 6.

Le 5/4/16 :Nouvelle version permettant de choisir entre 3 types de "Dwell"

Voir l’Annexe 5.

***Le 4/4/16 :Mise à jour des schémas d’alimentation en 6V et 12V.

****References

Une excellente étude bien détaillée sur les bobines :

http://hackerschicken.eu/electric/b...

Sur les caractéristiques bobine crayon :

http://forum.citroen-rosalie.fr/t32...

Annexe 1 : différents types de capteurs

Le capteur à fourche SR17-C est dit saturé : sa sortie est à 0V en permanence et monte à 5 V lorsque une cible en acier passe entre les fourches. Ceci est indiqué au logiciel par la valeur CaptOn = 1, déclenchement sur front montant.

Inversement le capteur 1GT101DC est dit non saturé : sa sortie est à +5 V en permanence et descend à 0 V lorsque une cible en acier passe à moins de 2 mm de sa face avant. Ceci est indiqué au logiciel par la valeur CaptOn = 0, déclenchement sur front descendant.

Ces deux capteurs peuvent être alimentés soit en 5V soit directement sur le +12V de la batterie.

Ce montage quand la poulie de vilo est accessible est à préférer pour sa simplicité et sa precision comparés à l’implantation dans l’allumeur.Ici le capteur 1GT101DC est non saturé et les deux cibles en acier dans la poulie en alu déclenchent le front descendant.

Montage dit "en hachoir" ( très efficace pour happer un chiffon par exemple et s’auto-arracher...) avec un capteur à fourche SR17 saturé. Les deux dents en acier diluent le flux magnétique et le niveau monte à 5V, c’est un front montant.

Belle réalisation, les plans sont sur http://a110a.free.fr/SPIP172/articl...

Le même principe mais moins belle réalisation.

Noter que la largeur des pales n’a pas d’importance ici car le temps de charge de la bobine ( dwell ) est géré par le Nano Arduino.

Rappelons que le capteur est calé à 45° avant le PMH sur le vilo et que ceci correspond à 22°5 allumeur.

Sur http://cb125k.lebonforum.com/t125-a... une moto Honda 125, avec un kit d’allumage. Montage puis modification d’un capteur SR17c chauffant à plus de 85°C.Notons que le capteur 1GT101DC est donné lui pour 150°C.

Encore une moto Honda mais avec un AEPL-duino cette fois

Honda 125 CB S3 ( ou CBJ ) de 1976 équipée a l ’origine d ’un allumage a rupteur et batterie bobine en 6 volts.

Son auteur : Philippe Roche philipperoche@architecture-roche.com

" J ’ai totalement résolu les problèmes de coupure d ’allumage dû a des variations trop basses de tension électrique de la moto en montant un élévateur- abaisseur de tension de marque POLULU référence S7V7F5 qui fonctionne a merveille. J’ai également monté sur l ’alimentation de l ’élévateur-abaisseur de tension un condensateur de 470 micro farads, et maintenant quelque soit le voltage disponible sur le faisceau électrique de la moto l ’Arduino est alimenté en permanence en 5,15 volts sur sa broche 5V.

Annexe 2 : pourquoi un allumage programmable sur un moteur préparé ?

Voici des résultats concrets obtenus après essais de plusieurs courbes, par Cedric Lebocq, créateur de l’excellent logiciel PowerDyn, sur une Mini de 90cv (celle des années 70 bien sur, donc déjà bien améliorée et les chevaux supplémentaires sont difficile à aller chercher !)

Annexe 3 : details de réalisation

Pour le version 6V, ou le "vrai Arduino marqué Gravitech", supprimer le 7805 et connecter le +12V à la patte Vin.

Le capteur Hall peut rester sur la patte +5V ou sur Vin, c’est comme on le sent.

Schéma de câblage pour la version 12V ( avec Arduino à 3€ ).

Exemples de prix :

Igbt 1.97€(Conrad...), 7805 0.25€ (Conrad...), capteur Hall SR17 12.99€ (Conrad, Farnell...), Arduino Nano et son câble USB environ 3€ (livré) sur le Net.

Annexe 4 : Doc Atmel 328P

Pour les courageux mais tout y est, les 600pages+ de la datasheet de l’Atmel Mega 328P

http://www.atmel.com/images/Atmel-8...

Annexe 5 :Dwell ajustable

D’abord quelques définitions : le Dwell est une mesure du temps de recharge de la bobine entre deux étincelles .

Le Dwell s’exprime en % ou en degrès allumeur. Par exemple, pour un allumeur Ducellier de R8G ou Alpine il est environ de 57° ce qui veut dire que sur les 90° de rotation d’une came à la suivante, les vis restent fermées (donc la bobine se recharge) pendant 57°.

Une variante est de l’exprimer en %, soit 57/90, donc environ 63%. Pour un allumage classique on règle indirectement le dwell en jouant sur écartement des vis platinées : trop écartement, le dwell est trop faible (le courant n’est établi que trop peu de temps) et vice versa.

Ceci étant posé, on va utiliser "Dwell" ici avec un abus de langage...


— Dwell = 1 c’est la coupure du courant 1 ms par cycle, qui est acceptable si la bobine ne chauffe pas excessivement (cas des Ducellier noir, par exemple).


— Dwell = 2 le courant n’est rétabli dans la bobine que 3 ms avant sa coupure pour l’étincelle : le temps de charge est fixe donc.Ce mode est indispensable pour les bobines de faible résistance (0.5 à 2.5 ohm par exemple) dites aussi "électroniques"


— Dwell = 3 ce mode est équivalent à l’allumeur classique à rupteur (vis platinées), le courant est établi 2/3 du cycle et coupé donc 1/3 du cycle.A utiliser avec une bobine classique qui chaufferait trop pour le mode 1

— Dwell = 4 compense la chute de puissance dans l’étincelle avec le régime.L’étincelle est limitée à 0.5 ms au delà de 3100 t/ mn.

Annexe 6 :Avance variable ’au vol’

Pour jouer à translater les courbes d’avance moteur en fonctionnement on a 2 possibilités :

-  1 Si un module Bluetooth HC05 ou 06 est connecté (Annexe 10) on utilise le clavier du smartphone.

Entrer 1 à 9 pour décaler la courbe de 0 à +9°, 0 restore la courbe d’origine.

Entrer 11 à 19 pour décaler la courbe de -1 à -9°.

-  2 Sinon connecter un potentiomètre (resistance variable) de 100 000 ohms entre la patte A0 et la masse via un fil allant jusqu’au pilote.

On peut ainsi décaler "au vol" la courbe de delAV degrés en plus ou en moins.

— de 0 à 1V environ, courbe originale.

— de 1 a 2V environ, avance augmentée de delAv.

— plus de 2V environ, avance augmentée de 2*delAv.

L’unité d’augmentation de l’avance est la valeur delAV, par exemple 1 ou 2 ou 3°.

Attention.....Pas de pleine charge avec trop d’avance, danger pour les pistons...

Connecté et en test sur l’auto cela donne :

Boitier fixé dans l’intérieur de l’aile, au Velcro.

Pour dégrossir, sans trop tirer sur la bête delAv = 3°, donc on translate la courbe d’origine de 3° et 6°.

On remercie MichelM http://www.motos-anglaises.com/ pour ce relevé précis en position +2° .

Noter la limitation à 0° de 0 à 500 t/mn, car il faut penser aux chevilles de nos camarades motards qui démarrent au kick...

Ce montage que l’on peut qualifier "d’à la Dubout" fonctionne bien sur une Golf GTI...preuve qu’un Nano Arduino se contente de peu !!! :)

Annexe 7 : circuit imprimé pour Aepl-duino

Réalisé par l’ami Ludomini, merci à lui pour cette réalisation.

Notez que l’on a le choix entre deux types de régulateurs de tension 5V.

Ludomini a concocté ce boitier de qualité de réalisation quasi pro !!!

Noter la ’dent vide’ comme cible du capteur.C’est un moteur de Mini, une de ses spécialités...

Verification de la stabilité de l’étincelle, Nano programmé à 12° fixe, de 500 à 7000 t/min.

https://www.youtube.com/watch?v=mev...

Annexe 8 : Banc d’essai

Réalisé par Jean Louis A ( MotoDniepr).

- Banc d’essai allumage AEPL-duino 6 volts, pour une moto Dniepr K750 (pouvant s’adapter facilement à d’autres motos Russes). Avec bobine 2cv à étincelle perdue, platine réglable maintenant le capteur 1GT101DC et rotor en alu contenant les 2 cibles (axe métallique rentré par frettage ). Le rotor étant fixé en bout d’arbre à cames sur la moto.

- disque gradué fabriqué avec un CD fixé sur un épaulement tourné à l’arrière du rotor, permettant de vérifier l’avance aux différentes vitesses, avec un stroboscope classique.

Annexe 9 : Module flash

Suivant l’idée de Christophe-Grouch4

Annexe 10 : Liaison BlueTooth

Le petit module HC05/06 BlueTooth peut être connecté au boitier d’allumage par 3 fils.

Le smartphone fonctionne sous l’application BluTerm qui émule un terminal simple ou mieux Bluetooth Terminal HC05.

Le regime ( et l’avance en degrés ) s’affichent en permanence pour un reglage fin de la carburation à bas régime.

En pratique, l’affichage est effectué toutes les 15 étincelles pour obtenir une valeur stable (réglage de carburation).

Si désiré, cette valeur est modifiable par la variable Naff.

Annexe 11 : Un mariage impressionnant avec une injection programmable

Ce montage a été réalisé par 1600S70 du FAR (Forum Alpine Renault https://forum.alpinerenault.com/

"Suite à la lecture de cet article , une envie de moderniser un allumage programmable par "minitel 2 " qui est tombé en panne ( puis réparé) ainsi que la bobine qui a cramé , le tout à cause de l’oubli du contact . Le montage d’une injection programmable récente sur un V8 ( 1500€ boitier + bobines) m’a permis de supprimer les 2 distributeur afin de diminuer les pièces en mouvement et de gagner du poids (2Kg au total environ). Suite à ces 2 réflexions j’ai décidé de faire de même sur un bloc Renault Cléon-alu de 1860cc qui est équipé d’une injection Haltech F9 depuis la fin des années 90 : supprimer l’allumeur/distributeur et la bobine pour monter une bobine par cylindre et un Arduino Nano programmé en conséquence en ayant comme point de départ l’AEPL-duino , le tout pour un coût de 310€. Il est à noter que l’on peut presque diminuer le coût par 2 si on change le type des bobines et que l’on ajoute quelques composants. Le moteur a été démarré avec ce montage mais tout n’est pas finalisé ni fiabilisé."

Plus de details sur

http://forum.citroen-rosalie.fr/t32...

Annexe 12 Un Solex à allumage électronique

Texte et photos :

Solex Allumage electronique

Avec 2 capteurs Hall, s’il vous plait, Alain Bertout n’a peur de rien, comme de décaler de 90° la clavette du volant magnétique pour inverser la polarité de la bobine par exemple...

L’allumage n’est pas ( encore ? ) programmable mais on y trouve déjà une position 0° d’avance pour le démarrage.

Le sketch :

Annexe 14 Un allumage programmable sur une Velocette de 1963, il fallait le faire...

et Maurice l’a fait ! (mdraneb@free.fr)

De plus il nous fait part de certains errements dans la réalisation, c’est très instructifs...

Velocette 63 avec Aepl-duino - 1020.1 ko

Velocette 63 avec Aepl-duino
Velocette 63 avec Aepl-duino

Annexe 15 Un allumage programmable pour Fiat 500

Richard ( pbarbusse@sfr.fr ) a "imprimé le boitier et utilise une bobine deux sorties d’Harley Davidson " qui fait 4 et 5 Ohms suivant l’arrivage..."

Et un tableau de bord sur mesures

Richard récidive avec cette fois une moto légendaire, la Kawasaki H2- 750 (2 temps , 3 cylindres).

"Ce petit mot pour te dire que j’ai « adapté » l’APPEL-duino au moteur d’une KAWASAKI 750cc H2 2 temps (de ma jeunesse)

régime maxi 12500 trm DWELL 2 et 400µs (bobines 1.5 Ohm) après quelque tâtonnements sur les avances par rapport aux différents régime la moto et devenue impressionnante de par son couple et ses montées en régime.

Deux photos du boîtier d’allumage."

Notons le choix d’un Arduino par cylindre ce qui est sage vu le regime de 12500t/mn.....

Annexe 16 Vespa 400

Un montage très soigné à double capteur sur Vespa 400.

Plus de détails sur :

http://a110a.free.fr/SPIP172/articl...

Annexe 17 Bmw E10 2002 TII de 1972

André a réalisé cette adaptation astucieuse et difficile sur la pompe d’injection du 4 cylindre, d’où les 4 cibles.

- Aepl duino 11/11/16

AEPL-duino_BlueTooth_28_11_16 - AEPL-duino_BlueTooth_28_11_16

Logiciel - Aepl_duino_20_10_17

Aepl-Duino_03_04_2019
Répondre à cet article

Forum