Astuces GSXR SRAD
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
Coffret dresseur d’élite ETB Pokémon EV06 Mascarade Crépusculaire
56.90 €
Voir le deal

Indicateur de rapport engagé

Aller en bas

Indicateur de rapport engagé Empty Indicateur de rapport engagé

Message par Hvaonly Sam 24 Fév - 4:11

D'après le site ci après, il y a moyen de rajouter un indicateur de rapport engagé sur le SRAD !!
http://gsxr49.free.fr/technique.htm


El là d'autres infos fortes intéressantes :
https://www.sonelec-musique.com/electronique_realisations_indic_rapport_vitesse_002.html


C'est parti pour l'aventure !! Very Happy

J'ai passé des heures à étudier ca... Sleep
puis j'ai vérifier sur la moto, qu'il y avait bien une tension différentes pour chaque rapport engagé Cool
puis commandé un programmeur pickit3 (12 euros sur Ebay) puis les composants électroniques sur conrad.fr

prochaine étape : voir si cela fonctionne "en volant", avant de faire l'installation définitive et propre
Hvaonly
Hvaonly
Admin

Messages : 28
Date d'inscription : 24/02/2018
Age : 54
Localisation : Nord

https://srad.forumactif.com

Revenir en haut Aller en bas

Indicateur de rapport engagé Empty Re: Indicateur de rapport engagé

Message par Hvaonly Ven 16 Mar - 21:49

Hello à tous ....

Ben ca marche pas encore...
Hvaonly
Hvaonly
Admin

Messages : 28
Date d'inscription : 24/02/2018
Age : 54
Localisation : Nord

https://srad.forumactif.com

Revenir en haut Aller en bas

Indicateur de rapport engagé Empty Ca marche !!!

Message par Hvaonly Mar 4 Déc - 22:24

Avec la solution PIC, je m'en sortais pas. Malgré les heures passées, je n'ai pas réussi à aboutir, même sur la maquette, malgré les forums, et les heures d'essais. Je ne suis pas assez électronicien pour comprendre ce qui se passé

Après j'ai cedé à la facilité, ecouté les geeks à mon boulot et j'ai explosé le budget, je me suis orienté vers la solution arduino nano (5€..)

Il y a un forum clair et net qui explique comment faire :
http://www.motopiste.net/t80762-tuto-afficheur-rapport-engag

Au bout de 2h, l'essai sur maquette marche nickel OUFF !!!!

Sur la moto, c'était une autre paire de manche. Au premier branchement ca n'a pas fonctionné, tension mesurée trop forte. Et le branchement direct de l'arduino biaise la tension issue du capteur de boite.

La solution a été de mettre une pont diviseur . avec la premier resistance à 2kohms et seconde à 4kohms.

Les réglages ensuite se sont fait à tâtons, mais ca a abouti. Tout au moins sur moteur non démarré. Dès que c'est roulable dehors, je teste en ultime réel...  Tout n'est pas gagné car la tension risque d'être plus forte.... mais je suis confiant Very Happy

Si cela interesse qqun les seuils de tension rentrées  
Vit 1 : 1,00
N : 3,1
2 : 1,40
3 : 1,90
4 : 2,30
5 : 2,70
6 : 2,90


Dernière édition par Hvaonly le Mar 4 Déc - 23:29, édité 2 fois
Hvaonly
Hvaonly
Admin

Messages : 28
Date d'inscription : 24/02/2018
Age : 54
Localisation : Nord

https://srad.forumactif.com

Revenir en haut Aller en bas

Indicateur de rapport engagé Empty Re: Indicateur de rapport engagé

Message par Hvaonly Mar 4 Déc - 22:29

Indicateur de rapport engagé 6egsxr10



51000 kilomètres quand même Cool
Hvaonly
Hvaonly
Admin

Messages : 28
Date d'inscription : 24/02/2018
Age : 54
Localisation : Nord

https://srad.forumactif.com

Revenir en haut Aller en bas

Indicateur de rapport engagé Empty Re: Indicateur de rapport engagé

Message par Hvaonly Mar 4 Déc - 22:30

Oui c'est fait à l'arrache, avec un boitier d'un vieux moteur lego ..
Hvaonly
Hvaonly
Admin

Messages : 28
Date d'inscription : 24/02/2018
Age : 54
Localisation : Nord

https://srad.forumactif.com

Revenir en haut Aller en bas

Indicateur de rapport engagé Empty Re: Indicateur de rapport engagé

Message par Hvaonly Mar 4 Déc - 22:51

Pour info, je n'ai pas choisi d'alimenter l'arduino directement avec le 12 v de la batterie, trop peur de mettre le feu Razz  
>>>>>>>>>>>>>>>> D'ailleurs si vous foutez le feu à votre bécane, ou que vous petez votre CDI ou que cela ne fonctionne pas : je ne suis pas responsable <<<<<<<<<<<<<<<<<<<<<<

