Jump to content
  • This is not a forum but a community!

    20100521_GTX_0003.JPGWe all love this mythical and popular car, because we sailed in one being childrens, because someone in the family had one or just because it always made us want it... because it's endearing, whatever we say.
    Its great success is certainly due to the fact that with a simple mechanics, with little or no electronics, it is easy to maintain by yourself without expensive tools, without forgetting that the parts are not expensive and always easy to find. Even today, for some homes, students and people with "little budget", it is a source of great comfort at a lower price: far from car loans and garage mechanics, which are becoming more and more inaccessible. The small engines models (the most common) are very robust and still consume very little, sometimes less than recent "equivalent" cars, which makes it by definition just as ecological, if not even more by the simple fact that we we always use it instead of buying new ones ... At the level of the official technical control, benefiting from its "seniority", it does not undergo the modern standards much too restrictive, the tranquility is assured.
    Today it is still an interesting car for everyday use, especially and clearly from an economic point of view.
    Collectors are also beginning to take an interest in this 30-year-old "granny": restoration, maintenance or refurbishment, repairs, etc ... make it possible to find "newer than new" models for the pleasure of the eyes and to see this French heritage thus safeguarded.
    We have created this community to bring together all those who are interested and who wish to take part in this adventure to preserve their Renault Super 5, whether by maintenance, repair or restoration: you will find here all useful information and tips on these topics.

    The forum is freely accessible in its entirety: there is no need to contribute, buy, neither pay anything to integrate the community and participate.
    To be able to ask questions and share your interest, all you have to do is register and present yourself properly!
    You do not have to have a Super 5: an interest in auto mechanics is enough

    Welcome !

    (This message disappears if you register into the forum)

    [Translated from french using GoogleTranslation tool]

     

Régulateur de vitesse commandé par Arduino


totojest
 Share

Recommended Posts

Et voilà, le moment est venu de commencer à parler en public de mon projet qui est dans les cartons depuis des mois et des mois...

 

Petite histoire rapide:

Bien qu'ayant longtemps été opposé à ce genre d'équipement, je me suis mis à l'apprécier au moment où j'ai pu l'utiliser, comprendre comme ça marche et surtout comprendre les avantages en terme de sécurité routière d'un tel équipement: concentration sur d'autres paramètres que la vitesse (qui est bien trop surveillée, on le sait tous), et fatigue diminuée. C'est donc un petit gadget qui me manque cruellement sur la Super 5 et sur l'Espace. La Super 5 bénéficiera d'un système tout prêt récupéré sur une Safrane, l'Espace aura droit à un système "maison", dont il va être question ici.

 

Quelques considérations à prendre en compte:

Le régulateur de vitesse doit être bien pensé, et blindé de sécurités... On a suffisamment entendu parler d'emballements de systèmes dans le genre il y a quelques années. Il faut donc qu'il soit déconnectable à n'importe quel moment, et sans délai. C'est un point qui m'a posé problème, car l'utilisation d'un simple servomoteur est donc quasiment impossible (si l'Arduino bugue et qu'on doit couper l'alimentation, le servomoteur peut rester bloqué, donc risque de maintenir l'accélération, ça craint...). C'est ce qui m'a bloqué le plus longtemps jusqu'à ce que je récupère un moteur adapté pour, et promis à la poubelle, grâce à une personne autant passionnée de forums que nous: le créateur de la chaine YouTube Smells Like Gasoline (Hedi pour les intimes). Je parle rapidement de cette anecdote dans le topic de l'Espace, c'était en décembre 2021 :)

Après, dans le codage du programme, il faut faire en sorte de pouvoir sortir à tout moment des boucles, notamment en cas d'arrêt d'urgence. Il faudra aussi faire en sorte que l'ergonomie soit logique, pour que n'importe qui puisse utiliser l'appareil sans avoir besoin de lire une notice. Le régulateur que j'ai sur la BMW est le parfait exemple de régulateur non logique au premier abord... Même si je le connais bien, je sais ce qu'il ne faut pas reproduire :laugh: Heureusement, il y a un point commun entre tous les régulateurs de vitesse: dès qu'on freine, le système doit se déconnecter, et ne peut redémarrer qu'après une action de l'utilisateur.

 

Le matériel:

J'ai pu récupérer chez Hedi un moteur asservi qui est embrayé par un système à électroaimant. C'est l'idéal pour pouvoir faire une déconnexion rapide en cas de besoin. C'est aussi une pièce qu'on ne pourra pas vraiment reproduire, mais je ne serais pas étonné de la retrouver sur quelques modèles anciens, comme des Mercedes, BMW ou Audi des années 80-90 avant la généralisations des papillons motorisés et calculateurs électroniques. Pour ma part, ce moteur provenait d'un kit monté en accessoire sur une BMW E32 730i:

1944161728_Capturedcran2022-10-04154054.thumb.jpg.3f2c812a4297f392e77519931cf371ae.jpg

 

J'ai aussi récupéré une commande à 4 positions (OFF, MEMO, +, -) à fixer derrière le volant à côté du comodo de clignotant.

