Mesure régime moteur 4 temps (RPM)

Bonjour à tous! J’ouvre un nouveau post ici pour ne pas polluer ni déterrer de vieux sujets

Mais dans le cadre de mon nouveau petit projet, je souhaiterais lire via une arduino le régime moteur d’un véhicule quatre temps (une moto)

De nombreux sujets existent, mais je me permet d’en ouvrir un nouveau, pour un type de lecture particulier. A savoir que je sais qu’il faut passer par les Interruptions, mais je ne m’en suis absolument jamais servi (pour l’instant)

J’ai vu qu’il y a de très nombreuses manière de lire le régime d’un moteur 4 temps via une arduino, notamment celle de JFS avec la cosse W d’un alternateur (technique valable uniquement pour les diesels)

Pour mon cas j’entrevois 2 solutions:

Ma moto possède un capteur inductif de volant moteur (il manque 2 dents sur ce volant), ce qui génère une tension sinusoïdale (mais je sens que pour récupérer et traduire se signal va être une misère)

De plus: en 4 temps, 2 tours de vilbrequin = 1 tour moteur

Sinon, une solution beaucoup plus simple, me repiquer sur un injecteur! Deux cosses, +12V et GND

Et la je supprime le problème des 2 tours de vilebrequin = 1 tour moteur. J’aurai juste besoin d’un petit pont diviseur de tension pour descendre le +12V sous le seuil des +5V pour que le signal soit lu par l’arduino

Mais dans ce cas juste un petite question. Quelle valeur de résistance prendre pour que le pont soit le moins gourmand possible pour être certain que l’injecteur ciblé et donc la centrale de ma moto ne distingue aucune différence. Je sais calculer un pont diviseur, mais après honnêtement je ne sais pas si il vaut mieux rester sur des petites valeurs ou justement partir sur du Mohms niveau consommation. Il me semble que l’Arduino tolère jusqu’à 40mA?

Voila, pensez-vous que juste ce petit début de projet est réalisable? (Je vous présenterai la suite plus tard :p) Et qu’en pensez-vous de l’idée de l’injecteur pour le calcul de RPM? 1 injection = 1 tour?
Pourriez-vous me donner un coup de main pour faire le meilleur diviseur pour ne vraiment pas léser ou drainer trop fort le signal de mon injecteur cible

Partant du principe que je dois passer du +12V à du +5V, je peux prendre R1 = 5000Ω et R2 = 3000Ω

Vout = (R2/(R1+R2))*12 = 4,5V

Donc I = 12V/(5000+3000) = 0,0015 A, au niveau du pont diviseur

Dans ce cas je suis dans la tolérance de l’arduino, mais puis-je garder ces valeurs? Ou vous m’en conseillez d’autre?

Je me doute que le coup du meilleur diviseur possible doit être un truc de “base” en électronique, mais à part la théorie sur les diviseur je n’ai jamais appris les dimensionner concrètement avec précision

Un grand merci de m’avoir lu

regarde ce topic
il y a un capteur à induction sur pignon à dent manquante d'utilisé.

il y a surement du grain à moudre en regardant la programmation.

Bonjour, merci d'avoir pris le temps de rédiger une telle réponse et de me montrer ce projet

Effectivement, sacré projet que tu me montres la! Mais j'ai peur que par rapport à mon capteur d'arbre moteur le niveau de complexité dépasse mes compétences

Pour l'injecteur effectivement comme tu me le dis si bien, je n'ai pas tenu compte de la surtension possible

A l'époque ou j'avais déjà voulu acquérir les RPM de mon ancienne moto (une SV650), j'étais tombé sur ce sur ça:

Par curiosité j'ai demandé à la personne dans les commentaire, et il m'avait répondu d'y aller directement avec une resistance que ça passait (meme sans diviseur de tension). Donc méthode un peu bourrin mais que les "internal clamping diodes" protégeraient le montage. Mais je suis toujours resté plus ou moins sceptique, c'est pour ça que je sollicite un petit coup de main :stuck_out_tongue:

Je souhaite simplement pour la 1ère phase de mon projet, réussir à faire lire (à peu près) les RPM de ma moto par l'arduino, comme sur cette vidéo. Mais je ne suis absolument pas fermé à toutes autres propositions

Je me doutais d'avance que ce petit projet sort de ma zone de compétence habituelle

Je me disais aussi pourquoi ne pas me repiquer sur une des deux bobines d'allumage de la moto (le +12V qui arrive sur la bobine de l'ECU), mais je me doute bien qu'encore une fois il y a risque de surtension également

En tout cas merci de votre aide, et je suis preneur de toutes autres solution ou de petits montage si vous pouvez m'aider

Merci

Artouste:
regarde ce topic
il y a un capteur à induction sur pignon à dent manquante d'utilisé.

il y a surement du grain à moudre en regardant la programmation.

Je regarde un peu le projet, c'est monstrueux! Quel travail

Brasiligun:
Je regarde un peu le projet, c'est monstrueux! Quel travail

oui , on sent tout de suite qu'il y a eu pas mal d'heures de passées sur le projet.

sur le forum , il y a un sympathique acharné "pointu" de la "meca/arduino" qui sais ce que c'est de mettre les mains dans le cambouis et qui reviens épisodiquement :grin:
SUPERCINCI

De mémoire , je crois que ton problème captation RPM , a déjà été abordé avec lui.

passe lui un petit MP en lui proposant de lire ton topic

C'est fait, merci du tuyau :wink:

J'ai réfléchis un petit peu. En cherchant un peu, certaine personne disent qu'en mettant juste un grosse résistance avant l'entrée de l'arduino choisi, elle devrait survire. Je suis tombé sur un forum ou quelqu'un avait des pic de surtention en +24, et juste avec une grosse resistance de 4,7k en protection, l'arduino aurait tenue bon...

Mais je reste sceptique. J'ai fait un petit schéma de mon coté, avec l'idée de piloter un Mosfet par justement le signal 12V à capter. Mais je ne sais pas si cela est faisable, et si surtout mes résultats seront bon

C'est peut-être un peu tiré par les cheveux :stuck_out_tongue: Quelle autres solutions aurais-je pour passer de +12V à du +5V et surtout interprétable en tours/min par l'arduino? Conserver l'idée du pont diviseur mais réussir à intégrer une sécurité?

Merci

D'un point de vue perso, les "

Brasiligun:
elle devrait survire.

Je m'en méfie comme de la peste

Brasiligun:
J'ai vu qu'il y a de très nombreuses manière de lire le régime d'un moteur 4 temps via une arduino, notamment celle de JFS avec la cosse W d'un alternateur (technique valable uniquement pour les diesels)

Technique valable uniquement si l'alternateur a une borne W, Effectivement c'était la seule technique pour les vieux diesels qui avait 0 composant électronique, mais un moteur essence peux avoir un alternateur avec un W, ce n'est pas exclu. A vérifier sur ton engin.

Creuse aussi du côté de la bobine d'allumage, elle doit avoir une sortie similaire au W d'un alternateur.

J’éviterai aussi de me repiquer sur un injecteur, ça perturbera quoi qu'il arrive son fonctionnement et ça peut être néfaste pour le moteur.

Pour finir, ta moto semble plutôt récente puisque équipée d'injection électronique:
Il est préférable de voir dans un premier si un dialogue avec l'ECU est possible,
Sinon dans un deuxième temps, acquérir le signal provenant du capteur de roue dentée du vilebrequin.

Je suis totalement d'accord avoir toi, je n'aime pas trop trop les estimations hasardeuses (qui sont souvent suivies d'un: "ah bah non ça n'a pas tenue") ::slight_smile:

Sinon effectivement ma moto est assez récente, et la différence de mon ancienne SV650 qui était une injection aussi, l'Aprilia Shiver 750 est bourrée d’électronique (peut-être meme trop), Ride-by-Wire et compagnie

Voici son manuel d'atelier: Lien

Mais effectivement tu as raison, la connectique des bobines d'allumage est composée de 3 pins
(pages 107 - 108)

1: +12V
2: GND

3: Activation par la centrale (ce qui peut-être extrêmement intéressant!)

Je pourrais donc me repiquer directement dessus, comme cette fameuse broche W? (Sur une seule des deux bobines)

Qu'en penses-tu ? Je mesurerai la valeur de tension fournie par ce pin, mais en cas de +5V ou inférieur, penses-tu que tu puisse-je directement relier l'arduino? Ou il vaudrait mieux quand meme mettre une protection en place? (sans perturber le signal bien sur)

Un grand merci de ton intervention en tout cas!

Je pense que pour des essais, je vais d'abord me lancer dans le pilotage d'une bobine d'allumage et de sa bougie via une arduino (comme dans ce Tuto)

Et ensuite avec une seconde arduino je vais tenter de lire les impulsions liées à l'allumage de ma bougie et donc de ma bobine, en suivant le même principe que ce lien en mettant en place les même protection

Cette 1ière étape va me permettre de mettre en prototypage le montage, pour voir si déjà je crame quelque chose. Et surtout si le fait de capter l’impulsion d'allumage gène la bougie ou non

Que pensez-vous de la démarche? Peut-elle valoir le coup?

Ensuite concernant la partie tachymètre du ventilateur? A part que lui travail sous 9V (le ventilo est prévu pour du 12 normalement), ses protections tiennent la route?

Merci

Bonjour,
une doc sur le fonctionnement d’un capteur inductif , si cela peut t’aider pour ton RPM.
Cdt.

DESCRIPTION.pdf (138 KB)

marcus_95:
Bonjour,
une doc sur le fonctionnement d'un capteur inductif , si cela peut t'aider pour ton RPM.
Cdt.

J'ai regardé merci! Le doc est vraiment pas mal, rien que pour les calcul de tours/min

A mon niveau le problème est de réussir à faire digérer le signal à l'arduino. Je ne sais pas quel petit type de montage réaliser pour réussir à faire une acquisition via l'arduino

il faudrait prendre une mesure en sortie du capteur si possible avec un oscillo pour savoir comment attaquer une entrée Arduino.

Salut,

Je fais suite au MP de @Brasiligun. en effet, il y a de quoi se perdre et plusieurs façons de récupérer l'info.

J'éviterais l'injecteur, non pas pour les surtensions (qui sont faibles car généralement, il y a un snubber ou une diode de protection), mais surtout parce qu'il y a de grandes chances que le signal disparaisse lors des phases de frein moteur (système en place sur le calculateur d'injection de ma R21 de 1993, ce doit être généralisé maintenant).

Il faudrait te renseigner sur ton calculateur : il y a forcément une sortie qui donne une info "compte tour", bien souvent, c'est repiqué sur le primaire de la bobine d'allumage via une résistance. une simple résistance en série (de l'ordre de 100k) avec deux diodes en sortie pour écrêter à 0V - 5V, et le tour est joué.

A savoir que le signal obtenu ne sera pas un beau carré régulier : mais des impulsions deux par deux (il suffit d'écouter le moteur au ralenti : les explosions ne sont pas régulières).

Mais on s'en sort, le mieux étant de compter ces impulsions sur une fenêtre temporelle précise via une interruption...

Après, il y a encore plus facile, du moins électroniquement : en fouillant bien, il doit y avoir une prise diagnostique quelque part, et via une liaison série, on va pouvoir en tirer non seulement les tr/min, mais aussi tout un tas d'autres infos moteur : température, défauts etc etc. Reste à programmer cette liaison série et trouver comment extraire les bonnes infos!

Bon courrage!

Cinci.

marcus_95:
il faudrait prendre une mesure en sortie du capteur si possible avec un oscillo pour savoir comment attaquer une entrée Arduino.

Je suis en train d'essayé d'en fabriquer un pour essayé de chopper le signal

Super_Cinci:
Salut,

Je fais suite au MP de @Brasiligun. en effet, il y a de quoi se perdre et plusieurs façons de récupérer l'info.

J'éviterais l'injecteur, non pas pour les surtensions (qui sont faibles car généralement, il y a un snubber ou une diode de protection), mais surtout parce qu'il y a de grandes chances que le signal disparaisse lors des phases de frein moteur (système en place sur le calculateur d'injection de ma R21 de 1993, ce doit être généralisé maintenant).

Il faudrait te renseigner sur ton calculateur : il y a forcément une sortie qui donne une info "compte tour", bien souvent, c'est repiqué sur le primaire de la bobine d'allumage via une résistance. une simple résistance en série (de l'ordre de 100k) avec deux diodes en sortie pour écrêter à 0V - 5V, et le tour est joué.

A savoir que le signal obtenu ne sera pas un beau carré régulier : mais des impulsions deux par deux (il suffit d'écouter le moteur au ralenti : les explosions ne sont pas régulières).

Mais on s'en sort, le mieux étant de compter ces impulsions sur une fenêtre temporelle précise via une interruption...

Après, il y a encore plus facile, du moins électroniquement : en fouillant bien, il doit y avoir une prise diagnostique quelque part, et via une liaison série, on va pouvoir en tirer non seulement les tr/min, mais aussi tout un tas d'autres infos moteur : température, défauts etc etc. Reste à programmer cette liaison série et trouver comment extraire les bonnes infos!

Bon courrage!

Cinci.

Merci de ton intervention et désolé du temps de réponse! Je vais tenter l'expérience je te tiendrai au courant. Je n'ai pas besoin d'une valeur extrêmement précise, une bonne valeur approchée m'ira :stuck_out_tongue:

J'ai effectivement une prise diag, qui fonctionne avec un OBD2. Mais par simplicité, me servir d'une bobine primaire m'attire plus.

Pour les essais je peux donc me repiquer sur une bobine et relier cette dernière à l'arduino en utilisant justre une résistance de 100K et 2 led en série? par exemple 2 1N4007?

Ce qui me donnerait:

[bobine]--(100k)--(1n4007)--(1n4007)--[arduino]?

ou

[bobine]--(1n4007)--(100k)--(1n4007)--[arduino]?

En tout cas un grand merci de tes indications et d'avoir pris le temps de rédiger ce beau petit pavé

20180325_175527[1657].jpg

Hello !

Je suis sur le même projet, et je pensais me brancher sur le primaire de la bobine d’allumage. Comme ça, on choppe un dirac ou signal carré, bref une impulsion comprise entre 12V et 14V à la louche (pas mesuré à l’oscillo, donc je prie pour ce que je dis soit vrai :D).

Ensuite un petit montage electronique convertit cela en impulsions 5V facilement comptables par l’arduino. Voir la partie “étage d’entrée” ici.

Polhomarkho:
Hello !

Je suis sur le même projet, et je pensais me brancher sur le primaire de la bobine d'allumage. Comme ça, on choppe un dirac ou signal carré, bref une impulsion comprise entre 12V et 14V à la louche (pas mesuré à l'oscillo, donc je prie pour ce que je dis soit vrai :D).

Ensuite un petit montage electronique convertit cela en impulsions 5V facilement comptables par l'arduino. Voir la partie "étage d'entrée" ici.

Oh! Bah écoute bien vu pour le lien et pour le partage! Merci!