Vous ne pouvez pas modifier cette page, pour la raison suivante :
L’action que vous essayez de réaliser n’est permise qu’aux utilisateurs du groupe : Utilisateurs.
Statut du projet
(Un choix)
Concept Experimental Prototype Fonctionnel Inconnu Abandonné Obsolete
Statut de la publication
Aucune Brouillon Publié Finalisé
Image
Importer un fichier
Description
(petite description du projet, 80 caractères max)
Licence
Vous pouvez trouver plus d'informations sur les licences libres sur le site creativecommons.org.
Contributeur⋅ice⋅s
(personnes participant au projet, séparés par des virgules):
Inspiration
Matériaux
(liste des matériaux utilisés, séparés par des virgules)
Machines
(liste des machines spécifiques utilisées, séparés par des virgules)
Fichier(s) source
Url
Un problème ou une suggession à propos de ce formulaire ? Parlez en sur Discussion:DataFab
Texte libre:
==Résumé== Le sujet de la semaine à la fabacademy est [http://academy.cba.mit.edu/classes/networking_communications/index.html Le réseau] : il faut réaliser une liaison réseau entre deux microcontrôleurs. Je vais essayer, en partant de l'exemple "serial asynchronous" de faire un réseau minimaliste avec de la fibre optique de récupération que nous a donné un adhérent. Autrement dit, transformer les signaux RX et TX de la liaison série en signaux lumineux à l'aide d'une led infrarouge et d'une photorésistance. ==Conception du circuit== je vais reprendre la majeure partie du circuit de communication série, mais en remplaçant les connections électriques par * une led infrarouge pour émettre [http://www.farnell.com/datasheets/1700730.pdf datasheet] * un phototransistor infrarouge pour recevoir [http://pdf1.alldatasheet.com/datasheet-pdf/view/127429/OPTEK/OP580.html optek OP580] Comme je n'ai pas encore de prisme pour envoyer et recevoir dans la même fibre. je vais donc fixer deux fibres (une aller, une retour) ====résistance pour la led infrarouge==== selon son datasheet, sa tension nominale est de 1.55v avec un courant de 50mA donc, en 5V : R = (5-1.55) / 0.05 = 69 Ohm la valeur la plus proche dans le fabinventory est 100Ohms ====principe de fonctionnement==== Par rapport à l'exemple de base, les communications série sont simplement répliquées optiquement à l'aide la led et de de la photorésistance. je reprendrais le code de la communication série (en inversant les entrées et sorties sur le noeud) [[image:Fibernetwork_sketch.png|500px]] si j'avais à ma disposition des prismes, j'aurais put faire transiter les communications dans les deux sens dans la même fibre, mais pour le moment, je vais me contenter de deux fibres unidirectionnelles. ====Le bridge==== c'est le noeud connecté à l'ordinateur avec une liaison FTDI [[image:Fiber.bus.45.bridge.board.png|600px]] [[image:Fiber.bus.45.bridge.traces.png|300px]][[image:Fiber.bus.45.bridge.interior.png|300px]] [[Fichier:Fiber.bus.45.bridge.cad]] ====Le noeud==== c'est le noeud distant. Pour l'instant, en l'état, le réseau n'est pas extensible, car les noeuds devraient répliquer le signal pour les suivants, avec une autre paire de led/phototransistor. Pour ce premier essai, je ne fait dialoguer que deux unités. [[image:Fiber.bus.45.node.board.png|500px]] [[image:Fiber.bus.45.node.traces.png|250px]] [[image:Fiber.bus.45.node.interior.png|250px]] [[Fichier:Fiber.bus.45.node.cad]] ====support de fibres==== pour tenir les fibres devant les composants, je vais tailler une plaque de plexi noire à la découpe laser : [[Fichier:Fiber.bus.cache.svg]] ==fabrication== ===fraisage=== Après avoir fraisé le premier circuit, lors de la découpe, la plaque a bougé car j'avais utilisé un scotch de mauvaise qualité. Pour rattraper l'erreur, j'ai fait une découpe légèrement plus large pour éviter de détruire le circuit en cas de défaut d'alignement. Le résultat est un peu moins joli, mais est fonctionnel. [[image:Fiber.milled.pcbs.jpg|700px]] ===soudure=== je suis maintenant plus à l'aise avec les CMS [[image:Fiber.components.jpg|500px]] j'ai du rajouter des fils pour alimenter le noeud. ===connection fibre=== j'ai réalisé de petits connecteurs en plexiglass noir pour enficher les fibres [[image:Fiber.connector.jpg|700px]] le connecteur est fixé à la colle chaude : ça suffira pour les tests [[image:Fiber.connection.jpg|700px]] ==code== j'ai simplement repris le code de [http://academy.cba.mit.edu/classes/networking_communications/bus/hello.bus.45.c l'exemple serial]. à l'identique pour le bridge, j'ai inversé les entrées et sorties pour le noeud ==tests== j'ai utilisé le terminal python de neil : [http://academy.cba.mit.edu/classes/embedded_programming/term.py term.py] <code lang=bash>python term.py /dev/ttyUSB0 9600</code> ===le bridge=== Le bridge ne répond pas du tout comme je l'aurais souhaité : quand j'envoie "0" dans le terminal, la led s'allume mais reste allumée, et je n'ai pas de message en retour. je suppose que les composants que j'ai rajouté sur la ligne de communication interfèrent ===le noeud=== Lui par contre réagit correctement {{#Widget:Vimeo|id=93264367}} du moins la led s'allume-t-elle lorsqu'on envoie un 0 ou ...un 8 (alors que le code implémente que jusquà 7...) c'est bizarre car j'ai indexé le noeud à "1" : je suppose que le temps de réponse du phototransistor n'y est pas pour rien : "rise and fall time = 15us" dans le code le bit_delay_time=100us pas de réponse dans le terminal . J'ai mesuré à l'oscillo la tension du pin d'entrée , en fonction des nombres envoyés par le port série : <gallery> Fiber.rx.0.png|0 : 00000000 Fiber.rx.1.png|1 : 00000001 Fiber.rx.2.png|2 : 00000010 Fiber.rx.3.png|3 : 00000011 Fiber.rx.4.png|4 : 00000100 Fiber.rx.5.png|5 : 00000101 Fiber.rx.6.png|6 : 00000110 Fiber.rx.7.png|7 : 00000111 Fiber.rx.8.png|8 : 00001000 </gallery> [[image:Fiber.rx.5.vs.serial.png|300px]] Le signal reçu supperposé au signal série envoyé confirme mes soupçons : le temps de réaction du transistor et/ou de la led sont trop longs [[Catégorie:FabAcademy]]
Résumé :
Modification mineure Suivre cette page
Annuler