Alors j'ai acheté un convertisseur 12v 5V USB. Ainsi j'alimente l'arduino

J'ai acheté ca :https://www.ebay.fr/itm/12V-24V-double-moto-Chargeur-USB-avec-Accessoires-de-montage-synthetique/253993956032?hash=item3b233832c0:g:t1kAAOSwEfBbYqnq:rk:49🇵🇫0

Pour les plus pointus, j'ai mis un condensateur 100nF entre les deux fils qui aménent la tension mesurée sur l'arduino. Ainsi qu'une résistance de 1kohm en série sur le fil d'arivée. C'était des restes de mon étude avec la solution PIC.

Encore autre détail, je n'ai pas mis une resistance uniquement sur la cathode commune. idem que précedemment, c'était comme ca que j'avais concu avec le PIC. Et pour moi c'est indispensable si on veut garder une luminosité constante entre 1 segment et 6 segments allumés.

Pour info, j'ai mis l'arduino dans un vieux boitier de transfo. J'ai du bien le modifier à coup de fer à souder.
Entre l'arduino et l'afficheur 7 segments (via les resistances), j'ai mis une nappe.
J'ai tout entouré les ensemble avec du scotch d'électricien.

Le +12v, je l'ai pris dans la boite à fusible pret de la fourche. J'ai enquillé un fil dénudé avec une des pattes du fusible tail. Ainsi j'alimente  le convertisseur 12v USB uniquement lorsque le contact est mis.  On verra a fond de 6 six si cela tient  Razz

J'ai repris aussi une masse propre pour l'arduino avec une cosse mise sur le cadre juste sous l'avant du réservoir d'essence


Dernière édition par Hvaonly le Mar 4 Déc - 23:32, édité 2 fois
Hvaonly
Hvaonly
Admin

Messages : 28
Date d'inscription : 24/02/2018
Age : 54
Localisation : Nord

https://srad.forumactif.com

Revenir en haut Aller en bas

Indicateur de rapport engagé Empty Re: Indicateur de rapport engagé

Message par Hvaonly Mar 4 Déc - 23:02

Pour les copie colleur les plus acharnés ci après mon programme qui fonctionne (moteur arrété Razz Razz )

Pour info, j'ai mis qq caractéres en début de programme pour savoir quand l'arduino redémarre


//copiez a partir d'ici
int adcRead1  = 0;
int adcRead2  = 0;
int adcRead3  = 0;
int adcRead4  = 0;
int adcRead5  = 0;
int adcRead6  = 0;
int adcRead7  = 0;
int adcRead8  = 0;

float mesure = 0;
float temp = 0;

void setup(){                //configuration des pins en "sorties" et de la mesure en "entree"
DDRD=0b11111111;  
DDRB=0b11111111;
pinMode(A0, INPUT);        // pin 19 ?? modifier le "A0" en pin de votre choix
Serial.begin(9600);

 delay(500);
 CINQ();
 delay(500);
 O();
 delay(500);
 P();
 delay(500);
 H();
 delay(500);
 UN();
 delay(500);
 E();
 delay(500);
 ESP();
 delay(1000);
}

void loop() {
delay(30);  //70
adcRead1 = analogRead(A0);  //lire la tension sur la broche A0, // modifier le "A0" en pin de votre choix
delay(10);
temp = (float)(adcRead1+adcRead2+adcRead3+adcRead4+adcRead5+adcRead6+adcRead7+adcRead8)/8;  //utilise pour faire une moyenne glissante sur 8 mesures (permet de limiter les variations intempestives)
mesure = 5*temp/1023;
adcRead8=adcRead7;
adcRead7=adcRead6;
adcRead6=adcRead5;
adcRead5=adcRead4;
adcRead4=adcRead3;
adcRead3=adcRead2;
adcRead2=adcRead1;
Serial.println(mesure); // afficher sur le pC la valeur mesuree
//PORTD=0b00100000; // si aucune tension recueillie, on affiche le "point"
//PORTB=0;
ESP();
if(mesure>1.00){     // 1.3modifier les valeurs numeriques en accord avec celles mesurees sur votre moto IMPORTANT DE LAISSER DANS L ORDRE CROISSANT
  UN();
}
if(mesure>1.40){  
  DEUX();
}
if(mesure>1.90){  
  TROIS();
}
if(mesure>2.3){  
  QUATRE();
}
if(mesure>2.7){
  CINQ();
}
if(mesure>2.90){
  SIX();
}
if(mesure>3.1){
  O();
}
}


void N(){
PORTB = 0b00000000;  ///modifier ici les valeurs des ports B et D en accord avec votre tableau precedemment cree cf post sur motopiste
PORTD = 0b01010100;  // IL EST IMPORTANT DE LAISSER LES "0b" et les ";" (0b indique que c'est du binaire et le ; est pour signaler la fin de la ligne)
}

void UN(){
PORTB = 0b00000010;
PORTD = 0b01000000;
}

void DEUX(){
PORTB = 0b00000011;
PORTD = 0b00011100;
}

void TROIS(){
PORTB = 0b00000011;
PORTD = 0b01011000;
}

void QUATRE(){
PORTB = 0b00000010;
PORTD = 0b11010000;
}

void CINQ(){
PORTB = 0b00000001;
PORTD = 0b11011000;
}

void SIX(){
PORTB = 0b00000001;
PORTD = 0b11011100;
}

void O(){
PORTB = 0b00000011;
PORTD = 0b11001100;
}

void P(){
PORTB = 0b00000011;
PORTD = 0b10010100;
}

void H(){
PORTB = 0b00000010;
PORTD = 0b11010100;
}

void E(){
PORTB = 0b00000001;
PORTD = 0b10011100;
}

void ESP(){
PORTB = 0b00000000;
PORTD = 0b00001000;
}

void L(){
PORTB = 0b00000000;
PORTD = 0b10001100;
}

void U(){
PORTB = 0b00000010;
PORTD = 0b11001100;
}

//copiez jusque là


Dernière édition par Hvaonly le Mer 5 Déc - 18:43, édité 2 fois
Hvaonly
Hvaonly
Admin

Messages : 28
Date d'inscription : 24/02/2018
Age : 54
Localisation : Nord

https://srad.forumactif.com

Revenir en haut Aller en bas

Indicateur de rapport engagé Empty Re: Indicateur de rapport engagé

Message par Hvaonly Mar 4 Déc - 23:19

Juste une astuce. Je me suis fait un petit programme test pour savoir la tension lue par l'arduino.

En effet, quand j'alimente l'arduino avec le pc (pour surveiller la tension lue via le moniteur série), les valeurs sont un peu biaisées.


Dans ce programme test, c'est bizarre car a chaque fois, la tension monte tout doucement entre chaque  rapport (contrairement au programme précèdent (où il y a les rapport affichés) qui est presque instantané.)

Si au moment du roulage avec des vitesses folles, je vois que le programme précédent ne fonctionne pas, je remettrais celui ci, pour voir les valeurs mesurées par l'arduino dans ces nouvelles conditions

le programme fonctionne ainsi :
- message d'initialisation (et test des segments
(pour une tension exemple de 2,43 Volts)
- H
- 2
- .
- 4
- .
- 3
- rebellote

//copiez a partir d'ici
int adcRead1  = 0;
int adcRead2  = 0;
int adcRead3  = 0;
int adcRead4  = 0;
int adcRead5  = 0;
int adcRead6  = 0;
int adcRead7  = 0;
int adcRead8  = 0;
int digit1 = 0;
int digit2 = 0;
int digit3 = 0;
float mesure = 0;
float temp = 0;

void setup(){                //configuration des pins en "sorties" et de la mesure en "entree"
DDRD=0b11111111;  
DDRB=0b11111111;
pinMode(A0, INPUT);        // pin 19 ?? modifier le "A0" en pin de votre choix
Serial.begin(9600);

 delay(500);
 CINQ();
 delay(500);
 O();
 delay(500);
 P();
 delay(500);
 H();
 delay(500);
 UN();
 delay(500);
 E();
 delay(500);
 ESP();
 delay(1000);
}

void loop() {
delay(70);  //70
adcRead1 = analogRead(A0);  //lire la tension sur la broche A0, // modifier le "A0" en pin de votre choix
delay(10);
temp = (float)(adcRead1+adcRead2+adcRead3+adcRead4+adcRead5+adcRead6+adcRead7+adcRead8)/8;  //utilise pour faire une moyenne glissante sur 8 mesures (permet de limiter les variations intempestives)
mesure = 5*temp/1023; // http://0.9461*
adcRead8=adcRead7;
adcRead7=adcRead6;
adcRead6=adcRead5;
adcRead5=adcRead4;
adcRead4=adcRead3;
adcRead3=adcRead2;
adcRead2=adcRead1;
Serial.println("H");
Serial.println(mesure); // afficher sur le pC la valeur mesuree

//PORTD=0b00100000; // si aucune tension recueillie, on affiche le "point"
//PORTB=0;

H();
delay(500);
  // premier chiffre
 digit1 = int (mesure);
Serial.println(digit1);

 if (digit1==1){
   UN();
 }
 if (digit1==2){
   DEUX();
 }
 if (digit1==3){
   TROIS();
 }
 if (digit1==4){
   QUATRE();
 }
 if (digit1==5){
   CINQ();
 }
 if (digit1==6){
   SIX();
 }
 if (digit1==7){
   SEPT();
 }
 if (digit1==Cool{
   HUIT();
 }
 if (digit1==9){
   NEUF();
 }
 if (digit1==0){
   O();
 }
 delay(500);
///////////////////////////////////////////////////
 PT();
delay(500);
 // deuxieme chiffre
 digit2 = int((mesure - int(mesure))*10);
 Serial.println(digit2);
 if (digit2 == 1) {
   UN();
 }
 if (digit2 == 2) {
   DEUX();
 }
 if (digit2 == 3) {
   TROIS();
 }
 if (digit2 == 4) {
   QUATRE();
 }
 if (digit2 == 5) {
   CINQ();
 }
 if (digit2 == 6) {
   SIX();
 }
 if (digit2 == 7) {
   SEPT();
 }
 if (digit2 == Cool {
   HUIT();
 }
 if (digit2 == 9) {
   NEUF();
 }
 if (digit2 == 0) {
   O();
 }

///////////////////////////////////////////////////
delay(500);
///////////////////////////////////////////////////
 PT();
delay(500);
 // 3e chiffre
 digit3 = int(mesure*100) - (digit1*100) - (digit2*10);
 //digit3 = int(mesure*100) - (int((mesure-int(mesure))*10)*10) - (int(mesure)*100);
 Serial.println(digit3);
 if (digit3 == 1) {
   UN();
 }
 if (digit3 == 2) {
   DEUX();
 }
 if (digit3 == 3) {
   TROIS();
 }
 if (digit3 == 4) {
   QUATRE();
 }
 if (digit3 == 5) {
   CINQ();
 }
 if (digit3 == 6) {
   SIX();
 }
 if (digit3 == 7) {
   SEPT();
 }
 if (digit3 == Cool {
   HUIT();
 }
 if (digit3 == 9) {
   NEUF();
 }
 if (digit3 == 0) {
   O();
 }///////////////////////////////////////////////////
  delay(500);
}


void N(){
PORTB = 0b00000000;  ///modifier ici les valeurs des ports B et D en accord avec votre tableau precedemment cree cf post sur motopiste
PORTD = 0b01010100;  // IL EST IMPORTANT DE LAISSER LES "0b" et les ";" (0b indique que c'est du binaire et le ; est pour signaler la fin de la ligne)
}

void UN(){
PORTB = 0b00000010;
PORTD = 0b01000000;
}

void DEUX(){
PORTB = 0b00000011;
PORTD = 0b00011100;
}

void TROIS(){
PORTB = 0b00000011;
PORTD = 0b01011000;
}

void QUATRE(){
PORTB = 0b00000010;
PORTD = 0b11010000;
}

void CINQ(){
PORTB = 0b00000001;
PORTD = 0b11011000;
}

void SIX(){
PORTB = 0b00000001;
PORTD = 0b11011100;
}

void SEPT(){
PORTB = 0b00000011;
PORTD = 0b01000000;
}

void HUIT(){
PORTB = 0b00000011;
PORTD = 0b11011100;
}

void NEUF(){
PORTB = 0b00000011;
PORTD = 0b11011000;
}

void O(){
PORTB = 0b00000011;
PORTD = 0b11001100;
}

void P(){
PORTB = 0b00000011;
PORTD = 0b10010100;
}

void H(){
PORTB = 0b00000010;
PORTD = 0b11010100;
}

void E(){
PORTB = 0b00000001;
PORTD = 0b10011100;
}

void ESP(){
PORTB = 0b00000000;
PORTD = 0b00001000;
}

void L(){
PORTB = 0b00000000;
PORTD = 0b10001100;
}

void U(){
PORTB = 0b00000010;
PORTD = 0b11001100;
}

void PT(){
PORTB = 0b00000100;
PORTD = 0b00000000;
}
//copiez jusque là


Dernière édition par Hvaonly le Mar 4 Déc - 23:27, édité 1 fois
Hvaonly
Hvaonly
Admin

Messages : 28
Date d'inscription : 24/02/2018
Age : 54
Localisation : Nord

https://srad.forumactif.com

Revenir en haut Aller en bas

Indicateur de rapport engagé Empty Re: Indicateur de rapport engagé

Message par Hvaonly Mar 4 Déc - 23:23

J'ai eu aussi une galère un moment . Sur le deuxième rapport, même tension qu'au point mort ????
J'ai demonté la capteur, bien nettoyé les pins et c'est reparti.

peut etre qu'il y a avait un peu de limalle, ou bien lors de mes premiers test j'avais fait des arcs électriques qui ont marqués les pins de contact...
Hvaonly
Hvaonly
Admin

Messages : 28
Date d'inscription : 24/02/2018
Age : 54
Localisation : Nord

https://srad.forumactif.com

Revenir en haut Aller en bas

Indicateur de rapport engagé Empty Re: Indicateur de rapport engagé

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum