J'ai continué à avancer sur le sujet et je me suis penché sur la faisabilité concernant l'aspect électronique.
Toujours en m'appuyant sur ce qu'avais fait Chris_62 pour son CDI et son choix de modules électronique Arduino.
(Ainsi je m'évite de consulter les distributeurs et voir quels sont les nouveaux produits intéressants).
Le module numérique implanté sur la carte CDI (condensateur, alim...) sera donc une carte Arduino Pro mini équipé d'un microcontrôleur Atmel ATmega328P (8 bits, 16Mhz, 5v)(33mm x 18mm).
Prix d'un module : 15euros à 2 euros chez Ali Arduino Pro Mini
Comme le CDI d'origine, il faudra exploiter en entrée les impulsions fournis par le capteur de position et fournir un signal pour commander la décharge du condensateur du CDI via la bobine HT et provoquer étincelle.
Il faut considérer le capteur de position comme une mini bobine qui fournit une tension alternative selon la rotation du rotor.
Comme sur le rotor est équipé de 4 aimants (2 aimants Nord et 2 aimants Sud), le capteur de position fournit une double sinusoïde sur un tour moteur.
Cycle sur un tour moteur du capteur d'impulsions (2 alternances positives et 2 alternances négatives) :
-A et B (marquage vert), points d'avance sur le CDI d'origine qui varient selon un niveau de tension fixe et la variation de la sinusoïde selon le régime moteur.
-C (marquage bleu) sommet de la sinusoïde, qui correspond au capteur quand il est au centre de l'aimant, repère d'avance fixe par rapport au PMH ou PMB quelque soit le régime moteur.
Comme le CDI exploite les alternances positives du capteur, il y a 2 étincelles par tour moteur, au PMH et au PMB.
Pour le CDI programmable c'est le repère C (centre sinusoïde) qu'il faudra exploiter car il est d'avance fixe par rapport au PMH et faire varier le point d'avance (décharge condensateur) selon des valeurs prédéfinis selon le régime moteur (valeurs calculées par avance et stockées dans le programme).
C'est par électronique analogique qu'il faudra détecter le sommet de la sinusoïde et fournir un signal au module numérique.
Quand on suit les recommandations de réglage du CDI d'origine (alignement des repères carter et stator), à 3000tr/mn au moment de l'étincelle le repère du rotor doit être aussi aligné avec ces repères et ça correspond à une avance de 1.4mm.
Sur le graphe si par exemple à 3000tr l'étincelle se produit au point B, on peut imaginer que le repère C est alors à environ 1.2mm du PMH et que le PMH c'est le point ou la sinusoïde passe par 0. (ce sont des choses qu'il va falloir que je mesure à 3000tr).
Mon idée c'est de garder le réglage du stator tel qu'il est fait actuellement pour plusieurs raisons :
- Pas de nouveau réglage du stator à faire avec une pige de calage.
- Si le CDI tombe en panne (alimentation, etc...), je vais faire en conséquence d'exploiter le signal en C pour quand même commander la décharge du condensateur via la bobine HT (étincelle) avec une avance entre 1.4mm et 1mm et pouvoir continuer à rouler..
Comme le CDI va exploiter un signal (C) qui se situe à environ 1mm du PMH, il est trop tard pour agir sur l'alternance en cours pour lui donner une avance de 1.8mm par exemple.
Donc l'idée ça va être de calculer le régime moteur en mesurant le temps entre 2 repères C, donc sur 1/2 tour moteur.
Ce régime moteur va m'indiquer une avance définie auparavant dans la définition de la courbe et que je vais appliquer à l'alternance suivante et ainsi de suite...
Exemple : En C je mesure 10ms par rapport au précédent repère C, ça fait un régime de 3000tr, à ce régime j'ai défini une avance de 23° soit 1.27ms d'avance. donc le CDI va générer le signal avec 1.27ms d'avance sur l'alternance suivante.
On est en ms pour explication mais tout va se faire en µs (micro seconde) : mesure du régime moteur, déclenchement de l'avance...
A 3000tr (50tr/sec) l'avance sera réactualisé 100 fois par seconde.
En cas de blocage de la roue (boue en tout-terrain), il y aura une étincelle avec le piston entre le PMB et PMH, sans conséquence...
Après un blocage de roue, je prévois de déclencher l'étincelle uniquement sur le repère C sur quelques tours moteurs le temps que les choses se stabilise à nouveau...
Sinon coup de chance j'ai trouvé sur LBC un kit de démarrage sur Arduino pour 20 euros...
En plus la carte de test est équipé du même microcontrôleur que le module Pro Mini qui équipera le CDI.
Phil44