Modifications

Réseau fibre optique minimal

4 323 octets ajoutés, 19 juin 2014 à 09:01
aucun résumé de modification
{{Projet
|status= ConceptExperimental|image=Fiber.connector.jpg
|name=Réseau fibre optique minimal
|description=un mini réseau avec de la fibre de récupération
|license= CC-by-sa-3.0|Creative Commons Attribution CC-by-sa-3.0 France 
|contributeurs=Cedric
|inspiration=http://academy.cba.mit.edu/classes/networking_communications/index.html
|ingrédients=electronique, fibre optique
}}
 
 
==Résumé==
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)
zjfzeoijfzeoj====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 : 00000000Fiber.rx.1.png|1 : 00000001Fiber.rx.2.png|2 : 00000010Fiber.rx.3.png|3 : 00000011Fiber.rx.4.png|4 : 00000100Fiber.rx.5.png|5 : 00000101Fiber.rx.6.png|6 : 00000110Fiber.rx.7.png|7 : 00000111Fiber.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]]