réalisation régulateur vitesse

:surprise: là,vous m’impressionnez :bien:

J’espère que le truc sera aussi adaptable à mon jimny :yahoo:

Un de mes rares regrets, c’est de ne pas avoir appris l’électronique :pasmafaute:
Je vais quand même faire une remarque, je trouve votre programme plutot léger, mais c’est peut-être normal dans ce domaine, car dans le mien, l’informatique de gestion, il me faut toujours prévoir toutes les conneries qui vont être faites entre le clavier et la chaise, et ça en fait des lignes :mdr2:

Petute inovation suite à ma lecture de la fin du cours arduino.

Pour les vieux moteurs, acceleration gérée par un servo.
Pour tous les moteurs recents où l’accélérateur n’a plus de cable, c’est adaptable aussi en generant une tension variable.

Niveau programmation, jarrive à gérer les interruptions, les interactions pilotes, j’arrive à faire clignoter mes leds suivant une tension variable.

Ça progresse !

:bien: :bien: mes cours d’électroniques sont vraiment loin, suis complètement largué :smiley:

// **********appel bibliothèque gestion servo

#include <Servo.h>

// *********variable servo

Servo moteur;

// ********** init pate

const char bout_on=2; // pate de l’interruption n°2 nommé 0
const char bout_raz=3;
const char bout_plus=4; // pate classique
const char bout_moins=7;
const char led =6; // pate classique
// const int moteur = 11; on ne déclare pas la pate du servo !!!

// ********* variables

boolean autorisation=0; // taille 1 bit
char etat=255;
char x; // taille 4 bits
char y=3;

// ********* init platine

void setup()

{
pinMode(led, OUTPUT); // pate sortie
pinMode(bout_on, INPUT); // pate entrée
pinMode(bout_raz,INPUT);
pinMode(bout_plus, INPUT); // pate entrée
pinMode(bout_moins,INPUT);
pinMode(13, OUTPUT);

digitalWrite(bout_plus, HIGH); // activation Resistance tirage interne
digitalWrite(bout_moins,HIGH);
digitalWrite(bout_on, HIGH); // activ Rt interne
digitalWrite(bout_raz,HIGH);

analogWrite(led,etat);
digitalWrite(13,LOW);

moteur.attach(11, 1000, 2000);
moteur.write(0);


attachInterrupt(1, raz, FALLING);
attachInterrupt(0, off, FALLING); // activation interruption 0 sur pate 2 qui appelle fonction off sur front descendant
} // grrr ici ne pas mettre () derriere nom de fonction

// ********* boucle infinie

void loop()

{
while (autorisation==1)
{
if ((digitalRead(bout_plus)==0) && (y<10)) boutplus(); // grrr ici mettre () derriere fonction
if ((digitalRead(bout_moins)==0) && (y>1)) boutmoins();
for (x=0;x<y;x++)
{
analogWrite(led, etat);
moteur.write(y*10);
delay(300);
analogWrite(led, 255);
delay(200);
}
// moteur.write(0);
delay(400);

}
}

// *********fonction off

void off()
{
autorisation =!autorisation;
raz();
}

// *********fonction raz

void raz()
{
moteur.write(0);
y=3;
etat=255-(y*1);
}

// ********fonction boutplus
void boutplus()
{
y++ ;
etat=255-(y
1);
}

// ********fonction boutmoins
void boutmoins()
{
y-- ;
etat=255-(y
1);
}

voilà la preuve en vidéo.

gestion servo moteur en parallèle à une tension ( les leds s’allument de plus en plus fort ) et le nombre de clignotement pour compter les 10 échelons.

en résumé, pour l’instant j’ai créé un simple “accélérateur manuel” :mdr2:


plus que tester acquisition du régime moteur et l’hystérésis ( ou pid ) de contrôle.

après trouver une belle boite pour caser les fils et le bazard au propre, genre boite de dérivation pour rendre l’affaire présentable.

dure dure il n’y a pas d’intempérie depuis un moment par chez moi…courage les amis du sud…

Bon, ça avance, ou bien tu as mis le feu à la turne??

Ça avance mais je bloque un peu sur la programmation de la regulation.

Il faut que je tienne compte de l’accélération pour la correction de vitesse, c’est un peu plus hard que prévu.
Par contre, l’accélérateur manuel simple marche déjà.

Quand vas tu nous faire un système où tu programmes une destination sur le gps et que tu puisses dormir dans la benne pendant le trajet :bien:

Salut,

je travaille dans l’informatique embarquée et ton projet est amusant mais me semble dangereux… alors je vais me faire l’avocat du diable :orage: . Je m’excuse par avance de la douche que cela pourrait occasionner sur ton projet :wink:

Allez c’est parti:

Comment détectera tu le fait que l’utilisateur freine ou débraye et donc que le régulateur doive se déconnecter? Ou comment cela fonctionnera-t-il si l’utilisateur veut accélérer plus que ce que ton calculateur veut? (ex: dépassement)

D’ailleurs comment ton système va-t-il prendre le contrôle de l’accélérateur et le laisser par la suite? Il faudrait une sorte de servo avec un embrayage contrôlable, je ne sais pas si ca existe. Il faut aussi que ca résiste à des coups de tatane.

Si tu démontes un borne d’arcade genre simulateur de conduite, tu verras qu’on est très loin du modélisme :slight_smile: et il s’agit que d’un jeu: pour un véhicule ca ne rigole plus du tout.

Cette partie mécanique du contrôle de l’accélération me laisse dubitatif… a moins de démonter et regarder en détail comment fonctionnaient les régulateurs avant l’ère du tout multiplexé.

