transmission de signal 5v sur un long câble


17

Je cherche de l'aide ici car j'ai besoin d'une réponse fiable à cela. J'ai besoin d'obtenir un signal d'entrée (basse fréquence 5v digital pulse), vers un microcontrôleur à partir d'un capteur (de proximité) situé à distance de la carte de contrôle.

Je vais détailler les points importants.

  • Distance Tx max: 50 m
  • Fréquence d'impulsion numérique maximale: 10 Hz
  • Plage de tension du capteur: 5 à 30 v (il délivre la même tension que celle fournie)
  • Entrée maximale vers le microcontrôleur: 5 V

Pour une application simple et similaire, voici ce que j'ai fait auparavant; le capteur est alimenté en 12 V. À l'autre extrémité, l'impulsion (qui est maintenant de 0 à 12 V) est envoyée au microcontrôleur via un régulateur 7805. Cela a bien fonctionné, mais quelqu'un m'a dit que la méthode n'est pas agréable et ne convient pas aux applications fiables. Je pense aussi que c'est moche, mais je ne m'attends pas à beaucoup gâcher le matériel, à construire des circuits séparés, etc. ... Quelqu'un peut-il proposer une meilleure solution (ou être d'accord avec le mien: D).

Je préfère beaucoup si je n'ai pas du tout à construire de circuits. Si ce n'est pas possible, au moins très simple! (Simple dans le sens de la complexité matérielle. Un circuit qui n'a pas besoin de PCB, juste deux fils ici et là. C'est pourquoi j'aime la solution 7805). Cependant (malheureusement) la plus haute priorité doit être accordée à la fiabilité.


3
Je ne vois pas pourquoi vous ne pouviez pas rester avec votre solution 7805. Je soupçonne que ceux qui vous reprochent son utilisation dans cette application le font parce qu'ils ont du mal à accepter l'utilisation quelque peu non conventionnelle d'un régulateur de tension. Je ne vois pas non plus de problème de fiabilité mais encouragerais l'ajout d'un seul petit condensateur 0,1 uF entre la sortie et le GND de la pièce pour assurer la stabilité. À un taux de réponse de 10 Hz, je ne pense pas que le condensateur ajouté donnera des problèmes de réponse à l'impulsion du capteur, sauf si l'impulsion est très très étroite par rapport au taux d'impulsion de 100 ms.
Michael Karas

@MichaelKaras super !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Nom de code SC

Réponses:


20

Une approche recommandée serait d'utiliser un optocoupleur suivi d'un comparateur (par exemple LM339 ), ou mieux, une partie intégrée telle que l' optocoupleur de sortie de porte logique Fairchild Semi FODM8071 .

La raison pour laquelle l'optocoupleur est recommandé :

Il est probable qu'il y ait une différence de potentiel de terre sur un câble de 50 mètres, ainsi que la possibilité de capter EMI sur le long câble. L'optocoupleur élimine tout problème de boucle de terre / décalage potentiel, ainsi que tout besoin d'adapter précisément la tension d'alimentation du capteur au microcontrôleur.

L'utilisation de l'opto permettra d'utiliser une tension plus élevée pour le circuit du capteur, réduisant la sensibilité au bruit EMI.

Un avantage supplémentaire de la partie Fairchild spécifique suggérée ci-dessus est son immunité élevée au bruit. Cela se traduira par une acquisition de signal plus stable, importante compte tenu des distances impliquées.

Le FODM8071 est une pièce SMT à 5 broches au plomb, donc l'utiliser est essentiellement comme ne pas avoir à construire de circuit supplémentaire - vous pouvez câbler la pièce et ses quelques composants discrets supportent le style deadbug , si vous le souhaitez, ou les assembler sur un proto -PCB PCB.


1
c'est probablement la meilleure solution, mais si le câble a un conducteur de mise à la terre, je ne pense pas que le décalage potentiel soit significatif. J'essaierais un diviseur résistif, c'est la solution la plus simple, ou la solution zener ci-dessous qui est encore plus précise.
Vladimir Cravero

3
L'opto sur le micro est certainement l'idée la plus élégante, je serais paranoïaque (expérience avec les télécommunications / la foudre / la CEM) et ajouterais quelques diodes de protection / tranzorbs pour sauver l'opto des tensions parasites / inverses / de surtension. En général, il est préférable d'envoyer un signal plus important sur toute la ligne (envoyer du 12 V et le traiter au micro) plutôt que de commencer avec un petit signal et de lutter pour le recevoir de manière fiable. Cela peut également aider votre cause (immunité au bruit) si votre capteur peut conduire du courant sur la ligne, par exemple via une résistance de terminaison de 100 Ohms. Voir la norme RS485 / RS422 pour des exemples.
John U

1
@CodenamedSC: recherchez "microcontrôleur midi" ou "schéma midi". Des milliers de choses là-bas. Une autre direction pour de plus amples recherches est la boucle de courant , le MIDI en étant un exemple simple.
Phil Frost

1
Quelques termes de recherche google / wikipedia pour vous: MIDI, DMX, RS-232, RS-485, RS-422, boucle de courant 20mA, signalisation différentielle.
John U

1
Ceci est probablement exagéré pour l'application en question, bien que, comme mentionné, il existe des applications où le coût supplémentaire et la complexité sont garantis.
Chris Stratton

12

La transmission de 10 Hz sur 50 m n'est pas un problème difficile, vous trouverez donc de nombreuses façons de le faire. Pour une solution presque aussi simple que celle que vous aviez auparavant, je suggère un circuit zener simple.

entrez la description de l'image ici

Comme auparavant, vous fourniriez simplement votre capteur avec une tension supérieure à 5 V. Dites 6 - 12 V, et laissez ce circuit de limitation réduire la tension à un niveau compatible avec votre circuit en aval. Vous devrez ajuster la valeur de R1 en fonction du courant de sortie maximum (ou souhaité) de votre circuit de capteur et de la tension de capteur que vous choisissez. Le coût peut être très proche de la solution 7805, selon le zener que vous choisissez.

Comme l'optocoupleur suggéré dans une autre réponse, cela offre une protection contre les transitoires haute tension induits sur le câble, car les diodes zener peuvent shunter ces transitoires à la terre. Le circuit optocoupleur peut rompre les boucles de terre entre les systèmes d'envoi et de réception, mais si votre solution 7805 fonctionne, le zener devrait tout aussi bien fonctionner.

Éditer

Si vous êtes prêt à faire un peu plus de travail, vous pouvez améliorer ce circuit en le rendant légèrement plus élaboré:

entrez la description de l'image ici

La diode schottky ajoutée protège votre circuit en aval des transitoires négatifs. Le zener l'aurait fait, mais n'aurait limité que les transitoires à -0,7 V environ. Le schottky les limitera à -0,3 ou -0,2 V, ce qui sera beaucoup plus sûr pour le périphérique en aval s'il s'agit d'une porte logique typique.

Le condensateur supplémentaire de 4,7 uF contribuera à réduire le bruit lorsque l'entrée est faible.

Enfin, j'ai ajusté la tension zener pour être sûr que la sortie est sûre pour une porte logique 5 V, même en permettant une certaine dérive de la tension zener, et j'ai augmenté R1 pour réduire le courant nécessaire pour piloter l'entrée.

Toutes ces choses sont sujettes à ajustement pour s'adapter aux détails de votre capteur et du circuit en aval.

Éditer

Un point clé auquel je devais réfléchir du jour au lendemain avant de le voir:

En supposant que votre câble de 50 m contient un fil de signal et un fil de terre (ou de retour), un optocoupleur protège contre les transitoires de mode commun (c'est-à-dire lorsque le fil de signal et le fil de terre changent ensemble de tension par rapport à la terre du circuit de réception), tandis que le circuit zener protège contre les transitoires différentiels où la tension du fil de signal change par rapport au fil de terre.

Si un coup de foudre à proximité fait que le fil de terre et de signal passe ensemble à 100 V pendant une milliseconde, vous avez besoin du circuit optocoupleur pour protéger votre récepteur des dommages.

Mais si un moteur proche en marche fait sauter le fil de signal à 30 V au-dessus du fil de terre, vous avez besoin du circuit zener pour protéger votre optocoupleur contre les surcharges.

Bien sûr, le type de câble et son environnement déterminent lequel de ces scénarios est le plus probable. Si vous utilisez un câble de commande à usage général, l'un ou l'autre scénario est réaliste. Si vous utilisez un câble coaxial, les transitoires en mode commun sont plus probables, mais vous devriez également considérer la possibilité de dommages ESD dus à la manipulation lorsque le câble n'est pas attaché au récepteur, ainsi que l'effet si le câble est initialement chargé. lorsqu'il est branché sur le récepteur.


2
Le 7805 est une alimentation , cette application repose sur le 7805 se comportant de manière "idéale" dans une situation pour laquelle il n'est pas conçu. De plus, ce n'est vraiment pas une bonne approche pour résoudre le problème. Le 7805 nécessite un peu de courant pour fonctionner (votre capteur peut-il générer suffisamment de courant? Le chargement modifie-t-il les performances du capteur?) Et préfère voir une charge dans laquelle conduire, et un capuchon de lissage pour éviter les oscillations / ondulations. La suggestion d'Anindo est tout à fait sensée pour votre application déclarée, la réponse de Photon est OK mais suppose un chemin de signal très "propre" (pas de protection).
John U

1
@CodenamedSC - Je ne peux pas vraiment expliquer ce grand écart dans vos connaissances en électricité / comprendre ici, je n'ai pas vraiment assez de temps, mais s'il vous plaît faites- moi confiance est le 7805 d' une manière vraiment pauvre de le faire - au- dessus des deux suggestions sont beaucoup mieux.
John U

1
@CodenamedSC, ce circuit est fonctionnellement équivalent à l'idée 7805. Le principal inconvénient du 7805 est qu'il n'a pas la capacité d'absorber les transitoires qui pourraient être générés par des interférences sur le câble. Soit ce circuit, soit le circuit optocoupleur devrait être capable de gérer de brefs transitoires dans les 100 volts, pour lesquels le 7805 n'est pas conçu.
The Photon

1
C'est la meilleure réponse. C'est simple, et la résistance à l'extrémité réceptrice aidera à absorber les réflexions, bien que de meilleures performances puissent être obtenues si la résistance était déplacée à l'extrémité émettrice.
Chris Stratton

2
@ChrisStratton Je pense que si j'utilisais l'optocoupleur, j'ajouterais quelque chose près de ce circuit à l'avant pour empêcher les transitoires de souffler sur l'optocoupleur.
The Photon
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.