Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

Aquisition d'un signal sur PC - traitement pour utiliser le PC comme chronomètre



  1. #1
    etienne007

    Question Aquisition d'un signal sur PC - traitement pour utiliser le PC comme chronomètre


    ------

    Bonjour,
    Je cherche à pouvoir réaliser une interface avec un PC permettant de suivre temporellement un montage.

    Il faudrait pouvoir chonometrer différents phénomèmes plus ou moins périodiques. Prenons l'exemple d'un pendule. (je compte après appliquer le montage sur des experiences plus complexes à étudier pour obtenir des séries de valeurs (temps) à exploiter par la suite)

    Je cherche donc à aquérir des signaux binaire: soit le capteur (photodiode) laisse passer le courant soit il le bloque.
    Je part sur des temps entre chaque impulsion de l'ordre de la seconde, et j'aimerai pouvoir avoir une précision de l'ordre de quelques milisecondes.

    le signal de départ sera donné par une photodiode ou autre composant du même type.

    Comment faire pour aquérir le signal sur un PC pour obtenir après les temps où le capteur recoit une impulsion brève (comme par exemple le passage d'un pendule devant la photodiode, ce qui permet de voir l'évolution de la fréquence du pendule par exemple).

    1ere idée: une banale carte d'aquisition de tension.
    Je ne sais pas si une carte d'aquisition de tension est une bonne idée, car après j'aurait une courbe avec des pics de tensions espacés, et il faudra traiter la courbe pour obtenir les temps de chaque pic.
    Mais pour pouvoir tirer quelque chose des valeurs obtenue, il me faut plusieurs centaines d'impulsions à mesurer, donc pas ce ne sera pas possible d'exploiter la courbe manuellement, et je ne connait pas de logiciel capable de le faire...

    2eme idée: aquérir dirementement un signal binaire. Je pense qu'il est facilement possible de "lisser" la tension donner par la photodiode pour crée une courbe de tension carré. (tensions nulle avec des impulsions régulierement)
    J'ai lu une explication sur les ports parallèles
    http://www.roboticus.org/index.php?mod=articles&id=9

    Il suffirait donc de relier la sortie du montage electronique (donnant une tension carrée avec des impulsions) sur une des broche (par exemple la 10?) d'une prise parallèle avec un transistor pour proteger la carte mère.

    Si j'ai bien compris après il serait possible avec l'ordinateur de connaitre la valeur donnée à l'entrée de la prise, qui oscirrait dans mon cas entre 2 chiffres compris entre 0 et 255. Ou plus simplement connaitre la valeur de l'état de la broche 10= /ACK

    Que pensez vous de la deuxième solution?
    Est ce vraiment réalisable? dans ce cas ce sera la partie informatique la plus dure puisque il faudra faire un programme capable de "rentrer en contact" avec le port parallèle et de créer une liste de temps ou il détecte une impulsion. Et qui créerait des listes (sous fichier txt?) de temps d'impulsions que je pourrais exporter vers excel par exemple.

    Mais est ce que les valeurs fournies seront précises? Qu'elle est la fréquences d'aquisition du port parallele? N'y aura t'il pas un retard aléatoire dans la mesure des impulsions? (ce qui rendrait mes valeures obtenues totalement fausses!)

    Merci d'avance pour vos conseils
    Etienne

    -----

  2. Publicité
  3. #2
    Tix

    Re : Aquisition d'un signal sur PC - traitement pour utiliser le PC comme chronomètre

    salut

    c'est tout à fait réalisable oui. et c'est meme tres faciel à réaliser .....

    quand au programme, une bonne dixaine de ligne de code te suffirons à mon avis, rien de compliqué là deda,s nonplus.

    (scrute le port //
    -si deyection d'un signal début du comptage
    ....)

    la précision dépendras surtout du truc que tu à à mesurer, disons une résolution d''une miliseconde je pense .... si tu compte faire ton programme sous dos.
    ++ Tix.

  4. #3
    etienne007

    Re : Aquisition d'un signal sur PC - traitement pour utiliser le PC comme chronomètre

    Merci pour votre réponse

    Une application sous dos?
    En quel language?

    Pour l'instant je serai partit sur du delphi, puisque le site de roboticus part la dessus.
    Mais peut être que faire une application sur du vrai DOS (en bootant sur une disquette dos et non du faux dos XP) tournera plus vite et donc apportera plus de précision.

    Est t'il compliqué de programmer des actions liées au temps? autrement dit est ce que l'ont peut acceder à la variable temps dans la programation?

    Je suis ouvert à toute vos prositions concernant le language optimal à utiliser, sachant qu'il faut aussi que je trouve un moyen d'exporter la listes de resultats qui pourra comporter plusieurs centaines de valeurs.

  5. #4
    nams2590

    Re : Aquisition d'un signal sur PC - traitement pour utiliser le PC comme chronomètre

    Salut Etienne007,

    Concernant l'utilisation du port parallèle, une méthode simple est de faire une carte avec des octuples bascules D. En effet, tu aura ainsi 8 bits directement relié a ton port parallèle. Pour ma part, j'ai utilisé 2 octuples bascules D en sortie c'est à dire pour alimenter de simples LED.

    Mais tu peux, en mettant ton octuple bascule D, dans le sens inverse du mien créer 8 entrées, voir 16, ou plus...

    J'ai programmé tout ça avec C++Builder qui est très semblable à Delphi.

    Je te laisse découvrir ce que j'ai fait ici :

    http://namselectro.free.fr/Pilotage_...ort%20BCB6.htm

    Ca peut peut être te donner des idées.

    A+
    namselectro

  6. A voir en vidéo sur Futura
  7. #5
    Tix

    Re : Aquisition d'un signal sur PC - traitement pour utiliser le PC comme chronomètre

    Nams, c'est des sorties que tu pilotais ca, non ?

    euh, etienne, Oui, sous vrais dos, pour ne pas avoir windows en "parasite"
    comme environnement de proig et pour que tu puisse bénéficier de possibilités facilement, je te conseil le C
    (borland turbo C est gratuit pour les étudiants, et super maniable)
    pour la gestion du temps, il me semble que tu peu avoir acces au time en milisecondes, tu retranche un premier enregistrement à un second correspondant respectivement à un front montan, puis descendant de ton signal, et tu obtiendra une approximation à la miliseconde pres de la durée de ton signal.

    ++

  8. #6
    etienne007

    Re : Aquisition d'un signal sur PC - traitement pour utiliser le PC comme chronomètre

    Mais je me suis demandé si les vielles versions de MSDOS (la 6.22 par exemple) permettent d'exploiter au maximum les performances d'un PC actuel et non celle d'un simple 486..

    Est ce que ces versions de MSDOS permettent d'exploiter la vitesse maximum du port parallèle? (et donc avoir une précision accrue dans la mesure du signal donnée)

    Sinon je pense effectuer les mesures avec un portable qui a un port parallèle ce qui est de plus en plus rare!
    (windows XP/ pentium II 233Mhz et 128Mo de RAM)

    Est ce que le faible processeur nuirait la précisons des mesures par rapport à un processeur de quelques Ghz?

  9. Publicité
  10. #7
    nams2590

    Re : Aquisition d'un signal sur PC - traitement pour utiliser le PC comme chronomètre

    C'est effectuvement des sorties, mais il peut très bien inverser le sens des octuples bascules D pour que ça devienne des entrées.
    namselectro

  11. #8
    etienne007

    Re : Aquisition d'un signal sur PC - traitement pour utiliser le PC comme chronomètre

    J'ai parlé du projet à un informaticien, et il m'a dit qu'avec la vitesse actuelle des PC, n'importe quel language peut convenir et qu'il auront tous la meme précision.
    De plus la fréquence de rafraississement du port parallèle serait de l'ordre de 8Mhz donc très petit devant la fréquence du processeur.

    Qu'en pensez vous?
    Sinon j'ai appris qu'il y a une bibliothèque time.h pour avoir des temps dans un programme, mais celle ci ne donne que les heures minutes seconde alors qu'il faut faut au moins de milisecondes...


    Qu'en pensez vous?
    Delphi (qui a l'air pas trop compliqué) ou du C sous dos?

    Merci pour vos réponses
    Etienne

  12. #9
    nams2590

    Re : Aquisition d'un signal sur PC - traitement pour utiliser le PC comme chronomètre

    Pour ma part, j'utilise souvent C++ Builder. C'est comme Delphi mais en C. J'ai fait des essais jusqu'à 1 ms. Après, je ne sais pas trop si tu peux aller plus bas.
    namselectro

  13. #10
    etienne007

    Re : Aquisition d'un signal sur PC - traitement pour utiliser le PC comme chronomètre

    Je vais donc me tourner vers le C, je pense que la DLL de roboticus pourra marcher avec du C, à moins qu'il existe une DLL plus performante pour le C qui permettrait d'avoir accès au port parallèle.

    Sinon comment avoir la variable temp dans le programme?
    la librairie time.h ne donne que les jours/heures/minutes/secondes...

  14. #11
    paulfjujo

    Re : Aquisition d'un signal sur PC - traitement pour utiliser le PC comme chronomètre

    bonjour,

    J'ai eu à acquerir des (morceaux) de sequences d'automatisme à relais
    pour en deduire le diagramme temporel exact (le plus precis possible)
    et pour cela , j'avais ecrit un bout de programme en C
    permettant l'acquisition de 8 info tor..

    voir le source Surveyor.c sur ma page Web
    rubrique:
    Enregistreur d'états T.O.R

    Sous DOS, L'interruption clock de base du PC est de 18,2 interrupt/sec,
    on peut faire des mesures sur un ensemble important de datas
    en prenant le chrono de depart et le chrono de fin

    RbT= (word *)MK_FP (0x0040,0x006c);
    ..
    xD=*(RbT)+*(RbT+2)*65535L;
    ... tache ...à chronometrer ..
    xF=*(RbT)+*(RbT+2)*65535L;
    xE=xF-xD;
    Ecart=(1000000.0*(long) xE)/18.2;

Discussions similaires

  1. Utiliser un serveur comme ordinateur
    Par Olivier_34 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 3
    Dernier message: 23/06/2007, 16h04
  2. traitement d'un signal d'un capteur d'image
    Par yom8 dans le forum Électronique
    Réponses: 2
    Dernier message: 08/06/2007, 17h32
  3. traitement d'un signal aléatoire
    Par totoscill dans le forum Électronique
    Réponses: 5
    Dernier message: 15/03/2007, 22h55
  4. traitement de signal a base d'un pic
    Par khalid dans le forum Électronique
    Réponses: 12
    Dernier message: 23/11/2005, 21h44
  5. traitement du signal sur FPGA
    Par edje dans le forum Technologies
    Réponses: 0
    Dernier message: 15/07/2004, 08h48
Découvrez nos comparatifs produits sur l'informatique et les technologies.