Quand à modifier un accélérateur électronique il faut avoir sacrément confiance en soi car en cas de bug tu pourrai te retrouver à accélérer en permanence (tiens ca ne rappelle rien à personne une histoire de régulateur qui déconne avec des gens paniqués qui appelle la gendarmerie pour qu’on leur ouvre les péages?).

(Ce que tu emploies n’est justement pas vraiment du C mais du ‘arduino’: il y a une belle couche de logiciel entre ton application et le matériel, quelle garantie as tu que cette couche est fiable?)

Je ne pense pas que tu serai capable de distinguer le fait que l’utilisateur appuie sur la pédale de frein (il faut lacher le controle et ne plus réguler) du fait qu’on arrive en cote (il faut accélérer).

Comment sais tu que l’ESP s’est déclenché? Imagine que ton régulateur veuille maintenir la vitesse en accélérant alors que tu es parti en glissade…

Si tu imagines passer par OBD, tu pourrai avoir peut être le pourcentage d’enfoncement de la pédale d’accélérateur (et encore, ca dépend du véhicule) mais tu n’aura pas celle du frein ni celle d’embrayage, ni le rapport engagé, ni tu saura si l’ESP ou l’ABS sont en régulation car OBD est prévu pour la pollution et rien d’autre… ca circule dans le véhicule mais ce pas accessible avec des trucs comme l’ELM327.

La partie acquisition est donc déjà beaucoup plus complexe que de juste comprendre le régime moteur ou la consigne de vitesse entrée par l’utilisateur.

C’est un sacré travail que d’arriver déjà à savoir s’il est possible d’essayer de contrôler la vitesse parce que tout à l’air de fonctionner correctement dans le véhicule et que les conditions de conduite le permette.

Peut être que dans un tracteur ca serait plus acceptable car tu peux toujours sauter en route :smiley: Mais si tu écrases quelqu’un, ou une bête, ca sera moins drôle…

Tout cela pour dire que dans ce type de projet la priorité doit forcément être la sécurité en premier, non seulement celle des gens dans la voiture, mais aussi la sécurité de ceux qui n’y sont pas…

1 « J'aime »

zut un doublon… si quelqu’un peut l’effacer? sorry

:mdr3: :mdr2:

Pour resumer, :moqueur:

Comment je sais si on freine? Il y a un capteur sur la pedale, il suffit de faire remonter linfo et c’est un simple interrupteur.

Peut importe la vitesse enclenchée, je régule par rapport au regime moteur.

Tu veux accélérer plus fort, pas de problème, le servo moteur fait office de butée basse, donc rien empêchera de vouloir plus.

Bon maintenant finit de rire, je comprends tes craintes niveau sécurité.

Si l arduino deviens fou, avec l’accélérateur à platine, j’ai prévu un interrupteur sur le fil
Si l arduino deviens fou avec accelerateur ancien, j’ai prévu un interrupteur aussi et il suffit d’aider la pedale à remonter ( mais normalement elle le fait d’elle même avec le ressors de rappel ).

Une dernière chose concernat les regulateurs de vitesse fou, c’est une legende ou des niais qui ont eu peur.
On peut bien débrayé ou couper le contact pour ralentir.
Même monter sur les freins poyr caler le moteur.

Tes mises en gardes sont :bien: mais je pense que si tu avais lu en profondeur le sujet, tu aura vu qu elles étaient prise en compte.

Alors? Alors?
Nous suivons avec intéret ton projet et attendons avec patience la production pour t’en commander-si tu en fabrique d’autres! :yahoo:
C’est ce qui manque le plus dans les PUs pré CI et common rail

Au niveau, sécurité je pense que tu as bien géré la chose, sauf que maintenant que le cruise control est possible sur tous les vieux PU, on va commencé a faire plus de longue route…il va falloir revoir le budget gasoil! :batte:

Blague a part, je trouve ton projet super -même si je n’entrave rien à tes calculs et descriptions, à part celles écrites en français. :moqueur2:

Je souhaite bon courage pour la suite et espère bientot pouvoir bénéficier de ton travail (je ne pense pas être le seul!) :bien: :bien:

Alors? Alors?
Nous suivons avec intéret ton projet et attendons avec patience la production pour t’en commander-si tu en fabrique d’autres! :yahoo:
C’est ce qui manque le plus dans les PUs pré CI et common rail

Au niveau, sécurité je pense que tu as bien géré la chose, sauf que maintenant que le cruise control est possible sur tous les vieux PU, on va commencé a faire plus de longue route…il va falloir revoir le budget gasoil! :batte:

Blague a part, je trouve ton projet super -même si je n’entrave rien à tes calculs et descriptions, à part celles écrites en français. :moqueur2:

Je souhaite bon courage pour la suite et espère bientot pouvoir bénéficier de ton travail (je ne pense pas être le seul!) :bien: :bien:

dur dur, trop de boulo à finir, plein d’intempéries, trop de retard.

et entre le dos qui coince et le pied qui gonfle ça me :batte: :devil:

point mort pour l’instant, mais dès que je peux je termine tout ça.

Salut, des nouvelles!!!

toujours pas de neige pour me laisser le temps de finir.

toujours point mort…ça devrait arriver.

:smiley: :smiley: :smiley: non,non…sa femme ne travaille pas de nuit…donc,il a autre chose à faire :sexe: :sexe:
:mdr2: :mdr2: :mdr2: :mdr2: :mdr2: :mdr2: :mdr2: :mdr2:

:dehors:

Des nouvelles!!!

Bloquer et pas le temps…

Il a 2 prise sur le boitier papillon, et je n arrive pas a determiner laquelle prendre pour les infos.

Peut importe le fil ou j envoie les info, ça met en defaut le moteur.

D ailleurs si qqun a une explication ou cablage de ses 2 prises sur le boitier papillon…

il faudrait que MAST passe par là !! :doute: