Seaperch (1 / 4 stap)

Stap 1: Stap 1: Details

USNA snapper

Sensor Suite

Door: J.C. Johnson

Wijzigingen in de structuur van de snapper, montage techniek en draad verbindingen

De breedte van de snapper vergroten steken leden van 4,5" naar 5.5" aan de montageplaat van een 5 "x 6"-aluminium en 5 "x 7" x 3", waterdichte behuizing die beschikt over een Arduino Uno, de Adafruit V2 Motor Shield, een INA219 module voor de uitbraak van de stroom/spanning, Arduino Wireless SD Shield, een 9DOF breakout-module en de 12V-9800mah Lithium-Ion accu.

Het oppervlak van de motor mount is bewerkt door het indienen van de horizontale en verticale leden met half-ronde bestand naar een diepte en breedte aan de circulaire structuur van de motor. Vervangen bestaande motor mount tie-wraps met kwartaal-twintig - 3 "x 1-3/8" metalen schroefdraad Veerstroppen, vergulde back-ups en eindkap schoonheid noten te beschermen van de blootgestelde draden van Veerstroppen en toegepaste shrink-wrap buis aan Veerstroppen te minimaliseren roesten van hun blootgestelde oppervlakken.

Snijd de ketting ethernetverbinding vanaf het einde van de snapper van de Ethernet-kabel tot een lengte van ongeveer 18". Verwijder 6" de buitenjas van de kabel. Plaats de gesneden uiteinde van de kabel in een van wartels geïnstalleerd in de waterdichte behuizing. Strip ½" uit, dan vouwen en de uiteinden van het bloot draad paar tin en elk paar verbinding te maken met de bijbehorende motor (M)-aansluitingen van de V2 Motorschild als volgt:

Orn/Orn-Wht paar aan op de aansluiting links/rechts M1

Blu/Blu-Wht paar aan op de aansluiting links/rechts M2

GRN/Grn-Wht paar aan op de aansluiting links/rechts van M3

BRN/Brn-Wht paar aan externe batterij aansluiting voor de lader

Bevestig een RJ-45-connector, met behulp van tabel 1 als een gids, aan het andere uiteinde van de Ethernet-ketting die werd gesneden. Dit uiteinde zal dan worden aangesloten op de buiten kant van een waterdichte Ethernet wartel geïnstalleerd in de ruimte aan boord. Hierdoor is de snapper aan worden losgekoppeld van de controller wanneer niet in gebruik. Knip en gebruik een stuk van de Ethernet-kabel, ongeveer 6" lang, die heeft een RJ-45-connector voor mannelijke (Jack) aan de ene kant en niets aan de andere kant. Ongeveer 3" van de buitenste jas uit de gesneden eind van dit stuk kabel bloot de kabelparen van de kabel te verwijderen. Strip 1/2" van de einden van elke draad paren-verzorgen niet om nick de koperen conductor zet signalen. Vouwen en tin de blootgestelde uiteinden van elke dirigent. Dit voegt kracht aan de kleine draden van de Ethernet-kabel. Sluit het uiteinde van de RJ-45 van de Ethernet-kabel aan de kant van de in-board van de Ethernet-klier en sluit vervolgens de geconserveerde uiteinden aan de respectieve V2 Shield digitale ingang pinnen-verwijzen naar de volgende als een gids.

D-I/O pin RJ-45 pin # draad kleur V2

1 ORN/WHT D3

2 ORN D2

3 GRN/WHT D5

4 BLU/WHT D7

5 BLU D6

6 GRN D4

7 BRN/WHT + 5V

8 BRN GND

MPX5500 Sensor bedrading

Gebruik een 6" stuk van Ethernet-kabel met de jas volledig verwijderd de MPX5500 verbinden de overeenkomstige analoge ingang van de V2 Motor Shield als volgt.

(Zie MPX-5500 informatieblad)

Pin1 - (gekerfd) WHT/ORN draad-Sensor output naar Shield input (A0)

PIN2-- blauwe draad systeem grond

Pin3-ORN draad + 12V positieve leveren van V2 shield Vref pin

Beschrijving van de waterdichte behuizing en circuits

De waterdichte behuizing (PID 905, SID 95,1) is gekocht bij Adafruit industrieën. De afmetingen van L 6.75" x W 5.0" X H 3.0" bleken noodzakelijk om rekening te houden van alle interne componenten en bekabeling. De behuizing moet boren van drie gaten om te koppelen, de verschillende kabels en leidingen via verschillende waterdicht wartels. De Ethernet-klier vereist een gat van ongeveer ¾" diameter (exacte. 794"). De twee andere, kleinere klieren vereisen gaten van ongeveer ½" diameter (exacte. 494").

Aangebrachte wijziging snapper Controller

Om een bestaande snapper zullen controller te werken met de Arduino Uno & Adafruit V2 Motor Shield het nodig enkele wijzigingen aan de controller te brengen. Opmerking: Er werd besloten te wijzigen en bestaande controller omschakelapparaat eerder dan gaan door de inspanning van de ontwerpen en de bouw van een geheel nieuwe. Bovendien, omdat er de mogelijkheid dat de volgende stap in de ontwikkeling van de sensor worden kan om te bepalen van de richting van de snapper met behulp van een gyro of kompas die deze aanpak kan beter leent zich richting die richting.

De wijzigingen van de domeincontroller worden uitgevoerd door verschillende printplaat soldeer sporen snijden en het toevoegen van verschillende jumper draden. Deze wijzigingen zijn noodzakelijk, sinds de oorspronkelijke functie van de controleur, die moest geven de snapper +/-12V motoren voor vooruit-/ achteruitspoelen en omhoog/omlaag richting controle zal veranderen. In plaats daarvan de controller zal bieden nu + 5v, vertegenwoordigen een logisch '1' en op de grond, als een logische "0" aan de Arduino op controle richting de snapper via de V2 Motor Shield. Opmerking: de wijzigingen die volgen kunnen worden uitgevoerd veel gemakkelijker als de printplaat leeg is d.w.z. een waar geen onderdelen zijn geïnstalleerd

Om te beginnen, de reserve Brn-Brn/Wht draad paar de Ethernet kabel nu levert + 5v en ground van de Arduino Uno en V2 shield om de bron van de kant van de controller van de schakelaars, waardoor de noodzakelijke logische ingangen aan de Arduino Uno via de V2 Motor Shield. Eerst unsolder en verwijder de rode en zwarte draden naar de externe batterij van de controller. Vervolgens sluit en soldeer een jumper draad van pin 8 (GND) van de RJ-45 connector op de - 12V oogje verbinding met het label (BLK) over de onder kant van de controller. Een tweede jumper draad uit de (BLK) soldeer pad toevoegen aan de zekering houder verbinding die zich het dichtst bij de STBD kant schakelaar. Een derde draad van de jumper over de bovenste twee contacten van Port switch-SW2 toevoegen. Deze wijziging zal nu worden gebruikt zorgen voor een "Ground", die door de Motor Shield voor Arduino Uno R2/V2-circuits, overschakelen naar de juiste contacten van SW1 (STBD) & SW2 (poort) schakelaars en naar de (NC) contacten van SW3/4 & SW5/6 (omhoog/omlaag) schakelaars, die oorspronkelijk werden aangesloten op de negatieve kant van de externe 12V accu. Deze nieuwe verbinding zal vervolgens worden gebruikt om logische "0" naar digitale ingangen D4-D7 naar de Arduino Uno. Opmerking: Het is belangrijk om te verwijderen van de zekering (F1), zoals het is niet langer nodig voor bescherming en als links in plaats leiden een korte tussen tot zal de + 5V en GND. Echter kan de zekeringhouder nu worden gebruikt om verbinding te maken met een LED (L1) door middel van een huidige 330 ohm weerstand te beperken. LED L1 die zal worden gebruikt als een visuele indicator die de controller ontvangt + 5v en ground uit de Arduino Uno.

De controller printplaat trace snijden wijzigingen vereisen het voorzichtig uitsnijden van verschillende soldeer geëtste sporen van de printplaat. Dit kan worden bereikt gebruikend een Xacto mes of ook snijden scherp gereedschap als volgt: Knip de trace onmiddellijk grenzend aan het oog van de (NO)-verbinding van SW5/6 op de bovenzijde van de printplaat. Het is ook noodzakelijk om te snijden de printplaat soldeer trace die oorspronkelijk was verbonden de + 12V zijde van de zekering direct tussen C2 en C3 oogjes en direct naast het STBD label. Volgende, snijd de sporen onmiddellijk grenzend aan (NO) verbinding oogje van SW3/4 op de onder kant van het circuit bord. Verbinden en Jumper draad van pin 7 van de RJ-45-connector voor zowel SW3/4 & SW5/6 circuit board pad label (NO) en naar de + 12V oogje. Deze wijzigingen nu kunnen + 5V van de Arduino Uno te worden aangesloten op de (NO)-contacten van SW3/4 en SW 5/6 om te worden gebruikt als "logische 1" uit deze schakelt over naar de digitale ingangen D2 & D3 van Arduino Uno... Dit elimineert de noodzaak voor de aansluiting van een externe batterij op de controller, zoals de 12Vdc nodig om te rijden de snapper motoren zal nu worden verstrekt door de batterij van de Li-Io intern gehuisvest in de waterdichte behuizing op de snapper. Schakelaars SW3/4 en SW5/6 zal hebben nu hun (NC) contacten met de massa verbonden en hun (NO) contact aangesloten op + 5v om een logische "0" of "1" digitale ingangen D2 & D3 voor de Arduino Uno. SW1 & SW2 zal nu al haar geschakelde contacten in volgorde verbonden met GND bieden logische "0" voor de normaal "Pulled-Up"-ingangen van de D4-D7 voor de Arduino Uno.

Beschrijving van componenten, circuits en verbindingen

De klier Ethernet is een RJ-45-connector van de vrouw-vrouw en verbinding/loskoppelen van de snapper van de controller zoals vereist. Een van de kleinere wartels wordt gebruikt om te sluit de motor uiteinde van de Ethernet-kabel die intern is gekoppeld aan de V2 motor Shield van motor rijden uitgangen (M1-M3) via headers. De V2 Motorschild heeft een vierde motor output (M4)-uitgang die nu een reserve die de andere, kleinere wartel wordt gebruikt is voor het invoegen van een lengte van Tygon of soortgelijke buizen die steekt door een van de kleinere klieren en water druk wordt blootgesteld. Het andere uiteinde van de buis verbindt met overdruk kant van de intern gemonteerde MPX5500 differentiële druksensor. Deze sensor meet de luchtdruk op verschillende diepten en leveringen een analoog signaal dat is verbonden met de analoge input A0 voor de Arduino Uno via een verbinding van de koptekst V2 Motor Shield en zal worden gebruikt als feedback om de gewenste diepte van de snapper. Het Motor V2 schild is aangesloten op de Arduino Uno via mannelijke headers die vereisen solderen aan de V2-shield. Het is ook noodzakelijk om te solderen van verschillende vrouwelijke kop connectoren aan de V2 om verbinding te maken met de diverse ingangen en uitgangen naar/van de Uno-microcontroller. Uiterste zorg en aandacht is vereist bij het solderen van de koppen aan het schild van de V2, zoals ze zeer klein, dicht bij elkaar zijn en gemakkelijk smelt. Een 12V, 9800mah, oplaadbare Lithium-Ion-batterij met een ON/OFF schakelaar en interne opladen circuits nu zal worden gehuisvest in de waterdichte behuizing gebruikt om macht aan de Arduino Uno microcontroller, Adafruit v2 Motor Shield te leveren en levert voldoende vermogen om te rijden die snapper motoren. De V2 Motor Shield biedt een punt van verbinding voor ingangen/uitgangen van/naar de snapper-controller, de MPX5500 druksensor en snapper rijden motoren. De V2 Shield medewerkers een TB6612 MOSFET chauffeur met 1.2a per kanaal en 3A huidige piek vermogen. Dit dient voldoende macht om efficiënt rijden de snapper motoren. Deze PWM, omkeerbare polariteit uitgangen zijn aangesloten op de klemmen M1-M4 van het schild, waar de verticale-, haven- en stuurboord motoren van de Snapper zijn aangesloten. Het schild piggy-back op de Arduino Uno via koptekst pins connectoren, zoals eerder is beschreven. Ingangen van de gemodificeerde snapper controller bieden nu logische ingangen 1's en 0's (+ 5 v = true GND = false) aan de Arduino digitale ingangen, D2-D7, waarmee de motor richting. Het signaal van de druksensor, zoals hiervoor is beschreven, biedt een analoog signaal naar de analoge ingangen van Arduino, A0 en A1, zodat de feedback die werkt in combinatie met het verticale motor signaal instellen en beheren van de diepte van de snapper. De logische signalen van de schakelaar controleur poort en stuurboord schakelaars, afhankelijk van hun positie/status, rijdt elke motor in de richting vooruit of achteruit en vertrouw niet op alle feedback. Tabel 2 beschreven de schakelstanden controller, de resulterende logische staat en de resulterende actie moet worden uitgevoerd:

Tabel 2

SW1-stuurboord positie RJ-45-Pin actie Pin /State V2

Center-Off D4/D5-trok-up doen niets

Voorwaarts 3 D4 - 0 M2-CW

Achterwaarts 6 D5 - 0 M2-CCW

Sw2-Port

Center uit D6/D7-trok-up niets doen

Voorwaarts 5 D7 - 0 M3-CW

Achterwaarts 4 D6 - 0 M3-CCW

SW3/SW4

OFF D2 - GND niets doen

OP 2 D2- + 5V M1-CW

SW5/SW6

UIT D3 - GND

OP 1 D3- + 5V M1-CCW

SW3/SW4 & SW5/SW6

ON / ON D2/D3-1 / 1 Lees/winkel de druksensor ingang

Afstandsbediening Power Circuit

Ter beperking van de noodzaak om open de plastic behuizing om te schakelen naar de interne circuits een RF-gecontroleerde on/off macht, werd 12v 15amp afstandsbediening schakelaar gebruikt. Deze schakeloptie neemt + 12Vdc op haar inbreng (rood-zwart paar) dat wordt overgeschakeld naar de uitvoer (wit-zwart paar) wanneer de "ON"-knop van de externe zender wordt ingedrukt. Wanneer de "OFF"-schakelaar van de zender wordt ingedrukt de + 12Vdc wordt verwijderd vormen de uitvoer.

Software:

De Arduino Uno Microcontroller en de Adafruit V2 Motor Shield zijn geprogrammeerd met behulp van "Sketches" geschreven in C/C++ code. Terwijl niet uiterst ingewikkelde code, is het echter vereist uitgebreide lezen van de code-basis, de herziening van online tutorials en monster schetsen beschikbaar uit talrijke bronnen. De code voor de Arduino en de Motor Shield is "Open Source"-wat betekent dat het kan worden gekopieerd en gebruikt gratis licenties kosten uit de Arduino, Adafruit en diverse andere websites. Voor de "Beginnende" niet-programmeur typen, diepgaand onderzoek over het schrijven, compileren en uploaden de code is kritisch importeren naar de huidige en toekomstige succes van dit project. Dit kan is en een zeer tijdrovende inspanning. De code die is ontwikkeld voor de USNA snapper Sensor Suite zal niet worden opgenomen in dit document, maar in elektronisch formaat zullen worden verstrekt aan de directeur van het programma van de USNA stam en ander personeel van de stam. Toekomstige wijzigingen aan de code en de elektronische schakelingen als andere sensoren zal dienen en/of elektronische apparaten worden toegevoegd in een inspanning om snapper prestaties te verbeteren en om het doel van de USNA snapper "autonomie" te bereiken.

Onderdelenlijst

Beschrijving leverancier kosten

Arduino Uno R2 Microcontroller Amazon $13,28

Arduino draadloze SD Shield Arduino 20,00 dollar

Adafruit V2 Motor Shield Adafruit industrieën $19.95

MPX5500-005DV Druk Sensor Omega $10.00

RJ-45 waterdichte kabel klier Adafruit industrieën $9.95

Kleine waterdichte kabel klier Adafruit industrieën $1.95

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

Grote kunststof behuizing Adafruit $34,00

Veerstroppen, 3 elke @ $2 .39ea Ace Hardware $7.17

RJ-45 Crimp Tool & connectoren Lowes 20,00 dollar

RF afstandsbediening Switch MSD-INC via Ebay $15,60

2 elke FTDI XBEE Adapter Adafruit 40,00 dollar

2 elke Series1 XBEE modules Adafruit 20,00 dollar

2 elke FTDI USB-seriële kabels Adafruit 40,00 dollar

1NA219 stroom/spanning Sensor Adafruit 20,00 dollar

9DOF Breakout Module Adafruit 40,00 dollar

Totale kosten: $337.90

Leverancier referenties:

ACE Hardware website: http://www/ace.com/index

Adafruit website: http://www.adafruit.com

Amazon-website: http://www.amazon.com/ref=ap_frn_logo

Arduino website: http://arduino.cc/

Lowe's website: http://www.lowes.com

Omega website: http://www.omega.com/index.html

Snapper website: http://www.seaperch.org/index

Onderdelen verwijzingen:

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

Gemodificeerde snapper Controller bedradingsschema

Snapper structuur wijzigingen

Controller bovenzijde trace bezuinigingen

Controller onderzijde Jumpers en Trace bezuinigingen

V2 Motor Shield

V2 Motor Shield schema

Arduino Uno R2 1

Waterdichte Container 1

Li-Io batterij, lader & verlengkabel

Productbeschrijving

9800mAh DC 12V Super Lithium-Ion accu

Beschrijvingen:

Deze oplaadbare accu is een 12V 9800mah Li-ion accu en het is speciaal ontworpen voor het aandrijven van het systeem apparaat met 12V DC power.

Specificaties:

Kleur: zwart

Capaciteit: 9800mAh.

Type: DC 12680

Afmeting: 115 x 62 x 21 (mm)

Ingebouwde on/off schakelaar op te slaan van stroomverbruik

Ingangsspanning: 12.6V

Uitgangsspanning: 10,8 ~ 12,6 DC

Levensduur: omloop opladen en ontladen van de ≥500 keer

Arrangement:

1 x AC-adapter

1 x 6800mAh oplaadbare Lithium-ion batterij

1 x 3' verlengkabel

RJ-45 klier 1

RJ-45 klier 2

RJ-45 klier 3

INA219 Stroom/spanning Sensor 1

9DOF Breakout 1

Werken op de zee zitstok is sensor suite een echte leerervaring. In de volgende paragrafen die ik proberen zal uit te leggen sommige van mijn ervaringen, opmerkingen en conclusies over het gebruik van een Arduino microcontroller, een Adafruit Motor Shield, een druksensor MPX5500 en andere elektronica sensoren gebruikt voor controle en station zee Perch motoren.

Aanvankelijk werd er besloten te gebruiken van 12 volt, 4500mah Lithium-Ion batterij pack voor het aandrijven van alle de elektronische circuits. Dit type accu pack werd gekozen als het oplaadbare, lichtgewicht en een kleine form factor heeft. Echter al snel na het toevoegen van enkele extra elektronikaapparaten werd het noodzakelijk te demonteren (break apart) de battery pack om toegang tot de interne circuits en om verdere verlaging van de hoogte, dus het kon gemakkelijker passen in de behuizing water bewijs samen met de andere elektronica.

Verder werd besloten dat ter verlichting van de noodzaak om te openen de behuizing telkens moesten uitschakelen batterij, een commercieel beschikbare 12V-RF, afstandsbediening schakelaar opgericht. Hierdoor is het systeem op afstand energiek/de-energized zonder te openen van de behuizing. Om extern laad de batterij, zonder te openen van de behuizing, ik heb verbonden één uiteinde van de BRN/BRN-WHT kabel paar intern voor de accu en de aansluitmogelijkheden externe ultimo het paar-met behulp van een AMP SUPERSEAL 1.5 serie waterdichte connector. De lader is ook gewijzigde-de mate van de verbindingslijn toe te voegen aan het einde van de uitvoer van de lader.

Voor visuele effecten, een aantal witte LEDS werden toegevoegd en worden aangedreven door + 5Vdc ontwikkeld met behulp van een LM7805-spanningsregelaar die neemt + 12Vdc op de uitmonding van de batterij en biedt + 5Vdc output naar de LED's, via serie 920 ohm weerstand. De LEDS en de weerstand vandaan kwam van mijn kleinzoon afgedankte "Mr Moon in my Room" kind van licht die ik in zijn kast gevonden.

Nadat systeem vergadering was voltooid, werd ontdekt dat wanneer energieke van het systeem als meer dan twee van de zee baars-motoren waren energiek gelijktijdig het hele systeem zou "shut-down". In een poging om de oorzaak van shut-down de huidige trekken uit de accu werd gecontroleerd en werd naar voren gebracht dat de werklast gepresenteerd door elke afzonderlijke motor ongeveer 500ma was. Verder werd het wanneer meer dan één motor was energiek de uitgangsspanning van de batterij Li-Io willekeurig gedaald tot 4.35vdc dus de energieke de externe switch-waardoor de shut down. De 4.35 volt wordt verondersteld te zijn de accu's "fail safe" spanningsniveau bedoeld om te voorkomen dat de batterij volledig ontladen.

Aanvankelijk werd gedacht dat het systeem "shut down" werd veroorzaakt door een defect in de externe switch. Echter, met sommige verdere probleemoplossing, ontdekte ik dat als ik vervangen van een 12V-7.0a / hr batterij voor de batterij Li-Io de schakeloptie gehouden en ik kon rijden alle drie motoren tegelijk.

Via een online onderzoek ontdekte ik dat Li-Po batterij packs werknemer verschillende soorten interne bescherming circuits, één voor onderspanningsbeveiliging ter vermindering van de totale lozing van de batterij; men voor bovenmatige stroom trekken bestemd zijn voor het beschermen van de batterij meer dan verwarming (beschouwd als een ernstige brandgevaar) en één voor over spanning bescherming-all bedoeld om blijvende schade aan de accu.

Door mijn onderzoek vermoedde ik dat het systeem "shut-down" daadwerkelijk werd veroorzaakt door een van de accu's bescherming circuits struikelen. Toen ontdekte ik door te vervangen door het meer substantiële batterij voor de batterij van de Li-Io alle drie van de zee baars motoren zou gelijktijdig wanneer energiek en gepresenteerd een totale belasting van ongeveer 1.5amps. Om mijn ontsteltenis, de berekening van mijn eerste keer wordt geladen en reden voor het gebruik van dat een batterij 4500mah leek te zijn van een fout sinds de 1.5a leek, belasting moet aan teveel voor de batterij. Bepaald dat de gekozen batterij voldoende moet zijn, besloten heb ik om Laad de batterij opnieuw op en probeer het opnieuw. Tijdens het opladen merkte ik een kleine vonk op een innerlijke terminals van de batterij. Bij nader onderzoek werd ontdekt dat de draad de positieve aansluitklem van de bovenste meeste cel van de batterij aansluiten op de negatieve aansluitklem van de binnenste meeste batterijcel was los en ten onrechte gesoldeerd. Ik vervolgens zorgvuldig opnieuw soldeer de verbinding, aangedreven het systeem op de huidige belasting gecontroleerd en bezig alle drie zee Perch motoren. Het systeem bleef energiek en deed niet reis, voor een tijdje dan begonnen struikelen onmiddellijk wanneer energiek! Verder onderzoek bleek dat een van de cellen van de batterij had verlaagd, waarschijnlijk tijdens de demontage van de buitenverpakking en was een penetrante geur uitstoten. Op dit punt was de batterij vervangen door een 9800mah-accu en het systeem gehouden onder belasting.

Een tweede en meer uitdagende probleem te diagnosticeren is ergens opgetreden nadat ik ondergedompeld in eerste instantie het systeem om te controleren op lekkage. Eenmaal ondergedompeld, merkte ik onmiddellijk een lek ontstaan op de RJ-45 wartel. Verder werd vastgesteld dat het lek ontwikkelde zich rond de controleur kabel was waarschijnlijk te wijten aan de asymmetrische vorm waar het de klier ingevoerd.

Een nacht, na worstelen met het controleprogramma van de Arduino, liet ik per ongeluk het systeem aangesloten op mijn computer's USB-poort. De volgende ochtend, ik keerde mijn inspanningen voort te zetten, observeer ik de stuurboord motor draaien in de richting van de klok (vooruit). Verbaasd door deze onverwachte ervaring begon ik problemen met het systeem. Bij het openen van de RJ-45-klier werd naar voren gebracht dat de klier intern wat water had behouden. Men ontdekte verder dat het gemeenschappelijk contact van de starboard voorwaartse switch 1.89 volt leest wanneer de schakelaar niet was verloofd. Omdat mijn schets werd ontworpen te lopen van de zee baars motoren als de haven en de stuurboord ingangen aan de Arduino overschakelt op 0 volt waren en hen tegenhouden wanneer "trok-tot 5 volt. Verder werd vastgesteld dat the1.89 volt, minder dan de 5 volt stop staat, wordt een ongedefinieerde niveau volstond om te veroorzaken de stuurboord motor uit te voeren naar voren.

Verdere diagnose bleek ook dat de zee baars-uiteinde van de kabel van de controle, binnenkant van de RJ-45 wartel, op water hebben blootgesteld geproduceerd een lichte weerstand tussen de + 5 volt op pin7 en starboard toekomen pin6 van de RJ-45 connector en moet voldoende geweest tot de stuurboord motor om te zetten in de voorwaartse richting zonder de schakeloptie wordt betrokken. De klier en kabel eind werden vervangen en de rotatie van de schijf gestopt totdat geboden. In een poging om te stoppen met de toekomstige lekken, plaatste ik een klein stukje buis rond de kabel om het meer symmetrische waar het de klier ingevoerd en bovendien bedekt de klier en de kabel te maken waar het de klier "Rommel" Afdichtmiddelen gebruikt in een poging om meer water strakke integriteit van de RJ-45-klier ingevoerd. Ik bekleed ook de kleinere klieren bij hun binnenkomst aan te wijzen om dezelfde reden.

Kortom, moeten Lithium-Ion (Li-Io) accu's, terwijl geschikt geacht voor deze toepassing, zorgvuldig worden geselecteerd, niet alleen gebaseerd op hun grootte en gewicht, maar wat nog belangrijker is op hun huidige capaciteit van de levering. Tijdens mijn onderzoek heb ik geleerd de er zijn verschillende soorten Li-Po batterijen beschikbaar op de markt, sommige met ingebouwde bescherming sommige vereisen externe circuits voor bescherming. Ik heb ook geleerd dat als ze kunnen ontploffen en het gevaar voor een ernstige brand ten onrechte in rekening gebracht. Dus, het is zeer belangrijk niet meer dan de accu te laden en misschien mag niet worden overgelaten zonder toezicht tijdens het opladen.

Ik heb ook geconcludeerd dat strakke integriteit in elk apparaat bestemd om te worden ondergedompeld in water water heel belangrijk, met name apparaten die huis elektronica en verbindende componenten. Blootstelling aan water, ongeacht hoe klein kan leiden tot problemen, die zeer moeilijk kunnen te lokaliseren en te diagnosticeren.

Tot slot goed programmeren microcontrollers en bijbehorende circuits kunnen vrij uitdagend-met name voor iemand met minimaal in C++ programmeerervaring. Een misplaatste kronkelende {} of een vergeten apostrof; kan veroorzaken veel angst en uren van inspanning!

2014

Voortdurende ontwikkeling van de snapper, bleek dat de noodzaak om de waterdichte container voor toegang tot de Arduino USB poort open een probleem was. Het is niet alleen zetten overmatige stress op de interne bedrading, maar bleek ook problematisch om de waterdichtheid van de behuizing, overdreven zegel van de ruimte benadrukken. Nadat enkele dacht dat het was besloten om te proberen om te programmeren van de Arduino draadloos dat, werd dus het verlichten van de noodzaak om open de container elk gewenst moment een nieuwe of gewijzigde schets upload noodzakelijk. Een eerder gesprek met een collega USNA, Joe Bradshaw, aangespoord het idee van Arduino draadloze programmeren met behulp van Xbees. Ik besloot dat dit zou de volgende logische stap om water strakke integriteit van de plant en de verdere uitoefening van zee Perch autonomie te verzekeren.

Terwijl draadloze programmering niet een zeer moeilijke taak is, heeft het bewezen een beetje ontmoedigend! Gelukkig zijn er riemen van "How-to" documentatie beschikbaar op het Internet uit bronnen zoals Ladyada van Adafruit, Inc en vele andere avontuurlijke ontwikkelaars. De kosten, ~ $100.00, van de verschillende onderdelen die nodig zijn om deze taak te volbrengen is, voor mij, redelijk, maar misschien niet voor de gemiddelde hobbyisten. Ik zal proberen te verklaren van het proces en mijn ervaringen in de alinea's te volgen.

Ten eerste noem ik de onderdelen die nodig zijn, hun bron van aankoop en vervolgens het proces van het samenstellen van een PAN (Personal Area Network) met behulp van twee XBEE 802.15.4 serie 1 en de bijbehorende hardware. Ik koos voor de serie 1-XBEES, zoals aanbevolen door http://ladyada.net/make/xbee/arduino.html en verder vond in een leerprogramma op http://www.ladyada.net/learn/avr/setup-win.html begrip AVR programmering niet volstrekt noodzakelijk is, maar ik vond die gaan door de zeer behulpzaam bij het begrijpen van de AVR setup en de AVRDUDE omhoog/omlaag loader nut dat wordt gebruikt door de Arduino voor het uploaden van schetsen, tutorial

Onderdelen nodig voor het maken van een adres PAN (Personal Network):

2 elke - XBEE serie 1 802.15.4 modules gekocht bij Adafruit, Inc. http://www.adafruit.com/products/128

2 elke - XBEE adapter kit gekocht bij Adafruit, Inc. http://www.adafruit.com/products/126

2 elke - FTDI-TTL.232 USB-kabel-TTL232R 3,3 v van Adafruit, Inc. http://www.adafruit.com/products/70

Stuurprogramma-downloadsite: http://www.ftdichip.com/Drivers/VCP.htm

1each - Arduino Wireless SD Shield gekocht van Arduino http://arduino.cc/en/Main/ArduinoWirelessShield

1 van elk – 2N2222 NPN transistor, 10K Ohm weerstand, 0.1 microfarad condensator gekocht bij Radio Shack

Voor het monteren van de PAN vond ik het nodig om te downloaden en te installeren verschillende programma's, die ik vond zeer nuttig zijn voor het proces. Ten eerste is MAXSTREAM X-CTU software is zeer nuttig voor het configureren en testen van de XBEE modules. Het kan worden gedownload via de volgende link: http://www.digi.com/support/kbase/kbaseresultdetl?id=2125 Hoewel elke terminal programma, zoals Windows Hyper Terminal zal volstaan, één moet worden bedreven in het gebruik van AT commando's te configureren en te testen van de XBEE modules, die eigenlijk zijn gewoon modems. X-CTU is uiterst nuttig niet alleen voor het configureren van XBEES, maar het bevat verschillende nuttige hulpprogramma's voor het testen en monitoring XBEE reacties.

Ten tweede, zoals aanbevolen in de ladyada van avr tutorial die ik hierboven vermeld, ik downloadde en installeerde de recentste versie van WinAVR vanaf Sourceforge. Het kan worden gedownload via de link in de zelfstudie of direct vanaf sourceforge op http://sourceforge.net/projects/winavr en verstrekt waardevol inzicht in het proces van ATMEL AVR-microcontrollers programmeren.

Vergadering van de zee Perch PAN, met behulp van de eerder beschreven onderdelen bleek zeer uitdagend en vereist vele uren van research en ontwikkeling, die uiteindelijk werd noodzakelijk te bouwen en configureren van een werkmodel. Zodra voltooid, deze inspanning bleek echter moeite waard in de uploaden verdere wijzigingen in de schets van de Arduino zee baars.

Het proces:

Eerst, assembleren de XBEE Adapter kit. Zie http://ladyada.net/make/xbee/solder.html

Iets dat niet in de montage-instructie wordt weergegeven, maar is nodig om te herstellen van de Arduino wanneer uploaden code dat is de RTS pin-16 van de adapter moet worden aangesloten op de DI03 pin-17 voor de XBEE.

Opmerking: ik mijn ijver niet tot oververhitting van de 74ACH125N lijn driver chip door solderen het direct op het bord van de adapter installeren ik eerst een 14-pin chip-socket. DIT niet doen, zoals het bleek te zijn een probleem en de chip zitten te hoog op het bord aan de XBEE module gemaakt! Gelukkig, met de hulp van Norman Tyson van WS & E kon hij-de chip-aansluiting soldeer zodat ik kon soldeer de chip rechtstreeks op het bord. Zodra de adapters worden geassembleerd, voeg de XBEE module en invoegen in de adapter header connector-het verzorgen van de de XBEE oriëntatie-hint pin1 van de XBEE naast de rode led op de adapter gaat. ZIE HIERONDER

U bent nu klaar om te configureren van elke XBEE, tegelijkertijd, door de adapter op een computer USB-poort via de USB-FTDI-TTL.232-kabel aansluiten zoals volgende.

Het is moeilijk om te zien in deze afbeelding, maar de eerste pin (groene draad) van de FTDI-kabel is verbonden met pin-2 van de adapter - niet pin-1. Eenmaal aangesloten op de computer, Windows "nieuwe hardware gevonden" bericht weergeven en aanvragen stuurprogrammagegevens voor de adapter. De stuurprogramma-installatie Windows Device Manager zal de FTDI-kabel kan herkennen als een virtuele com-poort, loopt en weer een nieuwe USB-serieel apparaat onder poorten (COM & LPT). Dubbelklik op het nieuwe apparaat en configureren als een nieuwe COM-poort. Ik gebruikte COM10 als het beschikbaar was en geconfigureerd met standaard instellingen 9600 Baud Rate, No-Parity, 8 bits, 1 stopbit. dat wil zeggen 9600, N, 8, 1. Bij het configureren van de nieuwe poort, is er een andere instelling nodig is om de juiste resetten van de Arduino. Selecteer het tabblad Geavanceerd onder instellingen van de poort, en controleren "Set RTS op Close".

De nieuwe COM-poort is nu beschikbaar voor X-CTU, die met de XBEE met de standaardinstellingen communiceren moet, configureren en testen van elke XBEE.

Ik zal niet proberen uit te leggen elke stap in de configuratie XBEE via X-CTU proces hier, zoals ze zijn te talrijk om te bespreken, eenmaal omhoog en uitgevoerd, met behulp van X-CTU wordt redelijk intuïtief. Er zijn echter een paar dingen aan nota. Eerst, de standaard-ID PAN op elke XBEE moet worden gewijzigd in een nieuwe instelling niet om te interageren met andere XBEES die mogelijk in de omgeving. Ten tweede, het 16-bits adres van elke XBEE moet worden ingesteld op ben het eens met elkaar-dat wil zeggen in zijn eenvoudigste vorm, de XBEE rechtstreeks aangesloten op de computer moet zijn DH = 0 DL = 1 en MY = 0 en de afstandsbediening XBEE moet worden ingesteld de DH = 0 DL = 0 en MY = 1 Zie http://www.ladyada.net/make/xbee/configure.html

Ik ook gemerkt dat er uiteindelijk een instellen (EE) AES-codering inschakelen die moeten worden uitgeschakeld. Echter, zelfs als AES is uitgeschakeld telkens X-CTU opnieuw het aanhoudend begint wil weten de instelling KY (AES encryptie sleutel). Ik geef '0' en dat doet het. De NI Instelsleutel naar een naam voor elk van uw XBEES u herkent is ook handig. Vergeet niet te schrijven van alle wijzigingen van de instelling en deze opslaan in een bestand voor toekomstige laden.

Tot slot, en dit is zeer belangrijk! Configureer de externe XBEE aan het einde van de Arduino, moet de lokale XBEE aangesloten op de computer de AP (API ingeschakeld) ingesteld op het inschakelen van API inschakelen (1) hebben. Als de instelling van de AP is links in deze modus, zal Arduino communiceren met de lokale XBEE op het einde van de computer. Voordat u afsluit X-CTU de AP instellen op uitgeschakeld (0) en de nieuwe instelling naar de lokale XBEE schrijven!!!

Zodra de XBEES correct zijn geconfigureerd en met elkaar communiceren is het tijd om de externe XBEE koppelen aan een Arduino. Opmerking: de volgende ladyada voorbeeld ik kocht een Atmel 328P Duemilanove Bootloader chip van Adafruit en installeerde het op een Arduino Uno. Ik ben niet zeker als dit volstrekt noodzakelijk was, maar in overeenstemming met de ladyada van de instructie, deed ik het. Ik heb de externe XBEE op een Arduino draadloze SD-shield geïnstalleerd en het Schild verbonden aan de gewijzigde Arduino. Zoals werd aanbevolen in ladyada van draadloze XBEE-Arduino tutorial Arduino tutorial die ik ook bouwde resetcircuit de Arduino op het schild beschreven en komt hier te staan.

XBEES zijn vrij zwak en hebben niet de oomph opnieuw instellen van een Arduino op hun eigen, dus we het kabellengte moeten tot aan een transistor die de zware opheffing doen zal van de reset lijn naar beneden trekken. Vrijwel elke kleine NPN-transistor werkt prima hier. Zet een 0.01uF aan 0.1uF condensator in serie met de draad van de XBEE en verbind de andere kant met de basis NPN-transistor. De zender van de transistor verbindt met grond. Zet een weerstand van ongeveer 10K tussen de basis en de emitter. Dit zal pull-down de base om te voorkomen dat de Arduino resetten per ongeluk.

Dit circuit wordt gebruikt van de XBEE DIO3 signaal, dat was gebonden aan de XBEE in de eerste lijn op het einde van de computer weergegeven eerder, als de reset signaalingang de XBEE. Nu, alles aansluiten, start Arduino en uploaden van een schets. Als alle werken goed de schets met succes uploaden zal. Tip: open bestand/voorkeuren in Arduino en controleer de "Toon uitgebreide uitvoer tijdens het uploaden". Dit wordt de volgorde van de upload weergegeven en als succesvolle verschijnt de geüploade code en tot slot het bericht weer te geven: avrdude gedaan. Dank u.

OPMERKING:

Wanneer de Arduino uploads code maakt twee tijdstempel directories: een "iets bouwen" en "console iets" in de map van de /Username/Local/Temp van de huidige gebruiker. De build-map bevat een record van wat werd geüpload en de console-map bevat twee bestanden: stderr.txt en stdout.txt, die een zeer nuttig bij het vaststellen van de Arduino upload activiteit.

Zodra de draadloze PAN steeg en betrouwbaar werken, ik vervolgens overgegaan tot verschillende twee andere sensoren toevoegen aan mijn plant op te nemen: een "negen graden of Freedom" (9DOF breakout) sensor, die is een drie-in-één-sensor willen toevoegen een gyroscoop, versnellingsmeter en kompas bestemd om toe te voegen van stabiliteit, snelheid, richting en roll & pitch control met mijn plant. De 1NA219-sensor is toegevoegd in een poging om de diagnose van een probleem dat heeft bewezen een consistente probleem waarbij de Li-Po batterij willekeurige shut-down tijdens het testen. Verder onderzoek is gebleken dat deze soorten batterijen hebben een ingebouwde bescherming circuits die bestemd zijn om zichzelf te beschermen van een van de drie voorwaarden: onder spanning, over spanning en stroom. Het werd al snel duidelijk dat een van deze voorwaarden moet hebben bestaan en de oorzaak van de batterij stilleggen was. Dit probleem was de impuls om te installeren van de 1NA219 huidige/voltage sensor.

Aanvankelijk, geloofde ik dat het probleem werd veroorzaakt door een overmatige huidige voorwaarde. Dienst een stroomsnelheidsmeter, kon ik volg ladingen van ongeveer 500-700ma per motor en niet meer dat 3A totale belasting bij alle drie motoren waren energiek tegelijk. Bovendien, als ik handmatig elke motor vastgelopen merkte ik ladingen van niet meer dan 2A, die heeft niet de reis van de batterij. Deze opmerkingen vervolgens leidde me om te geloven dat een overmatige huidige voorwaarde niet de oorzaak was. Omdat de accu's uitgangsspanning consequent gelezen binnen specificaties was het duidelijk dat de voorwaarde van een onder spanning niet de oorzaak, waardoor slechts één voorwaarde, een overspanning veroorzaken aan de batterij als de waarschijnlijke oorzaak.

Inzicht dat motoren zal fungeren als generatoren bij macht wordt plotseling verwijderd of omgekeerd, toen dacht ik dat de EMF terug is gegenereerd door de motoren veroorzaakte was wordt aan de accu en veroorzaakt zijn overspanning bescherming circuit om deel te nemen. Want deze verschijnselen is over het algemeen weten heel goed, zijn er bepaalde elektronische apparaten, deze condensatoren, PN junction dioden, zener diodes en filters die kunnen verminderen of elimineren van dit effect wanneer geplaatst in lijn met de lading van de batterij of over de motor leidt.

Op voorstel van Professor Carl Wick, ik voor het eerst geprobeerd toe te voegen back-to-back zener diodes in motor leidt. Dit bewezen enigszins effectief, maar ik nog ervaren willekeurige, zij het minder frequent batterij shut-downs. Het was de bekende die afsluiten kan worden herhaaldelijk veroorzaakt door energieke elke motor dan snel het omkeren van de richting. Na een discussie met en op aanbeveling van Joe Bradshaw voegde ik een PI-filter tussen de batterij en de belasting, opnieuw met minimaal succes. De toevoeging van de 1NA219 module en test de code naar mijn schets, mits de mogelijkheid om accuspanning en ladingen te controleren. De spanningen systeem altijd gepresenteerd volgens specificaties, echter batterij lading stromingen nu bleek zeer hoge belasting van de momentane stromingen, soms meer dan 3A. Deze observatie leidde me dan terug naar de theorie dat buitensporige belasting overmatige stroom van de batterij veroorzaakt bescherming circuit met reis.

Dit probleem door middel van extra hardware minimaal effectief dat heb ik vervolgens besloten om herziening mijn controlesoftware en vond dat het toevoegen van een paar vertragingen op strategische locaties in de schets effectief gebleken geminimaliseerd sinds alle pogingen om te corrigeren de batterij stilleggen probleem.

Op dit moment heb ik bereikt een limiet van de fysieke ruimte van het toevoegen van een meer hardware sensoren. De huidige Arduino schets, zoals op dit moment geschreven, slechts biedt voor de weergave van de uitgang lezingen uit de nieuw opgenomen sensoren en voorziet niet in controle van de plant met behulp van deze lezingen. Dit vergt verdere, in diepte onderzoek te bereiken van het uiteindelijke doel van een volledig autonome zee "perch".

Gerelateerde Artikelen

Bouw een onderwater robot

Bouw een onderwater robot

De USS Perch van de zee is een innovatieve onderwater robot. Bouwen van een onder water robot is erg cool. Natuurlijk, kost het veel tijd. Maar u kunt deze bedienen met een afstandsbediening. U kunt een zee baars kit, die beschikbaar is online kopen
Hoe het bouwen van een Stereo hydrofoon (niet voltooid)

Hoe het bouwen van een Stereo hydrofoon (niet voltooid)

een stereo hydrofoon systeem kan worden gebruikt om te horen van de geluiden rond uw verzonken ROValsof u aan boord.  U zal niet alleen zitten kundig horen wat er gaande is rond uw ROV,maar moeten zitten kundig voor hoor welke richting een geluid kom
Creëren van een eenvoudige gelijkstroom elektromotor - Masco G44

Creëren van een eenvoudige gelijkstroom elektromotor - Masco G44

Alle fundamentele elektromotoren volgen hetzelfde idee te transformeren van elektrische stroom in mechanische energie. Deze basic bouwen van een eenvoudige gelijkstroom (DC)-elektromotor, alsmede alle elektromotoren, gebruik van elektriciteit, magnet