Archive pour catégorie Electronique

Allumage TCI Arduino pour la z740TC

Comme promis, j’ai réalisé cet article pour détailler un projet qui me tenait à cœur depuis quelques années: la conception d’un allumage modulaire TCI/CDI.

Un petit rappel : Il y à historiquement 3 grandes familles d’allumages pour les motos anciennes :

  • Les allumages à magnéto système sans batterie, où l’énergie et la haute tension sont produites par une bobine et des aimants permanent en mouvement.
  • Les allumages dits “batterie-bobine”, où là, l’énergie est stocké en chargeant magnétiquement une bobine, puis on libère l’énergie à l’ouverture des vis platinées.
  • Et le 3eme type, l’allumage CDI, qui est apparu dans les années 80. C’est celui qui équipe la plus-part nos motos actuelles. Son principe est de charger un condensateur avec de la moyenne tension, puis de le décharger instantanément dans une bobine élévatrice, pour obtenir la haute tension, et donc l’étincelle. L’ensemble est commandé par de l’électronique. Ce type d’allumage permet les hauts régimes, sans dégradation de la qualité d’étincelle. A noter que les premières motos à avoir utilisé cet allumage sont Françaises. C’est NOVI et Motobécanne dans les années 60 qui les avaient monté en série sur certains modèles de leur production ! (Et je pense même qu’ils sont à l’origine de ce type d’allumage… à vérifier)

Le TCI est en fait un système transitoire, sur la période 1978 et fin 80, où on à gardé le principe de charge de la bobine. Les ingénieurs de l’époque ont voulu supprimer les contraignantes et peu fiables vis platinées, pour les remplacer par de l’électronique.

Ce type d’allumage ne faisaient que remplacer l’aspect “commande” de la bobine. Il supprimait les vis, mais concevrait le mécanisme d’avance. (voir mon article sur l’allumage de la CBX ici)

C’est une version un peu plus moderne que je me propose d’étudier, qui embarque un processeur permettant de reproduire par calculs, les courbes d’avances. Et donc de supprimer le mécanisme d’avance. Et de plus d’embarquer plusieurs courbes d’avances pour des expérimentations.

Principe simplifié

L’idée de base est simple : à l’aide d’un transistor, reproduire la fermeture du circuit pour charger la bobine. Ce, pendant un temps : c’est le temps de charge. Suivi, en un point précis, de l’ouverture du circuit. Ce qui produit l’étincelle. Ce moment où l’allumage s’opère est un point précis au degré près dans le cycle de rotation du moteur. Il doit se produire légèrement avant que le piston soit en haut. C’est ce qu’on appelle le point d’avance. Il peut varier en fonction du régime moteur, suivant une courbe définie par le constructeur, souvent issu de relevés empiriques sur banc. (Ci-dessous la courbe constructeur pour la z650 d’origine)

Sur la z650 d’origine, l’avance est de 10° au ralenti, puis elle augmente progressivement avec le régime, pour atteindre un maximum de 35° au delà de 2800tr/min. C’est un mécanisme centrifuge, positionné derrière les vis, qui fait tourner et décale la came. Cette avance sera calculée, et le dispositif mécanique supprimé.

Les vis platinées seront remplacées par un capteur électronique. Il donnera un top précis un peu avant le point d’allumage, pour laisser du temps au processeur pour réaliser les calculs.

On trouve souvent sur les motos à moteur 4 temps, une bobine pour 2 cylindres, dont les pistons sont au PMH (point mort haut) en même temps, mais dont les cycles de distribution sont décalés d’un tour. (le cycle 4 temps se boucle sur 2 tours) Un allumage est produit simultanément sur les 2 cylindres ayant la même bobine à chaque tour. Un allumage est donc perdu :

L’allumage en phase de compression sera utile et produira une combustion, alors que l’allumage sur l’autre cylindre se produira pendant la phase finale d’échappement. Cette étincelle ne produira aucun effet. Ce cylindre verra sa combustion démarrer sur l’allumage du tour suivant et ainsi de suite.

Ce raisonnement est pour 2 Cylindres, mais sur un moteur comme la z650, on a 4 cylindres (2 paires), avec un décalage de 180°. Le système d’allumage est doublé et décalé de 180° (‘un demi tour)

Conception

La première idée est de réaliser 2 systèmes indépendants qui reproduisent le fonctionnement mécanique et électrique d’origine. La fermeture pendant un angle, (ou un pourcentage du cycle de rotation.) Ce rapport cyclique est appelé le pourcentage de DWEL, ou angle de CAM. Sur cette moto il est de 53% soit 190°.

Le temps de charge des bobines de la z650 prennent entre 6 et 8 ms pour être optimal. Ce principe mécanique basé sur un angle de fermeture de 190° est un compromis, trop long a bas régime, il provoque un échauffement qui pourrait être évité. Par contre sur les très hauts régimes, le temps de charge devient trop court, et la charge des bobines diminue, ainsi que la puissance de l’étincelle…

Un autre phénomène gênant est qu’il y a de grande chances que moteur arrêté, une des 2 vis platinée soit fermée, et que du courant circule en permanence dans une bobine. Les bobines d’origine étaient prévues pour le supporter. Mais il était conseillé d’actionner le coupe-circuit au guidon pour conserver le contact moto arrêtée. on comprend mieux pourquoi… Si on remplace les bobines sur cette moto, il faut bien regarder cet aspect résistance. Bon nombre de bobines refabriquées en chine de nos jours ne supporte pas et brûlent car elle ont une résistance trop faible.

L’électronique peut régler une grande partie de ces problèmes.

Les capteurs

Sur les motos actuelles il s’agit d’un Pick-Up. Ce nom pompeux qui rappelle les tournes disques pour ceux qui ont connu… Il s’agit en fait d’une simple bobine, devant laquelle passe un aimant, et qui produit une impulsion électrique. Pour une bonne précision, il faut que le volant qui supporte l’aimant, soit déjà d’un bon diamètre. (10 a 15cm mini).

