Le site dédié à l'Alfa Romeo 147
FAQFAQ RechercheRechercher MembresListe des Membres S'enregistrerS'enregistrer Mon ProfilProfil Messagerie privée (MP)Se connecter pour vérifier ses messages privés ConnexionConnexion


Exploitation réseau CAN et affichage
Aller à la page Précédente  1, 2, 3, 4, 5, 6, 7  Suivante
 
Poster un nouveau sujet   Répondre au sujet    ALFA 147 France Index du Forum -> Divers
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
leo



Inscrit le: 13 Nov 2008
Messages: 18

MessagePosté le: 01 Fév 2015 21:40    Sujet du message: Répondre en citant

Ouais effectivement, c'est avec un O ... bounce
Sinon pour répondre à la question, oui j'ai de sérieuses bases dans l'informatique, quelques connaissances en électronique, et c'est le genre de sujets qui m’intéressent quand je bricole...
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé




Arthur_035



Inscrit le: 11 Nov 2007
Messages: 182
Localisation: 35

MessagePosté le: 01 Fév 2015 22:29    Sujet du message: Répondre en citant

Bonjour,

Voici des éléments supplémentaires, pour les personnes intéressées. Désolé, cela n’a toujours pas la forme de tuto !

1/ Avaler le contenu du protocole des outils OBD, sur base d’ELM327 :
http://elmelectronics.com/obdic.html#ELM327v14b pour savoir comment dialoguer avec les modules OBD.

2/ A partir de là, on peut commencer à espionner ce qui est diffusé sur le bus (depuis un PC par exemple), via les commandes : ATZ, ATSPC, ATE0, ATAL, ATH1, ATMA.

3/ Pour l’analyse des trames, je me suis inspiré de :
http://www.canhack.de/viewtopic.php?t=28&highlight=can+stilo
Par exemple : dans la trame 180, le premier octet passe de 0 à 80 lorsqu’on appuie sur la pédale de freins…. Le deuxième octet indique le niveau de phares (lumières, codes, phares, anti-brouillards, avant, Arrière, …), ……

4/ Concernant l’affichage de l’autoradio sur le TDB, je n’ai pas trouvé de source d’inspiration sur le net, …
La séquence d’initialisation de l’autoradio : 525 00 2B 03, suivi de 540 00 A7 B2. (je n'ai pas la signification exacte des infos transmises). En espérant que cela ne soit pas dépendant de la voiture, …
Pour envoyer des informations sur le TDB, c’est la commande 565. Les 6 octets qui suivent codent 8 caractères, codés sur 6 bits (6x8=8x6 !), selon un code spécifique. http://www.canhack.de/viewtopic.php?t=52
« ALFA 147 » se code 31 74 4C A0 21 48.

5/ Pour lire les informations de l’ECU, c’est beaucoup plus simple.
La séquence d’initialisation est : ATZ, ATSP3.
Il faut intérroger l’ECU. 01 04 demande la charge du moteur. La réponse est du type 41 04 XX. http://en.wikipedia.org/wiki/OBD-II_PIDs

6/ Pour la partie électronique, j’ai utilisé un Arduino Nano (http://arduino.cc/en/Main/arduinoBoardNano). Il faut apprendre à le programmer (voir sur le site).
Les modules Bluetooth HC-05 doivent d’abord être configurés en mode Master, sur l’adresse bluetooth d’un des module OBD. L’opération, pas triviale, est décrite ici (http://www.instructables.com/id/Modify-The-HC-05-Bluetooth-Module-Defaults-Using-A/step2/The-Arduino-Code-for-HC-05-Command-Mode/)

A partir de là, il est donc possible de programmer le micro-controlleur (arduino nano) pour envoyer, via le module Bluetooth, des commandes au module OBD, … par exemple lire des informations reçues sur le bus CAN, et les faire afficher…

Bon courage à ceux qui veulent tenter l'expérience. Il faut un minimum de connaissances en électronique et programmation, ou s'y investir. Je répondrai aux questions.

PS1 : J’avais tenté de poster sur alfagtpassion également, …. Mais je n’ai pas réussi !!! (pb de droits ?).

PS2 : Si d’aucun a des lumières complémentaires sur l’utilisation du bus, je suis intéressé.

PS3 : J‘ai depuis, mis en œuvre un indicateur de changement de vitesse, basé sur les rapports de boite (rapport entre vitesse véhicule et rotation moteur), la courbe de puissance du moteur (modélisée dans le programme), et le niveau de charge actuel du moteur.
- J’ai considéré que la puissance réelle requise est la puissance max (au régime actuel) x la charge du moteur (Load).
- Il suffit alors de simuler le niveau de charge requis pour avoir la même puissance, mais à un régime moteur inférieur (celui qui permet d’avoir la même vitesse avec la vitesse supérieure enclenchée). Si c’est inférieur à 100% (j’ai positionné 90%), alors on peut passer la vitesse supérieure (le moteur tournera moins vite, mais avec une charge supérieure, donc un meilleur rendement). Je ne sais pas si le raisonnement est bon, .. mais çà marche pas mal !
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
leo



Inscrit le: 13 Nov 2008
Messages: 18

MessagePosté le: 01 Fév 2015 23:46    Sujet du message: Répondre en citant

Les passages des rapports c'est un excellent gadget je trouve !

En attendant que je m'équipe correctement, et que je lise la littérature associée, je me pose juste une question : pourquoi le BT plutôt que l'USB ?
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
willy



Inscrit le: 16 Déc 2008
Messages: 3238
Localisation: Pas loin de Perpignan

MessagePosté le: 02 Fév 2015 13:15    Sujet du message: Répondre en citant

Merci Arthur por toutes ces infos cool

Je vais étudier cela bounce
_________________
147 GTA bleu cosmo ,cuir noir ,18",Q2 ,intermédiaire et silencieux Ragazzon ,barres eibach,Bilstein B16,Tarox F2000,élargisseurs 16mm Ar,Pioneer AVIC F910
156 SW Ti 2.4 Jtd ,siège sport cuir gris ,barres Eibach
Mito 1.4 T-jet (ouais,on n'aime pas les Alfa à la maison!)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
julienmop



Inscrit le: 17 Nov 2014
Messages: 112

MessagePosté le: 03 Fév 2015 22:52    Sujet du message: Répondre en citant

Oui désolé Léo pour l'écorchage de nom, et merci Arthur pour les explication.

Moi comme je l'avais dit, je suis en étude d'info avec de la progra notamment c++.
A plusieurs, on doit avoir moyen de faire quelque chose je pense.
J'attend toujours mon Elm, une fois qu'il arrivera je commanderai le reste ;)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Arthur_035



Inscrit le: 11 Nov 2007
Messages: 182
Localisation: 35

MessagePosté le: 05 Fév 2015 22:46    Sujet du message: Répondre en citant

Pourquoi le BT plutot que usb ?
dans les + : modules plus petits, moins de fils à tirer. facilite la mise au point ; il faut de toute façon un convertisseur USB-TTL pour être utilisé par le microcontrolleur. Une alternative serait d'ouvrir les modules pour récupérer directement les signaux ttl, ..
Dans les - : çà fait des ondes, ... et probablement une latence de connexion au module qu'on n'aurait pas avec du filaire.

voilà !
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
grise147



Inscrit le: 14 Oct 2007
Messages: 8762
Localisation: TOULOUSE !

MessagePosté le: 07 Fév 2015 11:36    Sujet du message: Répondre en citant

Arthur_035 a écrit:
Désolé, cela n’a toujours pas la forme de tuto !


crying crying crying crying crying crying crying

j ai pas compris a 100%, maintenant, je suis a 40 % razz

mais j ai pas tout pigé

tu peux nous detailler les etapes, car franchement, ton travail merite d etre exposé razz au_revoir au_revoir au_revoir
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
grise147



Inscrit le: 14 Oct 2007
Messages: 8762
Localisation: TOULOUSE !

MessagePosté le: 07 Fév 2015 14:37    Sujet du message: Répondre en citant

Arthur_035 a écrit:
A partir de là, il est donc possible de programmer le micro-controlleur (arduino nano) pour envoyer, via le module Bluetooth, des commandes au module OBD, … par exemple lire des informations reçues sur le bus CAN, et les faire afficher…


j ai essayé de comprendre ton post

j ai a peu pres compris

si je comprends bien, tu enleve le module CAN du post afin d'injecter par le canal de la radio, la lecture du CAN par l'autre module sur une frequence precise ( par ex la pression turbo)

comment tu programme ton controlleur micro arduino afin d injecter l info ? oh
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
grise147



Inscrit le: 14 Oct 2007
Messages: 8762
Localisation: TOULOUSE !

MessagePosté le: 13 Fév 2015 01:52    Sujet du message: Répondre en citant

bah, j ai de l ail dans ma bouche ou quoi triste triste triste

tout le monde est parti, alors que c est interessant razz razz au_revoir au_revoir au_revoir
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
leo



Inscrit le: 13 Nov 2008
Messages: 18

MessagePosté le: 14 Fév 2015 21:02    Sujet du message: Répondre en citant

Le facteur a été gentil aujourd'hui ... Il manque encore le reste mais je vais pouvoir jouer un peu en attendant

Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
grise147



Inscrit le: 14 Oct 2007
Messages: 8762
Localisation: TOULOUSE !

MessagePosté le: 15 Fév 2015 10:08    Sujet du message: Répondre en citant

ouais, moi aussi, j ai commandé la meme chose !

n oublie pas de detailler pour les non-electroniciens de ce site

merci leo ! au_revoir
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Arthur_035



Inscrit le: 11 Nov 2007
Messages: 182
Localisation: 35

MessagePosté le: 15 Fév 2015 12:09    Sujet du message: Répondre en citant

Hello, de retour.

Commander aussi 1 ou 2 HC-05 pour le dialogue en bluetooth avec le module ODB bluetooth.

A noter qu'on peut commencer à découvrir le bus avec un module Odb (Bluetooth c'est plus partique) et un PC (bluetooth). Ue émulation de terminal et c'est parti (ATZ, ATSPC, ATMA, ...)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
leo



Inscrit le: 13 Nov 2008
Messages: 18

MessagePosté le: 15 Fév 2015 23:49    Sujet du message: Répondre en citant

Perso les 2 HC-05 et le module ODB multi-protocoles sont aussi en route ...
L'odb blutooth classique je l'ai déjà, il faut juste que je fasse une modification de la pin 16. Par contre, je vais faire une truc un peu plus pratique avec un petit inter pour pouvoir choisir la source d'alim (via prise OBD ou 12V APC) ...

J'ai pas eu le temps de jouer avec l'arduino (enfin sa copie) pour le moment (c'est un truc que je maitrise pas) mais plus je lis des trucs dessus, plus ça me plait).

J'ai encore du boulot, pour comprendre exactement comment les modules HC-05 se paramètrent parce que je me vois pour le moment assez mal piloter tout ça avec les seules fonctions setup et loop ....

Avec le "kit" complet. Le premier truc que j'aimerais faire, c'est déclencher la fermeture centralisée, dès que l'on roule plus de 10 secondes au dessus de 20Km ...
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Arthur_035



Inscrit le: 11 Nov 2007
Messages: 182
Localisation: 35

MessagePosté le: 21 Fév 2015 12:55    Sujet du message: Répondre en citant

Hello,
Bien relire le 1er article :
" La limitation est que s’agissant de commandes, a priori de diagnostic, on ne peut interagir quand la voiture roule.
o Je n’ai pas réussi à afficher les warnings en cas de freinage brutal par exemple.
".
D'où la fermeture automatique déclenchée sur le frein à main, et non sur la vitesse !
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
grise147



Inscrit le: 14 Oct 2007
Messages: 8762
Localisation: TOULOUSE !

MessagePosté le: 23 Fév 2015 13:41    Sujet du message: Répondre en citant

le HC-05 c est identique au HC-06 ?

comment avez vous pu faire l alim ? une resistance ? crazy2

merci a vous de vos reponses au_revoir au_revoir
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
leo



Inscrit le: 13 Nov 2008
Messages: 18

MessagePosté le: 23 Fév 2015 19:36    Sujet du message: Répondre en citant

Hello,

Oui, j'ai pas mal potassé le sujet ... Et je pense juste que j'ai juste imaginé une approche différente de la solution.

Pour faire simple, la lecture de la vitesse + le calcul de la durée, on est bien d'accord, c'est possible sans souci. De ma compréhension de la chose, c'est ni plus ni moins que ce qui est fait dans le "mécanisme du changement de rapport"... Les données lues sont juste un peu différentes.

Pour le déclenchement de la fermeture des portes, là par contre, il y a 2 méthodes : Celle concernant l'injection d'une trame CANBUS et comme tu le fait remarquer, en roulant ce n’est pas possible. Soit !
Une autre option est de simuler le déclenchement du bouton sur la console centrale. L'arduino étant principalement constitué d'E/S programmable, je ne vois pas trop en quoi, il ne serait pas possible d'envoyer une tension (12V au pire des cas), dans la bonne broche du bouton... Du point de vue, ECU, à mon avis impossible de faire la différence ....

Alors, comme je n'ai pas encore tout le matériel pour jouer, je peux me tromper, mais dans ce cas-là, je veux bien un peu plus d'explications...


Sinon, aujourd'hui au courrier


Sinon HC-05 et 06 sont identiques sauf que le 05 dispose de la fonction master .... Hors ça fait partie des besoins énoncés.
Pour l'alimentation, 5V direct à mon avis mais j'ai pas encore regardé....

PS: j'aurais pourtant juré avoir activer les notifications sur ce sujet ....
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Arthur_035



Inscrit le: 11 Nov 2007
Messages: 182
Localisation: 35

MessagePosté le: 24 Fév 2015 00:34    Sujet du message: Répondre en citant

Hello,
Bon, je n'ai plus rien à dire !

Prendre en effet HC-05 qui fait slave (comme le HC-06) et Master (la fonction qui nous intéresse, pour se connecte à l'OBD qui est slave).
Le +5V est à prendre sur le microcontrolleur.

En effet, on peut se brancher sur le bouton de fermeture, physiquement, pour rendre cette fonction.
- il faut gérer les aspects fermé/ouvert dans le microcontrolleur
- la volonté était de faire un montage très général, pour piloter un maximum de fonctions, donc en passant exclusivement via le bus.
Du coup, avec ta solution, ton pourrais aussi récupérér la commande des warnings, pour déclenchement en cas de forte décéllération. content
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
leo



Inscrit le: 13 Nov 2008
Messages: 18

MessagePosté le: 24 Fév 2015 01:15    Sujet du message: Répondre en citant

Bon, là ou tu marques un point c'est qu'effectivement être obligé de repiquer les E/S un peu partout ça rends le système un peu plus "bordélique" ...
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
leo



Inscrit le: 13 Nov 2008
Messages: 18

MessagePosté le: 24 Fév 2015 21:05    Sujet du message: Répondre en citant

Suis quasi prêt !!!

Réception des deux modules HC-05 et d'un autre arduino (le 1er ne fonctionne pas !!!)
Et une petite nappe pour faciliter les branchements


Test ultra rapide (led qui clignote ...) Yes !!!!
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
leo



Inscrit le: 13 Nov 2008
Messages: 18

MessagePosté le: 25 Fév 2015 12:01    Sujet du message: Répondre en citant

J'ai joué hier avec mes modules et j'adore !!!!

En moins d'une heure, montage et lecture comprise, j'avais le moyen de piloter l'allumage d'une LED à distance depuis mon PC en bluetooth et affichage de l'état dans un terminal série (texte) en retour... Bon ça sert à rien sauf à prendre en main l'ensemble.

Pour ceux qui se posent une question sur le branchement des HC-05 (et du reste en général), il n'y a rien de compliqué : le fils rouge, sur le bouton rouge etc...

L'alimentation de l'arduino est faite via le câble USB (5V). Pour alimenter les modules HC-05, il n'y a que 4 fils :
- le 5V, la masse qui sont communs aux 2 modules, il suffit de lire sur les circuits pour trouver les broches.
- le TX et le RX (envoi/réception) que l'on branche sur une sortie digitale individuelle (D1 à D13), donc 2 modules utilisent 4 broches D.

Le reste de l'intelligence est dans le programme à écrire, où il suffit de bien se rappeler quelles broches sont réliées et pour quel usage.
Code:
#include <SoftwareSerial.h>// import de la librairie serie

SoftwareSerial Genotronex(10, 11); // RX, TX
int ledpin=13; // la led en broche 13 qui va clignoter
int BluetoothData; // les données à transmettre

void setup() {
  Genotronex.begin(9600);
  Genotronex.println("Bluetooth actif, appuyez sur 0 ou 1 ..");
  pinMode(ledpin,OUTPUT);
}

void loop() {
   if (Genotronex.available()){
BluetoothData=Genotronex.read();
   if(BluetoothData=='1'){   // si on entre 1
   digitalWrite(ledpin,1);
   Genotronex.println("LED  D13 ON ! ");
   }
  if (BluetoothData=='0'){// si on entre 0
  digitalWrite(ledpin,0);
   Genotronex.println("LED  D13 Off ! ");
  }
}
delay(100);// pause pour attendre la suite (retour au début du code loop) ...
}
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    ALFA 147 France Index du Forum -> Divers Toutes les heures sont au format GMT + 2 Heures
Aller à la page Précédente  1, 2, 3, 4, 5, 6, 7  Suivante
Page 3 sur 7



 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum





ok