Pages: 1 [2] 3 4 ... 6   Go Down
Author Topic: [RESOLU] Relais 5V pour signal servo (ex-Recopier l'état d'un PIN en temps réel)  (Read 8634 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

ne pas confondre temporel et analogique... l'analogique se réfère au niveau du signal en volts, et c'est tout. le temporel est le temps en secondes entre deux "états" précis. (ne me laissez pas seul à le dire, ce serait une insulte à tous les profs d'électronique qui m'ont eu en cours...) un servo a besoin d'une impulsion logique, c'est tout.

je prends l'exemple d'une liaison série : c'est du numérique (des 1 et des 0), mais le temps entre un 1 et un 0 est super important! Pourtant, on utilise toujours des circuits logiques pour faire circuler un signal série...

Une porte logique n'a rien à péter de la valeur temporelle, elle ne considère que l'amplitude su signal : 1 ou 0. Dans un circuit de commutation analogique, ton signal de servo aura des slew-rate trop importants, et les servos sont très sensibles à la forme du signal.

Il serait intéressant que quelqu'un puisse nous fournir des exemples concrets (je n'ai que ma tête pour cela), comme le spectre d'un train d'impulsions servo par exemple, car n'étant pas symétrique, ce signal a des harmoniques de fou! (donc un spectre fréquentiel très large), qu'une porte logique ne déformera pas, mais une "porte" analogique va lisser grave, modifiant ainsi le "timing analogique" dont tu parles...

Bref, j'ai donné mon avis, si tu veux rester dans l'analogique, tu reviendras tôt ou tard car ta commande servo sera bien trop déformée!

je serais aussi surpris qu'un mux analo soit moins cher qu'un mux logique... (et je le répète : avec ma solution, tu aiguilles autant de signaux logiques que tu veux avec seulement un bit...) ne perds pas ton temps avec un registre à décalage...
Logged

IDF/SO
Offline Offline
Edison Member
*
Karma: 41
Posts: 2274
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Pour compléter ce que dit SuperCinci, et abonder dans son sens, j'ajouterais que  traiter le signal "numériquement" est fondamentalement différent que de le traiter "analogiquement".

Un traitement analogique "respecte du mieux qu'il peut" le spectre du signal (a sa capacité en bande passante près, a sa distortion harmonique prés et a son facteur de bruit prés).
Il est compréhensible de voir que quand on cascade 10 amplis de 10 Mhz de bande passante, la bande passante résultante sera à peine de quelques Mhz.

Un traitement numérique "détecte un niveau logique à partir de la comparaison d'une tension" et décide s'il a affaire à un "0" ou un "1" logique.
Les étages de sortie des portes ne sont pas linéaires et ne possèdent que deux états stables : 0V ou Vcc.
La commutation d'un état à l'autre se fait très rapidement donnant un signal carré.
Il y a donc "régénèration  du signal". C'est là la différence fondamentale.



Distortion harmonique :
Quand un circuit n'est pas parfaitement linéaire, c'est à dire quand la sortie n'est l'exacte recopie de l'entrée au gain prés, il va créer de lui même des fréquences du double de celles qu'il reçoit en entrée.
L'explication se trouve dans la formule de trigonométrie sin2(2*PI*f)= 1/2(1+cos(2*PI*2f)

