J'aimerais pouvoir connecter plusieurs appareils en guirlande en utilisant uniquement les fils d'alimentation, puis injecter un signal de communication sur les lignes électriques pour le transformer en un réseau semi-duplex.
Existe-t-il des méthodes communes pour y parvenir? Le plus simple sera le mieux et ce serait formidable s'il utilisait l'UART sur le microcontrôleur.
Edit: Il y a en fait deux projets sur lesquels je travaille qui, je pense, pourraient en bénéficier - l'un est un réseau de capteurs à faible puissance. L'autre est un projet d'éclairage LED. Dans les deux cas, l'objectif est de simplifier le câblage, mais si la solution est trop complexe, il est probablement plus logique d'utiliser trois fils (pwr, gnd, comms).
communication
uart
power-line-communication
Peter Gibson
la source
la source
Réponses:
Avez-vous étudié le protocole Dallas 1-Wire ? Il est vraiment à faible vitesse et si votre appareil prend relativement peu de courant, vous pouvez vous en sortir en utilisant une alimentation parasite et alimenter l'appareil avec les lignes de données.
la source
Vous devez essentiellement pousser les signaux CA sur la ligne d'alimentation CC et les séparer à nouveau. Ceci est courant dans les maisons avec des antennes de télévision - l'amplificateur de puissance est placé près de l'antenne et l'alimentation CC est poussée vers le haut du fil d'antenne tandis que les signaux de télévision descendent le fil d'antenne.
Vous ne donnez pas suffisamment de détails pour un exemple de circuit, mais voici les bases:
La source d'alimentation doit avoir une inductance en série allant à la sortie pour bloquer les signaux haute fréquence entrant dans l'alimentation et pouvant provoquer des problèmes de régulation.
L'entrée d'alimentation de chaque unité doit être protégée de manière similaire avec une inductance pour filtrer les signaux CA. L'alimentation dans une diode et un condensateur garantira que les signaux CA ne mettent pas en danger l'alimentation de votre module.
Avant l'inductance, vous attacherez également un condensateur. Ce sera probablement une valeur faible de sorte que la plupart des signaux AC sur la ligne passent le condensateur, mais aucun DC ne le fera.
La sortie de ce condensateur POURRAIT être utilisable directement dans un microcontrôleur (avec serrage par diode) si vous avez les compétences pour mettre en œuvre le logiciel nécessaire pour lire les données maintenant mutilées hors ligne. De même, vous pouvez envoyer des impulsions directement dans le condensateur avec la broche d'E / S.
Découvrez à quoi cela ressemble sur une lunette - l'onde carrée entrant dans le condensateur ressemblera à un pic en décomposition sur la ligne électrique. Quand il sortira un autre condensateur sur le réseau, il sera encore changé - juste un pic sur la ligne.
La lecture de ces pointes peut être difficile et le filtrage du bruit peut être difficile, donc si vous utilisez de longues lignes, avez une alimentation électrique bruyante ou si vous utilisez des lignes à proximité d'autres sources de bruit, vous devrez mettre en œuvre un traitement du signal important. Habituellement, cela prend la forme AM (ASK - Décalage de décalage d'amplitude) ou FM (FSK - Clé de décalage de fréquence) sur la ligne, avec des trancheurs de données, des comparateurs, des générateurs de tonalité et des détecteurs, etc. Ou le traitement équivalent dans le logiciel.
Cela peut sembler beaucoup de travail, mais commencez avec un simple détecteur d'impulsions à la réception et envoyez des ondes carrées lors de la transmission. Utilisez un oscilloscope pour comprendre ce qui se passe, et si vous trouvez que vous avez besoin d'une solution plus complexe, demandez à nouveau sur la détection ASK ou FSK.
Un détecteur d'impulsions peut être une simple interruption logicielle sur la broche d'entrée de changement, ou un 555 configuré comme un brancard d'impulsions.
la source
J'ai construit quelque chose comme ça pour un système de contrôleur de train (train miniature, bien sûr).
Il s'agissait d'un protocole monodirectionnel à faible vitesse (une seule entité envoie des données, tous les autres ne sont que des récepteurs) et la transmission a été effectuée en inversant simplement la polarité du rail.
Sur chaque "client", il y avait un circuit simple fait avec une photo (16C54, il y a des années!), Un redresseur et des commutateurs DIP pour régler l'adresse.
Je n'ai plus de codes source, mais le système était vraiment facile et a fonctionné sans faille pendant des années, permettant un contrôle facile de chaque locomotive, barrière ferroviaire, sémaphore, etc. à partir du panneau de commande principal sans fils supplémentaires.
la source
Je recommanderais de penser à cela comme un signal que vous ajoutez et supprimez un décalage CC. Vous pouvez utiliser des condensateurs pour bloquer le courant continu en les plaçant en série avec votre circuit.
Au-delà de cela, il est difficile de dire ce que vous devrez faire car cela dépendra de votre application. Vous devrez peut-être utiliser un ampli-op pour séparer votre condensateur de couplage de ce qui reçoit votre signal. Si votre tension de décalage CC est grande par rapport à la tension de votre signal, vous n'aurez peut-être même pas besoin de faire de conditionnement d'alimentation pour supprimer l'ondulation, tout dépend de votre application.
J'ai une paire d'enceintes qui utilisent cette même technique pour allumer une LED d'alimentation sur un haut-parleur secondaire. Si j'augmente le volume assez fort, je peux réellement remarquer que la LED devient plus lumineuse. Dans cette application particulière, ils devraient s'inquiéter du type de filtre RC créé.
la source
Je sais que c'est un fil assez ancien, mais voici ma valeur de 2 pence ...
Je n'ai encore rien travaillé, mais je cherchais à faire quelque chose de similaire en utilisant un Arduino + VirtualWire (réglé à un débit en bauds vraiment bas). Comme le dit Adam Davis ci-dessus, vous transmettez / recevez vos données de la ligne 12V via un condensateur de faible valeur. Cela signifie que vous obtenez essentiellement 0V avec de petites pointes, que VirtualWire peut (probablement) décoder. La bonne nouvelle de cette méthode est qu'en théorie, tout appareil de la ligne 12V peut parler et tout le monde peut recevoir. J'ai eu ce travail avec un morceau de fil ordinaire entre les deux appareils sur une planche à pain, mais je ne sais pas si cela fonctionnera à distance ou sur une ligne électrique réelle.
Si la transmission est toujours du même endroit, alors peut-être qu'il serait préférable d'utiliser quelque chose comme la méthode Hornby - c'est-à-dire. Demandez à l'émetteur de commuter la ligne d'alimentation entre + 12V et -12V pour créer le signal. Chaque récepteur a un redresseur sur sa connexion à la ligne électrique, donc il obtient toujours une alimentation + 12V. Vous pourriez sans doute simplement imputer + 12V, et demander à chaque appareil d'utiliser un grand condensateur pour lisser les bosses. L'une ou l'autre de ces méthodes est probablement plus fiable car le signal sur la ligne électrique sera beaucoup plus fort et donc plus facile à décoder (j'utiliserais toujours VirtualWire pour le faire, mais un UART pourrait aussi fonctionner).
Pour un projet d'éclairage LED, il y a de fortes chances que vous deviez déplacer quelques ampères sur la ligne 12V. Cela rend la commutation un peu plus difficile, donc vous pourriez être mieux avec la méthode RF sur condensateur. Cependant, la hauteur des pointes que vous recevez diminuera considérablement avec un courant plus élevé, vous devrez donc peut-être amplifier le signal que vous écrivez sur la ligne (par exemple, utilisez un transistor haute fréquence ou deux pour `` amplifier '' le signal TTL à 12V avant en le poussant à travers le condensateur sur la ligne 12V).
Quoi qu'il en soit, quelque chose comme VirtualWire fonctionnera presque toujours mieux qu'un UART (et probablement I2C, etc.). La raison en est qu'il utilise une boucle à verrouillage de phase pour «synchroniser» la transmission et la réception ensemble, ce qui signifie un rapport signal / bruit plus élevé et moins d'erreurs. Cela devrait le rendre un peu plus indulgent pour le matériel moins que parfait ;-)
la source
Il y a beaucoup de questions que je pourrais poser avant de donner un conseil. Je suppose que la première chose que nous devons essayer de comprendre est, quel est votre objectif ici? Faible coût de construction, longues communications, économisant ainsi le câblage, la preuve de concept ou autre chose. Ils auraient tous des recommandations différentes. Par exemple, si vous n'êtes pas préoccupé par le coût, optez peut-être pour une solution Zigbee ou si elle est longue, cela crée des problèmes avec la plupart des transmissions à fil unique et vous devez maintenant examiner d'autres options. Je suppose que ce qui m'inquiète le plus dans votre question, c'est que vous dites "le plus simple sera le mieux". Ce que vous demandez est possible dans certaines situations, mais j'ose dire que ce ne sera pas simple. Principalement en raison des problèmes réels que vous rencontrerez, tels que la perte de signal, le bruit et la gestion du courant.
Bonne chance.
la source
Êtes-vous sûr qu'une sorte de solution USB ne fonctionne pas? Vous avez environ 2-2,5W disponibles.
Voici quelques autres idées -
Power over Ethernet (POE) intègre les signaux d'alimentation et Ethernet. Il existe une variété de semi-conducteurs et de convertisseurs DC / DC conçus pour ces appareils. C'est probablement votre meilleure option car il existe des pièces standard pour cela.
Je crois que certaines des sociétés de domotique intègrent l'alimentation en courant alternatif et les signaux de communication. Peut-être qu'une partie de cela est adaptable.
Les gens de l'audio ont une alimentation "fantôme" des microphones. 48VDC plus audio sur un câble de microphone.
la source
Le protocole X-10 fait exactement cela.
De plus, certaines des suggestions ci-dessus ne sont pas sûres ou ne peuvent certainement pas être utilisées dans des appareils approuvés (marque UL / CE).
la source
Il y a un semi-conducteur dédié qui obtient un octet UART et le transfère sur la ligne électrique à des vitesses allant jusqu'à 115,2 Kbps. Cet appareil a été conçu pour l'automobile, il est donc résistant au bruit. Voir http://yamar.com/product/sig60/
la source
Vérifiez ça:
Et le fil où j'ai pris cette information (même question que vous).
la source
Cela se fait dans les systèmes téléphoniques. Comme vous le savez dans le téléphone, nous avons l'alimentation et la tonalité et la voix dans un système à deux fils. Vous pouvez envoyer vos commandes via la ligne électrique en générant une tonalité (comme la numérotation par tonalité dans un téléphone ordinaire) les circuits intégrés (Ic) pour cette application sont couramment utilisés et sont donc très bon marché.
J'ai fait un projet comme celui-ci pour contrôler les vannes d'eau dans une grande usine en Iran (jusqu'à 99 vannes). Je peux ajouter un schéma de principe de mon circuit décodeur codeur si vous pensez que cela peut être utile.
la source