Tlemcen Car electronics

Tlemcen Car electronics (https://www.tlemcen-electronic.com/forum/)
-   Compteur kilométrique (https://www.tlemcen-electronic.com/forum/forum13/)
-   -   Banc de teste pour compteur Scenic II sans UCH (https://www.tlemcen-electronic.com/forum/compteur-kilom-trique/24274-banc-de-teste-pour-compteur-scenic-ii-sans-uch.html)

Tyoris 05/04/2014 20h41

Bonjour,
Je faisais des recherches sur le net, pour mon projet et je suis tombé sur ce forum qui va bien m'aider je pense.

Voila mon projet :
Je voudrais mettre un compteur de Megane 2 ph 2,dans une Renault 30 td, vous allez me dire qu'elle est l’intérêt et je vous réponds aucun.
Si ce n'est que d'arriver à faire avaler à compteur multiplexe des infos venant de n'importe quoi (une autre voiture, un jeux vidéo, ...) les possibilité sont infinies.

Pour cela j'utilise un arduino + shield Can BUS + compteur Megane ( bien sur ).

Ame : je vais répondre à ta question et t'en poser une en même temps.
Tu voulais un système plus rapide pour faire tes requêtes, je viens de te le donner au dessus l'arduino,
Moi maintenant je vais te demander le shield can bus envois des infos mais je ne sais pas comment remplir la ligne de commande
" CAN.sendMsgBuf(INT8U id, INT8U ext, INT8U len, data_buf); " où dois je mettre le 35D et les 10 03 20 00 00 00 50 00 la dedans?


Merci à vous pour vos informations
Tyoris

juju64 05/04/2014 20h44

Bienvenu Tyoris








*

AME 05/04/2014 22h28

Bonjour et Bienvenu Tyoris

Citation:

Envoyé par Tyoris (Message 190235)
Je voudrais mettre un compteur de Megane 2 ph 2,dans une Renault 30 td

Super comme idée, ca me plait beaucoup :cheer2: Ça sert à rien , mais c'est un chalenge ..
Citation:

Envoyé par Tyoris (Message 190235)
CAN.sendMsgBuf(INT8U id, INT8U ext, INT8U len, data_buf);" où dois je mettre le 35D et les 10 03 20 00 00 00 50 00 la dedans?

Attention la communauté , ça va devenir du chinois :yield:
Je connais l'arduino mais juste de nom. Donc je ne connais pas ses routines, mais je dirai :
- INT8U id et INT8U ext, ca doit etre l'id du label CAN donc 35D, car 35D ca rentre pas dans juste INT8 id ( Unsigned Int 8 ( 1 octet ) ). Par contre je ne sais pas dans quel sens tu le rentres...

- INT8U len , ça doit être la longueur du message, doit 8 dans ce cas.

- data_buf, ca doit être la donnée à envoyé soit 10 03 20 00 00 00 50 00, mais tu peux pas l'envoyé tel quel : tu dois fabriquer une chaîne de caractère qui correspond à ces données...

Si tu connais l'informatique , tu sais de quoi je parles , sinon je peux te faire un petit cours.....
Le mieux serait que tu trouves la doc de cette routine.

J'ai également réussi à trouvé la plupart des autres IDS du compteur, vitesse, compte tour, porte, phares ....
Je peux te les donner si tu es intéressé ...

AME 06/04/2014 10h53

Citation:

Envoyé par MecaTech (Message 190276)

5. Send Data
CAN.sendMsgBuf(INT8U id, INT8U ext, INT8U len, data_buf);
is a function to send data onto the bus. In which:
"id" represents where the data come from.
"ext" represents the status of the frame. '0' means standard frame. '1' means extended frame.
"len" represents the length of this frame.
"data_buf" is the content of this message.


J'ai pas tout compris comment ça marche ???
Je ne vois pas comment on specifie l'ID que l'on veut émettre ...

AME 06/04/2014 14h18

Citation:

Envoyé par MecaTech (Message 190362)
Trad:

5. envoyer des données
CAN.sendMsgBuf (INT8U id, INT8U ext, len INT8U, data_buf) ;
est une fonction pour envoyer des données sur le bus. Dans laquelle :
représente « id » d'où proviennent les données.
« ext » représente l'état du châssis. « 0 » signifie cadre standard. « 1 » signifie trame étendue.
« len » représente la longueur de ce cadre.
« data_buf » est le contenu de ce message.



Hoo! " AME ",
Tu as pas compris toi ??? :sifone:
A te lire tu as pour moi largement les compétences pour comprendre, vraiment, une lecture au calme et une bonne réflexion tu comprendras surement! :hail:
@ de suite mon ami. :yo:

En tout cas moi j'en suis sur.

Salut Méca, je ne parlais pas de la langue anglais, mais du contenu :27:

INT8U id représente l'id de l’émetteur de la demande,

Le CAN est un bus multi-master comme l'I2C. Donc plusieurs maîtres peuvent poser une question à un esclave. L'esclave doit savoir à qui répondre .
Donc la trame doit contenir :

- l'adresse de celui qui émet
- l'adresse de celui à qui on parle
- les données.

Dans le cas présent de cette routine , je ne vois pas comment on indique l'id à envoyer ??
A moins que tout est a intégré dans le data_buf....
Faudrai avoir un exemple ....
Faudrai se plonger dans le datasheet du MCP2515

Je n'utilise pas du tout l'arduino, et l’émission de trame CAN est grandement simplifié avec un ELM327. On a pas à ce soucier de toutes ces procedures.

Tyoris 06/04/2014 18h39

J'ai trouver comment mettre le code dans l'arduino, juste que celui ci je ne le veux pas une erreur de variable.

Désoler pour les âmes sensible mais voici le code que je vais mettre dans la bete pour essayer d'allumer mon compteur

Citation:

#include "mcp_can.h"
#include <SPI.h>

unsigned char stmp[8] = {10, 03, 20, 00, 00, 00, 50, 00};

void setup()
{
delay(5000); // delay to allow me time to open the serial monitor window to check all is well
Serial.begin(9600);
if(CAN.begin(CAN_500KBPS) ==CAN_OK) //check the Seeeduino CAN-BUS wiki for more details on code
{
Serial.print("can init ok!!\r\n");
for (int i = 0; i < 9; i = i + 1)
{
Serial.print(stmp[i], DEC);
}
}
else Serial.print("Can init fail!!\r\n");
}

void loop()
{
CAN.sendMsgBuf(0x35D, 0, 8, stmp);
delay(1000); //
}
On retrouve en rouge les informations importante pour le démarrage du compteur, je vous tiens informé une fois que mon Arduino sera moin capricieux.

AME 06/04/2014 19h49

Citation:

Envoyé par Tyoris (Message 190469)
CAN.sendMsgBuf(0x35D, 0, 8, stmp);.

C'est ce que j'ecrivais plus haut : UINT8 id , ca veut dire Usigned Int 8. Donc 8 bits, 1 seul octet .
Valeur entre 0x00 et 0xFF
L'id 35D est de 11 bits . Ca rentre pas dans un UINT8

Tyoris 08/04/2014 17h57

Banco...
Réussi avec l'arduino, le compteur s’éveille:

http://img11.hostingpics.net/pics/18...eurmegane2.jpg

je test plusieurs commande mais pas très convaincant pour le moment:

j'ai que ca :

Citation:

0x35D ; 90, 03, 00, 00, 00, 49, 50, 00 ==> BIP Tableau de bord
AME si tu en a d'autre je suis preneur pour les essayer.

AME 08/04/2014 19h15

Bravo :yo:

Démarrage.......................ID 625 : 80 00 00 00
Démarrage compteur..........ID 35D : 00 03 00 00 00 00 00 00
Vitesse............................ID 354 : XX 00 00 00 00 00 00 00
Compte tour.....................ID 181 : X0 00 00 00 00 00 00 00
Temperature moteur...........ID 551 : E0 00 00 00 00 00 00
Porte, phare.....................ID 60D : XX XX 00 00 40 00 00 00

Pour l'instant, j'ai pas trouvé l'ID de la quantité carburant.....

Tyoris 10/04/2014 17h46

Tes trames ne donnent rien sur mon compteur je ne sais pas si ils ont le même codage?

AME 10/04/2014 20h18

Tu peux toujours essayer ceux là , c'est ceux que j'ai espionné sur un scenic II , moteur démarré.
Toi ,c'est un megane, mais les UCH sont identiques il me semble. Donc les Ids doivent à peu près être les mêmes également.

http://imagesup.org/images12/1392380...arche-avec.bmp

Tyoris 11/04/2014 04h45

Ca marche merci, je vais tester ce soir pour voir ce que j'arrive a recuperer


Fuseau horaire GMT +1. Il est actuellement 19h12.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Version française #23 par l'association vBulletin francophone
Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Tlemcen-electronic © All right reserved