Bouton poussoir et MOSFET

hello
cette partie de code ne fonctionne pas.

sans conséquence dans ton prg

if (dernierEtatBouton = etatBouton)
{ //mémorise l'état actuel du bouton poussoir
Serial.println("Shifter Ready"); //Bouton passé en Haut en Bas puis de Bas à Haut
Serial.println("_____________"); //Système Anti-Rebond validation pour prochaine utilisation
}

A la lecture du schema elec de la moto

Je te propose un schéma avec 1 relais.
C'est plus simple à maitriser (pour le SAV) que le schéma à transistors.
Ca permet, gros avantage, de séparer electriquement et convenablement le côté arduino du côté moto, même pas besoin de relier les 0V.

j'ai chercher et trouvé un schéma un peu plus lisible que le tien qui manquait de pixels.

Au niveau du contacte béquille il est écrit sur le schéma
PUSH = contact fermé, j'ai supposé que PUSH = béquille poussé en position dépliée.
FREE = contact ouvert, j'ai supposé que FREE = béquille repliée

J'ai vu sur le schéma du contact béquille une diode en série avec le contact.

J'avoue je n'ai pas suivit TOUS les fils qui tournaient autour de ce contact, mais juste assez pour comprendre la finalité de la chose.

Et je propose ce schéma avec 1 relais 5V avec 1 contact à 2 positions.

Pour respecter le schéma de la SV650S, j'ai rajouté D1.

En principe ce schéma devrait faire l'affaire.

Contact relais en position 1, c'est la béquille qui gére le truc.
Si le contact de la béquille est fermé, G est envoyé à B/W.

Contact relais en position 2, c'est arduino qui gére le truc etqui impose le signal G à B/W.

C'est un simple OU à contacts relais.

G et B/W sont les codes couleurs relevés sur le schéma elec de la moto.

L'avantage de ce schéma est que tu t'en fous un peu de ce qu'il se passe en G et B/W, tu te contente quasiment de faire un "copier/coller" de la (béquille + sa diode).
A droite du schéma tu n'ajoute pas de composant électronique supplémentaire susceptibles de modifier le schéma.
Tu met en place un "(BP béquille + sa diode) OU (contact relais + sa diode)"

Pour moi c'est clair, ... enfin je l'espère.

Bonne continuité

Un grand merci, je vais essayer de tout décortiquer et de le refaire sur Proteus

Je n'ai juste encore jamais utilisé de relais, me conseillerais-tu une référence? Pareil les diodes lesquels me conseil-tu? Dans mon stock de pièce il ne me reste que des diodes de redressement 4001 et 4007 (je ne sait pas si elles conviendront dans ce cas :p)

Donc du coup si j'ai bien compris:

0V arduino donc masse arduino

OUT correspond à la sortie avec la quelle je vais contrôler le MOSFET

+5V Arduino ok pas de problème

Superbe idée alors ce relais, je n'en m'en suis jamais servi encore mais ton déroulement me semble tout à fait convenir, je vois la finalité

Un grand merci pour ce super schéma ! Et si un jour tu veux Proteus 8 pour faire des schéma n’hésites à me faire signe

dfgh:
hello
cette partie de code ne fonctionne pas.

sans conséquence dans ton prg

Comme tu dis, cette partie ne sert pas à grand chose, c'était plus pour les phase de test. Mais pourtant elle fonctionnait. Regarde les deux photos

La 1iere c'est à l’initialisation de la carte, je n'ai pas encore fait du coupure

La 2eme c'est après une pression du bouton

Tant qu'il n'est pas ready à nouveau je ne peux pas forcer un nouveau passage avec coupure (ou alors en faisant de la bouillie de boite :stuck_out_tongue:

Hello,

Pour les diodes les 2 sont OK, la 1N4007 supporte plus de tension en inverse.

Pour le relais, il y a une multitude de "modules relais 5V pour arduino" sur le net, ils ont la diode de roue libre intégrée.

Pour ta proposition Proteus je te remercie, je connait Proteus + Ares, je les utilise parfois au boulot.

At Home, j'utilise Kicad, c'est open source mais là j'ai voulu faire sans...

C'est sympa d'y avoir pensé mais ca ira.

(faut pas que j`oublie que je suis surveillé par JL)

Ça roule :wink: Tant mieux pour les diodes, un truc de moins à commander ahah!

Donc le relais ce modèle conviendrais? :
https://www.amazon.fr/SODIAL-Trigger-Relais-Optocoupleur-Arduino/dp/B00YGPYD0S/ref=sr_1_5?ie=UTF8&qid=1505664463&sr=8-5&keywords=relais+arduino

Désolé vraiment, je n'ai absolument jamais touché un relais, mais je pense y voir ce que tu m'as donné en schéma

DC+: -> +5V de l'arduino
DC -: -> Masse/GND
IN: -> Le contrôle par le MOSFET

Donc la partie béquille d'origine viendrait elle, sur la partie NC. Donc quand le relais n'est pas piloté.

Et la partie Arduino/Mosfet viendrait quant à elle sur la partie COM du coup? c'est ça que j'ai du mal à situer à cause de ma non expérience des relais

Je vais faire le schéma tout de suite

En tout cas vraiment merci de m'avoir montré cette solution et d'être si disponible! Tu bosses dans cette branche?

EDIT: J'ai tenté (j’insiste sur le tenté :p), de mettre un relais sur proteus par rapport à celui que je t'ai montré sur Amazon. C'est Ok ou je me suis vautré? :3

Autres questions:

  • je conserve la Pull-Down entre le pin 9 et la masse? Ou elle est inutile? On me l'avait conseillé au tout début de mes tentatives avec transistor

  • Dois-je ajouter une led quelque part? Notamment entre le 5V et la masse du relais (si je ne me suis pas trompé d'endroit)?

peux tu tester ce code, simplement en le chargeant dans un micro et en regardant le moniteur

/******************************************************
                     Quick Shifter                    *
  rev 6                                               *
  14/09/2017                                          *
                                                      *
                                                      *
  Patch Note: - Add Anti-rebond bouton                *
              - Version avec MOSFET                   *
              - Ouverture de la Gate qu'au Shift      *
*******************************************************/

//Constantes
const int pinBouton = 8;
const int pinShift =  9;

//Vérification de l'état du bouton
int etatBouton = 0;            //Variable pour l'état actuel du bouton poussoir
int dernierEtatBouton = 0;     //Variable pour l'état précédent du bouton poussoir

void setup() {
  Serial.begin(9600);

  //Configuration des Entrées/Sorties
  pinMode(pinShift, OUTPUT);
  digitalWrite(pinShift, HIGH);     //Niveau HAUT = fermé dès le début
  pinMode(pinBouton, INPUT_PULLUP);



}
void loop() {
  
dernierEtatBouton=0;
etatBouton=1;
Serial.print("dernierEtatBouton = ");Serial.println(dernierEtatBouton);
Serial.print("etatBouton = ");Serial.println(etatBouton);
    if (dernierEtatBouton = etatBouton) { //mémorise l'état actuel du bouton poussoir
      Serial.println("Shifter Ready");    //Bouton passé en Haut en Bas puis de Bas à Haut
      Serial.println("_____________");    //Système Anti-Rebond validation pour prochaine utilisation
    }
Serial.println("la condition de ton if est : if (dernierEtatBouton = etatBouton)");
    
 while(1){};
}

dfgh:
peux tu tester ce code, simplement en le chargeant dans un micro et en regardant le moniteur
...

y aurait-il un message subliminal pour comprendre la différence entre [color=red]=[/color] et [color=red]==[/color] ?? :slight_smile:

dfgh:
peux tu tester ce code, simplement en le chargeant dans un micro et en regardant le moniteur

/******************************************************

Quick Shifter                    *
  rev 6                                              *
  14/09/2017                                          *
                                                      *
                                                      *
  Patch Note: - Add Anti-rebond bouton                *
              - Version avec MOSFET                  *
              - Ouverture de la Gate qu'au Shift      *
*******************************************************/

//Constantes
const int pinBouton = 8;
const int pinShift =  9;

//Vérification de l'état du bouton
int etatBouton = 0;            //Variable pour l'état actuel du bouton poussoir
int dernierEtatBouton = 0;    //Variable pour l'état précédent du bouton poussoir

void setup() {
  Serial.begin(9600);

//Configuration des Entrées/Sorties
  pinMode(pinShift, OUTPUT);
  digitalWrite(pinShift, HIGH);    //Niveau HAUT = fermé dès le début
  pinMode(pinBouton, INPUT_PULLUP);

}
void loop() {
 
dernierEtatBouton=0;
etatBouton=1;
Serial.print("dernierEtatBouton = ");Serial.println(dernierEtatBouton);
Serial.print("etatBouton = ");Serial.println(etatBouton);
    if (dernierEtatBouton = etatBouton) { //mémorise l'état actuel du bouton poussoir
      Serial.println("Shifter Ready");    //Bouton passé en Haut en Bas puis de Bas à Haut
      Serial.println("_____________");    //Système Anti-Rebond validation pour prochaine utilisation
    }
Serial.println("la condition de ton if est : if (dernierEtatBouton = etatBouton)");
   
while(1){};
}

Je vais tester ça, je sens la boucle infinie ou quelque chose comme ça poindre à l'horizon :stuck_out_tongue:

EDIT: Bien vu le = au lieu du ==, il s'est échappé ce fourbe!

:slight_smile:

Encore moi;

Donc pour le schéma, BRAVO, manque juste une diode comme si dessous.
Tout le reste c'est OK,

Un relais, c'est un relais ... ce que tu a trouvé sur Proteus, c'est un relais en l'état de simple composant, à poil quoi!

Les chinois, filou qu'ils sont, ont compris l'intérêt de tout mettre en module pour les petits occidentaux. A savoir, le relais à poils + quelques composants autour pour en faire un module ou kit relais.

Et du coup, c'est nous qu'ils mettent à poil, ils nous piquent le marché par des prix extravagants.

Et les consommateurs de bonne foi, comme toi et plein d'autres, qui découvrent l'elec, se perdent en pensant que le Kit ou le Module EST le relais, et que chinois c'est PAS CHER.

Mais non c'est pas juste (enfin je trouve).

Bon, je m'égare.

Le relais, tu l'a correctement trouvé sur Proteus, il lui manque sa diode de roue libre (ce que tu appelle LED).

Le kit que tu propose sur Amazon à le bon relais + tout un habillage dessus, et comme d'hab venant des chinois, rien pour te dire comment le connecter.

D'aprés la photo, il y a beaucoup de composants autour du relais, la diode de roue libre surement, une alim 5V peut être? un opto coupleur surement, MAIS A TU BESOIN DE TOUT CELA?

Et surtout COMMENT CA SE BRANCHE?

Là tout de suite, je ne sais pas, il faudrait ouvrir la question sur un post.

Moi j'aurais acheté un relais à poil sur RS, Farnell, ou Conrad mais j'entends déja les remarques du style "oui mais les frais de port?"

Et puis tu dois te dire que c'est pour toi et ta moto et que tu n'aimerais pas que ce tombe en panne trop vite, donc autant acheter de la qualité.

Par exemple (avec des critéres luxeux, parce que le relais, il faut le mettre quelques part sur la moto)
ICI

Ou le premier OMRON de la liste
LA

Il y a le choix, c'est pour te donner une idée, tu peux aussi, si si cela se fait (mais même moi je ne le fais plus) aller chez le premier vendeur chinois qui a une boutique de composants elec avec un vrai pas de porte en ville et lui demander ce qu'il a comme relais 5V ayant 1 contact Repos Travail.

Je pense qu'il y a encore dans les grandes villes des vendeurs de composants elec.

Si j'ai ce fameux relais dans mes composants dans mes fonds de tiroir ici ou ailleurs, je te fais signe promis.

(moi, après 25 ans de bons et loyaux service dans l'industrie électronique et robotique, je suis tech elec dans une université , et je vante les mérites d'arduino à tous les étudiants curieux qui me titillent sur leurs projets electro/mécanique)

Raté j'ai envoyé la mauvaise correction

ZigZag:
...

Je pense qu'il y a encore dans les grandes villes des vendeurs de composants elec.

bonsoir
Si par elec tu entend "electronique"
Il ne reste quasi rien "comme boutique physique"

Sur Paris (pour citer une grande ville :grin: ) , il n'en reste à ma connaissance que 2 et encore je ne suis même pas sur !

Sujet déjà discuté (disparition selectronic nation) , mais rémunérer des employés, payer un loyer, maintenir du stock de tout et n'importe quoi , autres .... (et accessoirement se faire engueuler 8) ) , pour vendre par jour 4 résistances à 0.25€ et 3 condos à 0.10€ n'est pas/plus vraiment une activité viable à long terme

ZigZag:
Encore moi;

Donc pour le schéma, BRAVO, manque juste une diode comme si dessous.
Tout le reste c'est OK,

Un relais, c'est un relais ... ce que tu a trouvé sur Proteus, c'est un relais en l'état de simple composant, à poil quoi!

Les chinois, filou qu'ils sont, ont compris l'intérêt de tout mettre en module pour les petits occidentaux. A savoir, le relais à poils + quelques composants autour pour en faire un module ou kit relais.

Et du coup, c'est nous qu'ils mettent à poil, ils nous piquent le marché par des prix extravagants.

Et les consommateurs de bonne foi, comme toi et plein d'autres, qui découvrent l'elec, se perdent en pensant que le Kit ou le Module EST le relais, et que chinois c'est PAS CHER.

Mais non c'est pas juste (enfin je trouve).

Bon, je m'égare.

Le relais, tu l'a correctement trouvé sur Proteus, il lui manque sa diode de roue libre (ce que tu appelle LED).

Le kit que tu propose sur Amazon à le bon relais + tout un habillage dessus, et comme d'hab venant des chinois, rien pour te dire comment le connecter.

D'aprés la photo, il y a beaucoup de composants autour du relais, la diode de roue libre surement, une alim 5V peut être? un opto coupleur surement, MAIS A TU BESOIN DE TOUT CELA?

Et surtout COMMENT CA SE BRANCHE?

Là tout de suite, je ne sais pas, il faudrait ouvrir la question sur un post.

Moi j'aurais acheté un relais à poil sur RS, Farnell, ou Conrad mais j'entends déja les remarques du style "oui mais les frais de port?"

Et puis tu dois te dire que c'est pour toi et ta moto et que tu n'aimerais pas que ce tombe en panne trop vite, donc autant acheter de la qualité.

Par exemple (avec des critéres luxeux, parce que le relais, il faut le mettre quelques part sur la moto)
ICI

Ou le premier OMRON de la liste
LA

Il y a le choix, c'est pour te donner une idée, tu peux aussi, si si cela se fait (mais même moi je ne le fais plus) aller chez le premier vendeur chinois qui a une boutique de composants elec avec un vrai pas de porte en ville et lui demander ce qu'il a comme relais 5V ayant 1 contact Repos Travail.

Je pense qu'il y a encore dans les grandes villes des vendeurs de composants elec.

Si j'ai ce fameux relais dans mes composants dans mes fonds de tiroir ici ou ailleurs, je te fais signe promis.

(moi, après 25 ans de bons et loyaux service dans l'industrie électronique et robotique, je suis tech elec dans un IUT de génie méca, et je vante les mérites d'arduino à tous les étudiants curieux qui me titillent sur leurs projets electro/mécanique)

Vraiment merci à toi de m'avoir accompagné dans ma démarche ! Après je suis tout à fait d'accord avec toi quand au choix de la qualité des pièces. je préfère mettre judicieusement 5€, que de devoir me racheter un CDI à 500€

Je n'ai qu'aujourd'hui un BTS Système Numérique, Électronique et Communication et la je pars sur une licence en maintenance des transport guidés

Mais depuis que je suis tout petit je bricole dans mon coin, j'ai surtout passé un moment sur tout ce qui était guitare et pédale. Et c'est la qu'on se rend compte qu'on se fait mettre profond quand on compare le prix de 5 compos basiques, et une pédale d'usine qui n'est pas plus performante. Mais juste le fait de dire "C'est moi qui l'ai fait" je trouve ça génial !

J'ai toujours avec mon père, fait de la mécanique, mais depuis que j'ai ma SV je m'intéresse surtout à tout ce qui est électronique embarquée, surtout avec les possibilités quasi infinie que propose l'Arduino. Mais je t'avoue que tu as vraiment remonté le niveau :stuck_out_tongue: Jamais je n'aurai pensé à utiliser un relais

C'est pour ça au risque de me répéter, merci beaucoup ! Je commande le relais et je reviendrais te tenir au courant du bon fonctionnement du système

Juste une petite dernière question, la résistance entre le Pin 9 et le MOSFET, je laisse 1K ou une certaine valeur est préconisée?

Et l'arduino arrivera-t-elle à alimenter le relais par son +5V? Sachant que je ne te l'ai pas dit, mais je vais devoir alimenter l'arduino via un LM7805 avec deux condos à ses bornes pour lisser la tension (ça, je l'ai fait une paire de fois, même sans condos au début et j'ai bien vu la différence ahah!)

Encore merci et bonne soirée !

7805.jpg

Moi je ne suis pas prof, juste technicien superieur. Dans mon job actuel je croise tout les jours des étudiants DUT et Licence Pro.
Mon savoir, comme pour beaucoup ici, c'est à mon age 75% expérience pro et 25% de ma formation initiale (DUT GEII).

Le 7805 je connais bien entendu.

C'est un composant lineaire, à savoir que le courant en sortie est le même que en entrée.

Donc si tu consomme 5V 1A soit 5W en sortie, le 7805 sbsorbe 12V 1A. soit 12W.

Et 12-5=7W dissipé en chaleur, plus que ce que tu consomme en sortie.

Si necessaire monter 7805 sur un radiateur.

J'ai pris un cas extrême car tu ne consommera pas 1A.

C'est juste pour montrer l'inconvénient d'un régulateur lineaire quand il est sur-alimenté en entrée. Dans ce cas le rendement est calamiteux.

Vaut mieux pas alors que ton système soit constamment alimenté.

Une astuce pour que ton relais ne consomme pas sur le 5V régulé qui alimente l'arduino et ne le pollue pas par ses pics de courant, puisque tu utilise du 12V, prend un relais 12V et alimente le en 12V. Le reste du schema ne changeant pas.

Il y a un article intéressant chez sonelec-musique sur les relais dans l'audio. Jette un oeil pour démystifier ce composant passif.

Il y a aussi plein de régulateur 5V puissants au même brochage que le 7805.

Et les convertisseurs DC/DC hacheurs qui ont des supers rendement. Une alim de PC en est un bon exemple et un PC c'est pourtant une électronique sensible aux parasites.

PS: 1k c'est OK

Nickel merci!

Du coup je commande

Donc je résume bien, non alimenté le relais va rester en position "béquille stock" en isolant le système de l'arduino, et à l'inverse quand le MOS piloté par mon bouton, va changer de position le relais. Le système de béquille va donc être coupé, et ma micro coupure va être envoyée aux fils de la fiche qui "surveillent" la béquille

Mon seul doute, ma micro coupure va faire environ 60ms, un relais étant un élément mécanique, la coupure passera t-elle quand même ?

Bonsoir;

Vu sur la doc, entre 5 et 7ms pour les plus gros de ceux que je t'ai présenté.
A l'ouverture comme à la fermeture.

Un retard de 5 à 7ms.

Est-ce gênant pour la partie micro-coupures?

Du coup, j'ajusterai pas de problème! Relais commandé, un G5V-1 5DC OMRON comme tu le l'as conseillé

Si tu es curieux de voir ce que ça fait en vrai: (Juste au cas ou si tu ne connais pas du tout :p)

Une fois que les 1ière est lancée, plus besoin d'embrayer ni de relâcher l’accélérateur. Tu peux continuer d’accélérer totalement, la synchronisation coupure/passage fait que la boite n'en souffre pas. Le rapport passe en douceur et sans à-coups

Concrètement, ça sert a rien mais c'est cool (comme 90% des meilleurs trucs)

J’hésite encore si je me sers d'un bouton sur mon sélecteur de vitesse, qui sera activé via mouvement du sélecteur, (un peu le système de bouton de fin de course). Ou si je tente avec un capteur à effet de Hall

J'étais curieux de comprendre comment fonctionnait les vrais capteurs qui se montent sur les sélecteurs d'origines, ce sont en fait des bouton qu'on peut visser sur la tige filetée du sélecteur, qui lorsque qu'une torsion se produit, écrase le bouton mais transmet quand même le mouvement à la boite

Un tel bouton n'existe pas dans le commerce, ou ne j'ai pas encore trouvé, donc j'ai mes petites idées pour la réalisation, notamment avec un capteur à effet de Hall du coup, s'ils sont assez réactif

Une bonne soirée!

bouton.jpg

Bonjour,

Il existe des petits inter passifs (sans électronique) qui changent d'état face à un aimant.

C'est simple à mettre en place aussi.

Je ne connais pas du tout, je vais me renseigner