Sur la 650, l’allumage est en bout de vilebrequin, et peu de place dans le carter. On peut créer cette détection facilement de 2 façons : Optique avec une fourchette optique, et un disque ajouré. (Trous ou fentes qui laisse passer ou pas la lumière). Le problème pour ce système est qu’il n’aime pas trop les vapeurs grasses, et ni les températures importantes.

La 2ème méthode est d’utiliser des capteurs magnétiques à effet Hall. Il y a dans le commerce des petits capteurs basés sur ce principe, pas chers, performants et qui supportent les températures du moteur. Je suis parti sur un composant que l’on trouve facilement : le A3144.

L’autre composant indispensable, c’est l’aimant. j’ai acheté plusieurs types d’aimant de forme et de tailles différents pour faire des tests. Je me suis arrêté sur un modèle intéressant et que j’ai validé. C’est un petit cylindre 5x3mm dont la magnétisation est faite non pas axialement (N et S sur les 2 parties plates) mais “diamétralement”. (si on trace le diamètre, on a le Nord d’un coté et le Sud de l’autre) voir schéma.

l’intérêt : Usinage facile, on perce un trou, et on loge ce petit aimant, bien orienté en le collant éventuellement.

Pour que ce capteur soit précis, il faut que le capteur (composant à effet Hall) voie sur sa trajectoire passer les 2 pôles (N/S) le plus rapproché possible. Et cet aimant correspond bien à ce critère. Le capteur à l’approche de l’aimant voit augmenter le champs magnétique (Nord par exemple) Le champ atteint un max, puis diminue très rapidement, pour s’annuler au centre de l’aiment. Puis repasse par un maximum du champ opposé (Sud) pour enfin diminuer et redevenir “neutre”,  quand l’aiment s’éloigne.

Approche: détection champ LED on Au centre: annulation LED off Vue du petit aimant N/S

C’est ce point central qui fait la détection. Car il est précis et quasi indépendant de la distance entre l’aimant et le détecteur. (dans une certaine limite bien-sûr). C’est le point précis de l’annulation de 2 champs puissant. Les 3 images ci-dessus montrent l’approche de l’aimant qui active la LED, la position centrale qui annule précisément le champ, la LED s’éteint. Ce front sera détecté pour le top d’allumage.

Après quelques essais, système est validé, et on se lance à faire quelques plans d’adaptation à partir de la platine d’origine support des vis. Ma règle : modifier sans modifier! (Créer des pièces maison sans jamais modifier les pièces d’origines…)

Mécanisme d’avance centrifuge

Première partie et ébauche rotor

Suppression du mécanisme centrifuge, et réalisation d’un rotor en 2 parties, pour passer dans l’alésage du plateau, et loger l’aimant dans un diamètre assez grand. J’ai ajouté un disque en alu sur lequel j’ai reporté les repères PMH, 10° et 35° pour les cylindres1-4 et 3-2 : repères d’origines, mais aussi les 45° (anticipation nécessaire pour mon système) Ce disque et ses repères sont visibles à travers le petit trou du plateau. Et comme d’origine, on peut contrôler l’avance à la lampe strobo.

Les divers pièces
Prémontage nouveau rotor
Vue de l’ensemble capteur complet

Puis fabrication des supports de capteurs sur circuit imprimé. J’ai rajouté 2 LED pour visualiser le point de commutation. Cela permet de prérégler facilement le point de détection sur le repère 45°. Les capteurs Hall sont à une distance de 2 à 3mm du passage de l’aimant. La détection s’opère jusqu’à 5-6 mm ce qui laisse une marge. Je voulais créer de petits boîtiers plastiques à l’imprimante 3D mais le plastique ne supporte pas mes températures de cet ordre… (le plan est dispo ICI) Il faudrait pour bien faire les mouler dans une résine. Ceci dit ces composants n’ont pas d’inertie, et une implantation des 3 pattes du capteur hall en triangle assure un maintien suffisant.

Plastique isolant sous CI Placement du Capteur Hall Vue d’ensemble CI capteurs

La liaison de ce capteur au boîtier TCI (logé sous le cache plastique droit, près de la batterie), se fait par un petit câble blindé. Un connecteur 4 points sur le boîtier, permet sa déconnexion.

Schéma et réalisation du Boîtier TCI.

Basé sur un processeur ATMEL 328 à 16MHz, il s’articule autour d’une petite platine Arduino Nano (2 à 3€) . La 2éme partie la plus importante du schéma sont les organes de puissance qui commandent les bobines. J’ai utilisé des transistors IGBT ref ISL9V3040D35T spécialement étudiés pour la réalisation d’allumages Il intègrent toutes les protections nécessaires pour la commande de bobines. Rien est à prévoir autour, il faut juste une commande en 5V pour la gate, donc attention car les platines Nano existent aussi en 3.3V et ne sont pas compatibles directement avec ces transistors.

Développement en parallèle
outil de simu et allumage.

Maquette de l’allumage avec LED
et module Bluetooth

Outil de simulation remis
au propre (en bas)

2 potentiomètres 10 tours, permettent un réglage fin de l’avance moteur tournant, par décalage à + ou – 6.4°. Ce qui permet d’ajuster au stroboscope, avec précisions l’avance qui a été préréglé statiquement, par la position des capteurs.

Câblage carte proto.
Vue d’ensemble. On peut voir le
connecteur des capteurs et le module
Bluetooth débrochable
Premier essais du proto avec le simulateur et une ampoule 21Wpour test conduction des IGBT

Pour le reste du schéma il n’y a pas grand chose à dire, Un régulateur 5V pour l’alimentation. Des switchs pour selection des tables d’ avance. 4 Leds pour voir l’état capteur, (pas indispensables). J’ai aussi ajouté de petits filtres HF que j’avais dans mes tiroirs, mais qui ne sont pas forcément utils.

Transistor 1982 (à gauche) et
IGBT cms en 2021 (adroite)

Vue top et tension primaire bobine.
2ms/c et 20V/c (voie 2)

Test en vrai-grandeurs

L’avantage d’utiliser un module Arduino est tout d’abord l’intégration, mais aussi toutes les librairies disponibles et qui permettent de développer rapidement. Le débuggage facilité par la Com native et son bootloader qui permet de télécharger le code en quelques secondes. J’ai prévu pour la mise au point, l’ajout optionnel d’un module Bluetooth (BT05), qui permet d’ envoyer sur un téléphone ou une tablette, une image du fonctionnent, (mesures, calculs et états) Il affiche principalement : La rotation moteur en tr/min, l’avance calculée.

Récupération du boitier de l’allumage que j’avais réalisé en 82.
Vue d’ensemble

Il faut rendre à l’Open Hardware
ce qui lui est dû!

Le Logiciel en bref

Comment résumer 6 mois de travait et 3 versions : Faire simple ou du moins essayer…

Le plus simple aurait été d’utiliser 2 processeurs indépendants pour réaliser 2 fois la même fonction. (C’est ce que font beaucoup de gens) l’avantage est l’indépendance et la modularité : 1 module pour 1 ou 2 cylindre, 2 modules pour 4 et même 3 pour 6!

Mais réaliser le fonctionnel des 2 capteurs dans 1 seul programme n’est pas simple, surtout en utilisant un temps de charge bobine constant (ou presque)

Ma première version reproduisait exactement les angles de conduction de190°/360 pour chaque paire de cylindre. Mais mes premiers essais sur table, avec les bobines on vite mis en évidence qu’a bas régime il était ridicule de laisser le courant circuler dans les bobines, une fois celle-ci chargées. Pour comprendre à 1000tr/min, (ou 16.666 tr/s) 1 tour prend 60ms x 53% = 31 ms pendant lesquels on charge la bobine. Sachant que 8ms suffisent…

2ème idée : charger la bobine pendant 8ms. Mais dans ce cas il faut anticiper la commande de charge 8ms avant le point d’allumage. Pas difficile en principe, car on se base uniquement sur le temps pour réagir.

Principe de base

Le point d’allumage varie suivant une courbe définie. L’image plus haut, montre la courbe de la 650 d’origine. l’avance varie entre 10° avant le point mort haut (PMH ou piston en haut) et 35° pour cette moto. Le capteur (Hall) qui donne le top est placé 45° avant le PMH. Cela permet au processeur :

  • de mesurer le temps entre 2 Tops (tour ou 1/2 tour précédent avec 2 capteurs)
  • de calculer avec cette mesure la vitesse de rotation (ou régime)
  • de lire dans une table, l’angle d’avance correspondant au régime mesuré
  • avec cet angle, de calculer le temps à attendre avant l’allumage Ta (fonction de la vitesse, à partir du Top)
  • en soustraire le temps de charge de la bobine Tc=Ta-8ms (constante de charge à 8ms)
  • puis attendre Tc , (calculé depuis le Top) et mettre en charge la bobine
  • attendre Ta et couper la charge pour provoquer l’allumage.
Ce cycle s’exécute 2 fois par tour pour les capteurs / bobines 1-4 et 2-3
Pourquoi une 3eme réécriture?
En réalité le problème n’est pas si simple. Le temps de charge bobine tout d’abord: Une bobine se charge “en courant” selon une courbe (log) bien définie. Son temps de charge dépend, de sa valeur selfique, de sa résistance et de la tension d’alimentation qui détermine le courant à atteindre. Et sa valeur initiale (déchargée après chaque étincelle pour notre cas) Ce temps est constant et correspond à une quantité d’énergie. Pour une même bobine, si on réduit ce temps de charge, on accumule moins d’énergie, et l’étincelle sera moins puissante. Il faut 8ms pour nos bobines de la 650.
Quand le moteur tourne à 9000 tr/min, 1 tour correspond à 6.6ms et donc la bobine n’a plus le temps de se charger complètement. Sachant que notre came mécanique représentait que 53% de la rotation complète : 6.6 x 0.53 =3.5ms de charge sur 8 nécessaires! C’est historiquement ce que l’on appelait l’effet rupteur. La puissance de l’étincelle diminue, jusqu’à limiter la vitesse de rotation du moteur. (De nos jours l’effet rupteur est programmé logiciellement…)
Le programme corrige un peu ce problème, car c’est physique: on a pas le temps nécessaire pour charger complètement la bobine. Il faut aussi prendre en compte un autre paramètre, le temps de décharge. Il faut un temps d’environ 1,5 à 2ms pour que l’arc se produise, s’éteigne, et que la bobine finisse naturellement de se décharger… Si on reprend notre exemple de 9000 tr/min, 6.6ms-2ms=4.6ms pour charger, alors qu’avec le système mécanique on avait 3.5ms.
Un autre problème qui se pose et qui vient du fait de vouloir gérer les 2 capteurs et les 2 bobines avec le même microprocesseur est qu’il faut anticiper cette charge de 8ms. A 1000tr/min : 60ms pour un tour. Le capteur est positionné à 45° avant le PMH, soit 360/45 = 1/8e. A partir du top, et le PMH on a 60/8= 7.5ms. On a donc pas le temps de mettre en charge la bobine sachant que l’allumage sera de toute façon avant le PMH (45-10° à 45-35°) Il faut donc anticiper la charge pour le tour suivant. Et ce pour les 2 capteurs… Ça complique l’algo.
Au démarrage on est pas dans ce cas. On ne doit pas anticiper car on a le temps. (Le démarreur de la 650 entraîne le moteur a environ 150tr/min) La difficulté c’est la transition entre ces 2 modes, sans rater un cycle…
3 zones de fonctionnements et pas mal d’astuces pour résoudre ce problème et ne pas avoir “trous”. (manquer un allumage). Je ne donnerai pas le détail ici, il suffit de regarder le code, pour prendre la mesure du problème.

Structure du code :

Téléchargement Code Arduino

Le code est principalement articulé autour de la mesure du temps de rotation. Cette mesure est confié au timer T1, 16 bits. Son diviseur est initialisé pour compter des multiples de 4µs, ce qui garanti une bonne précision, et mesure au maximum des temps de 250ms. (Qui correspond à 240rpm)

Une Interruption sur un seuil de comptage de T1 (registre COMPA) permet de gérer précisément le point d’allumage pour les 2 bobines.
2 interruptions sur entrées physiques (INT0 et INT1) gère les “Tops capteurs” 1-4 et 2-3 séparément. Elle sont comme qui dirait symétriques. Là se fait la plus grande partie du traitement. – Mesure rpm, calcul de Tc (temps de charge) et Ta (point d’allumage). Mise en charge des bobines et préparation de l’IT d’allumage. (IT TIMER1_COMPB)
La tache de fond ne s’occupe que des des taches de surveillances et d’affichage (vers console de débug, des LEDs et du module Bluetooth.

Mise au point et outil de test

En même temps que la réalisation du prototype, j’ai crée avec des parties de codes communes (surtout dans les principes retenus init de T1 etc…) Bref cet outil permet de simuler la rotation du moteur et génère les 2 impulsions à 180° à la place des capteur. Et permet un travail sur table de labo avant de mettre les mains dans le cambouis. Un potentiomètre numérique permet de faire varier la vitesse du moteur (qui s’affiche en tour/min sur un afficheur 2 lignes de 16.) entre 10 et 10 000tr/min. soit par pas de 100 ou pas de 10 RPM (si on appuie sur l’axe du potentiomètre) L’afficheur affiche en plus de la vitesse moteur, le temps en ms de la période, et la valeur du compteur (en x 4µs) Un inter permet de passer dans différents mode de test : panne d’un capteur, simulation d’accélération…
Si cette partie vous intéresse voici le code Arduino.

Le Générateur de courbe d’avance

Disponible ici en version encore expérimentale, ce logiciel permet de générer graphiquement jusqu’à 4 courbes d’avances sous forme d’un fichier texte, (Un tableau en C). Il doit ensuite être incorporé par copier/coller dans le source Arduino, recompilé et téléchargé dans l’allumage. Cette feuille de calcul est à charger dans Calc de Libre Office. Il faut activer les macros pour qu’il soit fonctionnel. (De base désactivés pour les raisons de sécurité que l’on connaît)

Télécharger générateur de courbes

Boîtier et câblage sur la moto

Tout cela est expérimental, comme je le disais plus haut. Le but n’est pas de faire de l’industriel, mais de s’amuser en apprenant. J’ai conçu mon circuit pour qu’il rentre dans la boite en alu que j’avais réalisé en alu plié, dans les années 80, pour mon premier allumage a transistor. Pas très étanche à l’eau j’en conviens …

L’allumage prend sa place place

proche des fusibles et le la batterie

Platine capteur raccordée par 4 cosses Faston 2.5. câble blindé.

Le raccordement entre les capteurs et le boîtier se fait par un câble blindé à 4 conducteurs. Un connecteur 4 points genre “Molex” permet la déconnexion avec le boîtier. (Leblindage relié par une cosse uniquement au niveau de la platine capteurs)
L’alimentation, se fait le plus directe possible entre la batterie et l’allumage. Pour se faire, le plus batterie traverse un fusible de 2A avant d’être coupé par un relais commandé par le contact. L’alimentation des bobines en +12V n’est pas modifié. seuls les 2 connexions qui allaient au vis, sont désormais raccordés au boîtier d’allumage, vers les IGBT. Un soin particulier est apporté à la liaison de masse vers le châssis, la batterie et l’allumage, car elle draine les courants des bobines (environ 7A crête)

Calage et indexation du rotor

J’ai ajouté un disque en alu monté à force sur la partie du rotor, coté vilebrequin. Logé derrière le plateau il permet de visualiser les 6 repères importants que j’ai gravé. En fait 2 x 3 à 180°. Ils sont en visu par le trou dans le plateau et permettent calage et ajustement du réglage par les trimers, au strobo. (Presque comme avant). Le premier tracé est à 45° en avance du PMH cylindres 1-4. Il sert à prérégler le capteur 1-4. Son jumeau gravé à 180° prérègle le top cylindres 2-3. Les 2 autres sont les repères pour contrôle 14° et 35° au strobo.

Positionnement, collage de l’aimantdans son logement. le tout recouvert d’un morceau de gaine thermo.
Report des repères sur volant magnétique
Puis gravure les 2 x 4 repères :T (PMH), -14°, -35° et -45°
pour cylindres 1-4 et 2-3

Premier réglage mécanique :

On place le moteur sur le repère 45° cylindres 1-4. On place le plateau ainsi que les supports capteurs au milieu des réglages mécaniques (vis au centre des lumières)
Puis on dévisse l’écrou central du rotor pour permettre la rotation de l’aimant (partie extérieur du rotor) On tourne cette partie du rotor dans le sens du moteur (CW) jusqu’à allumer la LED sur capteur 1-4. Cela doit se produire avant le point central. Continuer jusqu’à trouver précisément le point d’extinction. On peut revenir en arrière mais c’est toujours au point d’extinction qu’il faut s’arrêter. (car il y a une hystérésis) ce point doit être au centre de l’aimant. bloquer l’écrou.

Contre perçage de la pièce rotorcoté vilebrequin, et confection d’une goupille (baguette à souder 2.5mm)
La goupille est arrêtée par la rondelle.
Vue d’un des repères à travers l’orifice

J’avais préparé un petit perçage à 2.5mm sur la partie du rotor qui contient l’aimant, pour permettre ce premier calage. Pour ensuite contre-percer et loger une goupille fabriquée dans un petit bout de corde à piano : indexation définitive pour top à 45° du PMH.
Ensuite, moteur tournant, on peut visualiser le repère 14° au ralenti, comme avant avec les vis. Et surtout, plus besoin de desserrer les capteurs, on peut ajuster avec précision le réglage avec les 2 potentiomètres (trimers) dans la limite de + ou – 6.5° pour chaqune des paires de cylindres (1-4 et 2-3)

Conclusion

Cet allumage fonctionne pas mal du tout. Seul l’aspect démarrage serait à améliorer un peu…
Les premières mesures sont un peu chaotiques avec l’irrégularité du démarreur. Mais ce n’est pas si mal que cela car la moto démarre même au Kick !

Injection Française avant l’heure

500 Motobécane 1974 Injection (Photo Motobécane-Passion)

Un petit complément d’information sur ce sujet passionnant qu’est l’injection électronique et qui va encore m’occuper un bon moment je pense.

2Temps Motobécane. Patrick Barrabes.Suite à la lecture d’un livre passionnant “Les 2 temps Motobécane” de M.Patrick Barrabès, livre que je conseille aux passionnés. Près de la moitié de ce livre est consacré à l’aboutissement de la technique du 2 temps chez Motobécane :  les 125 LT, 350 M3 et “la 500 injection” de 74. Je n’avais avant cette lecture,  pas trouvé la moindre info sur ce que le BE de M.Moutet et M.Jaulmes (pour la mécanique) avait imaginé comme solution pour réaliser ce petit miracle mécanique et électronique, au début des années 70… avec des moyens naissants. ( Le balbutiement des ampli opérationnels gourmand, fragiles et imprécis. Le µA741 entre autre.) Monsieur Moutet aux études chez NOVI, était bien en avance sur son temps. Son équipe et lui  était déjà à l’origine des allumages à décharge de condensateur en 1965!!!  On comprend bien que les japonais de cette époque s’inspirait de nos réalisations. Preuve cet article publié chez eux en 1974 suite à la présentation de la 500 injection au salon cette année là. Et quand on sait que cet allumage à été monté de série par nos amis Nippons que dans les années 80 et que ce principe est toujours d’actualité…. Motobécane en était il l’inventeur?

Et mécaniquement? Comment réaliser une prouesse pareille sur un 2 temps? Chose encore jamais réalisée sur ce type de moteur. Impossible pas Français. Du moins à cette époque bénie. Citroën toujours en avance aussi commercialisait déjà la DS21 injection. Un haut de gamme à la Française! Alors pourquoi pas une moto?

Photo Motobécane-Passion

Et cette 500 injection? En fait elle n’a jamais existé! Du moins en tant que prototype fonctionnel. Des moteurs ont existé, un à même cassé sur un banc de test. mais visiblement aucune 500 n’a réellement roulé. C’était une base de 350 qui avait été présenté sur le salon. Horreur malheur… Moi qui croyait qu’il y avait eu 4 ou 5 protos! Mon père qui connaissait bien ces motos (il a longtemps roulé  en 350 Tobec) et qui avait lu les Moto Revues de l’époque, me l’avait dit. (Effectivement on en retrouve trace dans les revue de ces années.) Mais on a bien trace de moto qui ont roulé, l’injection marchait, elle était au point, mais sur des bases de 350! Ouf l’honneur est sauf, car sans la crise pétrolière qui a donné le coup de grâce au 2T, elle serait bien réellement sortie, ces belles 500. Quel gâchis…  Le plus fou, il y a même eu des 125 injection. Injection et monocylindre, ça fait rêver. Qu’est-ce que j’aurais aimé essayer ces motos!

Mécaniquement :

Du génie et je le dis ça sans bouillir! (Comme disait Pierre Desproges…) Injection directe électronique? impossible pour l’époque, les injecteurs pilotés n’existaient qu’en basse pression. Et pourtant ils on choisit d’injecter dans les cylindres!  (Voir le schéma) Ils ont utilisé justement des injecteurs de marque Bosh, (ceux de la DS au début pour réaliser des prototypes, lit-on).
L’astuce à été de positionner l’injecteur à l’arrière du cylindre, perpendiculaire à son axe, juste au dessus de l’admission. La sortie d’injection débouchait dans un transfert supplémentaire, réalisé avec un tube traversant le conduit d’admission en provenance du bas moteur. Ce conduit  et l’injecteur débouchait par un petit trou, dans le cylindre, quelques mm au dessus au dessus des transferts principaux.
A la descente du piston, lors du cycle de pré-compression, la pression dans le bas moteur est maximale juste avant l’ouverture du petit transfert d’injection -le premier à s’ouvrir.  C’est  à ce moment précis que l’injecteur est piloté et le créneau temporel d’injection est très court. On est à un peu moins de 45° du point mort bas. jusqu’à l’ouverture des transfert principaux. L’injection ne vaporise pas encore d’essence car l’injecteur est lent à cette échelle du temps.  (surtout à cette époque, injecteur très selfique et transistors de commande bipolaire, très lents…)
Les transferts principaux ont déjà empli copieusement le cylindre… d’air et commence à chasser les gaz d’échappement. La vaporisation d’essence commence réellement aux alentours du point mort bas. (d’après les schémas du livre de M.Barrabes) Et il reste un peut moins de 45° avant la fermeture de la lumière d’injection. Le génie du système c’est que grâce au balayage et au retard du moment d’injection,  c’est de l’air sans carburant qui est perdu à l’échappement avant que la lumière d’échappement se ferme et que la compression commence.
De ce fait, ce 2 temps était très économique. 30 % d’économie de carburant. Les ingénieurs de ce projet visait de tutoyer les consommation des 4 temps. Incroyable!

Et l’électronique de M. Moutet et de son équipe?

Peux d’infos malheureusement sur ce magnifique ouvrage. Mais un petit tour sur internet m’a permis de trouver quelques réponses. Un magnifique article sur ce sujet existe sur le site Motobécane-Passion (je mettrai le lien complet en bas de cet article) .

Photo Motobécane-Passion

Et le plus incroyable, c’est que M.Moutet à participé à la rédaction de cette article. Je suis jaloux!  Je me régalerais tant de pourvoir passer un moment à discuter” histoire électronique” avec ce monsieur!
Ce qu’on apprend en lisant dans le livre et sur ce site, c’est que le principe de cette injection -pour l’électronique du moins- les bases actuels étaient déjà là.  Mesure d’ouverture du papillon, (Une guillotine en fait sur cette machine) et évaluation de la vitesse moteur (Un intégrateur sur le signal du top d’allumage?) Ces 2 informations peuvent pointer sur un tableau en x et y, et permettre de déterminer un temps d’impulsion pour la commande de l’injecteur. Ça, c’est le principe général et avec un Arduino c’est un programme d’une dizaine de lignes. Mais en 73…

En fait on voit toute l’astuce le l’inventeur ici. Cette cartographie, était mémorisé sur un support optique. Un négatif photo en somme, en forme de disque plus ou moins opaque (du noir au transparent) une façon astucieuse de transcoder la richesse. La cartographie pouvant être changée sans modifier l’électronique. Cette information était lue optiquement par un photo transistor fixé sur un bras mobile. A la façon d’une tête de lecture d’un disque dur moderne . Incroyable… La position de cette “tête de lecture” et de ce bras était mécaniquement liée, par un câble, à l’ouverture des gaz! Pas de potentiomètre, ça simplifie encore l’électronique. Et la rotation du disque? En fait un intégrateur effectivement. Il positionne ce disque angulairement, sur une valeur proportionnelle au régime moteur… Mais là encore, pas d’électronique. Un mécanisme de compte tour, bien amorti, fait l’affaire! Le disque en lieu et place de l’aiguille.

Photo Motobécane-Passion

Le principal de la fonction est là. Mais encore une idée géniale des ingénieurs de chez NOVI, qui maîtrisaient mieux les alternateurs que les batteries : faire fonctionner cette injection sans batterie. Uniquement sur le volant magnétique, ce pour permettre un démarrage du moteur sans énergie stockée. Là encore le génie. Calquer ce fonctionnement sur celui déjà éprouvé de l’allumage (CDI) à décharge de condensateur, dans la bobine de commande de l’injecteur, à  la place de la bobine d’allumage. La commande d’un thyristor – composant très rapide pour l’époque- initie une montée de tension franche sur l’injecteur. L’injecteur s’ouvre alors (assez) rapidement. (self) Et le temps d’ouverture est proportionnel à l’énergie préalablement stocké dans la capa. Et c’est là que le système de lecture optique intervient. Le photocoupleur commande une série de transistors qui règle la charge de cette capa. Bravo c’est simple.
Mais bon ce schéma n’est pas le plus complet. Je pense qu’il y est sûrement un des 1er. On ne voit apparaître ni info de dépression, ni température (starter) évoqué dans le texte. Mais c’est déjà tellement super, merci M.Moutet.

Intéressant sur la photo ci dessous : le disque optique mémoire cartographie injection. On voit aussi les 3 gros condensateurs qui devaient stocker l’énergie nécessaire à l’ouverture des injecteurs. Hé oui, il en faut un peu plus que pour faire une étincelle!!

Document Motobécane-Passion

Motobécane, tout un pan de notre histoire de France motocycliste, et merci à ces valeureux ingénieurs et techniciens. Merci à vous tous.

Je remercie M.Patrick Barrabès, et ma fille qui m’a offert ce beau livre “Les 2 temps Motobécane” qui m’a appris plein de choses sur une de mes prochaines restaurations. Une M3.

Et aussi un grand merci à M. Moutet et a ce magnifique site http://www.motobecane-passion.fr géré par de valeureux passionnés.

Motobécane injection : https://www.motobecane-passion.fr/injection_electronique.htm

Les 350 M3 : http://www.motobecane-passion.fr/nouvellepage3.htm

L’injection libre

Rampe injection de Suzuki GSX-R

Introduction

Après quelques travaux sur l’allumage auto-moto ces dernières années pour approfondir mes connaissances, je complète mes recherches dans le domaine incontournable de nos jours de l’injection. Avec une idée derrière la tête. enfin plusieurs. On verra plus tard…
Étant de formation électronique, je m’ intéresse aux détails de réalisation, plus qu’aux principes que je connaissais déjà un peu. En effet je suis tout cela depuis pas mal d’années et j’ai une K100 avec une injection Bosh L-Jextronic que j’ai eu l’occasion de dépanner 3 fois en près de 200 000Km!
Mais les choses on bien évoluées en près de 40 ans. Et ce qui était confidentiel chez les constructeurs auto et moto, s’est normalisé, vulgarisé. L’électronique à évolué et offre de nos jours des possibilités inimaginables. Les microcontrôleurs ont  envahit notre quotidien, sont de plus en plus puissants et ne coûtent plus rien. De même que les capteurs optiques, effet-Hall, pression, position, eux aussi abordables et simples à mettre en œuvre. Bref, toutes ces fonctions, électroniques et informatiques jadis compliquées, existent de nos jours sous forme de” briques”. Il n’y a qu’a empiler! C’est presque aussi simple que ça.
Linux, l’open source, et depuis quelques années, l’open hardware permettent de former nos “petits jeunes”. Mais aussi pour les plus expérimentés d’entre nous, tout cela permet de mettre en œuvre rapidement, à peu près n’importe quel projet complexe. Merci Mr Jim Stallman ! Sans qui l’open source et la licence GPL -ce qui permet le partage- n’existerait pas. Linux non plus n’aurait pas vu le jour. Savez vous que sans Linux le web n’existerait probablement pas non plus? Du moins sous cette forme libre et quasis gratuite! Vos voitures et motos seraient probablement plus chères, et moins sophistiquées. Car une très grande partie des programmes contiennent du code Linux et open source. Comme beaucoup d’appareils du quotidien. C’est ce qu’on appelle “l’embarqué”, et on en trouve de nos jours dans à peu près  dans n’importe quel appareil électronique. Même nos téléphones portables contiennent un noyau Linux.
Tout cela a été écrit en langage C, ( GCC = GNU Compilateur C) un langage des années 70.  Et devinez qui à écrit la première version de GCC? M. Jim Stallman, lui même! Et savez vous pourquoi? Il développait lui aussi un système d’exploitation qui n’a pas vu le jour, mais ce compilateur a permit à Linus Torvald  de créer LINUX!  Deux des plus grands “hommes de partage” de ces détestables 50 dernières années fric!

Mais Je m’égare. Re-concentrons  nous sur notre sujet : l’injection,  en prenant pour cible l’ouverture : Open source et Arduino. Il y a déjà bien à faire avec tout cela. Décortiquer et comprendre ce que de géniaux concepteurs, ont réalisés, et publiés sur internet.

J’ai repéré 4 clients sérieux qui valent la peine d’être cités. Un boulot magnifique, malgré des buts et ambitions très éloignées. Mais commençons par le début et un peu de vulgarisation sur les principes actuels de l’injection avec un site orienté moto…

1-Site incontournable : le repaire des motards .com

Un super article de vulgarisation sur l’injection, et son fonctionnement :

Les photos ci-dessus sont issues de cette article sur l’injection. Il faut lire absolument cet article à la fois très complet et très simple à comprendre. Et on sera prêt à aller plus loin.

http://www.lerepairedesmotards.com/technique/mecanique/injection-electronique.php

1-1 Quelques compléments personnels

On remonte un peu le temps :
J’ai vu l’injection évoluer au fil des années. Les premières injections que j’ai pu voir étaient des injections mécaniques. On parle ici que d’injection pour moteurs essence. Peugeot dans les 70, avait équipé des 404, les DS injection électronique, puis 504 à injection mécaniques directes (dans la chambre de combustion). Pour la moto, le premier constructeur que je connaisse qui ait réalisé une étude d’injection électronique, c’est le constructeur Français Motobécane! Avec sa 500 présenté au salon de Paris en 74. Cette version d’injection était fonctionnelle, et a malheureusement équipée que 4 de motos. (voir les quelques images en fin d’article). Cette injection, très astucieuse, était indirecte (basse pression) mais l’injecteur émettait son jet dans le cylindre. Solution un peut différente des motos actuelles. Les japonais ont suivit dans les années 80 et on installé leur premières injections, sur les premières motos turbo, Honda en 81 sur sa CX500T et Kawa sur sa 750 turbo. Puis en atmo,  sur Z1000 et Z1300 vers 82, et en 83 BMW sur la K100. Rien d’étonnant pour cette dernière, car c’est l’expérience automobile qui a été appliquée à cette moto. Mais c’est plus tard, que l’injection a dû se généraliser pour respect des normes environnementales. (90..2000)

Mieux qu’un carburateur :
Les premières injections n’avait pas de sonde “Lambda” à l’échappement. (comme ma K100) le but étant juste de faire mieux que les carburateurs. L’information principale de ce type d’injection est juste la mesure de la quantité d’air à un instant “t”. Cette grandeur permet par un calcul (processeur) de connaître la quantité d’essence à mélanger (pulvériser) dans ce volume d’air, ce pour une combustion optimale.   14.7g d’air pour 1g d’essence, ce sont les proportions exactes. Des corrections sont ensuite apportées à cette base, la température de l’air, et celle du moteur, principalement pour enrichir à froid (starter). La dépression dans l’admission, qui permet de donner une information sur la charge du moteur (besoin de puissance) et permet aussi de corriger l’avance à l’allumage. Cette dépression peut aussi devenir positive (pression) dans le cas de l’utilisation d’un turbo. Il faut enrichir dans ce cas, quand le turbo compresse (il entre plus de volume d’air). La pression atmosphérique elle aussi est a prendre en compte. Plus pour la variation dû a l’altitude que celle dû à la variation de temps (voir les tables en annexe) En montage par exemple, il y a moins d’air pour un même volume.  Et enfin la sonde lambda (capteur d’oxygène), elle permet un contrôle et une ultime correction  (si besoin mais pas toujours)

Les Paramètres et O.D.G. (ordre de grandeur)
Il est de multiples manières d’évaluer le volume d’air, mais au final il ne faut pas oublier le but d’estimer le poids de cette quantité d’air. D’où toutes ces corrections de pression et température. Le rapport est précisément de 14.7 en terme de poids. On trouve aussi sur internet un rapport entre volume Air/essence , qui je pense est indicatif et plus un ordre de grandeur. Il faut environ 10 000l d’air pour 1l d’essence. (voir mes calcul plus précis en annexe)  Mais pour une combustion correcte, l’important c’est le comburant : l’oxygène. Et il est connu que cette quantité varie pour un même volume d’air : exemple en fonction de l’altitude ou de la pression. Je n’arrive pas trop à trouver l’influence sur le poids  de l’eau dans l’air, ou taux d’humidité,  mais intuitivement imagine bien que plus il y a d’humidité, plus il faut enrichir. Il faut avoir à l’esprit que le taux d’oxygène dans de l’air sec est d’environ 21%, le reste se compose essentiellement d’azote. (qui ne sert a rien pour nos moteurs) Masse volumique de l’oxygène 1,427 soit 1.4g par litre pour mémoire. Quelques valeurs de la masse volumique de l’air et influence de la température :  1 litre ce même volume d’air sec, au niveau de la mer et à 0°C sa masse est de 1.292g,  alors qu’à 25°C elle est de 1.184g. On voit donc avec cet exemple que ces variations sont loin d’être négligeables. Phénomène que l’on remarque avec les carburateurs : une température (souvent relativement fraîche) favorise un bon rendement (moteur agréable).
Masse volumique de l’essence : 0.775g par litre pour mémoire. Tout cela n’est pas simple ! Beaucoup de paramètres sont à prendre en compte si on veut être rigoureux…  (Voir tables en annexe de cet article)

Quelques principes de débit-mètres :
* Le premier système de mesure de quantité d’air que j’ai pu démonter est le système adopté par BMW sur ma K100. En fait constitué d’un volet,  rappelé par un ressort, et qui dans le flux d’air d’admission se met en équilibre sur une position pour un flux constant. Et dont la position d’ouverture évolue en fonction de la demande du moteur. Donc une relation existe entre cette position de volet et la quantité (volume) d’air aspiré. Un potentiomètre avec une courbe précisément définie, et qui compense la position du volet, donne une tension finalement proportionnelle au débit d’air.
* Un autre système que j’ai pu étudier, et qui est notamment utilisé dans l’Automobile, est un système à fil chaud. Un fil est chauffé par un courant régulé et  placé dans le flux d’air d’admission. Et on mesure la tension au borne de ce fil. Plus le flux d’air augmente, plus le fil est refroidi, sa résistance diminue, et la tension aussi. La tension, en suivant une loi physique simple, diminue avec l’augmentation du débit. Une compensation doit être opérée sur la température de l’air ambiant. (vue sur moteur Peugeot HDI, utilisé aussi dans le médical sur des respirateurs artificiels)
* Autre système : papillon commandé et capteur de dépression. Le principe est de mesurer la différence de pression avant et après le papillon. Pour une ouverture donnée du papillon, cette différence de pression correspond à un débit. Le papillon est commandé par un moteur pas a pas, dont le calculateur connaît précisément la position, il peut donc en déduire par une table ou par un calcul, le débit d’air en fonction de la différence des pressions. (vu sur des moteurs Renault)
* Système plus simple et largement utilisé sur nos motos actuelles : mesure de l’angle d’ouverture du papillon grâce à un potentiomètre et corrélation avec le régime du moteur. En effet un moteur, c’est une pompe, plus il tourne vite, plus il aspire de l’air. Si le papillon l’autorise, donc en fonction de son ouverture, on a une idée précise du volume d’air que le moteur aspire. Un capteur de dépression permet d’affiner le calcul (et de gérer l’avance) C’est ce  principe qui est utilisé dans les projets qui vont suivre.
Aller, passons dans le monde libre…

2-Projets Injections Arduino  : action !

2-1 Projet Fuelino

Réalisé par un ingénieur Italien passionné, ce projet d’étude consiste à comprendre et à corriger l’injection d’une Honda CBR suite adjonction d’un Kit 160cc. Un projet qui à notamment évolué vers un bicylindre 749 Ducati. Très instructif et relativement simple ce projet est riche d’enseignement. Malgré une programmation objet tout est bien écrit et optimisé pour tourner sur un Arduino Nano.  Très instructif. Plein d’autres choses sur son site. On est pas loin, avec ce projet, d’une vrai injection. En tout cas les bases sont jetées. Et en toute simplicité.

https://www.monocilindro.com/fuelino/

2-2 Projet Combiduino :

Un travail sur le sujet des plus abouti. Le but étant d’équiper un Combi Wolkswagen essence d’une injection et d’un allumage moderne. L’allumage est un module standard Ford qui utilise un capteur vilebrequin 36 dents -1. Et l’injection est réalisée à partir d’un Nano et d’une carte porteuse de sa conception. L’injection utilise les infos du capteur 36 dents-1 et génère la commande des injecteurs ainsi que l’avance à l’allumage, grâce à une information numérique produite par l’Arduino. Les réglages sont accessibles par une appli sur smartphone et par Bluetooth. Dommage que ce soit une pomme! Pas grave, l’important c’est le reste.
Présentation :
https://forum.arduino.cc/index.php?topic=413700.0

Page Combi :
http://www.old-droppers.com/index.php?showtopic=38723&page=1

Sources :
https://github.com/sarahconnors1/combiduino

2-3 injection expérimentale sur A110 :

Un autre projet un peu expérimental, (aux dires de son concepteur, M.Philippe Loutrel) mais qui peut aussi servir de base pour une conception simple.

http://www.loutrel.org/Injection.php

Coté Allumage :

Ce monsieur Philippe fait aussi plein d’autres chose avec Arduino sur ses belles mécaniques. Il a notamment exécuté un travail considérable sur l’allumage. Et en toute simplicité!
Beaucoup d’expérience sur cette page :

  • multiples sondes et capteurs.
  • allumage reparti (multi bobines)

http://loutrel.org/aeduino.php

2-4 Projet Speeduino :

Un (grand) projet d’équipe collaboratif, et qui s’est étalé sur plusieurs années d’études. (Site Hackaday, le site des projets ambitieux et Hi-Tech)
Le projet sur base Arduino Mega 256, se veut polyvalent, puissant, et paramétrable. Un logiciel multiplate-forme,  pour réaliser la mise au point-et même sous Linux. Paramétrage des capteurs, et  réglage, assisté par une interface graphique à cadrans analogiques pour l’affichage des grandeurs en temps réel. Comme les pros!

Les principes
https://speeduino.com/wiki/index.php/Overview
https://hackaday.io/project/4413-speeduino
http://wiki.speeduino.com/en/home

Le manuel
https://speeduino.com/Speeduino_manual.pdf

Code et installation
http://wiki.speeduino.com/en/Installing_Firmware
https://wtmtronics.com/product/no2c-v0-2-x/

Interface graphique

http://www.tunerstudio.com/index.php/downloads

Les schémas
https://hackaday.io/project/4413/files
https://github.com/noisymime/speeduino/tree/master/reference/hardware/v0.4
https://raw.githubusercontent.com/noisymime/speeduino/master/reference/hardware/v0.4/schematic%20v0.4.3_schem.png

Remarque pour mémoire: le capteur pression analogique MPX4250: gamme de 20 à 250Kpa (0,2 à 2,5Bar)

Doc microcontrôleur du Arduino ATMEL AT-MEGA 2560

Brochage Arduino ATmega-2560

Ci-dessous exemples réalisations du CI Speeduino sur 3 versions. On trouve ces CI nus, en Kit, ou tout équipées.

Hardware V0.2

Hardware V0.3

Hardware V0.4


ANNEXE

Mes notes sur mes recherches internet.  Besoin de référence pour me repérer, pour juger de l’influence des différents paramètres.

1/ Une petite synthèse et quelques calculs pour voir et comprendre. (c’est partiel, mais c’est une base)
Composition de l’air.

  • Éléments de références et conversions Température, masse, volume.
  • Le mélange air essence optimal, calculs volume et masse.
  • Influence sur la richesse de la température, et de la pression.

Télécharger Feuille de calcul des grandeurs de bases de l’injection.(Calc Open office)

2/ Une 2eme campagne de recherche pour se documenter sur le dimensionnement des composants de l’injection.

J’ai trouvé un site aux US qui traite du sujet avec des formules empiriques, et plutôt dédié gros moteurs industriels.
Mais très instructives, et riche de simplicité (et de bon sens) J’ai extrapolé quelques calculs, et pris en exemple ma moto (K100 BM) et on retombe sur les bonnes valeurs… plutôt rassurant.

Télécharger le fichier de calcul des éléments (Calc Open office)