Recuperer de la donnée ttl sur le GPIO

Un lieu pour discuter des composants et de leur utilisation. Un passage obligé si vous devez interfacer votre Raspberry Pi avec le monde extérieur. On y trouvera aussi les cartes type commande de moteur pas à pas, continu, servo...

Modérateurs : Francois, smba38

Avatar du membre
FEFE_CMC
Messages : 22
Enregistré le : mar. 21 avr. 2015 10:34

Recuperer de la donnée ttl sur le GPIO

Message par FEFE_CMC » ven. 24 avr. 2015 09:58

Bonjour tout le monde

Le systeme d'acquisition que j'utilise me fourni une tension ttl 5V 500ns que je dois adapter a l'entree du GPIO

J'ai donc etudié un montage basique d'optocoupleur comme dans le schema .
Optocoupler utilisé CNY74-4H doc complete http://www.vishay.com/docs/83526/83526.pdf
montage.PNG
montage.PNG (12.96 Kio) Vu 6689 fois

Un montage comme ceux ci me permet de limiter le courant dans la LED afin de connaitre le courant traversant le phototransistor selon le modele d'optocoupleur utilisé. On choisit If 4 mA et Vf = 1.3 (documentation technique)

J'ai donc calcule R_LED=(5-Vf)/If = 925 ohms on prendra donc 1k


Et en ce qui concerne la deuxieme resistance lorsque l'on veut transmettre un niveau bas la valeur de R n'as pas d'importance primordiale car le phototransistor est bloqué.

Pour transmettre un niveau haut j'ai besoin de savoir si ma logique est correcte?
Un niveau haut sur la raspberry est definie par un signal de plus de 2V je prend donc une valeur superieur pour etre sure du bon fonctionnement du systeme on prend 3V
On a donc If = 4 mA et dans la doc on a la fonction de transfert de courant en PJ

je calcule donc R=(3.3.-3)/I

I= courant circulant dans le transistor( determiné grace au modele de l'optocoupleur)
Donc dans mon cas on aura a peu pres I = 10uA
trnsfert_courant_83526.png
trnsfert_courant_83526.png (24.01 Kio) Vu 6689 fois
Donc on a R = 75kohm ?


Cordialement

FEFE_CMC

Bon courage pour vos projets
"Si vous voulez trouver les secrets de l’univers, pensez en termes d’énergie, de fréquence, d’information et de vibration." Nikola Tesla

guillaume9344
Raspinaute
Messages : 629
Enregistré le : mar. 6 janv. 2015 19:44
Localisation : finistere

Re: Recuperer de la donnée ttl sur le GPIO

Message par guillaume9344 » ven. 24 avr. 2015 11:47

Bonjour,
Attention dans votre résonnement, cablé comme ci dessus , le montage induit une invertion du signal:
Led allumée, transistor passant, niveau logic sur le pi.
de plus pour vos calculs, pour un niveau haut sur le pi, il va faloir bloquer le transistor, donc pas de
courant dans la led.
pour un niveau bas , il va faloir saturer le transistor pour avoir un VCEsat de 0,3v env.
pour ca: allimenter la led (4ma).la saturation a lieu lorsque le courant réel Ic est plus petit que le
courant ic "demander"(ic=coefissiant d ampli ×ib).
Ici pour simplifier si on prend le courant de led = ic on est saturé. Je vou laisse refaire les calculs,
Si vous avez des problemes, je repondrai avec plaisir.
@+
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam

Avatar du membre
FEFE_CMC
Messages : 22
Enregistré le : mar. 21 avr. 2015 10:34

Re: Recuperer de la donnée ttl sur le GPIO

Message par FEFE_CMC » ven. 24 avr. 2015 16:19

Bonjour,

Tout d'abord merci pour votre reponse,

Je ne comprend pas pourquoi un montage comme celui-ci induit une inversion du signal ?

Avez vous ouvert la doc ? Car vous faites mention d'un coeficient d'ampli normalement nommé hfe dans les docs qui n'apparait nulle part....

Etes vous sure de votre methode de calcul ?

Mon systeme d'acquisition je le precise est bi-filaire donc il sera connecté entre les 2 pins entree et masse donc une il y aura du 5 v et l'autres fois du 0V sur la Pin du haut; l'autre sera la masse de mon circuit TTL, sommes nous d'accord ?

Je me doute que vous etes sure de votre methode mais j'aimerai plus d'explications si cela ne vous genes pas ?
"Si vous voulez trouver les secrets de l’univers, pensez en termes d’énergie, de fréquence, d’information et de vibration." Nikola Tesla

guillaume9344
Raspinaute
Messages : 629
Enregistré le : mar. 6 janv. 2015 19:44
Localisation : finistere

Re: Recuperer de la donnée ttl sur le GPIO

Message par guillaume9344 » ven. 24 avr. 2015 17:57

pour l inversion:
si vous avez un 5v (niveau haut ) sur la led de l 'opto, elle s'éclaire, le transistor devient passant , connecte le gpio de la pi à la masse , donc un niveau 0.
Et vise versa avec 0v sur la led, elle est éteinte, le transistor est bloqué, le 3.3v est dirigé par la résistance vers la pin du rpi.
un 5v donne du 0v , du 0v donne du 3.3v donc niveau 1 donne 0, niveau 0 donne 1 .......donc inversion.
de plus la courbe que vous utilisez donne le transfert entre le courant de la diode et celui de la base du transistor.
Pour le coefficient d’amplification , voire page 2 du data sheet à la fin de la page , rubrique "curent transfert ratio"
de plus êtes vous sur que votre signal fait 500ns , car toujours dans le datasheet , tous les temps de commutation sont exprimé en micro secondes .......minimum.
j 'espère être plus claire.
@+
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam

Avatar du membre
FEFE_CMC
Messages : 22
Enregistré le : mar. 21 avr. 2015 10:34

Re: Recuperer de la donnée ttl sur le GPIO

Message par FEFE_CMC » lun. 27 avr. 2015 11:32

Bonjour,

Desole de pas repondre le weekend mais je suis assez occupé .
Oui vous etes plus claires merci bcp car maintenant j'ai compris !

Effectivement mon opto n'est pas assez performant cela changerai quelque choses a ma methode de calcule si j'utilisai un ce composant la ? d
doc http://www.vishay.com/docs/82442/vow3120.pdf

Car je n'ai pas reussi a trouver d'opto assez performant avec un seul phototransistor. A priori je pense que cela ne change pas grands choses car les 2 phototransistor sont du meme type et qu'ils ont l'emetteur et le collecteur en commun avec un meme signal de commande ?
"Si vous voulez trouver les secrets de l’univers, pensez en termes d’énergie, de fréquence, d’information et de vibration." Nikola Tesla

guillaume9344
Raspinaute
Messages : 629
Enregistré le : mar. 6 janv. 2015 19:44
Localisation : finistere

Re: Recuperer de la donnée ttl sur le GPIO

Message par guillaume9344 » lun. 27 avr. 2015 13:26

Bonjour,
Electriquement le montage serat meme plus simple, il suffit de connecter la sortie de l opto
a l entree du pi.
mais je doute encore sur les temps de propagation, la doc donne 500ns max pour la montée et la descente
On est encore trop juste si votre signal se repete toutes les 500ns, parcontre si c est une impultion
de 500ns toutes les10microsecondes alors la ca peut peut etre foncgionner.
mais avez vous besoin obligatoirement besoin d une isolation galvanique (optocoupleur)
Car autrement, un simple transistor fera l affaire pour une adaptation de tension.
@+
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam

Avatar du membre
FEFE_CMC
Messages : 22
Enregistré le : mar. 21 avr. 2015 10:34

Re: Recuperer de la donnée ttl sur le GPIO

Message par FEFE_CMC » mar. 28 avr. 2015 08:23

Bonjour,

Mon capteur renvoie une impulsion TTL lié a un evenement, cet evenement se repete maximum toutes les 500 ns selon la données transmise, donc ce sera le seuil maximum de fonctionnement de mon systeme
Donc apres quelques recherche j'ai trouvé un autres composant qui fera l'affaire car les temps de monte et descente sont inferieur a 500ns
Doc: http://pdf.datasheetcatalog.net/datashe ... PI2502.pdf
Je parle bien sur du 6n136. Pour determiner la limite de fonctionnement vs prenez la valeur maximum des temps de monté et descente ?

Pour ce qui est de l'isolation galvanique le reste de la machine etant alimenté en 24V mais fourni par le secteur je prefererai mettre en place un optocoupleur pour proteger ma raspberry d'eventuel surtension du aux differences de potentiel des masses de ma machine et de ma carte.
"Si vous voulez trouver les secrets de l’univers, pensez en termes d’énergie, de fréquence, d’information et de vibration." Nikola Tesla

guillaume9344
Raspinaute
Messages : 629
Enregistré le : mar. 6 janv. 2015 19:44
Localisation : finistere

Re: Recuperer de la donnée ttl sur le GPIO

Message par guillaume9344 » mar. 28 avr. 2015 08:46

Pour des isolation rapides, un forum en parle:https://groups.google.com/forum/m/#!top ... lx7F9oDUZw
500ns ca fait quand meme 2Mhz ...... la programation a interet a etre tres optimisée.
@+
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam

Avatar du membre
FEFE_CMC
Messages : 22
Enregistré le : mar. 21 avr. 2015 10:34

Re: Recuperer de la donnée ttl sur le GPIO

Message par FEFE_CMC » mar. 28 avr. 2015 15:53

Oui mon systeme d'acquisition est geré par une interruption donc au moment ou le front est detecté la donnée est stoqué dans une variable puis le traitement se fait ensuite.

Je sais et c'est pour cela que j'ai du mal a trouver un composant qui convient a mon utilisation.

Alors que la carte que je veux remplacer par ma raspberry date de 88 -_- !

Je vais aller voir merci pour le tuyau !

@+
"Si vous voulez trouver les secrets de l’univers, pensez en termes d’énergie, de fréquence, d’information et de vibration." Nikola Tesla

Avatar du membre
FEFE_CMC
Messages : 22
Enregistré le : mar. 21 avr. 2015 10:34

Re: Recuperer de la donnée ttl sur le GPIO

Message par FEFE_CMC » mar. 28 avr. 2015 16:27

Merci pour ton aide j'ai finalement choisi un 6n137 mentionné dans le forum que tu m'as post; qui commute accroché en 35ns :D !

Fairchild semiconductors font de tres bonne doc je pense que je vais enfin me sortir de se guepier

Merci bcp je cloturerai le post une fois mon montage terminer au cas ou j'ai quelques question....

Puis je publierai surement un tuto bien detaillé

@ + pour de nouvelles aventures
"Si vous voulez trouver les secrets de l’univers, pensez en termes d’énergie, de fréquence, d’information et de vibration." Nikola Tesla

Répondre

Retourner vers « L'électronique et le Raspberry Pi »