Pages: [1]   Go Down
Author Topic: USB vers Serial, que choisir?  (Read 1604 times)
0 Members and 1 Guest are viewing this topic.
Bretagne
Offline Offline
Edison Member
*
Karma: 16
Posts: 1398
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut la communauté!

Je cherche un cordon simple me permettant de recevoir un signal série @62500bds. Sparkfun semble en proposer un à 15€, mais aucune donnée technique, et je voudrais pas investir dans un truc qui ne marche pas nikel...

Je m'explique :

Comme vous le savez, j'ai acheté un paquebot en urgence car ma voiture m'avait lâchée. Ma nouvelle voiture a un mal de chien à démarrer à froid. N'ayant rien trouvé, je fouille le net et finalement, je branche mon arduino sur la prise DIAG du calculateur d'injection, et j'ai reçu une trame de données cadencée à 62 500 bauds. Après décodage de la trame, le calculateur m'informait que le moteur était à 40°, alors qu'il n'avait pas tourné depuis 2 jours et qu'il fait 10° dehors... J'ai mis un potard à la place de la sonde de température, et toujours en lisant les données sur mon arduino (via LCD), réglé le potar pour avoir 10°, et hop, mémère a démarré comme une fleur! en 10 minutes, j'ai trouvé la panne.

Quand j'ai dit ça aux copains, ben ils voudraient bien eux aussi pouvoir dépanner leurs vieilles caisses de la même façon! Comme le décodage de la trame est introuvable sur le net (renault est le seul à utiliser ce codage, bien sûr, donc ça ne sort pas de chez eux!), avec les copains, on a décidé de tous rechercher les infos qu'il manque, et mettre ça en commun, afin de créer notre propre soft de lecture diagnostique.

Je voudrais donc pouvoir utiliser un câble avec électronique intégrée qui me permettra de refiler la trame série du calculateur à un PC. Bien sûr, avec mon MEGA, je peux lire la trame sur Serial1 @62500, et la renvoyer via USB sous un débit plus conventionnel, mais 50€ pour une simple interface, c'est moyen...

Petite précision : je parle des premiers calculateurs d'injection ceux d'avant 1996. depuis 96, la norme ODBII a tout simplifié. ma norme à moi, c'est XR25...

sur le site fenixecu, un câble tout fait existe, avec les bonnes prises, mais à 100€, ils se touchent un peu là... je parie que je peux le faire pour une 10aine d'euros...

merci d'avance à vous!
Logged

Ales
Offline Offline
Faraday Member
**
Karma: 39
Posts: 3765
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Et encore 100€ c'est pas cher ... J'ai une 307 hdi SW  phase 1 et au cours de la production ils sont passés en OBDII, moi j'ai pas eu de chance ... Du coup j'ai fait quelques recherches mais j'ai assez vite déchanté, chaque protocole est différent et faire du reverse-engenering  dans ce domaine ça peut être le grosse m****e. Et je crois que t'as eu un sacré bol ! T'aurais un schéma ou quelque chose de ton branchement ? J'essaierai sur la mienne smiley-wink

PS : pour ceux qui ont des voitures récentes (elle a été rendu obligatoire à partir de 2002 sur les essence et 2004 sur les diesel, si elle date d'avant c'est possible qu'elle soit compatible, la norme existant bien avant) il y a des cordons tout prêt sur ebay pour moins de 10€ à relier direct au PC.
Logged


Bretagne
Offline Offline
Full Member
***
Karma: 2
Posts: 197
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,
ce que tu peux faire avec la Mega est aussi possible avec la Leonardo.
Elle a son USB en natif (Serial) et l'UART sur D0 D1 (Serial1)
C'est moins cher (se trouve à 16€ sans les headers chez Evola...mais en plus il y a les frais de port)
Logged

...ils embarquèrent la logique, coupèrent les cordons, alors, libérés de leurs chaînes, une immensité s'ouvrait devant eux...

Offline Offline
Faraday Member
**
Karma: 34
Posts: 5188
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Je voudrais donc pouvoir utiliser un câble avec électronique intégrée qui me permettra de refiler la trame série du calculateur à un PC. Bien sûr, avec mon MEGA, je peux lire la trame sur Serial1 @62500, et la renvoyer via USB sous un débit plus conventionnel, mais 50€ pour une simple interface, c'est moyen...

bonjour supercinci
ça ne repond pas au transfert direct en hard avec changement du taux de debit, mais des softs sur PC qui font du log d'UART et qui "acceptent" des debits "exotiques ça se trouve.
terminal bpp est assez complet
https://sites.google.com/site/terminalbpp/Terminal20111230.zip
Logged

Ales
Offline Offline
Faraday Member
**
Karma: 39
Posts: 3765
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Un simple adaptateur USB-Serie pourrait faire aussi bien l'affaire ...
Logged


Bretagne
Offline Offline
Edison Member
*
Karma: 16
Posts: 1398
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ta 307 serait en ODBI? (en gros, ODBII = norme européenne appliquée à tous les véhicules vendus en europe, ODBI = no man's land, chacun fait sa propre petite cuisine). C'est étonnant, car c'est quand même super récent comme moteur!

En fait, j'ai une prise "l'électrifil" à 12 points, prise que l'on retrouve sur toutes les ODBI renault, et peut-être aussi PSA qui utilise des claulateurs fenix 1, 3A, 3B (siemens). Sur cette prise, on a trois pins importantes : 2->GND, 6->+12V permanent, 9->Data. voilà comment j'ai géré la chose :

sachant qu'entre le 68HC11 du calculateur (et oui...) et la pin 9 DATA de la prise diag, on a sensiblement ça :



donc un signal série inversé sur collecteur ouvert, j'ai fait ça :



Ca réinverse le signal et le sort sur TTL, avec au choix un transistor (meilleur transmission) ou un optocoupleur (isolation, mais encore faut-il trouver un opto assez rapide pour tenir 35KHZ (c'est ça, non? ) et le sort en collecteur ouvert, compatible 5V, 3.3V, 1.8V... (enfin tout et n'importequoi, mais limité à 30V par le VCE de l'opto ou du transistor).

Dans le cas d'un module comme celui que j'ai fait en guise de proto, j'alimente la méga directement avec le +12 de la prise, autonomie!





Bonjour,
ce que tu peux faire avec la Mega est aussi possible avec la Leonardo.
Elle a son USB en natif (Serial) et l'UART sur D0 D1 (Serial1)
C'est moins cher (se trouve à 16€ sans les headers chez Evola...mais en plus il y a les frais de port)
Mais bien sûr! j'avais regardé sur le datasheet du µP de la leonardo, et n'avais vu qu'un seul UART!!! En fait, là, tu me fais penser que tant qu'à diagnostiquer, je pourrais alors utiliser une leonardo pour la convertion de débit, mais également rajouter des octets dans ma trame sur des mesures extérieures... La "valise XR25" (celle que renault a construit pour diagnostiquer mon vieux calculateur) possède justement des fonctions supplémentaires, telle ohm-mètre, volt-mètre... que je pourrais inclure à la leonardo... et là, on serait au top, non?

je vais aussi regarder la piste d'Artouste, elle semble contenir des idées de simplicité (en partant du principe qu'il existe encore des ports série RS232 sur nos PC, comme le mien, ouf...) Merci!

@ b@tto : justement, mais lequel puis-je prendre en étant sûr qu'il accepte de travailler en 62.5Kbds sans que window ne râle...?
Logged

Ales
Offline Offline
Faraday Member
**
Karma: 39
Posts: 3765
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

N'importe lequel à 3 euros smiley jtravaille avec à 115 200 bauds avec un basé sur un CP2102 sans problème, les autres basés sur FTDI marcheront forcement puisqu'il marche sur arduino smiley-wink

par contre gaffe aux tensions : c'est du TTL ici, pas du RS-232

En plus tu t'es cassé la tête semble-t-il : pourquoi ne pas avoir simplement utilisé une porte logique NO ?
« Last Edit: November 06, 2012, 08:40:40 am by B@tto » Logged


Bretagne
Offline Offline
Edison Member
*
Karma: 16
Posts: 1398
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

N'importe lequel à 3 euros smiley jtravaille avec à 115 200 bauds avec un basé sur un CP2102 sans problème, les autres basés sur FTDI marcheront forcement puisqu'il marche sur arduino smiley-wink

par contre gaffe aux tensions : c'est du TTL ici, pas du RS-232

En plus tu t'es cassé la tête semble-t-il : pourquoi ne pas avoir simplement utilisé une porte logique NO ?
Oui, mais 115200, c'est une valeur normalisée... j'ai pris le composant COMM de VB6 sur mon PC, avec "115200,N,8,1", il dit rien, mais si je lui mets "62500,N,8,1", il braille en disant "valeur de propriété incorrecte". Ca, c'est windows qui veut pas sortir des sentiers battus. psycho-rigide quoi. Et c'est sur ce point justement que je bloque, c'est de réussir à tourner en 65200 sans que vindoz vienne me prendre la tête.

Je n'ai pas pris de porte logique car ça prend plus de place qu'un opto (sur le CI, le transistor et l'opto sont superposés, car il faut mettre uniquement l'un des deux selon si on veut un isolement galva ou non).

Pour mes tensions, justement, pas de souci : tout est en collecteur ouvert... alors qu'avec une porte logique, il faut encore travailler sur l'adaptation des tensions... (quoiqu'il en existe avec sorties CO, mais un simple transistor NPN remplace bien avantageusement un CI de 14 pins dans ce cas (la vieille école...)).

Question subsidiaire... j'ai sorti un leonardo reçu il y a une semaine, mais quel genre de câble USB faut-il??? j'ai retourné toute la maison avec tout ce que j'avais en USB (APN, MP3, GPS...). j'avais 5 connecteurs différents sous la main, pas un seul ne va dessus... Pourquoi ils n'ont pas gardé le gros B bien solide du UNO que en plus ils avaient largement la place sur la carte???
« Last Edit: November 06, 2012, 11:16:19 am by Super_Cinci » Logged

Ales
Offline Offline
Faraday Member
**
Karma: 39
Posts: 3765
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

VB6 aussi xD quoique je dis ça mais en .NET j'ai pas testé ... Mais je doute que ça échoue, si tu veux que jte bricole un moniteur série à vitesse personnalisable jpeux te faire ça vite fait smiley-wink

Je comprends pas ton histoire d'adaptation d'impédance, logiquement tu dois avoir des signaux en 12V, un pont comme tu as fait en entrée et le tour est joué. Ca marche très bien sur du série car sur les picaxes c'est du série niveau TTL mais inversé (comme en RS-232), du coup j'utilise une paire de NO et ça marche nickel. En plus que des porte logique y'en a pas que des quad, y'a plus petit smiley-wink

Le connecteur est un micro USB comme sur tous les téléphones Android
Logged


Bretagne
Offline Offline
Edison Member
*
Karma: 16
Posts: 1398
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Désolé, je m'a gouré en écrivant... je parlais d'adaptation de tension (passer du +12 au +5), corrigé.

Beaucoup de ceux qui ont tenté un bidouillage de cette prise se sont contentés de mettre une pull-up entre la broche 9 et le +5. dans l'idée, ça marche, mais entre le VCEsat, la diode et la petite résistance, ça commence à faire une tension de niveau logique 0 assez élevée, donc sujette aux parasites, et le signal est toujours inversé.

Ma bidouille permet de ne considérer un niveau logique 1 que si la tension en sortie de la broche 9 est supérieure à 4V. je m'affranchis donc de la tension de diode et tout le bazar. Je me dis que ça marche comme ça, même si c'est une solution de vieux, elle a fait ses preuves durant des décennies au siècle (millénaire) dernier, alors pourquoi changer?

Je vais piquer le cordon du phone de ma fille alors! smiley-wink
Logged

Ales
Offline Offline
Faraday Member
**
Karma: 39
Posts: 3765
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Le boulier ça a fait fureur pendant des siècles aussi :p
Logged


Pages: [1]   Go Up
Jump to: