Aller au contenu


Photo
- - - - -

Doute sur la Connection en Serie ou TTL entre une FoxBoard G20 (idem que LX832) et un SSC-32 Je suis perdu là


14 réponses à ce sujet

#1 Hodinn

Hodinn

    Membre

  • Membres
  • 33 messages

Posté 03 juillet 2010 - 08:18

Bonjour à tous

Voila, j'ai un petit soucie, et bien quand lisant les documentation et le site de leon et le reponse de Aquanum a un des post de la page 4 du ss forum electronique le doute c'est installé en moi...,

Voila j'aimerais connecter la SSC-32 en TTL à ma Fox G20 en utilisant sur celle-ci les connecteurs J6 que je vient de souder.

mais voila, la SSC-32 est alimenté en logique en 5V mais je ne sais pas en quel voltage le TTL ressort ?

Et comme la Fox ne supporte que le 3.3V (semble que le 5V non) bien qu il y ait un connecteur le J6.12 qui genere du 5V (???)

J'ai peur de connecter les 2 et de crammer l'une d'elle (la Fox surtout).

j'ai lut ton site leon et tu parle que tu as raccordé ton picbasic en asynchrone sur un port serie (surement les TX et Rx) du J6

Il est relié à la carte mère par une liaison série asynchrone bi directionnelle (niveaux TTL) à 19200bds

mais tu parle plus bas que tu as installé un composant pour convertir le TTL en signal 3.3 V

Justement, parlons interface : le HCTL2032 est directement raccordé au port I/O G de la carte Fox. Il se contrôle à l’aide de 5 lignes de commandes, et de 8 bits de données. Pour les lignes de commandes, j’ai du placer un 78HCT04, pour convertir les signaux 3.3V de la Fox en signaux TTL dont a besoin le HCTL2032


et aquanum lui dit qu il a raccordé ca carte directement sur le 3.3V et que ca fonctionne voir Le lien

alors je suis un peut perdu car en plus Betamax dit que la ssc-32 c'est entre du 0 et 5V en sortie TTL(le standar))

le lien

alors je suis perdu

Faut t il qu'elle que chose entre la ssc-32 et la Fox pour connecter en TTL vers les J6 series ou pas, ou alors faut t il plustot que je connecte la sortie serie de la SSC-32 vers les connecteurs J6 de la Fox avec des resistances pour reduire la tension au niveau du 3.3 V ou bien faire autre chose....

Merci de vos reponses car je suis perdu là.

Bonne soirée à tous

Hodinn

#2 Dr.Calvin

Dr.Calvin

    Membre passionné

  • Membres
  • PipPipPip
  • 474 messages
  • Gender:Female

Posté 03 juillet 2010 - 08:41

vu ce que tu racontes, il paraîtrait plus logique d'utiliser le composant dont parle Léon ( mais il sera évidemment le mieux placé pour te donner plus de détails sur celui-ci) ou bien un régulateur de tension, pour faire passer le circuit de 5 à 3.3V. Car, même si apparemment, d'après Aquanum, un circuit fonctionne pour une tension supérieure à celle conseillée, sa durée de vie sera forcément raccourcie ou pire, il risque de cramer à tout moment.

sur ce je sors :ph34r:


#3 BET@.M@X

BET@.M@X

    Troll Archiviste

  • Membres
  • PipPip
  • 297 messages
  • Gender:Male
  • Location:FRANCE
  • Interests:La robotique et la méchanceté gratuite... mais il faut savoir tourner la page .

Posté 03 juillet 2010 - 09:44

...

j'ai lut ton site leon et tu parle que tu as raccordé ton picbasic en asynchrone sur un port serie (surement les TX et Rx) du J6 mais tu parle plus bas que tu as installé un composant pour convertir le TTL en signal 3.3 V

et aquanum lui dit qu il a raccordé ca carte directement sur le 3.3V et que ca fonctionne voir Le lien

alors je suis un peut perdu car en plus Betamax dit que la ssc-32 c'est entre du 0 et 5V en sortie TTL(le standar))

le lien

alors je suis perdu
...


Salut Hodinn

Je peux comprendre ta confusion car dans les fait, il existe effectivement plusieurs possibilités de connexion série entre ces deux cartes :

à la base, la SSC-32 a été prévue pour être pilotée par un PC via son port série RS232 (la prise DB9). Les tensions d'une telle liaison série sont théoriquement plus élevées (+-12v), mais dans la pratique, les circuits tolèrent des valeurs bien plus faibles comme le dit Aquanum.

La liaison directe TTL semble a exclure dans ton cas car à la différence du RS232, il n'y a pas la moindre isolation électrique entre les deux cartes et leurs niveaux logiques peuvent être différents (0-5V SSC32 --->0-3.3V Foxboard).

Me basant sur la documentation de la carte SSC-232, je ne peux pas te conseiller une solution plutôt qu'une autre ... mais je sais que moi je jouerai la sécurité :P


PS : je viens de me rendre compte que tu m'avais demandé de l'aide le 21 juin : désolé, je n'avais pas vu ton message avant aujourd'hui :(

"L'intelligence artificielle servira de prothèse à la bêtise humaine !!"
"l'être humain est une machine irrationnelle occasionnellement logique ..."


#4 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 03 juillet 2010 - 09:54

Salut Hodinn.

Sur mon BOB3, j'utilise un composant pour transformer le 3.3V en 5V, et non le contraire comme tu disais. J'utilisais un tel composant, car le HCTL2032 que j'interfaçais avec la FoxBoard n'était PAS compatible avec une tension de signal de 3.3V à l'état haut. En effet, selon le Datasheet page 4, ViH_Min=3.5, ce qui veut dire que le HCTL2032 ne considère un état haut au pire cas qu'à partir de 3.5V, donc ça ne peut pas marcher avec les 3.3V sortant de la Fox. Par contre, le PICBASIC que j'interface est bien compatible de signaux 3.3V. Donc je l'interface en direct!

Maintenant, toi tu veux interfacer une FoxBoard avec une SSC32. La SSC32 est composée d'un ATMEGA168. Quand tu branches sur le port "TTL" de ta carte SSC32, tu te branches directement sur l'ATMEGA. Selon le DATASHEET de l'Atmega (page 302), VIH_Min est à 0.6V x VCC pour VCC>2.4V (ce qui est notre cas). Avec les 5V, on a VIH_Min=3V. Donc ton signal 3.3V sortant de la FOXBOARD est COMPATIBLE de l'entrée de l'ATMEGA, et donc de ta SSC32. Tu n'as besoin d'aucune adaptation dans le sens FOXBOARD -> SSC32. Comme pour mon PICBASIC.

Dans l'autre sens, par contre, la FoxBoard G20 NE PEUT PAS recevoir en entrée un signal supérieur à 3.6V, sinon, tu pourrais griller une entrée. Il faut encore fouiller dans un datasheet page 764 (ouf!). Il faut donc que tu convertisse ton signal 5V sortant de la SSC32 en 3.3V. Ce n'était pas nécessaire sur la FoxBoard LX832 que je possède, car elle était compatible de signaux 5V... Contrairement à ce que tu disais, ce n'est pas la même chose entre les 2 FoxBoards.

Comment donc convertir un signal 5V sortant de la SSC32 en 3.3V? Rien de plus simple: un pont diviseur de tension constitué de 2 résistances bien choisies. Avec 10kOhm et 5600 Ohm, ça fait l'affaire par exemple (on n'est pas à 100mV près).

Attention à bien choisir la configuration TTL de ta SSC32.

Pour Dr Calvin, le régulateur de tension n'est absolument PAS adapté à ce genre d'usage. C'est fait pour alimenter, pas pour convertir un signal. Le temps de réaction d'un régulateur est très lent, et n'est pas compatible du transport d'un signal. Au contraire, c'est fait pour lisser au maximum la sortie.

J'espère que cette lecture de Datasheet vous aura été utile. Bonne nuit les petits.

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#5 Hodinn

Hodinn

    Membre

  • Membres
  • 33 messages

Posté 04 juillet 2010 - 09:32

Bonjour à tous,

merci a chacun pour vos reponses, un grand merci à leon pour les recherches que tu as faite pour me donner tous ces éclaircissements,

il est vrai que dans les infos d'acme system ds la presentatationn de la carte disent que la fox g20 est niveau connectique identique à la LX832 ce qui m'as enduit en erreur...

Donc je peut connecter par exemple le connecteur J6.14 TXD3 transmitdata ttyS4 sur le TTL Receiver de la SSC-32 directement
Pour le connecteur J6.13 RXD3 Receivedata ttyS4 je doit le connecter sur la ssc-32 en interfacant des resistances pour faire chutter le 5.5V de la ssc-32 en (moins de 3.3V en reception sur la fox)

Pour la masse des 2 cartes je peut les raccorder sans probleme (masse des TTLs sur SSC-32 avec masse connecteur sur J6.39 par exemple

pour la configuration TTL tu parle du debit je pense ?

J'ai 4 choix sur la ssc-32 2400 9600 38400 (atom basic stamp) et 115200 pour PC

j'ai vu dans un de tes posts leon que les UARTs avaient un debit plus bas que le serie normal...

comme il ya plusieurs connecteurs series sur la carte et son nommé UART de 0 à 6 lien puis je rester en 115200 ou vaut t il mieux passer en 38400 voir 9600 bauld ?

merci pour vos reponses

bonne journéee

Hodinn

#6 Dr.Calvin

Dr.Calvin

    Membre passionné

  • Membres
  • PipPipPip
  • 474 messages
  • Gender:Female

Posté 04 juillet 2010 - 09:49

Pour Dr Calvin, le régulateur de tension n'est absolument PAS adapté à ce genre d'usage. C'est fait pour alimenter, pas pour convertir un signal. Le temps de réaction d'un régulateur est très lent, et n'est pas compatible du transport d'un signal. Au contraire, c'est fait pour lisser au maximum la sortie.


Maintenant que tu le dis, ça me paraît évident (qu'est-ce qui m'est passé par la tête ? :huh: )

pourtant bizarrement, en testant un circuit de sumo, j'ai utilisé ce truc plusieurs fois, pour l'alimentation, certes, mais aussi une ou deux fois pour l'abaissement de signal, sans rien faire cramer... C'est pour ça que je ne me suis pas méfiée outre mesure.

Je suppose que c'est sans doute grâce à quelques coups de chance et au fait que les tensions étaient très faibles que tout n'a pas grillé (j'ignorais que les coups de chance existaient en robotique :lol: )

toutes mes excuses, je ferai attention désormais.

*Peut-être finirai-je par ouvrir un sujet sur le traitement du signal et les fonctions de transfert, qui sait, histoire d'avoir les idées claires et de recueillir les astuces de tout le monde*

merci de ta remarque en tout cas ;)

#7 Electron

Electron

    Pilier du forum

  • Membres
  • PipPipPipPip
  • 906 messages
  • Gender:Male
  • Location:LABEGE
  • Interests:Électronique, robotique ludique, programmation de jeux et utilitaires, et plein d'autres choses.

Posté 04 juillet 2010 - 11:59

Comment donc convertir un signal 5V sortant de la SSC32 en 3.3V? Rien de plus simple: un pont diviseur de tension constitué de 2 résistances bien choisies. Avec 10kOhm et 5600 Ohm, ça fait l'affaire par exemple (on n'est pas à 100mV près).

Si tu mets un pont diviseur assure-toi que le courant en sortie du diviseur soit suffisant pour les entrées que tu alimente avec (en gardant le même rapport entre les résistances mais en valeurs plus faibles, cela dépend du courant pris par les entrées).
D'ailleurs si tu connais précisément le courant consommé par ces entrées tu peux ne mettre qu'une résistance simple au lieu d'un diviseur... (U=RI).

"Plus on partage, plus on possède, voilà le miracle". LEONARD NIMOY
"Celui qui se bat peut perdre, celui qui ne se bat pas a déjà tout perdu". BERTOLT BRECHT (1898-1956)
Comment se lancer dans la robotique !
Mince encore un post pour augmenter mon compteur ;)


#8 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 04 juillet 2010 - 12:24

un grand merci à leon pour les recherches que tu as faite pour me donner tous ces éclaircissements

Si j'ai autant détaillé ma réponse, c'est surtout pour apprendre aux gens à chercher l'information, à fouiller dans les datasheet. Le niveau d'information qui accompagne les cartes 'toutes faites' est en général assez médiocre, ça manque de détail. Alors il faut aller plus loin, chercher les datasheet des composants qui la compose, etc...

Donc je peut connecter par exemple le connecteur J6.14 TXD3 transmitdata ttyS4 sur le TTL Receiver de la SSC-32 directement
Pour le connecteur J6.13 RXD3 Receivedata ttyS4 je doit le connecter sur la ssc-32 en interfacant des resistances pour faire chutter le 5.5V de la ssc-32 en (omind de 3.3V en reception sur la fox)

Attention, la tension de sortie des signaux TTL de la SSC32 n'est pas 5.5V, mais bien 5V. 5.5V, c'est la tension d'alimentation MINI de la carte, c'est tout. Derrière, tu as un régulateur 5V.

pour la configuration TTL tu parle du debit je pense ?

Non, je voulais juste dire qu'il fallait se connecter au bon endroit, et enlever les cavalier qui vont bien, comme décrit dans la notice.

j'ai vu dans un de tes posts leon que les UARTs avaient un debit plus bas que le serie normal...

Sur BOB3, je me limitais à 19200b/s. Ce n'est pas énorme, mais suffisant pour moi. En fait, j'étais surtout limité par le PICBASIC qui n'a pas de vrai port série, mais qui "émule" un port série, donc à vitesse lente. Sur BOB4, je passe à 38400b/s. C'est suffisant pour moi. Plus c'est bas, moins c'est sensible aux parasites.

comme il ya plusieur connecteur serie sur la carte et son nommé UART de 0 à 6 lien puis je rester en 115200 ou vaut t il mieux passer ne 38400 voir 9600 bauld ?

Le meilleur conseil que je puisse te donner, c'est de tester! Tu teste pendant 5 minutes en envoyant plein de consignes au débit maxi. Pendant les tests, il faut triturer l'alimentation, faire des appels de courants, et tout, pour provoquer le méchant parasite. Si tu constates des bugs, tu descend la vitesse. C'est comme ça que je procède.

pourtant bizarrement, en testant un circuit de sumo, j'ai utilisé ce truc plusieurs fois, pour l'alimentation, certes, mais aussi une ou deux fois pour l'abaissement de signal, sans rien faire cramer...

Rien faire cramer, c'est normal. Le problème, c'est qu'au delà d'une certaine fréquence, le signal de sortie ne suivra pas le signal d'entrée, c'est tout. Tu ne devais pas travailler avec un signal très rapide.

Si tu mets un pont diviseur assure-toi que le courant en sortie du diviseur soit suffisant pour les entrées que tu alimente avec (en gardant le même rapport entre les résistances mais en valeurs plus faibles, cela dépend du courant pris par les entrées).
D'ailleurs si tu connais précisément le courant consommé par ces entrées tu peux ne mettre qu'une résistance simple au lieu d'un diviseur... (U=RI).

Electron, Merci pour ce rappel. Les valeurs des résistances étaient données en connaissance de cause. Toutes les entrées numérique des composants électroniques standard ont une impédance très élevée, en général supérieur au MégaOhm. Dans le même Datasheet du coeur de la Fox, à la même page, tu peux lire que le courant drivé par les entrée standard est de l'ordre de 1µA.

Par contre, pour l'idée de mettre une simple résistance, en faisant confiance à l'étage d'entrée, c'est une bonne idée à la base... Mais le datasheet en question ne garantit pas l'impédance maxi, ni le courant mini consommé par l'entrée. C'est souvent le cas. Donc je ne m'y risquerai pas. Il y a risque de cramer une entrée.

Dans le cas où le courant consommé par une entrée est important, et surtout très variable, on met une diode Zener + une résistance. Mais c'est plus cher.

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#9 Electron

Electron

    Pilier du forum

  • Membres
  • PipPipPipPip
  • 906 messages
  • Gender:Male
  • Location:LABEGE
  • Interests:Électronique, robotique ludique, programmation de jeux et utilitaires, et plein d'autres choses.

Posté 04 juillet 2010 - 12:51

Toutes les entrées numérique des composants électroniques standard ont une impédance très élevée, en général supérieur au MégaOhm.


Tant mieux, juste pour infos :
Courant d'entrée=1,6 mA pour le TTL classique.
Courant d'entrée=2 mA pour le TTL-S.
Courant d'entrée=400 micro-Ampères pour le TTL-LS.

De toutes façons c'est de la Fox qu'on parle là et tu as répondu déjà, je donne ces valeurs juste pour info pour dire que le courant peu ne pas être négligeable quand on utilise des TTL.

"Plus on partage, plus on possède, voilà le miracle". LEONARD NIMOY
"Celui qui se bat peut perdre, celui qui ne se bat pas a déjà tout perdu". BERTOLT BRECHT (1898-1956)
Comment se lancer dans la robotique !
Mince encore un post pour augmenter mon compteur ;)


#10 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 04 juillet 2010 - 01:48

Electron,
les courants que tu cites sont pour un état Bas de l'entrée, ce sont les "I_Input_Low".
Le I_Input_High qui nous intéresse ici pour le dimensionnement du pont diviseur est bien inférieur à ces valeurs. 40 µA pour du TTL LS (de très loin la famille TTL la plus répandue). Du coup, avec les 15kOhm (R total du pont diviseur que je proposais) ça passe très bien (courant de 300µA).

Les CMOS (74HC et 74HCT), eux, consomment encore moins sur les entrées.

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#11 Electron

Electron

    Pilier du forum

  • Membres
  • PipPipPipPip
  • 906 messages
  • Gender:Male
  • Location:LABEGE
  • Interests:Électronique, robotique ludique, programmation de jeux et utilitaires, et plein d'autres choses.

Posté 04 juillet 2010 - 01:56

Electron,
les courants que tu cites sont pour un état Bas de l'entrée, ce sont les "I_Input_Low".

Ah OK !

Le I_Input_High qui nous intéresse ici pour le dimensionnement du pont diviseur est bien inférieur à ces valeurs. 40 µA pour du TTL LS (de très loin la famille TTL la plus répandue). Du coup, avec les 15kOhm (R total du pont diviseur que je proposais) ça passe très bien (courant de 300µA).
Les CMOS (74HC et 74HCT), eux, consomment encore moins sur les entrées.

Oui je sais pour les CMOS (Très haute impédance), de toutes façons comme je te l'ai dis tu as déjà répondu.

"Plus on partage, plus on possède, voilà le miracle". LEONARD NIMOY
"Celui qui se bat peut perdre, celui qui ne se bat pas a déjà tout perdu". BERTOLT BRECHT (1898-1956)
Comment se lancer dans la robotique !
Mince encore un post pour augmenter mon compteur ;)


#12 Hodinn

Hodinn

    Membre

  • Membres
  • 33 messages

Posté 19 juillet 2010 - 08:19

Bonjour à tous,

j'ai un petit probleme avec le pont diviseur de tension pour la connexion ssc-32 vers foxboard

j'aimerai que vous me confirmier le shema si dessous pour le raccordement :

ligne TTL (TX de la scc-32) (+)5V >>>>> Resistance 10Koms >>>> Resistance 5.6Koms >>> ligne TTL (Rx sur la Foxboard G20)

car en regardant plusieurs schemas (theorique) pour un pont diviseur de tension, ils donnent l'impression que le 3V se trouve sur la portion de la Resistance 10Koms....

j'ai fait des test avec une led en la connectant apres les 2 resistances (+5V >> R1 10K >> R2 5.6K >> (+)LED(-) >> -5V), elle ne s'allume pas,

et si je la raccorde son + entre les 2 resistances et relis son negatif avec le negatif de la 2nd resistance et le tout au (-) de l'alimentation (+5V >> R1 10K >> LED(+) >> R2 5.6K >> -5V || LED(-) >> -5V),

en testant avec un voltmetre, elle ne consomme que 1.75 V (elle s'allume faiblement s'achant qu elle s'allume tres fort en direct sur le +5V et chauffe meme... dans cette configuration je suis surpris

car je n'aurait jamais 3V en état haut sur la ligne TTL et de l'autre façon je n'aurais pas de tension du tout vu quelle ne sallume pas...

Ou alors j'ai ratté quelques choses... et les schemas explicatifs etant toujours theorique, ils expliquent à quoi sert le pond diviseur mais ne te donne pas d'exemple pratique (cf le wikipedia ou plusieus ouvrages comme l'electronique pour les nuls par exemple).

Merci de votre aide la dessus.

Bonne soirée à tous



PS j'ai bien verifié le sens Anode Cathode de la LED

#13 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 19 juillet 2010 - 08:33

Une LED, ça consomme du courant, donc ça n'est pas bon du tout pour tester la présence d'une tension. Ca perturbe ton pont diviseur. Avec les résistance que je t'ai données, le courant maxi débité par le pont est très très faible (moins de 1mA), insuffisant pour allumer ta LED.

Un petit schéma ci dessous: tu relies la broche "5V" à la sortie série de ta carte SSC32, et la broche 3.3V à l'entrée série de ta Fox.
diviseur_5V_3V3.GIF

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#14 Hodinn

Hodinn

    Membre

  • Membres
  • 33 messages

Posté 20 juillet 2010 - 07:05

Une LED, ça consomme du courant, donc ça n'est pas bon du tout pour tester la présence d'une tension. Ca perturbe ton pont diviseur. Avec les résistance que je t'ai données, le courant maxi débité par le pont est très très faible (moins de 1mA), insuffisant pour allumer ta LED.

Un petit schéma ci dessous: tu relies la broche "5V" à la sortie série de ta carte SSC32, et la broche 3.3V à l'entrée série de ta Fox.
diviseur_5V_3V3.GIF

Leon.


Bonjour,

merci pour l'explication, j'avais donc compris de travers....

bonne soirée

#15 Aquanum

Aquanum

    Habitué

  • Membres
  • PipPip
  • 234 messages
  • Gender:Male
  • Location:Paris

Posté 05 août 2010 - 10:59

Bonsoir,
Hé bien je vois que j'arrive un peu après la bataille. Je n'ai plus rien à ajouter à part qu'il est certain qu'il ne faut pas faire rentrer de 5V dans les entrées GPIO de la G20. J'ai tenté de brancher un capteur ultrason sans faire attention à la limitation... Je pensais que cela se comportait de la même façon que la LX ... erreur !! Et je pense savoir pourquoi ma carte ne fonctionne plus ...
Se référer au wiki d'acme systems qui commence à être plutôt complet : http://foxg20.acmesystems.it/doku.php?id=tutorial:srf02



Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users