N'ayant pas d'électronique de commande, il faut donc improviser. Donc, en guise de "cerveau", on mettra un Arduino Nano ainsi qu'un écran pour garder un oeil sur l'état de fonctionnement (sans avoir besoin d'un ordi pour la lecture console). Il me faudra aussi d'autres babioles, mais pour ça, j'aurais besoin de l'aide de ceux dont les connaissances en électronique sont un peu meilleures que les miennes :ki:

 

Le schéma:

Pour mes tests initiaux, voilà ce que j'ai actuellement:

1096401589_Schmatests.thumb.jpg.461997c240e1dba8213f51eee2e2d494.jpg

Ce premier montage me permet déjà de préparer l'ergonomie visuelle sur l'écran et de voir les interactions entre les boutons et le retour d'asservissement du moteur de commande (le potentiomètre qui est tout seul à droite). A noter les condensateurs de 10nF pour éviter les rebonds du signal de commande (plus efficaces et plus réactifs à mon avis que la solution software de Zorro: https://www.diegoyourself.com/index.php?article=arduino_bouton. Avec cette dernière, il fallait que je reste appuyé au moins une demi seconde pour avoir une réaction, le temps que le programme ait le temps de filtrer les rebonds, tandis que là, un simple clic suffit).

 

Le schéma final devrait ressembler à ça:

929237565_Schma.thumb.jpg.8843f97e91c0511d0c804c917889e9a2.jpg

Par rapport au précédent, nous avons en plus:

- les protections sur les pédales de frein et d'embrayage (sur le frein, je fais ça via un relais pour ne pas avoir à installer un autre contacteur, ce qui pourrait être assez galère)

- la récupération du signal de compte tours, qui est un signal de 7-8V d'amplitude, et dont la fréquence varie en fonction du régime moteur. Ca correspondra à notre information vitesse (sur l'Espace et les S5, sauf GTT, la vitesse est donnée mécaniquement. A moins d'avoir un générateur d'impulsion, on ne peut pas utiliser cette valeur directement, par contre le régime moteur lui est plus facile à récupérer). J'ai relevé une plage de fréquence allant de 150 à 800 Hz pour une plage de régime allant de 600 à 3800 tours/min. J'ai mis une résistance en série pour diminuer l'amplitude du signal, l'Arduino ne pouvant absorber que 5V maxi. La valeur de la résistance est un peu arbitraire, et basée sur celle que l'on met en série avec les diodes... Je ne voudrais pas faire un pont diviseur de tension pour ne pas fausser le compte tours de la voiture non plus.

- 3 relais de commande pour le moteur de commande. Je ne suis pas hyper convaincu par ce choix, mais c'est le seul que je sache réellement "dessiner". En effet, l'Arduino envoie du 5V, et je ne suis pas sur qu'un relais classique comprenne qu'il reçoit un ordre de commande avec cette tension là. Il doit exister des relais pour lesquels ça marche, mais si je pouvais éviter d'en acheter, je préfèrerais. J'aimerais plutôt partir sur l'utilisation de MOSFET, mais je ne sais pas si on peut lui demander de faire passer 12V et 500mA avec une tension de commande à 5V. J'ai encore un peu de mal à comprendre les datasheet et donc la façon dont ça doit être intégré dans mon circuit :nosweat:

 

Le code:

Il n'est pas encore fini, mais est déjà bien avancé. Il me reste juste à mettre en place l'interprétation du signal du compte tours et une surveillance de la rotation du servomoteur dans le bon sens. J'ai 1400 lignes, en sachant que ça pourrait être optimisé, mais je suis assez content d'avoir fait un truc pas trop mal structuré, et sur lequel on puisse prétendre à faire des évolutions. Je le mettrais après, une fois qu'on aura résolu les questions que j'ai en suspens (le topic est déjà assez chargé aussi :ki:)

 

Questions:

Comment puis-je donc améliorer le schéma au niveau des 3 relais de commande?

Ma résistance d'1 MOhm est elle réellement adaptée pour réduire l'amplitude de mon signal de compte tours?

Enfin, s'il y a des choses qui ne semblent pas aller, je suis ouvert aux remarques :)

Link to comment
Share on other sites

Hello !
Sympa comme projet ! Je serais tout de même curieux de comprendre comment fonctionne ce boîtier de commande "débrayable" à électroaimants, c'est le point le plus bloquant pour faire son propre régulateur de vitesse donc si t'avais au moins un schéma de fonctionnement, même sommaire pour illustrer le principe électro-mécanique en place, je suis entièrement preneur.

Sinon, concernant ton montage, récupérer les RPM du moteur ne te dira pas à quelle vitesse va la voiture, ca va être compliqué à estimer si tu ne sais pas quelle vitesse est enclenchée et tu risques d'avoir des grosses marges d'erreur dues à l’imprécision de la mesure. Si tu n'arrives pas à récupérer un signal mécanique pour le tachymètre, tu peux t'en fabriquer un comme pour les vélos, en mettant un aimant sur ta roue puis un capteur (à effet hall par exemple) sur un élément fixe (étriers de frein par exemple). Car ce ne sont pas les RPM que tu vas asservir mais bien la vitesse de la voiture. Ceci dit, l'info RPM peut-être utile, voire nécessaire, pour détecter par exemple que t'es au point mort ou que le moteur n'est pas allumé.

Concernant ton histoire de relais de commande, tu peux utiliser des transistors ou des MOSFET comme des relais, ce sera plus fiable, plus rapide et moins gourmand en énergie. Tu peux trouver des transistors "pilotables" par du 5V mais pouvant véhiculer une plus grosse tension une fois "fermés". En fait, souvent c'est plutôt l'intensité qui compte, donc ça dépend de ce que "bouffent" ton moteur et ton électroaimant. Les MOSFETs sont plus adaptés aux plus gros courants, sinon t'as des "relais non-mécaniques" déjà tout prêts (qui en général sont déjà des MOSFETS "déguisés"). D'un autre côté, utiliser des relais mécaniques de puissance en théorie ne te posera pas un gros problème, sauf que tu risques d'avoir un problème de quantité de jus dispo (l'arduino ne fournit pas beaucoup de jus) donc même pour les piloter en 5V, t'auras certainement besoin de transistors pour que le 5V vienne d'une source en-dehors du signal arduino.

Concernant ta résistance de 1Mꭥ, je ne saurais pas te dire, mais je ne pense pas que tu puisses récupérer un signal RPM exploitable de cette manière. Je ne suis par contre pas très doué en gestion de signal analogique, je ne saurais pas trop t'aider de ce côté là...

Enfin, en ce qui concerne le debouncing (anti-rebond) des boutons, tu dois jouer avec le délai d'attente pour que l'appui soit correctement détecté dans un temps utile et pratique, et bien sur sans utiliser la fonction "delay()" dans ton code, sinon tu ne pourras pas faire grand chose...

 

Voilà pour les premières remarques, en espérant que cela puisse t'être utile...

Link to comment
Share on other sites

Il y a 13 heures, Zorro_X a dit :

Sympa comme projet ! Je serais tout de même curieux de comprendre comment fonctionne ce boîtier de commande "débrayable" à électroaimants, c'est le point le plus bloquant pour faire son propre régulateur de vitesse donc si t'avais au moins un schéma de fonctionnement, même sommaire pour illustrer le principe électro-mécanique en place, je suis entièrement preneur.

C'est pas évident, et pas schématisable à mon niveau :nosweat: Mais si tu veux, j'ai fait une étude de son fonctionnement lorsque je l'avais remis en état, je peux te l'envoyer par mail ;) Tu pourras me dire comme ça si un tel système est reproductible, mais moi, j'ai du mal à voir comment :nosweat:

 

Il y a 13 heures, Zorro_X a dit :

Sinon, concernant ton montage, récupérer les RPM du moteur ne te dira pas à quelle vitesse va la voiture, ca va être compliqué à estimer si tu ne sais pas quelle vitesse est enclenchée et tu risques d'avoir des grosses marges d'erreur dues à l’imprécision de la mesure. Si tu n'arrives pas à récupérer un signal mécanique pour le tachymètre, tu peux t'en fabriquer un comme pour les vélos, en mettant un aimant sur ta roue puis un capteur (à effet hall par exemple) sur un élément fixe (étriers de frein par exemple). Car ce ne sont pas les RPM que tu vas asservir mais bien la vitesse de la voiture. Ceci dit, l'info RPM peut-être utile, voire nécessaire, pour détecter par exemple que t'es au point mort ou que le moteur n'est pas allumé.

Le régime est directement lié à la vitesse de la voiture, comme tu le dis, via la boite de vitesses et en supposant que l'embrayage est en bon état. Ce que j'affiche à mon écran ne sera pas réellement une vitesse, mais bien un nombre de tours par minutes. Le terme le plus approprié à mon montage serait donc un "régulateur de régime moteur", mais c'est pas un terme qui parle à tout le monde :nosweat: Concernant le signal vitesse par effet hall, je ne peux pas installer de capteur sur mes roues, car j'ai un jeu de pneu été et un jeu hiver, l'un en 15 pouces, l'autre en 14... Le seul moyen serait de l'installer sur le cardan, mais si je fais ça, mieux vaut installer un système ABS (tant qu'à faire), et la modification devient rapidement plus lourde à faire et moins évidente pour les Super 5 (même si ça me trotte dans la tête d'en monter un de Twingo :ki: Mais là n'est pas le sujet)

 

Il y a 13 heures, Zorro_X a dit :

Concernant ton histoire de relais de commande, tu peux utiliser des transistors ou des MOSFET comme des relais, ce sera plus fiable, plus rapide et moins gourmand en énergie. Tu peux trouver des transistors "pilotables" par du 5V mais pouvant véhiculer une plus grosse tension une fois "fermés". En fait, souvent c'est plutôt l'intensité qui compte, donc ça dépend de ce que "bouffent" ton moteur et ton électroaimant. Les MOSFETs sont plus adaptés aux plus gros courants, sinon t'as des "relais non-mécaniques" déjà tout prêts (qui en général sont déjà des MOSFETS "déguisés"). D'un autre côté, utiliser des relais mécaniques de puissance en théorie ne te posera pas un gros problème, sauf que tu risques d'avoir un problème de quantité de jus dispo (l'arduino ne fournit pas beaucoup de jus) donc même pour les piloter en 5V, t'auras certainement besoin de transistors pour que le 5V vienne d'une source en-dehors du signal arduino.

En fait, ce qui m'intéresserait, c'est aussi d'avoir un schéma de montage. Car de ce que je comprends, quand on envoie la tension de commande au transistor, la différence de potentiel se fait en référence à une masse commune, et j'imagine que cette masse doit aussi être reliée quelque part sur le composant... Concernant la quantité de courant, d'après mes relevés, on est à 500mA maximum. Autre point, concernant les relais "Accélération" et "Décélération", il faut qu'au repos, ils soient aussi relié à la masse pour permettre au moteur le double sens de rotation. Est ce qu'un MOSFET gère ça?

 

Il y a 14 heures, Zorro_X a dit :

Concernant ta résistance de 1Mꭥ, je ne saurais pas te dire, mais je ne pense pas que tu puisses récupérer un signal RPM exploitable de cette manière. Je ne suis par contre pas très doué en gestion de signal analogique, je ne saurais pas trop t'aider de ce côté là...

Le signal est un signal carré d'amplitude variant entre 7 et 8V (relevé à l'oscilloscope), et le régime est donné par la valeur de fréquence qui change. Tous les projets sur lesquels je suis tombé concernant la mesure d'une fréquence exploitent les entrées digitales de l'Arduino et utilisent la fonction pulse(), je pense donc que ce signal peut aussi être considéré comme digital. J'ai juste besoin de diminuer son amplitude pour ne pas cramer l'Arduino :laugh:

 

Il y a 14 heures, Zorro_X a dit :

Enfin, en ce qui concerne le debouncing (anti-rebond) des boutons, tu dois jouer avec le délai d'attente pour que l'appui soit correctement détecté dans un temps utile et pratique, et bien sur sans utiliser la fonction "delay()" dans ton code, sinon tu ne pourras pas faire grand chose...

Il y a bien un delay() dans mon code, mais il est dans le setup, et stoppe volontairement le code pour donner le temps de lire un message. Aucun delay() par contre dans le loop, pour des questions évidentes de sécurité par rapport à l'arrêt d'urgence.

Link to comment
Share on other sites

T'as l'air d'avoir pas trop mal avancé déjà, c'est pas mal.

Concernant ton "étude" je veux bien regarder ça, ne serait-ce que pour comprendre le principe, car cela me semble utile non seulement pour ce type de mécanisme mais peut-être bien pour d'autres... en tout cas ça peut être une bonne source d'inspiration... et puis avec les imprimantes 3D on peut faire plein de choses... :sourcils:

 

Il y a 1 heure, totojest a dit :

mon montage serait donc un "régulateur de régime moteur"

Je t'avoue que là du coup je n'en vois vraiment pas l'intérêt... :hein: tu comptes l'utiliser comment ?

 

 

Il y a 1 heure, totojest a dit :

n fait, ce qui m'intéresserait, c'est aussi d'avoir un schéma de montage. Car de ce que je comprends, quand on envoie la tension de commande au transistor, la différence de potentiel se fait en référence à une masse commune, et j'imagine que cette masse doit aussi être reliée quelque part sur le composant... Concernant la quantité de courant, d'après mes relevés, on est à 500mA maximum. Autre point, concernant les relais "Accélération" et "Décélération", il faut qu'au repos, ils soient aussi relié à la masse pour permettre au moteur le double sens de rotation. Est ce qu'un MOSFET gère ça?

Tu peux avoir une masse commune avec +5V d'un côté, +12V de l'autre, +24V d'encore un autre, etc... la masse commune c'est primordial ! mais ca ne force pas la tension d'attaque de l'autre côté à "brancher" sur cette masse... Le "modèle" le plus simple pour s'illustrer ça, c'est que tu peux prendre une pile de 1.5V, une de 9V et une de 4.5V, tu relies toutes leurs masses entre elles, puis depuis cette "masse commune" tu peux toucher la patte de chaque pile et t'obtiendras la tension de la pile sans aucun problème...

500mA c'est déjà beaucoup trop, ca peut beaucoup perturber les autres signaux & capteurs. Mais si l'utilisation d'un relais te semble plus appropriée, tu peux aussi mettre un transistor de pilotage de ton relais avec le +5V qui va au relais repris sur l'alim avant l'arduino (en amont) pour éviter de pomper sur ce que l'arduino laisse passer/fournit. Je vais voir si j'arrive à te faire un schéma, ca se fait très souvent et la première fois que j'ai eu à le faire c'était parce que l'utilisation d'un relais (qui fonctionnait) perturbait la lecture d'une thermistance (le courant qui partait au relais perturbait fortement la lecture de l'entrée analogique et ça faussait tout).

 

Il y a 1 heure, totojest a dit :

Le signal est un signal carré d'amplitude variant entre 7 et 8V (relevé à l'oscilloscope), et le régime est donné par la valeur de fréquence qui change. Tous les projets sur lesquels je suis tombé concernant la mesure d'une fréquence exploitent les entrées digitales de l'Arduino et utilisent la fonction pulse(), je pense donc que ce signal peut aussi être considéré comme digital. J'ai juste besoin de diminuer son amplitude pour ne pas cramer l'Arduino :laugh:

ok, le problème de ce genre de signaux c'est que tu ne sais jamais s'ils sont "propres" ou pas (pas de pics, de parasites, etc...) pour mon ZCarCockpit j'avais pris soin d'ajouter un optocoupleur entre le signal et les entrées digitales, ca simplifie les choses car t'as juste à reduire ton signal (avec une résistance, comme tu fais) pour que l'optocoupleur ne grille pas, et de l'autre côté il n'y a qu'à lire ce qui arrive et le signal ne peut rien griller.

 

Il y a 1 heure, totojest a dit :

Il y a bien un delay() dans mon code, mais il est dans le setup, et stoppe volontairement le code pour donner le temps de lire un message. Aucun delay() par contre dans le loop, pour des questions évidentes de sécurité par rapport à l'arrêt d'urgence.

parfait ! :top: 

Link to comment
Share on other sites

Il faudra que je t'envoie le fichier par un lien de téléchargement, il fait 650 Mo et ça ne passe pas dans une pièce jointe de mail :nosweat:

 

Un "régulateur de régime moteur", c'est ce qui permet de lâcher l'accélérateur pour que la voiture maintienne sa vitesse de rotation moteur... Couplée à la boite de vitesse, ça devient donc un régulateur de vitesse (rotation moteur > rapport d'engrenage > vitesse de rotation des roues motrices > vitesse du véhicule)... Les systèmes modernes sont intégrés au calculateur d'injection et au signal vitesse (via l'ABS souvent), donc ils sont quand même un peu plus poussés que ce que je propose... Quand on a mémorisé 70 km/h, le régulateur est capable de gérer le maintien de vitesse en fonction de si je suis en 3ème, 4ème ou 5ème (note: sur la C2, le régulateur est programmé pour ne fonctionner qu'en 4ème et 5ème). Moi c'est sur que je vais mettre une vitesse de rotation moteur (par exemple 2000 tours), et que je ne pourrais pas maintenir la même vitesse si je suis en 4ème (environ 75 km/h sur l'Espace) ou 5ème (90 km/h). Mais je m'en fiche, ce qui m'intéresse, c'est de ne plus avoir à fatiguer ma jambe droite...

 

Concernant mon signal, en effet, il n'est pas hyper propre (le sommet du carré comporte quelques pointes, et j'ai une espèce d’hystérésis sur la pente montante, mais pas descendante). Je me demande si je ne peux pas simplement le filtrer avec une Zener, mais là encore, je ne sais pas quoi faire comme montage... Là j'ai une crève du diable, je vais avoir un peu de mal à continuer de façon optimale sur le sujet pendant quelques jours :laugh:

Link to comment
Share on other sites

Il y a 3 heures, totojest a dit :

Je me demande si je ne peux pas simplement le filtrer avec une Zener, mais là encore, je ne sais pas quoi faire comme montage...

Je viens de lire tout ça avec beaucoup d'intérêt.

Bien que peu branché programmation Arduino et autre circuits programmables, je maîtrise plutôt assez bien les problèmes d'interface et il m'est souvent arrivé d'aider des amis peu électroniciens sur ces questions là.

En ce qui concerne les commandes de relais, il est très simple de piloter des relais genre Finder ou autres (capables de passer 5 A) en les pilotant par un couple de transistors genre BC239/2N2222 montés en darlington, tu tireras des pouillièmes de milli sur l'arduino qui sera très content ! D'après le schéma que tu montres, ça n'a aucune importance si le point chaud du relais est un positif 12 v. (mais si tu tenais absolument à les piloter en référence masse, c'est possible avec du PNP,  il en faudra alors trois car la commande arduino est positive)

Pour les question de lissage de signaux, il est parfois pratique de passer par une ou deux portes logiques, genre Nand TTL ou CMOS qui te ressort ton signal parfaitement propre à 5 v par exemple en TTL.

Aussi l'utilisation d'optocoupleurs en haute impédance primaire permet de s'affranchir galvaniquement de réjections perturbantes, ils permettent aussi l'intégration de la forme de sortie.

Donne-moi deux ou trois jours et je peux t'envoyer quelques schémas… Pour moi qui ne suis pas doué, je dois d'abord dessiner le crobar à la main, puis le scanner, puis traiter l'image et enfin le poster ! Amicalement.

  • Like 1
Link to comment
Share on other sites

Merci pour le doc, téléchargement en cours, il reste 50 minutes...

Les remarques de @Tatick sont bien plus pertinentes que les miennes, et je suis content de voir qu'il confirme l'utilisation d'un transistor pour piloter un relais, ou d'un optocoupleur pour isoler le signal du compte-tours.

Enfin, en ce qui concerne la régulation RPM, si je comprends bien tu vas assumer que tu ne t'en serviras que lorsque la 5e est mise du coup tu ne considères qu'un rapport. C'est sur que vu comme ça, ça peut le faire, mais je trouve ça un peu réducteur. D'un autre côté, si ça te suffit, c'est tout de même toi qui vas t'en servir la plupart du temps...

 

Sinon, tu comptes le régler comment ton régulateur, des boutons sur le TDB, une "tige" autour du volant ? un écran ? un afficheur LCD ? autre chose ?

Link to comment
Share on other sites

PS - si tu enregistres ton doc en PDF (tu peux le faire avec Word dans la fenêtre "enregistrer sous..." tu choisis le format) ton doc ne prend que 2.8Mo... ;)

 

Sinon, je viens de le parcourir en diagonale, ca a l'air sympa, faut que je prenne le temps de tout lire pour bien comprendre ce qui fait quoi là-dedans, mais ca a l'air déjà très instructif, merci ! :jap:

Link to comment
Share on other sites

Il y a 4 heures, Zorro_X a dit :

Enfin, en ce qui concerne la régulation RPM, si je comprends bien tu vas assumer que tu ne t'en serviras que lorsque la 5e est mise du coup tu ne considères qu'un rapport. C'est sur que vu comme ça, ça peut le faire, mais je trouve ça un peu réducteur. D'un autre côté, si ça te suffit, c'est tout de même toi qui vas t'en servir la plupart du temps...

Merci Zorro de confirmer. En effet, même l'utilisation de Mosfet est plus compliquée à cause des problèmes de canaux N ou P. De plus, un darlington sature à fond instantanément, donc pas d'échauffement du tr. Aussi, il est préférable de garder des relais dont la fonction repos assure  le freinage magnétique du micromoteur. (comme sur les essuie glaces, le moteur est en court circuit magnétique au stop fin de course). Et il faut donc prévoir des relais capables de passer 5 à 10 fois le courant nominal du micromoteur.

Je trouve que l'idée de Totojest est excellente par sa simplicité. Le plupart du temps, c'est en cinquième, donc souvent dans dans les longues lignes droites, autoroutes ou pas,  que l'on aurait besoin de se "reposer" la ciboule concernant les radars. La vitesse grimpe progressivement et on ne s'aperçoit pas toujours du deux ou trois km/h de trop. Sous les autres rapports, on est est moins occupé à rêver !

J'avais pensé à un truc très simple pour me faire une alerte sonore ou lumineuse, basée sur un petit capteur qui se met directement sur la boite, entre la sortie tachymètre et le câble qui part au compteur (pour une JB5 classique). C'est un petit capteur à induction tout bête, il mesure la rotation du cable. C'est plus simple que de chercher à piquer l'info sur les roues ou les cardans ! Je vais en envoyer une photo en même temps que qq crobars. Bonne journée.

Link to comment
Share on other sites

Il y a 5 heures, Zorro_X a dit :

Merci pour le doc, téléchargement en cours, il reste 50 minutes...

Oui désolé, le fichier est enregistré sur un NAS relié à une box dont la connexion est en ADSL, le téléchargement est un peu restreint par le débit montant de la box :nosweat: Faut être patient :D

 

Il y a 5 heures, Zorro_X a dit :

Les remarques de @Tatick sont bien plus pertinentes que les miennes, et je suis content de voir qu'il confirme l'utilisation d'un transistor pour piloter un relais, ou d'un optocoupleur pour isoler le signal du compte-tours.

Oui, c'est un tout autre niveau de connaissances que celui que j'ai :D Moi je voulais faire simple et limite "old school", je vais me retrouver avec une bête d'électronique :lunettes: Ce que j'espère, c'est que la multiplication des composants ne porte pas préjudice à l'aspect sécurité. Le point le plus sensible est bien l'électroaimant de commande, après, si la commande d'accélération ou de décélération devait rester bloquée, c'est pas grave du moment qu'on arrive à débrayer l'électroaimant.

 

Il y a 5 heures, Zorro_X a dit :

Enfin, en ce qui concerne la régulation RPM, si je comprends bien tu vas assumer que tu ne t'en serviras que lorsque la 5e est mise du coup tu ne considères qu'un rapport. C'est sur que vu comme ça, ça peut le faire, mais je trouve ça un peu réducteur. D'un autre côté, si ça te suffit, c'est tout de même toi qui vas t'en servir la plupart du temps...

En fait, avec mon système, je peux très bien l'utiliser sur n'importe quel rapport, même à l'arrêt, si pour une raison x je voulais maintenir mon régime à 2000 tours, avec ça, je pourrais. Pas grand intérêt certes, d'autant plus que les vrais régulateurs de vitesse ont bien souvent une sécurité d'activation pour une vitesse supérieure à 30 km/h. En ce qui me concerne, je prévois de ne pas activer le régulateur en dessous de 1500 tours et de le désactiver si le régime passe en dessous de cette valeur (en montée par exemple), pareil au delà de 3750 tours (le régulateur sera bridé à ce régime simplement par la limite supérieure de fréquence qui pourra être lue par l'Arduino).

 

Il y a 5 heures, Zorro_X a dit :

Sinon, tu comptes le régler comment ton régulateur, des boutons sur le TDB, une "tige" autour du volant ? un écran ? un afficheur LCD ? autre chose ?

Comme je disais au début (:ki:), j'ai une commande au volant multiposition (c'est un comodo qui se déplace sur 2 axes perpendiculaires: un axe OFF / MEMO et un axe + / -, ce qui fait qu'on ne peut jamais actionner deux commandes en même temps). Je rajoute un écran TFT de 0,96 pouces pour le contrôle de fonctionnement (ce qui me permet d'afficher ce que je veux dessus) que je positionnerais sous la casquette du compteur sans doute. Le compteur de l'Espace a le même format que celui de Super 5, mais comme j'ai tous les emplacements pris par des indicateurs, ça serait compliqué de l'intégrer à l'intérieur de celui-ci.

 

Il y a 3 heures, Zorro_X a dit :

PS - si tu enregistres ton doc en PDF (tu peux le faire avec Word dans la fenêtre "enregistrer sous..." tu choisis le format) ton doc ne prend que 2.8Mo... ;)

Je ne suis pas sur que ça conserve les deux vidéos qui sont intégrées au document et qui expliquent le poids de celui-ci :laugh:

Link to comment
Share on other sites

J'ai regardé le document sur le servomoteur débrayable. Effectivement, c'est futé. Cela signifie aussi que l'électroaimant est alimenté en permanence, et si il relâche, l'engrenage quart de tour est ramené à zéro par un ressort si j'ai bien compris. Donc si on lui coupe son 12 v d'alim, tout le bazar est hors fonction et seule la pédale reprend le contrôle normal de l'accélération. Sécurité assurée, c'est bien vu et je trouve ton projet très sympa.

 

Voilà donc un schéma parmi les possibles…

Je l'ai déjà utilisé maintes fois, le couple BC239 (ou 238; 237 c'est pareil) avec 2N2222 (TO18) est redoutable de fiabilité.

(Je préfère les commandes de relais par darlington bien qu'un seul tr pourrait le faire aussi, mais il faut alors calculer précisément la valeur de résistance de base pour être sûr de saturer correctement et c'est selon les relais utilisés. Alors puisqu'une sortie Arduino sort plus de 3 V, pourquoi s'enquiquiner?! )

 

Prends du relais de qualité, Finder, Siemens, etc. en simple inverseur travail/repos (en Ricain on dit SPTD). Ils passent tous au moins 8 A et sont soudables sur la carte. (J'aime bien le Finder 40.31.7.012, environ 5 €, et avec 300 ohms bobine, il n'est pas gourmand).

 

J'ai repris ton schéma de telle sorte que l'on voie mieux le fonctionnement du pont en H autour du moteur. On comprend mieux le court circuit magnétique au moment de l'arrêt du moteur, là ce n'est plus les 150 mA que tu as mesurés au moment du coup de patins…

Aussi, je ne vois pas l'intérêt de mettre un relais pour commander l'électroaimant. Autant le commander directement, un tr darlington genre TIP120 (121, 122) le fera tranquillement. Ce tr passe 5A en boîtier TO 220, sous 350 mA il sera à peine tiède. Avec un gain de 1000, l'Arduino ne sentira rien…

Les résistances de 100 ou 150 k tirant les bases à la masse ne sont obligatoires qui si le niveau bas de la commutation Arduino ne donne pas un vrai zéro masse (zéro flottant). Je crois me souvenir qu'il le fait, mais c'est à vérifier. (de toute façon elles ne gênent pas et ajoutent en sécurité si l'Arduino se crash)

 

image.thumb.png.09b610c9d3b2ff295babb54c81287cdf.png

 

Pour un circuit aussi simple, de la carte proto à pastilles suffit largement. Si nécessaire, dis le moi je te ferai un plan de câblage avec les trois entrées par un bout et les trois sorties à l'autre.

Mais je pense que toi ou Zorro se débrouillent aussi bien que moi pour ça.

 

 

 

Par ailleurs,

"J'ai mis une résistance en série pour diminuer l'amplitude du signal, l'Arduino ne pouvant absorber que 5V maxi. La valeur de la résistance est un peu arbitraire, et basée sur celle que l'on met en série avec les diodes... Je ne voudrais pas faire un pont diviseur de tension pour ne pas fausser le compte tours de la voiture non plus."

 

Une résistance série ne te protége que si tu as une consommation derrière. L'impédance d'entrée d'Arduino étant très élevée (Cmos), ta résistance ne te protégera pas car la chute aux bornes de R dépend du courant qui la traverse. Il te faut un pont diviseur, mais calculé à la valeur du courant de commande dont tu as besoin. Ici, quelques microampères.  Par exemple tu veux sortir 3V maxi d'un 12 v, soit le quart, tu peux faire ça avec 100 ohms + 300 ohms, ou 1k + 3 k, ou 5k + 15k, tout ça te sortira ton 3 V au point de rencontre, mais pas du tout au même niveau de courant : un pont de 400 ohms fait circuler 0.03A (12/400), c'est 30 milli, et c'est énorme pour le pauvre signal. Mais avec 4k de pont, c'est 10 fois moins de courant, et donc 3 mA… Et pour 20 k, encore cinq fois moins. Alors?

 

Ben, ya toutefois une limite, c'est le bruit et les perturbations externes en trop haute impédance. On cherche donc un compromis :

Combien puis-je extraire du signal compte tour sans perturber son récepteur de lecture ?

Évidemment, c'est lié à sa conception. 

Donc essaye un pont de valeur élevée, en gardant l'oscillo sur le signal comme tu l'as déjà fait ("Le signal est un signal carré d'amplitude variant entre 7 et 8V (relevé à l'oscilloscope),") et regarde de combien l'amplitude est affectée. Avec un pont de quelques dizaines de k elle ne le sera pratiquement pas, et avec 7 et 8 V ils ont mis une belle marge, à mon avis tu peux en piquer un peu sans problème. Et là, tu pourras tirer ton 3 ou 4 V pour contenter Arduino en repartant du pont avec quelques kilos de sécurité académique pour lui gaver l'entrée. A mon avis, un bout de milli ou moins doit suffire.

 

Mais, on peut aussi ajouter un opto, c'est une plus grande sécurité pour l'Arduino : par exemple une mauvaise manip, ou une soudure défectueuse au froid du pont, et crack, 8V dans l'entrée !

Alors il faudra d'abord amplifier ce maigre larcin pour lui donner la vigueur d'activer la led de l'opto, une dizaine de milli… Un tr ridicule suffit pour ça, sauf si par chance (ça m'étonnerait) on peut arriver à tirer 8 ou 10 mA directs du pont que l'on calculerait alors plutôt pour lâcher 1,8 V que 3 V.

En fait, tout va dépendre de combien tu peux tirer sur le pont.

J'attends tes mesures : ne t'embête pas, tu mets direct une résistance élevée (commence avec 100 k par exemple) en parallèle sur la sortie capteur et la masse, si rien ne bouge tu descends un peu la valeur, 47 k, 33 k, 22 k etc. Et donne-moi les résultats du scope.  

 

"Ce que j'espère, c'est que la multiplication des composants ne porte pas préjudice à l'aspect sécurité."

C'est plutôt l'inverse qui va se passer. Avec de bonnes marges sur les composants et un câblage soigné, tu sécuriseras au contraire ton montage.

 

Enfin, j'espère que ta crève va beaucoup mieux. Ne nous la passe pas par mail, mets les gants !!!

 

 

 

.

  • Thanks 2
Link to comment
Share on other sites

Je pense que t'as tout dit (et dessiné) @Tatick ! :jap:
Je n'ai pas encore lu le rapport dans le détail, mais je n'avais pas vu les vidéos à la fin, je vais regarder tout ça de plus près dès que j'aurai un peu de temps...

Link to comment
Share on other sites

Un grand merci @Tatick pour tes explications claires! J’étais juste resté sur le paramètre tension pour le pont diviseur et avais complètement oublié qu’on pouvait adapter le pont avec les ordres de grandeur qu’on pouvait donner aux résistances… Je suis en train de comprendre aussi pourquoi je me trouvais si mauvais en cours d’électronique en prépa! Si seulement j’avais eu un prof comme toi :D 

 

Je vais déjà m’attaquer à refaire le schéma mis à jour de tes éléments, ensuite j’irai tirer mon câble pour faire la mesure au compte tours avec des résistances. Je vais aussi mettre les résultats du scope avant la mise en place des résistances pour avoir un signal de référence. Je prévois aussi de faire un schéma explicatif du fonctionnement que j’ai prévu pour ce régulateur avant de préparer mon code, histoire que l’on comprenne bien ce que j’ai voulu faire (et ce sera plus digeste que les 1400 lignes actuelles).

  • Good idea! 2
Link to comment
Share on other sites

Il y a 2 heures, totojest a dit :

Si seulement j’avais eu un prof comme toi

Merci Totojest , mais moi je suis complétement nul en langage de programmation ! Je suis plutôt de l'époque des logiques câblées, tables de vérités, etc... Et puis ça fait plaisir de partager les savoirs.

 

Il y a 2 heures, totojest a dit :

Je prévois aussi de faire un schéma explicatif du fonctionnement que j’ai prévu pour ce régulateur

Oui, un synoptique global de ton projet serait sympa. J'aimerais mieux comprendre la relation tours moteur en 5ième et vitesse réelle par exemple. C'est selon le couple mais comment ça va se gérer? Peut-être un petit graphique ?

Link to comment
Share on other sites

il y a une heure, Tatick a dit :

Merci Totojest , mais moi je suis complétement nul en langage de programmation !

on ferait un bon binôme ! :D (moi c'est l'inverse...)

  • Haha 1
Link to comment
Share on other sites

il y a une heure, Tatick a dit :

J'aimerais mieux comprendre la relation tours moteur en 5ième et vitesse réelle par exemple. C'est selon le couple mais comment ça va se gérer? Peut-être un petit graphique ?

La relation est purement mécanique. En admettant que ton embrayage soit en bon état (qu'il ne patine donc pas), à un régime moteur donné, tu as une vitesse du véhicule associée. Les boites sont généralement dimensionnées pour fournir le couple moteur optimal (pour ne pas dire maximal, car ça dépend bien entendu de la courbe de couple, propre à chaque moteur), à des vitesses qui nous intéressent: en 3ème pour 50 km/h, 4ème pour 70 km/h ou en 5ème pour 90 km/h, on est aux alentours des 2500 tours sur une essence, 2000 sur un diesel.

 

Voilà une vidéo qui recense des valeurs de fréquence et de régime pour mon cas. L'oscillo change d'échelle automatiquement, et j'espère que le signal est suffisamment exploitable. Sinon j'ai tout un tas de vidéos sur chaque vitesse (et donc chaque régime associé), mais c'est un peu plus pénible à montrer :nosweat:

 

 

Link to comment
Share on other sites

Nouveau schéma électronique mis à jour, merci @Tatick pour tes infos :) (Ce n'est toujours pas la version finale, qui prendra en compte le pont pour le compte tours) J'espère ne pas avoir fait d'erreur, de toute façon je pense que je m'en rendrais compte au moment du montage pour tester ça :D Il faut déjà que je me procure quelques composants, je ne sais pas si j'ai tout dans mes boites de récup :D

 

2107156459_Schma2.thumb.jpg.88517253cab9baccf342bb3c1de57301.jpg

  • Well done! 1
Link to comment
Share on other sites

J'ai préparé un petit schéma fonctionnel de mon programme...

 

Petit...

 

:ph34r:

894482649_Schmaprogramme.thumb.jpg.2bea05c6ffd8b10acdce86d3b9cc72e9.jpg

 

Bon, en fait, pour qu'il soit plus lisible, il faut encore une fois le télécharger (cette fois c'est plus léger, 24 ko): Lien valable 15 jours

 

Pardonnez mon style complètement artisanal, je n'en ai jamais vraiment fait, j'espère qu'il reste quand même compréhensible dans les grandes lignes tout du moins (Il y a surement des manques dans tout ce qui concerne l'affichage, mais jusqu'à présent, dans mes tests, je n'ai pas vu de bug encore, à part la vérification de sens de rotation du moteur qui ne fonctionne pas, et que je dois reprogrammer, sinon, les grandes idées sont là!). Je suis à l'écoute de toute remarque/amélioration :)

Link to comment
Share on other sites

Ton diagramme fonctionnel n'est pas évident à lire puisque visiblement t'utilises ta propre nomenclature. Sans vouloir être réducteur, ca ressemble plutôt à des notes personnelles pour ne rien oublier, ce qui est très bien si tu t'y retrouves là-dedans, mais sans utiliser un formalisme plus standard c'est difficile à lire...

 

Sur ton diagramme électronique je vois que t'as mis des résistances de pull-up, pense que l'arduino inclut ces résistances dans ses entrées, il suffit de les activer... ;)

pinMode(PIN_ENTREE_BOUTON, INPUT_PULLUP);

 

Pour le reste (à part le compte-tours qui n'est visiblement pas encore mis à jour) tout m'a l'air plutôt pas mal ! :top:

Link to comment
Share on other sites

Je n’ai pas souvenir avoir fait de diagramme fonctionnel dans ma vie, et quand j’ai cherché des exemples pour me calquer dessus, je n’ai rien trouvé qui correspondait à ce que j’avais en tête.

 

Je l’ai donc fait comme je pense, avec ma propre nomenclature oui :nosweat: C’est limite une première ébauche, ça mériterait d’être refait, mais là j’ai pas trop le temps :nosweat:

Link to comment
Share on other sites

Bon bah me revoilà, pas d'ordi pendant quelques jours,  mother board ad patres ! Sans fleurs ni couronnes...

Tout n'est pas encore revenu, je dois tout recharger, et surtout récupérer mon disque dur, ça me broute !

 

Mais ton schéma est bien mieux joli. Dés que tu me donneras les résultats de mesures sur le capteur, je te ferai passer un crobar avec un opto, c'est plus sûr. Une simple déconnexion de masse d'interface suffirait à envoyer ton Arduino rejoindre ma carte mère ! 

Pour ton "petit" diagramme fonctionnel, je m'avoue vaincu !

Comme a dit Jules, "je suis venu, j'ai vu, et chuis r'parti" !!

Je pensais plutôt à un synoptique simple  montrant une boucle logique qui permet d'obtenir une vitesse réelle en fonction d'une consigne. J'imagine une boite  de dialogue qui reçoit l'info vitesse, l'info tours moteurs, l'info consigne et transmet en plus ou en moins une modif d’accélération au servomoteur, mais je suppose dans une fenêtre pour éviter l'oscillation autour d'un point, un peu comme on fait pour les températures, (contre réaction, hystérésis de fonctionnement) .

Mais comme dit Zorro "si tu t'y retrouves, c'est l'essentiel" ! Mais t'enquiquine pas pour ça, en gros on a pigé !!

On pourrait aussi le faire avec des aop à lampes, ça serait très rigolo d'avoir une remorque derrière la voiture pour l'électronique embarquée !!!

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our terms Terms of Use of use and privacy policy Privacy Policy.