| CDI programmable maison | |
|
Auteur | Message |
---|
Phil_44
Nombre de messages : 590 Age : 64 Localisation : Nantes (44) Date d'inscription : 13/10/2019
| Sujet: CDI programmable maison Lun 14 Oct 2024 - 13:28 | |
| Bonjour à tous,
J'ai l'intention de me lancer dans la réalisation d'un CDI programmable... Projet pour le fun et le plaisir.
Je suis actuellement dans la phase ou je réunis le maximum d'informations pour évaluer la faisabilité... (électronique, programme, formule, courbe d'avance, dimensions mécanique...)
Je vais beaucoup m'appuyer sur le sujet de Chris_62 (Réalisation d'un CDI programmable).
Si vous des informations, des suggestions, des avis à me donner, n'hésitez pas, je suis preneur...
Merci...
Phil44 |
| | |
Phil_44
Nombre de messages : 590 Age : 64 Localisation : Nantes (44) Date d'inscription : 13/10/2019
| Sujet: Re: CDI programmable maison Mer 16 Oct 2024 - 12:47 | |
| J'ai avancé un peu sur le sujet et pour le moment c'est toujours la phase prise d'infos. J'ai tout de même saisi dans Excel la formule qui permet d'avoir la position du piston en fonction de l'angle de rotation. Je savais que j'aurais besoin des résultats de cette formule pour la programmation de la courbe d'avance. (j'affiche le calcul par pas de 1 degré mais je l'ai également par pas de 0.5 degré, le plus dur c'est de saisir la formule une fois..) J'ai mis en surlignage jaune le point d'avance 1.34mm pour 17 degrés de rotation. En effet dans la revue technique, pour un bon calage de l'allumage électronique, il est indiqué de vérifier qu'on a bien une avance de 1.4mm pour à 3000tr. Et selon le tableau une avance de 1.4mm ça correspond à 17 degrés d'angle de rotation Si on fait une extrapolation à 6000tr, pour avoir le même laps de temps qu'à 3000tr, c'est 2 x 17 = 34 degrés d'angle. Et selon le tableau pour 34 degrés d'angle c'est 5.2mm d'avance. Bilan d'une avance de 1.4mm à 3000tr, il faut évoluer vers une avance de 5.2mm à 6000tr... Là je comprend mieux l'intérêt de faire évoluer la courbe d'avance selon le régime et la courbe de Chris_62 (avance DTLC) avec un max de 4mm. Si l'avance était fixe selon le régime, à 6000tr le piston serait donc en décalage de 1.7mm (dépassé) par rapport à la position idéale (PMH). Pour rappel, on considère que le temps entre l'étincelle et l'effet de la poussée de l'explosion est fixe quelque soit le régime moteur (dégradation dans les hauts régimes). Si on veut que le piston subisse la poussée juste au PMH il faut déclencher l'étincelle avec une avance par rapport au PMH (temps de production et propagation de l'explosion) selon le régime moteur. Pour ceux qui veulent en savoir plus j'ai trouvé un site qui permet de calculer la position, la vitesse et le temps du piston selon le régime... http://www.pats.ch/formulaire/cinematique/cinematique3.aspx Pour le moment c'est toujours une approche théorique mais qui permet de mieux évaluer le principe et l’intérêt. Phil44 |
| | |
Phil_44
Nombre de messages : 590 Age : 64 Localisation : Nantes (44) Date d'inscription : 13/10/2019
| Sujet: Re: CDI programmable maison Mar 22 Oct 2024 - 12:09 | |
| J'ai lu sur internet quelques sujets explicatifs sur la courbe d'avance d'allumage 2T. Maintenant je commence à mieux comprendre la forme des courbes d'avance 2T. Dans la majorités des cas c'est une courbe à la pente d'abord positive, suivi d'un plateau et enfin négative. Exemple de courbe d'avance 2T Il y a plusieurs paramètres à prendre en compte : La quantité de mélange introduit dans la chambre de combustion qui varie selon le régime moteur. La présence d'un pot de détente. Règles : La poussée sur le piston aura lieu quand sera finie la combustion de tout le gaz contenu dans la chambre. (ce n'est pas une explosion mais bien une combustion, ce qui est plus nettement plus lent) Plus la chambre est pleine de gaz et plus le temps de propagation sera long (plus de mélange à bruler). La valeur moyenne de la propagation c'est environ 1ms. Idéalement la poussée doit se faire sur le piston quand il aura dépassé le PMH + 0.3mm. (il faut au moins 50% de gaz brulés au PMH) Explications : A bas régimes : C'est la plage de régimes sur laquelle la chambre se remplit le mieux et donc le plus (moins de turbulences dans l'admission, meilleur remplissage). Le temps de propagation sera plus long que la moyenne. Il faut une poussée au plus prés du PMH pour exercer le minimum de poussée dans le détente quand la lumière d'échappement va s'ouvrir. (limiter le retour de gaz brulé par le détente alors que les lumières d'admission sont encore ouvertes, le régime moteur n'est pas en phase avec le détente). A delà des mi-régimes : Au fur et à mesure que le régime augmente les turbulences d'admission augmentent et la chambre se remplit de moins en moins bien. Donc le temps de propagation diminue alors que le régime moteur augmente (moins de gaz à bruler). La poussée sur le piston doit se faire absolument après le PMH pour exercer le maximum de pression dans le détente et profiter au mieux de son effet. (le détente retourne des gaz frais dans le moteur, les lumières d'admission sont fermées car le détente et le régime moteur sont en phase). Sujet avec une belle animation expliquant l'effet détente : effet détente Le plateau de la courbe, c'est la limite d'avance qu'on donne à la courbe selon la sécurité que l'on veut prendre. Test courbe d'avance Dtmx : (affichage de la courbe rupteur d'avance fixe à 1.8mm pour comparatif) Bien entendu, il faudra faire évoluer la courbe selon certaines informations complémentaires et les premiers essais... Pour mettre en forme la courbe je n'agis que sur le temps de propagation que je fixe selon le régime moteur. (on obtient alors "avance calculée" mis en forme par avance "Max" et "Min" pour obtenir "avance degrés" et conversion par la formule pour obtenir "avance mm") Je fixe une avance Max par sécurité et une avance Min obligatoire. Bien entendu je ne connais pas avec exactitude le temps de propagation sur la Dtmx, j'ai pris une valeur moyenne de 1ms. Dans les bas régimes un temps de propagation supérieur à 1ms. Dans les hauts régimes un temps de propagation inférieur à 1ms et diminuant au fur et à mesure de l'augmentation du régime moteur. En fait j'ai cherché à dessiner une courbe d'avance se rapprochant de celle du DTLC (sujet de Chris_62) en agissant uniquement sur les temps de propagation et le résultat semble assez cohérent au vu des temps de propagation insérés dans le tableau. Un point ciblé : une avance de environ 1.8mm à 6000tr (bon fonctionnement avec rupteur). courbe DTLC (Chris_62) Reste à faire la suite pour peut-être un jour tester tout cela sur la mix... Phil44 |
| | |
Phil_44
Nombre de messages : 590 Age : 64 Localisation : Nantes (44) Date d'inscription : 13/10/2019
| Sujet: Re: CDI programmable maison Dim 3 Nov 2024 - 17:32 | |
| 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 |
| | |
PhilAt2
Nombre de messages : 573 Localisation : Oise Date d'inscription : 13/08/2020
| Sujet: Re: CDI programmable maison Lun 4 Nov 2024 - 15:59 | |
| Hello , Tu t'es lancé dans un sacré truc , Philippe , chapeau ! J'avoue que je me suis perdu assez vite dans les explications techniques ,l'electronique c'est pas mon truc Mais je crois bien volontiers à l'intérêt sur la finesse des courbes de réglages que ton développement pourra offrir : Je me souviens sur des vieux moteurs avec boitier rupteurs externe au volant magnétique (genre Bernard W110) ,on arrivait à peaufiner des réglages d'avance au poil ,moteur tournant ,à l'oreille et sur l'établi .Mais c'était pas en charge et sans aucune finesse sur les courbes regime/puissance .Juste bon pour un motoculteur ! |
| | |
Phil_44
Nombre de messages : 590 Age : 64 Localisation : Nantes (44) Date d'inscription : 13/10/2019
| Sujet: Re: CDI programmable maison Mar 5 Nov 2024 - 11:02 | |
| Salut Phil, En effet sur le papier ça semble vraiment intéréssant de pouvoir faire varier son avance selon son régime moteur. Le CDI d'origine le fait déjà mais de façon au plus simple... J'essaie de donner des explications techniques qui soient le plus simple possible mais c'est pas toujours facile. On le dit bien, rien ne vaut l'expérience professionnelle, donc dans un sujet comme celui là je suis bien aidé, donc pas trop de mérite mais merci pour les encouragements. Rien ne dit qu'il n'y aura pas un point de blocage technique, l'avenir le dira car l'objectif c'est de pouvoir mettre en place le CDI programmable sans modifier le reste (capteur, modification mécanique, etc...). La partie numérique semble être la plus compliquée mais cela m'inquiéte pas, c'est plutôt la capture du sommet de la sinusoide du capteur d'impulsions qui m'inquiéte le plus (stabilité du capteur selon le régime) et concernant l'alimentation ça sera par batterie pour le moment. Il faudra être patient car je vais bientôt ranger la moto pour l'hiver donc ça sera au mieux les premiers tests sur la moto au printemps. Avant cela il faudra déjà finaliser le logiciel et l'électronique et faire des tests sur table... Ah oui, un autre point qui me semble curieux dans ce que je veux faire mais j'attends de voir si cela va faire réagir des personnes... Je voulais modifier mon précédent post car à mon graphe j'ai rajouté le PMH (D). (on ne peut plus éditer un post précédent sur son sujet ??) En effet le graphe représente un cycle sur 360° et si on imagine le point B comme le point d'avance à 3000tr soit 18°, on place le PMH (D) à 18° du point B. Quand on modifie le réglage du stator, on modifie l'écart entre le point C et D. Phil44 |
| | |
Phil_44
Nombre de messages : 590 Age : 64 Localisation : Nantes (44) Date d'inscription : 13/10/2019
| Sujet: Re: CDI programmable maison Lun 11 Nov 2024 - 12:56 | |
| J'ai voulu quand même vérifier si il y avait bien correspondance entre le graphe et la position physiques des différents éléments du stator (capteur) et du rotor (aimants). Vérification faite à partir de photos du stator et rotor. Au départ je ne comprenais pas l'étincelle (B du graphe) se produisait alors que le capteur était aligné avec la fin de l'aimant. Et puis au bout d'un moment je me suis rendu compte (la vue qui baisse..) que l'axe du bobinage capteur était positionné vertical dans le stator et donc que l'axe de magnétisation était horizontal (perpendiculaire au bobinage). Rotor : A position du repère pour le réglage d'avance B centre de l'aimant qui agit sur le capteur pour provoquer l'étincelle. Entre A et B un angle de 135°. Stator : (réglage de l'avance selon RT avec étincelle à 3000tr) 1 position du repère A du rotor (1.4mm du PMH) 2 position du centre de l'aimant qui agit sur le capteur. 3 tangente de l'axe de magnétisation du capteur avec l'aimant. 4 position du repère A du rotor quand le piston est au PMH Mesure sur photo de l'angle entre 2 et 3 = 15° (15° c'est exactement l'angle qu'il y a sur le graphe entre B et C, coïncidence ??) Angle entre 1 et 4 = 17.5° selon la formule qui donne la course selon angle (pour 1.4mm) Bilan quand le centre de l'aimant est aligné avec le capteur (C du graphe) il y a un angle de 17.5 - 15 = environ 2° avant le PMH piston (D du graphe). Quand le CDI va recevoir le signal (capteur aligné avec le centre de l'aimant), il faudra prendre en compte que le piston est à 2° du PMH. Si 2° c'est "écart" avec PMH Donc il faudra déclencher la prochaine avance avec la formule : écart + 180° - avance prédéfinie Dans le réglage de l'avance pour corriger, il faudra agir sur la valeur de "écart", pas besoin de correction mécanique mais correction juste par logiciel... Phil44 |
| | |
Phil_44
Nombre de messages : 590 Age : 64 Localisation : Nantes (44) Date d'inscription : 13/10/2019
| Sujet: Re: CDI programmable maison Ven 22 Nov 2024 - 23:29 | |
| J'ai avancé sur l'électronique qui doit générer le signal de synchro pour le module processeur (Arduino Pro mini). Signal "synchro" qui doit se produire au moment ou l'alternance positive du capteur est à son maximum, ce qui correspond à l'alignement du capteur avec le centre de l'aimant (voir repère C du graphe dans un post précédent). Le signal de synchro doit être un signal numérique (compatible avec le module processeur) de front descendant, de niveau haut 5v et de niveau bas 0v. J'ai mesuré la tension du signal AC du capteur en fonction du régime : (mesures approximatives pour avoir un ordre de grandeur) 1500tr : 3v, 3000tr : 6v, 6000tr : 12v... Une pointe à presque 14v sans dépasser 7000tr, grosso modo environ 2v par 1000tr Donc une plage de tensions : 2.4v (40hz) pour 1200tr à 16v (270hz) pour 8000tr. (ce sont des valeurs de tension efficaces, ce qu'il faudra prendre en compte ce sont les valeurs max). J'ai trouvé sur internet un montage de base "détecteur de pic de tension" : Principe : le circuit ampli-op charge le condensateur en suivant le niveau montant du signal Ue, sur le circuit le niveau du "-" suit le niveau du "+" lié à Ue, quand le signal dépasse son maximum la diode empêche le condensateur de se décharger et l'ampli-op détecte ce dépassement du maximum car sur le circuit le niveau du "+" devient inférieure au niveau du "-" lié au niveau du condensateur bloqué au niveau maximum du signal Ue. Une fois la détection faite, il faut décharger le condensateur pour la prochaine détection de maximum de tension. Avant de commencer, j'ai voulu regarder sur internet la disponibilité d'outils gratuit pour la saisie de schéma et routage (conception du circuit imprimé). Je suis tombé rapidement sur EasyEDA qui propose un outil de schéma, routage et simulation de schéma. Quelle bonne idée j'ai eu de m’intéresser à cet outil et surtout la disponibilité d'un simulateur de schéma. Un simulateur permet de connaitre le comportement de son schéma en appliquant des points de test sur le schéma. (simulateur ce sont des outils qui existaient déjà il y a 15 ans mais c'était professionnel et très cher..). Bilan avec le simulateur j'ai pu tester de nombreuses solutions aux différents régimes moteur et me rendre compte de ce qui n'allait pas dans le fonctionnement.. Le rendu est d'une précision incroyable et ça m'a fait gagné un temps fou.. (on appuie sur un bouton et la simulation se fait sur un serveur distant et vous recevez après quelques secondes le rendu de la simulation). J'ai certainement pu voir des choses que je n'aurai même pas pu voir en tests sur maquette avec un oscilloscope 2 traces. Seul inconvénient dans la version EasyEDA (non pro) la librairie de composants disponible pour le simulateur est très réduite... Une fois le schéma (simulateur) validé, il faut le reprendre dans une version pour routage en choisissant des composants selon leur dimension physique. Schéma (simulateur) : génération du signal de synchro. On associe au schéma le comportement du capteur avec un générateur sinusoïdal (voir CAPTEUR). 3 générateurs de tension continue (+5v, +12v, -12v). (Utilisation d'un circuit ICL7660 pour générer le +12v et -12v, quelques mA pour alimenter l'ampli-op). Diode D1, passage uniquement des alternances positives du capteur. Résistances R1 R2, pont diviseur pour adapter le niveau de tension du capteur au circuit. U1, D2, C2 montage détecteur de pic de tension. D3, R12 décharge du condensateur C2 après le pic de tension. Transistor Q2 et condensateur C1 transfert du front descendant de l'ampli-op (détection du pic). D4, D7, R3, R8, D5 mise en forme du front descendant de l'ampli-op au niveau numérique (5v, 0v) pour le signal "synchro". Signal de capteur (alternance positive) et de synchro à 2000tr : (on observe un dépassement du 5v sur le signal synchro, dépassement normalement absorbé par une diode zener 4.3v mais non disponible dans la librairie simulateur). Signal de capteur et de synchro à 7000tr : * Plus technique * Tous les signaux à 3000tr : L'ampli-op plonge à -10v quand la détection du pic de tension se fait. Le simulateur met bien en évidence le moment ou l'ampli-op est instable et se met à osciller, mais le condensateur C1 en phase de recharge bloque le transistor Q2 et empêche que les oscillations se répercutent sur le signal de synchro... A 2000tr bas régime, on observe un léger décalage entre le pic du signal capteur et le signal synchro, en fait moins le signal est pentu à son maximum moins la détection est rapide, dans les moyens et hauts régimes il y a un décalage de environ 0.1ms.. Mais le signal de capteur n'est pas réellement de forme sinusoïdale mais plus en pointe ce qui va favoriser le temps de réaction.. Signal capteur (trace inversé sur le scope). Phil44 |
| | |
Contenu sponsorisé
| Sujet: Re: CDI programmable maison | |
| |
| | |
| CDI programmable maison | |
|