data logging ELM327

Atlantis

Junior
Inscrit
7 Juil. 2007
messages
21
Score de réaction
0
Localisation
Seine et Marne (77)
Véhicule
Prius 2
Possesseur d'une Prius 2 - 2005 (j'adore cette voiture..)
Oui je suis preneur aussi pour commander une bête dans le genre..
Le programmeur (de jeux vidéo) que je suis va s'amuser avec une bestiole pareil..je vais faire quelques recherches pour voir où se la procurer.

Au fait, On pourrait lancer une commande groupée non ?

A bientôt
 
Si jamais ca se fait, je suis partant aussi...
 
odbII scanner

bonjour,
je viens de commander le truc suivant:
http://www.obd-2.de/kabelec.html
c'est un ensemble matériel/logiciel
un bout est connecté à la prise diag (sous le volant) , l'autre à un ordinateur (portable de préférence :grin: ) via une liaison USB.
le logiciel que j'ai commandé est : ScanMasterELM
d'après ce que j'ai compris, on peut choisir les paramètres que l'on souhaite et générer une log en .csv
ils auraient déja mis la plupart des paramètres de la prius dans leur base de données et cette base serait enrichissable.

espère faire démo à la rochelle

à suivre...
 
bonjour,
je viens de commander le truc suivant:
http://www.obd-2.de/kabelec.html
c'est un ensemble matériel/logiciel
un bout est connecté à la prise diag (sous le volant) , l'autre à un ordinateur (portable de préférence :grin: ) via une liaison USB.
le logiciel que j'ai commandé est : ScanMasterELM
d'après ce que j'ai compris, on peut choisir les paramètres que l'on souhaite et générer une log en .csv
ils auraient déja mis la plupart des paramètres de la prius dans leur base de données et cette base serait enrichissable.

espère faire démo à la rochelle

à suivre...
et si tu veux tester sur une 2006, je te prête la mienne !
 
canmonitor

bonjour,
je viens de recevoir du japon le source du programme canmonitor.
ce programme est écrit en VB6, il permet de logger les infos et et de les visualiser.
ci joint l'écran de paramétrage:
1470b2e880a727.png


et l'écran de visu:
1470b2e87ea919.png



je devrais recevoir aujourd'hui ou demain mon canmonitor.
@ suivre

si il y a des graphistes parmi vous, il y a du boulôt.
pour les spécialistes en programmation de jeux vidéos, une petite reprogrammation en C++ est un beau challenge.
 
Bon, j'ai pas trouvé d'HUD donc je t'en ai fabriqué un :

151470fe4dec6831.jpg


Enfin, juste le concept (pour les couleurs etc hein ... ).

L'idée est de regrouper de façon graphique sur des espèces de cadrans toutes les infos qu'il y a sur tes images plus haut.

Codes couleurs : l'orange concerne le thermique, le vert l'électricité

Ainsi de gauche à droite :

1) enfoncement de la pédale de frein et de l'accélératuer (répresente le cas particulier quand on appuie sur les deux, en temps normal une seule flèche devrait suffire avec une variatin de couleur )

2) rotation du thermique (quart gauche haut) et les courents dans l'électrique (moitié gauche) avec en bleu de la température du thérmique (l'indication digitale préférable à une jauje à mon avis)

3) La conso instant avec une échelle logarithmique (honettement distinguer 66,53 l/100 km de 79,01 je m'en fous un peu, dans les deux cas ça fait beaucoup donc en gros le 1e quart c'est pour du hyper sobre le 2e pour la cible de l'hérétique le 3e à donf et le 4e quand on avance pas tout en moulinant pas mal) et la conso moyenne (l'indication digitale me semble préférable). On pourrait y ajouter le temps et le nb de km parcourus (là ou en dessous).

4) Etat de la batterie le quart droit haut réprésentant la plage normale, le reste "no good" + l'indication du voltage et de la témpé (en digital, petit rappel de % de charge en digital éventuellement aussi)

Comme ça un forme panoramique il y a de la place pour ajouter les histogrames de la conso par tranche de temps.

Voilà, "a pou ka fôcon" trouver le programmeur fou.

:-D
 
Bon, j'ai pas trouvé d'HUD donc je t'en ai fabriqué un ....
Enfin, juste le concept (pour les couleurs etc hein ...
Voilà, "a pou ka fôcon" trouver le programmeur fou.:-D
salut l'artiste,
peaufine encore ton IHM
j'imagine par exemple le nomographe.
il y a déja un programmeur (fou?) sur le truc (non , ce n'est pas moi 8), mais il était à la rochelle).
on pourra même monter un groupe de travail si les graphistes s'en mêlent...
 
Le nomoquoi ?
Ouais, ça mérite bien un petit groupe. Plus on est de fous ... moins y a de riz :-D
 
scanmonitor ELM327

:-D ça y est cela commence à donner signe de vie:

j'ai reçu cette nuit un mail du canada qui m'a débloqué .
il ne reste plus qu' à personnaliser l'IHM.
un avantage de ce programme c'est de générer un fichier des données collectées en .CSV avec en première colonne un time_stamp précis à la seconde.
la collecte de données varie entre 1 & 3 secondes.
scanmonitor.PNG
 
J'ai hâte de voir ça !

Comme pour le Can View, ce scanmonitor fournit des échantillons réguliers. Même si ce dernier a un timestamp précis contrairement au Can View qui ne fournit pas la référence "temps", les relevés restent des échantillons qui ne pourront être analysés que statistiquement.

Plus les valeurs mesurées varient rapidement dans le temps, moins la mesure est précise.

Ainsi le niveau de charge en dizième de pourcents et la température de la batterie en °C varient lentement c'est-à-dire qu'il faut plusieurs secondes pour que la valeur soit modifiée. Tous les échantillons recueillis permettent de suivre exactement l'évolution de ces paramètres.

Par contre l'intensité du courant varie en continu de façon importante ; c'est également vrai pour la vitesse du moteur thermique et pour celle du véhicule. Par exemple dans ce dernier cas, il faut environ 11 secondes pour passer de 0 à 100 km/h. Les échantillons fourniront seulement 11 mesures ; si l'accélération est constante, on peut interpoller pour obtenir les résultats intermédiaires. Pour l'intensité du courant ou la vitesse du moteur, l'interpollation est moins évidente.
 
paramétrage elm327

suite à gros pb avec le pgm de tim
réponse du support de elm:
Citation:
Bonjour & Hello:
I think that I can help...
By default, the ELM327 enables formatting of received data for you. It assumes that all data follows the ISO 15765-4 format with 8 data bytes, etc. Your received data does not have 8 data bytes, so is in error.
I believe that if you turn off the automatic formatting with AT CAF0, your problem will be solved.

Regards,

Jim

ps. If you want the automatic formatting to always be off, you will need to say: AT PP 24 SV FF, then AT PP 24 ON.
j'ai rendu le paramètre permanent et tout marche
par ailleurs je marche à une vitesse de 115200bps sans pb
 
état d'avancement de yann (tungsten)
Je viens de recevoir mon ELMSCAN5 et je peux enfin apprécier le travail effectué par Tim en VB6 !

Le principe d'avoir les données en Temps réel comme suggéré dans le forum ne me semble pas prioritaire (les données sont plus intéressantes en analyse post-conduite).

par contre, mes pistes de developpement sont :

-Migration de l'application en VB.NET pour profiter de certains modules d'affichage graphique plus sympa (compte tour, voltmètre, amperemetre, et nomogramme)

-Ajout de la position GPS (à l'aide d'un GPS Bluetooth ou usb) dans le fichier CSV

-Conversion vers un fichier KLM (Google Earth) pour avoir une vue du parcours et des données en même temps (si le gps est actif bien entendu)
ma réponse:
priorité au logging me parait également normal, on ne peut pas conduire et regarder des beaux écrans.

de mon coté je pense à enregistrer la conso instantanée exprimée en l/h et ensuite par intégration la transformer en conso par tranche de temps ou par tranche de kms.

coté visuel , je pense qu'un graphe temporel (ou par distance) des puissances en KW de et vers la batterie serait parlant. kw car l'ampèrage n'est pas suffisant comme info car la tension varie considérablement : de 165 à 260v

l'idée d'intégrer les coordonnées fournies par un gps est trés sympa; j'ai au bureau une antenne magnétique qui se termine par une prise USB , je vais tenter ce WE de voir si je peux en tirer qqc en VB6, c'est bien sur du NMEA et les exemples ne doivent pas manquer; ce qui serait top c'est d'avoir l'altitude....
j'y pense, j'ai également un inforad et je sais qu'il peut se connecter à un logiciel de nav....

sinon il est trés facile d'associer les données collectées par ce pgm avec celles fournies par un inforad; il suffit que le PC soit à l'heure juste.


en ce qui concerne la génération de kml pour googlemap & googleearth , il n'y a aucun pb :
si on est fainéant on utilise GPSBABEL;
si on est maso, on génère soit même son KML, c'est relativement aisé (je fais cela couramment pour mon boulot).
 
J'ai recuperé les sources d'une (vieille) application en VB, GPSBoy, qui permet de faire une analyse simple de chaine de caractères NMEA.

j'ai commencé un premier test avec l'application Prius Can Monitor. Les données sont là, mais le rafraichissement est à revoir...donc je continue les investigations (et le developpement).

A premiere vue, les sources de Priusfan sont plus "re-utilisables" que les miennes concernant le GPS...Chouette :)

Objectif : Le fichier CSV avec les coordonnées GPS en +

C'est bien parti pour : voici la copie d'ecran avec le Module GPS ajouté...

gpspriuscanyx8.jpg
 
:jap: :jap::jap::jap::jap:bravo

comment as tu procédé?
j'avais peur de coller ce module dans le machin existant de crainte que les timers ralentissent tout.

peux tu m'envoyer une version beta?
mel to: priusfan@priusfan.info 8)
 
des news:
mickey mouse est intéressé par ce projet; il a donc accès à cette section.
il a besoin ,dans un premier temps, de récupérer un VB6 pour se rafraichir.

bien reçu beta de tungsten, je vais tester pendant le trés long WE qui s'annonce.

une piste:
créer des "serveurs" d'info :
1 pour le CAN
1 pour le GPS

ils fourniraient des infos validées, structurées et digestes à un client chargé de la couche calcul , graphique , logging.

l'avantage ,à mon sens, est d'avoir des processus relativement indépendants et éventuellement d'utiliser d'autres sources d'info comme le canview original par exemple..


est ce que le DDE serait suffisamment stable?
passer par winsock?
autres idées?
 
parser NMEA

il faut le modifier sérieusement :
il ne digère pas ce qui vient d'un inforad V4.

à première vue rien de trés méchant :
diff entre V3 & V4
des champs qui étaient à 0 sont maintenant vides , càd on récupère des ,,,,, au lieu de 0.0,0,0,0

je m'en charge.

je vais tout simplement utiliser la fonction split pour ventiler dans un tableau
je vais peut-etre tenter la même approche pour le parser du CAN car c'est beaucoup plus court et élégant que les promenades en boucles
 
demandez le programme !

J'aimerais bien un petit résumé des chapitres précédents !!
- quels sont les membres de ce groupe
- qui à déjà du matériel
- quels sont les développements prévus et en cours ....
 
- quels sont les membres de ce groupe :
les membres actifs sont aujourd'hui tungsten et priusfan , nous espérons un ou des graphistes.

- qui à déjà du matériel :
les membres actifs et également pont vert qui a un canview.
- quels sont les développements prévus et en cours :
le but est de logger et analyser les données récoltées sur le canbus (ainsi que les coordonnées GPS).
 
Parser NMEA

je l'ai réécrit (et un peu testé); c'est beaucoup plus simple que l'original.
la doc pour déchiffrer les trames NMEA est celle-là



j'envisage la même méthode pour l'autre bus.

Code:
Public Sub ChercherInfoGPS()
    Dim TmpChain1 As String, TmpChain2 As String, Idmsg As String, LongChaine As String, i As Integer, nm As Integer
    Dim tab1() As String
    Dim tab2() As String
    Dim filenumber, nextline, nbp, lnc
    On Error Resume Next
    RecupInfoNum = RecupInfoNum + 1
'*****************************************************************************************************
'* neutralisation temporaire pour test
    'LabelNbrRecup.Caption = CStr(RecupInfoNum)
    'DoEvents
    'MainForm.MSCommCAN(2).InputLen = 0
    'TmpChain1 = MainForm.MSCommCAN(2).Input
'*****************************************************************************************************
' pour test, on lui fait bouffer des trames NMEA
filenumber = FreeFile
Open "c:\zozo.txt" For Input As #filenumber
Do Until EOF(filenumber)
   Line Input #filenumber, nextline
   TmpChain1 = TmpChain1 + nextline + Chr(13) + Chr(10)
Loop
Close #filenumber
'*****************************************************************************************************

   tab1() = Split(TmpChain1, vbCrLf, -1)    ' on eclate le buffer en lignes
    For nm = 1 To UBound(tab1())            ' on traite chaque ligne
        TmpChain2 = tab1(nm)                'les composants de chaque ligne sont éclatés en tableau
        tab2() = Split(TmpChain2, ",", -1)
        nbp = UBound(tab2())
        If InStr(tab2(nbp), "*") > 1 Then   'on  traite seulement les messages complets
        Idmsg = tab2(0)                     ' on identifie le type de message
        Select Case Idmsg
                
            Case "$GPGSA"    ' Nombres de satellites
                SatUsed = 0
                For i = 3 To 13
                    GPSSatUsed = Val(tab2(i))
                    If Val(GPSSatUsed) > 1 Then
                        SatUsed = SatUsed + 1
                    End If
                Next i
' LabelNbrSatU.Caption = SatUsed

        ' Qualité de reception
                GPSSatView = Val(tab2(2))
                If Val(GPSSatView) > 0 Then
                    MainForm.lblGPS(0).Caption = SatUsed & " Sat"
                    Select Case Val(GPSSatView)
                        Case 2
                        MainForm.lblGPS(0).ForeColor = &H80FF& ' Orange &H80FF&
                        Case 3
                        MainForm.lblGPS(0).ForeColor = &HFF00& ' Vert &HFF00&
                        Case Else
                        MainForm.lblGPS(0).ForeColor = &HFF& ' Rouge &HFF&
                    End Select
                End If

        Case "$GPRMC"  ' Vitesse
                MainForm.lblGPS(4).Caption = ""
                GPSSpeed = Val(tab2(7)) * 1.852
        ' GPSSpeed = GPRSString("GPRMC", 7, 5) * 1.852
                If Val(GPSSpeed) > 0 Then
                    MainForm.lblGPS(4).Caption = "Vitesse : " & GPSSpeed & " km/h"
                End If

        ' Latitude
                MainForm.lblGPS(1).Caption = ""
                PreviousGPSLat = GPSLat
                GPSLat = tab2(3)
                lnc = Len(GPSLat)
                GPSLat = Left(GPSLat, 2) + "°" + Right(GPSLat, lnc - 2)
                MainForm.lblGPS(1).Caption = "Lat : " & GPSLat

        ' Longitude
                MainForm.lblGPS(2).Caption = ""
                PreviousGPSLong = GPSLong
                GPSLong = tab2(5)
                lnc = Len(GPSLong)
                GPSLong = Left(GPSLong, 2) + "°" + Right(GPSLong, lnc - 2)
                MainForm.lblGPS(2).Caption = "Long : " & GPSLong
        ' Direction
                MainForm.lblGPS(5).Caption = ""
                GPSDirection = tab2(8)
                MainForm.lblGPS(5).Caption = "Direction : " & GPSDirection + "°"
        'Dim distance As Double
        'distance = calcdistance(CDbl(PreviousGPSLat), CDbl(PreviousGPSLong), CDbl(GPSLat), CDbl(GPSLong))
               
        Case "$GPGGA"  '  Altitude
                MainForm.lblGPS(3).Caption = ""
                GPSAltitude = tab2(9)
                MainForm.lblGPS(3).Caption = "Alt :" & GPSAltitude & " m"
        End Select
        End If
    Next nm

End Sub
 
commande canview

Si le fonctionnement du dernier canview répond bien à vos attentes, quel est la meilleure démarche pour en commander un moi-même ?
 
nomogram

En ce qui concerne l'affichage en temps réel, je crois que le "fameux" nomogramme est très parlant. Et dans le cadre des visualisations en 2D, le diagramme des consommations spécifiques aussi, en s'inspirant de la phot ci-jointe.
 
Je vais rajouter le calcul de la distance, la conversion Degrés Minutes en Degrés decimal (plus facile pour l'export KML)

La version que j'ai envoyé à Priusfan avait des petits bugs sur l'export CSV (pb de ; et de ,)

J'ai fait un test hier durant le trajet (Madame conduisait...). mais je n'arrive pas à le uploader sur le forum...:cry:
 
L'interface avance...
je me suis servis de GE-Graph pour representer le CSV (et particulierement le RPM du ICE) sur Google Earth
et voici le résultat :

Plus les barres sont claires, plus le regime moteur est faible...
par contre, l'absence de barre indique l'utilisation du mode EV (forcé ou non)
statpriuswo2.jpg




A travailler, mais c'est un bon début je pense !
 
C'est joli mais pas très facile à lire au premier abord. Je suis d'accord que c'est un bon début.

A quelle durée de mesure et à quelle fréquence correspond ce relevé ?
 
Pages vues depuis le 20 Oct 2005: 309,288,232
Retour
Haut Bas