| Réalisation d'un CDI programmable | |
|
Auteur | Message |
---|
Chris_62
Nombre de messages : 693 Age : 51 Localisation : Bethune Date d'inscription : 31/12/2015
| Sujet: Réalisation d'un CDI programmable Mar 25 Aoû 2020 - 10:40 | |
| Bonjour à tous Depuis le temps que ça me trotte dans la tête je me lance enfin dans la réalisation d'un cdi programmable. J'ai profité de la pause estivale et des longues soirées d'été pour me pencher sur le problème. Tout d'abord rendons à César ce qui est à César car je me suis largement inspiré des réalisations de Philippe Loutrel et de son code qui m'a fait économiser un temps phénoménal Je vous conseille d'ailleurs d'aller visiter son excellent site qui traite entre autres des Alpine A110 Ce CDI est prévu pour fonctionner sur ma DT équipée (enfin quand elle sera finie ) d'un moteur de 125 dtlc 34Y et gérera également la vanne YVPS le tout pour moins de 50€ Le montage est basé autour de deux arduino mini pro. Le premier gérera l'allumage proprement dit et ne fera que ça pour qu'il soit le plus réactif et le plus proche de la courbe théorique. Le deuxième gérera la vanne YVPS, le chargement des courbes d'avances, et la transmission des infos au compteur. Ca commence par un montage sur une breadboard pour tester les composants et les programmes J'utilise pour cela 4 arduino : 2 pour le montage proprement dit, un pour la génération de signaux simulant les impulsions du capteur du volant moteur avec un petit potentiomètre pour faire varier le régime et un permettent l'enregistrement des signuax pour calculer l'avance réelle générée Pour la gestion de la vanne YVPS j'utilise un contrôleur de moteur à courant continu de type L298N dans un premier temps (puis un TB6612FNG bcp plus petit pour le montage final) J'ai réussi à trouver sur le net les courbes d'avance et les taux de d'ouverture de la vanne YVPS pour le moteur 34Y J'ai ensuite programmé dans mon programme 3 courbes : 2 avec une avance fixe à 0° et 15°C et la dernière celle de la 34Y j'ai également paramétrer le position du capteur de la dtlc à 36° du PMH (il faudra que je le mesure précisément) Les courbes à avance fixe m'ont permis d'étalonner et de calibrer l'avance sur tout la plage de fonctionnement et voici le résultat que j'ai pu obtenir avec un précision de 0,6° La vanne YVPS est également parfaitement piloté. J'y ai aussi associé un test de mobilité avec un mise en sécurité du moteur en cas de défaillance si le déplacement ne s'effectue pas correctement Le fonctionnement des arduino est validé et on va pouvoir passer à la réalisation A suivre .... |
| | |
Chris_62
Nombre de messages : 693 Age : 51 Localisation : Bethune Date d'inscription : 31/12/2015
| Sujet: Re: Réalisation d'un CDI programmable Mar 25 Aoû 2020 - 12:25 | |
| Allez on rentre un peu plus dans les détails Tout d'abord le schéma En haut à gauche du schéma on trouve le traitement du signal du capteur. Celui de la dtlc est un front positif (tant mieux c'est plus simple). Il existe une variante dans le cas d'un front negatif que je pourrais d'écrire si c'a intéresse quelqu'un celui si est simplement capé par une diode zener de 4,7V et d'une résistance de 560ohms. Une diode est branchée en série pour ne récupérer que les fronts positifs. On y ajoute un petit filtre autour de C1 et R2 et le tour est joué : on récupère sur les entrées D2 des deux arduino des impulsions calibrées de 5V au rythme du moteur Les deux arduino mini pro sont alimentés en 5V via la batterie 13V et un régulateur de tension LM7805 et les condensateurs de filtrage C2 à C5. Ayant conservé la batterie, j'ai choisi volontairement une alimentation stabilisée mais il est également possible de rajouter un petit montage qui permet de récupérer une alimentation stabilisée directement sur la bobine de charge sans utiliser de batterie. Le premier arduino T4 qui gère l'allumage va générer un front haut de 500µs sur sa sortie D4 en décalage par rapport à l'entrée (selon des savants calculs de son programme ) selon l’avance définie part le régime et la courbe sélectionnée. Le N-MOSFET (T3) piloté par le TC4420 (T2) va donc se fermer durant 500µs déchargeant ainsi le condensateur C6 à la masse provoquant la fameuse étincelle via la bobine HT En parallèle l'arduino T5 va gérer également selon la courbe programmée l'ouverture de la vanne YVPS. Le pilotage de la vanne est réalisé par le tout petit module TB6612FNG à base de Mofset comparativement à son homologue L298N à transistors. La position de la vanne est transmise via le potentiomètre en son sein sur l'entrée analogique A0 Comme l'arduino T5 est beaucoup moins sollicité que celui gérant l'allumage, il envoie également via sa sortie D4 un signal d'une trentaine de bits contenant le régime moteur (sur 10bits), la courbe d'avance/YVPS sélectionnée (4bits) et l'état de la vanne YVPS (1bit) - le reste étant des bits de contrôles L'entrée D3 est réservée à la sélection des courbes d'avance (incrémentation à chaque mise à la masse). Voilà pour la partie théorique . Je ne rentre pas dans les explications des programmes mais je les mettrai à disposition |
| | |
hurricane papa 69
Nombre de messages : 3127 Age : 60 Localisation : --- Date d'inscription : 15/11/2010
| Sujet: Re: Réalisation d'un CDI programmable Mar 25 Aoû 2020 - 12:41 | |
|
Dernière édition par hurricane papa 69 le Lun 16 Sep 2024 - 9:24, édité 1 fois |
| | |
Phil_44
Nombre de messages : 588 Age : 64 Localisation : Nantes (44) Date d'inscription : 13/10/2019
| Sujet: Re: Réalisation d'un CDI programmable Mar 25 Aoû 2020 - 14:29 | |
| Bravo le sujet est très intéressant... sympa cette gestion avec 2 microcontrôleurs.
Tu vas t'éclater quand tu vas passer de la théorie et maquette à la mise en situation.
Je l'avoue je ne connaissais pas le système YVPS.
Certainement une bonne façon de mettre en commun 2 passions : la moto et l’électronique.
J'ai quitté le domaine de l'électronique depuis une décennie et je sais comment le numérique peut être passionnant.
Bon courage pour la suite. |
| | |
siberie
Nombre de messages : 2205 Age : 58 Localisation : Gard (30) Date d'inscription : 22/04/2018
| Sujet: Re: Réalisation d'un CDI programmable Mar 25 Aoû 2020 - 14:51 | |
| |
| | |
Chris_62
Nombre de messages : 693 Age : 51 Localisation : Bethune Date d'inscription : 31/12/2015
| Sujet: Re: Réalisation d'un CDI programmable Mar 25 Aoû 2020 - 15:21 | |
| |
| | |
Chris_62
Nombre de messages : 693 Age : 51 Localisation : Bethune Date d'inscription : 31/12/2015
| | | |
Chris_62
Nombre de messages : 693 Age : 51 Localisation : Bethune Date d'inscription : 31/12/2015
| Sujet: Re: Réalisation d'un CDI programmable Mar 25 Aoû 2020 - 15:51 | |
| |
| | |
hurricane papa 69
Nombre de messages : 3127 Age : 60 Localisation : --- Date d'inscription : 15/11/2010
| Sujet: Re: Réalisation d'un CDI programmable Mar 25 Aoû 2020 - 17:18 | |
|
Dernière édition par hurricane papa 69 le Lun 16 Sep 2024 - 9:25, édité 1 fois |
| | |
Phil_44
Nombre de messages : 588 Age : 64 Localisation : Nantes (44) Date d'inscription : 13/10/2019
| Sujet: Re: Réalisation d'un CDI programmable Mar 25 Aoû 2020 - 19:04 | |
| En effet tu es bien avancé dans ton projet, le circuit et son implantation de composants encore du bon boulot, il ne reste plus qu'à brancher et tester.
Concernant les courbes d'avance et tes calculs je comprends moins bien... mais tu sembles sûr de toi.
Perso, si j'avais eu à le faire mon point de départ ça aurait été une courbe d'avance en mm en fonction du régime moteur. (valeurs totalement bidon) : 1000 2 mm 2000 2.4 mm 3000 2.2 mm 4000 1.8 mm 5000 1.6mm 6000 1.5mm
Puis ce sont ces mm, que j'aurai converti en temps entre le top du signal d'entrée CDI et l'alimentation de ma bobine, temps pour effectuer une rotation au régime donné et gérer l'avance voulu dans le tableau.
Par exemple à 3000tr, il faut 20 ms pour faire un tour de rotation, donc 100mm de course piston. A 3000tr, on veut ajouter une avance de 2.2mm (2.2 - 1.5) = 0.7mm de plus à ajouter comme avance par logiciel. Pour parcourir les 0.7mm il faut 140 microseconde Bilan entre ton top signal CDI et ton signal allumage il faut un temps de 20ms - 140 microseconde = 19860 microsecondes
Reste plus qu'à régler ton avance mécanique sur l'avance la plus basse, ici c'est 1.5mm pour avoir à ne gérer par logiciel que de l'avance positive par rapport au 1.5mm de référence mécanique.
J’espère ne pas avoir fait l'intrus dans ton sujet surtout en disant de grosses conneries mais je l'ai fait plus dans un esprit d'échanges... |
| | |
hurricane papa 69
Nombre de messages : 3127 Age : 60 Localisation : --- Date d'inscription : 15/11/2010
| Sujet: Re: Réalisation d'un CDI programmable Mar 25 Aoû 2020 - 21:09 | |
|
Dernière édition par hurricane papa 69 le Lun 16 Sep 2024 - 9:25, édité 2 fois |
| | |
siberie
Nombre de messages : 2205 Age : 58 Localisation : Gard (30) Date d'inscription : 22/04/2018
| Sujet: Re: Réalisation d'un CDI programmable Mar 25 Aoû 2020 - 21:20 | |
| |
| | |
hurricane papa 69
Nombre de messages : 3127 Age : 60 Localisation : --- Date d'inscription : 15/11/2010
| Sujet: Re: Réalisation d'un CDI programmable Mar 25 Aoû 2020 - 21:25 | |
|
Dernière édition par hurricane papa 69 le Lun 16 Sep 2024 - 9:25, édité 1 fois |
| | |
Chris_62
Nombre de messages : 693 Age : 51 Localisation : Bethune Date d'inscription : 31/12/2015
| Sujet: Re: Réalisation d'un CDI programmable Mar 25 Aoû 2020 - 22:12 | |
| Je vois qu'il y a des connaisseurs Merci HPP pour ta proposition, j'avais pas oublié mais pour l'instant je vais essayer de faire soft et de pas trop aller chercher des avances trop importantes pour éviter la casse. Enfin si ça se produit je pourrais toujours me mettre à la recherche d'un bloc de 200 dtlc Pour assurer le coup j’enverrai un mp à jmm34 pour qu'il me donne son avis sur mes courbes Oui je conserve ma bobine de charge. car si j'utilise le 12V pour alimenter la bobine je devrai passer sur une autre type de bobine HT et je ne pourrais plus utiliser le cdi en tant que décharge de condensateur. le principe est différent en 12V on installe dans la bobine HT un courant de forte intensité et il ne faut d'ailleurs pas alimenter la bobine en permanence au risque de la griller; c'est le fameux dwell. Ce type de bobine est moins efficace selon moi aux hauts régimes des 2 temps. L'efficacité du cdi réside dans le fait de décharger très brièvement une haute tension. A tension égale plus la chute de tension est rapide plus l’étincelle sera importante. C’est pour cela que j’utilise un N-Mosfet capable d'encaisser 30A en 600V et commuter en 60 nano-secondes |
| | |
Chris_62
Nombre de messages : 693 Age : 51 Localisation : Bethune Date d'inscription : 31/12/2015
| Sujet: Re: Réalisation d'un CDI programmable Mar 25 Aoû 2020 - 23:17 | |
| - Phil_44 a écrit:
J’espère ne pas avoir fait l'intrus dans ton sujet surtout en disant de grosses conneries mais je l'ai fait plus dans un esprit d'échanges... Au contraire le forum est là pour échanger Pour ce qui est de la gestion des courbes tout est envisageable. Mais selon moi l'approche de gérer les temps de retard à l'étincelle en fonction de la course en mm n'est pas l'approche la plus rapide en terme de temps de calcul. Dans le cas où l'on gère l'avance en mm au lieu de degrés, le problème réside dans le fait que le piston ne se déplace pas à vitesse constante : le temps de parcours pas le piston sur 2mm n'est pas pas égal à 2x le temps de déplacement du piston sur 1mm (la vitesse est plus lente au PMH ou au PMB) contrairement à la vitesse angulaire qui elle est tout à fait proportionnel au temps de rotation du vilebrequin La course du piston est définie par la formule suivante. Seul quelques points clés de l'avance sont stockés et il faut nécessairement calculer les points intermédiaire et les calculs de cosinus et sinus prennent énormément de temps (trop pour un arduino) alors qu'en considérant l'avance en degrés tu n'as qu'a réaliser un simple régression linéaire pour calculer le temps d'attente. |
| | |
Phil_44
Nombre de messages : 588 Age : 64 Localisation : Nantes (44) Date d'inscription : 13/10/2019
| Sujet: Re: Réalisation d'un CDI programmable Mer 26 Aoû 2020 - 10:20 | |
| Merci pour tes explications...
Avant de te lire, en y réfléchissant un peu plus j'avais compris cette nécessité que tu avais de passer par l'angle de rotation à cause de la vitesse de piston qui n'est pas linéaire sur un tour.
En effet du coup ma solution n'est pas assez précise.
Sinon je ne pensais pas à un calcul en temps réel du temps d'avance à appliquer mais également comme toi à un tableau de valeurs calculées à l'avance selon le régime. Par exemple un tableau de valeurs par palier de 500tr/mn. Puis selon mon régime moteur j'aurais pris la valeur la plus proche dans le tableau.... Grosso modo c'était l'idée de départ...
Sauf erreur de ma part, pourquoi ne pas partir d'une courbe d'avance mm en fonction du régime (il insiste le gars), avec des points marquants tous les 500tr/mn par exemple, traduire cette courbe (mm piston) en angle de rotation, et puis selon ces valeurs d'angle faire les calculs de temps d'avance à appliquer et stocker ces valeurs dans un tableau (identique à ta solution).
Ca sera mon dernier mot Chris, tu sembles tout a fait gérer le sujet et fais comme bon te semble.
Concernant l’électronique, sur un système j'avais l'habitude d'implanter ce qu'on appelait un "chien de garde", c'était pour la sécurité du système en cas de plantage du micro. Un monostable relancé régulièrement par micro, en cas de plantage micro, le monostable non relancé change d'état et active une électronique de sécurité adéquat ou un mode dégradé...
Dans ton montage tu pourrais peut-être envisager un système de ce type pour que ton mosfet soit commandé par les impulsions du capteur en cas de plantage micro (mode dégradé), dans une prochaine version...
Rdv au prochain épisode. |
| | |
Chris_62
Nombre de messages : 693 Age : 51 Localisation : Bethune Date d'inscription : 31/12/2015
| Sujet: Re: Réalisation d'un CDI programmable Mer 26 Aoû 2020 - 10:41 | |
| - Phil_44 a écrit:
Sauf erreur de ma part, pourquoi ne pas partir d'une courbe d'avance mm en fonction du régime (il insiste le gars), avec des points marquants tous les 500tr/mn par exemple, traduire cette courbe (mm piston) en angle de rotation, et puis selon ces valeurs d'angle faire les calculs de temps d'avance à appliquer et stocker ces valeurs dans un tableau (identique à ta solution). Oui c'est tout à fait possible mais le problème réside dans le "traduire cette courbe..." qui est forcément une opération supplémentaire à réaliser par le microcontrôleur; même si elle ne doit être calculer qu'une fois au démarrage dans la procédure d'initialisation. Avec ce genre de système il faut faire au plus simple et éviter les calculs "inutiles" il ne faut pas oublier que les arduino ne tournent qu'à 16MHz et n'ont à leurs disposition que quelque Ko de mémoire. Selon moi il est plus simple de traduire sur le papier la relation mm en degrés et de ne garder qu'un tableau de correspondance facilement exploitable "degrés" fonction du "régime moteur" Sinon l'option "chien de garde" est une bonne idée Mais il faudrait que je rajoute un 2nd capteur de type à effet Hall à 10° du PMH par exemple qui pourrait déjà prendre en charge le démarrage (au premier coup de kick le microcontrôleur ne connait pas la vitesse du vilebrequin du tour précédent et ne peut pas en déduire le retard d'allumage) et qui pourrait effectivement prendre le relais en cas de défaillance du microcontrôleur Le capteur existant est trop loin du PMH et je risquerait de faire marche arrière comme dit HPP |
| | |
hurricane papa 69
Nombre de messages : 3127 Age : 60 Localisation : --- Date d'inscription : 15/11/2010
| Sujet: Re: Réalisation d'un CDI programmable Mer 26 Aoû 2020 - 15:47 | |
|
Dernière édition par hurricane papa 69 le Lun 16 Sep 2024 - 9:26, édité 1 fois |
| | |
Chris_62
Nombre de messages : 693 Age : 51 Localisation : Bethune Date d'inscription : 31/12/2015
| Sujet: Re: Réalisation d'un CDI programmable Mer 26 Aoû 2020 - 22:59 | |
| |
| | |
hurricane papa 69
Nombre de messages : 3127 Age : 60 Localisation : --- Date d'inscription : 15/11/2010
| Sujet: Re: Réalisation d'un CDI programmable Jeu 27 Aoû 2020 - 8:31 | |
|
Dernière édition par hurricane papa 69 le Lun 16 Sep 2024 - 9:26, édité 1 fois |
| | |
Chris_62
Nombre de messages : 693 Age : 51 Localisation : Bethune Date d'inscription : 31/12/2015
| Sujet: Re: Réalisation d'un CDI programmable Ven 28 Aoû 2020 - 1:16 | |
| |
| | |
Chris_62
Nombre de messages : 693 Age : 51 Localisation : Bethune Date d'inscription : 31/12/2015
| | | |
Phil_44
Nombre de messages : 588 Age : 64 Localisation : Nantes (44) Date d'inscription : 13/10/2019
| Sujet: Re: Réalisation d'un CDI programmable Dim 30 Aoû 2020 - 18:45 | |
| C'est du sérieux, ça rigole pas, à mon avis il faut mieux... Une courbe qui me parle des mm par tr/mn... Bonne continuité dans tes travaux. |
| | |
Chris_62
Nombre de messages : 693 Age : 51 Localisation : Bethune Date d'inscription : 31/12/2015
| Sujet: Re: Réalisation d'un CDI programmable Lun 31 Aoû 2020 - 2:06 | |
| Aujourd'hui premier test sur le moteur mais malheureusement non concluant Pas une étincelle à la bougie Le cdi capte bien le signal à environ 70° du PHT. Mais après vérification le primaire de la bobine HT ne fait que 0,2ohms (au lieu de 1,6) et la la bobine de charge a une résistance de 40ohms (au lieu de 355ohms selon la rmt) Vu le prix de la bobine de charge (~70€) + une nouvelle bobine HT, je vais voir si je ne vais pas me réorienter sur l’allumage de Derbi que j'avais installé le moteur de la 80 avec mon cdi intercalé entre la platine et le cdi original pour gérer l"avance A suivre... |
| | |
breiz29500
Nombre de messages : 679 Age : 58 Localisation : Finistère 29 Date d'inscription : 16/07/2019
| Sujet: Re: Réalisation d'un CDI programmable Lun 31 Aoû 2020 - 5:43 | |
| je peux te fournir une bobine de charge pour tes essais , je dois avoir cela en stock. photo et vérification si tu est intéressé. |
| | |
breiz29500
Nombre de messages : 679 Age : 58 Localisation : Finistère 29 Date d'inscription : 16/07/2019
| | | |
Chris_62
Nombre de messages : 693 Age : 51 Localisation : Bethune Date d'inscription : 31/12/2015
| | | |
Phil_44
Nombre de messages : 588 Age : 64 Localisation : Nantes (44) Date d'inscription : 13/10/2019
| Sujet: Re: Réalisation d'un CDI programmable Lun 31 Aoû 2020 - 11:21 | |
| Sauf erreur et je voudrais pas te donner de mauvais conseils. Perso pour tester : dans un 1er temps j’enlèverais le mosfet juste pour tester la charge de la capa de 1uF via ta bobine de charge (ton électronique éteinte). Attention ta capa doit se charger à environ 200V. Cette étape validée, avec un bouton poussoir à la place du mosfet (entre E C) , en appuyant sur le bouton poussoir je testerais la décharge de la capa à travers la bobine HT et la création d'une étincelle.
J'ai rien inventé, je m'inspire d'un article vu sur interenet sur le test de CDI.... |
| | |
Chris_62
Nombre de messages : 693 Age : 51 Localisation : Bethune Date d'inscription : 31/12/2015
| | | |
Phil_44
Nombre de messages : 588 Age : 64 Localisation : Nantes (44) Date d'inscription : 13/10/2019
| Sujet: Re: Réalisation d'un CDI programmable Lun 31 Aoû 2020 - 17:45 | |
| Sinon peut-être : hors de ta carte électronique juste faire le montage (bobine d'allumage + diode D1 + condensateur C1 + bobine HT). Mesurer ta tension de condensateur (obtenue sans décharge). Ton mosfet reste reste peut-être trop longtemps ON et empêche le condensateur de se charger correctement... |
| | |
breiz29500
Nombre de messages : 679 Age : 58 Localisation : Finistère 29 Date d'inscription : 16/07/2019
| Sujet: Re: Réalisation d'un CDI programmable Lun 31 Aoû 2020 - 19:58 | |
| [quote="Chris_62"]Merci mais je ne suis pas sûr que ça puisse aller; c'est une bobine d'allumage pour rupteur et non pour cdi. Sa résistance doit faire 2,14ohms alors que celle d'un cdi qui monte à + de 300V fait 355ohms.
Il faudrait pouvoir mesurer au ohmmètre
ça résistance fait 3 ohms, après c'est comme tu veux. |
| | |
Chris_62
Nombre de messages : 693 Age : 51 Localisation : Bethune Date d'inscription : 31/12/2015
| Sujet: Re: Réalisation d'un CDI programmable Mar 1 Sep 2020 - 9:47 | |
| Salut Breiz Je te remercie pour ta proposition mais une de 3ohms ne pourra pas fonctionner avec un CDi. Je suis en train de voir pour y adapter un allumage d'AM6 comme j'avais pu faire sur mon moteur de DT80, je devrai en plus y gagner sur le poids du rotor |
| | |
Stef3376
Nombre de messages : 3 Date d'inscription : 02/03/2020
| Sujet: Re: Réalisation d'un CDI programmable Lun 18 Jan 2021 - 16:54 | |
| Voila un sujet qui m'interresse pour mon moteur n°2! Pourrais tu m'envoyer les programmes arduino, cela devrait me faire économiser pas mal de temp! Normalement j'ai les bonnes bobines. Merci |
| | |
Contenu sponsorisé
| Sujet: Re: Réalisation d'un CDI programmable | |
| |
| | |
| Réalisation d'un CDI programmable | |
|