EB_

Поделиться
HTML-код
  • Опубликовано: 10 ноя 2021
  • Utiliser du câble de réseau sur une liaison série du type I2C, SPI ou même UART, ce n'est pas "légal". Mais cela fonctionne bien si on met en application les astuces que je décris dans cette vidéo.
    Les fichiers pertinents à mes vidéos (code source, schémas, etc.) sont placés ici sous format .ZIP:
    bidouilleur.ca/Bidouilleur_dep...
    La chaîne RUclips d'Électro-Bidouilleur:
    / Électro-bidouilleur
    Le site web d'Électro-Bidouilleur:
    bidouilleur.ca
    La page de soutien à Électro-Bidouilleur (via Paypal, Tipeee ou Patreon):
    bidouilleur.ca/support
    Ma liste de souhaits (vous achetez, je reçois) de chez Amazon:
    www.amazon.ca/hz/wishlist/ls/...
    Le Forum de discussion d'Électro-Bidouilleur:
    forum.bidouilleur.ca
    La page Facebook d'Électro-Bidouilleur:
    / 906450239398983
    La page de Notes Éthiques et Légales d'Électro-Bidouilleur:
    bidouilleur.ca/notes_legales
    Licence d'utilisation des créations d'Électro-Bidouilleur:
    CC-BY-SA: Attribution + Partage dans les mêmes conditions 4.0 - Cette licence autorise autrui à copier, modifier, partager les créations matérielles et logicielles d'Électro-Bidouilleur, y compris pour des utilisations commerciales. Les personnes utilisant les créations d'Électro-Bidouilleur s'engagent à créditer adéquatement Électro-Bidouilleur, et à intégrer un lien vers la licence. Si elles réalisent des modifications, la création dérivée devra être diffusée sous la même licence CC-BY-SA. creativecommons.org/licenses/...
  • НаукаНаука

Комментарии • 48

  • @pascalmacarty8625
    @pascalmacarty8625 2 года назад +1

    Bonjour, super vidéo qui m'a rappelé un petit souvenir de mon stage de BTS !
    En effet, lors de mon stage, j'habitais un immeuble et un camarade de stage habitais dans un immeuble voisin, à environ 100m.
    Et, un jour, comme nous étions fan d'un même jeu sur PC, et que ce jeu pouvais se jouer à 2 via une liaison série, j'ai récupéré une bobine de câble en nappe de 25 broches, de 200m, de laquelle jj'ai pris 3 fils consécutifs et les en ai séparés, puis soudé 1 connecteur DB9 à chaque extrémité.
    Et ça, c'était le plus simple !
    Le plus compliqué ayant été de tirer le câble entre les 2 immeubles, via les balcons de nos appartements, qui ne se faisaient pas face (2 immeuble à 90°, séparés par 40m, des arbres de 20m de haut entre les 2...
    Bref, on a pu jouer quelques soirées sur une liaison série 33000 b/s, avant que le syndic de copropriété ne nous envoie un courrier demandant de retirer le câble reliant nos 2 appartement...!!!
    Le câble série fabriqué faisait 200 m, 100m déployés entre les appartements, mais environ 100m toujours enroulés à une des extrémités...
    Le jeu, c'était Descent 1 ou 2, je ne me rappelle plus exactement !

  • @BSOArtMagedon
    @BSOArtMagedon 10 месяцев назад

    Merci pour ces petits tutos bien utiles et compréhensibles pour un non informaticien que je suis qui permet de mieux aborder certains problèmes.... Trop de tutos de gens sympathiques qui font clignoter une led 3 minutes mais surement pas 10 ans... Et à ce propos, j'utilise principalement des ESP avec de nombreux sensors dont beaucoup depuis quelques mois sortent principalement en I²C sur des PCB minuscules (à la fois pratiques, peu chères, donnant des valeurs plutôt stables) et j'ai eu des surprises notamment en utilisant un PCF8574T monté sur une PCB bleue que l'on trouve assez couramment qui possède la faculté de s'enficher dans une suivante, puis des cavaliers qui permettent de modifier l'adresse de base de l'I²C, allant jusque 8 PCB montées en parallèle. Néanmoins cette apparente facilité masque le fait de devoir déssouder les résistances des modules à partir du second.
    En utilisant Home Assistant et ESPHome, on est plus dans l'informatique que dans l'électronique et pouvez-vous théoriser le fait d'utiliser une dizaine de composants I²C en donnant quelques règles pour manipuler au mieux une chaine I²C et corriger au besoin certains composants sur des microPCB:
    - BME280 - BH1750 - CJMCU-680 - CJMCU 2317 - MCP23017 - CCS811 - AS5600 - MAX30102 - VL53L3CX - Etc.
    Il semble clair pour l'informaticien que je suis que le conflit d'adresse de base I²C est un facteur compréhensible, par contre,
    - Le fait de faire une chaîne I²C permet-il d'ajouter de la distance au câble utilisé (Ex: peut-on mettre 10 éléments à 10m d'intervalle, supposant que chaque bus i²C fasse office de "répéteur" sur cette chaine?
    - Et précisément par rapport au problème déjà rencontré, doit-on modifier ou supprimer des résistances d'un des maillons de cette chaine sur SDA et/ou SLC au titre qu'elles ne doivent pas s'additionner sur cette chaîne?
    Encore merci pour vos lumières!!!

    •  10 месяцев назад

      Il n'y a pas de règles à suivre car les bus séries du genre I2C et SPI ne sont pas à la base conçus pour fonctionner à de telles distances. Chaque élément I2C n'est pas un répéteur du signal reçu; tous les éléments et le câblage font office de charge. La charge capacitive de la ligne finira aussi par détériorer les temps de fronts montant et descendant, et donc vous devrez ralentir la cadence.
      Bien sûr, vous devrez retirer les résistances pull-ups des plaquettes dans la chaîne, sauf une d'entre elles, bien sûr.

  • @davidmaillot2253
    @davidmaillot2253 2 года назад

    Merci pour toutes ces informations. J'ai expérimenté et j'ai du rajouter deux résistances de pull up de 10Kohm sur chaque entrée SDA et SCL. J'ai aussi du diminuer la vitesse du SCL. Merci encore.

  • @orignal29
    @orignal29 2 года назад +2

    Quelle drôle de coïncidence, j'ai visionné les trois premiers épisodes de la série sur les communications série pas plus tard qu'hier! Quel excellent complément! Pour réinitialiser le capteur, plutôt que de brancher son alimentation sur un GPIO et de vivre dans la crainte d'un courant trop peu élevé, j'aurais tendance à contrôler cette alimentation avec un mosfet.

    •  2 года назад

      Bonne option, juste un peu plus complexe.

  • @fabienb3432
    @fabienb3432 2 года назад +1

    Merci beaucoup pour ces astuces ! C'est toujours bon de savoir qu'on peut utiliser le SPI sur une longue distance.

  • @etienneguyot9069
    @etienneguyot9069 2 года назад +3

    Salut Bertrand. J'ai eu un petit hoquet en entendant "synchrone" et UART au début, mais bien vu le rattrapage en fin de vidéo !
    Ce sujet me rappelle de grosses expérimentations que j'ai pratiquées en début de carrière sur des protocoles, certes beaucoup plus rapides et sur des supports coaxiaux, mais où les problématiques étaient identiques. J'ai passé des jours avec un appareil Polaroïd spécialisé à capturer des signaux à l'oscilloscope (qui n'avait rien de numérique à l'époque) pour pouvoir in fine recommander une architecture différente et plus respectueuse des caractéristiques d'un vraie ligne de transmission... C'était du radar secondaire, encore analogique à l'époque avec ses décodeurs déportés G3DS ou G3D11 (petit clin d'œil aux anciens). De nos jours tout passe sur ethernet dès le départ. Mais quand ça ne veut pas passer, un simple oscilloscope ne suffit souvent plus !...

  • @PainterVierax
    @PainterVierax 2 года назад +1

    Très bonnes astuces !
    Le petit rappel en conclusion sur les autres protocoles plus adaptés mais impliquant des puces supplémentaires est aussi bienvenu.
    Le RS485 est pris en charge par à peu près n'importe quel microcontroleur 8bit, tandis que le protocole CANbus est intégré à la plupart des STM32 et ESP32 ainsi que certains SoC ARM relativement populaires (i.MX6 ou 8, Allwinner A10 ou A20). Donc si on a pas de max232 sous la main ça peut être intéressant d'explorer ces protocoles réseau avant d'envisager Ethernet.

  • @alphonsetartempion1563
    @alphonsetartempion1563 2 года назад

    Bonjour Bertrand
    Belles expérimentations qui montrent bien les possibilités et "solutions" des liaisons séries sur de longues distances avec nos petits µC.
    Particulièrement intéressant s'il faut, par exemple, piloter un clavier côté rue depuis sa maison.
    A comparer avec les solutions radio-fréquence (433Mhz) suivant les besoins.
    Merci dans tous les cas, c'était fort passionnant !
    F.

  • @mamarabdellah
    @mamarabdellah 2 года назад

    Merci et bravo monsieur vous avez donné une solution a un problème que je voulais résoudre depuis longtemps

  • @saso4245
    @saso4245 2 года назад

    Merci Bertrand...j'ai utilisé le RS 232 en 1982 ..il y a de cela très longtemps avant la micro informatique sur des instruments scientifiques connectés à des mini ordinateurs HP et cela fonctionnait très bien...Encore merci pour vos vidéos qui sont très utiles dans les milieux scientifiques. Amitiés. Bien à vous. Jean d'Orléans
    P.S.: En sciences on utilise beaucoup la bidouille...lol

  • @hadireg
    @hadireg 2 года назад

    Excellent! Merci Bertrand👍👍

  • @eddyfontaineyoutu100
    @eddyfontaineyoutu100 2 года назад

    Très bien ! Merci Bertrand ! 👍👍👍

  • @JoZf_Gibson
    @JoZf_Gibson 2 года назад

    Merci Bertrand

  • @SchmurtzAlex
    @SchmurtzAlex 2 года назад

    Top et très intéressant comme toujours !
    J’ai moi aussi poussé l’i2c d’un esp32 à l’extrême :
    J’utilise un rj45 blindé d’1 mètre pour déporter un petit tableau de bord sur mon bureau :
    Il y a un lcd (sh1106) , un encodeur rotatif, un capteur de luminosité, un capteur de mouvement de la main et un extendeur de gpio également.
    Le tout est piloté par esphome (qui permet de faire un firmware gérant des tas de micro-modules en quelques minutes, je recommande !).
    Il a fallu trouver le bon rj45 pour que ça fonctionne sans que l’i2c s’écroule, mais ça fonctionne très bien depuis des mois en continue. Cependant j’aurai aimé avoir votre vidéo sous le coude à l’époque pour torsader le cable l’horloge avec la masse plutot que le signal et utiliser des résistances et ferrites pour diminuer le bruit !

  • @jean-louisbezombes7135
    @jean-louisbezombes7135 2 года назад

    Bonjour Bertrand et merci pour ce retour d'expérience intéressant. En ce qui concerne l'I2C j'aurais mis la résistance de pull up sur le composant et non au niveau du contrôleur pour l'horloge, pour la data j'aurais splitté le pull up de chaque côté pour réduire les réflexions.

    •  2 года назад

      On est souvent pris avec des résistances pullups déjà présentes, comme sur le raspberry pi!

  • @MrSebkilou
    @MrSebkilou 2 года назад

    J’ai le souvenir d’avoir fait une liaison RS-232 (5v) à 115200 bauds sur un câble blindé de 100m, avec toutefois une transmission par paquets contenant un crc, et relance du paquet sur erreur crc. Sur 100ko, je ne rencontrais en moyenne qu’une ou 2 erreurs de transmission de paquet. Bon, je n’ai pas déroulé le câble, limitant sans doute les perturbations.

  • @pcdwarf4787
    @pcdwarf4787 2 года назад

    super vidéo sur un sujet qui touche pile un de mes problèmes de transmission.
    Un de mes problèmes est que de gros courants dans de grandes longueurs de fil peuvent faire varier ma "masse" de plusieurs volts et transitoirement de nettement plus que la valeur seuil (ou admissibles par des entrées CMOS, ou même de plus que la valeur maximale admissible en mode commun pour la plupart des transcivers que j'ai utilisé (MAX485 par exemple). J'ai donc essayé d'utiliser des optocoupleurs à la reception. mais j'ai eu un autre problème : C'est le couplage entre les différents signaux, ce qui m'a obligé a avoir des front moins raides. Mais, avoir des transitions moins brusques modifie assez considérablement la vitesse de transmission maximale. (sur 20m, je ne peux que difficilement dépasser 100kbps en SPI) Or, il doit quand même être possible d'aller beaucoup plus vite avec du cable ethernet. Peux tu faire des suggestion ? (à part utiliser vraiment du protocole ethernet)

    •  2 года назад

      La faiblesse, c'est les e/s GPIO. Si vous ne changez pas d'interface, vous êtes cuit. les broches GPIO n'ont simplement pas la "force" pour alimenter une longue ligne de transmission à haut débit. Il faut passer à de la paire torsadée. par exemple CAN ou RS-485. Pour de forts courants, le câble ethernet n'est définitivement pas approprié. Vous espérez un miracle...

    • @pcdwarf4787
      @pcdwarf4787 2 года назад

      @ je n'ai pas de forts courants dans le cable ethernet lui même mais dans le cable d'alimentation. Celae crée une différence du point de référence entre les deux extrémités qui est supérieure à vcc/2 voir transitoirement à vcc. d'où l'usage d'optocoupleurs qui marchent très bien à basse vitesse. Mais je ne vois pas comment résoudre le pb du couplage entre les signaux, en particulier ceux qui passent sur les conducteurs d'une même paire. Comment les signaux ethernet peuvent ils monter à plus de 100M dans ce type de câble ?

  • @andregalas505
    @andregalas505 2 года назад

    Galas André
    J'ai utilisé il y a une bonne vingtaine d'années du RS232c sur 100m de long à 9600b avec du câble blindé blindage séparé pour Tx et Rx, du câble tout ordinaire vendu comme câble microphone,
    un terminal Unix était au bout, je n'ai jamais eu de retour négatif de mon client.

  • @Tabaremc2
    @Tabaremc2 2 года назад

    Bonjour Bertrand,
    Intéressant ce que je vois aujourd'hui, mon commentaire d'hier a disparu pourtant il rajoutait de la plus value à ta vidéo.
    C'est vrai qu'il rajoutait aussi un lien vers mon blog qui faisait état de mes propres expériences sur le bus I2c sans pub aucune puisque je ne gagne absolumeent rien avec mon blog ( au contraire il me coute ).
    Je veux croire que c'est un vilain modérateur qui l'a éliminé, c'est pas grave mon gars ... faut que tout le monde vive mais ....
    Bernard

    •  2 года назад

      Je n'ai pas retiré votre commentaire, et il ne se retrouve pas dans la liste des commentaires automatiquement retenus... Ré-écrivez-le tout simplement.

  • @johnlegros1586
    @johnlegros1586 2 года назад

    pour longue distance sans risque de couplage de courant entre extrémités ...I2C sur FO , utilisé par Philips en audio grand public (remote controle etc...), à creuser par la, car des interfaces existait...

  • @alexanderthevoice
    @alexanderthevoice 2 года назад

    J'ai vu ce type de bidouillage dans des installations "professionnelles" d'un client faite à des dizaines d'endroits, du I2C ou analogique 0-3.3V sur plusieurs centaines de pieds faites par des ingénieurs, j'ai au moins réussi à leur faire mettre du fil shieldé mais définitivement ça prendrait des I2C extender ou un autre protocole, surtout quand le système au complet dépend de cette mesure!

  • @tgv2000fr
    @tgv2000fr 2 года назад +1

    Merci Bertrand, il y a 1 an j'ai fait ça sur de la paire torsadée mais avec des P68B96. Dommage que je n'ai pas vu une telle astuce avant, cela aurait bien simplifier mon travail :)
    Merci pour la vidéo et tout le reste d'ailleurs

  • @maxounette-jv7dj
    @maxounette-jv7dj 2 года назад

    Intéressant, je pensais pas qu'on pouvait transmettre aussi loin en i2c :o C'est pas tombé dans l'oreille d'un sourd 👿

  • @jrioublanc
    @jrioublanc 2 года назад

    Merci pour cette vidéo, une question : que pensez-vous de l'utilisation de transistors pour augmenter le courant dans la liaison ?

    •  2 года назад +1

      C'est plus complexe, mais pourquoi pas. Amusez-vous! Rappelez-vous cependant que la ligne SDA est bidirectionnelle...

  • @cmuller1441
    @cmuller1441 2 года назад

    On trouve (ou pas, en ce moment...) des composants pour le RS422/485 qui vont piloter les paires en mode différentiel. On pourrait avoir une petit mcu avec lequel on communique en série et dont le rôle serait de traduire des requêtes arrivant par ce port série en commandes I2C ou SPI... et renvoyer le résultat en série. Ça va coûter quelques $ mais ça serait bien plus robuste et capable d'aller bien plus vite bien plus loin ... Mais c'est plus du bidouillage 😅

  • @forestflorian1
    @forestflorian1 2 года назад

    Bonjour,
    Super vidéo merci.
    Peux tu faire les mêmes tests sur du bus 1-wire et avec minimum 5 capteur style ds18b20?
    J'ai en effet toujours eu des difficultés à mettre plusieurs capteurs ds18b20 sur un même bus.
    Pourtant prévu pour....

    • @rombarth5496
      @rombarth5496 2 года назад +1

      Salut :) il y a une note technique interrssante de Maxim Integrated sur la liaison 1wire (AN148) . Ils montrent où utiliser un transistor MOSFET pour booster le signal ou adapter la ligne afin de communiquer sur de longues distances et plusieurs devices à l'aide d'un câble réseau.
      Merci pour cette vidéo vraiment intéressante :-)

    •  2 года назад +1

      De mémoire, ce sera difficile car le 18b20 n'utilise pas un bus synchrone temporisée par une horloge venant du maître. La temporisation est décidée aussi par l'esclave. Pour cette raison, je n'aime pas la sonde 18b20.

  • @kappipii
    @kappipii Месяц назад

    super tuto mais je ne comprend pas trop ce qui doit définir la valeur de la résistance et du condensateur ? le condensateur doit être placé entre le vcc et la masse ?

    •  Месяц назад +1

      Le condensateur c'est pour filtrer l'alimentation, donc rien de critique. La résistance est sélectionnée pour améliorer la forme de l'onde. Essayez avant de déployer.

  • @ElektroLUDIKITS
    @ElektroLUDIKITS 2 года назад

    « One wire? » 😄
    Les anciens savent... 😉

  • @patrickmontier6851
    @patrickmontier6851 2 года назад

    Bonjour, je ne comprends pas pourquoi on ne pourrait pas faire passer du 100Khz avec un câble réseau stp cat5/6 ...bien sur que oui ! puisque en liaison réseau ce câble peut transmettre du 100Mhz sur 100 mètre sans atténuation.

    •  2 года назад

      J'ai expliqué que les sorties GPIO n'ont pas la composition pour pousser suffisamment de courant instantané pour charger la capacité du câble. Attention, c'est 100 Kb/s de débit, mais la forme de l'onde carrée nécessite une bande passante bien plus grande que 100 KHz!

    • @patrickmontier6851
      @patrickmontier6851 2 года назад

      @ Ok merci de votre réponse . bonne journée !

  • @yvesj.2786
    @yvesj.2786 2 года назад +1

    Il y a plus de 30 ans j'ai utilisé une liaison RS232 sur une distance de près de 90 m, pour un essai de plusieurs jours. C'était à faible vitesse (9 600 bauds) et avec un protocole qui rejetait les trames erronées. Le câble n'avait rien de spécifique (deux paires torsadées). C'était avec des composants d'interface à l'ancienne (MC1487/MC1488) qui délivraient des signaux d'amplitude élevée, car alimentés sur +/-12V.
    Je pense que je n'aurais pas eu le même succès avec des convertisseurs USB/RS232 d'aujourd'hui, car la majeure partie de ces convertisseurs délivrent des signaux minimalistes (du genre +/-5V) tout juste assez élevés pour respecter le minima de la norme RS232

  • @gerard.pardoel4295
    @gerard.pardoel4295 2 года назад

    Je croyais que les liaisons numériques à distance avaient été calquées sur l’impédance de 600ohms des liaisons téléphoniques ?

    •  2 года назад +1

      Non. Lisez sur les câbles réseau, Wikipedia par exemple.

    • @gerard.pardoel4295
      @gerard.pardoel4295 2 года назад

      @ Merci beaucoup, et bonne journée.

  • @rdson1621
    @rdson1621 2 года назад

    🤨 i'm gonna give you a new name: electro renegade 😂

  • @dandejy6520
    @dandejy6520 2 года назад

    Un peu déçu par le contenu. J'espérais voir des schémas d'interfaces rapides pour ces liaisons.
    Ca m'étonnerait qu'un SPI à 10MHz passe juste avec une résistance et aucun driver adapté. On a pas vu le scope pour ça.
    L'intérêt d'un câble réseau est qu'il est conçu pour du 100MHz voire plus. Donc pour un baud rate de 100Kbits, autant prendre n'importe quel câble signaux.

    •  2 года назад

      Je parle bien de vitesse dans les dizaines et centaines de kilobits. Je n'ai jamais suggéré utiliser du SPI à pleine vitesse. Les petites astuces ne fonctionneront pas car les topologies de GPIO ne sont pas adaptées pour s'interfacer à de longues lignes de transmissions. Il faut faire de la conversion à des des interfaces appropriées. Je crois que le message était assez clair.