Facteur de bruit :
Un semiconducteur émet toujours des tensions de bruit  (mouvement aléatoire des électrons, agitation d'origine thermique etc). C'est particulièrement gênant quand le niveau du signal a amplifier est trés faible comme celui qui sort d'un microphone par exemple.
Logged

Paris
Offline Offline
Sr. Member
****
Karma: 2
Posts: 368
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho lala je regrette un peu de ne pouvoir vous suivre dans toutes vos reflexions... smiley-roll-sweat
En tout cas je vous remercie pour votre acharnement  smiley-wink
 
Ce que je comprends, en vulgarisant :
A partir du moment ou je rentre dans une "puce", mon signal peut être déformé.
Je ne peux donc pas esperer un signal "linéaire", y compris dans le temps, ce que je croyais pouvoir espérer, comme d'un "relais" ou d'un "commutateur" dont le travail ne serait QUE de mettre en contact une entrée et une sortie, sans aucune altération du signal en ni dans la forme ni dans le temps.

A partir de là, vous me dite que le mux numérique ne sera pas plus déformant ou temporisant que le mux analogique... ça va comme ça ?  smiley-roll-blue

Sev

EDIT :
...et je le répète : avec ma solution, tu aiguilles autant de signaux logiques que tu veux avec seulement un bit...
Oui mais je ne peux pas commander les "aiguillages" indépendamment les uns des autres si ?
« Last Edit: June 28, 2012, 11:14:12 am by UniseV » Logged

EN: Libraries are my Gurus, they make me believe anything they want !
FR: Les librairies sont mes gourous, elles me font croire ce qu'elles veulent !

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

Je me (re)lance...

je t'ai fait un graph pour t'expliquer comment ton signal va être transformé en passant par un module analogique :



en haut et en rouge : le signal d'origine, du bon vrai logique, qui passe à 1 à l'instant t0 (et t0') et repasse à 0 pour t1 (et t1'). il n'a rien d'analogique, le changement d'état est tellement rapide qu'il devient immédiat.

au milieu, la sortie de ton circuit analogique : l'analogique ne peut pas recopier un brutal changement de valeur de l'entrée, car son slew-rate est limité à qq dizaines voire qq centaines de µV/s selon la qualité et le prix (pente de la courbe bleue : il ne peut pas monter plus vite que ça). la ligne violette est la référence pour laquelle le circuit qui reçoit le signal (servo par exemple) va considérer si c'est un 1 ou un 0 (la courbe bleue au dessus : c'est un 1, en dessous, c'est un 0.

En bas, ce que va interpréter le servo. comme ton circuit analogique n'a pas les mêmes slew-rate en montée et en descente, la courbe marron n'est pas la même que la rouge d'origine, et surtout, t3-t2 n'est pas du tout égal à t1-t0!!! manque de bol, c'est justement la durée de l'impulsion (t3-t2) qui détermine la position du servo. Je te laisse deviner les dégâts...

Bref, si on peut se dire que t2'-t2 = t0'-t0 (temps entre deux impulsions), la durée de l'impulsion n'est pas conservée. Comme quoi, l'analogique ne conserve pas les valeurs temporelles!

Dans mon exemple, j'ai mis Vref au milieu, il faut savoir que ce n'est pas toujours le cas. imagine si Vref = 0.3 x Vcc (un tiers), alors descends la ligne violette, et imagine que l'impulsion obtenue pourrait durer beaucoup plus que celle de départ...

Un circuit logique a un temps de réponse de l'ordre de la nS (nano-seconde, 1 ns = 0.001µs), soit 10 000 à 50 000 fois plus rapide que le circuit analogique... là, ce temps de réponse devient négligeable devant la précision du servo.

il existe tout un tas de circuits répondant à tout un tas de besoins... il faut se fixer un besoin, et si le circuit n'existe pas, alors il faut modifier le besoin. C'est l'avantage de la bidouille! Dans l'industrie, on le fait fabriquer, ce circuit.

Bon courage!
« Last Edit: June 28, 2012, 12:12:36 pm by Super_Cinci » Logged

Paris
Offline Offline
Sr. Member
****
Karma: 2
Posts: 368
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Heuuu,

J'ai une question bête... les composants de mon kit snootlab sont un mystère pour moi... aucun d'eux ne pourrait-il servir de "relais" ?

Transistor de puissance x3 (Ref : TIP102)
Transistor d'usage général x3 (Ref : P2N2222AG)
Huit rangées de montage Darlington x1 (Ref : ULN2803AN)
Registre à décalage x1 (Ref : M74HC595)
Amplificateur Opérationnel x1 (Ref : LM358N)

Je partirai bien sur ce genre de montage (proposé par skywodd), avec mes P2N2222AG :
http://www.electronics-tutorials.ws/transistor/tran_7.html (Complementary MOSFET Motor Controller)

Mais le schéma montre des "Depletion-mode MOSFET"...  smiley-sad

Merci
« Last Edit: July 17, 2012, 01:31:48 pm by UniseV » Logged

EN: Libraries are my Gurus, they make me believe anything they want !
FR: Les librairies sont mes gourous, elles me font croire ce qu'elles veulent !

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai une question bête... les composants de mon kit snootlab sont un mystère pour moi... aucun d'eux ne pourrait-il servir de "relais" ?
Avec un TIP120 tu peut controler des charges de faible puissance si tu veut :
http://www.instructables.com/id/Use-Arduino-with-TIP120-transistor-to-control-moto/
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Near Paris in France
Offline Offline
Full Member
***
Karma: 0
Posts: 193
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset



JLB
Logged

Paris
Offline Offline
Sr. Member
****
Karma: 2
Posts: 368
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci JLB, mais comme tu peux voir, le sujet à vécu et le titre n'est plus d'actualité, ce qui n'enlève rien à ton humour   smiley-razz.

Bonjour SuperCinci

Alors va pour un 74HC157, quadruple multiplexeur numérique 2 vers 1 qui, je comprend tout à fait, représente la réponse 'normale' au problème posé par UniseV  !
http://etronics.free.fr/dossiers/num/num20/multiple.htm

Bon je me rends à l'évidence que c'est ce qu'il me faut... en revanche, le problème avec celui-ci, c'est qu'il bascule les 4 voies en même temps... dans mon cas, je n'ai besoin que de 4 entrées et 2 sorties (la moitié) et j'aimerai pouvoir les basculer "indépendamment".

al1fch, comment as-tu trouvé celui-ci ? Utilises-tu une base de données, un site web ?

Sev
« Last Edit: July 18, 2012, 06:40:30 am by UniseV » Logged

EN: Libraries are my Gurus, they make me believe anything they want !
FR: Les librairies sont mes gourous, elles me font croire ce qu'elles veulent !

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

al1fch, comment as-tu trouvé celui-ci ? Utilises-tu une base de données, un site web ?
Si tu cherche des références de composants standard CD40xx ou 74HCxx tu as wikipedia :
http://fr.wikipedia.org/wiki/Liste_des_circuits_intégrés_de_la_série_7400
http://fr.wikipedia.org/wiki/Liste_des_circuits_intégrés_de_la_série_4000

Ou le on-ne peut plus connu livre "memotech électronique", disponible dans toute bonne librairie smiley-mr-green
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Paris
Offline Offline
Sr. Member
****
Karma: 2
Posts: 368
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci skywodd,

Pas de 74157 sur wikipedia, al1fch doit avoir le "memotech électronique"...  smiley-wink

Sev
Logged

EN: Libraries are my Gurus, they make me believe anything they want !
FR: Les librairies sont mes gourous, elles me font croire ce qu'elles veulent !

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

Merci skywodd,

Pas de 74157 sur wikipedia, al1fch doit avoir le "memotech électronique"...  smiley-wink

Sev
un bon debut de recherche de datasheet = alldatasheet.com
et pour le 74HC157
http://www.alldatasheet.com/view.jsp?Searchword=74HC157
Logged

IDF/SO
Offline Offline
Edison Member
*
Karma: 41
Posts: 2274
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

alldatasheet m'agace profondément je préfère de loin :
http://www.datasheetcatalog.com/
Qui offre "clairement" plusieurs versions des datasheets y compris les anciennes, moins belles, mais beaucoup plus fournies en exemples d'applications.
Logged

Near Paris in France
Offline Offline
Full Member
***
Karma: 0
Posts: 193
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

D'accord avec 68tjs mais au départ ton problème est un problème de logique combinatoire (qu'on appelle aussi "la glue") extrêment simple et entièrement soluble dans la porte ultrabasique 7400 (LS00, HC00, HCT00 peu importe). Juste 4 NANDs et ca suffit pour aiguiller un PWM.

Bien sur des multitudes de solutions sont possibles y compris les plus alambiquées, mais faut rester simple et ne pas oublier non plus le OU CABLÉ (avec des circuits comme le 7407 qui offrent des sorties à collecteur ouvert).

JLB
Logged

Near Paris in France
Offline Offline
Full Member
***
Karma: 0
Posts: 193
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ah au fait... Un servo de modélisme travaille à 50 Hz : Toutes les 20 ms le signal est haut pour 1 ms + une valeur de 0 à 1 ms qui indique la valeur angulaire (valeurs théoriques qui varient selon les servos).

Tout ca pour dire que les déformations de signal à 50 Hz ??? Pfouhh...

JLB
Logged

Paris
Offline Offline
Sr. Member
****
Karma: 2
Posts: 368
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tout juste jihelbi, mais j'ajoute que la position du servo est en fonction de la durée de l'état haut (entre 1000µs et 2000µs, avec évidement un point milieu à 1500µs), la précision attendue est au maximum de l'ordre de 1 µs, donc 1 MHz.

Donc ok, ça boucle à 50Hz, mais on a tout de même besoin au mieux d'une précision de 1MHz, apparement les circuits logiques delayent seulement de quelques nanosecondes...

Alors effectivement, avec des portes logiques je devrai m'en sortir, voici déjà le tableau de vérité :



S,A,B=entrées Y=Sorties

Sev
« Last Edit: July 19, 2012, 04:53:23 am by UniseV » Logged

EN: Libraries are my Gurus, they make me believe anything they want !
FR: Les librairies sont mes gourous, elles me font croire ce qu'elles veulent !

Pages: 1 [2] 3 4 ... 6   Go Up
Jump to: