Seaperch (1 / 4 étapes)

Étape 1: Étape 1: Détails

USNA ditrème

Suite de détection

Par : J.C. Johnson

Modifications à la structure de ditrème, connexions de technique et de fil de montage

Augmenter la largeur de la ditrème traverses de 4.5" à 5.5" pour recevoir une plaque de montage d’aluminium 5 « x 6 » et 5 "x 7 « x 3 », boîtier étanche qui abrite un Arduino Uno, le flasque arrière du Adafruit V2, un module de dérivation de courant/tension INA219, Arduino sans fil SD Shield, un module de dérivation 9DOF et la batterie de Lithium-Ion 12V-9800mah.

La surface du support moteur a été modifiée en déposant les membres horizontaux et verticaux avec fichier demi rond d’une profondeur et une largeur pour accueillir la structure circulaire du moteur. Remplacé existant support moteur tie-wraps avec quart-vingt - 3 « x 1-3/8 » U-boulons filetés, metal support plaqué et noix de beauté capuchon pour protéger les fils exposés de boulons en U et tuyau sous plastique appliquée aux boulons en U pour minimiser la corrosion de leurs surfaces exposées.

Couper la connexion de la sangle Ethernet de l’extrémité ditrème du câble Ethernet à une longueur d’environ 18". Retirez 6" la gaine extérieure du câble. Insérez l’extrémité coupée du câble dans une des glandes de câble installés dans le boîtier imperméable à l’eau. Dépouiller ½", puis plier et les extrémités de la paire de fils exposer d’étain et connectez chaque paire pour les connexions correspondantes de moteur (M) du bouclier moteur V2 comme suit :

Paire de Orn/Orn-Wht au connecteur gauche/droite de M1

Paire/Blu-YLO sur le connecteur de gauche/droite de M2

Paire de GRN/Grn-Wht au connecteur gauche/droite de M3

BRN/Brn-Wht paire de connecteur de chargeur de batterie externe

Fixez un connecteur RJ-45, 1 Table en utilisant comme guide, à l’autre extrémité de la sangle d’Ethernet qui a été coupée. Cet effet sera ensuite relié à la hors-bord latéral d’une glande de câble Ethernet étanche installée dans l’enceinte. Cela permet le ditrème faut débrancher le contrôleur quand pas en service. Couper et utiliser un morceau de câble Ethernet, environ 6" de long, disposant d’un connecteur RJ-45 de (Jack) mâle à une extrémité et rien sur l’autre extrémité. Enlever environ 3" de l’enveloppe extérieure de l’extrémité coupée de ce morceau de câble pour exposer les paires de fils du câble. La bande 1/2 po de l’extrémité de chaque fil paires-en prenant soin de ne pas nick le conducteur en cuivre. Plier et étain les extrémités exposées de chaque conducteur. Cela ajoute une force pour les petits fils du câble Ethernet. Connectez fin du câble Ethernet RJ-45 sur le côté au bord de la glande de l’Ethernet puis les extrémités étamées à broches entrée numérique-du bouclier V2 respectifs se référant à ce qui suit comme un guide.

Adaptateur RJ45 / broche métallique couleur V2 broches D-I/O

1 ORN/WHT D3

ORN 2 D2

3 GRN/WHT D5

4/YLO D7

5 BLU D6

6 GRN D4

7 BRN/WHT + 5V

BRN 8 GND

Câblage du capteur MPX5500

Utiliser un 6" morceau de câble Ethernet avec la veste complètement enlevée pour connecter le MPX5500 à l’entrée analogique correspondante du bouclier moteur V2 comme suit.

(Voir fiche technique MPX-5500)

PIN1 - (encoches) sortie fil-capteur WHT/ORN à l’entrée de bouclier (A0)

PIN2 - bleu fil de masse du système

Broche 3 – fil ORN au + 12V alimentation Positive provenant de la V2 bouclier broche Vref

Description du boîtier étanche et circuits

Le boîtier étanche (PID 905, SID 95,1) a été acheté chez Adafruit Industries. Les dimensions de L 6.75" x l 5.0" H X 3.0" trouvées nécessaires afin de tenir compte de tous les composants internes et les câbles. L’espace requiert percer trois trous pour fixer les différents câbles et tubes par l’intermédiaire de plusieurs glandes de câble étanche à l’eau. La glande de l’Ethernet nécessite un trou d’environ ¾" de diamètre (exact. 794"). Les deux autres, plus petites glandes nécessitent des trous d’environ ½" de diamètre (exact. 494").

Modification au contrôleur de ditrème

Pour qu’un ditrème existant contrôleur fonctionne avec l’Arduino Uno & Adafruit V2 flasque arrière, il sera nécessaire d’apporter plusieurs modifications au contrôleur. Remarque : Il a été décidé de modifier et existants boîte de commutateur de contrôle plutôt que d’aller à travers l’effort de concevoir et de construire une toute nouvelle. En outre, étant donné la possibilité que la prochaine étape dans le développement de la sonde peut être pour contrôler la direction de le ditrème grâce à l’utilisation d’un gyroscope ou boussole, que cette approche peut mieux se prête dans cette direction.

Les modifications de contrôleur sont accomplies en coupant plusieurs traces de soudure de circuit imprimé et en ajoutant plusieurs fils de raccordement. Ces modifications sont nécessaires, depuis la fonction d’origine du contrôleur, qui devait fournir +/-12V à la ditrème moteur pour marche avant/marche arrière et haut/bas direction contrôle va changer. Au lieu de cela, le contrôleur offrira désormais des + 5v, ce qui représente une logique « 1 » et au sol, ce qui représente un « 0 » logique à l’Arduino à direction de contrôle de la ditrème via le flasque arrière du moteur V2. Remarque : les modifications qui suivent peuvent être effectuées est beaucoup plus facile si la platine est inhabitée c'est-à-dire une où aucun composants ne sont installés

Pour commencer, le Brn-Brn/Wht rechange fil paire de Ethernet câble fournira désormais + 5v et au sol du bouclier Arduino Uno et V2 à la source du côté de contrôleur de ses commutateurs, fournissant ainsi les entrées logiques nécessaires à l’Arduino Uno via le flasque arrière du V2. Tout d’abord, dessouder et enlever les fils rouge et noir pour la batterie externe du contrôleur. Ensuite, connecter et souder un fil de raccordement de broche 8 (GND) du connecteur RJ-45 à-12V oeillet connexion étiquetée (BLK) sur la face inférieure du contrôleur. Ajouter un deuxième fil de liaison de la garniture de soudure (BLK) pour la connexion de support de fusible plus rapprochée de l’aiguillage de côté SIFFLÉ. Ajouter un troisième fil de pontage à travers les contacts des deux premiers de Port commutateur-SW2. Cette modification servira maintenant fournir un « terrain », provenant de la circuiterie Arduino Uno R2/V2 flasque arrière du moteur, pour le cas échéant mettre en contacts de SW1 (STB) et SW2 commutateurs (ports) et les contacts (NC) de SW3/4 & SW5/6 (haut/bas) commutateurs, qui étaient initialement connecté au côté négatif de la batterie externe 12V. Cette nouvelle connexion servira ensuite pour fournir la logique « 0 » pour les entrées numériques D4-D7 à l’Arduino Uno. Remarque : Il est IMPORTANT de retirer le fusible (F1), comme il n’est donc plus nécessaire pour protéger et si laissé en place provoque un court-circuit entre le + 5V et GND. Toutefois, le porte-fusible maintenant permet de se connecter à une LED (L1) à travers un 330 ohms actuel limitant la résistance. LED L1 qui sera utilisé comme un indicateur visuel qui reçoit le contrôleur + 5v et au sol de l’Arduino Uno.

Les contrôleur circuit trace coupe apporter des modifications requièrent la découpe minutieuse de plusieurs souder les traces gravées du circuit imprimé. Ceci peut être accompli à l’aide d’un couteau Xacto ou couper de la même manière forte outil comme suit : couper la trace immédiatement adjacente à l’oeillet de la connexion (non) SW5/6 sur le dessus du circuit imprimé. Il est également nécessaire de couper la trace de soudure de circuit imprimé qui était initialement liée à la + 12V côté du fusible immédiatement entre C2 et C3 oeillets et immédiatement à côté de l’étiquette de la STB. Ensuite, couper les traces immédiatement adjacentes à (aucun) oeillet de connexion SW3/4 sur la face inférieure de la platine. Connectez et cavalier de pin 7 du connecteur RJ-45 pour les SW3/4 SW5/6 circuit board touche & étiqueté (NO) et le + 12V oeillet. Ces modifications permettent aujourd'hui + 5V de l’Arduino Uno y être connectés aux contacts (NO) SW3/4 et 5/6 SW afin de servir de "logique 1" ces bascule vers le numérique entrées D2 & D3 d’Arduino Uno... Ceci élimine également le besoin d’une connexion de batterie externe au contrôleur, car l’alimentation 12VCC requise pour piloter les moteurs de ditrème est maintenant fournie par la batterie de Li-Io en interne logée dans le boîtier étanche sur le ditrème. Commutateurs SW3/4 et SW5/6 auront désormais leurs contacts (NC) raccordés à la terre et leur contact (non) reliée à + 5v afin de fournir une logique "0" ou "1" sur les entrées numériques D2 & D3 de l’Arduino Uno. SW1 et SW2 tous ses contacts commutés connectés au GND dans ordre auront désormais à fournir des logiques « 0 » aux entrées normalement « tiré-Up » de D4-D7 de l’Arduino Uno.

Description des composants, les circuits et les connexions

La glande Ethernet connecteur RJ-45 femelle-femelle et permet le branchement/débranchement de le ditrème du contrôleur selon les besoins. Une des plus petites glandes de câble est utilisée pour insérer l’extrémité du câble Ethernet qui est attaché à l’intérieur du moteur à la V2 motos sorties de moteur d’entraînement de l’écu (M1-M3) via embases. Le bouclier de moteur V2 dispose d’une sortie de puissance moteur (M4) quatrième, qui est maintenant une pièce de rechange que l’autre, plus petite presse étoupe sert à insérer une longueur de Tygon ou tubes similaires qui sort par une des plus petites glandes et est exposé à la pression d’eau. L’autre extrémité du tuyau se connecte au côté de pression positive de la sonde de pression différentielle intégrée MPX5500. Ce capteur mesure la pression atmosphérique à différentes profondeurs et fournitures un signal analogique qui est connecté à l’analogique entrée A0 de l’Arduino Uno via une liaison d’en-tête V2 flasque arrière et servira de rétroaction pour contrôler la profondeur de la ditrème souhaitée. Le bouclier moteur V2 est attaché à l’Arduino Uno via embases mâles nécessitant une brasure sur le bouclier de V2. Il est également nécessaire de souder plusieurs connecteurs femelles en-tête à la V2 afin de connecter les différentes entrées et sorties de/pour le microcontrôleur de Uno. Une attention et un soin extrême est nécessaire lors du brasage les entêtes pour le bouclier de la V2, car elles sont très petites, rapprochées et fondent facilement. Les circuits seront maintenant logées dans le boîtier étanche utilisé pour alimenter le microcontrôleur Arduino Uno, Adafruit v2 flasque arrière et fourniront une puissance suffisante pour lecteur que ditrème moteurs charge un 12V, 9800mah, batterie rechargeable de Lithium-Ion avec un interrupteur ON/OFF et interne. Le flasque arrière du moteur V2 offre un point de connexion pour les entrées/sorties de/vers le contrôleur de ditrème, le capteur de pression MPX5500 et ditrème drive motors. Le pilote MOSFET V2 bouclier employés un TB6612 avec 1. 2 a par canal et 3 a capacité de courant de crête. Ceci devrait fournir suffisamment de puissance pour piloter efficacement les moteurs de ditrème. Ces PWM, polarité réversible sorties sont connectées aux bornes M1-M4 du bouclier, où les moteurs verticaux, bâbord et tribord de la ditrème sont connectés. Le bouclier Piggy-Back sur l’Arduino Uno via connecteurs à broches en-tête, comme décrit précédemment. Entrées du ditrème mis à jour le contrôleur fournissent maintenant des entrées logiques de 1 et de 0 (+ 5v = vrai GND = false) sur les entrées numériques de l’Arduino, D2-D7, pour contrôler le sens du moteur. Le signal du capteur de pression, comme décrit précédemment, fournit un signal analogique pour les entrées analogiques de l’Arduino, A0 & A1, permettant ainsi de rétroaction qui fonctionne en conjonction avec le signal moteur vertical pour définir et contrôler la profondeur de la ditrème. Les signaux logiques des interrupteurs à bâbord et à tribord de la manette commutateur conduira, selon leur position ou d’État, chaque moteur en direction avance ou en arrière et ne comptent pas sur n’importe quelle rétroaction. Le tableau 2 décrit les positions du commutateur contrôleur, l’état logique qui en résulte et l’action résultante à effectuer :

Tableau 2

Tribord-SW1 Position broche RJ-45 V2 Pin 6 Action

Centre-Off D4/D5-tiré-up ne rien faire

Avant 3 D4 - 0 M2-CW

D5 vers l’arrière 6 - 0 M2-CCW

SW2-Port

Centre Off D6/D7-tiré-jusqu'à ne rien faire

Avant 5 D7 - 0 M3-CW

D6 vers l’arrière 4 - 0 M3-CCW

SW3/SW4

HORS D2 - GND ne rien faire

SUR 2 D2 - + 5V M1-CW

SW5/SW6

HORS D3 - GND

SUR 1 D3 - + 5V M1-CCW

SW3/SW4 & SW5/SW6

ON / ON D2/D3-1 / 1 lire/stocker le capteur de pression d’entrée

Circuit d’alimentation de commande à distance

Afin de réduire la nécessité d’ouvrir le boîtier en plastique pour mettre sous/hors tension le circuit interne contrôlée par un RF, télérupteur 12v 15 ampères a été utilisé. Ce commutateur prend + 12Vdc sur son entrée (paire rouge-noir) qui est passée à sa sortie (paire de blanc-noir) lorsque vous appuyez sur le bouton « ON » de l’émetteur à distance. Lorsque vous appuyez sur l’interrupteur « OFF » de l’émetteur la + 12Vdc est supprimé sa sortie de forme.

Logiciel :

Arduino Uno microcontrôleur et le flasque arrière du Adafruit V2 sont programmés à l’aide de « Croquis », écrits en code C/C++. Tandis que code pas extrêmement compliquée, elle requiert cependant lecture approfondie de la base de code, l’examen des tutoriels en ligne et croquis d’échantillon disponibles provenant de nombreuses sources. Le code de l’Arduino et la flasque arrière est « Open Source »-signifiant qu’il peut être copié et utilisé gratuitement des licences le coût de l’Arduino, Adafruit et divers autres sites Web. Pour les « Novices » non-programmeur types, des recherches approfondies sur la façon d’écrire, compiler et télécharger le code est importer critique au succès présent et l’avenir de ce projet. C’est et peut être un effort très chronophage. Le code mis au point pour la Suite de détection USNA ditrème ne figureront pas dans le présent document, mais est fourni sous forme électronique auprès du directeur de programme de USNA tige et autres membres du personnel de la tige. Futures modifications au code et circuits électroniques sera nécessaires car les autres capteurs ou appareils électroniques sont ajoutés dans tout effort pour améliorer les performances de ditrème et d’atteindre l’objectif de l’USNA ditrème « autonomie ».

Liste des pieces

Description de coût fournisseur

Arduino Uno R2 microcontrôleur Amazon 13,28 $

Arduino sans fil SD Shield Arduino 20,00 $

Moteur Adafruit V2 bouclier Adafruit Industries 19,95 $

MPX5500-005DV pression capteur Omega 10,00 $

Adaptateur RJ45 / étanche câble glandes Adafruit Industries 9,95 $

Imperméable à l’eau petit câble glandes Adafruit Industries 1,95 $

Batterie de Li-Po 12V 9800mah Amazon 26,00 $

Boîtier en plastique de grande taille Adafruit 34,00 $

Boulons en U, 3 chaque @ $2 .39ea Ace Hardware 7,17 $

Outil de sertissage RJ45 & connecteurs Lowes 20,00 $

Interrupteur de télécommande RF MSD-INC via Ebay 15,60 $

2 chaque FTDI XBEE adaptateur Adafruit 40,00 $

2 chaque modules XBEE Series1 Adafruit 20,00 $

2 câbles de chaque série USB FTDI Adafruit 40,00 $

1NA219 courant/tension capteur Adafruit 20,00 $

9DOF Breakout Module Adafruit 40,00 $

Coût total: $337,90

Références fournisseur :

Site Web de ACE Hardware : http://www/ace.com/index

Adafruit site Web : http://www.adafruit.com

Site d’Amazon : http://www.amazon.com/ref=ap_frn_logo

Site de l’Arduino : http://arduino.cc/

Site Web de Lowes : http://www.lowes.com

Site Web oméga : http://www.omega.com/index.html

Ditrème site Web : http://www.seaperch.org/index

Références des pièces :

http://www.Adafruit.com/Products/163

http://www.Adafruit.com/Products/1120

http://www.Adafruit.com/Products/1018

http://www.Adafruit.com/Products/1032

http://www.Adafruit.com/Products/1604

http://www.Adafruit.com/Product/1714

http://www.Adafruit.com/Products/905

http://Arduino.cc/en/main/ArduinoWirelessShield

http://www.Adafruit.com/Products/70

http://www.Adafruit.com/Products/126

http://www.Adafruit.com/Products/128

http://www.Amazon.com/DP/B008QKJNOA/Ref=pe_385040_30332190_TE_3p_M3T1_ST1_dp_1

Contrôleur de ditrème mis à jour le schéma de câblage

Modifications de structure de ditrème

Contrôleur dessus trace cuts

Cavaliers de dessous de contrôleur et Trace Cuts

V2 Flasque arrière du moteur

V2 Schéma du flasque arrière

Arduino Uno R2 1

Conteneur étanche 1

Batterie Li-Io, chargeur & câble d’Extension

Description du produit

9800mAh DC 12V Super batterie au Lithium-ion

Descriptions :

Cette batterie Rechargeable est une batterie Li-ion de 12 v 9800mah et il est spécialement conçu pour actionner le dispositif de système qui emploie l’alimentation DC 12V.

Spécifications :

Couleur : noir

Capacité : 9800mAh.

Type: DC 12680

Dimensions : 115 x 62 x 21 (mm)

Interrupteur marche/arrêt intégré pour économiser la consommation d’énergie

Tension d’entrée : 12.6V

Tension de sortie : 10,8 ~ 12.6 DC

Vie du produit : Circulation de charge et décharge ≥500 fois

Forfait comprend :

1 x adaptateur secteur

Batterie Rechargeable au Lithium-ion 1 x 6800mAh

câble d’extension 1 x 3'

Adaptateur RJ45 / glande 1

Adaptateur RJ45 / glande 2

Adaptateur RJ45 / glande 3

INA219 Capteur de courant/tension 1

Breakout 9DOF 1

Travaillant sur la perche de mer suite de détection a été une véritable expérience d’apprentissage. Dans les paragraphes suivants, que je vais essayer d’expliquer certaines de mes expériences, les observations et les conclusions sur l’utilisation d’un microcontrôleur Arduino, une Adafruit flasque arrière, un capteur de pression MPX5500 et autres capteurs électroniques utilisés pour contrôler et lecteur de perche de mer moteurs.

Au départ, il a été décidé d’utiliser les 12 volts, batterie Lithium-Ion 4500mah pour alimenter tous les circuits électroniques. Ce pack de batterie de type a été choisi car il est rechargeable, légère et a un faible encombrement. Cependant, aussitôt après l’ajout de certains appareils électroniques supplémentaires, il est devenu nécessaire de démonter (break apart) de la batterie afin d’accéder à ses circuits internes et pour réduire encore sa hauteur, donc il pourrait plus facilement s’insérer dans le boîtier étanche ainsi que les autres appareils électroniques.

Il a en outre décidé qu’afin de pallier la nécessité d’ouvrir l’enveloppe chaque fois qu’il est devenu nécessaire de tourner la batterie marche/arrêt, un RF 12V disponible dans le commerce, télérupteur a été constituée. Cela a permis au système d’être à distance activé/désactiver-energized sans devoir ouvrir le boîtier. Vue externe de charger la batterie, sans devoir ouvrir le boîtier, j’ai connecté une extrémité de la paire de câbles BRN/BRN-WHT en interne à la batterie et connectorisés l’extrémité externe de la paire-à l’aide d’un connecteur étanche de série AMP SUPERSEAL 1,5. Le chargeur est également mis à jour le-ajoutant le second connecteur à l’extrémité de sortie du chargeur.

Pour des effets visuels, une série de white LEDS ont été ajoutés et sont alimentés par + 5Vdc développé à l’aide d’un régulateur de tension LM7805 qui prend + 12Vdc sur son entrée de la batterie et fournit + 5V sortie vers les LEDS, par l’intermédiaire de résistance ohms 920 série. Les LEDS et la résistance sont venus de la lumière de l’enfant de mon petit-fils mis au rebut « M. Moon in my Room » que j’ai trouvé dans son placard.

Après que l’assemblage du système a été achevée, on découvrit que lorsque la mise sous tension du système si plus de deux des moteurs perche de mer ont été mis sous tension en même temps tout le système serait « arrêt ». Dans le but de déterminer la cause de l’arrêt a été suivi le courant de la batterie et il a été constaté que le chargement présenté par chaque moteur individuel environ 500 ma. On a fait observer que lorsque plus un moteur était alimenté la tension de sortie de la batterie de Li-Io au hasard est tombé à 4.35vdc ainsi, désactivant l’interrupteur à distance-provoquant la fermeture vers le bas. Les volts 4,35 est censé être le niveau de tension « fail safe » de la batterie destiné à empêcher la décharger complètement la batterie.

Au départ, on pensait que le système « shut down » a été causé par un défaut dans l’interrupteur à distance. Toutefois, avec certains autres dépannage, j’ai découvert que si j’ai substitué un 12V-7. 0 a / hr batterie pour la batterie de Li-Io le commutateur tenue et j’ai pu conduire tous les trois moteurs simultanément.

Par le biais de quelques recherches en ligne, j’ai découvert que la batterie Li-Po packs employé plusieurs types de circuits de protection interne, un pour la protection de basse tension destiné à réduire la décharge complète de la batterie ; pour un courant excessif tracer destiné à protéger la batterie plus de chauffage (considéré comme un risque d’incendie sévère) et une pour les surtensions protection-tous visant à réduire les dommages permanents à la batterie.

À travers mes recherches, j’ai supposé que le système « shut-down » a été effectivement causé par l’un des circuits de protection de la batterie de déclenchement. J’ai ensuite découvert en remplaçant la batterie plus importante pour la batterie de Li-Io, tous trois de la perche de mer moteurs irait quand en même temps sous tension et présente une charge totale d’environ 1.5amps. Pour ma consternation, mon calcul de la charge initiale et raison d’utiliser qu'une batterie 4500mah semblait être dans l’erreur depuis le 1. 5 a charge semble être de trop pour la batterie. Déterminé que la batterie choisie aurait dû être suffisante, j’ai décidé de recharger la batterie, puis réessayez. Pendant la recharge, j’ai remarqué une petite étincelle à un bornes interne de la batterie. À la poursuite de l’enquête, on a découvert que le fil qui relie la borne positive de la cellule supérieure de plus de la batterie à la borne négative de l’intérieur la plupart des cellules de batterie a été lâche et mal soudées. J’ai ensuite soigneusement re-souder la connexion, alimenté par le système de surveillance du courant de charge et engagés tous les trois moteurs de perche de mer. Le système est resté sous tension et se déclenche pas, pendant un certain temps, puis a commencé à faire trébucher immédiatement lorsque mis sous tension ! Complément d’enquête a conclu qu’une des cellules de la batterie avait été coupée, probablement lors du démontage de l’emballage extérieur et qu’il était émettant une odeur âcre. À ce stade, la batterie a été remplacée avec une batterie de 9800mah et le système qui s’est tenue sous charge.

Un deuxième problème plus difficile à diagnostiquer est survenu quelque temps après que j’ai plongé initialement le système pour vérifier les fuites. Une fois immergé, j’ai observé immédiatement une fuite qui a pris naissance dans la glande de câble RJ-45. De plus, il a été déterminé que la fuite développée autour de câble du contrôleur était très probablement due à sa forme asymétrique, où il est entré à la glande.

Une nuit, après avoir lutté avec le programme de contrôle de Arduino, j’ai laissé par inadvertance le système connecté au port USB de mon ordinateur. Le lendemain matin, quand je suis rentré à poursuivre mes efforts, j’observe le moteur tribord en tournant dans le sens horaire (marche avant). Intrigué par cette expérience inattendue, j’ai commencé dépannage du système. Lors de l’ouverture de la glande de RJ-45, il a été observé que la glande avait conservé un peu d’eau dans leur propre pays. De plus, on a découvert que le contact commun de l’interrupteur avant de tribord lu 1,89 volts lorsque l’interrupteur n’était pas engagé. Puisque mon esquisse a été conçu pour exécuter la perche de mer moteurs lorsque le bâbord et tribord passez des entrées à l’Arduino sont à 0 Volt et les arrêter quand "tiré-up à 5 volts. De plus, il a été déterminé que the1.89 volts, soit inférieure à l’État stop 5 volts, soit à un niveau non défini était suffisante pour entraîner le moteur tribord à courir vers l’avant.

Autre diagnostic a également révélé que l’extrémité de la perche de mer du câble de commande, après avoir été exposé à de l’eau à l’intérieur de la glande de câble RJ-45, produit une légère résistance entre les + 5 volts sur pin7 et tribord avant pin6 du connecteur RJ-45 et doit avoir été suffisante pour provoquer le moteur tribord tourne vers l’avant sans son commutateur étant engagé. La fin de la glande et le câble ont été remplacés et la rotation du disque arrêté jusqu'à ce que commandé. Dans un effort pour arrêter les fuites futures, j’ai placé un petit morceau de tube autour du câble pour le rendre plus symétrique où il est entré la glande et en outre enduit le gland et le câble où il est entré à la glande à l’aide du mastic « Goop » dans un effort pour assurer plus étanche l’intégrité de la glande de RJ-45. J’ai aussi recouvert les petites glandes à leurs points d’entrée pour la même raison.

En conclusion, packs de batteries Lithium-Ion (Li-Io), bien que considéré comme approprié pour cette application, doivent être soigneusement sélectionnés basé, non seulement sur leur taille et leur poids, mais surtout sur leur capacité d’exécution actuel. Au cours de mes recherches, j’ai appris l’il y existe plusieurs types de batteries Li-Po disponibles sur le marché, certains avec la protection intégrée des circuits externes nécessitant une protection. J’ai appris aussi que si incorrectement facturés ils peuvent exploser et présenter un risque d’incendie grave. Par conséquent, il est extrêmement important de ne pas la recharger plus et peut-être ne devrait pas être laissé sans surveillance pendant la charge.

J’ai également conclu que l’eau serrée intégrité dans n’importe quel périphérique destinée à être immergée dans l’eau est extrêmement important, en particulier les dispositifs qui abritent des produits électroniques et composants conjonctifs. Exposition à l’eau, peu importe comment légère peut induire des problèmes, qui peuvent être très difficiles à identifier et à diagnostiquer.

Enfin, correctement programmation des microcontrôleurs et des circuits associés peut être assez difficile-en particulier d’une personne atteinte minime dans l’expérience de programmation C++. Un égaré ondulées {} ou une apostrophe oublié ; peut causer une beaucoup d’angoisse et heures d’effort !

2014

Poursuite du développement de la ditrème s’est avéré que la nécessité d’ouvrir le conteneur étanche pour accéder au port USB de l’Arduino est un problème. Non seulement mettre des contraintes excessives sur le câblage intérieur, il s’est aussi avérée pour être problématique pour l’étanchéité de l’enceinte, en insistant trop sur joint d’étanchéité de l’enceinte. Après que certains pensaient, qu'il a été décidé de tenter de programmer l’Arduino sans fil, atténuant ainsi la nécessité d’ouvrir le contenant n’importe quel moment un upload de nouveau ou mis à jour le croquis est devenu nécessaire. Une conversation antérieure avec un collègue USNA, Joe Bradshaw, elle a promu l’idée d’Arduino sans fil à l’aide de Xbees de programmation. J’ai décidé que ce serait la prochaine étape logique pour garantir l’intégrité de l’eau de la plante et la poursuite davantage d’autonomie de perche de mer.

Programmation sans fil n’est pas une tâche extrêmement difficile, il s’est avéré pour être un peu intimidant ! Il y a heureusement, rames de documentation « How-to » disponible sur Internet à partir de sources telles que Ladyada de Adafruit, Inc. et de nombreux autres développeurs aventureux. Le coût, ~ $100,00, des éléments disparates pour accomplir cette tâche est, pour moi, raisonnable, mais peut-être pas pour les amateurs de moyennes. Je vais essayer d’expliquer le processus et mes expériences dans les paragraphes à suivre.

Tout d’abord, je vais énumérer les pièces nécessaires, leur source d’achat, puis le processus d’assemblage d’un PAN (Personal Area Network) à l’aide de deux XBEE 802.15.4 série 1 et des matériels afférents. J’ai choisi la série 1 XBEES, tel que recommandé par http://ladyada.net/make/xbee/arduino.html et encore trouvé dans un tutoriel à http://www.ladyada.net/learn/avr/setup-win.html compréhension AVR programmation n’est pas absolument nécessaire, mais j’ai trouvé que passer par le tutoriel très utile pour comprendre la configuration d’AVR et le AVRDUDE haut/bas utilitaire chargeur utilisé par Arduino pour le téléchargement de croquis,

Pièces nécessaires pour créer un réseau d’adresse personnelle (PAN) :

2 chaque - série XBEE 1 802.15.4 modules achetés chez Adafruit, Inc. http://www.adafruit.com/products/128

2 chaque - kits d’adaptation XBEE achetés chez Adafruit, Inc. http://www.adafruit.com/products/126

2 chaque - câble USB FTDI-TTL.232-TTL232R 3.3V de http://www.adafruit.com/products/70 Adafruit, Inc.

Site de téléchargement de pilote : http://www.ftdichip.com/Drivers/VCP.htm

1Chaque - Arduino sans fil SD bouclier acheté d’Arduino http://arduino.cc/en/Main/ArduinoWirelessShield

1 de chacun – transistor NPN 2N2222, résistance de 10K, condensateurs de 0,1 µF acheté chez Radio Shack

Avant d’assembler le moule je l’ai trouvé nécessaire de télécharger et d’installer plusieurs programmes, dont j’ai trouvé très utile au processus. Tout d’abord est logiciel X-CTU de MAXSTREAM est très utile pour configurer et tester les modules XBEE. Il peut être téléchargé à partir du lien suivant : http://www.digi.com/support/kbase/kbaseresultdetl?id=2125 bien que n’importe quel terminal de programme, telles que Windows Hyper Terminal est suffisante, on doit être versé dans l’utilisation de commandes pour configurer et tester les modules XBEE, qui sont en fait juste les modems. X-CTU est extrêmement utile non seulement pour la configuration de XBEES, mais il contient plusieurs utilitaires pour les essais et la surveillance des réponses XBEE.

Deuxièmement, comme recommandé dans le tutoriel d’avr de le ladyada que j’ai énuméré ci-dessus, j’ai téléchargé et installé la dernière version de WinAVR sur Sourceforge. Il peut être téléchargé en suivant le lien dans le tutoriel ou directement à partir de sourceforge http://sourceforge.net/projects/winavr et fourni un précieux aperçu en train de programmer les microcontrôleurs AVR d’ATMEL.

Montage de la perche de mer PAN, en utilisant les composants décrits précédemment s’est avéré très difficile et exigé de nombreuses heures de recherche et développement, qui est finalement devenu nécessaire pour construire et configurer un modèle de travail. Cependant, une fois terminé, cet effort s’avère utile dans des autres modifications téléchargement à l’esquisse de perche de mer Arduino.

Le processus :

Tout d’abord, monter le kit adaptateur XBEE. Voir http://ladyada.net/make/xbee/solder.html

Quelque chose qui ne figure pas dans la notice de montage, mais il faut pour réinitialiser l’Arduino lors de téléchargement de code qui la broche RTS-16 de l’adaptateur doit être connecté à l’axe de DI03-17 de le XBEE.

NOTE : J’ai mon zèle ne pas faire surchauffer la puce de pilote de ligne 74ACH125N par elle à souder directement sur le tableau adaptateur j’ai d’abord installer une douille de 14 broches chip. Ne faites pas cela, car il s’est avéré pour être un problème et la puce a fait asseoir trop haut sur la planche pour accueillir le module XBEE ! Heureusement, avec l’aide de Norman Tyson de WS & E il parvint à se souder la douille de puce donc je pouvais souder la puce directement sur la carte. Une fois que les adaptateurs sont assemblés, insérez le module XBEE et l’insérer dans en-tête connecteur-l’adaptateur en prenant soin d’orientation-hint pin1 de le XBEE de le XBEE va à côté de la led rouge de l’adaptateur. VOIR CI-DESSOUS

Vous êtes maintenant prêt à configurer chaque XBEE, un à la fois, en connectant l’adaptateur à un port USB via le câble USB FTDI-TTL.232 de l’ordinateur tel qu’illustré ci-après.

Il est difficile de voir sur cette photo, mais la première broche (fil vert) du câble FTDI est connectée à la broche 2 de l’adaptateur - broche 1 pas. Une fois connecté à l’ordinateur, Windows « nouveau matériel détecté » message affichera et demander des informations sur les pilotes de l’adaptateur. Le gestionnaire de périphériques Windows reconnaîtra le câble FTDI comme un port com virtuel, exécute l’installation du pilote et afficher un nouveau périphérique série USB sous Ports (COM & LPT). Double-cliquez sur le nouveau dispositif et configurez-le comme un nouveau port COM. J’ai utilisé COM10, car il est disponible et configuré avec la valeur par défaut paramètres Baud taux 9600, No-Parity, 8 bits, un bit d’arrêt. c'est-à-dire de 9600, N, 8, 1. Lorsque vous configurez le nouveau port, il y a un autre paramètre est nécessaire pour permettre la bonne remise à zéro de l’Arduino. Paramètres de Port, sélectionnez l’onglet Avancé et cocher « Définir RTS sur Close ».

Le nouveau port COM sera désormais disponible pour X-CTU, qui devrait communiquer avec le XBEE avec ses paramètres par défaut, pour configurer et tester chaque XBEE.

Je ne tenterai pas d’expliquer chaque étape de la configuration de XBEE via le processus X-CTU ici, car ils sont trop nombreux pour discuter, une fois vers le haut et en cours d’exécution, en utilisant X-CTU devient assez intuitive. Cependant, il y a quelques petites choses à noter. Tout d’abord, la valeur par défaut ID PAN sur chaque XBEE devrait être remplacé par un nouveau paramètre ne pas d’interagir avec les autres XBEES qui pourraient se trouver à proximité. Deuxièmement, l’adresse de 16 bits de chaque XBEE doit être défini sur d’accord les uns avec les autres-c'est-à-dire dans sa forme la plus simple, le XBEE directement connecté à l’ordinateur doit avoir sa DH = 0 DL = 1 and MY = 0 et la télécommande XBEE doit avoir la valeur de son DH = 0 DL = 0 and MY = 1 voir http://www.ladyada.net/make/xbee/configure.html

J’ai également observé qu’il y a un réglage (EE) AES Encryption activez qui doit être désactivé. Toutefois, même si AES est désactivée chaque fois que X-CTU commence nouveau il constamment veut savoir le paramètre KY (clé de cryptage AES). J’ai il suffit d’entrer « 0 » et qui le fait. Il est également utile d’affectant la clé NI un nom pour chacun de vos XBEES vous reconnaîtrez. N’oubliez pas d’enregistrer toutes les modifications de réglage et enregistrez-les dans un fichier pour le chargement de l’avenir.

Enfin, et c’est très important ! Afin de configurer le XBEE distant à la fin de l’Arduino, le local XBEE connecté à l’ordinateur doit avoir le AP (API activé) pour activer enable API (1). Si le paramètre AP est laissé dans ce mode, Arduino communiquera avec le XBEE local sur la fin de l’ordinateur. Avant de repartir en X-CTU Réglez la AP sur désactivé (0) et d’écrire le nouveau paramètre dans le XBEE local!!!

Une fois que les XBEES sont correctement configurés et communiquent avec l’autre, il est temps de fixer le XBEE distant à un Arduino. Remarque : exemple de ladyada suivants que j’ai acheté un Atmel 328p Duemilanove Bootloader puce de Adafruit et installé sur un Arduino Uno. Je ne sais pas si c’était absolument nécessaire, mais conformément aux instructions du ladyada, je l’ai fait. J’ai installé le XBEE distant sur un bouclier Arduino de la SD sans fil et connecté le bouclier à l’Arduino modifié. Comme l’a recommandé dans sans fil XBEE-tutorial de ladyada Arduino tutoriel que j’ai également construit l’Arduino réinitialise circuit du bouclier décrit et illustré ici.

XBEES sont assez faibles et n’ont pas le punch pour réinitialiser un Arduino sur leurs propres, et nous devons donc il associer à un transistor qui va faire le lourd de levage de la ligne de réinitialisation en tirant vers le bas. Peu près n’importe quel petit transistor de NPN fonctionnera très bien ici. Mettre un condensateur de 0.01UF à 0.1uF en série avec le fil de le XBEE et connectez l’autre extrémité à la base de transistor NPN. L’émetteur du transistor se connecte à la terre. Mettre une résistance entre la base et l’émetteur autour de 10K. Cela va tirer vers le bas de la base pour empêcher la réinitialisation accidentelle de l’Arduino.

Ce circuit utilise le signal de DIO3 de le XBEE, qui était liée à la ligne de la TVD de le XBEE sur la fin de l’ordinateur indiquée plus tôt, comme l’entrée de signal de reset de le XBEE. Maintenant, connecter le tout vers le haut, commencer l’Arduino et téléverser une esquisse. Si tout fonctionne bien l’esquisse chargerez avec succès. Astuce : ouvrir fichier/Préférences dans l’Arduino et la « spectacle de sortie verbeuse pendant le téléchargement ». Ceci affichera la séquence de chargement et en cas de succès affichera le téléchargé le code et enfin afficher le message : avrdude fait. Merci.

REMARQUE :

Lorsque Arduino postera code il crée deux répertoires horodaté : un « construire quelque chose » et « quelque chose console » dans le répertoire /Username/Local/Temp de l’utilisateur actuel. Le répertoire de build contient un enregistrement de ce qui a été transféré et le répertoire de la console contient deux fichiers : stderr.txt et stdout.txt, dont un très utile dans le diagnostic des Arduino upload activité.

Une fois le PAN sans fil a augmenté et fiable ne fonctionne, je me rendis ensuite d’ajouter plusieurs deux autres capteurs à ma plante à inclure : un capteur "neuf degrés de liberté » (9DOF en petits groupes), un capteur de trois-en-un destiné à ajouter un Gyroscope, un accéléromètre et boussole destinée à accroître la stabilité, vitesse, direction et rouler & pitch control à ma plante. Le capteur de 1NA219 a été ajouté dans le but de diagnostiquer un problème qui s’est avéré pour être un problème impliquant la batterie Li-Po aléatoire arrêt au cours des essais. D’autres recherches ont montré que ces types d’accus ont construit dans les circuits de protection destinés à se protéger contre une des trois conditions : sous tension, tension et courant. Il est vite devenu évident qu’une des conditions suivantes doit avoir existé et a été la cause de la fermeture de batterie. Ce problème a été l’impulsion nécessaire pour installer le capteur de courant/tension 1NA219.

Au début, j’ai cru que surintensité était à l’origine du problème. Employant un courantomètre, j’ai pu observer les charges d’environ 500-700ma par moteur et pas plus que 3 a la charge totale lorsque toutes les trois moteurs ont été mis sous tension en même temps. Par ailleurs, si j’ai calé manuellement n’importe quel moteur j’ai observé des charges ne dépassant pas 2 a, qui a fait se déclenche pas la batterie. Ces observations puis m’a amené à croire que la surintensité n’était pas la cause. Puisque la tension de sortie de la batterie constamment lu conforme aux spécifications, il était évident qu’une condition de sous-tension n’était pas la cause, laissant ainsi qu’une seule condition, une surtension induisent à la batterie comme cause probable.

Comprendre que les moteurs agira comme générateurs lorsque la puissance est soudainement retiré ou inversé, j’ai alors pensé que le Back EMF générées par les moteurs fut étant poussé à la batterie et son circuit de protection surtension pour engager l’origine. Étant donné que ce phénomène est généralement bien connu, il existe certains dispositifs électroniques, ces condensateurs, PN junction diodes, diodes zener et filtres qui peuvent réduire ou éliminer cet effet lorsque placé en ligne avec la charge de la batterie ou à travers le moteur conduit.

Sur la suggestion du professeur Carl Wick, j’ai essayé tout d’abord d’ajouter dos à dos les diodes zener travers moteur conduit. Cela s’est avéré assez efficace, mais j’ai toujours vécu aléatoire, quoique moins batterie fréquentes fermetures. C’est l’éminent qui arrêt pourrait être répétitivement causée par la mise sous tension de n’importe quel moteur puis rapidement inverser sa direction. Après une discussion avec et sur la recommandation de Joe Bradshaw, j’ai ajouté un filtre en PI entre la batterie et la charge, encore une fois avec un succès minime. L’ajout du code 1NA219 module et test sur mon croquis fourni la capacité de contrôler les charges et la tension de la batterie. La tension du système toujours présenté conformément aux spécifications, toutefois, les courants de charge batterie maintenant a montré très haute charge instantanée courants, parfois à plus de 3 a. Cette observation m’a ensuite conduit à la théorie selon laquelle une charge excessive actuelle causait courant de surcharge de la batterie circuit de protection pour le voyage.

Depuis toutes les tentatives pour corriger ce problème par le biais de matériel supplémentaire s’est avérée peu efficace, que j’ai alors décidé d’examiner mon logiciel de contrôle et que l’ajout de quelques retards à des endroits stratégiques dans l’esquisse effectivement trouvé a minimisé le problème de fermeture de la batterie.

À ce stade, j’ai atteint une limite de l’espace physique de l’ajout des sondes plus de matériel. Le sketch Arduino actuel, tel qu’il est rédigé, seulement fournit pour l’affichage des lectures de sortie des capteurs nouvellement constituées et ne fournit pas de contrôle de l’usine à l’aide de ces lectures. Il faudra par ailleurs, des recherches approfondies pour atteindre l’objectif de l’extrémité d’une perche de mer entièrement autonome.

Articles Liés

Construire un robot sous-marin

Construire un robot sous-marin

Perche de mer est un robot sous-marin innovant. Construire un sous l'eau, le robot est très cool. Bien sûr, il faut beaucoup de temps. Mais, il peut fonctionner avec une télécommande. Vous pouvez acheter un kit de perche de mer, qui est disponible en
Création d’un moteur électrique à courant Simple - Masco G44

Création d’un moteur électrique à courant Simple - Masco G44

Tous les moteurs de base suivent la même idée de transformer le courant électrique en énergie mécanique. Cette base construire d'un moteur électrique à courant continu simple (DC) ainsi que tous les moteurs électriques, utiliser l'électricité, le mag
Comment construire un Hydrophone stéréo (pas fini)

Comment construire un Hydrophone stéréo (pas fini)

un système stéréo hydrophone peut être utilisé pour entendre les bruits qui entourent votre ROV submergécomme si vous étiez à bord.  Vous ne serez pas seulement en mesure d'entendre ce qui se passe autour de votre ROV,mais devrait être capable d'ente